154314 lines
4.9 MiB
Plaintext
154314 lines
4.9 MiB
Plaintext
(function ($hx_exports, $global) { "use strict"; var $hx_script = (function (exports, global) { // Generated by Haxe 4.1.5
|
|
(function ($hx_exports, $global) { "use strict";
|
|
$hx_exports["lime"] = $hx_exports["lime"] || {};
|
|
var $hxClasses = {},$estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_;
|
|
function $extend(from, fields) {
|
|
var proto = Object.create(from);
|
|
for (var name in fields) proto[name] = fields[name];
|
|
if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString;
|
|
return proto;
|
|
}
|
|
var APIStuff = function() { };
|
|
$hxClasses["APIStuff"] = APIStuff;
|
|
APIStuff.__name__ = "APIStuff";
|
|
var flixel_util_IFlxDestroyable = function() { };
|
|
$hxClasses["flixel.util.IFlxDestroyable"] = flixel_util_IFlxDestroyable;
|
|
flixel_util_IFlxDestroyable.__name__ = "flixel.util.IFlxDestroyable";
|
|
flixel_util_IFlxDestroyable.__isInterface__ = true;
|
|
flixel_util_IFlxDestroyable.prototype = {
|
|
destroy: null
|
|
,__class__: flixel_util_IFlxDestroyable
|
|
};
|
|
var flixel_FlxBasic = function() {
|
|
this.flixelType = 0;
|
|
this.exists = true;
|
|
this.alive = true;
|
|
this.visible = true;
|
|
this.active = true;
|
|
this.ID = -1;
|
|
};
|
|
$hxClasses["flixel.FlxBasic"] = flixel_FlxBasic;
|
|
flixel_FlxBasic.__name__ = "flixel.FlxBasic";
|
|
flixel_FlxBasic.__interfaces__ = [flixel_util_IFlxDestroyable];
|
|
flixel_FlxBasic.prototype = {
|
|
ID: null
|
|
,active: null
|
|
,visible: null
|
|
,alive: null
|
|
,exists: null
|
|
,flixelType: null
|
|
,_cameras: null
|
|
,destroy: function() {
|
|
this.set_exists(false);
|
|
this._cameras = null;
|
|
}
|
|
,kill: function() {
|
|
this.set_alive(false);
|
|
this.set_exists(false);
|
|
}
|
|
,revive: function() {
|
|
this.set_alive(true);
|
|
this.set_exists(true);
|
|
}
|
|
,update: function(elapsed) {
|
|
}
|
|
,draw: function() {
|
|
}
|
|
,toString: function() {
|
|
var value = this.active;
|
|
var _this = flixel_util_LabelValuePair._pool.get();
|
|
_this.label = "active";
|
|
_this.value = value;
|
|
var value = this.visible;
|
|
var _this1 = flixel_util_LabelValuePair._pool.get();
|
|
_this1.label = "visible";
|
|
_this1.value = value;
|
|
var value = this.alive;
|
|
var _this2 = flixel_util_LabelValuePair._pool.get();
|
|
_this2.label = "alive";
|
|
_this2.value = value;
|
|
var value = this.exists;
|
|
var _this3 = flixel_util_LabelValuePair._pool.get();
|
|
_this3.label = "exists";
|
|
_this3.value = value;
|
|
return flixel_util_FlxStringUtil.getDebugString([_this,_this1,_this2,_this3]);
|
|
}
|
|
,set_visible: function(Value) {
|
|
return this.visible = Value;
|
|
}
|
|
,set_active: function(Value) {
|
|
return this.active = Value;
|
|
}
|
|
,set_exists: function(Value) {
|
|
return this.exists = Value;
|
|
}
|
|
,set_alive: function(Value) {
|
|
return this.alive = Value;
|
|
}
|
|
,get_camera: function() {
|
|
if(this._cameras == null || this._cameras.length == 0) {
|
|
return flixel_FlxCamera.defaultCameras[0];
|
|
} else {
|
|
return this._cameras[0];
|
|
}
|
|
}
|
|
,set_camera: function(Value) {
|
|
if(this._cameras == null) {
|
|
this._cameras = [Value];
|
|
} else {
|
|
this._cameras[0] = Value;
|
|
}
|
|
return Value;
|
|
}
|
|
,get_cameras: function() {
|
|
if(this._cameras == null) {
|
|
return flixel_FlxCamera.defaultCameras;
|
|
} else {
|
|
return this._cameras;
|
|
}
|
|
}
|
|
,set_cameras: function(Value) {
|
|
return this._cameras = Value;
|
|
}
|
|
,__class__: flixel_FlxBasic
|
|
,__properties__: {set_cameras:"set_cameras",get_cameras:"get_cameras",set_camera:"set_camera",get_camera:"get_camera",set_exists:"set_exists",set_alive:"set_alive",set_visible:"set_visible",set_active:"set_active"}
|
|
};
|
|
var flixel_util_IFlxPooled = function() { };
|
|
$hxClasses["flixel.util.IFlxPooled"] = flixel_util_IFlxPooled;
|
|
flixel_util_IFlxPooled.__name__ = "flixel.util.IFlxPooled";
|
|
flixel_util_IFlxPooled.__isInterface__ = true;
|
|
flixel_util_IFlxPooled.__interfaces__ = [flixel_util_IFlxDestroyable];
|
|
flixel_util_IFlxPooled.prototype = {
|
|
put: null
|
|
,_inPool: null
|
|
,__class__: flixel_util_IFlxPooled
|
|
};
|
|
var flixel_util_IFlxPool = function() { };
|
|
$hxClasses["flixel.util.IFlxPool"] = flixel_util_IFlxPool;
|
|
flixel_util_IFlxPool.__name__ = "flixel.util.IFlxPool";
|
|
flixel_util_IFlxPool.__isInterface__ = true;
|
|
flixel_util_IFlxPool.prototype = {
|
|
preAllocate: null
|
|
,clear: null
|
|
,__class__: flixel_util_IFlxPool
|
|
};
|
|
var flixel_util_FlxPool_$flixel_$math_$FlxRect = function(classObj) {
|
|
this._count = 0;
|
|
this._pool = [];
|
|
this._class = classObj;
|
|
};
|
|
$hxClasses["flixel.util.FlxPool_flixel_math_FlxRect"] = flixel_util_FlxPool_$flixel_$math_$FlxRect;
|
|
flixel_util_FlxPool_$flixel_$math_$FlxRect.__name__ = "flixel.util.FlxPool_flixel_math_FlxRect";
|
|
flixel_util_FlxPool_$flixel_$math_$FlxRect.__interfaces__ = [flixel_util_IFlxPool];
|
|
flixel_util_FlxPool_$flixel_$math_$FlxRect.prototype = {
|
|
_pool: null
|
|
,_class: null
|
|
,_count: null
|
|
,get: function() {
|
|
if(this._count == 0) {
|
|
return Type.createInstance(this._class,[]);
|
|
}
|
|
return this._pool[--this._count];
|
|
}
|
|
,put: function(obj) {
|
|
if(obj != null) {
|
|
var i = this._pool.indexOf(obj);
|
|
if(i == -1 || i >= this._count) {
|
|
obj.destroy();
|
|
this._pool[this._count++] = obj;
|
|
}
|
|
}
|
|
}
|
|
,putUnsafe: function(obj) {
|
|
if(obj != null) {
|
|
obj.destroy();
|
|
this._pool[this._count++] = obj;
|
|
}
|
|
}
|
|
,preAllocate: function(numObjects) {
|
|
while(numObjects-- > 0) this._pool[this._count++] = Type.createInstance(this._class,[]);
|
|
}
|
|
,clear: function() {
|
|
this._count = 0;
|
|
var oldPool = this._pool;
|
|
this._pool = [];
|
|
return oldPool;
|
|
}
|
|
,get_length: function() {
|
|
return this._count;
|
|
}
|
|
,__class__: flixel_util_FlxPool_$flixel_$math_$FlxRect
|
|
,__properties__: {get_length:"get_length"}
|
|
};
|
|
var flixel_math_FlxRect = function(X,Y,Width,Height) {
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
this._inPool = false;
|
|
this._weak = false;
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
this.x = X1;
|
|
this.y = Y1;
|
|
this.width = Width1;
|
|
this.height = Height1;
|
|
};
|
|
$hxClasses["flixel.math.FlxRect"] = flixel_math_FlxRect;
|
|
flixel_math_FlxRect.__name__ = "flixel.math.FlxRect";
|
|
flixel_math_FlxRect.__interfaces__ = [flixel_util_IFlxPooled];
|
|
flixel_math_FlxRect.__properties__ = {get_pool:"get_pool"};
|
|
flixel_math_FlxRect.get = function(X,Y,Width,Height) {
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
_this.x = X1;
|
|
_this.y = Y1;
|
|
_this.width = Width1;
|
|
_this.height = Height1;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
return rect;
|
|
};
|
|
flixel_math_FlxRect.weak = function(X,Y,Width,Height) {
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X = X1;
|
|
var Y = Y1;
|
|
var Width = Width1;
|
|
var Height = Height1;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
var rect1 = rect;
|
|
rect1._weak = true;
|
|
return rect1;
|
|
};
|
|
flixel_math_FlxRect.get_pool = function() {
|
|
return flixel_math_FlxRect._pool;
|
|
};
|
|
flixel_math_FlxRect.prototype = {
|
|
x: null
|
|
,y: null
|
|
,width: null
|
|
,height: null
|
|
,_weak: null
|
|
,_inPool: null
|
|
,put: function() {
|
|
if(!this._inPool) {
|
|
this._inPool = true;
|
|
this._weak = false;
|
|
flixel_math_FlxRect._pool.putUnsafe(this);
|
|
}
|
|
}
|
|
,putWeak: function() {
|
|
if(this._weak) {
|
|
if(!this._inPool) {
|
|
this._inPool = true;
|
|
this._weak = false;
|
|
flixel_math_FlxRect._pool.putUnsafe(this);
|
|
}
|
|
}
|
|
}
|
|
,setSize: function(Width,Height) {
|
|
this.width = Width;
|
|
this.height = Height;
|
|
return this;
|
|
}
|
|
,setPosition: function(x,y) {
|
|
this.x = x;
|
|
this.y = y;
|
|
return this;
|
|
}
|
|
,set: function(X,Y,Width,Height) {
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
this.x = X;
|
|
this.y = Y;
|
|
this.width = Width;
|
|
this.height = Height;
|
|
return this;
|
|
}
|
|
,copyFrom: function(Rect) {
|
|
this.x = Rect.x;
|
|
this.y = Rect.y;
|
|
this.width = Rect.width;
|
|
this.height = Rect.height;
|
|
if(Rect._weak) {
|
|
if(!Rect._inPool) {
|
|
Rect._inPool = true;
|
|
Rect._weak = false;
|
|
flixel_math_FlxRect._pool.putUnsafe(Rect);
|
|
}
|
|
}
|
|
return this;
|
|
}
|
|
,copyTo: function(Rect) {
|
|
Rect.x = this.x;
|
|
Rect.y = this.y;
|
|
Rect.width = this.width;
|
|
Rect.height = this.height;
|
|
if(Rect._weak) {
|
|
if(!Rect._inPool) {
|
|
Rect._inPool = true;
|
|
Rect._weak = false;
|
|
flixel_math_FlxRect._pool.putUnsafe(Rect);
|
|
}
|
|
}
|
|
return Rect;
|
|
}
|
|
,copyFromFlash: function(FlashRect) {
|
|
this.x = FlashRect.x;
|
|
this.y = FlashRect.y;
|
|
this.width = FlashRect.width;
|
|
this.height = FlashRect.height;
|
|
return this;
|
|
}
|
|
,copyToFlash: function(FlashRect) {
|
|
if(FlashRect == null) {
|
|
FlashRect = new openfl_geom_Rectangle();
|
|
}
|
|
FlashRect.x = this.x;
|
|
FlashRect.y = this.y;
|
|
FlashRect.width = this.width;
|
|
FlashRect.height = this.height;
|
|
return FlashRect;
|
|
}
|
|
,overlaps: function(Rect) {
|
|
var result = Rect.x + Rect.width > this.x && Rect.x < this.x + this.width && Rect.y + Rect.height > this.y && Rect.y < this.y + this.height;
|
|
if(Rect._weak) {
|
|
if(!Rect._inPool) {
|
|
Rect._inPool = true;
|
|
Rect._weak = false;
|
|
flixel_math_FlxRect._pool.putUnsafe(Rect);
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
,containsPoint: function(Point) {
|
|
var result = flixel_math_FlxMath.pointInFlxRect(Point.x,Point.y,this);
|
|
if(Point._weak) {
|
|
Point.put();
|
|
}
|
|
return result;
|
|
}
|
|
,union: function(Rect) {
|
|
var minX = Math.min(this.x,Rect.x);
|
|
var minY = Math.min(this.y,Rect.y);
|
|
var maxX = Math.max(this.x + this.width,Rect.x + Rect.width);
|
|
var maxY = Math.max(this.y + this.height,Rect.y + Rect.height);
|
|
if(Rect._weak) {
|
|
if(!Rect._inPool) {
|
|
Rect._inPool = true;
|
|
Rect._weak = false;
|
|
flixel_math_FlxRect._pool.putUnsafe(Rect);
|
|
}
|
|
}
|
|
var X = minX;
|
|
var Y = minY;
|
|
var Width = maxX - minX;
|
|
var Height = maxY - minY;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
this.x = X;
|
|
this.y = Y;
|
|
this.width = Width;
|
|
this.height = Height;
|
|
return this;
|
|
}
|
|
,floor: function() {
|
|
this.x = Math.floor(this.x);
|
|
this.y = Math.floor(this.y);
|
|
this.width = Math.floor(this.width);
|
|
this.height = Math.floor(this.height);
|
|
return this;
|
|
}
|
|
,ceil: function() {
|
|
this.x = Math.ceil(this.x);
|
|
this.y = Math.ceil(this.y);
|
|
this.width = Math.ceil(this.width);
|
|
this.height = Math.ceil(this.height);
|
|
return this;
|
|
}
|
|
,round: function() {
|
|
this.x = Math.round(this.x);
|
|
this.y = Math.round(this.y);
|
|
this.width = Math.round(this.width);
|
|
this.height = Math.round(this.height);
|
|
return this;
|
|
}
|
|
,fromTwoPoints: function(Point1,Point2) {
|
|
var minX = Math.min(Point1.x,Point2.x);
|
|
var minY = Math.min(Point1.y,Point2.y);
|
|
var maxX = Math.max(Point1.x,Point2.x);
|
|
var maxY = Math.max(Point1.y,Point2.y);
|
|
if(Point1._weak) {
|
|
Point1.put();
|
|
}
|
|
if(Point2._weak) {
|
|
Point2.put();
|
|
}
|
|
var X = minX;
|
|
var Y = minY;
|
|
var Width = maxX - minX;
|
|
var Height = maxY - minY;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
this.x = X;
|
|
this.y = Y;
|
|
this.width = Width;
|
|
this.height = Height;
|
|
return this;
|
|
}
|
|
,unionWithPoint: function(Point) {
|
|
var minX = Math.min(this.x,Point.x);
|
|
var minY = Math.min(this.y,Point.y);
|
|
var maxX = Math.max(this.x + this.width,Point.x);
|
|
var maxY = Math.max(this.y + this.height,Point.y);
|
|
if(Point._weak) {
|
|
Point.put();
|
|
}
|
|
var X = minX;
|
|
var Y = minY;
|
|
var Width = maxX - minX;
|
|
var Height = maxY - minY;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
this.x = X;
|
|
this.y = Y;
|
|
this.width = Width;
|
|
this.height = Height;
|
|
return this;
|
|
}
|
|
,offset: function(dx,dy) {
|
|
this.x += dx;
|
|
this.y += dy;
|
|
return this;
|
|
}
|
|
,destroy: function() {
|
|
}
|
|
,equals: function(rect) {
|
|
var result = Math.abs(this.x - rect.x) <= 0.0000001 && Math.abs(this.y - rect.y) <= 0.0000001 && Math.abs(this.width - rect.width) <= 0.0000001 && Math.abs(this.height - rect.height) <= 0.0000001;
|
|
if(rect._weak) {
|
|
if(!rect._inPool) {
|
|
rect._inPool = true;
|
|
rect._weak = false;
|
|
flixel_math_FlxRect._pool.putUnsafe(rect);
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
,intersection: function(rect,result) {
|
|
if(result == null) {
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = 0;
|
|
var Height = 0;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var rect1 = _this;
|
|
rect1._inPool = false;
|
|
result = rect1;
|
|
}
|
|
var x0 = this.x < rect.x ? rect.x : this.x;
|
|
var x1 = this.x + this.width > rect.x + rect.width ? rect.x + rect.width : this.x + this.width;
|
|
if(x1 <= x0) {
|
|
if(rect._weak) {
|
|
if(!rect._inPool) {
|
|
rect._inPool = true;
|
|
rect._weak = false;
|
|
flixel_math_FlxRect._pool.putUnsafe(rect);
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
var y0 = this.y < rect.y ? rect.y : this.y;
|
|
var y1 = this.y + this.height > rect.y + rect.height ? rect.y + rect.height : this.y + this.height;
|
|
if(y1 <= y0) {
|
|
if(rect._weak) {
|
|
if(!rect._inPool) {
|
|
rect._inPool = true;
|
|
rect._weak = false;
|
|
flixel_math_FlxRect._pool.putUnsafe(rect);
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
if(rect._weak) {
|
|
if(!rect._inPool) {
|
|
rect._inPool = true;
|
|
rect._weak = false;
|
|
flixel_math_FlxRect._pool.putUnsafe(rect);
|
|
}
|
|
}
|
|
var X = x0;
|
|
var Y = y0;
|
|
var Width = x1 - x0;
|
|
var Height = y1 - y0;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
result.x = X;
|
|
result.y = Y;
|
|
result.width = Width;
|
|
result.height = Height;
|
|
return result;
|
|
}
|
|
,toString: function() {
|
|
var value = this.x;
|
|
var _this = flixel_util_LabelValuePair._pool.get();
|
|
_this.label = "x";
|
|
_this.value = value;
|
|
var value = this.y;
|
|
var _this1 = flixel_util_LabelValuePair._pool.get();
|
|
_this1.label = "y";
|
|
_this1.value = value;
|
|
var value = this.width;
|
|
var _this2 = flixel_util_LabelValuePair._pool.get();
|
|
_this2.label = "w";
|
|
_this2.value = value;
|
|
var value = this.height;
|
|
var _this3 = flixel_util_LabelValuePair._pool.get();
|
|
_this3.label = "h";
|
|
_this3.value = value;
|
|
return flixel_util_FlxStringUtil.getDebugString([_this,_this1,_this2,_this3]);
|
|
}
|
|
,get_left: function() {
|
|
return this.x;
|
|
}
|
|
,set_left: function(Value) {
|
|
this.width -= Value - this.x;
|
|
return this.x = Value;
|
|
}
|
|
,get_right: function() {
|
|
return this.x + this.width;
|
|
}
|
|
,set_right: function(Value) {
|
|
this.width = Value - this.x;
|
|
return Value;
|
|
}
|
|
,get_top: function() {
|
|
return this.y;
|
|
}
|
|
,set_top: function(Value) {
|
|
this.height -= Value - this.y;
|
|
return this.y = Value;
|
|
}
|
|
,get_bottom: function() {
|
|
return this.y + this.height;
|
|
}
|
|
,set_bottom: function(Value) {
|
|
this.height = Value - this.y;
|
|
return Value;
|
|
}
|
|
,get_isEmpty: function() {
|
|
if(this.width != 0) {
|
|
return this.height == 0;
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
,__class__: flixel_math_FlxRect
|
|
,__properties__: {get_isEmpty:"get_isEmpty",set_bottom:"set_bottom",get_bottom:"get_bottom",set_top:"set_top",get_top:"get_top",set_right:"set_right",get_right:"get_right",set_left:"set_left",get_left:"get_left"}
|
|
};
|
|
var flixel_FlxObject = function(X,Y,Width,Height) {
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
_this.x = 0;
|
|
_this.y = 0;
|
|
_this.width = 0;
|
|
_this.height = 0;
|
|
_this._inPool = false;
|
|
this._rect = _this;
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
this._point = point;
|
|
this.path = null;
|
|
this.collisonXDrag = true;
|
|
this.allowCollisions = 4369;
|
|
this.wasTouching = 0;
|
|
this.touching = 0;
|
|
this.health = 1;
|
|
this.maxAngular = 10000;
|
|
this.angularDrag = 0;
|
|
this.angularAcceleration = 0;
|
|
this.angularVelocity = 0;
|
|
this.elasticity = 0;
|
|
this.mass = 1;
|
|
this.immovable = false;
|
|
this.moves = true;
|
|
this.angle = 0;
|
|
this.pixelPerfectPosition = true;
|
|
this.y = 0;
|
|
this.x = 0;
|
|
flixel_FlxBasic.call(this);
|
|
this.set_x(X);
|
|
this.set_y(Y);
|
|
this.set_width(Width);
|
|
this.set_height(Height);
|
|
this.initVars();
|
|
};
|
|
$hxClasses["flixel.FlxObject"] = flixel_FlxObject;
|
|
flixel_FlxObject.__name__ = "flixel.FlxObject";
|
|
flixel_FlxObject.separate = function(Object1,Object2) {
|
|
var separatedX = flixel_FlxObject.separateX(Object1,Object2);
|
|
var separatedY = flixel_FlxObject.separateY(Object1,Object2);
|
|
if(!separatedX) {
|
|
return separatedY;
|
|
} else {
|
|
return true;
|
|
}
|
|
};
|
|
flixel_FlxObject.updateTouchingFlags = function(Object1,Object2) {
|
|
var touchingX = flixel_FlxObject.updateTouchingFlagsX(Object1,Object2);
|
|
var touchingY = flixel_FlxObject.updateTouchingFlagsY(Object1,Object2);
|
|
if(!touchingX) {
|
|
return touchingY;
|
|
} else {
|
|
return true;
|
|
}
|
|
};
|
|
flixel_FlxObject.computeOverlapX = function(Object1,Object2,checkMaxOverlap) {
|
|
if(checkMaxOverlap == null) {
|
|
checkMaxOverlap = true;
|
|
}
|
|
var overlap = 0;
|
|
var obj1delta = Object1.x - Object1.last.x;
|
|
var obj2delta = Object2.x - Object2.last.x;
|
|
if(obj1delta != obj2delta) {
|
|
var obj1deltaAbs = obj1delta > 0 ? obj1delta : -obj1delta;
|
|
var obj2deltaAbs = obj2delta > 0 ? obj2delta : -obj2delta;
|
|
var _this = flixel_FlxObject._firstSeparateFlxRect;
|
|
var X = Object1.x - (obj1delta > 0 ? obj1delta : 0);
|
|
var Y = Object1.last.y;
|
|
var Width = Object1.get_width() + obj1deltaAbs;
|
|
var Height = Object1.get_height();
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var obj1rect = _this;
|
|
var _this = flixel_FlxObject._secondSeparateFlxRect;
|
|
var X = Object2.x - (obj2delta > 0 ? obj2delta : 0);
|
|
var Y = Object2.last.y;
|
|
var Width = Object2.get_width() + obj2deltaAbs;
|
|
var Height = Object2.get_height();
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var obj2rect = _this;
|
|
if(obj1rect.x + obj1rect.width > obj2rect.x && obj1rect.x < obj2rect.x + obj2rect.width && obj1rect.y + obj1rect.height > obj2rect.y && obj1rect.y < obj2rect.y + obj2rect.height) {
|
|
var maxOverlap = checkMaxOverlap ? obj1deltaAbs + obj2deltaAbs + flixel_FlxObject.SEPARATE_BIAS : 0;
|
|
if(obj1delta > obj2delta) {
|
|
overlap = Object1.x + Object1.get_width() - Object2.x;
|
|
if(checkMaxOverlap && overlap > maxOverlap || (Object1.allowCollisions & 16) == 0 || (Object2.allowCollisions & 1) == 0) {
|
|
overlap = 0;
|
|
} else {
|
|
Object1.touching |= 16;
|
|
Object2.touching |= 1;
|
|
}
|
|
} else if(obj1delta < obj2delta) {
|
|
overlap = Object1.x - Object2.get_width() - Object2.x;
|
|
if(checkMaxOverlap && -overlap > maxOverlap || (Object1.allowCollisions & 1) == 0 || (Object2.allowCollisions & 16) == 0) {
|
|
overlap = 0;
|
|
} else {
|
|
Object1.touching |= 1;
|
|
Object2.touching |= 16;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return overlap;
|
|
};
|
|
flixel_FlxObject.separateX = function(Object1,Object2) {
|
|
var obj1immovable = Object1.immovable;
|
|
var obj2immovable = Object2.immovable;
|
|
if(obj1immovable && obj2immovable) {
|
|
return false;
|
|
}
|
|
if(Object1.flixelType == 3) {
|
|
var tilemap = Object1;
|
|
return tilemap.overlapsWithCallback(Object2,flixel_FlxObject.separateX);
|
|
}
|
|
if(Object2.flixelType == 3) {
|
|
var tilemap = Object2;
|
|
return tilemap.overlapsWithCallback(Object1,flixel_FlxObject.separateX,true);
|
|
}
|
|
var overlap = flixel_FlxObject.computeOverlapX(Object1,Object2);
|
|
if(overlap != 0) {
|
|
var obj1v = Object1.velocity.x;
|
|
var obj2v = Object2.velocity.x;
|
|
if(!obj1immovable && !obj2immovable) {
|
|
overlap *= 0.5;
|
|
Object1.set_x(Object1.x - overlap);
|
|
var _g = Object2;
|
|
_g.set_x(_g.x + overlap);
|
|
var obj1velocity = Math.sqrt(obj2v * obj2v * Object2.mass / Object1.mass) * (obj2v > 0 ? 1 : -1);
|
|
var obj2velocity = Math.sqrt(obj1v * obj1v * Object1.mass / Object2.mass) * (obj1v > 0 ? 1 : -1);
|
|
var average = (obj1velocity + obj2velocity) * 0.5;
|
|
obj1velocity -= average;
|
|
obj2velocity -= average;
|
|
Object1.velocity.set_x(average + obj1velocity * Object1.elasticity);
|
|
Object2.velocity.set_x(average + obj2velocity * Object2.elasticity);
|
|
} else if(!obj1immovable) {
|
|
Object1.set_x(Object1.x - overlap);
|
|
Object1.velocity.set_x(obj2v - obj1v * Object1.elasticity);
|
|
} else if(!obj2immovable) {
|
|
var _g = Object2;
|
|
_g.set_x(_g.x + overlap);
|
|
Object2.velocity.set_x(obj1v - obj2v * Object2.elasticity);
|
|
}
|
|
return true;
|
|
}
|
|
return false;
|
|
};
|
|
flixel_FlxObject.updateTouchingFlagsX = function(Object1,Object2) {
|
|
if(Object1.flixelType == 3) {
|
|
var tilemap = Object1;
|
|
return tilemap.overlapsWithCallback(Object2,flixel_FlxObject.updateTouchingFlagsX);
|
|
}
|
|
if(Object2.flixelType == 3) {
|
|
var tilemap = Object2;
|
|
return tilemap.overlapsWithCallback(Object1,flixel_FlxObject.updateTouchingFlagsX,true);
|
|
}
|
|
return flixel_FlxObject.computeOverlapX(Object1,Object2,false) != 0;
|
|
};
|
|
flixel_FlxObject.computeOverlapY = function(Object1,Object2,checkMaxOverlap) {
|
|
if(checkMaxOverlap == null) {
|
|
checkMaxOverlap = true;
|
|
}
|
|
var overlap = 0;
|
|
var obj1delta = Object1.y - Object1.last.y;
|
|
var obj2delta = Object2.y - Object2.last.y;
|
|
if(obj1delta != obj2delta) {
|
|
var obj1deltaAbs = obj1delta > 0 ? obj1delta : -obj1delta;
|
|
var obj2deltaAbs = obj2delta > 0 ? obj2delta : -obj2delta;
|
|
var _this = flixel_FlxObject._firstSeparateFlxRect;
|
|
var X = Object1.x;
|
|
var Y = Object1.y - (obj1delta > 0 ? obj1delta : 0);
|
|
var Width = Object1.get_width();
|
|
var Height = Object1.get_height() + obj1deltaAbs;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var obj1rect = _this;
|
|
var _this = flixel_FlxObject._secondSeparateFlxRect;
|
|
var X = Object2.x;
|
|
var Y = Object2.y - (obj2delta > 0 ? obj2delta : 0);
|
|
var Width = Object2.get_width();
|
|
var Height = Object2.get_height() + obj2deltaAbs;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var obj2rect = _this;
|
|
if(obj1rect.x + obj1rect.width > obj2rect.x && obj1rect.x < obj2rect.x + obj2rect.width && obj1rect.y + obj1rect.height > obj2rect.y && obj1rect.y < obj2rect.y + obj2rect.height) {
|
|
var maxOverlap = checkMaxOverlap ? obj1deltaAbs + obj2deltaAbs + flixel_FlxObject.SEPARATE_BIAS : 0;
|
|
if(obj1delta > obj2delta) {
|
|
overlap = Object1.y + Object1.get_height() - Object2.y;
|
|
if(checkMaxOverlap && overlap > maxOverlap || (Object1.allowCollisions & 4096) == 0 || (Object2.allowCollisions & 256) == 0) {
|
|
overlap = 0;
|
|
} else {
|
|
Object1.touching |= 4096;
|
|
Object2.touching |= 256;
|
|
}
|
|
} else if(obj1delta < obj2delta) {
|
|
overlap = Object1.y - Object2.get_height() - Object2.y;
|
|
if(checkMaxOverlap && -overlap > maxOverlap || (Object1.allowCollisions & 256) == 0 || (Object2.allowCollisions & 4096) == 0) {
|
|
overlap = 0;
|
|
} else {
|
|
Object1.touching |= 256;
|
|
Object2.touching |= 4096;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return overlap;
|
|
};
|
|
flixel_FlxObject.separateY = function(Object1,Object2) {
|
|
var obj1immovable = Object1.immovable;
|
|
var obj2immovable = Object2.immovable;
|
|
if(obj1immovable && obj2immovable) {
|
|
return false;
|
|
}
|
|
if(Object1.flixelType == 3) {
|
|
var tilemap = Object1;
|
|
return tilemap.overlapsWithCallback(Object2,flixel_FlxObject.separateY);
|
|
}
|
|
if(Object2.flixelType == 3) {
|
|
var tilemap = Object2;
|
|
return tilemap.overlapsWithCallback(Object1,flixel_FlxObject.separateY,true);
|
|
}
|
|
var overlap = flixel_FlxObject.computeOverlapY(Object1,Object2);
|
|
if(overlap != 0) {
|
|
var obj1delta = Object1.y - Object1.last.y;
|
|
var obj2delta = Object2.y - Object2.last.y;
|
|
var obj1v = Object1.velocity.y;
|
|
var obj2v = Object2.velocity.y;
|
|
if(!obj1immovable && !obj2immovable) {
|
|
overlap *= 0.5;
|
|
Object1.set_y(Object1.y - overlap);
|
|
var _g = Object2;
|
|
_g.set_y(_g.y + overlap);
|
|
var obj1velocity = Math.sqrt(obj2v * obj2v * Object2.mass / Object1.mass) * (obj2v > 0 ? 1 : -1);
|
|
var obj2velocity = Math.sqrt(obj1v * obj1v * Object1.mass / Object2.mass) * (obj1v > 0 ? 1 : -1);
|
|
var average = (obj1velocity + obj2velocity) * 0.5;
|
|
obj1velocity -= average;
|
|
obj2velocity -= average;
|
|
Object1.velocity.set_y(average + obj1velocity * Object1.elasticity);
|
|
Object2.velocity.set_y(average + obj2velocity * Object2.elasticity);
|
|
} else if(!obj1immovable) {
|
|
Object1.set_y(Object1.y - overlap);
|
|
Object1.velocity.set_y(obj2v - obj1v * Object1.elasticity);
|
|
if(Object1.collisonXDrag && Object2.active && Object2.moves && obj1delta > obj2delta) {
|
|
var _g = Object1;
|
|
_g.set_x(_g.x + (Object2.x - Object2.last.x));
|
|
}
|
|
} else if(!obj2immovable) {
|
|
var _g = Object2;
|
|
_g.set_y(_g.y + overlap);
|
|
Object2.velocity.set_y(obj1v - obj2v * Object2.elasticity);
|
|
if(Object2.collisonXDrag && Object1.active && Object1.moves && obj1delta < obj2delta) {
|
|
var _g = Object2;
|
|
_g.set_x(_g.x + (Object1.x - Object1.last.x));
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
return false;
|
|
};
|
|
flixel_FlxObject.updateTouchingFlagsY = function(Object1,Object2) {
|
|
if(Object1.flixelType == 3) {
|
|
var tilemap = Object1;
|
|
return tilemap.overlapsWithCallback(Object2,flixel_FlxObject.updateTouchingFlagsY);
|
|
}
|
|
if(Object2.flixelType == 3) {
|
|
var tilemap = Object2;
|
|
return tilemap.overlapsWithCallback(Object1,flixel_FlxObject.updateTouchingFlagsY,true);
|
|
}
|
|
return flixel_FlxObject.computeOverlapY(Object1,Object2,false) != 0;
|
|
};
|
|
flixel_FlxObject.__super__ = flixel_FlxBasic;
|
|
flixel_FlxObject.prototype = $extend(flixel_FlxBasic.prototype,{
|
|
x: null
|
|
,y: null
|
|
,width: null
|
|
,height: null
|
|
,pixelPerfectRender: null
|
|
,pixelPerfectPosition: null
|
|
,angle: null
|
|
,moves: null
|
|
,immovable: null
|
|
,scrollFactor: null
|
|
,velocity: null
|
|
,acceleration: null
|
|
,drag: null
|
|
,maxVelocity: null
|
|
,last: null
|
|
,mass: null
|
|
,elasticity: null
|
|
,angularVelocity: null
|
|
,angularAcceleration: null
|
|
,angularDrag: null
|
|
,maxAngular: null
|
|
,health: null
|
|
,touching: null
|
|
,wasTouching: null
|
|
,allowCollisions: null
|
|
,collisonXDrag: null
|
|
,path: null
|
|
,_point: null
|
|
,_rect: null
|
|
,initVars: function() {
|
|
this.flixelType = 1;
|
|
var X = this.x;
|
|
var Y = this.y;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
this.last = point;
|
|
var X = 1;
|
|
var Y = 1;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
this.scrollFactor = point;
|
|
this.pixelPerfectPosition = flixel_FlxObject.defaultPixelPerfectPosition;
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
this.velocity = point;
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
this.acceleration = point;
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
this.drag = point;
|
|
var X = 10000;
|
|
var Y = 10000;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
this.maxVelocity = point;
|
|
}
|
|
,initMotionVars: function() {
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
this.velocity = point;
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
this.acceleration = point;
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
this.drag = point;
|
|
var X = 10000;
|
|
var Y = 10000;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
this.maxVelocity = point;
|
|
}
|
|
,destroy: function() {
|
|
flixel_FlxBasic.prototype.destroy.call(this);
|
|
this.velocity = flixel_util_FlxDestroyUtil.put(this.velocity);
|
|
this.acceleration = flixel_util_FlxDestroyUtil.put(this.acceleration);
|
|
this.drag = flixel_util_FlxDestroyUtil.put(this.drag);
|
|
this.maxVelocity = flixel_util_FlxDestroyUtil.put(this.maxVelocity);
|
|
this.scrollFactor = flixel_util_FlxDestroyUtil.put(this.scrollFactor);
|
|
this.last = flixel_util_FlxDestroyUtil.put(this.last);
|
|
this._point = flixel_util_FlxDestroyUtil.put(this._point);
|
|
this._rect = flixel_util_FlxDestroyUtil.put(this._rect);
|
|
}
|
|
,update: function(elapsed) {
|
|
this.last.set(this.x,this.y);
|
|
if(this.path != null && this.path.active) {
|
|
this.path.update(elapsed);
|
|
}
|
|
if(this.moves) {
|
|
this.updateMotion(elapsed);
|
|
}
|
|
this.wasTouching = this.touching;
|
|
this.touching = 0;
|
|
}
|
|
,updateMotion: function(elapsed) {
|
|
var velocityDelta = 0.5 * (flixel_math_FlxVelocity.computeVelocity(this.angularVelocity,this.angularAcceleration,this.angularDrag,this.maxAngular,elapsed) - this.angularVelocity);
|
|
this.angularVelocity += velocityDelta;
|
|
var _g = this;
|
|
_g.set_angle(_g.angle + this.angularVelocity * elapsed);
|
|
this.angularVelocity += velocityDelta;
|
|
velocityDelta = 0.5 * (flixel_math_FlxVelocity.computeVelocity(this.velocity.x,this.acceleration.x,this.drag.x,this.maxVelocity.x,elapsed) - this.velocity.x);
|
|
var _g = this.velocity;
|
|
_g.set_x(_g.x + velocityDelta);
|
|
var delta = this.velocity.x * elapsed;
|
|
var _g = this.velocity;
|
|
_g.set_x(_g.x + velocityDelta);
|
|
var _g = this;
|
|
_g.set_x(_g.x + delta);
|
|
velocityDelta = 0.5 * (flixel_math_FlxVelocity.computeVelocity(this.velocity.y,this.acceleration.y,this.drag.y,this.maxVelocity.y,elapsed) - this.velocity.y);
|
|
var _g = this.velocity;
|
|
_g.set_y(_g.y + velocityDelta);
|
|
delta = this.velocity.y * elapsed;
|
|
var _g = this.velocity;
|
|
_g.set_y(_g.y + velocityDelta);
|
|
var _g = this;
|
|
_g.set_y(_g.y + delta);
|
|
}
|
|
,draw: function() {
|
|
}
|
|
,overlaps: function(ObjectOrGroup,InScreenSpace,Camera) {
|
|
if(InScreenSpace == null) {
|
|
InScreenSpace = false;
|
|
}
|
|
var group = flixel_group_FlxTypedGroup.resolveGroup(ObjectOrGroup);
|
|
if(group != null) {
|
|
return flixel_group_FlxTypedGroup.overlaps($bind(this,this.overlapsCallback),group,0,0,InScreenSpace,Camera);
|
|
}
|
|
if(ObjectOrGroup.flixelType == 3) {
|
|
var tilemap = ObjectOrGroup;
|
|
return tilemap.overlaps(this,InScreenSpace,Camera);
|
|
}
|
|
var object = ObjectOrGroup;
|
|
if(!InScreenSpace) {
|
|
if(object.x + object.get_width() > this.x && object.x < this.x + this.get_width() && object.y + object.get_height() > this.y) {
|
|
return object.y < this.y + this.get_height();
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
if(Camera == null) {
|
|
Camera = flixel_FlxG.camera;
|
|
}
|
|
var objectScreenPos = object.getScreenPosition(null,Camera);
|
|
this.getScreenPosition(this._point,Camera);
|
|
if(objectScreenPos.x + object.get_width() > this._point.x && objectScreenPos.x < this._point.x + this.get_width() && objectScreenPos.y + object.get_height() > this._point.y) {
|
|
return objectScreenPos.y < this._point.y + this.get_height();
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,overlapsCallback: function(ObjectOrGroup,X,Y,InScreenSpace,Camera) {
|
|
return this.overlaps(ObjectOrGroup,InScreenSpace,Camera);
|
|
}
|
|
,overlapsAt: function(X,Y,ObjectOrGroup,InScreenSpace,Camera) {
|
|
if(InScreenSpace == null) {
|
|
InScreenSpace = false;
|
|
}
|
|
var group = flixel_group_FlxTypedGroup.resolveGroup(ObjectOrGroup);
|
|
if(group != null) {
|
|
return flixel_group_FlxTypedGroup.overlaps($bind(this,this.overlapsAtCallback),group,X,Y,InScreenSpace,Camera);
|
|
}
|
|
if(ObjectOrGroup.flixelType == 3) {
|
|
var tilemap = ObjectOrGroup;
|
|
return tilemap.overlapsAt(tilemap.x - (X - this.x),tilemap.y - (Y - this.y),this,InScreenSpace,Camera);
|
|
}
|
|
var object = ObjectOrGroup;
|
|
if(!InScreenSpace) {
|
|
if(object.x + object.get_width() > X && object.x < X + this.get_width() && object.y + object.get_height() > Y) {
|
|
return object.y < Y + this.get_height();
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
if(Camera == null) {
|
|
Camera = flixel_FlxG.camera;
|
|
}
|
|
var objectScreenPos = object.getScreenPosition(null,Camera);
|
|
this.getScreenPosition(this._point,Camera);
|
|
if(objectScreenPos.x + object.get_width() > this._point.x && objectScreenPos.x < this._point.x + this.get_width() && objectScreenPos.y + object.get_height() > this._point.y) {
|
|
return objectScreenPos.y < this._point.y + this.get_height();
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,overlapsAtCallback: function(ObjectOrGroup,X,Y,InScreenSpace,Camera) {
|
|
return this.overlapsAt(X,Y,ObjectOrGroup,InScreenSpace,Camera);
|
|
}
|
|
,overlapsPoint: function(point,InScreenSpace,Camera) {
|
|
if(InScreenSpace == null) {
|
|
InScreenSpace = false;
|
|
}
|
|
if(!InScreenSpace) {
|
|
if(point.x >= this.x && point.x < this.x + this.get_width() && point.y >= this.y) {
|
|
return point.y < this.y + this.get_height();
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
if(Camera == null) {
|
|
Camera = flixel_FlxG.camera;
|
|
}
|
|
var xPos = point.x - Camera.scroll.x;
|
|
var yPos = point.y - Camera.scroll.y;
|
|
this.getScreenPosition(this._point,Camera);
|
|
if(point._weak) {
|
|
point.put();
|
|
}
|
|
if(xPos >= this._point.x && xPos < this._point.x + this.get_width() && yPos >= this._point.y) {
|
|
return yPos < this._point.y + this.get_height();
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,inWorldBounds: function() {
|
|
var tmp;
|
|
if(this.x + this.get_width() > flixel_FlxG.worldBounds.x) {
|
|
var _this = flixel_FlxG.worldBounds;
|
|
tmp = this.x < _this.x + _this.width;
|
|
} else {
|
|
tmp = false;
|
|
}
|
|
if(tmp && this.y + this.get_height() > flixel_FlxG.worldBounds.y) {
|
|
var _this = flixel_FlxG.worldBounds;
|
|
return this.y < _this.y + _this.height;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,getScreenPosition: function(point,Camera) {
|
|
if(point == null) {
|
|
var point1 = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point1._inPool = false;
|
|
point = point1;
|
|
}
|
|
if(Camera == null) {
|
|
Camera = flixel_FlxG.camera;
|
|
}
|
|
point.set(this.x,this.y);
|
|
if(this.pixelPerfectPosition) {
|
|
point.set_x(Math.floor(point.x));
|
|
point.set_y(Math.floor(point.y));
|
|
}
|
|
var X = Camera.scroll.x * this.scrollFactor.x;
|
|
var Y = Camera.scroll.y * this.scrollFactor.y;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _g = point;
|
|
_g.set_x(_g.x - X);
|
|
var _g = point;
|
|
_g.set_y(_g.y - Y);
|
|
return point;
|
|
}
|
|
,getPosition: function(point) {
|
|
if(point == null) {
|
|
var point1 = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point1._inPool = false;
|
|
point = point1;
|
|
}
|
|
return point.set(this.x,this.y);
|
|
}
|
|
,getMidpoint: function(point) {
|
|
if(point == null) {
|
|
var point1 = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point1._inPool = false;
|
|
point = point1;
|
|
}
|
|
return point.set(this.x + this.get_width() * 0.5,this.y + this.get_height() * 0.5);
|
|
}
|
|
,getHitbox: function(rect) {
|
|
if(rect == null) {
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = 0;
|
|
var Height = 0;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var rect1 = _this;
|
|
rect1._inPool = false;
|
|
rect = rect1;
|
|
}
|
|
var X = this.x;
|
|
var Y = this.y;
|
|
var Width = this.get_width();
|
|
var Height = this.get_height();
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
rect.x = X;
|
|
rect.y = Y;
|
|
rect.width = Width;
|
|
rect.height = Height;
|
|
return rect;
|
|
}
|
|
,reset: function(X,Y) {
|
|
this.touching = 0;
|
|
this.wasTouching = 0;
|
|
this.setPosition(X,Y);
|
|
this.last.set(this.x,this.y);
|
|
this.velocity.set();
|
|
this.revive();
|
|
}
|
|
,isOnScreen: function(Camera) {
|
|
if(Camera == null) {
|
|
Camera = flixel_FlxG.camera;
|
|
}
|
|
this.getScreenPosition(this._point,Camera);
|
|
var point = this._point;
|
|
var width = this.get_width();
|
|
var height = this.get_height();
|
|
if(height == null) {
|
|
height = 0;
|
|
}
|
|
if(width == null) {
|
|
width = 0;
|
|
}
|
|
if(point.x + width > Camera.viewOffsetX && point.x < Camera.viewOffsetWidth && point.y + height > Camera.viewOffsetY) {
|
|
return point.y < Camera.viewOffsetHeight;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,isPixelPerfectRender: function(Camera) {
|
|
if(Camera == null) {
|
|
Camera = flixel_FlxG.camera;
|
|
}
|
|
if(this.pixelPerfectRender == null) {
|
|
return Camera.pixelPerfectRender;
|
|
} else {
|
|
return this.pixelPerfectRender;
|
|
}
|
|
}
|
|
,isTouching: function(Direction) {
|
|
return (this.touching & Direction) > 0;
|
|
}
|
|
,justTouched: function(Direction) {
|
|
if((this.touching & Direction) > 0) {
|
|
return (this.wasTouching & Direction) <= 0;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,hurt: function(Damage) {
|
|
this.health -= Damage;
|
|
if(this.health <= 0) {
|
|
this.kill();
|
|
}
|
|
}
|
|
,screenCenter: function(axes) {
|
|
if(axes == null) {
|
|
axes = flixel_util_FlxAxes.XY;
|
|
}
|
|
if(axes != flixel_util_FlxAxes.Y) {
|
|
this.set_x(flixel_FlxG.width / 2 - this.get_width() / 2);
|
|
}
|
|
if(axes != flixel_util_FlxAxes.X) {
|
|
this.set_y(flixel_FlxG.height / 2 - this.get_height() / 2);
|
|
}
|
|
return this;
|
|
}
|
|
,setPosition: function(X,Y) {
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
this.set_x(X);
|
|
this.set_y(Y);
|
|
}
|
|
,setSize: function(Width,Height) {
|
|
this.set_width(Width);
|
|
this.set_height(Height);
|
|
}
|
|
,getBoundingBox: function(camera) {
|
|
this.getScreenPosition(this._point,camera);
|
|
var _this = this._rect;
|
|
var X = this._point.x;
|
|
var Y = this._point.y;
|
|
var Width = this.get_width();
|
|
var Height = this.get_height();
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
this._rect = camera.transformRect(this._rect);
|
|
if(this.isPixelPerfectRender(camera)) {
|
|
var _this = this._rect;
|
|
_this.x = Math.floor(_this.x);
|
|
_this.y = Math.floor(_this.y);
|
|
_this.width = Math.floor(_this.width);
|
|
_this.height = Math.floor(_this.height);
|
|
}
|
|
return this._rect;
|
|
}
|
|
,toString: function() {
|
|
var value = this.x;
|
|
var _this = flixel_util_LabelValuePair._pool.get();
|
|
_this.label = "x";
|
|
_this.value = value;
|
|
var value = this.y;
|
|
var _this1 = flixel_util_LabelValuePair._pool.get();
|
|
_this1.label = "y";
|
|
_this1.value = value;
|
|
var value = this.get_width();
|
|
var _this2 = flixel_util_LabelValuePair._pool.get();
|
|
_this2.label = "w";
|
|
_this2.value = value;
|
|
var value = this.get_height();
|
|
var _this3 = flixel_util_LabelValuePair._pool.get();
|
|
_this3.label = "h";
|
|
_this3.value = value;
|
|
var value = this.visible;
|
|
var _this4 = flixel_util_LabelValuePair._pool.get();
|
|
_this4.label = "visible";
|
|
_this4.value = value;
|
|
var value = this.velocity;
|
|
var _this5 = flixel_util_LabelValuePair._pool.get();
|
|
_this5.label = "velocity";
|
|
_this5.value = value;
|
|
return flixel_util_FlxStringUtil.getDebugString([_this,_this1,_this2,_this3,_this4,_this5]);
|
|
}
|
|
,set_x: function(NewX) {
|
|
return this.x = NewX;
|
|
}
|
|
,set_y: function(NewY) {
|
|
return this.y = NewY;
|
|
}
|
|
,set_width: function(Width) {
|
|
return this.width = Width;
|
|
}
|
|
,set_height: function(Height) {
|
|
return this.height = Height;
|
|
}
|
|
,get_width: function() {
|
|
return this.width;
|
|
}
|
|
,get_height: function() {
|
|
return this.height;
|
|
}
|
|
,get_solid: function() {
|
|
return (this.allowCollisions & 4369) > 0;
|
|
}
|
|
,set_solid: function(Solid) {
|
|
this.set_allowCollisions(Solid ? 4369 : 0);
|
|
return Solid;
|
|
}
|
|
,set_angle: function(Value) {
|
|
return this.angle = Value;
|
|
}
|
|
,set_moves: function(Value) {
|
|
return this.moves = Value;
|
|
}
|
|
,set_immovable: function(Value) {
|
|
return this.immovable = Value;
|
|
}
|
|
,set_pixelPerfectRender: function(Value) {
|
|
return this.pixelPerfectRender = Value;
|
|
}
|
|
,set_allowCollisions: function(Value) {
|
|
return this.allowCollisions = Value;
|
|
}
|
|
,set_path: function(path) {
|
|
if(this.path == path) {
|
|
return path;
|
|
}
|
|
if(this.path != null) {
|
|
this.path.object = null;
|
|
}
|
|
if(path != null) {
|
|
path.object = this;
|
|
}
|
|
return this.path = path;
|
|
}
|
|
,__class__: flixel_FlxObject
|
|
,__properties__: $extend(flixel_FlxBasic.prototype.__properties__,{set_path:"set_path",set_allowCollisions:"set_allowCollisions",set_solid:"set_solid",get_solid:"get_solid",set_immovable:"set_immovable",set_moves:"set_moves",set_angle:"set_angle",set_pixelPerfectRender:"set_pixelPerfectRender",set_height:"set_height",get_height:"get_height",set_width:"set_width",get_width:"get_width",set_y:"set_y",set_x:"set_x"})
|
|
});
|
|
var flixel_FlxSprite = function(X,Y,SimpleGraphic) {
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
this._facingFlip = new haxe_ds_IntMap();
|
|
this._angleChanged = true;
|
|
this._cosAngle = 1;
|
|
this._sinAngle = 0;
|
|
this._facingVerticalMult = 1;
|
|
this._facingHorizontalMult = 1;
|
|
this.useColorTransform = false;
|
|
this.color = 16777215;
|
|
this.flipY = false;
|
|
this.flipX = false;
|
|
this.facing = 16;
|
|
this.alpha = 1.0;
|
|
this.bakedRotationAngle = 0;
|
|
this.numFrames = 0;
|
|
this.frameHeight = 0;
|
|
this.frameWidth = 0;
|
|
this.dirty = true;
|
|
this.antialiasing = false;
|
|
this.useFramePixels = true;
|
|
flixel_FlxObject.call(this,X,Y);
|
|
this.set_useFramePixels(flixel_FlxG.renderBlit);
|
|
if(SimpleGraphic != null) {
|
|
this.loadGraphic(SimpleGraphic);
|
|
}
|
|
};
|
|
$hxClasses["flixel.FlxSprite"] = flixel_FlxSprite;
|
|
flixel_FlxSprite.__name__ = "flixel.FlxSprite";
|
|
flixel_FlxSprite.__super__ = flixel_FlxObject;
|
|
flixel_FlxSprite.prototype = $extend(flixel_FlxObject.prototype,{
|
|
animation: null
|
|
,framePixels: null
|
|
,useFramePixels: null
|
|
,antialiasing: null
|
|
,dirty: null
|
|
,frame: null
|
|
,frameWidth: null
|
|
,frameHeight: null
|
|
,numFrames: null
|
|
,frames: null
|
|
,graphic: null
|
|
,bakedRotationAngle: null
|
|
,alpha: null
|
|
,facing: null
|
|
,flipX: null
|
|
,flipY: null
|
|
,origin: null
|
|
,offset: null
|
|
,scale: null
|
|
,blend: null
|
|
,color: null
|
|
,colorTransform: null
|
|
,useColorTransform: null
|
|
,clipRect: null
|
|
,shader: null
|
|
,_frame: null
|
|
,_frameGraphic: null
|
|
,_facingHorizontalMult: null
|
|
,_facingVerticalMult: null
|
|
,_flashPoint: null
|
|
,_flashRect: null
|
|
,_flashRect2: null
|
|
,_flashPointZero: null
|
|
,_matrix: null
|
|
,_halfSize: null
|
|
,_sinAngle: null
|
|
,_cosAngle: null
|
|
,_angleChanged: null
|
|
,_facingFlip: null
|
|
,initVars: function() {
|
|
flixel_FlxObject.prototype.initVars.call(this);
|
|
this.animation = new flixel_animation_FlxAnimationController(this);
|
|
this._flashPoint = new openfl_geom_Point();
|
|
this._flashRect = new openfl_geom_Rectangle();
|
|
this._flashRect2 = new openfl_geom_Rectangle();
|
|
this._flashPointZero = new openfl_geom_Point();
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
this.offset = point;
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
this.origin = point;
|
|
var X = 1;
|
|
var Y = 1;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
this.scale = point;
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
this._halfSize = point;
|
|
this._matrix = new flixel_math_FlxMatrix();
|
|
this.colorTransform = new openfl_geom_ColorTransform();
|
|
}
|
|
,destroy: function() {
|
|
flixel_FlxObject.prototype.destroy.call(this);
|
|
this.animation = flixel_util_FlxDestroyUtil.destroy(this.animation);
|
|
this.offset = flixel_util_FlxDestroyUtil.put(this.offset);
|
|
this.origin = flixel_util_FlxDestroyUtil.put(this.origin);
|
|
this.scale = flixel_util_FlxDestroyUtil.put(this.scale);
|
|
this._halfSize = flixel_util_FlxDestroyUtil.put(this._halfSize);
|
|
this.framePixels = flixel_util_FlxDestroyUtil.dispose(this.framePixels);
|
|
this._flashPoint = null;
|
|
this._flashRect = null;
|
|
this._flashRect2 = null;
|
|
this._flashPointZero = null;
|
|
this._matrix = null;
|
|
this.colorTransform = null;
|
|
this.set_blend(null);
|
|
this.set_frames(null);
|
|
this.set_graphic(null);
|
|
this._frame = flixel_util_FlxDestroyUtil.destroy(this._frame);
|
|
this._frameGraphic = flixel_util_FlxDestroyUtil.destroy(this._frameGraphic);
|
|
this.shader = null;
|
|
}
|
|
,clone: function() {
|
|
return new flixel_FlxSprite().loadGraphicFromSprite(this);
|
|
}
|
|
,loadGraphicFromSprite: function(Sprite) {
|
|
this.set_frames(Sprite.frames);
|
|
this.bakedRotationAngle = Sprite.bakedRotationAngle;
|
|
if(this.bakedRotationAngle > 0) {
|
|
this.set_width(Sprite.get_width());
|
|
this.set_height(Sprite.get_height());
|
|
this.centerOffsets();
|
|
}
|
|
this.set_antialiasing(Sprite.antialiasing);
|
|
this.animation.copyFrom(Sprite.animation);
|
|
this.graphicLoaded();
|
|
this.set_clipRect(Sprite.clipRect);
|
|
return this;
|
|
}
|
|
,loadGraphic: function(Graphic,Animated,Width,Height,Unique,Key) {
|
|
if(Unique == null) {
|
|
Unique = false;
|
|
}
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Animated == null) {
|
|
Animated = false;
|
|
}
|
|
var graph = flixel_FlxG.bitmap.add(Graphic,Unique,Key);
|
|
if(graph == null) {
|
|
return this;
|
|
}
|
|
if(Width == 0) {
|
|
Width = Animated ? graph.height : graph.width;
|
|
if(Width > graph.width) {
|
|
Width = graph.width;
|
|
}
|
|
}
|
|
if(Height == 0) {
|
|
Height = Animated ? Width : graph.height;
|
|
if(Height > graph.height) {
|
|
Height = graph.height;
|
|
}
|
|
}
|
|
if(Animated) {
|
|
var X = Width;
|
|
var Y = Height;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
this.set_frames(flixel_graphics_frames_FlxTileFrames.fromGraphic(graph,point));
|
|
} else {
|
|
this.set_frames(graph.get_imageFrame());
|
|
}
|
|
return this;
|
|
}
|
|
,loadRotatedGraphic: function(Graphic,Rotations,Frame,AntiAliasing,AutoBuffer,Key) {
|
|
if(AutoBuffer == null) {
|
|
AutoBuffer = false;
|
|
}
|
|
if(AntiAliasing == null) {
|
|
AntiAliasing = false;
|
|
}
|
|
if(Frame == null) {
|
|
Frame = -1;
|
|
}
|
|
if(Rotations == null) {
|
|
Rotations = 16;
|
|
}
|
|
var brushGraphic = flixel_FlxG.bitmap.add(Graphic,false,Key);
|
|
if(brushGraphic == null) {
|
|
return this;
|
|
}
|
|
var brush = brushGraphic.bitmap;
|
|
var key = brushGraphic.key;
|
|
if(Frame >= 0) {
|
|
var brushSize = brush.height;
|
|
var framesNum = brush.width / brushSize | 0;
|
|
if(framesNum <= Frame) {
|
|
Frame %= framesNum;
|
|
}
|
|
key += ":" + Frame;
|
|
var full = brush;
|
|
brush = new openfl_display_BitmapData(brushSize,brushSize,true,0);
|
|
this._flashRect.setTo(Frame * brushSize,0,brushSize,brushSize);
|
|
brush.copyPixels(full,this._flashRect,this._flashPointZero);
|
|
}
|
|
key += ":" + Rotations + ":" + (AutoBuffer == null ? "null" : "" + AutoBuffer);
|
|
var tempGraph = flixel_FlxG.bitmap._cache.h[key];
|
|
if(tempGraph == null) {
|
|
var bitmap = flixel_util_FlxBitmapDataUtil.generateRotations(brush,Rotations,AntiAliasing,AutoBuffer);
|
|
tempGraph = flixel_graphics_FlxGraphic.fromBitmapData(bitmap,false,key);
|
|
}
|
|
var max = brush.height > brush.width ? brush.height : brush.width;
|
|
if(AutoBuffer) {
|
|
max = max * 1.5 | 0;
|
|
}
|
|
var X = max;
|
|
var Y = max;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
this.set_frames(flixel_graphics_frames_FlxTileFrames.fromGraphic(tempGraph,point));
|
|
if(AutoBuffer) {
|
|
this.set_width(brush.width);
|
|
this.set_height(brush.height);
|
|
this.centerOffsets();
|
|
}
|
|
this.bakedRotationAngle = 360 / Rotations;
|
|
this.animation.createPrerotated();
|
|
return this;
|
|
}
|
|
,loadRotatedFrame: function(Frame,Rotations,AntiAliasing,AutoBuffer) {
|
|
if(AutoBuffer == null) {
|
|
AutoBuffer = false;
|
|
}
|
|
if(AntiAliasing == null) {
|
|
AntiAliasing = false;
|
|
}
|
|
if(Rotations == null) {
|
|
Rotations = 16;
|
|
}
|
|
var key = Frame.parent.key;
|
|
if(Frame.name != null) {
|
|
key += ":" + Frame.name;
|
|
} else {
|
|
var _this = Frame.frame;
|
|
var value = _this.x;
|
|
var _this1 = flixel_util_LabelValuePair._pool.get();
|
|
_this1.label = "x";
|
|
_this1.value = value;
|
|
var value = _this.y;
|
|
var _this2 = flixel_util_LabelValuePair._pool.get();
|
|
_this2.label = "y";
|
|
_this2.value = value;
|
|
var value = _this.width;
|
|
var _this3 = flixel_util_LabelValuePair._pool.get();
|
|
_this3.label = "w";
|
|
_this3.value = value;
|
|
var value = _this.height;
|
|
var _this = flixel_util_LabelValuePair._pool.get();
|
|
_this.label = "h";
|
|
_this.value = value;
|
|
key += ":" + flixel_util_FlxStringUtil.getDebugString([_this1,_this2,_this3,_this]);
|
|
}
|
|
var graphic = flixel_FlxG.bitmap._cache.h[key];
|
|
if(graphic == null) {
|
|
graphic = flixel_graphics_FlxGraphic.fromBitmapData(Frame.paint(),false,key);
|
|
}
|
|
return this.loadRotatedGraphic(graphic,Rotations,-1,AntiAliasing,AutoBuffer);
|
|
}
|
|
,makeGraphic: function(Width,Height,Color,Unique,Key) {
|
|
if(Unique == null) {
|
|
Unique = false;
|
|
}
|
|
if(Color == null) {
|
|
Color = -1;
|
|
}
|
|
var graph = flixel_FlxG.bitmap.create(Width,Height,Color,Unique,Key);
|
|
this.set_frames(graph.get_imageFrame());
|
|
return this;
|
|
}
|
|
,graphicLoaded: function() {
|
|
}
|
|
,resetSize: function() {
|
|
this._flashRect.x = 0;
|
|
this._flashRect.y = 0;
|
|
this._flashRect.width = this.frameWidth;
|
|
this._flashRect.height = this.frameHeight;
|
|
}
|
|
,resetFrameSize: function() {
|
|
if(this.frame != null) {
|
|
this.frameWidth = this.frame.sourceSize.x | 0;
|
|
this.frameHeight = this.frame.sourceSize.y | 0;
|
|
}
|
|
this._halfSize.set(0.5 * this.frameWidth,0.5 * this.frameHeight);
|
|
this._flashRect.x = 0;
|
|
this._flashRect.y = 0;
|
|
this._flashRect.width = this.frameWidth;
|
|
this._flashRect.height = this.frameHeight;
|
|
}
|
|
,resetSizeFromFrame: function() {
|
|
this.set_width(this.frameWidth);
|
|
this.set_height(this.frameHeight);
|
|
}
|
|
,resetFrame: function() {
|
|
this.set_frame(this.frame);
|
|
}
|
|
,setGraphicSize: function(Width,Height) {
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Width <= 0 && Height <= 0) {
|
|
return;
|
|
}
|
|
var newScaleX = Width / this.frameWidth;
|
|
var newScaleY = Height / this.frameHeight;
|
|
this.scale.set(newScaleX,newScaleY);
|
|
if(Width <= 0) {
|
|
this.scale.set_x(newScaleY);
|
|
} else if(Height <= 0) {
|
|
this.scale.set_y(newScaleX);
|
|
}
|
|
}
|
|
,updateHitbox: function() {
|
|
this.set_width(Math.abs(this.scale.x) * this.frameWidth);
|
|
this.set_height(Math.abs(this.scale.y) * this.frameHeight);
|
|
this.offset.set(-0.5 * (this.get_width() - this.frameWidth),-0.5 * (this.get_height() - this.frameHeight));
|
|
this.origin.set(this.frameWidth * 0.5,this.frameHeight * 0.5);
|
|
}
|
|
,resetHelpers: function() {
|
|
if(this.frame != null) {
|
|
this.frameWidth = this.frame.sourceSize.x | 0;
|
|
this.frameHeight = this.frame.sourceSize.y | 0;
|
|
}
|
|
this._halfSize.set(0.5 * this.frameWidth,0.5 * this.frameHeight);
|
|
this._flashRect.x = 0;
|
|
this._flashRect.y = 0;
|
|
this._flashRect.width = this.frameWidth;
|
|
this._flashRect.height = this.frameHeight;
|
|
this.set_width(this.frameWidth);
|
|
this.set_height(this.frameHeight);
|
|
this._flashRect2.x = 0;
|
|
this._flashRect2.y = 0;
|
|
if(this.graphic != null) {
|
|
this._flashRect2.width = this.graphic.width;
|
|
this._flashRect2.height = this.graphic.height;
|
|
}
|
|
this.origin.set(this.frameWidth * 0.5,this.frameHeight * 0.5);
|
|
if(flixel_FlxG.renderBlit) {
|
|
this.dirty = true;
|
|
this.updateFramePixels();
|
|
}
|
|
}
|
|
,update: function(elapsed) {
|
|
flixel_FlxObject.prototype.update.call(this,elapsed);
|
|
this.updateAnimation(elapsed);
|
|
}
|
|
,updateAnimation: function(elapsed) {
|
|
this.animation.update(elapsed);
|
|
}
|
|
,checkEmptyFrame: function() {
|
|
if(this._frame == null) {
|
|
this.loadGraphic("flixel/images/logo/default.png");
|
|
}
|
|
}
|
|
,draw: function() {
|
|
this.checkEmptyFrame();
|
|
if(this.alpha == 0 || this._frame.type == 2) {
|
|
return;
|
|
}
|
|
if(this.dirty) {
|
|
this.calcFrame(this.useFramePixels);
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.get_cameras();
|
|
while(_g < _g1.length) {
|
|
var camera = _g1[_g];
|
|
++_g;
|
|
if(!camera.visible || !camera.exists || !this.isOnScreen(camera)) {
|
|
continue;
|
|
}
|
|
this.getScreenPosition(this._point,camera).subtractPoint(this.offset);
|
|
if(this.isSimpleRender(camera)) {
|
|
this.drawSimple(camera);
|
|
} else {
|
|
this.drawComplex(camera);
|
|
}
|
|
}
|
|
}
|
|
,drawSimple: function(camera) {
|
|
if(this.isPixelPerfectRender(camera)) {
|
|
var _this = this._point;
|
|
_this.set_x(Math.floor(_this.x));
|
|
_this.set_y(Math.floor(_this.y));
|
|
}
|
|
var _this = this._point;
|
|
var FlashPoint = this._flashPoint;
|
|
if(FlashPoint == null) {
|
|
FlashPoint = new openfl_geom_Point();
|
|
}
|
|
FlashPoint.x = _this.x;
|
|
FlashPoint.y = _this.y;
|
|
camera.copyPixels(this._frame,this.framePixels,this._flashRect,this._flashPoint,this.colorTransform,this.blend,this.antialiasing);
|
|
}
|
|
,drawComplex: function(camera) {
|
|
var doFlipX = this.flipX != this._frame.flipX;
|
|
var doFlipY = this.flipY != this._frame.flipY;
|
|
this._frame.prepareMatrix(this._matrix,0,this.animation._curAnim != null ? doFlipX != this.animation._curAnim.flipX : doFlipX,this.animation._curAnim != null ? doFlipY != this.animation._curAnim.flipY : doFlipY);
|
|
this._matrix.translate(-this.origin.x,-this.origin.y);
|
|
this._matrix.scale(this.scale.x,this.scale.y);
|
|
if(this.bakedRotationAngle <= 0) {
|
|
if(this._angleChanged) {
|
|
var radians = this.angle * (Math.PI / 180);
|
|
this._sinAngle = Math.sin(radians);
|
|
this._cosAngle = Math.cos(radians);
|
|
this._angleChanged = false;
|
|
}
|
|
if(this.angle != 0) {
|
|
var _this = this._matrix;
|
|
var cos = this._cosAngle;
|
|
var sin = this._sinAngle;
|
|
var a1 = _this.a * cos - _this.b * sin;
|
|
_this.b = _this.a * sin + _this.b * cos;
|
|
_this.a = a1;
|
|
var c1 = _this.c * cos - _this.d * sin;
|
|
_this.d = _this.c * sin + _this.d * cos;
|
|
_this.c = c1;
|
|
var tx1 = _this.tx * cos - _this.ty * sin;
|
|
_this.ty = _this.tx * sin + _this.ty * cos;
|
|
_this.tx = tx1;
|
|
}
|
|
}
|
|
var _this = this._point;
|
|
var X = this.origin.x;
|
|
var Y = this.origin.y;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _g = _this;
|
|
_g.set_x(_g.x + X);
|
|
var _g = _this;
|
|
_g.set_y(_g.y + Y);
|
|
this._matrix.translate(this._point.x,this._point.y);
|
|
if(this.isPixelPerfectRender(camera)) {
|
|
this._matrix.tx = Math.floor(this._matrix.tx);
|
|
this._matrix.ty = Math.floor(this._matrix.ty);
|
|
}
|
|
camera.drawPixels(this._frame,this.framePixels,this._matrix,this.colorTransform,this.blend,this.antialiasing,this.shader);
|
|
}
|
|
,stamp: function(Brush,X,Y) {
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
Brush.drawFrame();
|
|
if(this.graphic == null || Brush.graphic == null) {
|
|
throw haxe_Exception.thrown("Cannot stamp to or from a FlxSprite with no graphics.");
|
|
}
|
|
var bitmapData = Brush.framePixels;
|
|
if(this.isSimpleRenderBlit()) {
|
|
this._flashPoint.x = X + this.frame.frame.x;
|
|
this._flashPoint.y = Y + this.frame.frame.y;
|
|
this._flashRect2.width = bitmapData.width;
|
|
this._flashRect2.height = bitmapData.height;
|
|
this.graphic.bitmap.copyPixels(bitmapData,this._flashRect2,this._flashPoint,null,null,true);
|
|
this._flashRect2.width = this.graphic.bitmap.width;
|
|
this._flashRect2.height = this.graphic.bitmap.height;
|
|
} else {
|
|
this._matrix.identity();
|
|
this._matrix.translate(-Brush.origin.x,-Brush.origin.y);
|
|
this._matrix.scale(Brush.scale.x,Brush.scale.y);
|
|
if(Brush.angle != 0) {
|
|
this._matrix.rotate(Brush.angle * (Math.PI / 180));
|
|
}
|
|
this._matrix.translate(X + this.frame.frame.x + Brush.origin.x,Y + this.frame.frame.y + Brush.origin.y);
|
|
var brushBlend = Brush.blend;
|
|
this.graphic.bitmap.draw(bitmapData,this._matrix,null,brushBlend,null,Brush.antialiasing);
|
|
}
|
|
if(flixel_FlxG.renderBlit) {
|
|
this.dirty = true;
|
|
this.calcFrame();
|
|
}
|
|
}
|
|
,drawFrame: function(Force) {
|
|
if(Force == null) {
|
|
Force = false;
|
|
}
|
|
if(flixel_FlxG.renderBlit) {
|
|
if(Force || this.dirty) {
|
|
this.dirty = true;
|
|
this.calcFrame();
|
|
}
|
|
} else {
|
|
this.dirty = true;
|
|
this.calcFrame(true);
|
|
}
|
|
}
|
|
,centerOffsets: function(AdjustPosition) {
|
|
if(AdjustPosition == null) {
|
|
AdjustPosition = false;
|
|
}
|
|
this.offset.set_x((this.frameWidth - this.get_width()) * 0.5);
|
|
this.offset.set_y((this.frameHeight - this.get_height()) * 0.5);
|
|
if(AdjustPosition) {
|
|
var _g = this;
|
|
_g.set_x(_g.x + this.offset.x);
|
|
var _g = this;
|
|
_g.set_y(_g.y + this.offset.y);
|
|
}
|
|
}
|
|
,centerOrigin: function() {
|
|
this.origin.set(this.frameWidth * 0.5,this.frameHeight * 0.5);
|
|
}
|
|
,replaceColor: function(Color,NewColor,FetchPositions) {
|
|
if(FetchPositions == null) {
|
|
FetchPositions = false;
|
|
}
|
|
var positions = flixel_util_FlxBitmapDataUtil.replaceColor(this.graphic.bitmap,Color,NewColor,FetchPositions);
|
|
if(positions != null) {
|
|
this.dirty = true;
|
|
}
|
|
return positions;
|
|
}
|
|
,setColorTransform: function(redMultiplier,greenMultiplier,blueMultiplier,alphaMultiplier,redOffset,greenOffset,blueOffset,alphaOffset) {
|
|
if(alphaOffset == null) {
|
|
alphaOffset = 0;
|
|
}
|
|
if(blueOffset == null) {
|
|
blueOffset = 0;
|
|
}
|
|
if(greenOffset == null) {
|
|
greenOffset = 0;
|
|
}
|
|
if(redOffset == null) {
|
|
redOffset = 0;
|
|
}
|
|
if(alphaMultiplier == null) {
|
|
alphaMultiplier = 1.0;
|
|
}
|
|
if(blueMultiplier == null) {
|
|
blueMultiplier = 1.0;
|
|
}
|
|
if(greenMultiplier == null) {
|
|
greenMultiplier = 1.0;
|
|
}
|
|
if(redMultiplier == null) {
|
|
redMultiplier = 1.0;
|
|
}
|
|
var color = flixel_util_FlxColor._new();
|
|
var Alpha = 1;
|
|
if(Alpha == null) {
|
|
Alpha = 1;
|
|
}
|
|
var Value = Math.round(redMultiplier * 255);
|
|
color &= -16711681;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(greenMultiplier * 255);
|
|
color &= -65281;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(blueMultiplier * 255);
|
|
color &= -256;
|
|
color |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha * 255);
|
|
color &= 16777215;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
this.set_color(color & 16777215);
|
|
this.set_alpha(alphaMultiplier);
|
|
flixel_util_FlxColorTransformUtil.setMultipliers(this.colorTransform,redMultiplier,greenMultiplier,blueMultiplier,alphaMultiplier);
|
|
flixel_util_FlxColorTransformUtil.setOffsets(this.colorTransform,redOffset,greenOffset,blueOffset,alphaOffset);
|
|
this.useColorTransform = this.alpha != 1 || this.color != 16777215 || flixel_util_FlxColorTransformUtil.hasRGBOffsets(this.colorTransform);
|
|
this.dirty = true;
|
|
}
|
|
,updateColorTransform: function() {
|
|
if(this.colorTransform == null) {
|
|
this.colorTransform = new openfl_geom_ColorTransform();
|
|
}
|
|
this.useColorTransform = this.alpha != 1 || this.color != 16777215;
|
|
if(this.useColorTransform) {
|
|
flixel_util_FlxColorTransformUtil.setMultipliers(this.colorTransform,(this.color >> 16 & 255) / 255,(this.color >> 8 & 255) / 255,(this.color & 255) / 255,this.alpha);
|
|
} else {
|
|
flixel_util_FlxColorTransformUtil.setMultipliers(this.colorTransform,1,1,1,1);
|
|
}
|
|
this.dirty = true;
|
|
}
|
|
,pixelsOverlapPoint: function(point,Mask,Camera) {
|
|
if(Mask == null) {
|
|
Mask = 255;
|
|
}
|
|
if(Camera == null) {
|
|
Camera = flixel_FlxG.camera;
|
|
}
|
|
this.getScreenPosition(this._point,Camera);
|
|
this._point.subtractPoint(this.offset);
|
|
this._flashPoint.x = point.x - Camera.scroll.x - this._point.x;
|
|
this._flashPoint.y = point.y - Camera.scroll.y - this._point.y;
|
|
if(point._weak) {
|
|
point.put();
|
|
}
|
|
if(this._flashPoint.x < 0 || this._flashPoint.x > this.frameWidth || this._flashPoint.y < 0 || this._flashPoint.y > this.frameHeight) {
|
|
return false;
|
|
} else {
|
|
var frameData = this.updateFramePixels();
|
|
var pixelColor = frameData.getPixel32(this._flashPoint.x | 0,this._flashPoint.y | 0);
|
|
return (pixelColor >> 24 & 255) * this.alpha >= Mask;
|
|
}
|
|
}
|
|
,calcFrame: function(RunOnCpp) {
|
|
if(RunOnCpp == null) {
|
|
RunOnCpp = false;
|
|
}
|
|
this.checkEmptyFrame();
|
|
if(flixel_FlxG.renderTile && !RunOnCpp) {
|
|
return;
|
|
}
|
|
this.updateFramePixels();
|
|
}
|
|
,updateFramePixels: function() {
|
|
if(this._frame == null || !this.dirty) {
|
|
return this.framePixels;
|
|
}
|
|
if(flixel_FlxG.renderTile && this._frameGraphic != null) {
|
|
this.dirty = false;
|
|
return this.framePixels;
|
|
}
|
|
var doFlipX = this.flipX != this._frame.flipX;
|
|
var doFlipX1 = this.animation._curAnim != null ? doFlipX != this.animation._curAnim.flipX : doFlipX;
|
|
var doFlipY = this.flipY != this._frame.flipY;
|
|
var doFlipY1 = this.animation._curAnim != null ? doFlipY != this.animation._curAnim.flipY : doFlipY;
|
|
if(!doFlipX1 && !doFlipY1 && this._frame.type == 0) {
|
|
this.framePixels = this._frame.paint(this.framePixels,this._flashPointZero,false,true);
|
|
} else {
|
|
this.framePixels = this._frame.paintRotatedAndFlipped(this.framePixels,this._flashPointZero,0,doFlipX1,doFlipY1,false,true);
|
|
}
|
|
if(this.useColorTransform) {
|
|
this.framePixels.colorTransform(this._flashRect,this.colorTransform);
|
|
}
|
|
if(flixel_FlxG.renderTile && this.useFramePixels) {
|
|
this._frameGraphic = flixel_util_FlxDestroyUtil.destroy(this._frameGraphic);
|
|
this._frameGraphic = flixel_graphics_FlxGraphic.fromBitmapData(this.framePixels,false,null,false);
|
|
this._frame = this._frameGraphic.get_imageFrame().get_frame().copyTo(this._frame);
|
|
}
|
|
this.dirty = false;
|
|
return this.framePixels;
|
|
}
|
|
,getGraphicMidpoint: function(point) {
|
|
if(point == null) {
|
|
var point1 = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point1._inPool = false;
|
|
point = point1;
|
|
}
|
|
return point.set(this.x + this.frameWidth * 0.5,this.y + this.frameHeight * 0.5);
|
|
}
|
|
,isOnScreen: function(Camera) {
|
|
if(Camera == null) {
|
|
Camera = flixel_FlxG.camera;
|
|
}
|
|
var minX = this.x - this.offset.x - Camera.scroll.x * this.scrollFactor.x;
|
|
var minY = this.y - this.offset.y - Camera.scroll.y * this.scrollFactor.y;
|
|
if((this.angle == 0 || this.bakedRotationAngle > 0) && this.scale.x == 1 && this.scale.y == 1) {
|
|
this._point.set(minX,minY);
|
|
var point = this._point;
|
|
var width = this.frameWidth;
|
|
var height = this.frameHeight;
|
|
if(height == null) {
|
|
height = 0;
|
|
}
|
|
if(width == null) {
|
|
width = 0;
|
|
}
|
|
if(point.x + width > Camera.viewOffsetX && point.x < Camera.viewOffsetWidth && point.y + height > Camera.viewOffsetY) {
|
|
return point.y < Camera.viewOffsetHeight;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
var radiusX = this._halfSize.x;
|
|
var radiusY = this._halfSize.y;
|
|
var ox = this.origin.x;
|
|
if(ox != radiusX) {
|
|
var x1 = Math.abs(ox);
|
|
var x2 = Math.abs(this.frameWidth - ox);
|
|
radiusX = Math.max(x2,x1);
|
|
}
|
|
var oy = this.origin.y;
|
|
if(oy != radiusY) {
|
|
var y1 = Math.abs(oy);
|
|
var y2 = Math.abs(this.frameHeight - oy);
|
|
radiusY = Math.max(y2,y1);
|
|
}
|
|
radiusX *= Math.abs(this.scale.x);
|
|
radiusY *= Math.abs(this.scale.y);
|
|
var radius = Math.max(radiusX,radiusY);
|
|
radius *= 1.41421356237;
|
|
minX += ox - radius;
|
|
minY += oy - radius;
|
|
var doubleRadius = 2 * radius;
|
|
this._point.set(minX,minY);
|
|
var point = this._point;
|
|
var width = doubleRadius;
|
|
var height = doubleRadius;
|
|
if(height == null) {
|
|
height = 0;
|
|
}
|
|
if(width == null) {
|
|
width = 0;
|
|
}
|
|
if(point.x + width > Camera.viewOffsetX && point.x < Camera.viewOffsetWidth && point.y + height > Camera.viewOffsetY) {
|
|
return point.y < Camera.viewOffsetHeight;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,isSimpleRender: function(camera) {
|
|
if(flixel_FlxG.renderTile) {
|
|
return false;
|
|
}
|
|
return this.isSimpleRenderBlit(camera);
|
|
}
|
|
,isSimpleRenderBlit: function(camera) {
|
|
var result = (this.angle == 0 || this.bakedRotationAngle > 0) && this.scale.x == 1 && this.scale.y == 1 && this.blend == null;
|
|
result = result && (camera != null ? this.isPixelPerfectRender(camera) : this.pixelPerfectRender);
|
|
return result;
|
|
}
|
|
,setFacingFlip: function(Direction,FlipX,FlipY) {
|
|
this._facingFlip.h[Direction] = { x : FlipX, y : FlipY};
|
|
}
|
|
,setFrames: function(Frames,saveAnimations) {
|
|
if(saveAnimations == null) {
|
|
saveAnimations = true;
|
|
}
|
|
if(saveAnimations) {
|
|
var animations = this.animation._animations;
|
|
var reverse = false;
|
|
var index = 0;
|
|
var frameIndex = this.animation.frameIndex;
|
|
var currName = null;
|
|
if(this.animation._curAnim != null) {
|
|
reverse = this.animation._curAnim.reversed;
|
|
index = this.animation._curAnim.curFrame;
|
|
currName = this.animation._curAnim.name;
|
|
}
|
|
this.animation._animations = null;
|
|
this.set_frames(Frames);
|
|
this.set_frame(this.frames.frames[frameIndex]);
|
|
this.animation._animations = animations;
|
|
if(currName != null) {
|
|
this.animation.play(currName,false,reverse,index);
|
|
}
|
|
} else {
|
|
this.set_frames(Frames);
|
|
}
|
|
return this;
|
|
}
|
|
,get_pixels: function() {
|
|
if(this.graphic == null) {
|
|
return null;
|
|
} else {
|
|
return this.graphic.bitmap;
|
|
}
|
|
}
|
|
,set_pixels: function(Pixels) {
|
|
var key = flixel_FlxG.bitmap.findKeyForBitmap(Pixels);
|
|
if(key == null) {
|
|
key = flixel_FlxG.bitmap.getUniqueKey();
|
|
this.set_graphic(flixel_FlxG.bitmap.add(Pixels,false,key));
|
|
} else {
|
|
this.set_graphic(flixel_FlxG.bitmap._cache.h[key]);
|
|
}
|
|
this.set_frames(this.graphic.get_imageFrame());
|
|
return Pixels;
|
|
}
|
|
,set_frame: function(Value) {
|
|
this.frame = Value;
|
|
if(this.frame != null) {
|
|
if(this.frame != null) {
|
|
this.frameWidth = this.frame.sourceSize.x | 0;
|
|
this.frameHeight = this.frame.sourceSize.y | 0;
|
|
}
|
|
this._halfSize.set(0.5 * this.frameWidth,0.5 * this.frameHeight);
|
|
this._flashRect.x = 0;
|
|
this._flashRect.y = 0;
|
|
this._flashRect.width = this.frameWidth;
|
|
this._flashRect.height = this.frameHeight;
|
|
this.dirty = true;
|
|
} else if(this.frames != null && this.frames.frames != null && this.numFrames > 0) {
|
|
this.frame = this.frames.frames[0];
|
|
this.dirty = true;
|
|
} else {
|
|
return null;
|
|
}
|
|
if(flixel_FlxG.renderTile) {
|
|
this._frameGraphic = flixel_util_FlxDestroyUtil.destroy(this._frameGraphic);
|
|
}
|
|
if(this.clipRect != null) {
|
|
this._frame = this.frame.clipTo(this.clipRect,this._frame);
|
|
} else {
|
|
this._frame = this.frame.copyTo(this._frame);
|
|
}
|
|
return this.frame;
|
|
}
|
|
,set_facing: function(Direction) {
|
|
var flip = this._facingFlip.h[Direction];
|
|
if(flip != null) {
|
|
this.set_flipX(flip.x);
|
|
this.set_flipY(flip.y);
|
|
}
|
|
return this.facing = Direction;
|
|
}
|
|
,set_alpha: function(Alpha) {
|
|
if(this.alpha == Alpha) {
|
|
return Alpha;
|
|
}
|
|
var lowerBound = Alpha < 0 ? 0 : Alpha;
|
|
this.alpha = lowerBound > 1 ? 1 : lowerBound;
|
|
this.updateColorTransform();
|
|
return this.alpha;
|
|
}
|
|
,set_color: function(Color) {
|
|
if(this.color == Color) {
|
|
return Color;
|
|
}
|
|
this.color = Color;
|
|
this.updateColorTransform();
|
|
return this.color;
|
|
}
|
|
,set_angle: function(Value) {
|
|
var newAngle = this.angle != Value;
|
|
var ret = flixel_FlxObject.prototype.set_angle.call(this,Value);
|
|
if(newAngle) {
|
|
this._angleChanged = true;
|
|
this.animation.update(0);
|
|
}
|
|
return ret;
|
|
}
|
|
,updateTrig: function() {
|
|
if(this._angleChanged) {
|
|
var radians = this.angle * (Math.PI / 180);
|
|
this._sinAngle = Math.sin(radians);
|
|
this._cosAngle = Math.cos(radians);
|
|
this._angleChanged = false;
|
|
}
|
|
}
|
|
,set_blend: function(Value) {
|
|
return this.blend = Value;
|
|
}
|
|
,set_graphic: function(Value) {
|
|
var oldGraphic = this.graphic;
|
|
if(this.graphic != Value && Value != null) {
|
|
var _g = Value;
|
|
_g.set_useCount(_g.get_useCount() + 1);
|
|
}
|
|
if(oldGraphic != null && oldGraphic != Value) {
|
|
var _g = oldGraphic;
|
|
_g.set_useCount(_g.get_useCount() - 1);
|
|
}
|
|
return this.graphic = Value;
|
|
}
|
|
,set_clipRect: function(rect) {
|
|
if(rect != null) {
|
|
rect.x = Math.round(rect.x);
|
|
rect.y = Math.round(rect.y);
|
|
rect.width = Math.round(rect.width);
|
|
rect.height = Math.round(rect.height);
|
|
this.clipRect = rect;
|
|
} else {
|
|
this.clipRect = null;
|
|
}
|
|
if(this.frames != null) {
|
|
this.set_frame(this.frames.frames[this.animation.frameIndex]);
|
|
}
|
|
return rect;
|
|
}
|
|
,set_frames: function(Frames) {
|
|
if(this.animation != null) {
|
|
this.animation.destroyAnimations();
|
|
}
|
|
if(Frames != null) {
|
|
this.set_graphic(Frames.parent);
|
|
this.frames = Frames;
|
|
this.set_frame(this.frames.frames[0]);
|
|
this.numFrames = this.frames.frames.length;
|
|
this.resetHelpers();
|
|
this.bakedRotationAngle = 0;
|
|
this.animation.set_frameIndex(0);
|
|
this.graphicLoaded();
|
|
} else {
|
|
this.frames = null;
|
|
this.set_frame(null);
|
|
this.set_graphic(null);
|
|
}
|
|
return Frames;
|
|
}
|
|
,set_flipX: function(Value) {
|
|
if(flixel_FlxG.renderTile) {
|
|
this._facingHorizontalMult = Value ? -1 : 1;
|
|
}
|
|
this.dirty = this.flipX != Value || this.dirty;
|
|
return this.flipX = Value;
|
|
}
|
|
,set_flipY: function(Value) {
|
|
if(flixel_FlxG.renderTile) {
|
|
this._facingVerticalMult = Value ? -1 : 1;
|
|
}
|
|
this.dirty = this.flipY != Value || this.dirty;
|
|
return this.flipY = Value;
|
|
}
|
|
,set_antialiasing: function(value) {
|
|
return this.antialiasing = value;
|
|
}
|
|
,set_useFramePixels: function(value) {
|
|
if(flixel_FlxG.renderTile) {
|
|
if(value != this.useFramePixels) {
|
|
this.useFramePixels = value;
|
|
this.set_frame(this.frame);
|
|
if(value) {
|
|
this.updateFramePixels();
|
|
}
|
|
}
|
|
return value;
|
|
} else {
|
|
this.useFramePixels = true;
|
|
return true;
|
|
}
|
|
}
|
|
,checkFlipX: function() {
|
|
var doFlipX = this.flipX != this._frame.flipX;
|
|
if(this.animation._curAnim != null) {
|
|
return doFlipX != this.animation._curAnim.flipX;
|
|
}
|
|
return doFlipX;
|
|
}
|
|
,checkFlipY: function() {
|
|
var doFlipY = this.flipY != this._frame.flipY;
|
|
if(this.animation._curAnim != null) {
|
|
return doFlipY != this.animation._curAnim.flipY;
|
|
}
|
|
return doFlipY;
|
|
}
|
|
,__class__: flixel_FlxSprite
|
|
,__properties__: $extend(flixel_FlxObject.prototype.__properties__,{set_clipRect:"set_clipRect",set_color:"set_color",set_blend:"set_blend",set_flipY:"set_flipY",set_flipX:"set_flipX",set_facing:"set_facing",set_alpha:"set_alpha",set_graphic:"set_graphic",set_frames:"set_frames",set_frame:"set_frame",set_pixels:"set_pixels",get_pixels:"get_pixels",set_antialiasing:"set_antialiasing",set_useFramePixels:"set_useFramePixels"})
|
|
});
|
|
var flixel_group_FlxTypedSpriteGroup = function(X,Y,MaxSize) {
|
|
if(MaxSize == null) {
|
|
MaxSize = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
this._skipTransformChildren = false;
|
|
this.directAlpha = false;
|
|
flixel_FlxSprite.call(this,X,Y);
|
|
this.group = new flixel_group_FlxTypedGroup(MaxSize);
|
|
this._sprites = this.group.members;
|
|
};
|
|
$hxClasses["flixel.group.FlxTypedSpriteGroup"] = flixel_group_FlxTypedSpriteGroup;
|
|
flixel_group_FlxTypedSpriteGroup.__name__ = "flixel.group.FlxTypedSpriteGroup";
|
|
flixel_group_FlxTypedSpriteGroup.__super__ = flixel_FlxSprite;
|
|
flixel_group_FlxTypedSpriteGroup.prototype = $extend(flixel_FlxSprite.prototype,{
|
|
transformChildren_flixel_math_FlxRect: function(Function1,Value) {
|
|
if(this.group == null) {
|
|
return;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this._sprites;
|
|
while(_g < _g1.length) {
|
|
var sprite = _g1[_g];
|
|
++_g;
|
|
if(sprite != null) {
|
|
Function1(sprite,Value);
|
|
}
|
|
}
|
|
}
|
|
,transformChildren_flash_display_BlendMode: function(Function1,Value) {
|
|
if(this.group == null) {
|
|
return;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this._sprites;
|
|
while(_g < _g1.length) {
|
|
var sprite = _g1[_g];
|
|
++_g;
|
|
if(sprite != null) {
|
|
Function1(sprite,Value);
|
|
}
|
|
}
|
|
}
|
|
,transformChildren_flixel_FlxCamera: function(Function1,Value) {
|
|
if(this.group == null) {
|
|
return;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this._sprites;
|
|
while(_g < _g1.length) {
|
|
var sprite = _g1[_g];
|
|
++_g;
|
|
if(sprite != null) {
|
|
Function1(sprite,Value);
|
|
}
|
|
}
|
|
}
|
|
,multiTransformChildren_Float: function(FunctionArray,ValueArray) {
|
|
if(this.group == null) {
|
|
return;
|
|
}
|
|
var numProps = FunctionArray.length;
|
|
if(numProps > ValueArray.length) {
|
|
return;
|
|
}
|
|
var lambda;
|
|
var _g = 0;
|
|
var _g1 = this._sprites;
|
|
while(_g < _g1.length) {
|
|
var sprite = _g1[_g];
|
|
++_g;
|
|
if(sprite != null && sprite.exists) {
|
|
var _g2 = 0;
|
|
var _g3 = numProps;
|
|
while(_g2 < _g3) {
|
|
var i = _g2++;
|
|
lambda = FunctionArray[i];
|
|
lambda(sprite,ValueArray[i]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,transformChildren_flixel_math_FlxPoint: function(Function1,Value) {
|
|
if(this.group == null) {
|
|
return;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this._sprites;
|
|
while(_g < _g1.length) {
|
|
var sprite = _g1[_g];
|
|
++_g;
|
|
if(sprite != null) {
|
|
Function1(sprite,Value);
|
|
}
|
|
}
|
|
}
|
|
,transformChildren_Int: function(Function1,Value) {
|
|
if(this.group == null) {
|
|
return;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this._sprites;
|
|
while(_g < _g1.length) {
|
|
var sprite = _g1[_g];
|
|
++_g;
|
|
if(sprite != null) {
|
|
Function1(sprite,Value);
|
|
}
|
|
}
|
|
}
|
|
,transformChildren_Float: function(Function1,Value) {
|
|
if(this.group == null) {
|
|
return;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this._sprites;
|
|
while(_g < _g1.length) {
|
|
var sprite = _g1[_g];
|
|
++_g;
|
|
if(sprite != null) {
|
|
Function1(sprite,Value);
|
|
}
|
|
}
|
|
}
|
|
,transformChildren_Array_flixel_FlxCamera: function(Function1,Value) {
|
|
if(this.group == null) {
|
|
return;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this._sprites;
|
|
while(_g < _g1.length) {
|
|
var sprite = _g1[_g];
|
|
++_g;
|
|
if(sprite != null) {
|
|
Function1(sprite,Value);
|
|
}
|
|
}
|
|
}
|
|
,transformChildren_Bool: function(Function1,Value) {
|
|
if(this.group == null) {
|
|
return;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this._sprites;
|
|
while(_g < _g1.length) {
|
|
var sprite = _g1[_g];
|
|
++_g;
|
|
if(sprite != null) {
|
|
Function1(sprite,Value);
|
|
}
|
|
}
|
|
}
|
|
,group: null
|
|
,directAlpha: null
|
|
,_skipTransformChildren: null
|
|
,_sprites: null
|
|
,initVars: function() {
|
|
this.flixelType = 4;
|
|
this.offset = new flixel_math_FlxCallbackPoint($bind(this,this.offsetCallback));
|
|
this.origin = new flixel_math_FlxCallbackPoint($bind(this,this.originCallback));
|
|
this.scale = new flixel_math_FlxCallbackPoint($bind(this,this.scaleCallback));
|
|
this.scrollFactor = new flixel_math_FlxCallbackPoint($bind(this,this.scrollFactorCallback));
|
|
this.scale.set(1,1);
|
|
this.scrollFactor.set(1,1);
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
this.velocity = point;
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
this.acceleration = point;
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
this.drag = point;
|
|
var X = 10000;
|
|
var Y = 10000;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
this.maxVelocity = point;
|
|
}
|
|
,destroy: function() {
|
|
this.offset = flixel_util_FlxDestroyUtil.destroy(this.offset);
|
|
this.origin = flixel_util_FlxDestroyUtil.destroy(this.origin);
|
|
this.scale = flixel_util_FlxDestroyUtil.destroy(this.scale);
|
|
this.scrollFactor = flixel_util_FlxDestroyUtil.destroy(this.scrollFactor);
|
|
this.group = flixel_util_FlxDestroyUtil.destroy(this.group);
|
|
this._sprites = null;
|
|
flixel_FlxSprite.prototype.destroy.call(this);
|
|
}
|
|
,clone: function() {
|
|
var newGroup = new flixel_group_FlxTypedSpriteGroup(this.x,this.y,this.group.maxSize);
|
|
var _g = 0;
|
|
var _g1 = this.group.members;
|
|
while(_g < _g1.length) {
|
|
var sprite = _g1[_g];
|
|
++_g;
|
|
if(sprite != null) {
|
|
newGroup.add(sprite.clone());
|
|
}
|
|
}
|
|
return newGroup;
|
|
}
|
|
,isOnScreen: function(Camera) {
|
|
var _g = 0;
|
|
var _g1 = this._sprites;
|
|
while(_g < _g1.length) {
|
|
var sprite = _g1[_g];
|
|
++_g;
|
|
if(sprite != null && sprite.exists && sprite.visible && sprite.isOnScreen(Camera)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,overlapsPoint: function(point,InScreenSpace,Camera) {
|
|
if(InScreenSpace == null) {
|
|
InScreenSpace = false;
|
|
}
|
|
var result = false;
|
|
var _g = 0;
|
|
var _g1 = this._sprites;
|
|
while(_g < _g1.length) {
|
|
var sprite = _g1[_g];
|
|
++_g;
|
|
if(sprite != null && sprite.exists && sprite.visible) {
|
|
result = result || sprite.overlapsPoint(point,InScreenSpace,Camera);
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
,pixelsOverlapPoint: function(point,Mask,Camera) {
|
|
if(Mask == null) {
|
|
Mask = 255;
|
|
}
|
|
var result = false;
|
|
var _g = 0;
|
|
var _g1 = this._sprites;
|
|
while(_g < _g1.length) {
|
|
var sprite = _g1[_g];
|
|
++_g;
|
|
if(sprite != null && sprite.exists && sprite.visible) {
|
|
result = result || sprite.pixelsOverlapPoint(point,Mask,Camera);
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
,update: function(elapsed) {
|
|
this.group.update(elapsed);
|
|
if(this.moves) {
|
|
this.updateMotion(elapsed);
|
|
}
|
|
}
|
|
,draw: function() {
|
|
this.group.draw();
|
|
}
|
|
,replaceColor: function(Color,NewColor,FetchPositions) {
|
|
if(FetchPositions == null) {
|
|
FetchPositions = false;
|
|
}
|
|
var positions = null;
|
|
if(FetchPositions) {
|
|
positions = [];
|
|
}
|
|
var spritePositions;
|
|
var _g = 0;
|
|
var _g1 = this._sprites;
|
|
while(_g < _g1.length) {
|
|
var sprite = _g1[_g];
|
|
++_g;
|
|
if(sprite != null) {
|
|
spritePositions = sprite.replaceColor(Color,NewColor,FetchPositions);
|
|
if(FetchPositions) {
|
|
positions = positions.concat(spritePositions);
|
|
}
|
|
}
|
|
}
|
|
return positions;
|
|
}
|
|
,add: function(Sprite) {
|
|
this.preAdd(Sprite);
|
|
return this.group.add(Sprite);
|
|
}
|
|
,insert: function(Position,Sprite) {
|
|
this.preAdd(Sprite);
|
|
return this.group.insert(Position,Sprite);
|
|
}
|
|
,preAdd: function(Sprite) {
|
|
var sprite = Sprite;
|
|
var _g = sprite;
|
|
_g.set_x(_g.x + this.x);
|
|
var _g = sprite;
|
|
_g.set_y(_g.y + this.y);
|
|
var _g = sprite;
|
|
_g.set_alpha(_g.alpha * this.alpha);
|
|
var _this = sprite.scrollFactor;
|
|
var point = this.scrollFactor;
|
|
_this.set_x(point.x);
|
|
_this.set_y(point.y);
|
|
if(point._weak) {
|
|
point.put();
|
|
}
|
|
sprite.set_cameras(this._cameras);
|
|
if(this.clipRect != null) {
|
|
var ClipRect = this.clipRect;
|
|
if(ClipRect == null) {
|
|
sprite.set_clipRect(null);
|
|
} else {
|
|
var X = ClipRect.x - sprite.x + this.x;
|
|
var Y = ClipRect.y - sprite.y + this.y;
|
|
var Width = ClipRect.width;
|
|
var Height = ClipRect.height;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
_this.x = X1;
|
|
_this.y = Y1;
|
|
_this.width = Width1;
|
|
_this.height = Height1;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
sprite.set_clipRect(rect);
|
|
}
|
|
}
|
|
}
|
|
,recycle: function(ObjectClass,ObjectFactory,Force) {
|
|
if(Force == null) {
|
|
Force = false;
|
|
}
|
|
return this.group.recycle(ObjectClass,ObjectFactory,Force);
|
|
}
|
|
,remove: function(Sprite,Splice) {
|
|
if(Splice == null) {
|
|
Splice = false;
|
|
}
|
|
var sprite = Sprite;
|
|
var _g = sprite;
|
|
_g.set_x(_g.x - this.x);
|
|
var _g = sprite;
|
|
_g.set_y(_g.y - this.y);
|
|
sprite.set_cameras(null);
|
|
return this.group.remove(Sprite,Splice);
|
|
}
|
|
,replace: function(OldObject,NewObject) {
|
|
return this.group.replace(OldObject,NewObject);
|
|
}
|
|
,sort: function(Function1,Order) {
|
|
if(Order == null) {
|
|
Order = -1;
|
|
}
|
|
var Order1 = Order;
|
|
if(Order1 == null) {
|
|
Order1 = -1;
|
|
}
|
|
var _g = Function1;
|
|
var a1 = Order1;
|
|
var tmp = function(a2,a3) {
|
|
return _g(a1,a2,a3);
|
|
};
|
|
this.group.members.sort(tmp);
|
|
}
|
|
,getFirstAvailable: function(ObjectClass,Force) {
|
|
if(Force == null) {
|
|
Force = false;
|
|
}
|
|
return this.group.getFirstAvailable(ObjectClass,Force);
|
|
}
|
|
,getFirstNull: function() {
|
|
return this.group.getFirstNull();
|
|
}
|
|
,getFirstExisting: function() {
|
|
return this.group.getFirstExisting();
|
|
}
|
|
,getFirstAlive: function() {
|
|
return this.group.getFirstAlive();
|
|
}
|
|
,getFirstDead: function() {
|
|
return this.group.getFirstDead();
|
|
}
|
|
,countLiving: function() {
|
|
return this.group.countLiving();
|
|
}
|
|
,countDead: function() {
|
|
return this.group.countDead();
|
|
}
|
|
,getRandom: function(StartIndex,Length) {
|
|
if(Length == null) {
|
|
Length = 0;
|
|
}
|
|
if(StartIndex == null) {
|
|
StartIndex = 0;
|
|
}
|
|
return this.group.getRandom(StartIndex,Length);
|
|
}
|
|
,iterator: function(filter) {
|
|
return new flixel_group_FlxTypedGroupIterator(this.group.members,filter);
|
|
}
|
|
,forEach: function(Function1,Recurse) {
|
|
if(Recurse == null) {
|
|
Recurse = false;
|
|
}
|
|
this.group.forEach(Function1,Recurse);
|
|
}
|
|
,forEachAlive: function(Function1,Recurse) {
|
|
if(Recurse == null) {
|
|
Recurse = false;
|
|
}
|
|
this.group.forEachAlive(Function1,Recurse);
|
|
}
|
|
,forEachDead: function(Function1,Recurse) {
|
|
if(Recurse == null) {
|
|
Recurse = false;
|
|
}
|
|
this.group.forEachDead(Function1,Recurse);
|
|
}
|
|
,forEachExists: function(Function1,Recurse) {
|
|
if(Recurse == null) {
|
|
Recurse = false;
|
|
}
|
|
this.group.forEachExists(Function1,Recurse);
|
|
}
|
|
,forEachOfType: function(ObjectClass,Function1,Recurse) {
|
|
if(Recurse == null) {
|
|
Recurse = false;
|
|
}
|
|
this.group.forEachOfType(ObjectClass,Function1,Recurse);
|
|
}
|
|
,clear: function() {
|
|
this.group.clear();
|
|
}
|
|
,kill: function() {
|
|
flixel_FlxSprite.prototype.kill.call(this);
|
|
this.group.kill();
|
|
}
|
|
,revive: function() {
|
|
flixel_FlxSprite.prototype.revive.call(this);
|
|
this.group.revive();
|
|
}
|
|
,reset: function(X,Y) {
|
|
this.revive();
|
|
this.setPosition(X,Y);
|
|
var _g = 0;
|
|
var _g1 = this._sprites;
|
|
while(_g < _g1.length) {
|
|
var sprite = _g1[_g];
|
|
++_g;
|
|
if(sprite != null) {
|
|
sprite.reset(X,Y);
|
|
}
|
|
}
|
|
}
|
|
,setPosition: function(X,Y) {
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var dx = X - this.x;
|
|
var dy = Y - this.y;
|
|
this.multiTransformChildren_Float([$bind(this,this.xTransform),$bind(this,this.yTransform)],[dx,dy]);
|
|
this._skipTransformChildren = true;
|
|
this.set_x(X);
|
|
this.set_y(Y);
|
|
this._skipTransformChildren = false;
|
|
}
|
|
,set_camera: function(Value) {
|
|
if(this.get_camera() != Value) {
|
|
this.transformChildren_flixel_FlxCamera($bind(this,this.cameraTransform),Value);
|
|
}
|
|
return flixel_FlxSprite.prototype.set_camera.call(this,Value);
|
|
}
|
|
,set_cameras: function(Value) {
|
|
if(this.get_cameras() != Value) {
|
|
this.transformChildren_Array_flixel_FlxCamera($bind(this,this.camerasTransform),Value);
|
|
}
|
|
return flixel_FlxSprite.prototype.set_cameras.call(this,Value);
|
|
}
|
|
,set_exists: function(Value) {
|
|
if(this.exists != Value) {
|
|
this.transformChildren_Bool($bind(this,this.existsTransform),Value);
|
|
}
|
|
return flixel_FlxSprite.prototype.set_exists.call(this,Value);
|
|
}
|
|
,set_visible: function(Value) {
|
|
if(this.exists && this.visible != Value) {
|
|
this.transformChildren_Bool($bind(this,this.visibleTransform),Value);
|
|
}
|
|
return flixel_FlxSprite.prototype.set_visible.call(this,Value);
|
|
}
|
|
,set_active: function(Value) {
|
|
if(this.exists && this.active != Value) {
|
|
this.transformChildren_Bool($bind(this,this.activeTransform),Value);
|
|
}
|
|
return flixel_FlxSprite.prototype.set_active.call(this,Value);
|
|
}
|
|
,set_alive: function(Value) {
|
|
if(this.alive != Value) {
|
|
this.transformChildren_Bool($bind(this,this.aliveTransform),Value);
|
|
}
|
|
return flixel_FlxSprite.prototype.set_alive.call(this,Value);
|
|
}
|
|
,set_x: function(Value) {
|
|
if(!this._skipTransformChildren && this.exists && this.x != Value) {
|
|
var offset = Value - this.x;
|
|
this.transformChildren_Float($bind(this,this.xTransform),offset);
|
|
}
|
|
return this.x = Value;
|
|
}
|
|
,set_y: function(Value) {
|
|
if(!this._skipTransformChildren && this.exists && this.y != Value) {
|
|
var offset = Value - this.y;
|
|
this.transformChildren_Float($bind(this,this.yTransform),offset);
|
|
}
|
|
return this.y = Value;
|
|
}
|
|
,set_angle: function(Value) {
|
|
if(this.exists && this.angle != Value) {
|
|
var offset = Value - this.angle;
|
|
this.transformChildren_Float($bind(this,this.angleTransform),offset);
|
|
}
|
|
return this.angle = Value;
|
|
}
|
|
,set_alpha: function(Value) {
|
|
var lowerBound = Value < 0 ? 0 : Value;
|
|
Value = lowerBound > 1 ? 1 : lowerBound;
|
|
if(this.exists && this.alpha != Value) {
|
|
var factor = this.alpha > 0 ? Value / this.alpha : 0;
|
|
if(!this.directAlpha && this.alpha != 0) {
|
|
this.transformChildren_Float($bind(this,this.alphaTransform),factor);
|
|
} else {
|
|
this.transformChildren_Float($bind(this,this.directAlphaTransform),Value);
|
|
}
|
|
}
|
|
return this.alpha = Value;
|
|
}
|
|
,set_facing: function(Value) {
|
|
if(this.exists && this.facing != Value) {
|
|
this.transformChildren_Int($bind(this,this.facingTransform),Value);
|
|
}
|
|
return this.facing = Value;
|
|
}
|
|
,set_flipX: function(Value) {
|
|
if(this.exists && this.flipX != Value) {
|
|
this.transformChildren_Bool($bind(this,this.flipXTransform),Value);
|
|
}
|
|
return this.flipX = Value;
|
|
}
|
|
,set_flipY: function(Value) {
|
|
if(this.exists && this.flipY != Value) {
|
|
this.transformChildren_Bool($bind(this,this.flipYTransform),Value);
|
|
}
|
|
return this.flipY = Value;
|
|
}
|
|
,set_moves: function(Value) {
|
|
if(this.exists && this.moves != Value) {
|
|
this.transformChildren_Bool($bind(this,this.movesTransform),Value);
|
|
}
|
|
return this.moves = Value;
|
|
}
|
|
,set_immovable: function(Value) {
|
|
if(this.exists && this.immovable != Value) {
|
|
this.transformChildren_Bool($bind(this,this.immovableTransform),Value);
|
|
}
|
|
return this.immovable = Value;
|
|
}
|
|
,set_solid: function(Value) {
|
|
if(this.exists && (this.allowCollisions & 4369) > 0 != Value) {
|
|
this.transformChildren_Bool($bind(this,this.solidTransform),Value);
|
|
}
|
|
return flixel_FlxSprite.prototype.set_solid.call(this,Value);
|
|
}
|
|
,set_color: function(Value) {
|
|
if(this.exists && this.color != Value) {
|
|
this.transformChildren_Int($bind(this,this.gColorTransform),Value);
|
|
}
|
|
return this.color = Value;
|
|
}
|
|
,set_blend: function(Value) {
|
|
if(this.exists && this.blend != Value) {
|
|
this.transformChildren_flash_display_BlendMode($bind(this,this.blendTransform),Value);
|
|
}
|
|
return this.blend = Value;
|
|
}
|
|
,set_clipRect: function(rect) {
|
|
if(this.exists) {
|
|
this.transformChildren_flixel_math_FlxRect($bind(this,this.clipRectTransform),rect);
|
|
}
|
|
return flixel_FlxSprite.prototype.set_clipRect.call(this,rect);
|
|
}
|
|
,set_pixelPerfectRender: function(Value) {
|
|
if(this.exists && this.pixelPerfectRender != Value) {
|
|
this.transformChildren_Bool($bind(this,this.pixelPerfectTransform),Value);
|
|
}
|
|
return flixel_FlxSprite.prototype.set_pixelPerfectRender.call(this,Value);
|
|
}
|
|
,set_width: function(Value) {
|
|
return Value;
|
|
}
|
|
,get_width: function() {
|
|
if(this.group.length == 0) {
|
|
return 0;
|
|
}
|
|
var minX = Infinity;
|
|
var maxX = -Infinity;
|
|
var _g = 0;
|
|
var _g1 = this._sprites;
|
|
while(_g < _g1.length) {
|
|
var member = _g1[_g];
|
|
++_g;
|
|
if(member == null) {
|
|
continue;
|
|
}
|
|
var minMemberX = member.x;
|
|
var maxMemberX = minMemberX + member.get_width();
|
|
if(maxMemberX > maxX) {
|
|
maxX = maxMemberX;
|
|
}
|
|
if(minMemberX < minX) {
|
|
minX = minMemberX;
|
|
}
|
|
}
|
|
return maxX - minX;
|
|
}
|
|
,set_height: function(Value) {
|
|
return Value;
|
|
}
|
|
,get_height: function() {
|
|
if(this.group.length == 0) {
|
|
return 0;
|
|
}
|
|
var minY = Infinity;
|
|
var maxY = -Infinity;
|
|
var _g = 0;
|
|
var _g1 = this._sprites;
|
|
while(_g < _g1.length) {
|
|
var member = _g1[_g];
|
|
++_g;
|
|
if(member == null) {
|
|
continue;
|
|
}
|
|
var minMemberY = member.y;
|
|
var maxMemberY = minMemberY + member.get_height();
|
|
if(maxMemberY > maxY) {
|
|
maxY = maxMemberY;
|
|
}
|
|
if(minMemberY < minY) {
|
|
minY = minMemberY;
|
|
}
|
|
}
|
|
return maxY - minY;
|
|
}
|
|
,get_length: function() {
|
|
return this.group.length;
|
|
}
|
|
,get_maxSize: function() {
|
|
return this.group.maxSize;
|
|
}
|
|
,set_maxSize: function(Size) {
|
|
return this.group.set_maxSize(Size);
|
|
}
|
|
,get_members: function() {
|
|
return this.group.members;
|
|
}
|
|
,xTransform: function(Sprite,X) {
|
|
var _g = Sprite;
|
|
_g.set_x(_g.x + X);
|
|
}
|
|
,yTransform: function(Sprite,Y) {
|
|
var _g = Sprite;
|
|
_g.set_y(_g.y + Y);
|
|
}
|
|
,angleTransform: function(Sprite,Angle) {
|
|
var _g = Sprite;
|
|
_g.set_angle(_g.angle + Angle);
|
|
}
|
|
,alphaTransform: function(Sprite,Alpha) {
|
|
if(Sprite.alpha != 0 || Alpha == 0) {
|
|
var _g = Sprite;
|
|
_g.set_alpha(_g.alpha * Alpha);
|
|
} else {
|
|
Sprite.set_alpha(1 / Alpha);
|
|
}
|
|
}
|
|
,directAlphaTransform: function(Sprite,Alpha) {
|
|
Sprite.set_alpha(Alpha);
|
|
}
|
|
,facingTransform: function(Sprite,Facing) {
|
|
Sprite.set_facing(Facing);
|
|
}
|
|
,flipXTransform: function(Sprite,FlipX) {
|
|
Sprite.set_flipX(FlipX);
|
|
}
|
|
,flipYTransform: function(Sprite,FlipY) {
|
|
Sprite.set_flipY(FlipY);
|
|
}
|
|
,movesTransform: function(Sprite,Moves) {
|
|
Sprite.set_moves(Moves);
|
|
}
|
|
,pixelPerfectTransform: function(Sprite,PixelPerfect) {
|
|
Sprite.set_pixelPerfectRender(PixelPerfect);
|
|
}
|
|
,gColorTransform: function(Sprite,Color) {
|
|
Sprite.set_color(Color);
|
|
}
|
|
,blendTransform: function(Sprite,Blend) {
|
|
Sprite.set_blend(Blend);
|
|
}
|
|
,immovableTransform: function(Sprite,Immovable) {
|
|
Sprite.set_immovable(Immovable);
|
|
}
|
|
,visibleTransform: function(Sprite,Visible) {
|
|
Sprite.set_visible(Visible);
|
|
}
|
|
,activeTransform: function(Sprite,Active) {
|
|
Sprite.set_active(Active);
|
|
}
|
|
,solidTransform: function(Sprite,Solid) {
|
|
Sprite.set_solid(Solid);
|
|
}
|
|
,aliveTransform: function(Sprite,Alive) {
|
|
Sprite.set_alive(Alive);
|
|
}
|
|
,existsTransform: function(Sprite,Exists) {
|
|
Sprite.set_exists(Exists);
|
|
}
|
|
,cameraTransform: function(Sprite,Camera) {
|
|
Sprite.set_camera(Camera);
|
|
}
|
|
,camerasTransform: function(Sprite,Cameras) {
|
|
Sprite.set_cameras(Cameras);
|
|
}
|
|
,offsetTransform: function(Sprite,Offset) {
|
|
var _this = Sprite.offset;
|
|
_this.set_x(Offset.x);
|
|
_this.set_y(Offset.y);
|
|
if(Offset._weak) {
|
|
Offset.put();
|
|
}
|
|
}
|
|
,originTransform: function(Sprite,Origin) {
|
|
var _this = Sprite.origin;
|
|
_this.set_x(Origin.x);
|
|
_this.set_y(Origin.y);
|
|
if(Origin._weak) {
|
|
Origin.put();
|
|
}
|
|
}
|
|
,scaleTransform: function(Sprite,Scale) {
|
|
var _this = Sprite.scale;
|
|
_this.set_x(Scale.x);
|
|
_this.set_y(Scale.y);
|
|
if(Scale._weak) {
|
|
Scale.put();
|
|
}
|
|
}
|
|
,scrollFactorTransform: function(Sprite,ScrollFactor) {
|
|
var _this = Sprite.scrollFactor;
|
|
_this.set_x(ScrollFactor.x);
|
|
_this.set_y(ScrollFactor.y);
|
|
if(ScrollFactor._weak) {
|
|
ScrollFactor.put();
|
|
}
|
|
}
|
|
,clipRectTransform: function(Sprite,ClipRect) {
|
|
if(ClipRect == null) {
|
|
Sprite.set_clipRect(null);
|
|
} else {
|
|
var X = ClipRect.x - Sprite.x + this.x;
|
|
var Y = ClipRect.y - Sprite.y + this.y;
|
|
var Width = ClipRect.width;
|
|
var Height = ClipRect.height;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
_this.x = X1;
|
|
_this.y = Y1;
|
|
_this.width = Width1;
|
|
_this.height = Height1;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
Sprite.set_clipRect(rect);
|
|
}
|
|
}
|
|
,offsetCallback: function(Offset) {
|
|
this.transformChildren_flixel_math_FlxPoint($bind(this,this.offsetTransform),Offset);
|
|
}
|
|
,originCallback: function(Origin) {
|
|
this.transformChildren_flixel_math_FlxPoint($bind(this,this.originTransform),Origin);
|
|
}
|
|
,scaleCallback: function(Scale) {
|
|
this.transformChildren_flixel_math_FlxPoint($bind(this,this.scaleTransform),Scale);
|
|
}
|
|
,scrollFactorCallback: function(ScrollFactor) {
|
|
this.transformChildren_flixel_math_FlxPoint($bind(this,this.scrollFactorTransform),ScrollFactor);
|
|
}
|
|
,loadGraphicFromSprite: function(Sprite) {
|
|
return this;
|
|
}
|
|
,loadGraphic: function(Graphic,Animated,Width,Height,Unique,Key) {
|
|
if(Unique == null) {
|
|
Unique = false;
|
|
}
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Animated == null) {
|
|
Animated = false;
|
|
}
|
|
return this;
|
|
}
|
|
,loadRotatedGraphic: function(Graphic,Rotations,Frame,AntiAliasing,AutoBuffer,Key) {
|
|
if(AutoBuffer == null) {
|
|
AutoBuffer = false;
|
|
}
|
|
if(AntiAliasing == null) {
|
|
AntiAliasing = false;
|
|
}
|
|
if(Frame == null) {
|
|
Frame = -1;
|
|
}
|
|
if(Rotations == null) {
|
|
Rotations = 16;
|
|
}
|
|
return this;
|
|
}
|
|
,makeGraphic: function(Width,Height,Color,Unique,Key) {
|
|
if(Unique == null) {
|
|
Unique = false;
|
|
}
|
|
if(Color == null) {
|
|
Color = -1;
|
|
}
|
|
return this;
|
|
}
|
|
,set_pixels: function(Value) {
|
|
return Value;
|
|
}
|
|
,set_frame: function(Value) {
|
|
return Value;
|
|
}
|
|
,get_pixels: function() {
|
|
return null;
|
|
}
|
|
,calcFrame: function(RunOnCpp) {
|
|
if(RunOnCpp == null) {
|
|
RunOnCpp = false;
|
|
}
|
|
}
|
|
,resetHelpers: function() {
|
|
}
|
|
,stamp: function(Brush,X,Y) {
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
}
|
|
,set_frames: function(Frames) {
|
|
return Frames;
|
|
}
|
|
,updateColorTransform: function() {
|
|
}
|
|
,__class__: flixel_group_FlxTypedSpriteGroup
|
|
,__properties__: $extend(flixel_FlxSprite.prototype.__properties__,{set_maxSize:"set_maxSize",get_maxSize:"get_maxSize",get_length:"get_length",get_members:"get_members"})
|
|
});
|
|
var Alphabet = function(x,y,text,bold,typed) {
|
|
if(typed == null) {
|
|
typed = false;
|
|
}
|
|
if(bold == null) {
|
|
bold = false;
|
|
}
|
|
if(text == null) {
|
|
text = "";
|
|
}
|
|
this.personTalking = "gf";
|
|
this.isBold = false;
|
|
this.splitWords = [];
|
|
this.lastWasSpace = false;
|
|
this.xPosResetted = false;
|
|
this.yMulti = 1;
|
|
this.widthOfWords = flixel_FlxG.width;
|
|
this._curText = "";
|
|
this._finalText = "";
|
|
this.text = "";
|
|
this.isMenuItem = false;
|
|
this.targetY = 0;
|
|
this.paused = false;
|
|
this.delay = 0.05;
|
|
flixel_group_FlxTypedSpriteGroup.call(this,x,y);
|
|
this._finalText = text;
|
|
this.text = text;
|
|
this.isBold = bold;
|
|
if(text != "") {
|
|
if(typed) {
|
|
this.startTypedText();
|
|
} else {
|
|
this.addText();
|
|
}
|
|
}
|
|
};
|
|
$hxClasses["Alphabet"] = Alphabet;
|
|
Alphabet.__name__ = "Alphabet";
|
|
Alphabet.__super__ = flixel_group_FlxTypedSpriteGroup;
|
|
Alphabet.prototype = $extend(flixel_group_FlxTypedSpriteGroup.prototype,{
|
|
delay: null
|
|
,paused: null
|
|
,targetY: null
|
|
,isMenuItem: null
|
|
,text: null
|
|
,_finalText: null
|
|
,_curText: null
|
|
,widthOfWords: null
|
|
,yMulti: null
|
|
,lastSprite: null
|
|
,xPosResetted: null
|
|
,lastWasSpace: null
|
|
,splitWords: null
|
|
,isBold: null
|
|
,addText: function() {
|
|
this.doSplitWords();
|
|
var xPos = 0;
|
|
var _g = 0;
|
|
var _g1 = this.splitWords;
|
|
while(_g < _g1.length) {
|
|
var character = _g1[_g];
|
|
++_g;
|
|
if(character == " " || character == "-") {
|
|
this.lastWasSpace = true;
|
|
}
|
|
if(AlphaCharacter.alphabet.indexOf(character.toLowerCase()) != -1) {
|
|
if(this.lastSprite != null) {
|
|
xPos = this.lastSprite.x + this.lastSprite.get_width();
|
|
}
|
|
if(this.lastWasSpace) {
|
|
xPos += 40;
|
|
this.lastWasSpace = false;
|
|
}
|
|
var letter = new AlphaCharacter(xPos,0);
|
|
if(this.isBold) {
|
|
letter.createBold(character);
|
|
} else {
|
|
letter.createLetter(character);
|
|
}
|
|
this.add(letter);
|
|
this.lastSprite = letter;
|
|
}
|
|
}
|
|
}
|
|
,doSplitWords: function() {
|
|
this.splitWords = this._finalText.split("");
|
|
}
|
|
,personTalking: null
|
|
,startTypedText: function() {
|
|
var _gthis = this;
|
|
this._finalText = this.text;
|
|
this.doSplitWords();
|
|
var loopNum = 0;
|
|
var xPos = 0;
|
|
var curRow = 0;
|
|
new flixel_util_FlxTimer().start(0.05,function(tmr) {
|
|
if(_gthis._finalText.charCodeAt(loopNum) == 10) {
|
|
_gthis.yMulti += 1;
|
|
_gthis.xPosResetted = true;
|
|
xPos = 0;
|
|
curRow += 1;
|
|
}
|
|
if(_gthis.splitWords[loopNum] == " ") {
|
|
_gthis.lastWasSpace = true;
|
|
}
|
|
var isNumber = AlphaCharacter.numbers.indexOf(_gthis.splitWords[loopNum]) != -1;
|
|
var isSymbol = AlphaCharacter.symbols.indexOf(_gthis.splitWords[loopNum]) != -1;
|
|
if(AlphaCharacter.alphabet.indexOf(_gthis.splitWords[loopNum].toLowerCase()) != -1 || isNumber || isSymbol) {
|
|
if(_gthis.lastSprite != null && !_gthis.xPosResetted) {
|
|
_gthis.lastSprite.updateHitbox();
|
|
xPos += _gthis.lastSprite.get_width() + 3;
|
|
} else {
|
|
_gthis.xPosResetted = false;
|
|
}
|
|
if(_gthis.lastWasSpace) {
|
|
xPos += 20;
|
|
_gthis.lastWasSpace = false;
|
|
}
|
|
var letter = new AlphaCharacter(xPos,55 * _gthis.yMulti);
|
|
letter.row = curRow;
|
|
if(_gthis.isBold) {
|
|
letter.createBold(_gthis.splitWords[loopNum]);
|
|
} else {
|
|
if(isNumber) {
|
|
letter.createNumber(_gthis.splitWords[loopNum]);
|
|
} else if(isSymbol) {
|
|
letter.createSymbol(_gthis.splitWords[loopNum]);
|
|
} else {
|
|
letter.createLetter(_gthis.splitWords[loopNum]);
|
|
}
|
|
var _g = letter;
|
|
_g.set_x(_g.x + 90);
|
|
}
|
|
var Chance = 40;
|
|
if(Chance == null) {
|
|
Chance = 50;
|
|
}
|
|
if(flixel_FlxG.random.float(0,100) < Chance) {
|
|
var daSound = "GF_";
|
|
flixel_FlxG.sound.play("assets/sounds/" + daSound + flixel_FlxG.random.int(1,4) + TitleState.soundExt,0.4);
|
|
}
|
|
_gthis.add(letter);
|
|
_gthis.lastSprite = letter;
|
|
}
|
|
loopNum += 1;
|
|
tmr.time = flixel_FlxG.random.float(0.04,0.09);
|
|
},this.splitWords.length);
|
|
}
|
|
,update: function(elapsed) {
|
|
if(this.isMenuItem) {
|
|
var scaledY = flixel_math_FlxMath.remapToRange(this.targetY,0,1,0,1.3);
|
|
var a = this.y;
|
|
this.set_y(a + 0.16 * (scaledY * 120 + flixel_FlxG.height * 0.48 - a));
|
|
var a = this.x;
|
|
this.set_x(a + 0.16 * (this.targetY * 20 + 90 - a));
|
|
}
|
|
flixel_group_FlxTypedSpriteGroup.prototype.update.call(this,elapsed);
|
|
}
|
|
,__class__: Alphabet
|
|
});
|
|
var AlphaCharacter = function(x,y) {
|
|
this.row = 0;
|
|
flixel_FlxSprite.call(this,x,y);
|
|
var tex = flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/alphabet.png","assets/images/alphabet.xml");
|
|
this.set_frames(tex);
|
|
this.set_antialiasing(true);
|
|
};
|
|
$hxClasses["AlphaCharacter"] = AlphaCharacter;
|
|
AlphaCharacter.__name__ = "AlphaCharacter";
|
|
AlphaCharacter.__super__ = flixel_FlxSprite;
|
|
AlphaCharacter.prototype = $extend(flixel_FlxSprite.prototype,{
|
|
row: null
|
|
,createBold: function(letter) {
|
|
this.animation.addByPrefix(letter,letter.toUpperCase() + " bold",24);
|
|
this.animation.play(letter);
|
|
this.updateHitbox();
|
|
}
|
|
,createLetter: function(letter) {
|
|
var letterCase = "lowercase";
|
|
if(letter.toLowerCase() != letter) {
|
|
letterCase = "capital";
|
|
}
|
|
this.animation.addByPrefix(letter,letter + " " + letterCase,24);
|
|
this.animation.play(letter);
|
|
this.updateHitbox();
|
|
this.set_y(110 - this.get_height());
|
|
var _g = this;
|
|
_g.set_y(_g.y + this.row * 60);
|
|
}
|
|
,createNumber: function(letter) {
|
|
this.animation.addByPrefix(letter,letter,24);
|
|
this.animation.play(letter);
|
|
this.updateHitbox();
|
|
}
|
|
,createSymbol: function(letter) {
|
|
switch(letter) {
|
|
case "!":
|
|
this.animation.addByPrefix(letter,"exclamation point",24);
|
|
this.animation.play(letter);
|
|
break;
|
|
case "'":
|
|
this.animation.addByPrefix(letter,"apostraphie",24);
|
|
this.animation.play(letter);
|
|
var _g = this;
|
|
_g.set_y(_g.y);
|
|
break;
|
|
case ".":
|
|
this.animation.addByPrefix(letter,"period",24);
|
|
this.animation.play(letter);
|
|
var _g = this;
|
|
_g.set_y(_g.y + 50);
|
|
break;
|
|
case "?":
|
|
this.animation.addByPrefix(letter,"question mark",24);
|
|
this.animation.play(letter);
|
|
break;
|
|
}
|
|
this.updateHitbox();
|
|
}
|
|
,__class__: AlphaCharacter
|
|
});
|
|
var lime_app_IModule = function() { };
|
|
$hxClasses["lime.app.IModule"] = lime_app_IModule;
|
|
lime_app_IModule.__name__ = "lime.app.IModule";
|
|
lime_app_IModule.__isInterface__ = true;
|
|
lime_app_IModule.prototype = {
|
|
__registerLimeModule: null
|
|
,__unregisterLimeModule: null
|
|
,__class__: lime_app_IModule
|
|
};
|
|
var lime_app_Module = function() {
|
|
this.onExit = new lime_app__$Event_$Int_$Void();
|
|
};
|
|
$hxClasses["lime.app.Module"] = lime_app_Module;
|
|
lime_app_Module.__name__ = "lime.app.Module";
|
|
lime_app_Module.__interfaces__ = [lime_app_IModule];
|
|
lime_app_Module.prototype = {
|
|
onExit: null
|
|
,__registerLimeModule: function(application) {
|
|
}
|
|
,__unregisterLimeModule: function(application) {
|
|
}
|
|
,__class__: lime_app_Module
|
|
};
|
|
var lime__$internal_backend_html5_HTML5Application = function(parent) {
|
|
this.gameDeviceCache = new haxe_ds_IntMap();
|
|
this.parent = parent;
|
|
this.currentUpdate = 0;
|
|
this.lastUpdate = 0;
|
|
this.nextUpdate = 0;
|
|
this.framePeriod = -1;
|
|
lime_media_AudioManager.init();
|
|
this.accelerometer = lime_system_Sensor.registerSensor(lime_system_SensorType.ACCELEROMETER,0);
|
|
};
|
|
$hxClasses["lime._internal.backend.html5.HTML5Application"] = lime__$internal_backend_html5_HTML5Application;
|
|
lime__$internal_backend_html5_HTML5Application.__name__ = "lime._internal.backend.html5.HTML5Application";
|
|
lime__$internal_backend_html5_HTML5Application.prototype = {
|
|
accelerometer: null
|
|
,currentUpdate: null
|
|
,deltaTime: null
|
|
,framePeriod: null
|
|
,gameDeviceCache: null
|
|
,hidden: null
|
|
,lastUpdate: null
|
|
,nextUpdate: null
|
|
,parent: null
|
|
,convertKeyCode: function(keyCode) {
|
|
if(keyCode >= 65 && keyCode <= 90) {
|
|
return keyCode + 32;
|
|
}
|
|
switch(keyCode) {
|
|
case 12:
|
|
return 1073741980;
|
|
case 16:
|
|
return 1073742049;
|
|
case 17:
|
|
return 1073742048;
|
|
case 18:
|
|
return 1073742050;
|
|
case 19:
|
|
return 1073741896;
|
|
case 20:
|
|
return 1073741881;
|
|
case 33:
|
|
return 1073741899;
|
|
case 34:
|
|
return 1073741902;
|
|
case 35:
|
|
return 1073741901;
|
|
case 36:
|
|
return 1073741898;
|
|
case 37:
|
|
return 1073741904;
|
|
case 38:
|
|
return 1073741906;
|
|
case 39:
|
|
return 1073741903;
|
|
case 40:
|
|
return 1073741905;
|
|
case 41:
|
|
return 1073741943;
|
|
case 43:
|
|
return 1073741940;
|
|
case 44:
|
|
return 1073741894;
|
|
case 45:
|
|
return 1073741897;
|
|
case 46:
|
|
return 127;
|
|
case 91:
|
|
return 1073742051;
|
|
case 92:
|
|
return 1073742055;
|
|
case 93:
|
|
return 1073742055;
|
|
case 95:
|
|
return 1073742106;
|
|
case 96:
|
|
return 1073741922;
|
|
case 97:
|
|
return 1073741913;
|
|
case 98:
|
|
return 1073741914;
|
|
case 99:
|
|
return 1073741915;
|
|
case 100:
|
|
return 1073741916;
|
|
case 101:
|
|
return 1073741917;
|
|
case 102:
|
|
return 1073741918;
|
|
case 103:
|
|
return 1073741919;
|
|
case 104:
|
|
return 1073741920;
|
|
case 105:
|
|
return 1073741921;
|
|
case 106:
|
|
return 1073741909;
|
|
case 107:
|
|
return 1073741911;
|
|
case 108:
|
|
return 1073741923;
|
|
case 109:
|
|
return 1073741910;
|
|
case 110:
|
|
return 1073741923;
|
|
case 111:
|
|
return 1073741908;
|
|
case 112:
|
|
return 1073741882;
|
|
case 113:
|
|
return 1073741883;
|
|
case 114:
|
|
return 1073741884;
|
|
case 115:
|
|
return 1073741885;
|
|
case 116:
|
|
return 1073741886;
|
|
case 117:
|
|
return 1073741887;
|
|
case 118:
|
|
return 1073741888;
|
|
case 119:
|
|
return 1073741889;
|
|
case 120:
|
|
return 1073741890;
|
|
case 121:
|
|
return 1073741891;
|
|
case 122:
|
|
return 1073741892;
|
|
case 123:
|
|
return 1073741893;
|
|
case 124:
|
|
return 1073741928;
|
|
case 125:
|
|
return 1073741929;
|
|
case 126:
|
|
return 1073741930;
|
|
case 127:
|
|
return 1073741931;
|
|
case 128:
|
|
return 1073741932;
|
|
case 129:
|
|
return 1073741933;
|
|
case 130:
|
|
return 1073741934;
|
|
case 131:
|
|
return 1073741935;
|
|
case 132:
|
|
return 1073741936;
|
|
case 133:
|
|
return 1073741937;
|
|
case 134:
|
|
return 1073741938;
|
|
case 135:
|
|
return 1073741939;
|
|
case 144:
|
|
return 1073741907;
|
|
case 145:
|
|
return 1073741895;
|
|
case 160:
|
|
return 94;
|
|
case 161:
|
|
return 33;
|
|
case 163:
|
|
return 35;
|
|
case 164:
|
|
return 36;
|
|
case 166:
|
|
return 1073742094;
|
|
case 167:
|
|
return 1073742095;
|
|
case 168:
|
|
return 1073742097;
|
|
case 169:
|
|
return 41;
|
|
case 170:
|
|
return 42;
|
|
case 171:
|
|
return 96;
|
|
case 172:
|
|
return 1073741898;
|
|
case 173:
|
|
return 45;
|
|
case 174:
|
|
return 1073741953;
|
|
case 175:
|
|
return 1073741952;
|
|
case 176:
|
|
return 1073742082;
|
|
case 177:
|
|
return 1073742083;
|
|
case 178:
|
|
return 1073742084;
|
|
case 179:
|
|
return 1073742085;
|
|
case 180:
|
|
return 1073742089;
|
|
case 181:
|
|
return 1073742086;
|
|
case 182:
|
|
return 1073741953;
|
|
case 183:
|
|
return 1073741952;
|
|
case 186:
|
|
return 59;
|
|
case 187:
|
|
return 61;
|
|
case 188:
|
|
return 44;
|
|
case 189:
|
|
return 45;
|
|
case 190:
|
|
return 46;
|
|
case 191:
|
|
return 47;
|
|
case 192:
|
|
return 96;
|
|
case 193:
|
|
return 63;
|
|
case 194:
|
|
return 1073741923;
|
|
case 219:
|
|
return 91;
|
|
case 220:
|
|
return 92;
|
|
case 221:
|
|
return 93;
|
|
case 222:
|
|
return 39;
|
|
case 223:
|
|
return 96;
|
|
case 224:
|
|
return 1073742051;
|
|
case 226:
|
|
return 92;
|
|
}
|
|
return keyCode;
|
|
}
|
|
,exec: function() {
|
|
window.addEventListener("keydown",$bind(this,this.handleKeyEvent),false);
|
|
window.addEventListener("keyup",$bind(this,this.handleKeyEvent),false);
|
|
window.addEventListener("focus",$bind(this,this.handleWindowEvent),false);
|
|
window.addEventListener("blur",$bind(this,this.handleWindowEvent),false);
|
|
window.addEventListener("resize",$bind(this,this.handleWindowEvent),false);
|
|
window.addEventListener("beforeunload",$bind(this,this.handleWindowEvent),false);
|
|
window.addEventListener("devicemotion",$bind(this,this.handleSensorEvent),false);
|
|
|
|
if (!CanvasRenderingContext2D.prototype.isPointInStroke) {
|
|
CanvasRenderingContext2D.prototype.isPointInStroke = function (path, x, y) {
|
|
return false;
|
|
};
|
|
}
|
|
if (!CanvasRenderingContext2D.prototype.isPointInPath) {
|
|
CanvasRenderingContext2D.prototype.isPointInPath = function (path, x, y) {
|
|
return false;
|
|
};
|
|
}
|
|
|
|
if ('performance' in window == false) {
|
|
window.performance = {};
|
|
}
|
|
|
|
if ('now' in window.performance == false) {
|
|
var offset = Date.now();
|
|
if (performance.timing && performance.timing.navigationStart) {
|
|
offset = performance.timing.navigationStart
|
|
}
|
|
window.performance.now = function now() {
|
|
return Date.now() - offset;
|
|
}
|
|
}
|
|
|
|
var lastTime = 0;
|
|
var vendors = ['ms', 'moz', 'webkit', 'o'];
|
|
for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {
|
|
window.requestAnimationFrame = window[vendors[x]+'RequestAnimationFrame'];
|
|
window.cancelAnimationFrame = window[vendors[x]+'CancelAnimationFrame'] || window[vendors[x]+'CancelRequestAnimationFrame'];
|
|
}
|
|
|
|
if (!window.requestAnimationFrame)
|
|
window.requestAnimationFrame = function(callback, element) {
|
|
var currTime = new Date().getTime();
|
|
var timeToCall = Math.max(0, 16 - (currTime - lastTime));
|
|
var id = window.setTimeout(function() { callback(currTime + timeToCall); },
|
|
timeToCall);
|
|
lastTime = currTime + timeToCall;
|
|
return id;
|
|
};
|
|
|
|
if (!window.cancelAnimationFrame)
|
|
window.cancelAnimationFrame = function(id) {
|
|
clearTimeout(id);
|
|
};
|
|
|
|
window.requestAnimFrame = window.requestAnimationFrame;
|
|
;
|
|
this.lastUpdate = new Date().getTime();
|
|
this.handleApplicationEvent();
|
|
return 0;
|
|
}
|
|
,exit: function() {
|
|
}
|
|
,handleApplicationEvent: function(__) {
|
|
var _g = 0;
|
|
var _g1 = this.parent.__windows;
|
|
while(_g < _g1.length) {
|
|
var $window = _g1[_g];
|
|
++_g;
|
|
$window.__backend.updateSize();
|
|
}
|
|
this.updateGameDevices();
|
|
this.currentUpdate = new Date().getTime();
|
|
if(this.currentUpdate >= this.nextUpdate) {
|
|
this.deltaTime = this.currentUpdate - this.lastUpdate;
|
|
var _g = 0;
|
|
var _g1 = this.parent.__windows;
|
|
while(_g < _g1.length) {
|
|
var $window = _g1[_g];
|
|
++_g;
|
|
this.parent.onUpdate.dispatch(this.deltaTime | 0);
|
|
if($window.context != null) {
|
|
$window.onRender.dispatch($window.context);
|
|
}
|
|
}
|
|
if(this.framePeriod < 0) {
|
|
this.nextUpdate = this.currentUpdate;
|
|
} else {
|
|
this.nextUpdate = this.currentUpdate - this.currentUpdate % this.framePeriod + this.framePeriod;
|
|
}
|
|
this.lastUpdate = this.currentUpdate;
|
|
}
|
|
window.requestAnimationFrame($bind(this,this.handleApplicationEvent));
|
|
}
|
|
,handleKeyEvent: function(event) {
|
|
if(this.parent.__window != null) {
|
|
var keyCode = this.convertKeyCode(event.keyCode != null ? event.keyCode : event.which);
|
|
var modifier = (event.shiftKey ? 3 : 0) | (event.ctrlKey ? 192 : 0) | (event.altKey ? 768 : 0) | (event.metaKey ? 3072 : 0);
|
|
if(event.type == "keydown") {
|
|
this.parent.__window.onKeyDown.dispatch(keyCode,modifier);
|
|
if(this.parent.__window.onKeyDown.canceled && event.cancelable) {
|
|
event.preventDefault();
|
|
}
|
|
} else {
|
|
this.parent.__window.onKeyUp.dispatch(keyCode,modifier);
|
|
if(this.parent.__window.onKeyUp.canceled && event.cancelable) {
|
|
event.preventDefault();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,handleSensorEvent: function(event) {
|
|
this.accelerometer.onUpdate.dispatch(event.accelerationIncludingGravity.x,event.accelerationIncludingGravity.y,event.accelerationIncludingGravity.z);
|
|
}
|
|
,handleWindowEvent: function(event) {
|
|
if(this.parent.__window != null) {
|
|
switch(event.type) {
|
|
case "beforeunload":
|
|
break;
|
|
case "blur":
|
|
if(!this.hidden) {
|
|
this.parent.__window.onFocusOut.dispatch();
|
|
this.parent.__window.onDeactivate.dispatch();
|
|
this.hidden = true;
|
|
}
|
|
break;
|
|
case "focus":
|
|
if(this.hidden) {
|
|
this.parent.__window.onFocusIn.dispatch();
|
|
this.parent.__window.onActivate.dispatch();
|
|
this.hidden = false;
|
|
}
|
|
break;
|
|
case "resize":
|
|
this.parent.__window.__backend.handleResizeEvent(event);
|
|
break;
|
|
case "visibilitychange":
|
|
if(window.document.hidden) {
|
|
if(!this.hidden) {
|
|
this.parent.__window.onFocusOut.dispatch();
|
|
this.parent.__window.onDeactivate.dispatch();
|
|
this.hidden = true;
|
|
}
|
|
} else if(this.hidden) {
|
|
this.parent.__window.onFocusIn.dispatch();
|
|
this.parent.__window.onActivate.dispatch();
|
|
this.hidden = false;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
,updateGameDevices: function() {
|
|
var devices = lime_ui_Joystick.__getDeviceData();
|
|
if(devices == null) {
|
|
return;
|
|
}
|
|
var id;
|
|
var gamepad;
|
|
var joystick;
|
|
var data;
|
|
var cache;
|
|
var _g = 0;
|
|
var _g1 = devices.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
id = i;
|
|
data = devices[id];
|
|
if(data == null) {
|
|
continue;
|
|
}
|
|
if(!this.gameDeviceCache.h.hasOwnProperty(id)) {
|
|
cache = new lime__$internal_backend_html5_GameDeviceData();
|
|
cache.id = id;
|
|
cache.connected = data.connected;
|
|
var _g2 = 0;
|
|
var _g3 = data.buttons.length;
|
|
while(_g2 < _g3) {
|
|
var i1 = _g2++;
|
|
cache.buttons.push(data.buttons[i1].value);
|
|
}
|
|
var _g4 = 0;
|
|
var _g5 = data.axes.length;
|
|
while(_g4 < _g5) {
|
|
var i2 = _g4++;
|
|
cache.axes.push(data.axes[i2]);
|
|
}
|
|
if(data.mapping == "standard") {
|
|
cache.isGamepad = true;
|
|
}
|
|
this.gameDeviceCache.h[id] = cache;
|
|
if(data.connected) {
|
|
lime_ui_Joystick.__connect(id);
|
|
if(cache.isGamepad) {
|
|
lime_ui_Gamepad.__connect(id);
|
|
}
|
|
}
|
|
}
|
|
cache = this.gameDeviceCache.h[id];
|
|
joystick = lime_ui_Joystick.devices.h[id];
|
|
gamepad = lime_ui_Gamepad.devices.h[id];
|
|
if(data.connected) {
|
|
var button;
|
|
var value;
|
|
var _g6 = 0;
|
|
var _g7 = data.buttons.length;
|
|
while(_g6 < _g7) {
|
|
var i3 = _g6++;
|
|
value = data.buttons[i3].value;
|
|
if(value != cache.buttons[i3]) {
|
|
if(i3 == 6) {
|
|
joystick.onAxisMove.dispatch(data.axes.length,value);
|
|
if(gamepad != null) {
|
|
gamepad.onAxisMove.dispatch(4,value);
|
|
}
|
|
} else if(i3 == 7) {
|
|
joystick.onAxisMove.dispatch(data.axes.length + 1,value);
|
|
if(gamepad != null) {
|
|
gamepad.onAxisMove.dispatch(5,value);
|
|
}
|
|
} else {
|
|
if(value > 0) {
|
|
joystick.onButtonDown.dispatch(i3);
|
|
} else {
|
|
joystick.onButtonUp.dispatch(i3);
|
|
}
|
|
if(gamepad != null) {
|
|
switch(i3) {
|
|
case 0:
|
|
button = 0;
|
|
break;
|
|
case 1:
|
|
button = 1;
|
|
break;
|
|
case 2:
|
|
button = 2;
|
|
break;
|
|
case 3:
|
|
button = 3;
|
|
break;
|
|
case 4:
|
|
button = 9;
|
|
break;
|
|
case 5:
|
|
button = 10;
|
|
break;
|
|
case 8:
|
|
button = 4;
|
|
break;
|
|
case 9:
|
|
button = 6;
|
|
break;
|
|
case 10:
|
|
button = 7;
|
|
break;
|
|
case 11:
|
|
button = 8;
|
|
break;
|
|
case 12:
|
|
button = 11;
|
|
break;
|
|
case 13:
|
|
button = 12;
|
|
break;
|
|
case 14:
|
|
button = 13;
|
|
break;
|
|
case 15:
|
|
button = 14;
|
|
break;
|
|
case 16:
|
|
button = 5;
|
|
break;
|
|
default:
|
|
continue;
|
|
}
|
|
if(value > 0) {
|
|
gamepad.onButtonDown.dispatch(button);
|
|
} else {
|
|
gamepad.onButtonUp.dispatch(button);
|
|
}
|
|
}
|
|
}
|
|
cache.buttons[i3] = value;
|
|
}
|
|
}
|
|
var _g8 = 0;
|
|
var _g9 = data.axes.length;
|
|
while(_g8 < _g9) {
|
|
var i4 = _g8++;
|
|
if(data.axes[i4] != cache.axes[i4]) {
|
|
joystick.onAxisMove.dispatch(i4,data.axes[i4]);
|
|
if(gamepad != null) {
|
|
gamepad.onAxisMove.dispatch(i4,data.axes[i4]);
|
|
}
|
|
cache.axes[i4] = data.axes[i4];
|
|
}
|
|
}
|
|
} else if(cache.connected) {
|
|
cache.connected = false;
|
|
lime_ui_Joystick.__disconnect(id);
|
|
lime_ui_Gamepad.__disconnect(id);
|
|
}
|
|
}
|
|
}
|
|
,__class__: lime__$internal_backend_html5_HTML5Application
|
|
};
|
|
var lime_app_Application = function() {
|
|
this.onCreateWindow = new lime_app__$Event_$lime_$ui_$Window_$Void();
|
|
this.onUpdate = new lime_app__$Event_$Int_$Void();
|
|
lime_app_Module.call(this);
|
|
if(lime_app_Application.current == null) {
|
|
lime_app_Application.current = this;
|
|
}
|
|
this.meta = new haxe_ds_StringMap();
|
|
this.modules = [];
|
|
this.__windowByID = new haxe_ds_IntMap();
|
|
this.__windows = [];
|
|
this.__backend = new lime__$internal_backend_html5_HTML5Application(this);
|
|
this.__registerLimeModule(this);
|
|
this.__preloader = new lime_utils_Preloader();
|
|
this.__preloader.onProgress.add($bind(this,this.onPreloadProgress));
|
|
this.__preloader.onComplete.add($bind(this,this.onPreloadComplete));
|
|
};
|
|
$hxClasses["lime.app.Application"] = lime_app_Application;
|
|
lime_app_Application.__name__ = "lime.app.Application";
|
|
lime_app_Application.current = null;
|
|
lime_app_Application.__super__ = lime_app_Module;
|
|
lime_app_Application.prototype = $extend(lime_app_Module.prototype,{
|
|
meta: null
|
|
,modules: null
|
|
,onUpdate: null
|
|
,onCreateWindow: null
|
|
,preloader: null
|
|
,window: null
|
|
,windows: null
|
|
,__backend: null
|
|
,__preloader: null
|
|
,__window: null
|
|
,__windowByID: null
|
|
,__windows: null
|
|
,addModule: function(module) {
|
|
module.__registerLimeModule(this);
|
|
this.modules.push(module);
|
|
}
|
|
,createWindow: function(attributes) {
|
|
var $window = this.__createWindow(attributes);
|
|
this.__addWindow($window);
|
|
return $window;
|
|
}
|
|
,exec: function() {
|
|
lime_app_Application.current = this;
|
|
return this.__backend.exec();
|
|
}
|
|
,onGamepadAxisMove: function(gamepad,axis,value) {
|
|
}
|
|
,onGamepadButtonDown: function(gamepad,button) {
|
|
}
|
|
,onGamepadButtonUp: function(gamepad,button) {
|
|
}
|
|
,onGamepadConnect: function(gamepad) {
|
|
}
|
|
,onGamepadDisconnect: function(gamepad) {
|
|
}
|
|
,onJoystickAxisMove: function(joystick,axis,value) {
|
|
}
|
|
,onJoystickButtonDown: function(joystick,button) {
|
|
}
|
|
,onJoystickButtonUp: function(joystick,button) {
|
|
}
|
|
,onJoystickConnect: function(joystick) {
|
|
}
|
|
,onJoystickDisconnect: function(joystick) {
|
|
}
|
|
,onJoystickHatMove: function(joystick,hat,position) {
|
|
}
|
|
,onJoystickTrackballMove: function(joystick,trackball,x,y) {
|
|
}
|
|
,onKeyDown: function(keyCode,modifier) {
|
|
}
|
|
,onKeyUp: function(keyCode,modifier) {
|
|
}
|
|
,onModuleExit: function(code) {
|
|
}
|
|
,onMouseDown: function(x,y,button) {
|
|
}
|
|
,onMouseMove: function(x,y) {
|
|
}
|
|
,onMouseMoveRelative: function(x,y) {
|
|
}
|
|
,onMouseUp: function(x,y,button) {
|
|
}
|
|
,onMouseWheel: function(deltaX,deltaY,deltaMode) {
|
|
}
|
|
,onPreloadComplete: function() {
|
|
}
|
|
,onPreloadProgress: function(loaded,total) {
|
|
}
|
|
,onRenderContextLost: function() {
|
|
}
|
|
,onRenderContextRestored: function(context) {
|
|
}
|
|
,onTextEdit: function(text,start,length) {
|
|
}
|
|
,onTextInput: function(text) {
|
|
}
|
|
,onTouchCancel: function(touch) {
|
|
}
|
|
,onTouchEnd: function(touch) {
|
|
}
|
|
,onTouchMove: function(touch) {
|
|
}
|
|
,onTouchStart: function(touch) {
|
|
}
|
|
,onWindowActivate: function() {
|
|
}
|
|
,onWindowClose: function() {
|
|
}
|
|
,onWindowCreate: function() {
|
|
}
|
|
,onWindowDeactivate: function() {
|
|
}
|
|
,onWindowDropFile: function(file) {
|
|
}
|
|
,onWindowEnter: function() {
|
|
}
|
|
,onWindowExpose: function() {
|
|
}
|
|
,onWindowFocusIn: function() {
|
|
}
|
|
,onWindowFocusOut: function() {
|
|
}
|
|
,onWindowFullscreen: function() {
|
|
}
|
|
,onWindowLeave: function() {
|
|
}
|
|
,onWindowMove: function(x,y) {
|
|
}
|
|
,onWindowMinimize: function() {
|
|
}
|
|
,onWindowResize: function(width,height) {
|
|
}
|
|
,onWindowRestore: function() {
|
|
}
|
|
,removeModule: function(module) {
|
|
if(module != null) {
|
|
module.__unregisterLimeModule(this);
|
|
HxOverrides.remove(this.modules,module);
|
|
}
|
|
}
|
|
,render: function(context) {
|
|
}
|
|
,update: function(deltaTime) {
|
|
}
|
|
,__addWindow: function($window) {
|
|
if($window != null) {
|
|
this.__windows.push($window);
|
|
this.__windowByID.h[$window.id] = $window;
|
|
var _g = $bind(this,this.__onWindowClose);
|
|
var window1 = $window;
|
|
var tmp = function() {
|
|
_g(window1);
|
|
};
|
|
$window.onClose.add(tmp,false,-10000);
|
|
if(this.__window == null) {
|
|
this.__window = $window;
|
|
$window.onActivate.add($bind(this,this.onWindowActivate));
|
|
$window.onRenderContextLost.add($bind(this,this.onRenderContextLost));
|
|
$window.onRenderContextRestored.add($bind(this,this.onRenderContextRestored));
|
|
$window.onDeactivate.add($bind(this,this.onWindowDeactivate));
|
|
$window.onDropFile.add($bind(this,this.onWindowDropFile));
|
|
$window.onEnter.add($bind(this,this.onWindowEnter));
|
|
$window.onExpose.add($bind(this,this.onWindowExpose));
|
|
$window.onFocusIn.add($bind(this,this.onWindowFocusIn));
|
|
$window.onFocusOut.add($bind(this,this.onWindowFocusOut));
|
|
$window.onFullscreen.add($bind(this,this.onWindowFullscreen));
|
|
$window.onKeyDown.add($bind(this,this.onKeyDown));
|
|
$window.onKeyUp.add($bind(this,this.onKeyUp));
|
|
$window.onLeave.add($bind(this,this.onWindowLeave));
|
|
$window.onMinimize.add($bind(this,this.onWindowMinimize));
|
|
$window.onMouseDown.add($bind(this,this.onMouseDown));
|
|
$window.onMouseMove.add($bind(this,this.onMouseMove));
|
|
$window.onMouseMoveRelative.add($bind(this,this.onMouseMoveRelative));
|
|
$window.onMouseUp.add($bind(this,this.onMouseUp));
|
|
$window.onMouseWheel.add($bind(this,this.onMouseWheel));
|
|
$window.onMove.add($bind(this,this.onWindowMove));
|
|
$window.onRender.add($bind(this,this.render));
|
|
$window.onResize.add($bind(this,this.onWindowResize));
|
|
$window.onRestore.add($bind(this,this.onWindowRestore));
|
|
$window.onTextEdit.add($bind(this,this.onTextEdit));
|
|
$window.onTextInput.add($bind(this,this.onTextInput));
|
|
this.onWindowCreate();
|
|
}
|
|
this.onCreateWindow.dispatch($window);
|
|
}
|
|
}
|
|
,__createWindow: function(attributes) {
|
|
var $window = new lime_ui_Window(this,attributes);
|
|
if($window.id == -1) {
|
|
return null;
|
|
}
|
|
return $window;
|
|
}
|
|
,__registerLimeModule: function(application) {
|
|
application.onUpdate.add($bind(this,this.update));
|
|
application.onExit.add($bind(this,this.onModuleExit),false,0);
|
|
application.onExit.add($bind(this,this.__onModuleExit),false,0);
|
|
var gamepad = lime_ui_Gamepad.devices.iterator();
|
|
while(gamepad.hasNext()) {
|
|
var gamepad1 = gamepad.next();
|
|
this.__onGamepadConnect(gamepad1);
|
|
}
|
|
lime_ui_Gamepad.onConnect.add($bind(this,this.__onGamepadConnect));
|
|
var joystick = lime_ui_Joystick.devices.iterator();
|
|
while(joystick.hasNext()) {
|
|
var joystick1 = joystick.next();
|
|
this.__onJoystickConnect(joystick1);
|
|
}
|
|
lime_ui_Joystick.onConnect.add($bind(this,this.__onJoystickConnect));
|
|
lime_ui_Touch.onCancel.add($bind(this,this.onTouchCancel));
|
|
lime_ui_Touch.onStart.add($bind(this,this.onTouchStart));
|
|
lime_ui_Touch.onMove.add($bind(this,this.onTouchMove));
|
|
lime_ui_Touch.onEnd.add($bind(this,this.onTouchEnd));
|
|
}
|
|
,__removeWindow: function($window) {
|
|
if($window != null && this.__windowByID.h.hasOwnProperty($window.id)) {
|
|
if(this.__window == $window) {
|
|
this.__window = null;
|
|
}
|
|
HxOverrides.remove(this.__windows,$window);
|
|
this.__windowByID.remove($window.id);
|
|
$window.close();
|
|
if(this.__windows.length == 0) {
|
|
lime_system_System.exit(0);
|
|
}
|
|
}
|
|
}
|
|
,__onGamepadConnect: function(gamepad) {
|
|
this.onGamepadConnect(gamepad);
|
|
var _g = $bind(this,this.onGamepadAxisMove);
|
|
var gamepad1 = gamepad;
|
|
var tmp = function(axis,value) {
|
|
_g(gamepad1,axis,value);
|
|
};
|
|
gamepad.onAxisMove.add(tmp);
|
|
var _g1 = $bind(this,this.onGamepadButtonDown);
|
|
var gamepad2 = gamepad;
|
|
var tmp = function(button) {
|
|
_g1(gamepad2,button);
|
|
};
|
|
gamepad.onButtonDown.add(tmp);
|
|
var _g2 = $bind(this,this.onGamepadButtonUp);
|
|
var gamepad3 = gamepad;
|
|
var tmp = function(button) {
|
|
_g2(gamepad3,button);
|
|
};
|
|
gamepad.onButtonUp.add(tmp);
|
|
var _g3 = $bind(this,this.onGamepadDisconnect);
|
|
var gamepad4 = gamepad;
|
|
var tmp = function() {
|
|
_g3(gamepad4);
|
|
};
|
|
gamepad.onDisconnect.add(tmp);
|
|
}
|
|
,__onJoystickConnect: function(joystick) {
|
|
this.onJoystickConnect(joystick);
|
|
var _g = $bind(this,this.onJoystickAxisMove);
|
|
var joystick1 = joystick;
|
|
var tmp = function(axis,value) {
|
|
_g(joystick1,axis,value);
|
|
};
|
|
joystick.onAxisMove.add(tmp);
|
|
var _g1 = $bind(this,this.onJoystickButtonDown);
|
|
var joystick2 = joystick;
|
|
var tmp = function(button) {
|
|
_g1(joystick2,button);
|
|
};
|
|
joystick.onButtonDown.add(tmp);
|
|
var _g2 = $bind(this,this.onJoystickButtonUp);
|
|
var joystick3 = joystick;
|
|
var tmp = function(button) {
|
|
_g2(joystick3,button);
|
|
};
|
|
joystick.onButtonUp.add(tmp);
|
|
var _g3 = $bind(this,this.onJoystickDisconnect);
|
|
var joystick4 = joystick;
|
|
var tmp = function() {
|
|
_g3(joystick4);
|
|
};
|
|
joystick.onDisconnect.add(tmp);
|
|
var _g4 = $bind(this,this.onJoystickHatMove);
|
|
var joystick5 = joystick;
|
|
var tmp = function(hat,position) {
|
|
_g4(joystick5,hat,position);
|
|
};
|
|
joystick.onHatMove.add(tmp);
|
|
var _g5 = $bind(this,this.onJoystickTrackballMove);
|
|
var joystick6 = joystick;
|
|
var tmp = function(trackball,x,y) {
|
|
_g5(joystick6,trackball,x,y);
|
|
};
|
|
joystick.onTrackballMove.add(tmp);
|
|
}
|
|
,__onModuleExit: function(code) {
|
|
this.__backend.exit();
|
|
}
|
|
,__onWindowClose: function($window) {
|
|
if(this.__window == $window) {
|
|
this.onWindowClose();
|
|
}
|
|
this.__removeWindow($window);
|
|
}
|
|
,__unregisterLimeModule: function(application) {
|
|
application.onUpdate.remove($bind(this,this.update));
|
|
application.onExit.remove($bind(this,this.__onModuleExit));
|
|
application.onExit.remove($bind(this,this.onModuleExit));
|
|
lime_ui_Gamepad.onConnect.remove($bind(this,this.__onGamepadConnect));
|
|
lime_ui_Joystick.onConnect.remove($bind(this,this.__onJoystickConnect));
|
|
lime_ui_Touch.onCancel.remove($bind(this,this.onTouchCancel));
|
|
lime_ui_Touch.onStart.remove($bind(this,this.onTouchStart));
|
|
lime_ui_Touch.onMove.remove($bind(this,this.onTouchMove));
|
|
lime_ui_Touch.onEnd.remove($bind(this,this.onTouchEnd));
|
|
this.onModuleExit(0);
|
|
}
|
|
,get_preloader: function() {
|
|
return this.__preloader;
|
|
}
|
|
,get_window: function() {
|
|
return this.__window;
|
|
}
|
|
,get_windows: function() {
|
|
return this.__windows;
|
|
}
|
|
,__class__: lime_app_Application
|
|
,__properties__: {get_windows:"get_windows",get_window:"get_window",get_preloader:"get_preloader"}
|
|
});
|
|
var ApplicationMain = function() { };
|
|
$hxClasses["ApplicationMain"] = ApplicationMain;
|
|
ApplicationMain.__name__ = "ApplicationMain";
|
|
ApplicationMain.main = function() {
|
|
lime_system_System.__registerEntryPoint("Funkin",ApplicationMain.create);
|
|
};
|
|
ApplicationMain.create = function(config) {
|
|
var app = new openfl_display_Application();
|
|
ManifestResources.init(config);
|
|
app.meta.h["build"] = "4";
|
|
app.meta.h["company"] = "ninjamuffin99";
|
|
app.meta.h["file"] = "Funkin";
|
|
app.meta.h["name"] = "Friday Night Funkin'";
|
|
app.meta.h["packageName"] = "com.example.myapp";
|
|
app.meta.h["version"] = "0.2.7.1";
|
|
var attributes = { allowHighDPI : false, alwaysOnTop : false, borderless : false, element : null, frameRate : 60, height : 720, hidden : false, maximized : false, minimized : false, parameters : { }, resizable : true, title : "Friday Night Funkin'", width : 1280, x : null, y : null};
|
|
attributes.context = { antialiasing : 0, background : 0, colorDepth : 32, depth : true, hardware : true, stencil : true, type : null, vsync : false};
|
|
if(app.__window == null) {
|
|
if(config != null) {
|
|
var _g = 0;
|
|
var _g1 = Reflect.fields(config);
|
|
while(_g < _g1.length) {
|
|
var field = _g1[_g];
|
|
++_g;
|
|
if(Object.prototype.hasOwnProperty.call(attributes,field)) {
|
|
attributes[field] = Reflect.field(config,field);
|
|
} else if(Object.prototype.hasOwnProperty.call(attributes.context,field)) {
|
|
attributes.context[field] = Reflect.field(config,field);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
app.createWindow(attributes);
|
|
var preloader = new openfl_display_Preloader(new flixel_system_FlxPreloader());
|
|
app.__preloader.onProgress.add(function(loaded,total) {
|
|
preloader.update(loaded,total);
|
|
});
|
|
app.__preloader.onComplete.add(function() {
|
|
preloader.start();
|
|
});
|
|
var stage = (js_Boot.__cast(app.__window , openfl_display_Window)).stage;
|
|
var tmp = function() {
|
|
ApplicationMain.start(stage);
|
|
};
|
|
preloader.onComplete.add(tmp);
|
|
var _g = 0;
|
|
var _g1 = ManifestResources.preloadLibraries;
|
|
while(_g < _g1.length) {
|
|
var library = _g1[_g];
|
|
++_g;
|
|
app.__preloader.addLibrary(library);
|
|
}
|
|
var _g = 0;
|
|
var _g1 = ManifestResources.preloadLibraryNames;
|
|
while(_g < _g1.length) {
|
|
var name = _g1[_g];
|
|
++_g;
|
|
app.__preloader.addLibraryName(name);
|
|
}
|
|
app.__preloader.load();
|
|
var result = app.exec();
|
|
};
|
|
ApplicationMain.start = function(stage) {
|
|
try {
|
|
var current = stage.getChildAt(0);
|
|
if(current == null || !((current) instanceof openfl_display_DisplayObjectContainer)) {
|
|
current = new openfl_display_MovieClip();
|
|
stage.addChild(current);
|
|
}
|
|
new DocumentClass(current);
|
|
stage.dispatchEvent(new openfl_events_Event("resize",false,false));
|
|
if(stage.window.__fullscreen) {
|
|
stage.dispatchEvent(new openfl_events_FullScreenEvent("fullScreen",false,false,true,true));
|
|
}
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
var e = haxe_Exception.caught(_g).unwrap();
|
|
stage.__handleError(e);
|
|
}
|
|
};
|
|
var openfl_events_IEventDispatcher = function() { };
|
|
$hxClasses["openfl.events.IEventDispatcher"] = openfl_events_IEventDispatcher;
|
|
openfl_events_IEventDispatcher.__name__ = "openfl.events.IEventDispatcher";
|
|
openfl_events_IEventDispatcher.__isInterface__ = true;
|
|
openfl_events_IEventDispatcher.prototype = {
|
|
addEventListener: null
|
|
,dispatchEvent: null
|
|
,hasEventListener: null
|
|
,removeEventListener: null
|
|
,willTrigger: null
|
|
,__class__: openfl_events_IEventDispatcher
|
|
};
|
|
var openfl_events_EventDispatcher = function(target) {
|
|
if(target != null) {
|
|
this.__targetDispatcher = target;
|
|
}
|
|
};
|
|
$hxClasses["openfl.events.EventDispatcher"] = openfl_events_EventDispatcher;
|
|
openfl_events_EventDispatcher.__name__ = "openfl.events.EventDispatcher";
|
|
openfl_events_EventDispatcher.__interfaces__ = [openfl_events_IEventDispatcher];
|
|
openfl_events_EventDispatcher.prototype = {
|
|
__eventMap: null
|
|
,__iterators: null
|
|
,__targetDispatcher: null
|
|
,addEventListener: function(type,listener,useCapture,priority,useWeakReference) {
|
|
if(useWeakReference == null) {
|
|
useWeakReference = false;
|
|
}
|
|
if(priority == null) {
|
|
priority = 0;
|
|
}
|
|
if(useCapture == null) {
|
|
useCapture = false;
|
|
}
|
|
if(listener == null) {
|
|
return;
|
|
}
|
|
if(this.__eventMap == null) {
|
|
this.__eventMap = new haxe_ds_StringMap();
|
|
this.__iterators = new haxe_ds_StringMap();
|
|
}
|
|
if(!Object.prototype.hasOwnProperty.call(this.__eventMap.h,type)) {
|
|
var list = [];
|
|
list.push(new openfl_events__$EventDispatcher_Listener(listener,useCapture,priority));
|
|
var iterator = new openfl_events__$EventDispatcher_DispatchIterator(list);
|
|
this.__eventMap.h[type] = list;
|
|
this.__iterators.h[type] = [iterator];
|
|
} else {
|
|
var list = this.__eventMap.h[type];
|
|
var _g = 0;
|
|
var _g1 = list.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(list[i].match(listener,useCapture)) {
|
|
return;
|
|
}
|
|
}
|
|
var iterators = this.__iterators.h[type];
|
|
var _g = 0;
|
|
while(_g < iterators.length) {
|
|
var iterator = iterators[_g];
|
|
++_g;
|
|
if(iterator.active) {
|
|
iterator.copy();
|
|
}
|
|
}
|
|
this.__addListenerByPriority(list,new openfl_events__$EventDispatcher_Listener(listener,useCapture,priority));
|
|
}
|
|
}
|
|
,dispatchEvent: function(event) {
|
|
if(this.__targetDispatcher != null) {
|
|
event.target = this.__targetDispatcher;
|
|
} else {
|
|
event.target = this;
|
|
}
|
|
return this.__dispatchEvent(event);
|
|
}
|
|
,hasEventListener: function(type) {
|
|
if(this.__eventMap == null) {
|
|
return false;
|
|
}
|
|
return Object.prototype.hasOwnProperty.call(this.__eventMap.h,type);
|
|
}
|
|
,removeEventListener: function(type,listener,useCapture) {
|
|
if(useCapture == null) {
|
|
useCapture = false;
|
|
}
|
|
if(this.__eventMap == null || listener == null) {
|
|
return;
|
|
}
|
|
var list = this.__eventMap.h[type];
|
|
if(list == null) {
|
|
return;
|
|
}
|
|
var iterators = this.__iterators.h[type];
|
|
var _g = 0;
|
|
var _g1 = list.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(list[i].match(listener,useCapture)) {
|
|
var _g2 = 0;
|
|
while(_g2 < iterators.length) {
|
|
var iterator = iterators[_g2];
|
|
++_g2;
|
|
iterator.remove(list[i],i);
|
|
}
|
|
list.splice(i,1);
|
|
break;
|
|
}
|
|
}
|
|
if(list.length == 0) {
|
|
var _this = this.__eventMap;
|
|
if(Object.prototype.hasOwnProperty.call(_this.h,type)) {
|
|
delete(_this.h[type]);
|
|
}
|
|
var _this = this.__iterators;
|
|
if(Object.prototype.hasOwnProperty.call(_this.h,type)) {
|
|
delete(_this.h[type]);
|
|
}
|
|
}
|
|
if(!haxe_ds_StringMap.valueIterator(this.__eventMap.h).hasNext()) {
|
|
this.__eventMap = null;
|
|
this.__iterators = null;
|
|
}
|
|
}
|
|
,toString: function() {
|
|
var c = js_Boot.getClass(this);
|
|
var full = c.__name__;
|
|
var short = full.split(".").pop();
|
|
return "[object " + short + "]";
|
|
}
|
|
,willTrigger: function(type) {
|
|
return this.hasEventListener(type);
|
|
}
|
|
,__dispatchEvent: function(event) {
|
|
if(this.__eventMap == null || event == null) {
|
|
return true;
|
|
}
|
|
var type = event.type;
|
|
var list = this.__eventMap.h[type];
|
|
if(list == null) {
|
|
return true;
|
|
}
|
|
if(event.target == null) {
|
|
if(this.__targetDispatcher != null) {
|
|
event.target = this.__targetDispatcher;
|
|
} else {
|
|
event.target = this;
|
|
}
|
|
}
|
|
event.currentTarget = this;
|
|
var capture = event.eventPhase == 1;
|
|
var iterators = this.__iterators.h[type];
|
|
var iterator = iterators[0];
|
|
if(iterator.active) {
|
|
iterator = new openfl_events__$EventDispatcher_DispatchIterator(list);
|
|
iterators.push(iterator);
|
|
}
|
|
iterator.start();
|
|
var listener = iterator;
|
|
while(listener.hasNext()) {
|
|
var listener1 = listener.next();
|
|
if(listener1 == null) {
|
|
continue;
|
|
}
|
|
if(listener1.useCapture == capture) {
|
|
listener1.callback(event);
|
|
if(event.__isCanceledNow) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
iterator.stop();
|
|
if(iterator != iterators[0]) {
|
|
HxOverrides.remove(iterators,iterator);
|
|
} else {
|
|
iterator.reset(list);
|
|
}
|
|
return !event.isDefaultPrevented();
|
|
}
|
|
,__removeAllListeners: function() {
|
|
this.__eventMap = null;
|
|
this.__iterators = null;
|
|
}
|
|
,__addListenerByPriority: function(list,listener) {
|
|
var numElements = list.length;
|
|
var addAtPosition = numElements;
|
|
var _g = 0;
|
|
var _g1 = numElements;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(list[i].priority < listener.priority) {
|
|
addAtPosition = i;
|
|
break;
|
|
}
|
|
}
|
|
list.splice(addAtPosition,0,listener);
|
|
}
|
|
,__class__: openfl_events_EventDispatcher
|
|
};
|
|
var openfl_display_IBitmapDrawable = function() { };
|
|
$hxClasses["openfl.display.IBitmapDrawable"] = openfl_display_IBitmapDrawable;
|
|
openfl_display_IBitmapDrawable.__name__ = "openfl.display.IBitmapDrawable";
|
|
openfl_display_IBitmapDrawable.__isInterface__ = true;
|
|
openfl_display_IBitmapDrawable.prototype = {
|
|
__blendMode: null
|
|
,__isMask: null
|
|
,__renderable: null
|
|
,__renderTransform: null
|
|
,__transform: null
|
|
,__worldAlpha: null
|
|
,__worldColorTransform: null
|
|
,__worldTransform: null
|
|
,__getBounds: null
|
|
,__renderCairo: null
|
|
,__renderCairoMask: null
|
|
,__renderCanvas: null
|
|
,__renderCanvasMask: null
|
|
,__renderDOM: null
|
|
,__renderGL: null
|
|
,__renderGLMask: null
|
|
,__update: null
|
|
,__updateTransforms: null
|
|
,__mask: null
|
|
,__scrollRect: null
|
|
,__class__: openfl_display_IBitmapDrawable
|
|
};
|
|
var openfl_Vector = {};
|
|
openfl_Vector.__properties__ = {set_length:"set_length",get_length:"get_length",set_fixed:"set_fixed",get_fixed:"get_fixed"};
|
|
openfl_Vector.ofArray_Float = function(array) {
|
|
var vector = openfl_Vector.toFloatVector(null);
|
|
var _g = 0;
|
|
var _g1 = array.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
vector.set(i,array[i]);
|
|
}
|
|
return vector;
|
|
};
|
|
openfl_Vector.ofArray_Int = function(array) {
|
|
var vector = openfl_Vector.toIntVector(null);
|
|
var _g = 0;
|
|
var _g1 = array.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
vector.set(i,array[i]);
|
|
}
|
|
return vector;
|
|
};
|
|
openfl_Vector.concat = function(this1,vec) {
|
|
return this1.concat(vec);
|
|
};
|
|
openfl_Vector.copy = function(this1) {
|
|
return this1.copy();
|
|
};
|
|
openfl_Vector.filter = function(this1,callback) {
|
|
return this1.filter(callback);
|
|
};
|
|
openfl_Vector.get = function(this1,index) {
|
|
return this1.get(index);
|
|
};
|
|
openfl_Vector.indexOf = function(this1,searchElement,fromIndex) {
|
|
if(fromIndex == null) {
|
|
fromIndex = 0;
|
|
}
|
|
return this1.indexOf(searchElement,fromIndex);
|
|
};
|
|
openfl_Vector.insertAt = function(this1,index,element) {
|
|
this1.insertAt(index,element);
|
|
};
|
|
openfl_Vector.iterator = function(this1) {
|
|
return this1.iterator();
|
|
};
|
|
openfl_Vector.join = function(this1,sep) {
|
|
if(sep == null) {
|
|
sep = ",";
|
|
}
|
|
return this1.join(sep);
|
|
};
|
|
openfl_Vector.lastIndexOf = function(this1,searchElement,fromIndex) {
|
|
return this1.lastIndexOf(searchElement,fromIndex);
|
|
};
|
|
openfl_Vector.pop = function(this1) {
|
|
return this1.pop();
|
|
};
|
|
openfl_Vector.push = function(this1,value) {
|
|
return this1.push(value);
|
|
};
|
|
openfl_Vector.removeAt = function(this1,index) {
|
|
return this1.removeAt(index);
|
|
};
|
|
openfl_Vector.reverse = function(this1) {
|
|
return this1.reverse();
|
|
};
|
|
openfl_Vector.set = function(this1,index,value) {
|
|
return this1.set(index,value);
|
|
};
|
|
openfl_Vector.shift = function(this1) {
|
|
return this1.shift();
|
|
};
|
|
openfl_Vector.slice = function(this1,startIndex,endIndex) {
|
|
if(startIndex == null) {
|
|
startIndex = 0;
|
|
}
|
|
return this1.slice(startIndex,endIndex);
|
|
};
|
|
openfl_Vector.sort = function(this1,sortBehavior) {
|
|
this1.sort(sortBehavior);
|
|
};
|
|
openfl_Vector.splice = function(this1,startIndex,deleteCount) {
|
|
return this1.splice(startIndex,deleteCount);
|
|
};
|
|
openfl_Vector.toString = function(this1) {
|
|
if(this1 != null) {
|
|
return this1.toString();
|
|
} else {
|
|
return null;
|
|
}
|
|
};
|
|
openfl_Vector.unshift = function(this1,value) {
|
|
this1.unshift(value);
|
|
};
|
|
openfl_Vector.convert = function(vec) {
|
|
return vec;
|
|
};
|
|
openfl_Vector.toBoolVector = function(t,length,fixed,array) {
|
|
return new openfl__$Vector_BoolVector(length,fixed,array);
|
|
};
|
|
openfl_Vector.toIntVector = function(t,length,fixed,array) {
|
|
return new openfl__$Vector_IntVector(length,fixed,array);
|
|
};
|
|
openfl_Vector.toFloatVector = function(t,length,fixed,array) {
|
|
return new openfl__$Vector_FloatVector(length,fixed,array,true);
|
|
};
|
|
openfl_Vector.toFunctionVector = function(t,length,fixed,array) {
|
|
return new openfl__$Vector_FunctionVector(length,fixed,array);
|
|
};
|
|
openfl_Vector.toObjectVector = function(t,length,fixed,array) {
|
|
return new openfl__$Vector_ObjectVector(length,fixed,array,true);
|
|
};
|
|
openfl_Vector.toNullVector = function(t,length,fixed,array) {
|
|
return new openfl__$Vector_ObjectVector(length,fixed,array,true);
|
|
};
|
|
openfl_Vector.fromBoolVector = function(vector) {
|
|
return vector;
|
|
};
|
|
openfl_Vector.fromIntVector = function(vector) {
|
|
return vector;
|
|
};
|
|
openfl_Vector.fromFloatVector = function(vector) {
|
|
return vector;
|
|
};
|
|
openfl_Vector.fromFunctionVector = function(vector) {
|
|
return vector;
|
|
};
|
|
openfl_Vector.fromObjectVector = function(vector) {
|
|
return vector;
|
|
};
|
|
openfl_Vector.get_fixed = function(this1) {
|
|
return this1.fixed;
|
|
};
|
|
openfl_Vector.set_fixed = function(this1,value) {
|
|
return this1.fixed = value;
|
|
};
|
|
openfl_Vector.get_length = function(this1) {
|
|
return this1.get_length();
|
|
};
|
|
openfl_Vector.set_length = function(this1,value) {
|
|
return this1.set_length(value);
|
|
};
|
|
var lime_utils_ObjectPool = function(create,clean,size) {
|
|
this.__pool = new haxe_ds_ObjectMap();
|
|
this.activeObjects = 0;
|
|
this.inactiveObjects = 0;
|
|
this.__inactiveObject0 = null;
|
|
this.__inactiveObject1 = null;
|
|
this.__inactiveObjectList = new haxe_ds_List();
|
|
if(create != null) {
|
|
this.create = create;
|
|
}
|
|
if(clean != null) {
|
|
this.clean = clean;
|
|
}
|
|
if(size != null) {
|
|
this.set_size(size);
|
|
}
|
|
};
|
|
$hxClasses["lime.utils.ObjectPool"] = lime_utils_ObjectPool;
|
|
lime_utils_ObjectPool.__name__ = "lime.utils.ObjectPool";
|
|
lime_utils_ObjectPool.prototype = {
|
|
activeObjects: null
|
|
,inactiveObjects: null
|
|
,__inactiveObject0: null
|
|
,__inactiveObject1: null
|
|
,__inactiveObjectList: null
|
|
,__pool: null
|
|
,__size: null
|
|
,add: function(object) {
|
|
if(!this.__pool.exists(object)) {
|
|
this.__pool.set(object,false);
|
|
this.clean(object);
|
|
if(this.__inactiveObject0 == null) {
|
|
this.__inactiveObject0 = object;
|
|
} else if(this.__inactiveObject1 == null) {
|
|
this.__inactiveObject1 = object;
|
|
} else {
|
|
this.__inactiveObjectList.add(object);
|
|
}
|
|
this.inactiveObjects++;
|
|
}
|
|
}
|
|
,clean: function(object) {
|
|
}
|
|
,clear: function() {
|
|
this.__pool = new haxe_ds_ObjectMap();
|
|
this.activeObjects = 0;
|
|
this.inactiveObjects = 0;
|
|
this.__inactiveObject0 = null;
|
|
this.__inactiveObject1 = null;
|
|
this.__inactiveObjectList.clear();
|
|
}
|
|
,create: function() {
|
|
return null;
|
|
}
|
|
,get: function() {
|
|
var object = null;
|
|
if(this.inactiveObjects > 0) {
|
|
var object1 = null;
|
|
if(this.__inactiveObject0 != null) {
|
|
object1 = this.__inactiveObject0;
|
|
this.__inactiveObject0 = null;
|
|
} else if(this.__inactiveObject1 != null) {
|
|
object1 = this.__inactiveObject1;
|
|
this.__inactiveObject1 = null;
|
|
} else {
|
|
object1 = this.__inactiveObjectList.pop();
|
|
if(this.__inactiveObjectList.length > 0) {
|
|
this.__inactiveObject0 = this.__inactiveObjectList.pop();
|
|
}
|
|
if(this.__inactiveObjectList.length > 0) {
|
|
this.__inactiveObject1 = this.__inactiveObjectList.pop();
|
|
}
|
|
}
|
|
this.inactiveObjects--;
|
|
this.activeObjects++;
|
|
object = object1;
|
|
} else if(this.__size == null || this.activeObjects < this.__size) {
|
|
object = this.create();
|
|
if(object != null) {
|
|
this.__pool.set(object,true);
|
|
this.activeObjects++;
|
|
}
|
|
}
|
|
return object;
|
|
}
|
|
,release: function(object) {
|
|
this.activeObjects--;
|
|
if(this.__size == null || this.activeObjects + this.inactiveObjects < this.__size) {
|
|
this.clean(object);
|
|
if(this.__inactiveObject0 == null) {
|
|
this.__inactiveObject0 = object;
|
|
} else if(this.__inactiveObject1 == null) {
|
|
this.__inactiveObject1 = object;
|
|
} else {
|
|
this.__inactiveObjectList.add(object);
|
|
}
|
|
this.inactiveObjects++;
|
|
} else {
|
|
this.__pool.remove(object);
|
|
}
|
|
}
|
|
,remove: function(object) {
|
|
if(this.__pool.exists(object)) {
|
|
this.__pool.remove(object);
|
|
if(this.__inactiveObject0 == object) {
|
|
this.__inactiveObject0 = null;
|
|
this.inactiveObjects--;
|
|
} else if(this.__inactiveObject1 == object) {
|
|
this.__inactiveObject1 = null;
|
|
this.inactiveObjects--;
|
|
} else if(this.__inactiveObjectList.remove(object)) {
|
|
this.inactiveObjects--;
|
|
} else {
|
|
this.activeObjects--;
|
|
}
|
|
}
|
|
}
|
|
,__addInactive: function(object) {
|
|
if(this.__inactiveObject0 == null) {
|
|
this.__inactiveObject0 = object;
|
|
} else if(this.__inactiveObject1 == null) {
|
|
this.__inactiveObject1 = object;
|
|
} else {
|
|
this.__inactiveObjectList.add(object);
|
|
}
|
|
this.inactiveObjects++;
|
|
}
|
|
,__getInactive: function() {
|
|
var object = null;
|
|
if(this.__inactiveObject0 != null) {
|
|
object = this.__inactiveObject0;
|
|
this.__inactiveObject0 = null;
|
|
} else if(this.__inactiveObject1 != null) {
|
|
object = this.__inactiveObject1;
|
|
this.__inactiveObject1 = null;
|
|
} else {
|
|
object = this.__inactiveObjectList.pop();
|
|
if(this.__inactiveObjectList.length > 0) {
|
|
this.__inactiveObject0 = this.__inactiveObjectList.pop();
|
|
}
|
|
if(this.__inactiveObjectList.length > 0) {
|
|
this.__inactiveObject1 = this.__inactiveObjectList.pop();
|
|
}
|
|
}
|
|
this.inactiveObjects--;
|
|
this.activeObjects++;
|
|
return object;
|
|
}
|
|
,__removeInactive: function(count) {
|
|
if(count <= 0 || this.inactiveObjects == 0) {
|
|
return;
|
|
}
|
|
if(this.__inactiveObject0 != null) {
|
|
this.__pool.remove(this.__inactiveObject0);
|
|
this.__inactiveObject0 = null;
|
|
this.inactiveObjects--;
|
|
--count;
|
|
}
|
|
if(count == 0 || this.inactiveObjects == 0) {
|
|
return;
|
|
}
|
|
if(this.__inactiveObject1 != null) {
|
|
this.__pool.remove(this.__inactiveObject1);
|
|
this.__inactiveObject1 = null;
|
|
this.inactiveObjects--;
|
|
--count;
|
|
}
|
|
if(count == 0 || this.inactiveObjects == 0) {
|
|
return;
|
|
}
|
|
var _g_head = this.__inactiveObjectList.h;
|
|
while(_g_head != null) {
|
|
var val = _g_head.item;
|
|
_g_head = _g_head.next;
|
|
var object = val;
|
|
this.__pool.remove(object);
|
|
this.__inactiveObjectList.remove(object);
|
|
this.inactiveObjects--;
|
|
--count;
|
|
if(count == 0 || this.inactiveObjects == 0) {
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
,get_size: function() {
|
|
return this.__size;
|
|
}
|
|
,set_size: function(value) {
|
|
if(value == null) {
|
|
this.__size = null;
|
|
} else {
|
|
var current = this.inactiveObjects + this.activeObjects;
|
|
this.__size = value;
|
|
if(current > value) {
|
|
this.__removeInactive(current - value);
|
|
} else if(value > current) {
|
|
var object;
|
|
var _g = 0;
|
|
var _g1 = value - current;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
object = this.create();
|
|
if(object != null) {
|
|
this.__pool.set(object,false);
|
|
this.__inactiveObjectList.add(object);
|
|
this.inactiveObjects++;
|
|
} else {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return value;
|
|
}
|
|
,__class__: lime_utils_ObjectPool
|
|
,__properties__: {set_size:"set_size",get_size:"get_size"}
|
|
};
|
|
var haxe_IMap = function() { };
|
|
$hxClasses["haxe.IMap"] = haxe_IMap;
|
|
haxe_IMap.__name__ = "haxe.IMap";
|
|
haxe_IMap.__isInterface__ = true;
|
|
haxe_IMap.prototype = {
|
|
get: null
|
|
,set: null
|
|
,exists: null
|
|
,remove: null
|
|
,keys: null
|
|
,__class__: haxe_IMap
|
|
};
|
|
var haxe_ds_ObjectMap = function() {
|
|
this.h = { __keys__ : { }};
|
|
};
|
|
$hxClasses["haxe.ds.ObjectMap"] = haxe_ds_ObjectMap;
|
|
haxe_ds_ObjectMap.__name__ = "haxe.ds.ObjectMap";
|
|
haxe_ds_ObjectMap.__interfaces__ = [haxe_IMap];
|
|
haxe_ds_ObjectMap.count = null;
|
|
haxe_ds_ObjectMap.prototype = {
|
|
h: null
|
|
,set: function(key,value) {
|
|
var id = key.__id__;
|
|
if(id == null) {
|
|
id = (key.__id__ = $global.$haxeUID++);
|
|
}
|
|
this.h[id] = value;
|
|
this.h.__keys__[id] = key;
|
|
}
|
|
,get: function(key) {
|
|
return this.h[key.__id__];
|
|
}
|
|
,exists: function(key) {
|
|
return this.h.__keys__[key.__id__] != null;
|
|
}
|
|
,remove: function(key) {
|
|
var id = key.__id__;
|
|
if(this.h.__keys__[id] == null) {
|
|
return false;
|
|
}
|
|
delete(this.h[id]);
|
|
delete(this.h.__keys__[id]);
|
|
return true;
|
|
}
|
|
,keys: function() {
|
|
var a = [];
|
|
for( var key in this.h.__keys__ ) {
|
|
if(this.h.hasOwnProperty(key)) {
|
|
a.push(this.h.__keys__[key]);
|
|
}
|
|
}
|
|
return new haxe_iterators_ArrayIterator(a);
|
|
}
|
|
,__class__: haxe_ds_ObjectMap
|
|
};
|
|
var haxe_ds_List = function() {
|
|
this.length = 0;
|
|
};
|
|
$hxClasses["haxe.ds.List"] = haxe_ds_List;
|
|
haxe_ds_List.__name__ = "haxe.ds.List";
|
|
haxe_ds_List.prototype = {
|
|
h: null
|
|
,q: null
|
|
,length: null
|
|
,add: function(item) {
|
|
var x = new haxe_ds__$List_ListNode(item,null);
|
|
if(this.h == null) {
|
|
this.h = x;
|
|
} else {
|
|
this.q.next = x;
|
|
}
|
|
this.q = x;
|
|
this.length++;
|
|
}
|
|
,push: function(item) {
|
|
var x = new haxe_ds__$List_ListNode(item,this.h);
|
|
this.h = x;
|
|
if(this.q == null) {
|
|
this.q = x;
|
|
}
|
|
this.length++;
|
|
}
|
|
,pop: function() {
|
|
if(this.h == null) {
|
|
return null;
|
|
}
|
|
var x = this.h.item;
|
|
this.h = this.h.next;
|
|
if(this.h == null) {
|
|
this.q = null;
|
|
}
|
|
this.length--;
|
|
return x;
|
|
}
|
|
,clear: function() {
|
|
this.h = null;
|
|
this.q = null;
|
|
this.length = 0;
|
|
}
|
|
,remove: function(v) {
|
|
var prev = null;
|
|
var l = this.h;
|
|
while(l != null) {
|
|
if(l.item == v) {
|
|
if(prev == null) {
|
|
this.h = l.next;
|
|
} else {
|
|
prev.next = l.next;
|
|
}
|
|
if(this.q == l) {
|
|
this.q = prev;
|
|
}
|
|
this.length--;
|
|
return true;
|
|
}
|
|
prev = l;
|
|
l = l.next;
|
|
}
|
|
return false;
|
|
}
|
|
,iterator: function() {
|
|
return new haxe_ds__$List_ListIterator(this.h);
|
|
}
|
|
,__class__: haxe_ds_List
|
|
};
|
|
var openfl_display_DisplayObject = function() {
|
|
openfl_events_EventDispatcher.call(this);
|
|
this.__alpha = 1;
|
|
this.__blendMode = 10;
|
|
this.__cacheAsBitmap = false;
|
|
this.__transform = new openfl_geom_Matrix();
|
|
this.__visible = true;
|
|
this.__rotation = 0;
|
|
this.__rotationSine = 0;
|
|
this.__rotationCosine = 1;
|
|
this.__scaleX = 1;
|
|
this.__scaleY = 1;
|
|
this.__worldAlpha = 1;
|
|
this.__worldBlendMode = 10;
|
|
this.__worldTransform = new openfl_geom_Matrix();
|
|
this.__worldColorTransform = new openfl_geom_ColorTransform();
|
|
this.__renderTransform = new openfl_geom_Matrix();
|
|
this.__worldVisible = true;
|
|
this.set_name("instance" + ++openfl_display_DisplayObject.__instanceCount);
|
|
if(openfl_display_DisplayObject.__initStage != null) {
|
|
this.stage = openfl_display_DisplayObject.__initStage;
|
|
openfl_display_DisplayObject.__initStage = null;
|
|
this.stage.addChild(this);
|
|
}
|
|
};
|
|
$hxClasses["openfl.display.DisplayObject"] = openfl_display_DisplayObject;
|
|
openfl_display_DisplayObject.__name__ = "openfl.display.DisplayObject";
|
|
openfl_display_DisplayObject.__interfaces__ = [openfl_display_IBitmapDrawable];
|
|
openfl_display_DisplayObject.__initStage = null;
|
|
openfl_display_DisplayObject.__supportDOM = null;
|
|
openfl_display_DisplayObject.__calculateAbsoluteTransform = function(local,parentTransform,target) {
|
|
target.a = local.a * parentTransform.a + local.b * parentTransform.c;
|
|
target.b = local.a * parentTransform.b + local.b * parentTransform.d;
|
|
target.c = local.c * parentTransform.a + local.d * parentTransform.c;
|
|
target.d = local.c * parentTransform.b + local.d * parentTransform.d;
|
|
target.tx = local.tx * parentTransform.a + local.ty * parentTransform.c + parentTransform.tx;
|
|
target.ty = local.tx * parentTransform.b + local.ty * parentTransform.d + parentTransform.ty;
|
|
};
|
|
openfl_display_DisplayObject.__super__ = openfl_events_EventDispatcher;
|
|
openfl_display_DisplayObject.prototype = $extend(openfl_events_EventDispatcher.prototype,{
|
|
opaqueBackground: null
|
|
,parent: null
|
|
,stage: null
|
|
,__alpha: null
|
|
,__blendMode: null
|
|
,__cacheAsBitmap: null
|
|
,__cacheAsBitmapMatrix: null
|
|
,__cacheBitmap: null
|
|
,__cacheBitmapBackground: null
|
|
,__cacheBitmapColorTransform: null
|
|
,__cacheBitmapData: null
|
|
,__cacheBitmapData2: null
|
|
,__cacheBitmapData3: null
|
|
,__cacheBitmapMatrix: null
|
|
,__cacheBitmapRenderer: null
|
|
,__cairo: null
|
|
,__children: null
|
|
,__customRenderClear: null
|
|
,__customRenderEvent: null
|
|
,__filters: null
|
|
,__graphics: null
|
|
,__interactive: null
|
|
,__isCacheBitmapRender: null
|
|
,__isMask: null
|
|
,__loaderInfo: null
|
|
,__mask: null
|
|
,__maskTarget: null
|
|
,__name: null
|
|
,__objectTransform: null
|
|
,__renderable: null
|
|
,__renderDirty: null
|
|
,__renderParent: null
|
|
,__renderTransform: null
|
|
,__renderTransformCache: null
|
|
,__renderTransformChanged: null
|
|
,__rotation: null
|
|
,__rotationCosine: null
|
|
,__rotationSine: null
|
|
,__scale9Grid: null
|
|
,__scaleX: null
|
|
,__scaleY: null
|
|
,__scrollRect: null
|
|
,__shader: null
|
|
,__tempPoint: null
|
|
,__transform: null
|
|
,__transformDirty: null
|
|
,__visible: null
|
|
,__worldAlpha: null
|
|
,__worldAlphaChanged: null
|
|
,__worldBlendMode: null
|
|
,__worldClip: null
|
|
,__worldClipChanged: null
|
|
,__worldColorTransform: null
|
|
,__worldShader: null
|
|
,__worldScale9Grid: null
|
|
,__worldTransform: null
|
|
,__worldVisible: null
|
|
,__worldVisibleChanged: null
|
|
,__worldTransformInvalid: null
|
|
,__worldZ: null
|
|
,__canvas: null
|
|
,__context: null
|
|
,__style: null
|
|
,addEventListener: function(type,listener,useCapture,priority,useWeakReference) {
|
|
if(useWeakReference == null) {
|
|
useWeakReference = false;
|
|
}
|
|
if(priority == null) {
|
|
priority = 0;
|
|
}
|
|
if(useCapture == null) {
|
|
useCapture = false;
|
|
}
|
|
switch(type) {
|
|
case "activate":case "deactivate":case "enterFrame":case "exitFrame":case "frameConstructed":case "render":
|
|
if(!Object.prototype.hasOwnProperty.call(openfl_display_DisplayObject.__broadcastEvents.h,type)) {
|
|
openfl_display_DisplayObject.__broadcastEvents.h[type] = [];
|
|
}
|
|
var dispatchers = openfl_display_DisplayObject.__broadcastEvents.h[type];
|
|
if(dispatchers.indexOf(this) == -1) {
|
|
dispatchers.push(this);
|
|
}
|
|
break;
|
|
case "clearDOM":case "renderCairo":case "renderCanvas":case "renderDOM":case "renderOpenGL":
|
|
if(this.__customRenderEvent == null) {
|
|
this.__customRenderEvent = new openfl_events_RenderEvent(null);
|
|
this.__customRenderEvent.objectColorTransform = new openfl_geom_ColorTransform();
|
|
this.__customRenderEvent.objectMatrix = new openfl_geom_Matrix();
|
|
this.__customRenderClear = true;
|
|
}
|
|
break;
|
|
default:
|
|
}
|
|
openfl_events_EventDispatcher.prototype.addEventListener.call(this,type,listener,useCapture,priority,useWeakReference);
|
|
}
|
|
,dispatchEvent: function(event) {
|
|
if(((event) instanceof openfl_events_MouseEvent)) {
|
|
var mouseEvent = event;
|
|
var _this = this.__getRenderTransform();
|
|
mouseEvent.stageX = mouseEvent.localX * _this.a + mouseEvent.localY * _this.c + _this.tx;
|
|
var _this = this.__getRenderTransform();
|
|
mouseEvent.stageY = mouseEvent.localX * _this.b + mouseEvent.localY * _this.d + _this.ty;
|
|
} else if(((event) instanceof openfl_events_TouchEvent)) {
|
|
var touchEvent = event;
|
|
var _this = this.__getRenderTransform();
|
|
touchEvent.stageX = touchEvent.localX * _this.a + touchEvent.localY * _this.c + _this.tx;
|
|
var _this = this.__getRenderTransform();
|
|
touchEvent.stageY = touchEvent.localX * _this.b + touchEvent.localY * _this.d + _this.ty;
|
|
}
|
|
event.target = this;
|
|
return this.__dispatchWithCapture(event);
|
|
}
|
|
,getBounds: function(targetCoordinateSpace) {
|
|
var matrix = openfl_geom_Matrix.__pool.get();
|
|
if(targetCoordinateSpace != null && targetCoordinateSpace != this) {
|
|
matrix.copyFrom(this.__getWorldTransform());
|
|
var targetMatrix = openfl_geom_Matrix.__pool.get();
|
|
targetMatrix.copyFrom(targetCoordinateSpace.__getWorldTransform());
|
|
targetMatrix.invert();
|
|
matrix.concat(targetMatrix);
|
|
openfl_geom_Matrix.__pool.release(targetMatrix);
|
|
} else {
|
|
matrix.identity();
|
|
}
|
|
var bounds = new openfl_geom_Rectangle();
|
|
this.__getBounds(bounds,matrix);
|
|
openfl_geom_Matrix.__pool.release(matrix);
|
|
return bounds;
|
|
}
|
|
,getRect: function(targetCoordinateSpace) {
|
|
return this.getBounds(targetCoordinateSpace);
|
|
}
|
|
,globalToLocal: function(pos) {
|
|
return this.__globalToLocal(pos,new openfl_geom_Point());
|
|
}
|
|
,hitTestObject: function(obj) {
|
|
if(obj != null && obj.parent != null && this.parent != null) {
|
|
var currentBounds = this.getBounds(this);
|
|
var targetBounds = obj.getBounds(this);
|
|
return currentBounds.intersects(targetBounds);
|
|
}
|
|
return false;
|
|
}
|
|
,hitTestPoint: function(x,y,shapeFlag) {
|
|
if(shapeFlag == null) {
|
|
shapeFlag = false;
|
|
}
|
|
if(this.stage != null) {
|
|
return this.__hitTest(x,y,shapeFlag,null,false,this);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,invalidate: function() {
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
}
|
|
,localToGlobal: function(point) {
|
|
return this.__getRenderTransform().transformPoint(point);
|
|
}
|
|
,removeEventListener: function(type,listener,useCapture) {
|
|
if(useCapture == null) {
|
|
useCapture = false;
|
|
}
|
|
openfl_events_EventDispatcher.prototype.removeEventListener.call(this,type,listener,useCapture);
|
|
switch(type) {
|
|
case "activate":case "deactivate":case "enterFrame":case "exitFrame":case "frameConstructed":case "render":
|
|
if(!this.hasEventListener(type)) {
|
|
if(Object.prototype.hasOwnProperty.call(openfl_display_DisplayObject.__broadcastEvents.h,type)) {
|
|
HxOverrides.remove(openfl_display_DisplayObject.__broadcastEvents.h[type],this);
|
|
}
|
|
}
|
|
break;
|
|
case "clearDOM":case "renderCairo":case "renderCanvas":case "renderDOM":case "renderOpenGL":
|
|
if(!this.hasEventListener("clearDOM") && !this.hasEventListener("renderCairo") && !this.hasEventListener("renderCanvas") && !this.hasEventListener("renderDOM") && !this.hasEventListener("renderOpenGL")) {
|
|
this.__customRenderEvent = null;
|
|
}
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
,__cleanup: function() {
|
|
this.__cairo = null;
|
|
this.__canvas = null;
|
|
this.__context = null;
|
|
if(this.__graphics != null) {
|
|
this.__graphics.__cleanup();
|
|
}
|
|
if(this.__cacheBitmap != null) {
|
|
this.__cacheBitmap.__cleanup();
|
|
this.__cacheBitmap = null;
|
|
}
|
|
if(this.__cacheBitmapData != null) {
|
|
this.__cacheBitmapData.dispose();
|
|
this.__cacheBitmapData = null;
|
|
}
|
|
}
|
|
,__dispatch: function(event) {
|
|
if(this.__eventMap != null && this.hasEventListener(event.type)) {
|
|
var result = openfl_events_EventDispatcher.prototype.__dispatchEvent.call(this,event);
|
|
if(event.__isCanceled) {
|
|
return true;
|
|
}
|
|
return result;
|
|
}
|
|
return true;
|
|
}
|
|
,__dispatchChildren: function(event) {
|
|
}
|
|
,__dispatchEvent: function(event) {
|
|
var parent = event.bubbles ? this.parent : null;
|
|
var result = openfl_events_EventDispatcher.prototype.__dispatchEvent.call(this,event);
|
|
if(event.__isCanceled) {
|
|
return true;
|
|
}
|
|
if(parent != null && parent != this) {
|
|
event.eventPhase = 3;
|
|
if(event.target == null) {
|
|
event.target = this;
|
|
}
|
|
parent.__dispatchEvent(event);
|
|
}
|
|
return result;
|
|
}
|
|
,__dispatchWithCapture: function(event) {
|
|
if(event.target == null) {
|
|
event.target = this;
|
|
}
|
|
if(this.parent != null) {
|
|
event.eventPhase = 1;
|
|
if(this.parent == this.stage) {
|
|
this.parent.__dispatch(event);
|
|
} else {
|
|
var stack = openfl_display_DisplayObject.__tempStack.get();
|
|
var parent = this.parent;
|
|
var i = 0;
|
|
while(parent != null) {
|
|
stack.set(i,parent);
|
|
parent = parent.parent;
|
|
++i;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = i;
|
|
while(_g < _g1) {
|
|
var j = _g++;
|
|
stack.get(i - j - 1).__dispatch(event);
|
|
}
|
|
openfl_display_DisplayObject.__tempStack.release(stack);
|
|
}
|
|
}
|
|
event.eventPhase = 2;
|
|
return this.__dispatchEvent(event);
|
|
}
|
|
,__enterFrame: function(deltaTime) {
|
|
}
|
|
,__getBounds: function(rect,matrix) {
|
|
if(this.__graphics != null) {
|
|
this.__graphics.__getBounds(rect,matrix);
|
|
}
|
|
}
|
|
,__getCursor: function() {
|
|
return null;
|
|
}
|
|
,__getFilterBounds: function(rect,matrix) {
|
|
this.__getRenderBounds(rect,matrix);
|
|
if(this.__filters != null) {
|
|
var extension = openfl_geom_Rectangle.__pool.get();
|
|
var _g = 0;
|
|
var _g1 = this.__filters;
|
|
while(_g < _g1.length) {
|
|
var filter = _g1[_g];
|
|
++_g;
|
|
extension.__expand(-filter.__leftExtension,-filter.__topExtension,filter.__leftExtension + filter.__rightExtension,filter.__topExtension + filter.__bottomExtension);
|
|
}
|
|
rect.width += extension.width;
|
|
rect.height += extension.height;
|
|
rect.x += extension.x;
|
|
rect.y += extension.y;
|
|
openfl_geom_Rectangle.__pool.release(extension);
|
|
}
|
|
}
|
|
,__getInteractive: function(stack) {
|
|
return false;
|
|
}
|
|
,__getLocalBounds: function(rect) {
|
|
this.__getBounds(rect,this.__transform);
|
|
rect.x -= this.__transform.tx;
|
|
rect.y -= this.__transform.ty;
|
|
}
|
|
,__getRenderBounds: function(rect,matrix) {
|
|
if(this.__scrollRect == null) {
|
|
this.__getBounds(rect,matrix);
|
|
} else {
|
|
var r = openfl_geom_Rectangle.__pool.get();
|
|
r.copyFrom(this.__scrollRect);
|
|
r.__transform(r,matrix);
|
|
rect.__expand(r.x,r.y,r.width,r.height);
|
|
openfl_geom_Rectangle.__pool.release(r);
|
|
}
|
|
}
|
|
,__getRenderTransform: function() {
|
|
this.__getWorldTransform();
|
|
return this.__renderTransform;
|
|
}
|
|
,__getWorldTransform: function() {
|
|
var transformDirty = this.__transformDirty || this.__worldTransformInvalid;
|
|
if(transformDirty) {
|
|
var list = [];
|
|
var current = this;
|
|
if(this.parent == null) {
|
|
this.__update(true,false);
|
|
} else {
|
|
while(current != this.stage) {
|
|
list.push(current);
|
|
current = current.parent;
|
|
if(current == null) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
var i = list.length;
|
|
while(--i >= 0) {
|
|
current = list[i];
|
|
current.__update(true,false);
|
|
}
|
|
}
|
|
return this.__worldTransform;
|
|
}
|
|
,__globalToLocal: function(global,local) {
|
|
this.__getRenderTransform();
|
|
if(global == local) {
|
|
var _this = this.__renderTransform;
|
|
var norm = _this.a * _this.d - _this.b * _this.c;
|
|
if(norm == 0) {
|
|
global.x = -_this.tx;
|
|
global.y = -_this.ty;
|
|
} else {
|
|
var px = 1.0 / norm * (_this.c * (_this.ty - global.y) + _this.d * (global.x - _this.tx));
|
|
global.y = 1.0 / norm * (_this.a * (global.y - _this.ty) + _this.b * (_this.tx - global.x));
|
|
global.x = px;
|
|
}
|
|
} else {
|
|
var _this = this.__renderTransform;
|
|
var norm = _this.a * _this.d - _this.b * _this.c;
|
|
local.x = norm == 0 ? -_this.tx : 1.0 / norm * (_this.c * (_this.ty - global.y) + _this.d * (global.x - _this.tx));
|
|
var _this = this.__renderTransform;
|
|
var norm = _this.a * _this.d - _this.b * _this.c;
|
|
local.y = norm == 0 ? -_this.ty : 1.0 / norm * (_this.a * (global.y - _this.ty) + _this.b * (_this.tx - global.x));
|
|
}
|
|
return local;
|
|
}
|
|
,__hitTest: function(x,y,shapeFlag,stack,interactiveOnly,hitObject) {
|
|
if(this.__graphics != null) {
|
|
if(!hitObject.__visible || this.__isMask) {
|
|
return false;
|
|
}
|
|
if(this.get_mask() != null && !this.get_mask().__hitTestMask(x,y)) {
|
|
return false;
|
|
}
|
|
if(this.__graphics.__hitTest(x,y,shapeFlag,this.__getRenderTransform())) {
|
|
if(stack != null && !interactiveOnly) {
|
|
stack.push(hitObject);
|
|
}
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,__hitTestMask: function(x,y) {
|
|
if(this.__graphics != null) {
|
|
if(this.__graphics.__hitTest(x,y,true,this.__getRenderTransform())) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,__readGraphicsData: function(graphicsData,recurse) {
|
|
if(this.__graphics != null) {
|
|
this.__graphics.__readGraphicsData(graphicsData);
|
|
}
|
|
}
|
|
,__renderCairo: function(renderer) {
|
|
}
|
|
,__renderCairoMask: function(renderer) {
|
|
}
|
|
,__renderCanvas: function(renderer) {
|
|
if(this.get_mask() == null || this.get_mask().get_width() > 0 && this.get_mask().get_height() > 0) {
|
|
this.__updateCacheBitmap(renderer,false);
|
|
if(this.__cacheBitmap != null && !this.__isCacheBitmapRender) {
|
|
var bitmap = this.__cacheBitmap;
|
|
if(bitmap.__renderable) {
|
|
var alpha = renderer.__getAlpha(bitmap.__worldAlpha);
|
|
if(alpha > 0 && bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid && bitmap.__bitmapData.readable) {
|
|
var context = renderer.context;
|
|
renderer.__setBlendMode(bitmap.__worldBlendMode);
|
|
renderer.__pushMaskObject(bitmap,false);
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(bitmap.__bitmapData.image);
|
|
context.globalAlpha = alpha;
|
|
var scrollRect = bitmap.__scrollRect;
|
|
renderer.setTransform(bitmap.__renderTransform,context);
|
|
if(!renderer.__allowSmoothing || !bitmap.smoothing) {
|
|
context.imageSmoothingEnabled = false;
|
|
}
|
|
if(scrollRect == null) {
|
|
context.drawImage(bitmap.__bitmapData.image.get_src(),0,0,bitmap.__bitmapData.image.width,bitmap.__bitmapData.image.height);
|
|
} else {
|
|
context.drawImage(bitmap.__bitmapData.image.get_src(),scrollRect.x,scrollRect.y,scrollRect.width,scrollRect.height);
|
|
}
|
|
if(!renderer.__allowSmoothing || !bitmap.smoothing) {
|
|
context.imageSmoothingEnabled = true;
|
|
}
|
|
renderer.__popMaskObject(bitmap,false);
|
|
}
|
|
}
|
|
} else if(!(this.opaqueBackground == null && this.__graphics == null)) {
|
|
if(this.__renderable) {
|
|
var alpha = renderer.__getAlpha(this.__worldAlpha);
|
|
if(!(alpha <= 0)) {
|
|
if(this.opaqueBackground != null && !this.__isCacheBitmapRender && this.get_width() > 0 && this.get_height() > 0) {
|
|
renderer.__setBlendMode(this.__worldBlendMode);
|
|
renderer.__pushMaskObject(this);
|
|
var context = renderer.context;
|
|
renderer.setTransform(this.__renderTransform,context);
|
|
var color = this.opaqueBackground;
|
|
context.fillStyle = "rgb(" + (color >>> 16 & 255) + "," + (color >>> 8 & 255) + "," + (color & 255) + ")";
|
|
context.fillRect(0,0,this.get_width(),this.get_height());
|
|
renderer.__popMaskObject(this);
|
|
}
|
|
if(this.__graphics != null) {
|
|
if(this.__renderable) {
|
|
var alpha = renderer.__getAlpha(this.__worldAlpha);
|
|
if(!(alpha <= 0)) {
|
|
var graphics = this.__graphics;
|
|
if(graphics != null) {
|
|
openfl_display__$internal_CanvasGraphics.render(graphics,renderer);
|
|
var width = graphics.__width;
|
|
var height = graphics.__height;
|
|
var canvas = graphics.__canvas;
|
|
if(canvas != null && graphics.__visible && width >= 1 && height >= 1) {
|
|
var transform = graphics.__worldTransform;
|
|
var context = renderer.context;
|
|
var scrollRect = this.__scrollRect;
|
|
var scale9Grid = this.__worldScale9Grid;
|
|
if(scrollRect == null || scrollRect.width > 0 && scrollRect.height > 0) {
|
|
renderer.__setBlendMode(this.__worldBlendMode);
|
|
renderer.__pushMaskObject(this);
|
|
context.globalAlpha = alpha;
|
|
if(scale9Grid != null && transform.b == 0 && transform.c == 0) {
|
|
context.setTransform(1,0,0,1,transform.tx,transform.ty);
|
|
var bounds = graphics.__bounds;
|
|
var scaleX = graphics.__renderTransform.a;
|
|
var scaleY = graphics.__renderTransform.d;
|
|
var renderScaleX = transform.a;
|
|
var renderScaleY = transform.d;
|
|
var left = Math.max(1,Math.round(scale9Grid.x * scaleX));
|
|
var top = Math.round(scale9Grid.y * scaleY);
|
|
var right = Math.max(1,Math.round((bounds.get_right() - scale9Grid.get_right()) * scaleX));
|
|
var bottom = Math.round((bounds.get_bottom() - scale9Grid.get_bottom()) * scaleY);
|
|
var centerWidth = Math.round(scale9Grid.width * scaleX);
|
|
var centerHeight = Math.round(scale9Grid.height * scaleY);
|
|
var renderLeft = Math.round(scale9Grid.x * renderScaleX);
|
|
var renderTop = Math.round(scale9Grid.y * renderScaleY);
|
|
var renderRight = Math.round((bounds.get_right() - scale9Grid.get_right()) * renderScaleX);
|
|
var renderBottom = Math.round((bounds.get_bottom() - scale9Grid.get_bottom()) * renderScaleY);
|
|
var renderCenterWidth = Math.round(width * renderScaleX) - renderLeft - renderRight;
|
|
var renderCenterHeight = Math.round(height * renderScaleY) - renderTop - renderBottom;
|
|
renderer.applySmoothing(context,false);
|
|
if(centerWidth != 0 && centerHeight != 0) {
|
|
context.drawImage(canvas,0,0,left,top,0,0,renderLeft,renderTop);
|
|
context.drawImage(canvas,left,0,centerWidth,top,renderLeft,0,renderCenterWidth,renderTop);
|
|
context.drawImage(canvas,left + centerWidth,0,right,top,renderLeft + renderCenterWidth,0,renderRight,renderTop);
|
|
context.drawImage(canvas,0,top,left,centerHeight,0,renderTop,renderLeft,renderCenterHeight);
|
|
context.drawImage(canvas,left,top,centerWidth,centerHeight,renderLeft,renderTop,renderCenterWidth,renderCenterHeight);
|
|
context.drawImage(canvas,left + centerWidth,top,right,centerHeight,renderLeft + renderCenterWidth,renderTop,renderRight,renderCenterHeight);
|
|
context.drawImage(canvas,0,top + centerHeight,left,bottom,0,renderTop + renderCenterHeight,renderLeft,renderBottom);
|
|
context.drawImage(canvas,left,top + centerHeight,centerWidth,bottom,renderLeft,renderTop + renderCenterHeight,renderCenterWidth,renderBottom);
|
|
context.drawImage(canvas,left + centerWidth,top + centerHeight,right,bottom,renderLeft + renderCenterWidth,renderTop + renderCenterHeight,renderRight,renderBottom);
|
|
} else if(centerWidth == 0 && centerHeight != 0) {
|
|
var renderWidth = renderLeft + renderCenterWidth + renderRight;
|
|
context.drawImage(canvas,0,0,width,top,0,0,renderWidth,renderTop);
|
|
context.drawImage(canvas,0,top,width,centerHeight,0,renderTop,renderWidth,renderCenterHeight);
|
|
context.drawImage(canvas,0,top + centerHeight,width,bottom,0,renderTop + renderCenterHeight,renderWidth,renderBottom);
|
|
} else if(centerHeight == 0 && centerWidth != 0) {
|
|
var renderHeight = renderTop + renderCenterHeight + renderBottom;
|
|
context.drawImage(canvas,0,0,left,height,0,0,renderLeft,renderHeight);
|
|
context.drawImage(canvas,left,0,centerWidth,height,renderLeft,0,renderCenterWidth,renderHeight);
|
|
context.drawImage(canvas,left + centerWidth,0,right,height,renderLeft + renderCenterWidth,0,renderRight,renderHeight);
|
|
}
|
|
} else {
|
|
renderer.setTransform(transform,context);
|
|
if(renderer.__isDOM) {
|
|
var reverseScale = 1 / renderer.pixelRatio;
|
|
context.scale(reverseScale,reverseScale);
|
|
}
|
|
context.drawImage(canvas,0,0,width,height);
|
|
}
|
|
renderer.__popMaskObject(this);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
this.__renderEvent(renderer);
|
|
}
|
|
,__renderCanvasMask: function(renderer) {
|
|
if(this.__graphics != null) {
|
|
openfl_display__$internal_CanvasGraphics.renderMask(this.__graphics,renderer);
|
|
}
|
|
}
|
|
,__renderDOM: function(renderer) {
|
|
this.__updateCacheBitmap(renderer,false);
|
|
if(this.__cacheBitmap != null && !this.__isCacheBitmapRender) {
|
|
this.__renderDOMClear(renderer);
|
|
this.__cacheBitmap.stage = this.stage;
|
|
var bitmap = this.__cacheBitmap;
|
|
if(bitmap.stage != null && bitmap.__worldVisible && bitmap.__renderable && bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid && bitmap.__bitmapData.readable) {
|
|
renderer.__pushMaskObject(bitmap);
|
|
if(bitmap.__bitmapData.image.buffer.__srcImage != null) {
|
|
openfl_display__$internal_DOMBitmap.renderImage(bitmap,renderer);
|
|
} else {
|
|
openfl_display__$internal_DOMBitmap.renderCanvas(bitmap,renderer);
|
|
}
|
|
renderer.__popMaskObject(bitmap);
|
|
} else {
|
|
openfl_display__$internal_DOMBitmap.clear(bitmap,renderer);
|
|
}
|
|
} else {
|
|
var tmp = this.opaqueBackground != null && !this.__isCacheBitmapRender && this.get_width() > 0 && this.get_height() > 0;
|
|
var graphics = this.__graphics;
|
|
if(this.stage != null && this.__worldVisible && this.__renderable && graphics != null) {
|
|
openfl_display__$internal_CanvasGraphics.render(graphics,renderer.__canvasRenderer);
|
|
if(graphics.__softwareDirty || this.__worldAlphaChanged || this.__canvas != graphics.__canvas) {
|
|
if(graphics.__canvas != null) {
|
|
if(this.__canvas != graphics.__canvas) {
|
|
if(this.__canvas != null) {
|
|
renderer.element.removeChild(this.__canvas);
|
|
}
|
|
this.__canvas = graphics.__canvas;
|
|
this.__context = graphics.__context;
|
|
renderer.__initializeElement(this,this.__canvas);
|
|
}
|
|
} else {
|
|
openfl_display__$internal_DOMShape.clear(this,renderer);
|
|
}
|
|
}
|
|
if(this.__canvas != null) {
|
|
renderer.__pushMaskObject(this);
|
|
var cacheTransform = this.__renderTransform;
|
|
this.__renderTransform = graphics.__worldTransform;
|
|
if(graphics.__transformDirty) {
|
|
graphics.__transformDirty = false;
|
|
this.__renderTransformChanged = true;
|
|
}
|
|
renderer.__updateClip(this);
|
|
renderer.__applyStyle(this,true,true,true);
|
|
this.__renderTransform = cacheTransform;
|
|
renderer.__popMaskObject(this);
|
|
}
|
|
} else {
|
|
openfl_display__$internal_DOMShape.clear(this,renderer);
|
|
}
|
|
}
|
|
this.__renderEvent(renderer);
|
|
}
|
|
,__renderDOMClear: function(renderer) {
|
|
openfl_display__$internal_DOMDisplayObject.clear(this,renderer);
|
|
}
|
|
,__renderEvent: function(renderer) {
|
|
if(this.__customRenderEvent != null && this.__renderable) {
|
|
this.__customRenderEvent.allowSmoothing = renderer.__allowSmoothing;
|
|
this.__customRenderEvent.objectMatrix.copyFrom(this.__renderTransform);
|
|
this.__customRenderEvent.objectColorTransform.__copyFrom(this.__worldColorTransform);
|
|
this.__customRenderEvent.renderer = renderer;
|
|
switch(renderer.__type) {
|
|
case "cairo":
|
|
this.__customRenderEvent.type = "renderCairo";
|
|
break;
|
|
case "canvas":
|
|
this.__customRenderEvent.type = "renderCanvas";
|
|
break;
|
|
case "dom":
|
|
if(this.stage != null && this.__worldVisible) {
|
|
this.__customRenderEvent.type = "renderDOM";
|
|
} else {
|
|
this.__customRenderEvent.type = "clearDOM";
|
|
}
|
|
break;
|
|
case "opengl":
|
|
if(!renderer.__cleared) {
|
|
renderer.__clear();
|
|
}
|
|
var renderer1 = renderer;
|
|
renderer1.setShader(this.__worldShader);
|
|
renderer1.__context3D.__flushGL();
|
|
this.__customRenderEvent.type = "renderOpenGL";
|
|
break;
|
|
default:
|
|
return;
|
|
}
|
|
renderer.__setBlendMode(this.__worldBlendMode);
|
|
renderer.__pushMaskObject(this);
|
|
this.dispatchEvent(this.__customRenderEvent);
|
|
renderer.__popMaskObject(this);
|
|
if(renderer.__type == "opengl") {
|
|
var renderer1 = renderer;
|
|
renderer1.setViewport();
|
|
}
|
|
}
|
|
}
|
|
,__renderGL: function(renderer) {
|
|
this.__updateCacheBitmap(renderer,false);
|
|
if(this.__cacheBitmap != null && !this.__isCacheBitmapRender) {
|
|
openfl_display__$internal_Context3DBitmap.render(this.__cacheBitmap,renderer);
|
|
} else if(!(this.opaqueBackground == null && this.__graphics == null)) {
|
|
if(!(!this.__renderable || this.__worldAlpha <= 0)) {
|
|
if(this.opaqueBackground != null && !this.__isCacheBitmapRender && this.get_width() > 0 && this.get_height() > 0) {
|
|
renderer.__setBlendMode(this.__worldBlendMode);
|
|
renderer.__pushMaskObject(this);
|
|
var context = renderer.__context3D;
|
|
var rect = openfl_geom_Rectangle.__pool.get();
|
|
rect.setTo(0,0,this.get_width(),this.get_height());
|
|
renderer.__pushMaskRect(rect,this.__renderTransform);
|
|
var color = this.opaqueBackground;
|
|
context.clear((color >>> 16 & 255) / 255,(color >>> 8 & 255) / 255,(color & 255) / 255,1,0,0,1);
|
|
renderer.__popMaskRect();
|
|
renderer.__popMaskObject(this);
|
|
openfl_geom_Rectangle.__pool.release(rect);
|
|
}
|
|
if(this.__graphics != null) {
|
|
openfl_display__$internal_Context3DShape.render(this,renderer);
|
|
}
|
|
}
|
|
}
|
|
this.__renderEvent(renderer);
|
|
}
|
|
,__renderGLMask: function(renderer) {
|
|
if(this.__graphics != null) {
|
|
openfl_display__$internal_Context3DShape.renderMask(this,renderer);
|
|
}
|
|
}
|
|
,__setParentRenderDirty: function() {
|
|
var renderParent = this.__renderParent != null ? this.__renderParent : this.parent;
|
|
if(renderParent != null && !renderParent.__renderDirty) {
|
|
renderParent.__renderDirty = true;
|
|
renderParent.__setParentRenderDirty();
|
|
}
|
|
}
|
|
,__setRenderDirty: function() {
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
}
|
|
,__setStageReference: function(stage) {
|
|
this.stage = stage;
|
|
}
|
|
,__setTransformDirty: function() {
|
|
if(!this.__transformDirty) {
|
|
this.__transformDirty = true;
|
|
this.__setWorldTransformInvalid();
|
|
this.__setParentRenderDirty();
|
|
}
|
|
}
|
|
,__setWorldTransformInvalid: function() {
|
|
this.__worldTransformInvalid = true;
|
|
}
|
|
,__shouldCacheHardware: function(value) {
|
|
if(value == true || this.__filters != null) {
|
|
return true;
|
|
}
|
|
if(value == false || this.__graphics != null && !openfl_display__$internal_Context3DGraphics.isCompatible(this.__graphics)) {
|
|
return false;
|
|
}
|
|
return null;
|
|
}
|
|
,__stopAllMovieClips: function() {
|
|
}
|
|
,__update: function(transformOnly,updateChildren) {
|
|
var renderParent = this.__renderParent != null ? this.__renderParent : this.parent;
|
|
if(this.__isMask && renderParent == null) {
|
|
renderParent = this.__maskTarget;
|
|
}
|
|
this.__renderable = this.__visible && this.__scaleX != 0 && this.__scaleY != 0 && !this.__isMask && (renderParent == null || !renderParent.__isMask);
|
|
this.__updateTransforms();
|
|
this.__transformDirty = false;
|
|
this.__worldTransformInvalid = false;
|
|
if(!transformOnly) {
|
|
if(openfl_display_DisplayObject.__supportDOM) {
|
|
this.__renderTransformChanged = !this.__renderTransform.equals(this.__renderTransformCache);
|
|
if(this.__renderTransformCache == null) {
|
|
this.__renderTransformCache = this.__renderTransform.clone();
|
|
} else {
|
|
this.__renderTransformCache.copyFrom(this.__renderTransform);
|
|
}
|
|
}
|
|
if(renderParent != null) {
|
|
if(openfl_display_DisplayObject.__supportDOM) {
|
|
var worldVisible = renderParent.__worldVisible && this.__visible;
|
|
this.__worldVisibleChanged = this.__worldVisible != worldVisible;
|
|
this.__worldVisible = worldVisible;
|
|
var worldAlpha = this.get_alpha() * renderParent.__worldAlpha;
|
|
this.__worldAlphaChanged = this.__worldAlpha != worldAlpha;
|
|
this.__worldAlpha = worldAlpha;
|
|
} else {
|
|
this.__worldAlpha = this.get_alpha() * renderParent.__worldAlpha;
|
|
}
|
|
if(this.__objectTransform != null) {
|
|
this.__worldColorTransform.__copyFrom(this.__objectTransform.get_colorTransform());
|
|
this.__worldColorTransform.__combine(renderParent.__worldColorTransform);
|
|
} else {
|
|
this.__worldColorTransform.__copyFrom(renderParent.__worldColorTransform);
|
|
}
|
|
if(this.__blendMode == null || this.__blendMode == 10) {
|
|
this.__worldBlendMode = renderParent.__worldBlendMode;
|
|
} else {
|
|
this.__worldBlendMode = this.__blendMode;
|
|
}
|
|
if(this.__shader == null) {
|
|
this.__worldShader = renderParent.__shader;
|
|
} else {
|
|
this.__worldShader = this.__shader;
|
|
}
|
|
if(this.__scale9Grid == null) {
|
|
this.__worldScale9Grid = renderParent.__scale9Grid;
|
|
} else {
|
|
this.__worldScale9Grid = this.__scale9Grid;
|
|
}
|
|
} else {
|
|
this.__worldAlpha = this.get_alpha();
|
|
if(openfl_display_DisplayObject.__supportDOM) {
|
|
this.__worldVisibleChanged = this.__worldVisible != this.__visible;
|
|
this.__worldVisible = this.__visible;
|
|
this.__worldAlphaChanged = this.__worldAlpha != this.get_alpha();
|
|
}
|
|
if(this.__objectTransform != null) {
|
|
this.__worldColorTransform.__copyFrom(this.__objectTransform.get_colorTransform());
|
|
} else {
|
|
this.__worldColorTransform.__identity();
|
|
}
|
|
this.__worldBlendMode = this.__blendMode;
|
|
this.__worldShader = this.__shader;
|
|
this.__worldScale9Grid = this.__scale9Grid;
|
|
}
|
|
}
|
|
if(updateChildren && this.get_mask() != null) {
|
|
this.get_mask().__update(transformOnly,true);
|
|
}
|
|
}
|
|
,__updateCacheBitmap: function(renderer,force) {
|
|
if(this.__isCacheBitmapRender) {
|
|
return false;
|
|
}
|
|
var colorTransform = openfl_geom_ColorTransform.__pool.get();
|
|
colorTransform.__copyFrom(this.__worldColorTransform);
|
|
if(renderer.__worldColorTransform != null) {
|
|
colorTransform.__combine(renderer.__worldColorTransform);
|
|
}
|
|
var updated = false;
|
|
if(this.get_cacheAsBitmap() || renderer.__type != "opengl" && !colorTransform.__isDefault(true)) {
|
|
var rect = null;
|
|
var needRender = this.__cacheBitmap == null || this.__renderDirty && (force || this.__children != null && this.__children.length > 0) || this.opaqueBackground != this.__cacheBitmapBackground;
|
|
var softwareDirty = needRender || this.__graphics != null && this.__graphics.__softwareDirty || !this.__cacheBitmapColorTransform.__equals(colorTransform,true);
|
|
var hardwareDirty = needRender || this.__graphics != null && this.__graphics.__hardwareDirty;
|
|
var renderType = renderer.__type;
|
|
if(softwareDirty || hardwareDirty) {
|
|
if(renderType == "opengl") {
|
|
if(this.__shouldCacheHardware(null) == false) {
|
|
renderType = "canvas";
|
|
}
|
|
}
|
|
if(softwareDirty && (renderType == "canvas" || renderType == "cairo")) {
|
|
needRender = true;
|
|
}
|
|
if(hardwareDirty && renderType == "opengl") {
|
|
needRender = true;
|
|
}
|
|
}
|
|
var updateTransform = needRender || !this.__cacheBitmap.__worldTransform.equals(this.__worldTransform);
|
|
var hasFilters = this.__filters != null;
|
|
if(hasFilters && !needRender) {
|
|
var _g = 0;
|
|
var _g1 = this.__filters;
|
|
while(_g < _g1.length) {
|
|
var filter = _g1[_g];
|
|
++_g;
|
|
if(filter.__renderDirty) {
|
|
needRender = true;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
if(this.__cacheBitmapMatrix == null) {
|
|
this.__cacheBitmapMatrix = new openfl_geom_Matrix();
|
|
}
|
|
var bitmapMatrix = this.__cacheAsBitmapMatrix != null ? this.__cacheAsBitmapMatrix : this.__renderTransform;
|
|
if(!needRender && (bitmapMatrix.a != this.__cacheBitmapMatrix.a || bitmapMatrix.b != this.__cacheBitmapMatrix.b || bitmapMatrix.c != this.__cacheBitmapMatrix.c || bitmapMatrix.d != this.__cacheBitmapMatrix.d)) {
|
|
needRender = true;
|
|
}
|
|
if(!needRender && renderer.__type != "opengl" && this.__cacheBitmapData != null && this.__cacheBitmapData.image != null && this.__cacheBitmapData.image.version < this.__cacheBitmapData.__textureVersion) {
|
|
needRender = true;
|
|
}
|
|
this.__cacheBitmapMatrix.copyFrom(bitmapMatrix);
|
|
this.__cacheBitmapMatrix.tx = 0;
|
|
this.__cacheBitmapMatrix.ty = 0;
|
|
var bitmapWidth = 0;
|
|
var bitmapHeight = 0;
|
|
var filterWidth = 0;
|
|
var filterHeight = 0;
|
|
var offsetX = 0.;
|
|
var offsetY = 0.;
|
|
if(updateTransform || needRender) {
|
|
rect = openfl_geom_Rectangle.__pool.get();
|
|
this.__getFilterBounds(rect,this.__cacheBitmapMatrix);
|
|
filterWidth = Math.ceil(rect.width);
|
|
filterHeight = Math.ceil(rect.height);
|
|
offsetX = rect.x > 0 ? Math.ceil(rect.x) : Math.floor(rect.x);
|
|
offsetY = rect.y > 0 ? Math.ceil(rect.y) : Math.floor(rect.y);
|
|
if(this.__cacheBitmapData != null) {
|
|
if(filterWidth > this.__cacheBitmapData.width || filterHeight > this.__cacheBitmapData.height) {
|
|
bitmapWidth = Math.ceil(Math.max(filterWidth * 1.25,this.__cacheBitmapData.width));
|
|
bitmapHeight = Math.ceil(Math.max(filterHeight * 1.25,this.__cacheBitmapData.height));
|
|
needRender = true;
|
|
} else {
|
|
bitmapWidth = this.__cacheBitmapData.width;
|
|
bitmapHeight = this.__cacheBitmapData.height;
|
|
}
|
|
} else {
|
|
bitmapWidth = filterWidth;
|
|
bitmapHeight = filterHeight;
|
|
}
|
|
}
|
|
if(needRender) {
|
|
updateTransform = true;
|
|
this.__cacheBitmapBackground = this.opaqueBackground;
|
|
if(filterWidth >= 0.5 && filterHeight >= 0.5) {
|
|
var needsFill = this.opaqueBackground != null && (bitmapWidth != filterWidth || bitmapHeight != filterHeight);
|
|
var fillColor = this.opaqueBackground != null ? -16777216 | this.opaqueBackground : 0;
|
|
var bitmapColor = needsFill ? 0 : fillColor;
|
|
var allowFramebuffer = renderer.__type == "opengl";
|
|
if(this.__cacheBitmapData == null || bitmapWidth > this.__cacheBitmapData.width || bitmapHeight > this.__cacheBitmapData.height) {
|
|
this.__cacheBitmapData = new openfl_display_BitmapData(bitmapWidth,bitmapHeight,true,bitmapColor);
|
|
if(this.__cacheBitmap == null) {
|
|
this.__cacheBitmap = new openfl_display_Bitmap();
|
|
}
|
|
this.__cacheBitmap.__bitmapData = this.__cacheBitmapData;
|
|
this.__cacheBitmapRenderer = null;
|
|
} else {
|
|
this.__cacheBitmapData.__fillRect(this.__cacheBitmapData.rect,bitmapColor,allowFramebuffer);
|
|
}
|
|
if(needsFill) {
|
|
rect.setTo(0,0,filterWidth,filterHeight);
|
|
this.__cacheBitmapData.__fillRect(rect,fillColor,allowFramebuffer);
|
|
}
|
|
} else {
|
|
openfl_geom_ColorTransform.__pool.release(colorTransform);
|
|
this.__cacheBitmap = null;
|
|
this.__cacheBitmapData = null;
|
|
this.__cacheBitmapData2 = null;
|
|
this.__cacheBitmapData3 = null;
|
|
this.__cacheBitmapRenderer = null;
|
|
return true;
|
|
}
|
|
} else {
|
|
this.__cacheBitmapData = this.__cacheBitmap.get_bitmapData();
|
|
this.__cacheBitmapData2 = null;
|
|
this.__cacheBitmapData3 = null;
|
|
}
|
|
if(updateTransform || needRender) {
|
|
this.__cacheBitmap.__worldTransform.copyFrom(this.__worldTransform);
|
|
if(bitmapMatrix == this.__renderTransform) {
|
|
this.__cacheBitmap.__renderTransform.identity();
|
|
this.__cacheBitmap.__renderTransform.tx = this.__renderTransform.tx + offsetX;
|
|
this.__cacheBitmap.__renderTransform.ty = this.__renderTransform.ty + offsetY;
|
|
} else {
|
|
this.__cacheBitmap.__renderTransform.copyFrom(this.__cacheBitmapMatrix);
|
|
this.__cacheBitmap.__renderTransform.invert();
|
|
this.__cacheBitmap.__renderTransform.concat(this.__renderTransform);
|
|
this.__cacheBitmap.__renderTransform.tx += offsetX;
|
|
this.__cacheBitmap.__renderTransform.ty += offsetY;
|
|
}
|
|
}
|
|
this.__cacheBitmap.smoothing = renderer.__allowSmoothing;
|
|
this.__cacheBitmap.__renderable = this.__renderable;
|
|
this.__cacheBitmap.__worldAlpha = this.__worldAlpha;
|
|
this.__cacheBitmap.__worldBlendMode = this.__worldBlendMode;
|
|
this.__cacheBitmap.__worldShader = this.__worldShader;
|
|
this.__cacheBitmap.set_mask(this.__mask);
|
|
if(needRender) {
|
|
if(this.__cacheBitmapRenderer == null || renderType != this.__cacheBitmapRenderer.__type) {
|
|
if(renderType == "opengl") {
|
|
this.__cacheBitmapRenderer = new openfl_display_OpenGLRenderer((js_Boot.__cast(renderer , openfl_display_OpenGLRenderer)).__context3D,this.__cacheBitmapData);
|
|
} else {
|
|
if(this.__cacheBitmapData.image == null) {
|
|
var color = this.opaqueBackground != null ? -16777216 | this.opaqueBackground : 0;
|
|
this.__cacheBitmapData = new openfl_display_BitmapData(bitmapWidth,bitmapHeight,true,color);
|
|
this.__cacheBitmap.__bitmapData = this.__cacheBitmapData;
|
|
}
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(this.__cacheBitmapData.image);
|
|
this.__cacheBitmapRenderer = new openfl_display_CanvasRenderer(this.__cacheBitmapData.image.buffer.__srcContext);
|
|
}
|
|
this.__cacheBitmapRenderer.__worldTransform = new openfl_geom_Matrix();
|
|
this.__cacheBitmapRenderer.__worldColorTransform = new openfl_geom_ColorTransform();
|
|
}
|
|
if(this.__cacheBitmapColorTransform == null) {
|
|
this.__cacheBitmapColorTransform = new openfl_geom_ColorTransform();
|
|
}
|
|
this.__cacheBitmapRenderer.__stage = this.stage;
|
|
this.__cacheBitmapRenderer.__allowSmoothing = renderer.__allowSmoothing;
|
|
this.__cacheBitmapRenderer.__setBlendMode(10);
|
|
this.__cacheBitmapRenderer.__worldAlpha = 1 / this.__worldAlpha;
|
|
this.__cacheBitmapRenderer.__worldTransform.copyFrom(this.__renderTransform);
|
|
this.__cacheBitmapRenderer.__worldTransform.invert();
|
|
this.__cacheBitmapRenderer.__worldTransform.concat(this.__cacheBitmapMatrix);
|
|
this.__cacheBitmapRenderer.__worldTransform.tx -= offsetX;
|
|
this.__cacheBitmapRenderer.__worldTransform.ty -= offsetY;
|
|
this.__cacheBitmapRenderer.__worldColorTransform.__copyFrom(colorTransform);
|
|
this.__cacheBitmapRenderer.__worldColorTransform.__invert();
|
|
this.__isCacheBitmapRender = true;
|
|
if(this.__cacheBitmapRenderer.__type == "opengl") {
|
|
var parentRenderer = renderer;
|
|
var childRenderer = this.__cacheBitmapRenderer;
|
|
var context = childRenderer.__context3D;
|
|
var cacheRTT = context.__state.renderToTexture;
|
|
var cacheRTTDepthStencil = context.__state.renderToTextureDepthStencil;
|
|
var cacheRTTAntiAlias = context.__state.renderToTextureAntiAlias;
|
|
var cacheRTTSurfaceSelector = context.__state.renderToTextureSurfaceSelector;
|
|
var cacheBlendMode = parentRenderer.__blendMode;
|
|
parentRenderer.__suspendClipAndMask();
|
|
childRenderer.__copyShader(parentRenderer);
|
|
this.__cacheBitmapData.__setUVRect(context,0,0,filterWidth,filterHeight);
|
|
childRenderer.__setRenderTarget(this.__cacheBitmapData);
|
|
if(this.__cacheBitmapData.image != null) {
|
|
this.__cacheBitmapData.__textureVersion = this.__cacheBitmapData.image.version + 1;
|
|
}
|
|
this.__cacheBitmapData.__drawGL(this,childRenderer);
|
|
if(hasFilters) {
|
|
var needSecondBitmapData = true;
|
|
var needCopyOfOriginal = false;
|
|
var _g = 0;
|
|
var _g1 = this.__filters;
|
|
while(_g < _g1.length) {
|
|
var filter = _g1[_g];
|
|
++_g;
|
|
if(filter.__preserveObject) {
|
|
needCopyOfOriginal = true;
|
|
}
|
|
}
|
|
var bitmap = this.__cacheBitmapData;
|
|
var bitmap2 = null;
|
|
var bitmap3 = null;
|
|
if(this.__cacheBitmapData2 == null || bitmapWidth > this.__cacheBitmapData2.width || bitmapHeight > this.__cacheBitmapData2.height) {
|
|
this.__cacheBitmapData2 = new openfl_display_BitmapData(bitmapWidth,bitmapHeight,true,0);
|
|
} else {
|
|
this.__cacheBitmapData2.fillRect(this.__cacheBitmapData2.rect,0);
|
|
if(this.__cacheBitmapData2.image != null) {
|
|
this.__cacheBitmapData2.__textureVersion = this.__cacheBitmapData2.image.version + 1;
|
|
}
|
|
}
|
|
this.__cacheBitmapData2.__setUVRect(context,0,0,filterWidth,filterHeight);
|
|
bitmap2 = this.__cacheBitmapData2;
|
|
if(needCopyOfOriginal) {
|
|
if(this.__cacheBitmapData3 == null || bitmapWidth > this.__cacheBitmapData3.width || bitmapHeight > this.__cacheBitmapData3.height) {
|
|
this.__cacheBitmapData3 = new openfl_display_BitmapData(bitmapWidth,bitmapHeight,true,0);
|
|
} else {
|
|
this.__cacheBitmapData3.fillRect(this.__cacheBitmapData3.rect,0);
|
|
if(this.__cacheBitmapData3.image != null) {
|
|
this.__cacheBitmapData3.__textureVersion = this.__cacheBitmapData3.image.version + 1;
|
|
}
|
|
}
|
|
this.__cacheBitmapData3.__setUVRect(context,0,0,filterWidth,filterHeight);
|
|
bitmap3 = this.__cacheBitmapData3;
|
|
}
|
|
childRenderer.__setBlendMode(10);
|
|
childRenderer.__worldAlpha = 1;
|
|
childRenderer.__worldTransform.identity();
|
|
childRenderer.__worldColorTransform.__identity();
|
|
var shader;
|
|
var cacheBitmap;
|
|
var _g = 0;
|
|
var _g1 = this.__filters;
|
|
while(_g < _g1.length) {
|
|
var filter = _g1[_g];
|
|
++_g;
|
|
if(filter.__preserveObject) {
|
|
childRenderer.__setRenderTarget(bitmap3);
|
|
childRenderer.__renderFilterPass(bitmap,childRenderer.__defaultDisplayShader,filter.__smooth);
|
|
}
|
|
var _g2 = 0;
|
|
var _g3 = filter.__numShaderPasses;
|
|
while(_g2 < _g3) {
|
|
var i = _g2++;
|
|
shader = filter.__initShader(childRenderer,i,filter.__preserveObject ? bitmap3 : null);
|
|
childRenderer.__setBlendMode(filter.__shaderBlendMode);
|
|
childRenderer.__setRenderTarget(bitmap2);
|
|
childRenderer.__renderFilterPass(bitmap,shader,filter.__smooth);
|
|
cacheBitmap = bitmap;
|
|
bitmap = bitmap2;
|
|
bitmap2 = cacheBitmap;
|
|
}
|
|
filter.__renderDirty = false;
|
|
}
|
|
this.__cacheBitmap.__bitmapData = bitmap;
|
|
}
|
|
parentRenderer.__blendMode = 10;
|
|
parentRenderer.__setBlendMode(cacheBlendMode);
|
|
parentRenderer.__copyShader(childRenderer);
|
|
if(cacheRTT != null) {
|
|
context.setRenderToTexture(cacheRTT,cacheRTTDepthStencil,cacheRTTAntiAlias,cacheRTTSurfaceSelector);
|
|
} else {
|
|
context.setRenderToBackBuffer();
|
|
}
|
|
parentRenderer.__resumeClipAndMask(childRenderer);
|
|
parentRenderer.setViewport();
|
|
this.__cacheBitmapColorTransform.__copyFrom(colorTransform);
|
|
} else {
|
|
this.__cacheBitmapData.__drawCanvas(this,this.__cacheBitmapRenderer);
|
|
if(hasFilters) {
|
|
var needSecondBitmapData = false;
|
|
var needCopyOfOriginal = false;
|
|
var _g = 0;
|
|
var _g1 = this.__filters;
|
|
while(_g < _g1.length) {
|
|
var filter = _g1[_g];
|
|
++_g;
|
|
if(filter.__needSecondBitmapData) {
|
|
needSecondBitmapData = true;
|
|
}
|
|
if(filter.__preserveObject) {
|
|
needCopyOfOriginal = true;
|
|
}
|
|
}
|
|
var bitmap = this.__cacheBitmapData;
|
|
var bitmap2 = null;
|
|
var bitmap3 = null;
|
|
if(needSecondBitmapData) {
|
|
if(this.__cacheBitmapData2 == null || this.__cacheBitmapData2.image == null || bitmapWidth > this.__cacheBitmapData2.width || bitmapHeight > this.__cacheBitmapData2.height) {
|
|
this.__cacheBitmapData2 = new openfl_display_BitmapData(bitmapWidth,bitmapHeight,true,0);
|
|
} else {
|
|
this.__cacheBitmapData2.fillRect(this.__cacheBitmapData2.rect,0);
|
|
}
|
|
bitmap2 = this.__cacheBitmapData2;
|
|
} else {
|
|
bitmap2 = bitmap;
|
|
}
|
|
if(needCopyOfOriginal) {
|
|
if(this.__cacheBitmapData3 == null || this.__cacheBitmapData3.image == null || bitmapWidth > this.__cacheBitmapData3.width || bitmapHeight > this.__cacheBitmapData3.height) {
|
|
this.__cacheBitmapData3 = new openfl_display_BitmapData(bitmapWidth,bitmapHeight,true,0);
|
|
} else {
|
|
this.__cacheBitmapData3.fillRect(this.__cacheBitmapData3.rect,0);
|
|
}
|
|
bitmap3 = this.__cacheBitmapData3;
|
|
}
|
|
if(this.__tempPoint == null) {
|
|
this.__tempPoint = new openfl_geom_Point();
|
|
}
|
|
var destPoint = this.__tempPoint;
|
|
var cacheBitmap;
|
|
var lastBitmap;
|
|
var _g = 0;
|
|
var _g1 = this.__filters;
|
|
while(_g < _g1.length) {
|
|
var filter = _g1[_g];
|
|
++_g;
|
|
if(filter.__preserveObject) {
|
|
bitmap3.copyPixels(bitmap,bitmap.rect,destPoint);
|
|
}
|
|
lastBitmap = filter.__applyFilter(bitmap2,bitmap,bitmap.rect,destPoint);
|
|
if(filter.__preserveObject) {
|
|
lastBitmap.draw(bitmap3,null,this.__objectTransform != null ? this.__objectTransform.get_colorTransform() : null);
|
|
}
|
|
filter.__renderDirty = false;
|
|
if(needSecondBitmapData && lastBitmap == bitmap2) {
|
|
cacheBitmap = bitmap;
|
|
bitmap = bitmap2;
|
|
bitmap2 = cacheBitmap;
|
|
}
|
|
}
|
|
if(this.__cacheBitmapData != bitmap) {
|
|
cacheBitmap = this.__cacheBitmapData;
|
|
this.__cacheBitmapData = bitmap;
|
|
this.__cacheBitmapData2 = cacheBitmap;
|
|
this.__cacheBitmap.__bitmapData = this.__cacheBitmapData;
|
|
this.__cacheBitmapRenderer = null;
|
|
}
|
|
this.__cacheBitmap.__imageVersion = this.__cacheBitmapData.__textureVersion;
|
|
}
|
|
this.__cacheBitmapColorTransform.__copyFrom(colorTransform);
|
|
if(!this.__cacheBitmapColorTransform.__isDefault(true)) {
|
|
this.__cacheBitmapColorTransform.alphaMultiplier = 1;
|
|
this.__cacheBitmapData.colorTransform(this.__cacheBitmapData.rect,this.__cacheBitmapColorTransform);
|
|
}
|
|
}
|
|
this.__isCacheBitmapRender = false;
|
|
}
|
|
if(updateTransform || needRender) {
|
|
openfl_geom_Rectangle.__pool.release(rect);
|
|
}
|
|
updated = updateTransform;
|
|
} else if(this.__cacheBitmap != null) {
|
|
if(renderer.__type == "dom") {
|
|
this.__cacheBitmap.__renderDOMClear(renderer);
|
|
}
|
|
this.__cacheBitmap = null;
|
|
this.__cacheBitmapData = null;
|
|
this.__cacheBitmapData2 = null;
|
|
this.__cacheBitmapData3 = null;
|
|
this.__cacheBitmapColorTransform = null;
|
|
this.__cacheBitmapRenderer = null;
|
|
updated = true;
|
|
}
|
|
openfl_geom_ColorTransform.__pool.release(colorTransform);
|
|
return updated;
|
|
}
|
|
,__updateTransforms: function(overrideTransform) {
|
|
var overrided = overrideTransform != null;
|
|
var local = overrided ? overrideTransform : this.__transform;
|
|
if(this.__worldTransform == null) {
|
|
this.__worldTransform = new openfl_geom_Matrix();
|
|
}
|
|
if(this.__renderTransform == null) {
|
|
this.__renderTransform = new openfl_geom_Matrix();
|
|
}
|
|
var renderParent = this.__renderParent != null ? this.__renderParent : this.parent;
|
|
if(!overrided && this.parent != null) {
|
|
var parentTransform = this.parent.__worldTransform;
|
|
var target = this.__worldTransform;
|
|
target.a = local.a * parentTransform.a + local.b * parentTransform.c;
|
|
target.b = local.a * parentTransform.b + local.b * parentTransform.d;
|
|
target.c = local.c * parentTransform.a + local.d * parentTransform.c;
|
|
target.d = local.c * parentTransform.b + local.d * parentTransform.d;
|
|
target.tx = local.tx * parentTransform.a + local.ty * parentTransform.c + parentTransform.tx;
|
|
target.ty = local.tx * parentTransform.b + local.ty * parentTransform.d + parentTransform.ty;
|
|
} else {
|
|
this.__worldTransform.copyFrom(local);
|
|
}
|
|
if(!overrided && renderParent != null) {
|
|
var parentTransform = renderParent.__renderTransform;
|
|
var target = this.__renderTransform;
|
|
target.a = local.a * parentTransform.a + local.b * parentTransform.c;
|
|
target.b = local.a * parentTransform.b + local.b * parentTransform.d;
|
|
target.c = local.c * parentTransform.a + local.d * parentTransform.c;
|
|
target.d = local.c * parentTransform.b + local.d * parentTransform.d;
|
|
target.tx = local.tx * parentTransform.a + local.ty * parentTransform.c + parentTransform.tx;
|
|
target.ty = local.tx * parentTransform.b + local.ty * parentTransform.d + parentTransform.ty;
|
|
} else {
|
|
this.__renderTransform.copyFrom(local);
|
|
}
|
|
if(this.__scrollRect != null) {
|
|
var _this = this.__renderTransform;
|
|
var px = -this.__scrollRect.x;
|
|
var py = -this.__scrollRect.y;
|
|
_this.tx = px * _this.a + py * _this.c + _this.tx;
|
|
_this.ty = px * _this.b + py * _this.d + _this.ty;
|
|
}
|
|
}
|
|
,get_alpha: function() {
|
|
return this.__alpha;
|
|
}
|
|
,set_alpha: function(value) {
|
|
if(value > 1.0) {
|
|
value = 1.0;
|
|
}
|
|
if(value < 0.0) {
|
|
value = 0.0;
|
|
}
|
|
if(value != this.__alpha && !this.get_cacheAsBitmap()) {
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
}
|
|
return this.__alpha = value;
|
|
}
|
|
,get_blendMode: function() {
|
|
return this.__blendMode;
|
|
}
|
|
,set_blendMode: function(value) {
|
|
if(value == null) {
|
|
value = 10;
|
|
}
|
|
if(value != this.__blendMode) {
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
}
|
|
return this.__blendMode = value;
|
|
}
|
|
,get_cacheAsBitmap: function() {
|
|
if(this.__filters == null) {
|
|
return this.__cacheAsBitmap;
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
,set_cacheAsBitmap: function(value) {
|
|
if(value != this.__cacheAsBitmap) {
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
}
|
|
return this.__cacheAsBitmap = value;
|
|
}
|
|
,get_cacheAsBitmapMatrix: function() {
|
|
return this.__cacheAsBitmapMatrix;
|
|
}
|
|
,set_cacheAsBitmapMatrix: function(value) {
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
return this.__cacheAsBitmapMatrix = value != null ? value.clone() : value;
|
|
}
|
|
,get_filters: function() {
|
|
if(this.__filters == null) {
|
|
return [];
|
|
} else {
|
|
return this.__filters.slice();
|
|
}
|
|
}
|
|
,set_filters: function(value) {
|
|
if(value != null && value.length > 0) {
|
|
this.__filters = value;
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
} else if(this.__filters != null) {
|
|
this.__filters = null;
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
}
|
|
return value;
|
|
}
|
|
,get_height: function() {
|
|
var rect = openfl_geom_Rectangle.__pool.get();
|
|
this.__getLocalBounds(rect);
|
|
var height = rect.height;
|
|
openfl_geom_Rectangle.__pool.release(rect);
|
|
return height;
|
|
}
|
|
,set_height: function(value) {
|
|
var rect = openfl_geom_Rectangle.__pool.get();
|
|
var matrix = openfl_geom_Matrix.__pool.get();
|
|
matrix.identity();
|
|
this.__getBounds(rect,matrix);
|
|
if(value != rect.height) {
|
|
this.set_scaleY(value / rect.height);
|
|
} else {
|
|
this.set_scaleY(1);
|
|
}
|
|
openfl_geom_Rectangle.__pool.release(rect);
|
|
openfl_geom_Matrix.__pool.release(matrix);
|
|
return value;
|
|
}
|
|
,get_loaderInfo: function() {
|
|
if(this.stage != null) {
|
|
return openfl__$internal_Lib.current.__loaderInfo;
|
|
}
|
|
return null;
|
|
}
|
|
,get_mask: function() {
|
|
return this.__mask;
|
|
}
|
|
,set_mask: function(value) {
|
|
if(value == this.__mask) {
|
|
return value;
|
|
}
|
|
if(value != this.__mask) {
|
|
this.__setTransformDirty();
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
}
|
|
if(this.__mask != null) {
|
|
this.__mask.__isMask = false;
|
|
this.__mask.__maskTarget = null;
|
|
this.__mask.__setTransformDirty();
|
|
var _this = this.__mask;
|
|
if(!_this.__renderDirty) {
|
|
_this.__renderDirty = true;
|
|
_this.__setParentRenderDirty();
|
|
}
|
|
}
|
|
if(value != null) {
|
|
value.__isMask = true;
|
|
value.__maskTarget = this;
|
|
value.__setWorldTransformInvalid();
|
|
}
|
|
if(this.__cacheBitmap != null && this.__cacheBitmap.get_mask() != value) {
|
|
this.__cacheBitmap.set_mask(value);
|
|
}
|
|
return this.__mask = value;
|
|
}
|
|
,get_mouseX: function() {
|
|
var mouseX = this.stage != null ? this.stage.__mouseX : openfl__$internal_Lib.current.stage.__mouseX;
|
|
var mouseY = this.stage != null ? this.stage.__mouseY : openfl__$internal_Lib.current.stage.__mouseY;
|
|
var _this = this.__getRenderTransform();
|
|
var norm = _this.a * _this.d - _this.b * _this.c;
|
|
if(norm == 0) {
|
|
return -_this.tx;
|
|
} else {
|
|
return 1.0 / norm * (_this.c * (_this.ty - mouseY) + _this.d * (mouseX - _this.tx));
|
|
}
|
|
}
|
|
,get_mouseY: function() {
|
|
var mouseX = this.stage != null ? this.stage.__mouseX : openfl__$internal_Lib.current.stage.__mouseX;
|
|
var mouseY = this.stage != null ? this.stage.__mouseY : openfl__$internal_Lib.current.stage.__mouseY;
|
|
var _this = this.__getRenderTransform();
|
|
var norm = _this.a * _this.d - _this.b * _this.c;
|
|
if(norm == 0) {
|
|
return -_this.ty;
|
|
} else {
|
|
return 1.0 / norm * (_this.a * (mouseY - _this.ty) + _this.b * (_this.tx - mouseX));
|
|
}
|
|
}
|
|
,get_name: function() {
|
|
return this.__name;
|
|
}
|
|
,set_name: function(value) {
|
|
return this.__name = value;
|
|
}
|
|
,get_root: function() {
|
|
if(this.stage != null) {
|
|
return openfl__$internal_Lib.current;
|
|
}
|
|
return null;
|
|
}
|
|
,get_rotation: function() {
|
|
return this.__rotation;
|
|
}
|
|
,set_rotation: function(value) {
|
|
if(value != this.__rotation) {
|
|
this.__rotation = value;
|
|
var radians = this.__rotation * (Math.PI / 180);
|
|
this.__rotationSine = Math.sin(radians);
|
|
this.__rotationCosine = Math.cos(radians);
|
|
this.__transform.a = this.__rotationCosine * this.__scaleX;
|
|
this.__transform.b = this.__rotationSine * this.__scaleX;
|
|
this.__transform.c = -this.__rotationSine * this.__scaleY;
|
|
this.__transform.d = this.__rotationCosine * this.__scaleY;
|
|
this.__setTransformDirty();
|
|
}
|
|
return value;
|
|
}
|
|
,get_scale9Grid: function() {
|
|
if(this.__scale9Grid == null) {
|
|
return null;
|
|
}
|
|
return this.__scale9Grid.clone();
|
|
}
|
|
,set_scale9Grid: function(value) {
|
|
if(value == null && this.__scale9Grid == null) {
|
|
return value;
|
|
}
|
|
if(value != null && this.__scale9Grid != null && this.__scale9Grid.equals(value)) {
|
|
return value;
|
|
}
|
|
if(value != null) {
|
|
if(this.__scale9Grid == null) {
|
|
this.__scale9Grid = new openfl_geom_Rectangle();
|
|
}
|
|
this.__scale9Grid.copyFrom(value);
|
|
} else {
|
|
this.__scale9Grid = null;
|
|
}
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
return value;
|
|
}
|
|
,get_scaleX: function() {
|
|
return this.__scaleX;
|
|
}
|
|
,set_scaleX: function(value) {
|
|
if(value != this.__scaleX) {
|
|
this.__scaleX = value;
|
|
if(this.__transform.b == 0) {
|
|
if(value != this.__transform.a) {
|
|
this.__setTransformDirty();
|
|
}
|
|
this.__transform.a = value;
|
|
} else {
|
|
var a = this.__rotationCosine * value;
|
|
var b = this.__rotationSine * value;
|
|
if(this.__transform.a != a || this.__transform.b != b) {
|
|
this.__setTransformDirty();
|
|
}
|
|
this.__transform.a = a;
|
|
this.__transform.b = b;
|
|
}
|
|
}
|
|
return value;
|
|
}
|
|
,get_scaleY: function() {
|
|
return this.__scaleY;
|
|
}
|
|
,set_scaleY: function(value) {
|
|
if(value != this.__scaleY) {
|
|
this.__scaleY = value;
|
|
if(this.__transform.c == 0) {
|
|
if(value != this.__transform.d) {
|
|
this.__setTransformDirty();
|
|
}
|
|
this.__transform.d = value;
|
|
} else {
|
|
var c = -this.__rotationSine * value;
|
|
var d = this.__rotationCosine * value;
|
|
if(this.__transform.d != d || this.__transform.c != c) {
|
|
this.__setTransformDirty();
|
|
}
|
|
this.__transform.c = c;
|
|
this.__transform.d = d;
|
|
}
|
|
}
|
|
return value;
|
|
}
|
|
,get_scrollRect: function() {
|
|
if(this.__scrollRect == null) {
|
|
return null;
|
|
}
|
|
return this.__scrollRect.clone();
|
|
}
|
|
,set_scrollRect: function(value) {
|
|
if(value == null && this.__scrollRect == null) {
|
|
return value;
|
|
}
|
|
if(value != null && this.__scrollRect != null && this.__scrollRect.equals(value)) {
|
|
return value;
|
|
}
|
|
if(value != null) {
|
|
if(this.__scrollRect == null) {
|
|
this.__scrollRect = new openfl_geom_Rectangle();
|
|
}
|
|
this.__scrollRect.copyFrom(value);
|
|
} else {
|
|
this.__scrollRect = null;
|
|
}
|
|
this.__setTransformDirty();
|
|
if(openfl_display_DisplayObject.__supportDOM) {
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
}
|
|
return value;
|
|
}
|
|
,get_shader: function() {
|
|
return this.__shader;
|
|
}
|
|
,set_shader: function(value) {
|
|
this.__shader = value;
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
return value;
|
|
}
|
|
,get_transform: function() {
|
|
if(this.__objectTransform == null) {
|
|
this.__objectTransform = new openfl_geom_Transform(this);
|
|
}
|
|
return this.__objectTransform;
|
|
}
|
|
,set_transform: function(value) {
|
|
if(value == null) {
|
|
throw haxe_Exception.thrown(new openfl_errors_TypeError("Parameter transform must be non-null."));
|
|
}
|
|
if(this.__objectTransform == null) {
|
|
this.__objectTransform = new openfl_geom_Transform(this);
|
|
}
|
|
this.__setTransformDirty();
|
|
this.__objectTransform.set_matrix(value.get_matrix());
|
|
if(!this.__objectTransform.get_colorTransform().__equals(value.get_colorTransform(),true) || !this.get_cacheAsBitmap() && this.__objectTransform.get_colorTransform().alphaMultiplier != value.get_colorTransform().alphaMultiplier) {
|
|
this.__objectTransform.get_colorTransform().__copyFrom(value.get_colorTransform());
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
}
|
|
return this.__objectTransform;
|
|
}
|
|
,get_visible: function() {
|
|
return this.__visible;
|
|
}
|
|
,set_visible: function(value) {
|
|
if(value != this.__visible) {
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
}
|
|
return this.__visible = value;
|
|
}
|
|
,get_width: function() {
|
|
var rect = openfl_geom_Rectangle.__pool.get();
|
|
this.__getLocalBounds(rect);
|
|
var width = rect.width;
|
|
openfl_geom_Rectangle.__pool.release(rect);
|
|
return width;
|
|
}
|
|
,set_width: function(value) {
|
|
var rect = openfl_geom_Rectangle.__pool.get();
|
|
var matrix = openfl_geom_Matrix.__pool.get();
|
|
matrix.identity();
|
|
this.__getBounds(rect,matrix);
|
|
if(value != rect.width) {
|
|
this.set_scaleX(value / rect.width);
|
|
} else {
|
|
this.set_scaleX(1);
|
|
}
|
|
openfl_geom_Rectangle.__pool.release(rect);
|
|
openfl_geom_Matrix.__pool.release(matrix);
|
|
return value;
|
|
}
|
|
,get_x: function() {
|
|
return this.__transform.tx;
|
|
}
|
|
,set_x: function(value) {
|
|
if(value != this.__transform.tx) {
|
|
this.__setTransformDirty();
|
|
}
|
|
return this.__transform.tx = value;
|
|
}
|
|
,get_y: function() {
|
|
return this.__transform.ty;
|
|
}
|
|
,set_y: function(value) {
|
|
if(value != this.__transform.ty) {
|
|
this.__setTransformDirty();
|
|
}
|
|
return this.__transform.ty = value;
|
|
}
|
|
,__class__: openfl_display_DisplayObject
|
|
,__properties__: {set_y:"set_y",get_y:"get_y",set_x:"set_x",get_x:"get_x",set_width:"set_width",get_width:"get_width",set_visible:"set_visible",get_visible:"get_visible",set_transform:"set_transform",get_transform:"get_transform",set_shader:"set_shader",get_shader:"get_shader",set_scrollRect:"set_scrollRect",get_scrollRect:"get_scrollRect",set_scaleY:"set_scaleY",get_scaleY:"get_scaleY",set_scaleX:"set_scaleX",get_scaleX:"get_scaleX",set_scale9Grid:"set_scale9Grid",get_scale9Grid:"get_scale9Grid",set_rotation:"set_rotation",get_rotation:"get_rotation",get_root:"get_root",set_name:"set_name",get_name:"get_name",get_mouseY:"get_mouseY",get_mouseX:"get_mouseX",set_mask:"set_mask",get_mask:"get_mask",get_loaderInfo:"get_loaderInfo",set_height:"set_height",get_height:"get_height",set_filters:"set_filters",get_filters:"get_filters",set_cacheAsBitmapMatrix:"set_cacheAsBitmapMatrix",get_cacheAsBitmapMatrix:"get_cacheAsBitmapMatrix",set_cacheAsBitmap:"set_cacheAsBitmap",get_cacheAsBitmap:"get_cacheAsBitmap",set_blendMode:"set_blendMode",get_blendMode:"get_blendMode",set_alpha:"set_alpha",get_alpha:"get_alpha"}
|
|
});
|
|
var openfl_display_InteractiveObject = function() {
|
|
openfl_display_DisplayObject.call(this);
|
|
this.doubleClickEnabled = false;
|
|
this.mouseEnabled = true;
|
|
this.needsSoftKeyboard = false;
|
|
this.__tabEnabled = null;
|
|
this.__tabIndex = -1;
|
|
};
|
|
$hxClasses["openfl.display.InteractiveObject"] = openfl_display_InteractiveObject;
|
|
openfl_display_InteractiveObject.__name__ = "openfl.display.InteractiveObject";
|
|
openfl_display_InteractiveObject.__super__ = openfl_display_DisplayObject;
|
|
openfl_display_InteractiveObject.prototype = $extend(openfl_display_DisplayObject.prototype,{
|
|
doubleClickEnabled: null
|
|
,focusRect: null
|
|
,mouseEnabled: null
|
|
,needsSoftKeyboard: null
|
|
,softKeyboardInputAreaOfInterest: null
|
|
,__tabEnabled: null
|
|
,__tabIndex: null
|
|
,requestSoftKeyboard: function() {
|
|
openfl__$internal_Lib.notImplemented({ fileName : "openfl/display/InteractiveObject.hx", lineNumber : 57, className : "openfl.display.InteractiveObject", methodName : "requestSoftKeyboard"});
|
|
return false;
|
|
}
|
|
,__allowMouseFocus: function() {
|
|
return this.get_tabEnabled();
|
|
}
|
|
,__getInteractive: function(stack) {
|
|
if(stack != null) {
|
|
stack.push(this);
|
|
if(this.parent != null) {
|
|
this.parent.__getInteractive(stack);
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
,__hitTest: function(x,y,shapeFlag,stack,interactiveOnly,hitObject) {
|
|
if(!hitObject.get_visible() || this.__isMask || interactiveOnly && !this.mouseEnabled) {
|
|
return false;
|
|
}
|
|
return openfl_display_DisplayObject.prototype.__hitTest.call(this,x,y,shapeFlag,stack,interactiveOnly,hitObject);
|
|
}
|
|
,__tabTest: function(stack) {
|
|
if(this.get_tabEnabled()) {
|
|
stack.push(this);
|
|
}
|
|
}
|
|
,get_tabEnabled: function() {
|
|
if(this.__tabEnabled == true) {
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,set_tabEnabled: function(value) {
|
|
if(this.__tabEnabled != value) {
|
|
this.__tabEnabled = value;
|
|
this.dispatchEvent(new openfl_events_Event("tabEnabledChange",true,false));
|
|
}
|
|
return this.__tabEnabled;
|
|
}
|
|
,get_tabIndex: function() {
|
|
return this.__tabIndex;
|
|
}
|
|
,set_tabIndex: function(value) {
|
|
if(this.__tabIndex != value) {
|
|
if(value < -1) {
|
|
throw haxe_Exception.thrown(new openfl_errors_RangeError("Parameter tabIndex must be a non-negative number; got " + value));
|
|
}
|
|
this.__tabIndex = value;
|
|
this.dispatchEvent(new openfl_events_Event("tabIndexChange",true,false));
|
|
}
|
|
return this.__tabIndex;
|
|
}
|
|
,__class__: openfl_display_InteractiveObject
|
|
,__properties__: $extend(openfl_display_DisplayObject.prototype.__properties__,{set_tabIndex:"set_tabIndex",get_tabIndex:"get_tabIndex",set_tabEnabled:"set_tabEnabled",get_tabEnabled:"get_tabEnabled"})
|
|
});
|
|
var openfl_display_DisplayObjectContainer = function() {
|
|
openfl_display_InteractiveObject.call(this);
|
|
this.mouseChildren = true;
|
|
this.__tabChildren = true;
|
|
this.__children = [];
|
|
this.__removedChildren = openfl_Vector.toObjectVector(null);
|
|
};
|
|
$hxClasses["openfl.display.DisplayObjectContainer"] = openfl_display_DisplayObjectContainer;
|
|
openfl_display_DisplayObjectContainer.__name__ = "openfl.display.DisplayObjectContainer";
|
|
openfl_display_DisplayObjectContainer.__super__ = openfl_display_InteractiveObject;
|
|
openfl_display_DisplayObjectContainer.prototype = $extend(openfl_display_InteractiveObject.prototype,{
|
|
mouseChildren: null
|
|
,__removedChildren: null
|
|
,__tabChildren: null
|
|
,addChild: function(child) {
|
|
return this.addChildAt(child,this.get_numChildren());
|
|
}
|
|
,addChildAt: function(child,index) {
|
|
if(child == null) {
|
|
var error = new openfl_errors_TypeError("Error #2007: Parameter child must be non-null.");
|
|
error.errorID = 2007;
|
|
throw haxe_Exception.thrown(error);
|
|
} else if(child.stage == child) {
|
|
var error = new openfl_errors_ArgumentError("Error #3783: A Stage object cannot be added as the child of another object.");
|
|
error.errorID = 3783;
|
|
throw haxe_Exception.thrown(error);
|
|
}
|
|
if(index > this.__children.length || index < 0) {
|
|
throw haxe_Exception.thrown("Invalid index position " + index);
|
|
}
|
|
if(child.parent == this) {
|
|
if(this.__children[index] != child) {
|
|
HxOverrides.remove(this.__children,child);
|
|
this.__children.splice(index,0,child);
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
}
|
|
} else {
|
|
if(child.parent != null) {
|
|
child.parent.removeChild(child);
|
|
}
|
|
this.__children.splice(index,0,child);
|
|
child.parent = this;
|
|
var addedToStage = this.stage != null && child.stage == null;
|
|
if(addedToStage) {
|
|
child.__setStageReference(this.stage);
|
|
}
|
|
child.__setTransformDirty();
|
|
if(!child.__renderDirty) {
|
|
child.__renderDirty = true;
|
|
child.__setParentRenderDirty();
|
|
}
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
var event = new openfl_events_Event("added");
|
|
event.bubbles = true;
|
|
event.target = child;
|
|
child.__dispatchWithCapture(event);
|
|
if(addedToStage) {
|
|
event = new openfl_events_Event("addedToStage",false,false);
|
|
child.__dispatchWithCapture(event);
|
|
child.__dispatchChildren(event);
|
|
}
|
|
}
|
|
return child;
|
|
}
|
|
,areInaccessibleObjectsUnderPoint: function(point) {
|
|
return false;
|
|
}
|
|
,contains: function(child) {
|
|
while(child != this && child != null) child = child.parent;
|
|
return child == this;
|
|
}
|
|
,getChildAt: function(index) {
|
|
if(index >= 0 && index < this.__children.length) {
|
|
return this.__children[index];
|
|
}
|
|
return null;
|
|
}
|
|
,getChildByName: function(name) {
|
|
var _g = 0;
|
|
var _g1 = this.__children;
|
|
while(_g < _g1.length) {
|
|
var child = _g1[_g];
|
|
++_g;
|
|
if(child.get_name() == name) {
|
|
return child;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
,getChildIndex: function(child) {
|
|
var _g = 0;
|
|
var _g1 = this.__children.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(this.__children[i] == child) {
|
|
return i;
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
,getObjectsUnderPoint: function(point) {
|
|
var stack = [];
|
|
this.__hitTest(point.x,point.y,false,stack,false,this);
|
|
stack.reverse();
|
|
return stack;
|
|
}
|
|
,removeChild: function(child) {
|
|
if(child != null && child.parent == this) {
|
|
child.__setTransformDirty();
|
|
if(!child.__renderDirty) {
|
|
child.__renderDirty = true;
|
|
child.__setParentRenderDirty();
|
|
}
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
var event = new openfl_events_Event("removed",true);
|
|
child.__dispatchWithCapture(event);
|
|
if(this.stage != null) {
|
|
if(child.stage != null && this.stage.get_focus() == child) {
|
|
this.stage.set_focus(null);
|
|
}
|
|
var event = new openfl_events_Event("removedFromStage",false,false);
|
|
child.__dispatchWithCapture(event);
|
|
child.__dispatchChildren(event);
|
|
child.__setStageReference(null);
|
|
}
|
|
child.parent = null;
|
|
HxOverrides.remove(this.__children,child);
|
|
this.__removedChildren.push(child);
|
|
child.__setTransformDirty();
|
|
}
|
|
return child;
|
|
}
|
|
,removeChildAt: function(index) {
|
|
if(index >= 0 && index < this.__children.length) {
|
|
return this.removeChild(this.__children[index]);
|
|
}
|
|
return null;
|
|
}
|
|
,removeChildren: function(beginIndex,endIndex) {
|
|
if(endIndex == null) {
|
|
endIndex = 2147483647;
|
|
}
|
|
if(beginIndex == null) {
|
|
beginIndex = 0;
|
|
}
|
|
if(endIndex == 2147483647) {
|
|
endIndex = this.__children.length - 1;
|
|
if(endIndex < 0) {
|
|
return;
|
|
}
|
|
}
|
|
if(beginIndex > this.__children.length - 1) {
|
|
return;
|
|
} else if(endIndex < beginIndex || beginIndex < 0 || endIndex > this.__children.length) {
|
|
throw haxe_Exception.thrown(new openfl_errors_RangeError("The supplied index is out of bounds."));
|
|
}
|
|
var numRemovals = endIndex - beginIndex;
|
|
while(numRemovals >= 0) {
|
|
this.removeChildAt(beginIndex);
|
|
--numRemovals;
|
|
}
|
|
}
|
|
,resolve: function(fieldName) {
|
|
if(this.__children == null) {
|
|
return null;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.__children;
|
|
while(_g < _g1.length) {
|
|
var child = _g1[_g];
|
|
++_g;
|
|
if(child.get_name() == fieldName) {
|
|
return child;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
,setChildIndex: function(child,index) {
|
|
if(index >= 0 && index <= this.__children.length && child.parent == this) {
|
|
HxOverrides.remove(this.__children,child);
|
|
this.__children.splice(index,0,child);
|
|
}
|
|
}
|
|
,stopAllMovieClips: function() {
|
|
this.__stopAllMovieClips();
|
|
}
|
|
,swapChildren: function(child1,child2) {
|
|
if(child1.parent == this && child2.parent == this) {
|
|
var index1 = this.__children.indexOf(child1);
|
|
var index2 = this.__children.indexOf(child2);
|
|
this.__children[index1] = child2;
|
|
this.__children[index2] = child1;
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
}
|
|
}
|
|
,swapChildrenAt: function(index1,index2) {
|
|
var swap = this.__children[index1];
|
|
this.__children[index1] = this.__children[index2];
|
|
this.__children[index2] = swap;
|
|
swap = null;
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
}
|
|
,__cleanup: function() {
|
|
openfl_display_InteractiveObject.prototype.__cleanup.call(this);
|
|
var _g = 0;
|
|
var _g1 = this.__children;
|
|
while(_g < _g1.length) {
|
|
var child = _g1[_g];
|
|
++_g;
|
|
child.__cleanup();
|
|
}
|
|
var orphan = this.__removedChildren.iterator();
|
|
while(orphan.hasNext()) {
|
|
var orphan1 = orphan.next();
|
|
if(orphan1.stage == null) {
|
|
orphan1.__cleanup();
|
|
}
|
|
}
|
|
this.__removedChildren.set_length(0);
|
|
}
|
|
,__cleanupRemovedChildren: function() {
|
|
var orphan = this.__removedChildren.iterator();
|
|
while(orphan.hasNext()) {
|
|
var orphan1 = orphan.next();
|
|
if(orphan1.stage == null) {
|
|
orphan1.__cleanup();
|
|
}
|
|
}
|
|
this.__removedChildren.set_length(0);
|
|
}
|
|
,__dispatchChildren: function(event) {
|
|
if(this.__children != null) {
|
|
var _g = 0;
|
|
var _g1 = this.__children;
|
|
while(_g < _g1.length) {
|
|
var child = _g1[_g];
|
|
++_g;
|
|
event.target = child;
|
|
if(!child.__dispatchWithCapture(event)) {
|
|
break;
|
|
}
|
|
child.__dispatchChildren(event);
|
|
}
|
|
}
|
|
}
|
|
,__enterFrame: function(deltaTime) {
|
|
var _g = 0;
|
|
var _g1 = this.__children;
|
|
while(_g < _g1.length) {
|
|
var child = _g1[_g];
|
|
++_g;
|
|
child.__enterFrame(deltaTime);
|
|
}
|
|
}
|
|
,__getBounds: function(rect,matrix) {
|
|
openfl_display_InteractiveObject.prototype.__getBounds.call(this,rect,matrix);
|
|
if(this.__children.length == 0) {
|
|
return;
|
|
}
|
|
var childWorldTransform = openfl_geom_Matrix.__pool.get();
|
|
var _g = 0;
|
|
var _g1 = this.__children;
|
|
while(_g < _g1.length) {
|
|
var child = _g1[_g];
|
|
++_g;
|
|
if(child.__scaleX == 0 || child.__scaleY == 0) {
|
|
continue;
|
|
}
|
|
var local = child.__transform;
|
|
childWorldTransform.a = local.a * matrix.a + local.b * matrix.c;
|
|
childWorldTransform.b = local.a * matrix.b + local.b * matrix.d;
|
|
childWorldTransform.c = local.c * matrix.a + local.d * matrix.c;
|
|
childWorldTransform.d = local.c * matrix.b + local.d * matrix.d;
|
|
childWorldTransform.tx = local.tx * matrix.a + local.ty * matrix.c + matrix.tx;
|
|
childWorldTransform.ty = local.tx * matrix.b + local.ty * matrix.d + matrix.ty;
|
|
child.__getBounds(rect,childWorldTransform);
|
|
}
|
|
openfl_geom_Matrix.__pool.release(childWorldTransform);
|
|
}
|
|
,__getFilterBounds: function(rect,matrix) {
|
|
openfl_display_InteractiveObject.prototype.__getFilterBounds.call(this,rect,matrix);
|
|
if(this.__scrollRect != null) {
|
|
return;
|
|
}
|
|
if(this.__children.length == 0) {
|
|
return;
|
|
}
|
|
var childWorldTransform = openfl_geom_Matrix.__pool.get();
|
|
var _g = 0;
|
|
var _g1 = this.__children;
|
|
while(_g < _g1.length) {
|
|
var child = _g1[_g];
|
|
++_g;
|
|
if(child.__scaleX == 0 || child.__scaleY == 0 || child.__isMask) {
|
|
continue;
|
|
}
|
|
var local = child.__transform;
|
|
childWorldTransform.a = local.a * matrix.a + local.b * matrix.c;
|
|
childWorldTransform.b = local.a * matrix.b + local.b * matrix.d;
|
|
childWorldTransform.c = local.c * matrix.a + local.d * matrix.c;
|
|
childWorldTransform.d = local.c * matrix.b + local.d * matrix.d;
|
|
childWorldTransform.tx = local.tx * matrix.a + local.ty * matrix.c + matrix.tx;
|
|
childWorldTransform.ty = local.tx * matrix.b + local.ty * matrix.d + matrix.ty;
|
|
child.__getFilterBounds(rect,childWorldTransform);
|
|
}
|
|
openfl_geom_Matrix.__pool.release(childWorldTransform);
|
|
}
|
|
,__getRenderBounds: function(rect,matrix) {
|
|
if(this.__scrollRect != null) {
|
|
openfl_display_InteractiveObject.prototype.__getRenderBounds.call(this,rect,matrix);
|
|
return;
|
|
} else {
|
|
openfl_display_InteractiveObject.prototype.__getBounds.call(this,rect,matrix);
|
|
}
|
|
if(this.__children.length == 0) {
|
|
return;
|
|
}
|
|
var childWorldTransform = openfl_geom_Matrix.__pool.get();
|
|
var _g = 0;
|
|
var _g1 = this.__children;
|
|
while(_g < _g1.length) {
|
|
var child = _g1[_g];
|
|
++_g;
|
|
if(child.__scaleX == 0 || child.__scaleY == 0 || child.__isMask) {
|
|
continue;
|
|
}
|
|
var local = child.__transform;
|
|
childWorldTransform.a = local.a * matrix.a + local.b * matrix.c;
|
|
childWorldTransform.b = local.a * matrix.b + local.b * matrix.d;
|
|
childWorldTransform.c = local.c * matrix.a + local.d * matrix.c;
|
|
childWorldTransform.d = local.c * matrix.b + local.d * matrix.d;
|
|
childWorldTransform.tx = local.tx * matrix.a + local.ty * matrix.c + matrix.tx;
|
|
childWorldTransform.ty = local.tx * matrix.b + local.ty * matrix.d + matrix.ty;
|
|
child.__getRenderBounds(rect,childWorldTransform);
|
|
}
|
|
openfl_geom_Matrix.__pool.release(childWorldTransform);
|
|
}
|
|
,__hitTest: function(x,y,shapeFlag,stack,interactiveOnly,hitObject) {
|
|
if(!hitObject.get_visible() || this.__isMask || interactiveOnly && !this.mouseEnabled && !this.mouseChildren) {
|
|
return false;
|
|
}
|
|
if(this.get_mask() != null && !this.get_mask().__hitTestMask(x,y)) {
|
|
return false;
|
|
}
|
|
if(this.__scrollRect != null) {
|
|
var point = openfl_geom_Point.__pool.get();
|
|
point.setTo(x,y);
|
|
var _this = this.__getRenderTransform();
|
|
var norm = _this.a * _this.d - _this.b * _this.c;
|
|
if(norm == 0) {
|
|
point.x = -_this.tx;
|
|
point.y = -_this.ty;
|
|
} else {
|
|
var px = 1.0 / norm * (_this.c * (_this.ty - point.y) + _this.d * (point.x - _this.tx));
|
|
point.y = 1.0 / norm * (_this.a * (point.y - _this.ty) + _this.b * (_this.tx - point.x));
|
|
point.x = px;
|
|
}
|
|
if(!this.__scrollRect.containsPoint(point)) {
|
|
openfl_geom_Point.__pool.release(point);
|
|
return false;
|
|
}
|
|
openfl_geom_Point.__pool.release(point);
|
|
}
|
|
var i = this.__children.length;
|
|
if(interactiveOnly) {
|
|
if(stack == null || !this.mouseChildren) {
|
|
while(--i >= 0) if(this.__children[i].__hitTest(x,y,shapeFlag,null,true,this.__children[i])) {
|
|
if(stack != null) {
|
|
stack.push(hitObject);
|
|
}
|
|
return true;
|
|
}
|
|
} else if(stack != null) {
|
|
var length = stack.length;
|
|
var interactive = false;
|
|
var hitTest = false;
|
|
while(--i >= 0) {
|
|
interactive = this.__children[i].__getInteractive(null);
|
|
if(interactive || this.mouseEnabled && !hitTest) {
|
|
if(this.__children[i].__hitTest(x,y,shapeFlag,stack,true,this.__children[i])) {
|
|
hitTest = true;
|
|
if(interactive && stack.length > length) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if(hitTest) {
|
|
stack.splice(length,0,hitObject);
|
|
return true;
|
|
}
|
|
}
|
|
} else {
|
|
var hitTest = false;
|
|
while(--i >= 0) if(this.__children[i].__hitTest(x,y,shapeFlag,stack,false,this.__children[i])) {
|
|
hitTest = true;
|
|
if(stack == null) {
|
|
break;
|
|
}
|
|
}
|
|
return hitTest;
|
|
}
|
|
return false;
|
|
}
|
|
,__hitTestMask: function(x,y) {
|
|
var i = this.__children.length;
|
|
while(--i >= 0) if(this.__children[i].__hitTestMask(x,y)) {
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
,__readGraphicsData: function(graphicsData,recurse) {
|
|
openfl_display_InteractiveObject.prototype.__readGraphicsData.call(this,graphicsData,recurse);
|
|
if(recurse) {
|
|
var _g = 0;
|
|
var _g1 = this.__children;
|
|
while(_g < _g1.length) {
|
|
var child = _g1[_g];
|
|
++_g;
|
|
child.__readGraphicsData(graphicsData,recurse);
|
|
}
|
|
}
|
|
}
|
|
,__renderCairo: function(renderer) {
|
|
}
|
|
,__renderCairoMask: function(renderer) {
|
|
}
|
|
,__renderCanvas: function(renderer) {
|
|
var orphan = this.__removedChildren.iterator();
|
|
while(orphan.hasNext()) {
|
|
var orphan1 = orphan.next();
|
|
if(orphan1.stage == null) {
|
|
orphan1.__cleanup();
|
|
}
|
|
}
|
|
this.__removedChildren.set_length(0);
|
|
if(!this.__renderable || this.__worldAlpha <= 0 || this.get_mask() != null && (this.get_mask().get_width() <= 0 || this.get_mask().get_height() <= 0)) {
|
|
return;
|
|
}
|
|
openfl_display_InteractiveObject.prototype.__renderCanvas.call(this,renderer);
|
|
if(this.__cacheBitmap != null && !this.__isCacheBitmapRender) {
|
|
return;
|
|
}
|
|
renderer.__pushMaskObject(this);
|
|
if(renderer.__stage != null) {
|
|
var _g = 0;
|
|
var _g1 = this.__children;
|
|
while(_g < _g1.length) {
|
|
var child = _g1[_g];
|
|
++_g;
|
|
child.__renderCanvas(renderer);
|
|
child.__renderDirty = false;
|
|
}
|
|
this.__renderDirty = false;
|
|
} else {
|
|
var _g = 0;
|
|
var _g1 = this.__children;
|
|
while(_g < _g1.length) {
|
|
var child = _g1[_g];
|
|
++_g;
|
|
child.__renderCanvas(renderer);
|
|
}
|
|
}
|
|
renderer.__popMaskObject(this);
|
|
}
|
|
,__renderCanvasMask: function(renderer) {
|
|
var orphan = this.__removedChildren.iterator();
|
|
while(orphan.hasNext()) {
|
|
var orphan1 = orphan.next();
|
|
if(orphan1.stage == null) {
|
|
orphan1.__cleanup();
|
|
}
|
|
}
|
|
this.__removedChildren.set_length(0);
|
|
if(this.__graphics != null) {
|
|
openfl_display__$internal_CanvasGraphics.renderMask(this.__graphics,renderer);
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.__children;
|
|
while(_g < _g1.length) {
|
|
var child = _g1[_g];
|
|
++_g;
|
|
child.__renderCanvasMask(renderer);
|
|
}
|
|
}
|
|
,__renderDOM: function(renderer) {
|
|
var orphan = this.__removedChildren.iterator();
|
|
while(orphan.hasNext()) {
|
|
var orphan1 = orphan.next();
|
|
if(orphan1.stage == null) {
|
|
orphan1.__renderDOM(renderer);
|
|
}
|
|
}
|
|
var orphan = this.__removedChildren.iterator();
|
|
while(orphan.hasNext()) {
|
|
var orphan1 = orphan.next();
|
|
if(orphan1.stage == null) {
|
|
orphan1.__cleanup();
|
|
}
|
|
}
|
|
this.__removedChildren.set_length(0);
|
|
openfl_display_InteractiveObject.prototype.__renderDOM.call(this,renderer);
|
|
if(this.__cacheBitmap != null && !this.__isCacheBitmapRender) {
|
|
return;
|
|
}
|
|
renderer.__pushMaskObject(this);
|
|
if(renderer.__stage != null) {
|
|
var _g = 0;
|
|
var _g1 = this.__children;
|
|
while(_g < _g1.length) {
|
|
var child = _g1[_g];
|
|
++_g;
|
|
child.__renderDOM(renderer);
|
|
child.__renderDirty = false;
|
|
}
|
|
this.__renderDirty = false;
|
|
} else {
|
|
var _g = 0;
|
|
var _g1 = this.__children;
|
|
while(_g < _g1.length) {
|
|
var child = _g1[_g];
|
|
++_g;
|
|
child.__renderDOM(renderer);
|
|
}
|
|
}
|
|
renderer.__popMaskObject(this);
|
|
}
|
|
,__renderDOMClear: function(renderer) {
|
|
var orphan = this.__removedChildren.iterator();
|
|
while(orphan.hasNext()) {
|
|
var orphan1 = orphan.next();
|
|
if(orphan1.stage == null) {
|
|
orphan1.__renderDOMClear(renderer);
|
|
}
|
|
}
|
|
var orphan = this.__removedChildren.iterator();
|
|
while(orphan.hasNext()) {
|
|
var orphan1 = orphan.next();
|
|
if(orphan1.stage == null) {
|
|
orphan1.__cleanup();
|
|
}
|
|
}
|
|
this.__removedChildren.set_length(0);
|
|
var _g = 0;
|
|
var _g1 = this.__children;
|
|
while(_g < _g1.length) {
|
|
var child = _g1[_g];
|
|
++_g;
|
|
child.__renderDOMClear(renderer);
|
|
}
|
|
}
|
|
,__renderGL: function(renderer) {
|
|
var orphan = this.__removedChildren.iterator();
|
|
while(orphan.hasNext()) {
|
|
var orphan1 = orphan.next();
|
|
if(orphan1.stage == null) {
|
|
orphan1.__cleanup();
|
|
}
|
|
}
|
|
this.__removedChildren.set_length(0);
|
|
if(!this.__renderable || this.__worldAlpha <= 0) {
|
|
return;
|
|
}
|
|
openfl_display_InteractiveObject.prototype.__renderGL.call(this,renderer);
|
|
if(this.__cacheBitmap != null && !this.__isCacheBitmapRender) {
|
|
return;
|
|
}
|
|
if(this.__children.length > 0) {
|
|
renderer.__pushMaskObject(this);
|
|
if(renderer.__stage != null) {
|
|
var _g = 0;
|
|
var _g1 = this.__children;
|
|
while(_g < _g1.length) {
|
|
var child = _g1[_g];
|
|
++_g;
|
|
child.__renderGL(renderer);
|
|
child.__renderDirty = false;
|
|
}
|
|
this.__renderDirty = false;
|
|
} else {
|
|
var _g = 0;
|
|
var _g1 = this.__children;
|
|
while(_g < _g1.length) {
|
|
var child = _g1[_g];
|
|
++_g;
|
|
child.__renderGL(renderer);
|
|
}
|
|
}
|
|
}
|
|
if(this.__children.length > 0) {
|
|
renderer.__popMaskObject(this);
|
|
}
|
|
}
|
|
,__renderGLMask: function(renderer) {
|
|
var orphan = this.__removedChildren.iterator();
|
|
while(orphan.hasNext()) {
|
|
var orphan1 = orphan.next();
|
|
if(orphan1.stage == null) {
|
|
orphan1.__cleanup();
|
|
}
|
|
}
|
|
this.__removedChildren.set_length(0);
|
|
if(this.__graphics != null) {
|
|
openfl_display__$internal_Context3DShape.renderMask(this,renderer);
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.__children;
|
|
while(_g < _g1.length) {
|
|
var child = _g1[_g];
|
|
++_g;
|
|
child.__renderGLMask(renderer);
|
|
}
|
|
}
|
|
,__setStageReference: function(stage) {
|
|
openfl_display_InteractiveObject.prototype.__setStageReference.call(this,stage);
|
|
if(this.__children != null) {
|
|
var _g = 0;
|
|
var _g1 = this.__children;
|
|
while(_g < _g1.length) {
|
|
var child = _g1[_g];
|
|
++_g;
|
|
child.__setStageReference(stage);
|
|
}
|
|
}
|
|
}
|
|
,__setWorldTransformInvalid: function() {
|
|
if(!this.__worldTransformInvalid) {
|
|
this.__worldTransformInvalid = true;
|
|
if(this.__children != null) {
|
|
var _g = 0;
|
|
var _g1 = this.__children;
|
|
while(_g < _g1.length) {
|
|
var child = _g1[_g];
|
|
++_g;
|
|
child.__setWorldTransformInvalid();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,__shouldCacheHardware: function(value) {
|
|
if(value == true) {
|
|
return true;
|
|
}
|
|
value = openfl_display_InteractiveObject.prototype.__shouldCacheHardware.call(this,value);
|
|
if(value == true) {
|
|
return true;
|
|
}
|
|
if(this.__children != null) {
|
|
var _g = 0;
|
|
var _g1 = this.__children;
|
|
while(_g < _g1.length) {
|
|
var child = _g1[_g];
|
|
++_g;
|
|
value = child.__shouldCacheHardware(value);
|
|
if(value == true) {
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
return value;
|
|
}
|
|
,__stopAllMovieClips: function() {
|
|
var _g = 0;
|
|
var _g1 = this.__children;
|
|
while(_g < _g1.length) {
|
|
var child = _g1[_g];
|
|
++_g;
|
|
child.__stopAllMovieClips();
|
|
}
|
|
}
|
|
,__tabTest: function(stack) {
|
|
openfl_display_InteractiveObject.prototype.__tabTest.call(this,stack);
|
|
if(!this.get_tabChildren()) {
|
|
return;
|
|
}
|
|
var interactive = false;
|
|
var interactiveObject = null;
|
|
var _g = 0;
|
|
var _g1 = this.__children;
|
|
while(_g < _g1.length) {
|
|
var child = _g1[_g];
|
|
++_g;
|
|
interactive = child.__getInteractive(null);
|
|
if(interactive) {
|
|
interactiveObject = child;
|
|
interactiveObject.__tabTest(stack);
|
|
}
|
|
}
|
|
}
|
|
,__update: function(transformOnly,updateChildren) {
|
|
openfl_display_InteractiveObject.prototype.__update.call(this,transformOnly,updateChildren);
|
|
if(updateChildren) {
|
|
var _g = 0;
|
|
var _g1 = this.__children;
|
|
while(_g < _g1.length) {
|
|
var child = _g1[_g];
|
|
++_g;
|
|
child.__update(transformOnly,true);
|
|
}
|
|
}
|
|
}
|
|
,get_numChildren: function() {
|
|
return this.__children.length;
|
|
}
|
|
,get_tabChildren: function() {
|
|
return this.__tabChildren;
|
|
}
|
|
,set_tabChildren: function(value) {
|
|
if(this.__tabChildren != value) {
|
|
this.__tabChildren = value;
|
|
this.dispatchEvent(new openfl_events_Event("tabChildrenChange",true,false));
|
|
}
|
|
return this.__tabChildren;
|
|
}
|
|
,__class__: openfl_display_DisplayObjectContainer
|
|
,__properties__: $extend(openfl_display_InteractiveObject.prototype.__properties__,{set_tabChildren:"set_tabChildren",get_tabChildren:"get_tabChildren",get_numChildren:"get_numChildren"})
|
|
});
|
|
var openfl_display_Sprite = function() {
|
|
openfl_display_DisplayObjectContainer.call(this);
|
|
this.__buttonMode = false;
|
|
this.useHandCursor = true;
|
|
};
|
|
$hxClasses["openfl.display.Sprite"] = openfl_display_Sprite;
|
|
openfl_display_Sprite.__name__ = "openfl.display.Sprite";
|
|
openfl_display_Sprite.__super__ = openfl_display_DisplayObjectContainer;
|
|
openfl_display_Sprite.prototype = $extend(openfl_display_DisplayObjectContainer.prototype,{
|
|
dropTarget: null
|
|
,hitArea: null
|
|
,useHandCursor: null
|
|
,__buttonMode: null
|
|
,startDrag: function(lockCenter,bounds) {
|
|
if(lockCenter == null) {
|
|
lockCenter = false;
|
|
}
|
|
if(this.stage != null) {
|
|
this.stage.__startDrag(this,lockCenter,bounds);
|
|
}
|
|
}
|
|
,stopDrag: function() {
|
|
if(this.stage != null) {
|
|
this.stage.__stopDrag(this);
|
|
}
|
|
}
|
|
,__getCursor: function() {
|
|
if(this.__buttonMode && this.useHandCursor) {
|
|
return "button";
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
,__hitTest: function(x,y,shapeFlag,stack,interactiveOnly,hitObject) {
|
|
if(interactiveOnly && !this.mouseEnabled && !this.mouseChildren) {
|
|
return false;
|
|
}
|
|
if(!hitObject.get_visible() || this.__isMask) {
|
|
return this.__hitTestHitArea(x,y,shapeFlag,stack,interactiveOnly,hitObject);
|
|
}
|
|
if(this.get_mask() != null && !this.get_mask().__hitTestMask(x,y)) {
|
|
return this.__hitTestHitArea(x,y,shapeFlag,stack,interactiveOnly,hitObject);
|
|
}
|
|
if(this.__scrollRect != null) {
|
|
var point = openfl_geom_Point.__pool.get();
|
|
point.setTo(x,y);
|
|
var _this = this.__getRenderTransform();
|
|
var norm = _this.a * _this.d - _this.b * _this.c;
|
|
if(norm == 0) {
|
|
point.x = -_this.tx;
|
|
point.y = -_this.ty;
|
|
} else {
|
|
var px = 1.0 / norm * (_this.c * (_this.ty - point.y) + _this.d * (point.x - _this.tx));
|
|
point.y = 1.0 / norm * (_this.a * (point.y - _this.ty) + _this.b * (_this.tx - point.x));
|
|
point.x = px;
|
|
}
|
|
if(!this.__scrollRect.containsPoint(point)) {
|
|
openfl_geom_Point.__pool.release(point);
|
|
return this.__hitTestHitArea(x,y,shapeFlag,stack,true,hitObject);
|
|
}
|
|
openfl_geom_Point.__pool.release(point);
|
|
}
|
|
if(openfl_display_DisplayObjectContainer.prototype.__hitTest.call(this,x,y,shapeFlag,stack,interactiveOnly,hitObject)) {
|
|
if(stack != null) {
|
|
return interactiveOnly;
|
|
} else {
|
|
return true;
|
|
}
|
|
} else if(this.hitArea == null && this.__graphics != null && this.__graphics.__hitTest(x,y,shapeFlag,this.__getRenderTransform())) {
|
|
if(stack != null && (!interactiveOnly || this.mouseEnabled)) {
|
|
stack.push(hitObject);
|
|
}
|
|
return true;
|
|
}
|
|
return this.__hitTestHitArea(x,y,shapeFlag,stack,interactiveOnly,hitObject);
|
|
}
|
|
,__hitTestHitArea: function(x,y,shapeFlag,stack,interactiveOnly,hitObject) {
|
|
if(this.hitArea != null) {
|
|
if(!this.hitArea.mouseEnabled) {
|
|
this.hitArea.mouseEnabled = true;
|
|
var hitTest = this.hitArea.__hitTest(x,y,shapeFlag,null,true,hitObject);
|
|
this.hitArea.mouseEnabled = false;
|
|
if(stack != null && hitTest) {
|
|
stack[stack.length] = hitObject;
|
|
}
|
|
return hitTest;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,__hitTestMask: function(x,y) {
|
|
if(openfl_display_DisplayObjectContainer.prototype.__hitTestMask.call(this,x,y)) {
|
|
return true;
|
|
} else if(this.__graphics != null && this.__graphics.__hitTest(x,y,true,this.__getRenderTransform())) {
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
,get_graphics: function() {
|
|
if(this.__graphics == null) {
|
|
this.__graphics = new openfl_display_Graphics(this);
|
|
}
|
|
return this.__graphics;
|
|
}
|
|
,get_tabEnabled: function() {
|
|
if(this.__tabEnabled == null) {
|
|
return this.__buttonMode;
|
|
} else {
|
|
return this.__tabEnabled;
|
|
}
|
|
}
|
|
,get_buttonMode: function() {
|
|
return this.__buttonMode;
|
|
}
|
|
,set_buttonMode: function(value) {
|
|
return this.__buttonMode = value;
|
|
}
|
|
,__class__: openfl_display_Sprite
|
|
,__properties__: $extend(openfl_display_DisplayObjectContainer.prototype.__properties__,{get_graphics:"get_graphics",set_buttonMode:"set_buttonMode",get_buttonMode:"get_buttonMode"})
|
|
});
|
|
var Main = function() {
|
|
openfl_display_Sprite.call(this);
|
|
this.addChild(new flixel_FlxGame(0,0,TitleState));
|
|
this.addChild(new openfl_display_FPS(10,3,16777215));
|
|
};
|
|
$hxClasses["Main"] = Main;
|
|
Main.__name__ = "Main";
|
|
Main.__super__ = openfl_display_Sprite;
|
|
Main.prototype = $extend(openfl_display_Sprite.prototype,{
|
|
__class__: Main
|
|
});
|
|
var DocumentClass = function(current) {
|
|
current.addChild(this);
|
|
Main.call(this);
|
|
this.dispatchEvent(new openfl_events_Event("addedToStage",false,false));
|
|
};
|
|
$hxClasses["DocumentClass"] = DocumentClass;
|
|
DocumentClass.__name__ = "DocumentClass";
|
|
DocumentClass.__super__ = Main;
|
|
DocumentClass.prototype = $extend(Main.prototype,{
|
|
__class__: DocumentClass
|
|
});
|
|
var BackgroundDancer = function(x,y) {
|
|
this.danceDir = false;
|
|
flixel_FlxSprite.call(this,x,y);
|
|
this.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/limo/limoDancer.png","assets/images/limo/limoDancer.xml"));
|
|
this.animation.addByIndices("danceLeft","bg dancer sketch PINK",[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14],"",24,false);
|
|
this.animation.addByIndices("danceRight","bg dancer sketch PINK",[15,16,17,18,19,20,21,22,23,24,25,26,27,28,29],"",24,false);
|
|
this.animation.play("danceLeft");
|
|
this.set_antialiasing(true);
|
|
};
|
|
$hxClasses["BackgroundDancer"] = BackgroundDancer;
|
|
BackgroundDancer.__name__ = "BackgroundDancer";
|
|
BackgroundDancer.__super__ = flixel_FlxSprite;
|
|
BackgroundDancer.prototype = $extend(flixel_FlxSprite.prototype,{
|
|
danceDir: null
|
|
,dance: function() {
|
|
this.danceDir = !this.danceDir;
|
|
if(this.danceDir) {
|
|
this.animation.play("danceRight",true);
|
|
} else {
|
|
this.animation.play("danceLeft",true);
|
|
}
|
|
}
|
|
,__class__: BackgroundDancer
|
|
});
|
|
var BackgroundGirls = function(x,y) {
|
|
this.danceDir = false;
|
|
flixel_FlxSprite.call(this,x,y);
|
|
this.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/weeb/bgFreaks.png","assets/images/weeb/bgFreaks.xml"));
|
|
this.animation.addByIndices("danceLeft","BG girls group",CoolUtil.numberArray(14),"",24,false);
|
|
this.animation.addByIndices("danceRight","BG girls group",CoolUtil.numberArray(30,15),"",24,false);
|
|
this.animation.play("danceLeft");
|
|
};
|
|
$hxClasses["BackgroundGirls"] = BackgroundGirls;
|
|
BackgroundGirls.__name__ = "BackgroundGirls";
|
|
BackgroundGirls.__super__ = flixel_FlxSprite;
|
|
BackgroundGirls.prototype = $extend(flixel_FlxSprite.prototype,{
|
|
danceDir: null
|
|
,getScared: function() {
|
|
this.animation.addByIndices("danceLeft","BG fangirls dissuaded",CoolUtil.numberArray(14),"",24,false);
|
|
this.animation.addByIndices("danceRight","BG fangirls dissuaded",CoolUtil.numberArray(30,15),"",24,false);
|
|
this.dance();
|
|
}
|
|
,dance: function() {
|
|
this.danceDir = !this.danceDir;
|
|
if(this.danceDir) {
|
|
this.animation.play("danceRight",true);
|
|
} else {
|
|
this.animation.play("danceLeft",true);
|
|
}
|
|
}
|
|
,__class__: BackgroundGirls
|
|
});
|
|
var Character = function(x,y,character,isPlayer) {
|
|
if(isPlayer == null) {
|
|
isPlayer = false;
|
|
}
|
|
if(character == null) {
|
|
character = "bf";
|
|
}
|
|
this.danced = false;
|
|
this.holdTimer = 0;
|
|
this.curCharacter = "bf";
|
|
this.isPlayer = false;
|
|
this.debugMode = false;
|
|
this.animOffsets = new haxe_ds_StringMap();
|
|
flixel_FlxSprite.call(this,x,y);
|
|
this.curCharacter = character;
|
|
this.isPlayer = isPlayer;
|
|
var tex;
|
|
this.set_antialiasing(true);
|
|
switch(this.curCharacter) {
|
|
case "bf":
|
|
var tex1 = flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/BOYFRIEND.png","assets/images/BOYFRIEND.xml");
|
|
this.set_frames(tex1);
|
|
this.animation.addByPrefix("idle","BF idle dance",24,false);
|
|
this.animation.addByPrefix("singUP","BF NOTE UP0",24,false);
|
|
this.animation.addByPrefix("singLEFT","BF NOTE LEFT0",24,false);
|
|
this.animation.addByPrefix("singRIGHT","BF NOTE RIGHT0",24,false);
|
|
this.animation.addByPrefix("singDOWN","BF NOTE DOWN0",24,false);
|
|
this.animation.addByPrefix("singUPmiss","BF NOTE UP MISS",24,false);
|
|
this.animation.addByPrefix("singLEFTmiss","BF NOTE LEFT MISS",24,false);
|
|
this.animation.addByPrefix("singRIGHTmiss","BF NOTE RIGHT MISS",24,false);
|
|
this.animation.addByPrefix("singDOWNmiss","BF NOTE DOWN MISS",24,false);
|
|
this.animation.addByPrefix("hey","BF HEY",24,false);
|
|
this.animation.addByPrefix("firstDeath","BF dies",24,false);
|
|
this.animation.addByPrefix("deathLoop","BF Dead Loop",24,true);
|
|
this.animation.addByPrefix("deathConfirm","BF Dead confirm",24,false);
|
|
this.animation.addByPrefix("scared","BF idle shaking",24);
|
|
this.addOffset("idle",-5);
|
|
this.addOffset("singUP",-29,27);
|
|
this.addOffset("singRIGHT",-38,-7);
|
|
this.addOffset("singLEFT",12,-6);
|
|
this.addOffset("singDOWN",-10,-50);
|
|
this.addOffset("singUPmiss",-29,27);
|
|
this.addOffset("singRIGHTmiss",-30,21);
|
|
this.addOffset("singLEFTmiss",12,24);
|
|
this.addOffset("singDOWNmiss",-11,-19);
|
|
this.addOffset("hey",7,4);
|
|
this.addOffset("firstDeath",37,11);
|
|
this.addOffset("deathLoop",37,5);
|
|
this.addOffset("deathConfirm",37,69);
|
|
this.addOffset("scared",-4);
|
|
this.playAnim("idle");
|
|
this.set_flipX(true);
|
|
break;
|
|
case "bf-car":
|
|
var tex1 = flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/bfCar.png","assets/images/bfCar.xml");
|
|
this.set_frames(tex1);
|
|
this.animation.addByPrefix("idle","BF idle dance",24,false);
|
|
this.animation.addByPrefix("singUP","BF NOTE UP0",24,false);
|
|
this.animation.addByPrefix("singLEFT","BF NOTE LEFT0",24,false);
|
|
this.animation.addByPrefix("singRIGHT","BF NOTE RIGHT0",24,false);
|
|
this.animation.addByPrefix("singDOWN","BF NOTE DOWN0",24,false);
|
|
this.animation.addByPrefix("singUPmiss","BF NOTE UP MISS",24,false);
|
|
this.animation.addByPrefix("singLEFTmiss","BF NOTE LEFT MISS",24,false);
|
|
this.animation.addByPrefix("singRIGHTmiss","BF NOTE RIGHT MISS",24,false);
|
|
this.animation.addByPrefix("singDOWNmiss","BF NOTE DOWN MISS",24,false);
|
|
this.addOffset("idle",-5);
|
|
this.addOffset("singUP",-29,27);
|
|
this.addOffset("singRIGHT",-38,-7);
|
|
this.addOffset("singLEFT",12,-6);
|
|
this.addOffset("singDOWN",-10,-50);
|
|
this.addOffset("singUPmiss",-29,27);
|
|
this.addOffset("singRIGHTmiss",-30,21);
|
|
this.addOffset("singLEFTmiss",12,24);
|
|
this.addOffset("singDOWNmiss",-11,-19);
|
|
this.playAnim("idle");
|
|
this.set_flipX(true);
|
|
break;
|
|
case "bf-christmas":
|
|
var tex1 = flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/christmas/bfChristmas.png","assets/images/christmas/bfChristmas.xml");
|
|
this.set_frames(tex1);
|
|
this.animation.addByPrefix("idle","BF idle dance",24,false);
|
|
this.animation.addByPrefix("singUP","BF NOTE UP0",24,false);
|
|
this.animation.addByPrefix("singLEFT","BF NOTE LEFT0",24,false);
|
|
this.animation.addByPrefix("singRIGHT","BF NOTE RIGHT0",24,false);
|
|
this.animation.addByPrefix("singDOWN","BF NOTE DOWN0",24,false);
|
|
this.animation.addByPrefix("singUPmiss","BF NOTE UP MISS",24,false);
|
|
this.animation.addByPrefix("singLEFTmiss","BF NOTE LEFT MISS",24,false);
|
|
this.animation.addByPrefix("singRIGHTmiss","BF NOTE RIGHT MISS",24,false);
|
|
this.animation.addByPrefix("singDOWNmiss","BF NOTE DOWN MISS",24,false);
|
|
this.animation.addByPrefix("hey","BF HEY",24,false);
|
|
this.addOffset("idle",-5);
|
|
this.addOffset("singUP",-29,27);
|
|
this.addOffset("singRIGHT",-38,-7);
|
|
this.addOffset("singLEFT",12,-6);
|
|
this.addOffset("singDOWN",-10,-50);
|
|
this.addOffset("singUPmiss",-29,27);
|
|
this.addOffset("singRIGHTmiss",-30,21);
|
|
this.addOffset("singLEFTmiss",12,24);
|
|
this.addOffset("singDOWNmiss",-11,-19);
|
|
this.addOffset("hey",7,4);
|
|
this.playAnim("idle");
|
|
this.set_flipX(true);
|
|
break;
|
|
case "bf-pixel":
|
|
this.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/weeb/bfPixel.png","assets/images/weeb/bfPixel.xml"));
|
|
this.animation.addByPrefix("idle","BF IDLE",24,false);
|
|
this.animation.addByPrefix("singUP","BF UP NOTE",24,false);
|
|
this.animation.addByPrefix("singLEFT","BF LEFT NOTE",24,false);
|
|
this.animation.addByPrefix("singRIGHT","BF RIGHT NOTE",24,false);
|
|
this.animation.addByPrefix("singDOWN","BF DOWN NOTE",24,false);
|
|
this.animation.addByPrefix("singUPmiss","BF UP MISS",24,false);
|
|
this.animation.addByPrefix("singLEFTmiss","BF LEFT MISS",24,false);
|
|
this.animation.addByPrefix("singRIGHTmiss","BF RIGHT MISS",24,false);
|
|
this.animation.addByPrefix("singDOWNmiss","BF DOWN MISS",24,false);
|
|
this.addOffset("idle");
|
|
this.addOffset("singUP");
|
|
this.addOffset("singRIGHT");
|
|
this.addOffset("singLEFT");
|
|
this.addOffset("singDOWN");
|
|
this.addOffset("singUPmiss");
|
|
this.addOffset("singRIGHTmiss");
|
|
this.addOffset("singLEFTmiss");
|
|
this.addOffset("singDOWNmiss");
|
|
this.setGraphicSize(this.get_width() * 6 | 0);
|
|
this.updateHitbox();
|
|
this.playAnim("idle");
|
|
var _g = this;
|
|
_g.set_width(_g.get_width() - 100);
|
|
var _g = this;
|
|
_g.set_height(_g.get_height() - 100);
|
|
this.set_antialiasing(false);
|
|
this.set_flipX(true);
|
|
break;
|
|
case "bf-pixel-dead":
|
|
this.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/weeb/bfPixelsDEAD.png","assets/images/weeb/bfPixelsDEAD.xml"));
|
|
this.animation.addByPrefix("singUP","BF Dies pixel",24,false);
|
|
this.animation.addByPrefix("firstDeath","BF Dies pixel",24,false);
|
|
this.animation.addByPrefix("deathLoop","Retry Loop",24,true);
|
|
this.animation.addByPrefix("deathConfirm","RETRY CONFIRM",24,false);
|
|
this.animation.play("firstDeath");
|
|
this.addOffset("firstDeath");
|
|
this.addOffset("deathLoop",-37);
|
|
this.addOffset("deathConfirm",-37);
|
|
this.playAnim("firstDeath");
|
|
this.setGraphicSize(this.get_width() * 6 | 0);
|
|
this.updateHitbox();
|
|
this.set_antialiasing(false);
|
|
this.set_flipX(true);
|
|
break;
|
|
case "dad":
|
|
tex = flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/DADDY_DEAREST.png","assets/images/DADDY_DEAREST.xml");
|
|
this.set_frames(tex);
|
|
this.animation.addByPrefix("idle","Dad idle dance",24);
|
|
this.animation.addByPrefix("singUP","Dad Sing Note UP",24);
|
|
this.animation.addByPrefix("singRIGHT","Dad Sing Note RIGHT",24);
|
|
this.animation.addByPrefix("singDOWN","Dad Sing Note DOWN",24);
|
|
this.animation.addByPrefix("singLEFT","Dad Sing Note LEFT",24);
|
|
this.addOffset("idle");
|
|
this.addOffset("singUP",-6,50);
|
|
this.addOffset("singRIGHT",0,27);
|
|
this.addOffset("singLEFT",-10,10);
|
|
this.addOffset("singDOWN",0,-30);
|
|
this.playAnim("idle");
|
|
break;
|
|
case "gf":
|
|
tex = flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/GF_assets.png","assets/images/GF_assets.xml");
|
|
this.set_frames(tex);
|
|
this.animation.addByPrefix("cheer","GF Cheer",24,false);
|
|
this.animation.addByPrefix("singLEFT","GF left note",24,false);
|
|
this.animation.addByPrefix("singRIGHT","GF Right Note",24,false);
|
|
this.animation.addByPrefix("singUP","GF Up Note",24,false);
|
|
this.animation.addByPrefix("singDOWN","GF Down Note",24,false);
|
|
this.animation.addByIndices("sad","gf sad",[0,1,2,3,4,5,6,7,8,9,10,11,12],"",24,false);
|
|
this.animation.addByIndices("danceLeft","GF Dancing Beat",[30,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14],"",24,false);
|
|
this.animation.addByIndices("danceRight","GF Dancing Beat",[15,16,17,18,19,20,21,22,23,24,25,26,27,28,29],"",24,false);
|
|
this.animation.addByIndices("hairBlow","GF Dancing Beat Hair blowing",[0,1,2,3],"",24);
|
|
this.animation.addByIndices("hairFall","GF Dancing Beat Hair Landing",[0,1,2,3,4,5,6,7,8,9,10,11],"",24,false);
|
|
this.animation.addByPrefix("scared","GF FEAR",24);
|
|
this.addOffset("cheer");
|
|
this.addOffset("sad",-2,-2);
|
|
this.addOffset("danceLeft",0,-9);
|
|
this.addOffset("danceRight",0,-9);
|
|
this.addOffset("singUP",0,4);
|
|
this.addOffset("singRIGHT",0,-20);
|
|
this.addOffset("singLEFT",0,-19);
|
|
this.addOffset("singDOWN",0,-20);
|
|
this.addOffset("hairBlow",45,-8);
|
|
this.addOffset("hairFall",0,-9);
|
|
this.addOffset("scared",-2,-17);
|
|
this.playAnim("danceRight");
|
|
break;
|
|
case "gf-car":
|
|
tex = flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/gfCar.png","assets/images/gfCar.xml");
|
|
this.set_frames(tex);
|
|
this.animation.addByIndices("singUP","GF Dancing Beat Hair blowing CAR",[0],"",24,false);
|
|
this.animation.addByIndices("danceLeft","GF Dancing Beat Hair blowing CAR",[30,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14],"",24,false);
|
|
this.animation.addByIndices("danceRight","GF Dancing Beat Hair blowing CAR",[15,16,17,18,19,20,21,22,23,24,25,26,27,28,29],"",24,false);
|
|
this.addOffset("danceLeft",0);
|
|
this.addOffset("danceRight",0);
|
|
this.playAnim("danceRight");
|
|
break;
|
|
case "gf-christmas":
|
|
tex = flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/christmas/gfChristmas.png","assets/images/christmas/gfChristmas.xml");
|
|
this.set_frames(tex);
|
|
this.animation.addByPrefix("cheer","GF Cheer",24,false);
|
|
this.animation.addByPrefix("singLEFT","GF left note",24,false);
|
|
this.animation.addByPrefix("singRIGHT","GF Right Note",24,false);
|
|
this.animation.addByPrefix("singUP","GF Up Note",24,false);
|
|
this.animation.addByPrefix("singDOWN","GF Down Note",24,false);
|
|
this.animation.addByIndices("sad","gf sad",[0,1,2,3,4,5,6,7,8,9,10,11,12],"",24,false);
|
|
this.animation.addByIndices("danceLeft","GF Dancing Beat",[30,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14],"",24,false);
|
|
this.animation.addByIndices("danceRight","GF Dancing Beat",[15,16,17,18,19,20,21,22,23,24,25,26,27,28,29],"",24,false);
|
|
this.animation.addByIndices("hairBlow","GF Dancing Beat Hair blowing",[0,1,2,3],"",24);
|
|
this.animation.addByIndices("hairFall","GF Dancing Beat Hair Landing",[0,1,2,3,4,5,6,7,8,9,10,11],"",24,false);
|
|
this.animation.addByPrefix("scared","GF FEAR",24);
|
|
this.addOffset("cheer");
|
|
this.addOffset("sad",-2,-2);
|
|
this.addOffset("danceLeft",0,-9);
|
|
this.addOffset("danceRight",0,-9);
|
|
this.addOffset("singUP",0,4);
|
|
this.addOffset("singRIGHT",0,-20);
|
|
this.addOffset("singLEFT",0,-19);
|
|
this.addOffset("singDOWN",0,-20);
|
|
this.addOffset("hairBlow",45,-8);
|
|
this.addOffset("hairFall",0,-9);
|
|
this.addOffset("scared",-2,-17);
|
|
this.playAnim("danceRight");
|
|
break;
|
|
case "gf-pixel":
|
|
tex = flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/weeb/gfPixel.png","assets/images/weeb/gfPixel.xml");
|
|
this.set_frames(tex);
|
|
this.animation.addByIndices("singUP","GF IDLE",[2],"",24,false);
|
|
this.animation.addByIndices("danceLeft","GF IDLE",[30,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14],"",24,false);
|
|
this.animation.addByIndices("danceRight","GF IDLE",[15,16,17,18,19,20,21,22,23,24,25,26,27,28,29],"",24,false);
|
|
this.addOffset("danceLeft",0);
|
|
this.addOffset("danceRight",0);
|
|
this.playAnim("danceRight");
|
|
this.setGraphicSize(this.get_width() * PlayState.daPixelZoom | 0);
|
|
this.updateHitbox();
|
|
this.set_antialiasing(false);
|
|
break;
|
|
case "mom":
|
|
tex = flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/Mom_Assets.png","assets/images/Mom_Assets.xml");
|
|
this.set_frames(tex);
|
|
this.animation.addByPrefix("idle","Mom Idle",24,false);
|
|
this.animation.addByPrefix("singUP","Mom Up Pose",24,false);
|
|
this.animation.addByPrefix("singDOWN","MOM DOWN POSE",24,false);
|
|
this.animation.addByPrefix("singLEFT","Mom Left Pose",24,false);
|
|
this.animation.addByPrefix("singRIGHT","Mom Pose Left",24,false);
|
|
this.addOffset("idle");
|
|
this.addOffset("singUP",14,71);
|
|
this.addOffset("singRIGHT",10,-60);
|
|
this.addOffset("singLEFT",250,-23);
|
|
this.addOffset("singDOWN",20,-160);
|
|
this.playAnim("idle");
|
|
break;
|
|
case "mom-car":
|
|
tex = flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/momCar.png","assets/images/momCar.xml");
|
|
this.set_frames(tex);
|
|
this.animation.addByPrefix("idle","Mom Idle",24,false);
|
|
this.animation.addByPrefix("singUP","Mom Up Pose",24,false);
|
|
this.animation.addByPrefix("singDOWN","MOM DOWN POSE",24,false);
|
|
this.animation.addByPrefix("singLEFT","Mom Left Pose",24,false);
|
|
this.animation.addByPrefix("singRIGHT","Mom Pose Left",24,false);
|
|
this.addOffset("idle");
|
|
this.addOffset("singUP",14,71);
|
|
this.addOffset("singRIGHT",10,-60);
|
|
this.addOffset("singLEFT",250,-23);
|
|
this.addOffset("singDOWN",20,-160);
|
|
this.playAnim("idle");
|
|
break;
|
|
case "monster":
|
|
tex = flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/Monster_Assets.png","assets/images/Monster_Assets.xml");
|
|
this.set_frames(tex);
|
|
this.animation.addByPrefix("idle","monster idle",24,false);
|
|
this.animation.addByPrefix("singUP","monster up note",24,false);
|
|
this.animation.addByPrefix("singDOWN","monster down",24,false);
|
|
this.animation.addByPrefix("singLEFT","Monster left note",24,false);
|
|
this.animation.addByPrefix("singRIGHT","Monster Right note",24,false);
|
|
this.addOffset("idle");
|
|
this.addOffset("singUP",-20,50);
|
|
this.addOffset("singRIGHT",-51);
|
|
this.addOffset("singLEFT",-30);
|
|
this.addOffset("singDOWN",-30,-40);
|
|
this.playAnim("idle");
|
|
break;
|
|
case "monster-christmas":
|
|
tex = flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/christmas/monsterChristmas.png","assets/images/christmas/monsterChristmas.xml");
|
|
this.set_frames(tex);
|
|
this.animation.addByPrefix("idle","monster idle",24,false);
|
|
this.animation.addByPrefix("singUP","monster up note",24,false);
|
|
this.animation.addByPrefix("singDOWN","monster down",24,false);
|
|
this.animation.addByPrefix("singLEFT","Monster left note",24,false);
|
|
this.animation.addByPrefix("singRIGHT","Monster Right note",24,false);
|
|
this.addOffset("idle");
|
|
this.addOffset("singUP",-20,50);
|
|
this.addOffset("singRIGHT",-51);
|
|
this.addOffset("singLEFT",-30);
|
|
this.addOffset("singDOWN",-40,-94);
|
|
this.playAnim("idle");
|
|
break;
|
|
case "parents-christmas":
|
|
this.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/christmas/mom_dad_christmas_assets.png","assets/images/christmas/mom_dad_christmas_assets.xml"));
|
|
this.animation.addByPrefix("idle","Parent Christmas Idle",24,false);
|
|
this.animation.addByPrefix("singUP","Parent Up Note Dad",24,false);
|
|
this.animation.addByPrefix("singDOWN","Parent Down Note Dad",24,false);
|
|
this.animation.addByPrefix("singLEFT","Parent Left Note Dad",24,false);
|
|
this.animation.addByPrefix("singRIGHT","Parent Right Note Dad",24,false);
|
|
this.animation.addByPrefix("singUP-alt","Parent Up Note Mom",24,false);
|
|
this.animation.addByPrefix("singDOWN-alt","Parent Down Note Mom",24,false);
|
|
this.animation.addByPrefix("singLEFT-alt","Parent Left Note Mom",24,false);
|
|
this.animation.addByPrefix("singRIGHT-alt","Parent Right Note Mom",24,false);
|
|
this.addOffset("idle");
|
|
this.addOffset("singUP",-47,24);
|
|
this.addOffset("singRIGHT",-1,-23);
|
|
this.addOffset("singLEFT",-30,16);
|
|
this.addOffset("singDOWN",-31,-29);
|
|
this.addOffset("singUP-alt",-47,24);
|
|
this.addOffset("singRIGHT-alt",-1,-24);
|
|
this.addOffset("singLEFT-alt",-30,15);
|
|
this.addOffset("singDOWN-alt",-30,-27);
|
|
this.playAnim("idle");
|
|
break;
|
|
case "pico":
|
|
tex = flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/Pico_FNF_assetss.png","assets/images/Pico_FNF_assetss.xml");
|
|
this.set_frames(tex);
|
|
this.animation.addByPrefix("idle","Pico Idle Dance",24);
|
|
this.animation.addByPrefix("singUP","pico Up note0",24,false);
|
|
this.animation.addByPrefix("singDOWN","Pico Down Note0",24,false);
|
|
if(isPlayer) {
|
|
this.animation.addByPrefix("singLEFT","Pico NOTE LEFT0",24,false);
|
|
this.animation.addByPrefix("singRIGHT","Pico Note Right0",24,false);
|
|
this.animation.addByPrefix("singRIGHTmiss","Pico Note Right Miss",24,false);
|
|
this.animation.addByPrefix("singLEFTmiss","Pico NOTE LEFT miss",24,false);
|
|
} else {
|
|
this.animation.addByPrefix("singLEFT","Pico Note Right0",24,false);
|
|
this.animation.addByPrefix("singRIGHT","Pico NOTE LEFT0",24,false);
|
|
this.animation.addByPrefix("singRIGHTmiss","Pico NOTE LEFT miss",24,false);
|
|
this.animation.addByPrefix("singLEFTmiss","Pico Note Right Miss",24,false);
|
|
}
|
|
this.animation.addByPrefix("singUPmiss","pico Up note miss",24);
|
|
this.animation.addByPrefix("singDOWNmiss","Pico Down Note MISS",24);
|
|
this.addOffset("idle");
|
|
this.addOffset("singUP",-29,27);
|
|
this.addOffset("singRIGHT",-68,-7);
|
|
this.addOffset("singLEFT",65,9);
|
|
this.addOffset("singDOWN",200,-70);
|
|
this.addOffset("singUPmiss",-19,67);
|
|
this.addOffset("singRIGHTmiss",-60,41);
|
|
this.addOffset("singLEFTmiss",62,64);
|
|
this.addOffset("singDOWNmiss",210,-28);
|
|
this.playAnim("idle");
|
|
this.set_flipX(true);
|
|
break;
|
|
case "senpai":
|
|
this.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/weeb/senpai.png","assets/images/weeb/senpai.xml"));
|
|
this.animation.addByPrefix("idle","Senpai Idle",24,false);
|
|
this.animation.addByPrefix("singUP","SENPAI UP NOTE",24,false);
|
|
this.animation.addByPrefix("singLEFT","SENPAI LEFT NOTE",24,false);
|
|
this.animation.addByPrefix("singRIGHT","SENPAI RIGHT NOTE",24,false);
|
|
this.animation.addByPrefix("singDOWN","SENPAI DOWN NOTE",24,false);
|
|
this.addOffset("idle");
|
|
this.addOffset("singUP",5,37);
|
|
this.addOffset("singRIGHT");
|
|
this.addOffset("singLEFT",40);
|
|
this.addOffset("singDOWN",14);
|
|
this.playAnim("idle");
|
|
this.setGraphicSize(this.get_width() * 6 | 0);
|
|
this.updateHitbox();
|
|
this.set_antialiasing(false);
|
|
break;
|
|
case "senpai-angry":
|
|
this.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/weeb/senpai.png","assets/images/weeb/senpai.xml"));
|
|
this.animation.addByPrefix("idle","Angry Senpai Idle",24,false);
|
|
this.animation.addByPrefix("singUP","Angry Senpai UP NOTE",24,false);
|
|
this.animation.addByPrefix("singLEFT","Angry Senpai LEFT NOTE",24,false);
|
|
this.animation.addByPrefix("singRIGHT","Angry Senpai RIGHT NOTE",24,false);
|
|
this.animation.addByPrefix("singDOWN","Angry Senpai DOWN NOTE",24,false);
|
|
this.addOffset("idle");
|
|
this.addOffset("singUP",5,37);
|
|
this.addOffset("singRIGHT");
|
|
this.addOffset("singLEFT",40);
|
|
this.addOffset("singDOWN",14);
|
|
this.playAnim("idle");
|
|
this.setGraphicSize(this.get_width() * 6 | 0);
|
|
this.updateHitbox();
|
|
this.set_antialiasing(false);
|
|
break;
|
|
case "spirit":
|
|
this.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSpriteSheetPacker("assets/images/weeb/spirit.png","assets/images/weeb/spirit.txt"));
|
|
this.animation.addByPrefix("idle","idle spirit_",24,false);
|
|
this.animation.addByPrefix("singUP","up_",24,false);
|
|
this.animation.addByPrefix("singRIGHT","right_",24,false);
|
|
this.animation.addByPrefix("singLEFT","left_",24,false);
|
|
this.animation.addByPrefix("singDOWN","spirit down_",24,false);
|
|
this.addOffset("idle",-220,-280);
|
|
this.addOffset("singUP",-220,-240);
|
|
this.addOffset("singRIGHT",-220,-280);
|
|
this.addOffset("singLEFT",-200,-280);
|
|
this.addOffset("singDOWN",170,110);
|
|
this.setGraphicSize(this.get_width() * 6 | 0);
|
|
this.updateHitbox();
|
|
this.playAnim("idle");
|
|
this.set_antialiasing(false);
|
|
break;
|
|
case "spooky":
|
|
tex = flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/spooky_kids_assets.png","assets/images/spooky_kids_assets.xml");
|
|
this.set_frames(tex);
|
|
this.animation.addByPrefix("singUP","spooky UP NOTE",24,false);
|
|
this.animation.addByPrefix("singDOWN","spooky DOWN note",24,false);
|
|
this.animation.addByPrefix("singLEFT","note sing left",24,false);
|
|
this.animation.addByPrefix("singRIGHT","spooky sing right",24,false);
|
|
this.animation.addByIndices("danceLeft","spooky dance idle",[0,2,6],"",12,false);
|
|
this.animation.addByIndices("danceRight","spooky dance idle",[8,10,12,14],"",12,false);
|
|
this.addOffset("danceLeft");
|
|
this.addOffset("danceRight");
|
|
this.addOffset("singUP",-20,26);
|
|
this.addOffset("singRIGHT",-130,-14);
|
|
this.addOffset("singLEFT",130,-10);
|
|
this.addOffset("singDOWN",-50,-130);
|
|
this.playAnim("danceRight");
|
|
break;
|
|
}
|
|
this.dance();
|
|
if(isPlayer) {
|
|
this.set_flipX(!this.flipX);
|
|
if(!StringTools.startsWith(this.curCharacter,"bf")) {
|
|
var oldRight = this.animation._animations.h["singRIGHT"].frames;
|
|
this.animation._animations.h["singRIGHT"].frames = this.animation._animations.h["singLEFT"].frames;
|
|
this.animation._animations.h["singLEFT"].frames = oldRight;
|
|
if(this.animation._animations.h["singRIGHTmiss"] != null) {
|
|
var oldMiss = this.animation._animations.h["singRIGHTmiss"].frames;
|
|
this.animation._animations.h["singRIGHTmiss"].frames = this.animation._animations.h["singLEFTmiss"].frames;
|
|
this.animation._animations.h["singLEFTmiss"].frames = oldMiss;
|
|
}
|
|
}
|
|
}
|
|
};
|
|
$hxClasses["Character"] = Character;
|
|
Character.__name__ = "Character";
|
|
Character.__super__ = flixel_FlxSprite;
|
|
Character.prototype = $extend(flixel_FlxSprite.prototype,{
|
|
animOffsets: null
|
|
,debugMode: null
|
|
,isPlayer: null
|
|
,curCharacter: null
|
|
,holdTimer: null
|
|
,update: function(elapsed) {
|
|
if(!StringTools.startsWith(this.curCharacter,"bf")) {
|
|
if(StringTools.startsWith(this.animation._curAnim.name,"sing")) {
|
|
this.holdTimer += elapsed;
|
|
}
|
|
var dadVar = 4;
|
|
if(this.curCharacter == "dad") {
|
|
dadVar = 6.1;
|
|
}
|
|
if(this.holdTimer >= Conductor.stepCrochet * dadVar * 0.001) {
|
|
this.dance();
|
|
this.holdTimer = 0;
|
|
}
|
|
}
|
|
if(this.curCharacter == "gf") {
|
|
if(this.animation._curAnim.name == "hairFall" && this.animation._curAnim.finished) {
|
|
this.playAnim("danceRight");
|
|
}
|
|
}
|
|
flixel_FlxSprite.prototype.update.call(this,elapsed);
|
|
}
|
|
,danced: null
|
|
,dance: function() {
|
|
if(!this.debugMode) {
|
|
switch(this.curCharacter) {
|
|
case "gf":
|
|
if(!StringTools.startsWith(this.animation._curAnim.name,"hair")) {
|
|
this.danced = !this.danced;
|
|
if(this.danced) {
|
|
this.playAnim("danceRight");
|
|
} else {
|
|
this.playAnim("danceLeft");
|
|
}
|
|
}
|
|
break;
|
|
case "gf-car":
|
|
if(!StringTools.startsWith(this.animation._curAnim.name,"hair")) {
|
|
this.danced = !this.danced;
|
|
if(this.danced) {
|
|
this.playAnim("danceRight");
|
|
} else {
|
|
this.playAnim("danceLeft");
|
|
}
|
|
}
|
|
break;
|
|
case "gf-christmas":
|
|
if(!StringTools.startsWith(this.animation._curAnim.name,"hair")) {
|
|
this.danced = !this.danced;
|
|
if(this.danced) {
|
|
this.playAnim("danceRight");
|
|
} else {
|
|
this.playAnim("danceLeft");
|
|
}
|
|
}
|
|
break;
|
|
case "gf-pixel":
|
|
if(!StringTools.startsWith(this.animation._curAnim.name,"hair")) {
|
|
this.danced = !this.danced;
|
|
if(this.danced) {
|
|
this.playAnim("danceRight");
|
|
} else {
|
|
this.playAnim("danceLeft");
|
|
}
|
|
}
|
|
break;
|
|
case "spooky":
|
|
this.danced = !this.danced;
|
|
if(this.danced) {
|
|
this.playAnim("danceRight");
|
|
} else {
|
|
this.playAnim("danceLeft");
|
|
}
|
|
break;
|
|
default:
|
|
this.playAnim("idle");
|
|
}
|
|
}
|
|
}
|
|
,playAnim: function(AnimName,Force,Reversed,Frame) {
|
|
if(Frame == null) {
|
|
Frame = 0;
|
|
}
|
|
if(Reversed == null) {
|
|
Reversed = false;
|
|
}
|
|
if(Force == null) {
|
|
Force = false;
|
|
}
|
|
this.animation.play(AnimName,Force,Reversed,Frame);
|
|
var daOffset = this.animOffsets.h[this.animation._curAnim.name];
|
|
if(Object.prototype.hasOwnProperty.call(this.animOffsets.h,this.animation._curAnim.name)) {
|
|
this.offset.set(daOffset[0],daOffset[1]);
|
|
} else {
|
|
this.offset.set(0,0);
|
|
}
|
|
if(this.curCharacter == "gf") {
|
|
if(AnimName == "singLEFT") {
|
|
this.danced = true;
|
|
} else if(AnimName == "singRIGHT") {
|
|
this.danced = false;
|
|
}
|
|
if(AnimName == "singUP" || AnimName == "singDOWN") {
|
|
this.danced = !this.danced;
|
|
}
|
|
}
|
|
}
|
|
,addOffset: function(name,x,y) {
|
|
if(y == null) {
|
|
y = 0;
|
|
}
|
|
if(x == null) {
|
|
x = 0;
|
|
}
|
|
var v = [x,y];
|
|
this.animOffsets.h[name] = v;
|
|
}
|
|
,__class__: Character
|
|
});
|
|
var Boyfriend = function(x,y,char) {
|
|
if(char == null) {
|
|
char = "bf";
|
|
}
|
|
this.stunned = false;
|
|
Character.call(this,x,y,char,true);
|
|
};
|
|
$hxClasses["Boyfriend"] = Boyfriend;
|
|
Boyfriend.__name__ = "Boyfriend";
|
|
Boyfriend.__super__ = Character;
|
|
Boyfriend.prototype = $extend(Character.prototype,{
|
|
stunned: null
|
|
,update: function(elapsed) {
|
|
if(!this.debugMode) {
|
|
if(StringTools.startsWith(this.animation._curAnim.name,"sing")) {
|
|
this.holdTimer += elapsed;
|
|
} else {
|
|
this.holdTimer = 0;
|
|
}
|
|
if(StringTools.endsWith(this.animation._curAnim.name,"miss") && this.animation._curAnim.finished && !this.debugMode) {
|
|
this.playAnim("idle",true,false,10);
|
|
}
|
|
if(this.animation._curAnim.name == "firstDeath" && this.animation._curAnim.finished) {
|
|
this.playAnim("deathLoop");
|
|
}
|
|
}
|
|
Character.prototype.update.call(this,elapsed);
|
|
}
|
|
,__class__: Boyfriend
|
|
});
|
|
var flixel_group_FlxTypedGroup = function(MaxSize) {
|
|
if(MaxSize == null) {
|
|
MaxSize = 0;
|
|
}
|
|
this._marker = 0;
|
|
this.length = 0;
|
|
flixel_FlxBasic.call(this);
|
|
this.members = [];
|
|
this.set_maxSize(Math.abs(MaxSize) | 0);
|
|
this.flixelType = 2;
|
|
};
|
|
$hxClasses["flixel.group.FlxTypedGroup"] = flixel_group_FlxTypedGroup;
|
|
flixel_group_FlxTypedGroup.__name__ = "flixel.group.FlxTypedGroup";
|
|
flixel_group_FlxTypedGroup.overlaps = function(Callback,Group,X,Y,InScreenSpace,Camera) {
|
|
var result = false;
|
|
if(Group != null) {
|
|
var i = 0;
|
|
var l = Group.length;
|
|
var basic;
|
|
while(i < l) {
|
|
basic = Group.members[i++];
|
|
if(basic != null && Callback(basic,X,Y,InScreenSpace,Camera)) {
|
|
result = true;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
return result;
|
|
};
|
|
flixel_group_FlxTypedGroup.resolveGroup = function(ObjectOrGroup) {
|
|
var group = null;
|
|
if(ObjectOrGroup != null) {
|
|
if(ObjectOrGroup.flixelType == 2) {
|
|
group = ObjectOrGroup;
|
|
} else if(ObjectOrGroup.flixelType == 4) {
|
|
var spriteGroup = ObjectOrGroup;
|
|
group = spriteGroup.group;
|
|
}
|
|
}
|
|
return group;
|
|
};
|
|
flixel_group_FlxTypedGroup.__super__ = flixel_FlxBasic;
|
|
flixel_group_FlxTypedGroup.prototype = $extend(flixel_FlxBasic.prototype,{
|
|
members: null
|
|
,maxSize: null
|
|
,length: null
|
|
,_memberAdded: null
|
|
,_memberRemoved: null
|
|
,_marker: null
|
|
,destroy: function() {
|
|
flixel_FlxBasic.prototype.destroy.call(this);
|
|
flixel_util_FlxDestroyUtil.destroy(this._memberAdded);
|
|
flixel_util_FlxDestroyUtil.destroy(this._memberRemoved);
|
|
if(this.members != null) {
|
|
var i = 0;
|
|
var basic = null;
|
|
while(i < this.length) {
|
|
basic = this.members[i++];
|
|
if(basic != null) {
|
|
basic.destroy();
|
|
}
|
|
}
|
|
this.members = null;
|
|
}
|
|
}
|
|
,update: function(elapsed) {
|
|
var i = 0;
|
|
var basic = null;
|
|
while(i < this.length) {
|
|
basic = this.members[i++];
|
|
if(basic != null && basic.exists && basic.active) {
|
|
basic.update(elapsed);
|
|
}
|
|
}
|
|
}
|
|
,draw: function() {
|
|
var i = 0;
|
|
var basic = null;
|
|
var oldDefaultCameras = flixel_FlxCamera.defaultCameras;
|
|
if(this.get_cameras() != null) {
|
|
flixel_FlxCamera.defaultCameras = this.get_cameras();
|
|
}
|
|
while(i < this.length) {
|
|
basic = this.members[i++];
|
|
if(basic != null && basic.exists && basic.visible) {
|
|
basic.draw();
|
|
}
|
|
}
|
|
flixel_FlxCamera.defaultCameras = oldDefaultCameras;
|
|
}
|
|
,add: function(Object1) {
|
|
if(Object1 == null) {
|
|
return null;
|
|
}
|
|
if(this.members.indexOf(Object1) >= 0) {
|
|
return Object1;
|
|
}
|
|
var index = this.getFirstNull();
|
|
if(index != -1) {
|
|
this.members[index] = Object1;
|
|
if(index >= this.length) {
|
|
this.length = index + 1;
|
|
}
|
|
if(this._memberAdded != null) {
|
|
this._memberAdded.dispatch(Object1);
|
|
}
|
|
return Object1;
|
|
}
|
|
if(this.maxSize > 0 && this.length >= this.maxSize) {
|
|
return Object1;
|
|
}
|
|
this.members.push(Object1);
|
|
this.length++;
|
|
if(this._memberAdded != null) {
|
|
this._memberAdded.dispatch(Object1);
|
|
}
|
|
return Object1;
|
|
}
|
|
,insert: function(position,object) {
|
|
if(object == null) {
|
|
return null;
|
|
}
|
|
if(this.members.indexOf(object) >= 0) {
|
|
return object;
|
|
}
|
|
if(position < this.length && this.members[position] == null) {
|
|
this.members[position] = object;
|
|
if(this._memberAdded != null) {
|
|
this._memberAdded.dispatch(object);
|
|
}
|
|
return object;
|
|
}
|
|
if(this.maxSize > 0 && this.length >= this.maxSize) {
|
|
return object;
|
|
}
|
|
this.members.splice(position,0,object);
|
|
this.length++;
|
|
if(this._memberAdded != null) {
|
|
this._memberAdded.dispatch(object);
|
|
}
|
|
return object;
|
|
}
|
|
,recycle: function(ObjectClass,ObjectFactory,Force,Revive) {
|
|
if(Revive == null) {
|
|
Revive = true;
|
|
}
|
|
if(Force == null) {
|
|
Force = false;
|
|
}
|
|
var basic = null;
|
|
if(this.maxSize > 0) {
|
|
if(this.length < this.maxSize) {
|
|
var object = null;
|
|
if(ObjectFactory != null) {
|
|
object = ObjectFactory();
|
|
this.add(object);
|
|
} else if(ObjectClass != null) {
|
|
object = Type.createInstance(ObjectClass,[]);
|
|
this.add(object);
|
|
}
|
|
return object;
|
|
} else {
|
|
basic = this.members[this._marker++];
|
|
if(this._marker >= this.maxSize) {
|
|
this._marker = 0;
|
|
}
|
|
if(Revive) {
|
|
basic.revive();
|
|
}
|
|
return basic;
|
|
}
|
|
} else {
|
|
basic = this.getFirstAvailable(ObjectClass,Force);
|
|
if(basic != null) {
|
|
if(Revive) {
|
|
basic.revive();
|
|
}
|
|
return basic;
|
|
}
|
|
var object = null;
|
|
if(ObjectFactory != null) {
|
|
object = ObjectFactory();
|
|
this.add(object);
|
|
} else if(ObjectClass != null) {
|
|
object = Type.createInstance(ObjectClass,[]);
|
|
this.add(object);
|
|
}
|
|
return object;
|
|
}
|
|
}
|
|
,recycleCreateObject: function(ObjectClass,ObjectFactory) {
|
|
var object = null;
|
|
if(ObjectFactory != null) {
|
|
object = ObjectFactory();
|
|
this.add(object);
|
|
} else if(ObjectClass != null) {
|
|
object = Type.createInstance(ObjectClass,[]);
|
|
this.add(object);
|
|
}
|
|
return object;
|
|
}
|
|
,remove: function(Object1,Splice) {
|
|
if(Splice == null) {
|
|
Splice = false;
|
|
}
|
|
if(this.members == null) {
|
|
return null;
|
|
}
|
|
var index = this.members.indexOf(Object1);
|
|
if(index < 0) {
|
|
return null;
|
|
}
|
|
if(Splice) {
|
|
this.members.splice(index,1);
|
|
this.length--;
|
|
} else {
|
|
this.members[index] = null;
|
|
}
|
|
if(this._memberRemoved != null) {
|
|
this._memberRemoved.dispatch(Object1);
|
|
}
|
|
return Object1;
|
|
}
|
|
,replace: function(OldObject,NewObject) {
|
|
var index = this.members.indexOf(OldObject);
|
|
if(index < 0) {
|
|
return null;
|
|
}
|
|
this.members[index] = NewObject;
|
|
if(this._memberRemoved != null) {
|
|
this._memberRemoved.dispatch(OldObject);
|
|
}
|
|
if(this._memberAdded != null) {
|
|
this._memberAdded.dispatch(NewObject);
|
|
}
|
|
return NewObject;
|
|
}
|
|
,sort: function(Function1,Order) {
|
|
if(Order == null) {
|
|
Order = -1;
|
|
}
|
|
var _g = Function1;
|
|
var a1 = Order;
|
|
var tmp = function(a2,a3) {
|
|
return _g(a1,a2,a3);
|
|
};
|
|
this.members.sort(tmp);
|
|
}
|
|
,getFirstAvailable: function(ObjectClass,Force) {
|
|
if(Force == null) {
|
|
Force = false;
|
|
}
|
|
var i = 0;
|
|
var basic = null;
|
|
while(i < this.length) {
|
|
basic = this.members[i++];
|
|
if(basic != null && !basic.exists && (ObjectClass == null || js_Boot.__instanceof(basic,ObjectClass))) {
|
|
var tmp;
|
|
if(Force) {
|
|
var c = js_Boot.getClass(basic);
|
|
tmp = c.__name__ != ObjectClass.__name__;
|
|
} else {
|
|
tmp = false;
|
|
}
|
|
if(tmp) {
|
|
continue;
|
|
}
|
|
return this.members[i - 1];
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
,getFirstNull: function() {
|
|
var i = 0;
|
|
while(i < this.length) {
|
|
if(this.members[i] == null) {
|
|
return i;
|
|
}
|
|
++i;
|
|
}
|
|
return -1;
|
|
}
|
|
,getFirstExisting: function() {
|
|
var i = 0;
|
|
var basic = null;
|
|
while(i < this.length) {
|
|
basic = this.members[i++];
|
|
if(basic != null && basic.exists) {
|
|
return basic;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
,getFirstAlive: function() {
|
|
var i = 0;
|
|
var basic = null;
|
|
while(i < this.length) {
|
|
basic = this.members[i++];
|
|
if(basic != null && basic.exists && basic.alive) {
|
|
return basic;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
,getFirstDead: function() {
|
|
var i = 0;
|
|
var basic = null;
|
|
while(i < this.length) {
|
|
basic = this.members[i++];
|
|
if(basic != null && !basic.alive) {
|
|
return basic;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
,countLiving: function() {
|
|
var i = 0;
|
|
var count = -1;
|
|
var basic = null;
|
|
while(i < this.length) {
|
|
basic = this.members[i++];
|
|
if(basic != null) {
|
|
if(count < 0) {
|
|
count = 0;
|
|
}
|
|
if(basic.exists && basic.alive) {
|
|
++count;
|
|
}
|
|
}
|
|
}
|
|
return count;
|
|
}
|
|
,countDead: function() {
|
|
var i = 0;
|
|
var count = -1;
|
|
var basic = null;
|
|
while(i < this.length) {
|
|
basic = this.members[i++];
|
|
if(basic != null) {
|
|
if(count < 0) {
|
|
count = 0;
|
|
}
|
|
if(!basic.alive) {
|
|
++count;
|
|
}
|
|
}
|
|
}
|
|
return count;
|
|
}
|
|
,getRandom: function(StartIndex,Length) {
|
|
if(Length == null) {
|
|
Length = 0;
|
|
}
|
|
if(StartIndex == null) {
|
|
StartIndex = 0;
|
|
}
|
|
if(StartIndex < 0) {
|
|
StartIndex = 0;
|
|
}
|
|
if(Length <= 0) {
|
|
Length = this.length;
|
|
}
|
|
return flixel_FlxG.random.getObject_flixel_group_FlxTypedGroup_T(this.members,null,StartIndex,Length);
|
|
}
|
|
,clear: function() {
|
|
this.length = 0;
|
|
if(this._memberRemoved != null) {
|
|
var _g = 0;
|
|
var _g1 = this.members;
|
|
while(_g < _g1.length) {
|
|
var member = _g1[_g];
|
|
++_g;
|
|
if(member != null) {
|
|
this._memberRemoved.dispatch(member);
|
|
}
|
|
}
|
|
}
|
|
flixel_util_FlxArrayUtil.clearArray(this.members);
|
|
}
|
|
,kill: function() {
|
|
var i = 0;
|
|
var basic = null;
|
|
while(i < this.length) {
|
|
basic = this.members[i++];
|
|
if(basic != null && basic.exists) {
|
|
basic.kill();
|
|
}
|
|
}
|
|
flixel_FlxBasic.prototype.kill.call(this);
|
|
}
|
|
,revive: function() {
|
|
var i = 0;
|
|
var basic = null;
|
|
while(i < this.length) {
|
|
basic = this.members[i++];
|
|
if(basic != null && !basic.exists) {
|
|
basic.revive();
|
|
}
|
|
}
|
|
flixel_FlxBasic.prototype.revive.call(this);
|
|
}
|
|
,iterator: function(filter) {
|
|
return new flixel_group_FlxTypedGroupIterator(this.members,filter);
|
|
}
|
|
,forEach: function(Function1,Recurse) {
|
|
if(Recurse == null) {
|
|
Recurse = false;
|
|
}
|
|
var i = 0;
|
|
var basic = null;
|
|
while(i < this.length) {
|
|
basic = this.members[i++];
|
|
if(basic != null) {
|
|
if(Recurse) {
|
|
var group = flixel_group_FlxTypedGroup.resolveGroup(basic);
|
|
if(group != null) {
|
|
group.forEach(Function1,Recurse);
|
|
}
|
|
}
|
|
Function1(basic);
|
|
}
|
|
}
|
|
}
|
|
,forEachAlive: function(Function1,Recurse) {
|
|
if(Recurse == null) {
|
|
Recurse = false;
|
|
}
|
|
var i = 0;
|
|
var basic = null;
|
|
while(i < this.length) {
|
|
basic = this.members[i++];
|
|
if(basic != null && basic.exists && basic.alive) {
|
|
if(Recurse) {
|
|
var group = flixel_group_FlxTypedGroup.resolveGroup(basic);
|
|
if(group != null) {
|
|
group.forEachAlive(Function1,Recurse);
|
|
}
|
|
}
|
|
Function1(basic);
|
|
}
|
|
}
|
|
}
|
|
,forEachDead: function(Function1,Recurse) {
|
|
if(Recurse == null) {
|
|
Recurse = false;
|
|
}
|
|
var i = 0;
|
|
var basic = null;
|
|
while(i < this.length) {
|
|
basic = this.members[i++];
|
|
if(basic != null && !basic.alive) {
|
|
if(Recurse) {
|
|
var group = flixel_group_FlxTypedGroup.resolveGroup(basic);
|
|
if(group != null) {
|
|
group.forEachDead(Function1,Recurse);
|
|
}
|
|
}
|
|
Function1(basic);
|
|
}
|
|
}
|
|
}
|
|
,forEachExists: function(Function1,Recurse) {
|
|
if(Recurse == null) {
|
|
Recurse = false;
|
|
}
|
|
var i = 0;
|
|
var basic = null;
|
|
while(i < this.length) {
|
|
basic = this.members[i++];
|
|
if(basic != null && basic.exists) {
|
|
if(Recurse) {
|
|
var group = flixel_group_FlxTypedGroup.resolveGroup(basic);
|
|
if(group != null) {
|
|
group.forEachExists(Function1,Recurse);
|
|
}
|
|
}
|
|
Function1(basic);
|
|
}
|
|
}
|
|
}
|
|
,forEachOfType: function(ObjectClass,Function1,Recurse) {
|
|
if(Recurse == null) {
|
|
Recurse = false;
|
|
}
|
|
var i = 0;
|
|
var basic = null;
|
|
while(i < this.length) {
|
|
basic = this.members[i++];
|
|
if(basic != null) {
|
|
if(Recurse) {
|
|
var group = flixel_group_FlxTypedGroup.resolveGroup(basic);
|
|
if(group != null) {
|
|
group.forEachOfType(ObjectClass,Function1,Recurse);
|
|
}
|
|
}
|
|
if(js_Boot.__instanceof(basic,ObjectClass)) {
|
|
Function1(basic);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,set_maxSize: function(Size) {
|
|
this.maxSize = Math.abs(Size) | 0;
|
|
if(this._marker >= this.maxSize) {
|
|
this._marker = 0;
|
|
}
|
|
if(this.maxSize == 0 || this.members == null || this.maxSize >= this.length) {
|
|
return this.maxSize;
|
|
}
|
|
var i = this.maxSize;
|
|
var l = this.length;
|
|
var basic = null;
|
|
while(i < l) {
|
|
basic = this.members[i++];
|
|
if(basic != null) {
|
|
if(this._memberRemoved != null) {
|
|
this._memberRemoved.dispatch(basic);
|
|
}
|
|
basic.destroy();
|
|
}
|
|
}
|
|
flixel_util_FlxArrayUtil.setLength_flixel_group_FlxTypedGroup_T(this.members,this.maxSize);
|
|
this.length = this.members.length;
|
|
return this.maxSize;
|
|
}
|
|
,get_memberAdded: function() {
|
|
if(this._memberAdded == null) {
|
|
this._memberAdded = new flixel_util__$FlxSignal_FlxSignal1();
|
|
}
|
|
return this._memberAdded;
|
|
}
|
|
,get_memberRemoved: function() {
|
|
if(this._memberRemoved == null) {
|
|
this._memberRemoved = new flixel_util__$FlxSignal_FlxSignal1();
|
|
}
|
|
return this._memberRemoved;
|
|
}
|
|
,__class__: flixel_group_FlxTypedGroup
|
|
,__properties__: $extend(flixel_FlxBasic.prototype.__properties__,{get_memberRemoved:"get_memberRemoved",get_memberAdded:"get_memberAdded",set_maxSize:"set_maxSize"})
|
|
});
|
|
var flixel_FlxState = function(MaxSize) {
|
|
this._requestSubStateReset = false;
|
|
this.destroySubStates = true;
|
|
this.persistentDraw = true;
|
|
this.persistentUpdate = false;
|
|
flixel_group_FlxTypedGroup.call(this,MaxSize);
|
|
};
|
|
$hxClasses["flixel.FlxState"] = flixel_FlxState;
|
|
flixel_FlxState.__name__ = "flixel.FlxState";
|
|
flixel_FlxState.__super__ = flixel_group_FlxTypedGroup;
|
|
flixel_FlxState.prototype = $extend(flixel_group_FlxTypedGroup.prototype,{
|
|
persistentUpdate: null
|
|
,persistentDraw: null
|
|
,destroySubStates: null
|
|
,subState: null
|
|
,_requestedSubState: null
|
|
,_requestSubStateReset: null
|
|
,create: function() {
|
|
}
|
|
,draw: function() {
|
|
if(this.persistentDraw || this.subState == null) {
|
|
flixel_group_FlxTypedGroup.prototype.draw.call(this);
|
|
}
|
|
if(this.subState != null) {
|
|
this.subState.draw();
|
|
}
|
|
}
|
|
,openSubState: function(SubState) {
|
|
this._requestSubStateReset = true;
|
|
this._requestedSubState = SubState;
|
|
}
|
|
,closeSubState: function() {
|
|
this._requestSubStateReset = true;
|
|
}
|
|
,resetSubState: function() {
|
|
if(this.subState != null) {
|
|
if(this.subState.closeCallback != null) {
|
|
this.subState.closeCallback();
|
|
}
|
|
if(this.destroySubStates) {
|
|
this.subState.destroy();
|
|
}
|
|
}
|
|
this.subState = this._requestedSubState;
|
|
this._requestedSubState = null;
|
|
if(this.subState != null) {
|
|
if(!this.persistentUpdate) {
|
|
flixel_FlxG.inputs.onStateSwitch();
|
|
}
|
|
this.subState._parentState = this;
|
|
if(!this.subState._created) {
|
|
this.subState._created = true;
|
|
this.subState.create();
|
|
}
|
|
if(this.subState.openCallback != null) {
|
|
this.subState.openCallback();
|
|
}
|
|
}
|
|
}
|
|
,destroy: function() {
|
|
if(this.subState != null) {
|
|
this.subState.destroy();
|
|
this.subState = null;
|
|
}
|
|
flixel_group_FlxTypedGroup.prototype.destroy.call(this);
|
|
}
|
|
,switchTo: function(nextState) {
|
|
return true;
|
|
}
|
|
,onFocusLost: function() {
|
|
}
|
|
,onFocus: function() {
|
|
}
|
|
,onResize: function(Width,Height) {
|
|
}
|
|
,tryUpdate: function(elapsed) {
|
|
if(this.persistentUpdate || this.subState == null) {
|
|
this.update(elapsed);
|
|
}
|
|
if(this._requestSubStateReset) {
|
|
this._requestSubStateReset = false;
|
|
this.resetSubState();
|
|
}
|
|
if(this.subState != null) {
|
|
this.subState.tryUpdate(elapsed);
|
|
}
|
|
}
|
|
,get_bgColor: function() {
|
|
return flixel_FlxG.cameras.get_bgColor();
|
|
}
|
|
,set_bgColor: function(Value) {
|
|
return flixel_FlxG.cameras.set_bgColor(Value);
|
|
}
|
|
,__class__: flixel_FlxState
|
|
,__properties__: $extend(flixel_group_FlxTypedGroup.prototype.__properties__,{set_bgColor:"set_bgColor",get_bgColor:"get_bgColor"})
|
|
});
|
|
var flixel_addons_transition_FlxTransitionableState = function(TransIn,TransOut) {
|
|
this._exiting = false;
|
|
this.transOutFinished = false;
|
|
this.transIn = TransIn;
|
|
this.transOut = TransOut;
|
|
if(this.transIn == null && flixel_addons_transition_FlxTransitionableState.defaultTransIn != null) {
|
|
this.transIn = flixel_addons_transition_FlxTransitionableState.defaultTransIn;
|
|
}
|
|
if(this.transOut == null && flixel_addons_transition_FlxTransitionableState.defaultTransOut != null) {
|
|
this.transOut = flixel_addons_transition_FlxTransitionableState.defaultTransOut;
|
|
}
|
|
flixel_FlxState.call(this);
|
|
};
|
|
$hxClasses["flixel.addons.transition.FlxTransitionableState"] = flixel_addons_transition_FlxTransitionableState;
|
|
flixel_addons_transition_FlxTransitionableState.__name__ = "flixel.addons.transition.FlxTransitionableState";
|
|
flixel_addons_transition_FlxTransitionableState.__super__ = flixel_FlxState;
|
|
flixel_addons_transition_FlxTransitionableState.prototype = $extend(flixel_FlxState.prototype,{
|
|
transIn: null
|
|
,transOut: null
|
|
,destroy: function() {
|
|
flixel_FlxState.prototype.destroy.call(this);
|
|
this.transIn = null;
|
|
this.transOut = null;
|
|
this._onExit = null;
|
|
}
|
|
,create: function() {
|
|
flixel_FlxState.prototype.create.call(this);
|
|
this.transitionIn();
|
|
}
|
|
,switchTo: function(nextState) {
|
|
if(!this.get_hasTransOut()) {
|
|
return true;
|
|
}
|
|
if(!this._exiting) {
|
|
this.transitionToState(nextState);
|
|
}
|
|
return this.transOutFinished;
|
|
}
|
|
,transitionToState: function(nextState) {
|
|
this._exiting = true;
|
|
this.transitionOut(function() {
|
|
if(flixel_FlxG.game._state.switchTo(nextState)) {
|
|
flixel_FlxG.game._requestedState = nextState;
|
|
}
|
|
});
|
|
if(flixel_addons_transition_FlxTransitionableState.skipNextTransOut) {
|
|
flixel_addons_transition_FlxTransitionableState.skipNextTransOut = false;
|
|
this.finishTransOut();
|
|
}
|
|
}
|
|
,transitionIn: function() {
|
|
if(this.transIn != null && this.transIn.type != "none") {
|
|
if(flixel_addons_transition_FlxTransitionableState.skipNextTransIn) {
|
|
flixel_addons_transition_FlxTransitionableState.skipNextTransIn = false;
|
|
if(this.finishTransIn != null) {
|
|
this.finishTransIn();
|
|
}
|
|
return;
|
|
}
|
|
var _trans = this.createTransition(this.transIn);
|
|
_trans.setStatus(3);
|
|
this.openSubState(_trans);
|
|
_trans.set_finishCallback($bind(this,this.finishTransIn));
|
|
_trans.start(1);
|
|
}
|
|
}
|
|
,transitionOut: function(OnExit) {
|
|
this._onExit = OnExit;
|
|
if(this.get_hasTransOut()) {
|
|
var _trans = this.createTransition(this.transOut);
|
|
_trans.setStatus(2);
|
|
this.openSubState(_trans);
|
|
_trans.set_finishCallback($bind(this,this.finishTransOut));
|
|
_trans.start(0);
|
|
} else {
|
|
this._onExit();
|
|
}
|
|
}
|
|
,transOutFinished: null
|
|
,_exiting: null
|
|
,_onExit: null
|
|
,get_hasTransIn: function() {
|
|
if(this.transIn != null) {
|
|
return this.transIn.type != "none";
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,get_hasTransOut: function() {
|
|
if(this.transOut != null) {
|
|
return this.transOut.type != "none";
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,createTransition: function(data) {
|
|
switch(data.type) {
|
|
case "fade":
|
|
return new flixel_addons_transition_Transition(data);
|
|
case "tiles":
|
|
return new flixel_addons_transition_Transition(data);
|
|
default:
|
|
return null;
|
|
}
|
|
}
|
|
,finishTransIn: function() {
|
|
this.closeSubState();
|
|
}
|
|
,finishTransOut: function() {
|
|
this.transOutFinished = true;
|
|
if(!this._exiting) {
|
|
this.closeSubState();
|
|
}
|
|
if(this._onExit != null) {
|
|
this._onExit();
|
|
}
|
|
}
|
|
,__class__: flixel_addons_transition_FlxTransitionableState
|
|
,__properties__: $extend(flixel_FlxState.prototype.__properties__,{get_hasTransOut:"get_hasTransOut",get_hasTransIn:"get_hasTransIn"})
|
|
});
|
|
var flixel_addons_ui_interfaces_IEventGetter = function() { };
|
|
$hxClasses["flixel.addons.ui.interfaces.IEventGetter"] = flixel_addons_ui_interfaces_IEventGetter;
|
|
flixel_addons_ui_interfaces_IEventGetter.__name__ = "flixel.addons.ui.interfaces.IEventGetter";
|
|
flixel_addons_ui_interfaces_IEventGetter.__isInterface__ = true;
|
|
flixel_addons_ui_interfaces_IEventGetter.prototype = {
|
|
getEvent: null
|
|
,getRequest: null
|
|
,__class__: flixel_addons_ui_interfaces_IEventGetter
|
|
};
|
|
var flixel_addons_ui_interfaces_IFlxUIState = function() { };
|
|
$hxClasses["flixel.addons.ui.interfaces.IFlxUIState"] = flixel_addons_ui_interfaces_IFlxUIState;
|
|
flixel_addons_ui_interfaces_IFlxUIState.__name__ = "flixel.addons.ui.interfaces.IFlxUIState";
|
|
flixel_addons_ui_interfaces_IFlxUIState.__isInterface__ = true;
|
|
flixel_addons_ui_interfaces_IFlxUIState.__interfaces__ = [flixel_addons_ui_interfaces_IEventGetter];
|
|
flixel_addons_ui_interfaces_IFlxUIState.prototype = {
|
|
forceFocus: null
|
|
,tooltips: null
|
|
,cursor: null
|
|
,_tongue: null
|
|
,__class__: flixel_addons_ui_interfaces_IFlxUIState
|
|
};
|
|
var flixel_addons_ui_FlxUIState = function(TransIn,TransOut) {
|
|
this.getTextFallback = null;
|
|
this._reload_countdown = 0;
|
|
this._reload = false;
|
|
this.reload_ui_on_resize = false;
|
|
this._xml_id = "";
|
|
this._cursorHidden = false;
|
|
this.hideCursorOnSubstate = false;
|
|
this.cursor = null;
|
|
flixel_addons_transition_FlxTransitionableState.call(this,TransIn,TransOut);
|
|
};
|
|
$hxClasses["flixel.addons.ui.FlxUIState"] = flixel_addons_ui_FlxUIState;
|
|
flixel_addons_ui_FlxUIState.__name__ = "flixel.addons.ui.FlxUIState";
|
|
flixel_addons_ui_FlxUIState.__interfaces__ = [flixel_addons_ui_interfaces_IFlxUIState,flixel_addons_ui_interfaces_IEventGetter];
|
|
flixel_addons_ui_FlxUIState.__super__ = flixel_addons_transition_FlxTransitionableState;
|
|
flixel_addons_ui_FlxUIState.prototype = $extend(flixel_addons_transition_FlxTransitionableState.prototype,{
|
|
destroyed: null
|
|
,cursor: null
|
|
,hideCursorOnSubstate: null
|
|
,_cursorHidden: null
|
|
,tooltips: null
|
|
,_xml_id: null
|
|
,_makeCursor: null
|
|
,_ui_vars: null
|
|
,_ui: null
|
|
,_tongue: null
|
|
,reload_ui_on_resize: null
|
|
,_reload: null
|
|
,_reload_countdown: null
|
|
,getTextFallback: null
|
|
,create: function() {
|
|
if(flixel_addons_ui_FlxUIState.static_tongue != null) {
|
|
this._tongue = flixel_addons_ui_FlxUIState.static_tongue;
|
|
}
|
|
if(this._makeCursor == true) {
|
|
this.cursor = this.createCursor();
|
|
}
|
|
this.tooltips = new flixel_addons_ui_FlxUITooltipManager(this);
|
|
var liveFile = null;
|
|
this._ui = this.createUI(null,this,null,this._tongue);
|
|
this.add(this._ui);
|
|
if(this.getTextFallback != null) {
|
|
this._ui.getTextFallback = this.getTextFallback;
|
|
}
|
|
if(this._xml_id != null && this._xml_id != "") {
|
|
var data = null;
|
|
var errorMsg = "";
|
|
if(liveFile == null) {
|
|
try {
|
|
data = flixel_addons_ui_U.xml(this._xml_id);
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
var _g1 = haxe_Exception.caught(_g).unwrap();
|
|
if(typeof(_g1) == "string") {
|
|
var msg = _g1;
|
|
errorMsg = msg;
|
|
} else {
|
|
throw _g;
|
|
}
|
|
}
|
|
if(data == null) {
|
|
try {
|
|
data = flixel_addons_ui_U.xml(this._xml_id,"xml",true,"");
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
var _g1 = haxe_Exception.caught(_g).unwrap();
|
|
if(typeof(_g1) == "string") {
|
|
var msg2 = _g1;
|
|
errorMsg += ", " + msg2;
|
|
} else {
|
|
throw _g;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if(data == null) {
|
|
if(liveFile != null) {
|
|
this.loadUIFromData(liveFile);
|
|
}
|
|
} else {
|
|
this.loadUIFromData(data);
|
|
}
|
|
} else {
|
|
this.loadUIFromData(null);
|
|
}
|
|
if(this.cursor != null && this._ui != null) {
|
|
this.add(this.cursor);
|
|
this.cursor.addWidgetsFromUI(this._ui);
|
|
this.cursor.findVisibleLocation(0);
|
|
}
|
|
this.tooltips.init();
|
|
flixel_addons_transition_FlxTransitionableState.prototype.create.call(this);
|
|
this.cleanup();
|
|
}
|
|
,update: function(elapsed) {
|
|
flixel_addons_transition_FlxTransitionableState.prototype.update.call(this,elapsed);
|
|
if(this.tooltips != null) {
|
|
this.tooltips.update(elapsed);
|
|
}
|
|
if(this._reload) {
|
|
if(this._reload_countdown > 0) {
|
|
this._reload_countdown--;
|
|
if(this._reload_countdown == 0) {
|
|
this.reloadUI();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,cleanup: function() {
|
|
this._ui.cleanup();
|
|
}
|
|
,_cleanupUIVars: function() {
|
|
if(this._ui_vars != null) {
|
|
var key = haxe_ds_StringMap.keysIterator(this._ui_vars.h);
|
|
while(key.hasNext()) {
|
|
var key1 = key.next();
|
|
var _this = this._ui_vars;
|
|
if(Object.prototype.hasOwnProperty.call(_this.h,key1)) {
|
|
delete(_this.h[key1]);
|
|
}
|
|
}
|
|
this._ui_vars = null;
|
|
}
|
|
}
|
|
,setUIVariable: function(key,value) {
|
|
if(this._ui != null) {
|
|
this._ui.setVariable(key,value);
|
|
} else {
|
|
if(this._ui_vars == null) {
|
|
this._ui_vars = new haxe_ds_StringMap();
|
|
}
|
|
this._ui_vars.h[key] = value;
|
|
}
|
|
}
|
|
,resizeScreen: function(width,height) {
|
|
if(height == null) {
|
|
height = 600;
|
|
}
|
|
if(width == null) {
|
|
width = 800;
|
|
}
|
|
}
|
|
,openSubState: function(SubState) {
|
|
if(this.cursor != null && this.hideCursorOnSubstate && this.cursor.visible == true) {
|
|
this._cursorHidden = true;
|
|
this.cursor.set_visible(false);
|
|
}
|
|
flixel_addons_transition_FlxTransitionableState.prototype.openSubState.call(this,SubState);
|
|
}
|
|
,closeSubState: function() {
|
|
if(this.cursor != null && this.hideCursorOnSubstate && this._cursorHidden) {
|
|
this._cursorHidden = false;
|
|
this.cursor.set_visible(true);
|
|
}
|
|
flixel_addons_transition_FlxTransitionableState.prototype.closeSubState.call(this);
|
|
}
|
|
,onResize: function(Width,Height) {
|
|
if(this.reload_ui_on_resize) {
|
|
flixel_FlxG.scaleMode.onMeasure(Width,Height);
|
|
this._reload_countdown = 1;
|
|
this._reload = true;
|
|
}
|
|
}
|
|
,onShowTooltip: function(t) {
|
|
}
|
|
,destroy: function() {
|
|
this.destroyed = true;
|
|
if(this._ui != null) {
|
|
this._ui.destroy();
|
|
this.remove(this._ui,true);
|
|
this._ui = null;
|
|
}
|
|
if(this.tooltips != null) {
|
|
this.tooltips.destroy();
|
|
this.tooltips = null;
|
|
}
|
|
flixel_addons_transition_FlxTransitionableState.prototype.destroy.call(this);
|
|
}
|
|
,forceFocus: function(b,thing) {
|
|
if(this._ui != null) {
|
|
if(b) {
|
|
this._ui.set_focus(thing);
|
|
} else {
|
|
this._ui.set_focus(null);
|
|
}
|
|
}
|
|
}
|
|
,onCursorEvent: function(code,target) {
|
|
this.getEvent(code,target,null);
|
|
}
|
|
,getEvent: function(id,sender,data,params) {
|
|
}
|
|
,getRequest: function(id,sender,data,params) {
|
|
return null;
|
|
}
|
|
,getText: function(Flag,Context,Safe) {
|
|
if(Safe == null) {
|
|
Safe = true;
|
|
}
|
|
if(Context == null) {
|
|
Context = "ui";
|
|
}
|
|
if(this._tongue != null) {
|
|
return this._tongue.get(Flag,Context,Safe);
|
|
}
|
|
if(this.getTextFallback != null) {
|
|
return this.getTextFallback(Flag,Context,Safe);
|
|
}
|
|
return Flag;
|
|
}
|
|
,createCursor: function() {
|
|
return new flixel_addons_ui_FlxUICursor($bind(this,this.onCursorEvent));
|
|
}
|
|
,createUI: function(data,ptr,superIndex_,tongue_,liveFilePath_) {
|
|
if(liveFilePath_ == null) {
|
|
liveFilePath_ = "";
|
|
}
|
|
var flxui = new flixel_addons_ui_FlxUI(data,ptr,superIndex_,tongue_,liveFilePath_,this._ui_vars);
|
|
this._cleanupUIVars();
|
|
return flxui;
|
|
}
|
|
,loadUIFromData: function(data) {
|
|
this._ui.load(data);
|
|
}
|
|
,reloadUI: function(e) {
|
|
if(this._ui != null) {
|
|
this.remove(this._ui,true);
|
|
this._ui.destroy();
|
|
this._ui = null;
|
|
}
|
|
this._ui = this.createUI(null,this,null,this._tongue);
|
|
this.add(this._ui);
|
|
var data = flixel_addons_ui_U.xml(this._xml_id);
|
|
if(data != null) {
|
|
this.loadUIFromData(data);
|
|
}
|
|
this._reload = false;
|
|
this._reload_countdown = 0;
|
|
}
|
|
,__class__: flixel_addons_ui_FlxUIState
|
|
});
|
|
var MusicBeatState = function(TransIn,TransOut) {
|
|
this.curBeat = 0;
|
|
this.curStep = 0;
|
|
this.lastStep = 0;
|
|
this.lastBeat = 0;
|
|
flixel_addons_ui_FlxUIState.call(this,TransIn,TransOut);
|
|
};
|
|
$hxClasses["MusicBeatState"] = MusicBeatState;
|
|
MusicBeatState.__name__ = "MusicBeatState";
|
|
MusicBeatState.__super__ = flixel_addons_ui_FlxUIState;
|
|
MusicBeatState.prototype = $extend(flixel_addons_ui_FlxUIState.prototype,{
|
|
lastBeat: null
|
|
,lastStep: null
|
|
,curStep: null
|
|
,curBeat: null
|
|
,get_controls: function() {
|
|
return PlayerSettings.player1.controls;
|
|
}
|
|
,create: function() {
|
|
if(this.transIn != null) {
|
|
haxe_Log.trace("reg " + Std.string(this.transIn.region),{ fileName : "source/MusicBeatState.hx", lineNumber : 25, className : "MusicBeatState", methodName : "create"});
|
|
}
|
|
flixel_addons_ui_FlxUIState.prototype.create.call(this);
|
|
}
|
|
,update: function(elapsed) {
|
|
var oldStep = this.curStep;
|
|
this.updateCurStep();
|
|
this.updateBeat();
|
|
if(oldStep != this.curStep && this.curStep > 0) {
|
|
this.stepHit();
|
|
}
|
|
flixel_addons_ui_FlxUIState.prototype.update.call(this,elapsed);
|
|
}
|
|
,updateBeat: function() {
|
|
this.curBeat = Math.floor(this.curStep / 4);
|
|
}
|
|
,updateCurStep: function() {
|
|
var lastChange = { stepTime : 0, songTime : 0, bpm : 0};
|
|
var _g = 0;
|
|
var _g1 = Conductor.bpmChangeMap.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(Conductor.songPosition >= Conductor.bpmChangeMap[i].songTime) {
|
|
lastChange = Conductor.bpmChangeMap[i];
|
|
}
|
|
}
|
|
this.curStep = lastChange.stepTime + Math.floor((Conductor.songPosition - lastChange.songTime) / Conductor.stepCrochet);
|
|
}
|
|
,stepHit: function() {
|
|
if(this.curStep % 4 == 0) {
|
|
this.beatHit();
|
|
}
|
|
}
|
|
,beatHit: function() {
|
|
}
|
|
,__class__: MusicBeatState
|
|
,__properties__: $extend(flixel_addons_ui_FlxUIState.prototype.__properties__,{get_controls:"get_controls"})
|
|
});
|
|
var ChartingState = function(TransIn,TransOut) {
|
|
this.daSpacing = 0.3;
|
|
this.updatedSection = false;
|
|
this.tempBpm = 0;
|
|
this.GRID_SIZE = 40;
|
|
this.amountSteps = 0;
|
|
this.curSong = "Dadbattle";
|
|
this.curSection = 0;
|
|
MusicBeatState.call(this,TransIn,TransOut);
|
|
};
|
|
$hxClasses["ChartingState"] = ChartingState;
|
|
ChartingState.__name__ = "ChartingState";
|
|
ChartingState.__super__ = MusicBeatState;
|
|
ChartingState.prototype = $extend(MusicBeatState.prototype,{
|
|
_file: null
|
|
,UI_box: null
|
|
,curSection: null
|
|
,bpmTxt: null
|
|
,strumLine: null
|
|
,curSong: null
|
|
,amountSteps: null
|
|
,bullshitUI: null
|
|
,highlight: null
|
|
,GRID_SIZE: null
|
|
,dummyArrow: null
|
|
,curRenderedNotes: null
|
|
,curRenderedSustains: null
|
|
,gridBG: null
|
|
,_song: null
|
|
,typingShit: null
|
|
,curSelectedNote: null
|
|
,tempBpm: null
|
|
,vocals: null
|
|
,leftIcon: null
|
|
,rightIcon: null
|
|
,create: function() {
|
|
this.curSection = ChartingState.lastSection;
|
|
this.gridBG = flixel_addons_display_FlxGridOverlay.create(this.GRID_SIZE,this.GRID_SIZE,this.GRID_SIZE * 8,this.GRID_SIZE * 16);
|
|
this.add(this.gridBG);
|
|
this.leftIcon = new HealthIcon("bf");
|
|
this.rightIcon = new HealthIcon("dad");
|
|
this.leftIcon.scrollFactor.set(1,1);
|
|
this.rightIcon.scrollFactor.set(1,1);
|
|
this.leftIcon.setGraphicSize(0,45);
|
|
this.rightIcon.setGraphicSize(0,45);
|
|
this.add(this.leftIcon);
|
|
this.add(this.rightIcon);
|
|
this.leftIcon.setPosition(0,-100);
|
|
this.rightIcon.setPosition(this.gridBG.get_width() / 2,-100);
|
|
var gridBlackLine = new flixel_FlxSprite(this.gridBG.x + this.gridBG.get_width() / 2).makeGraphic(2,this.gridBG.get_height() | 0,-16777216);
|
|
this.add(gridBlackLine);
|
|
this.curRenderedNotes = new flixel_group_FlxTypedGroup();
|
|
this.curRenderedSustains = new flixel_group_FlxTypedGroup();
|
|
if(PlayState.SONG != null) {
|
|
this._song = PlayState.SONG;
|
|
} else {
|
|
this._song = { song : "Test", notes : [], bpm : 150, needsVoices : true, player1 : "bf", player2 : "dad", speed : 1, validScore : false};
|
|
}
|
|
flixel_FlxG.mouse.set_visible(true);
|
|
flixel_FlxG.save.bind("funkin","ninjamuffin99");
|
|
this.tempBpm = this._song.bpm;
|
|
this.addSection();
|
|
this.updateGrid();
|
|
this.loadSong(this._song.song);
|
|
Conductor.changeBPM(this._song.bpm);
|
|
Conductor.mapBPMChanges(this._song);
|
|
this.bpmTxt = new flixel_text_FlxText(1000,50,0,"",16);
|
|
this.bpmTxt.scrollFactor.set();
|
|
this.add(this.bpmTxt);
|
|
this.strumLine = new flixel_FlxSprite(0,50).makeGraphic(flixel_FlxG.width / 2 | 0,4);
|
|
this.add(this.strumLine);
|
|
this.dummyArrow = new flixel_FlxSprite().makeGraphic(this.GRID_SIZE,this.GRID_SIZE);
|
|
this.add(this.dummyArrow);
|
|
var tabs = [{ name : "Song", label : "Song"},{ name : "Section", label : "Section"},{ name : "Note", label : "Note"}];
|
|
this.UI_box = new flixel_addons_ui_FlxUITabMenu(null,null,tabs,null,true);
|
|
this.UI_box.resize(300,400);
|
|
this.UI_box.set_x(flixel_FlxG.width / 2);
|
|
this.UI_box.set_y(20);
|
|
this.add(this.UI_box);
|
|
this.addSongUI();
|
|
this.addSectionUI();
|
|
this.addNoteUI();
|
|
this.add(this.curRenderedNotes);
|
|
this.add(this.curRenderedSustains);
|
|
MusicBeatState.prototype.create.call(this);
|
|
}
|
|
,addSongUI: function() {
|
|
var _gthis = this;
|
|
var UI_songTitle = new flixel_addons_ui_FlxUIInputText(10,10,70,this._song.song,8);
|
|
this.typingShit = UI_songTitle;
|
|
var check_voices = new flixel_addons_ui_FlxUICheckBox(10,25,null,null,"Has voice track",100);
|
|
check_voices.set_checked(this._song.needsVoices);
|
|
check_voices.callback = function() {
|
|
_gthis._song.needsVoices = check_voices.checked;
|
|
haxe_Log.trace("CHECKED!",{ fileName : "source/ChartingState.hx", lineNumber : 188, className : "ChartingState", methodName : "addSongUI"});
|
|
};
|
|
var check_mute_inst = new flixel_addons_ui_FlxUICheckBox(10,200,null,null,"Mute Instrumental (in editor)",100);
|
|
check_mute_inst.set_checked(false);
|
|
check_mute_inst.callback = function() {
|
|
var vol = 1;
|
|
if(check_mute_inst.checked) {
|
|
vol = 0;
|
|
}
|
|
flixel_FlxG.sound.music.set_volume(vol);
|
|
};
|
|
var saveButton = new flixel_ui_FlxButton(110,8,"Save",function() {
|
|
_gthis.saveLevel();
|
|
});
|
|
var reloadSong = new flixel_ui_FlxButton(saveButton.x + saveButton.get_width() + 10,saveButton.y,"Reload Audio",function() {
|
|
_gthis.loadSong(_gthis._song.song);
|
|
});
|
|
var reloadSongJson = new flixel_ui_FlxButton(reloadSong.x,saveButton.y + 30,"Reload JSON",function() {
|
|
_gthis.loadJson(_gthis._song.song.toLowerCase());
|
|
});
|
|
var loadAutosaveBtn = new flixel_ui_FlxButton(reloadSongJson.x,reloadSongJson.y + 30,"load autosave",$bind(this,this.loadAutosave));
|
|
var stepperSpeed = new flixel_addons_ui_FlxUINumericStepper(10,80,0.1,1,0.1,10,1);
|
|
stepperSpeed.set_value(this._song.speed);
|
|
stepperSpeed.name = "song_speed";
|
|
var stepperBPM = new flixel_addons_ui_FlxUINumericStepper(10,65,1,1,1,339,0);
|
|
stepperBPM.set_value(Conductor.bpm);
|
|
stepperBPM.name = "song_bpm";
|
|
var characters = CoolUtil.coolTextFile("assets/data/characterList.txt");
|
|
var player1DropDown = new flixel_addons_ui_FlxUIDropDownMenu(10,100,flixel_addons_ui_FlxUIDropDownMenu.makeStrIdLabelArray(characters,true),function(character) {
|
|
_gthis._song.player1 = characters[Std.parseInt(character)];
|
|
});
|
|
player1DropDown.set_selectedLabel(this._song.player1);
|
|
var player2DropDown = new flixel_addons_ui_FlxUIDropDownMenu(140,100,flixel_addons_ui_FlxUIDropDownMenu.makeStrIdLabelArray(characters,true),function(character) {
|
|
_gthis._song.player2 = characters[Std.parseInt(character)];
|
|
});
|
|
player2DropDown.set_selectedLabel(this._song.player2);
|
|
var tab_group_song = new flixel_addons_ui_FlxUI(null,this.UI_box);
|
|
tab_group_song.name = "Song";
|
|
tab_group_song.add(UI_songTitle);
|
|
tab_group_song.add(check_voices);
|
|
tab_group_song.add(check_mute_inst);
|
|
tab_group_song.add(saveButton);
|
|
tab_group_song.add(reloadSong);
|
|
tab_group_song.add(reloadSongJson);
|
|
tab_group_song.add(loadAutosaveBtn);
|
|
tab_group_song.add(stepperBPM);
|
|
tab_group_song.add(stepperSpeed);
|
|
tab_group_song.add(player1DropDown);
|
|
tab_group_song.add(player2DropDown);
|
|
this.UI_box.addGroup(tab_group_song);
|
|
this.UI_box.scrollFactor.set();
|
|
flixel_FlxG.camera.follow(this.strumLine);
|
|
}
|
|
,stepperLength: null
|
|
,check_mustHitSection: null
|
|
,check_changeBPM: null
|
|
,stepperSectionBPM: null
|
|
,check_altAnim: null
|
|
,addSectionUI: function() {
|
|
var _gthis = this;
|
|
var tab_group_section = new flixel_addons_ui_FlxUI(null,this.UI_box);
|
|
tab_group_section.name = "Section";
|
|
this.stepperLength = new flixel_addons_ui_FlxUINumericStepper(10,10,4,0,0,999,0);
|
|
this.stepperLength.set_value(this._song.notes[this.curSection].lengthInSteps);
|
|
this.stepperLength.name = "section_length";
|
|
this.stepperSectionBPM = new flixel_addons_ui_FlxUINumericStepper(10,80,1,Conductor.bpm,0,999,0);
|
|
this.stepperSectionBPM.set_value(Conductor.bpm);
|
|
this.stepperSectionBPM.name = "section_bpm";
|
|
var stepperCopy = new flixel_addons_ui_FlxUINumericStepper(110,130,1,1,-999,999,0);
|
|
var copyButton = new flixel_ui_FlxButton(10,130,"Copy last section",function() {
|
|
_gthis.copySection(stepperCopy.value | 0);
|
|
});
|
|
var clearSectionButton = new flixel_ui_FlxButton(10,150,"Clear",$bind(this,this.clearSection));
|
|
var swapSection = new flixel_ui_FlxButton(10,170,"Swap section",function() {
|
|
var _g = 0;
|
|
var _g1 = _gthis._song.notes[_gthis.curSection].sectionNotes.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var note = _gthis._song.notes[_gthis.curSection].sectionNotes[i];
|
|
note[1] = (note[1] + 4) % 8;
|
|
_gthis._song.notes[_gthis.curSection].sectionNotes[i] = note;
|
|
_gthis.updateGrid();
|
|
}
|
|
});
|
|
this.check_mustHitSection = new flixel_addons_ui_FlxUICheckBox(10,30,null,null,"Must hit section",100);
|
|
this.check_mustHitSection.name = "check_mustHit";
|
|
this.check_mustHitSection.set_checked(true);
|
|
this.check_altAnim = new flixel_addons_ui_FlxUICheckBox(10,400,null,null,"Alt Animation",100);
|
|
this.check_altAnim.name = "check_altAnim";
|
|
this.check_changeBPM = new flixel_addons_ui_FlxUICheckBox(10,60,null,null,"Change BPM",100);
|
|
this.check_changeBPM.name = "check_changeBPM";
|
|
tab_group_section.add(this.stepperLength);
|
|
tab_group_section.add(this.stepperSectionBPM);
|
|
tab_group_section.add(stepperCopy);
|
|
tab_group_section.add(this.check_mustHitSection);
|
|
tab_group_section.add(this.check_altAnim);
|
|
tab_group_section.add(this.check_changeBPM);
|
|
tab_group_section.add(copyButton);
|
|
tab_group_section.add(clearSectionButton);
|
|
tab_group_section.add(swapSection);
|
|
this.UI_box.addGroup(tab_group_section);
|
|
}
|
|
,stepperSusLength: null
|
|
,addNoteUI: function() {
|
|
var tab_group_note = new flixel_addons_ui_FlxUI(null,this.UI_box);
|
|
tab_group_note.name = "Note";
|
|
this.stepperSusLength = new flixel_addons_ui_FlxUINumericStepper(10,10,Conductor.stepCrochet / 2,0,0,Conductor.stepCrochet * 16);
|
|
this.stepperSusLength.set_value(0);
|
|
this.stepperSusLength.name = "note_susLength";
|
|
var applyLength = new flixel_ui_FlxButton(100,10,"Apply");
|
|
tab_group_note.add(this.stepperSusLength);
|
|
tab_group_note.add(applyLength);
|
|
this.UI_box.addGroup(tab_group_note);
|
|
}
|
|
,loadSong: function(daSong) {
|
|
var _gthis = this;
|
|
if(flixel_FlxG.sound.music != null) {
|
|
var _this = flixel_FlxG.sound.music;
|
|
_this.cleanup(_this.autoDestroy,true);
|
|
}
|
|
flixel_FlxG.sound.playMusic("assets/music/" + daSong + "_Inst" + TitleState.soundExt,0.6);
|
|
this.vocals = new flixel_system_FlxSound().loadEmbedded("assets/music/" + daSong + "_Voices" + TitleState.soundExt);
|
|
flixel_FlxG.sound.list.add(this.vocals);
|
|
flixel_FlxG.sound.music.pause();
|
|
this.vocals.pause();
|
|
flixel_FlxG.sound.music.onComplete = function() {
|
|
_gthis.vocals.pause();
|
|
_gthis.vocals.set_time(0);
|
|
flixel_FlxG.sound.music.pause();
|
|
flixel_FlxG.sound.music.set_time(0);
|
|
_gthis.changeSection();
|
|
};
|
|
}
|
|
,generateUI: function() {
|
|
while(this.bullshitUI.members.length > 0) this.bullshitUI.remove(this.bullshitUI.members[0],true);
|
|
var title = new flixel_text_FlxText(this.UI_box.x + 20,this.UI_box.y + 20,0);
|
|
this.bullshitUI.add(title);
|
|
}
|
|
,getEvent: function(id,sender,data,params) {
|
|
if(id == "click_check_box") {
|
|
var check = sender;
|
|
var label = check.getLabel().text;
|
|
switch(label) {
|
|
case "Alt Animation":
|
|
this._song.notes[this.curSection].altAnim = check.checked;
|
|
break;
|
|
case "Change BPM":
|
|
this._song.notes[this.curSection].changeBPM = check.checked;
|
|
break;
|
|
case "Must hit section":
|
|
this._song.notes[this.curSection].mustHitSection = check.checked;
|
|
this.updateHeads();
|
|
break;
|
|
}
|
|
} else if(id == "change_numeric_stepper" && ((sender) instanceof flixel_addons_ui_FlxUINumericStepper)) {
|
|
var nums = sender;
|
|
var wname = nums.name;
|
|
if(wname == "section_length") {
|
|
this._song.notes[this.curSection].lengthInSteps = nums.value | 0;
|
|
this.updateGrid();
|
|
} else if(wname == "song_speed") {
|
|
this._song.speed = nums.value;
|
|
} else if(wname == "song_bpm") {
|
|
this.tempBpm = nums.value | 0;
|
|
Conductor.mapBPMChanges(this._song);
|
|
Conductor.changeBPM(nums.value | 0);
|
|
} else if(wname == "note_susLength") {
|
|
this.curSelectedNote[2] = nums.value;
|
|
this.updateGrid();
|
|
} else if(wname == "section_bpm") {
|
|
this._song.notes[this.curSection].bpm = nums.value | 0;
|
|
this.updateGrid();
|
|
}
|
|
}
|
|
}
|
|
,updatedSection: null
|
|
,sectionStartTime: function() {
|
|
var daBPM = this._song.bpm;
|
|
var daPos = 0;
|
|
var _g = 0;
|
|
var _g1 = this.curSection;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(this._song.notes[i].changeBPM) {
|
|
daBPM = this._song.notes[i].bpm;
|
|
}
|
|
daPos += 4 * (60000 / daBPM);
|
|
}
|
|
return daPos;
|
|
}
|
|
,update: function(elapsed) {
|
|
var _gthis = this;
|
|
this.curStep = this.recalculateSteps();
|
|
Conductor.songPosition = flixel_FlxG.sound.music._time;
|
|
this._song.song = this.typingShit.text;
|
|
this.strumLine.set_y(this.getYfromStrum((Conductor.songPosition - this.sectionStartTime()) % (Conductor.stepCrochet * this._song.notes[this.curSection].lengthInSteps)));
|
|
if(this.curBeat % 4 == 0 && this.curStep >= 16 * (this.curSection + 1)) {
|
|
haxe_Log.trace(this.curStep,{ fileName : "source/ChartingState.hx", lineNumber : 483, className : "ChartingState", methodName : "update"});
|
|
haxe_Log.trace(this._song.notes[this.curSection].lengthInSteps * (this.curSection + 1),{ fileName : "source/ChartingState.hx", lineNumber : 484, className : "ChartingState", methodName : "update"});
|
|
haxe_Log.trace("DUMBSHIT",{ fileName : "source/ChartingState.hx", lineNumber : 485, className : "ChartingState", methodName : "update"});
|
|
if(this._song.notes[this.curSection + 1] == null) {
|
|
this.addSection();
|
|
}
|
|
this.changeSection(this.curSection + 1,false);
|
|
}
|
|
if(flixel_FlxG.mouse._leftButton.current == 2) {
|
|
if(flixel_FlxG.mouse.overlaps(this.curRenderedNotes)) {
|
|
this.curRenderedNotes.forEach(function(note) {
|
|
if(flixel_FlxG.mouse.overlaps(note)) {
|
|
var _this = flixel_FlxG.keys.pressed;
|
|
if(_this.keyManager.checkStatus(17,_this.status)) {
|
|
_gthis.selectNote(note);
|
|
} else {
|
|
haxe_Log.trace("tryin to delete note...",{ fileName : "source/ChartingState.hx", lineNumber : 512, className : "ChartingState", methodName : "update"});
|
|
_gthis.deleteNote(note);
|
|
}
|
|
}
|
|
});
|
|
} else if(flixel_FlxG.mouse.x > this.gridBG.x && flixel_FlxG.mouse.x < this.gridBG.x + this.gridBG.get_width() && flixel_FlxG.mouse.y > this.gridBG.y && flixel_FlxG.mouse.y < this.gridBG.y + this.GRID_SIZE * this._song.notes[this.curSection].lengthInSteps) {
|
|
this.addNote();
|
|
}
|
|
}
|
|
if(flixel_FlxG.mouse.x > this.gridBG.x && flixel_FlxG.mouse.x < this.gridBG.x + this.gridBG.get_width() && flixel_FlxG.mouse.y > this.gridBG.y && flixel_FlxG.mouse.y < this.gridBG.y + this.GRID_SIZE * this._song.notes[this.curSection].lengthInSteps) {
|
|
this.dummyArrow.set_x(Math.floor(flixel_FlxG.mouse.x / this.GRID_SIZE) * this.GRID_SIZE);
|
|
var _this = flixel_FlxG.keys.pressed;
|
|
if(_this.keyManager.checkStatus(16,_this.status)) {
|
|
this.dummyArrow.set_y(flixel_FlxG.mouse.y);
|
|
} else {
|
|
this.dummyArrow.set_y(Math.floor(flixel_FlxG.mouse.y / this.GRID_SIZE) * this.GRID_SIZE);
|
|
}
|
|
}
|
|
var _this = flixel_FlxG.keys.justPressed;
|
|
if(_this.keyManager.checkStatus(13,_this.status)) {
|
|
ChartingState.lastSection = this.curSection;
|
|
PlayState.SONG = this._song;
|
|
var _this = flixel_FlxG.sound.music;
|
|
_this.cleanup(_this.autoDestroy,true);
|
|
var _this = this.vocals;
|
|
_this.cleanup(_this.autoDestroy,true);
|
|
var nextState = new PlayState();
|
|
if(flixel_FlxG.game._state.switchTo(nextState)) {
|
|
flixel_FlxG.game._requestedState = nextState;
|
|
}
|
|
}
|
|
var _this = flixel_FlxG.keys.justPressed;
|
|
if(_this.keyManager.checkStatus(69,_this.status)) {
|
|
this.changeNoteSustain(Conductor.stepCrochet);
|
|
}
|
|
var _this = flixel_FlxG.keys.justPressed;
|
|
if(_this.keyManager.checkStatus(81,_this.status)) {
|
|
this.changeNoteSustain(-Conductor.stepCrochet);
|
|
}
|
|
var _this = flixel_FlxG.keys.justPressed;
|
|
if(_this.keyManager.checkStatus(9,_this.status)) {
|
|
var _this = flixel_FlxG.keys.pressed;
|
|
if(_this.keyManager.checkStatus(16,_this.status)) {
|
|
var _g = this.UI_box;
|
|
_g.set_selected_tab(_g.get_selected_tab() - 1);
|
|
if(this.UI_box.get_selected_tab() < 0) {
|
|
this.UI_box.set_selected_tab(2);
|
|
}
|
|
} else {
|
|
var _g = this.UI_box;
|
|
_g.set_selected_tab(_g.get_selected_tab() + 1);
|
|
if(this.UI_box.get_selected_tab() >= 3) {
|
|
this.UI_box.set_selected_tab(0);
|
|
}
|
|
}
|
|
}
|
|
if(!this.typingShit.hasFocus) {
|
|
var _this = flixel_FlxG.keys.justPressed;
|
|
if(_this.keyManager.checkStatus(32,_this.status)) {
|
|
if(flixel_FlxG.sound.music._channel != null) {
|
|
flixel_FlxG.sound.music.pause();
|
|
this.vocals.pause();
|
|
} else {
|
|
this.vocals.play();
|
|
flixel_FlxG.sound.music.play();
|
|
}
|
|
}
|
|
var _this = flixel_FlxG.keys.justPressed;
|
|
if(_this.keyManager.checkStatus(82,_this.status)) {
|
|
var _this = flixel_FlxG.keys.pressed;
|
|
if(_this.keyManager.checkStatus(16,_this.status)) {
|
|
this.resetSection(true);
|
|
} else {
|
|
this.resetSection();
|
|
}
|
|
}
|
|
if(flixel_FlxG.mouse.wheel != 0) {
|
|
flixel_FlxG.sound.music.pause();
|
|
this.vocals.pause();
|
|
var _g = flixel_FlxG.sound.music;
|
|
_g.set_time(_g._time - flixel_FlxG.mouse.wheel * Conductor.stepCrochet * 0.4);
|
|
this.vocals.set_time(flixel_FlxG.sound.music._time);
|
|
}
|
|
var _this = flixel_FlxG.keys.pressed;
|
|
if(!_this.keyManager.checkStatus(16,_this.status)) {
|
|
var tmp;
|
|
var _this = flixel_FlxG.keys.pressed;
|
|
if(!_this.keyManager.checkStatus(87,_this.status)) {
|
|
var _this = flixel_FlxG.keys.pressed;
|
|
tmp = _this.keyManager.checkStatus(83,_this.status);
|
|
} else {
|
|
tmp = true;
|
|
}
|
|
if(tmp) {
|
|
flixel_FlxG.sound.music.pause();
|
|
this.vocals.pause();
|
|
var daTime = 700 * flixel_FlxG.elapsed;
|
|
var _this = flixel_FlxG.keys.pressed;
|
|
if(_this.keyManager.checkStatus(87,_this.status)) {
|
|
var _g = flixel_FlxG.sound.music;
|
|
_g.set_time(_g._time - daTime);
|
|
} else {
|
|
var _g = flixel_FlxG.sound.music;
|
|
_g.set_time(_g._time + daTime);
|
|
}
|
|
this.vocals.set_time(flixel_FlxG.sound.music._time);
|
|
}
|
|
} else {
|
|
var tmp;
|
|
var _this = flixel_FlxG.keys.justPressed;
|
|
if(!_this.keyManager.checkStatus(87,_this.status)) {
|
|
var _this = flixel_FlxG.keys.justPressed;
|
|
tmp = _this.keyManager.checkStatus(83,_this.status);
|
|
} else {
|
|
tmp = true;
|
|
}
|
|
if(tmp) {
|
|
flixel_FlxG.sound.music.pause();
|
|
this.vocals.pause();
|
|
var daTime = Conductor.stepCrochet * 2;
|
|
var _this = flixel_FlxG.keys.justPressed;
|
|
if(_this.keyManager.checkStatus(87,_this.status)) {
|
|
var _g = flixel_FlxG.sound.music;
|
|
_g.set_time(_g._time - daTime);
|
|
} else {
|
|
var _g = flixel_FlxG.sound.music;
|
|
_g.set_time(_g._time + daTime);
|
|
}
|
|
this.vocals.set_time(flixel_FlxG.sound.music._time);
|
|
}
|
|
}
|
|
}
|
|
this._song.bpm = this.tempBpm;
|
|
var shiftThing = 1;
|
|
var _this = flixel_FlxG.keys.pressed;
|
|
if(_this.keyManager.checkStatus(16,_this.status)) {
|
|
shiftThing = 4;
|
|
}
|
|
var tmp;
|
|
var _this = flixel_FlxG.keys.justPressed;
|
|
if(!_this.keyManager.checkStatus(39,_this.status)) {
|
|
var _this = flixel_FlxG.keys.justPressed;
|
|
tmp = _this.keyManager.checkStatus(68,_this.status);
|
|
} else {
|
|
tmp = true;
|
|
}
|
|
if(tmp) {
|
|
this.changeSection(this.curSection + shiftThing);
|
|
}
|
|
var tmp;
|
|
var _this = flixel_FlxG.keys.justPressed;
|
|
if(!_this.keyManager.checkStatus(37,_this.status)) {
|
|
var _this = flixel_FlxG.keys.justPressed;
|
|
tmp = _this.keyManager.checkStatus(65,_this.status);
|
|
} else {
|
|
tmp = true;
|
|
}
|
|
if(tmp) {
|
|
this.changeSection(this.curSection - shiftThing);
|
|
}
|
|
this.bpmTxt.set_text(this.bpmTxt.set_text(Std.string(flixel_math_FlxMath.roundDecimal(Conductor.songPosition / 1000,2)) + " / " + Std.string(flixel_math_FlxMath.roundDecimal(flixel_FlxG.sound.music._length / 1000,2)) + "\nSection: " + this.curSection));
|
|
MusicBeatState.prototype.update.call(this,elapsed);
|
|
}
|
|
,changeNoteSustain: function(value) {
|
|
if(this.curSelectedNote != null) {
|
|
if(this.curSelectedNote[2] != null) {
|
|
this.curSelectedNote[2] += value;
|
|
this.curSelectedNote[2] = Math.max(this.curSelectedNote[2],0);
|
|
}
|
|
}
|
|
this.updateNoteUI();
|
|
this.updateGrid();
|
|
}
|
|
,recalculateSteps: function() {
|
|
var lastChange = { stepTime : 0, songTime : 0, bpm : 0};
|
|
var _g = 0;
|
|
var _g1 = Conductor.bpmChangeMap.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(flixel_FlxG.sound.music._time > Conductor.bpmChangeMap[i].songTime) {
|
|
lastChange = Conductor.bpmChangeMap[i];
|
|
}
|
|
}
|
|
this.curStep = lastChange.stepTime + Math.floor((flixel_FlxG.sound.music._time - lastChange.songTime) / Conductor.stepCrochet);
|
|
this.updateBeat();
|
|
return this.curStep;
|
|
}
|
|
,resetSection: function(songBeginning) {
|
|
if(songBeginning == null) {
|
|
songBeginning = false;
|
|
}
|
|
this.updateGrid();
|
|
flixel_FlxG.sound.music.pause();
|
|
this.vocals.pause();
|
|
flixel_FlxG.sound.music.set_time(this.sectionStartTime());
|
|
if(songBeginning) {
|
|
flixel_FlxG.sound.music.set_time(0);
|
|
this.curSection = 0;
|
|
}
|
|
this.vocals.set_time(flixel_FlxG.sound.music._time);
|
|
this.updateCurStep();
|
|
this.updateGrid();
|
|
this.updateSectionUI();
|
|
}
|
|
,changeSection: function(sec,updateMusic) {
|
|
if(updateMusic == null) {
|
|
updateMusic = true;
|
|
}
|
|
if(sec == null) {
|
|
sec = 0;
|
|
}
|
|
haxe_Log.trace("changing section" + sec,{ fileName : "source/ChartingState.hx", lineNumber : 733, className : "ChartingState", methodName : "changeSection"});
|
|
if(this._song.notes[sec] != null) {
|
|
this.curSection = sec;
|
|
this.updateGrid();
|
|
if(updateMusic) {
|
|
flixel_FlxG.sound.music.pause();
|
|
this.vocals.pause();
|
|
flixel_FlxG.sound.music.set_time(this.sectionStartTime());
|
|
this.vocals.set_time(flixel_FlxG.sound.music._time);
|
|
this.updateCurStep();
|
|
}
|
|
this.updateGrid();
|
|
this.updateSectionUI();
|
|
}
|
|
}
|
|
,copySection: function(sectionNum) {
|
|
if(sectionNum == null) {
|
|
sectionNum = 1;
|
|
}
|
|
var a = this.curSection;
|
|
var daSec = a > sectionNum ? a : sectionNum;
|
|
var _g = 0;
|
|
var _g1 = this._song.notes[daSec - sectionNum].sectionNotes;
|
|
while(_g < _g1.length) {
|
|
var note = _g1[_g];
|
|
++_g;
|
|
var strum = note[0] + Conductor.stepCrochet * (this._song.notes[daSec].lengthInSteps * sectionNum);
|
|
var copiedNote = [strum,note[1],note[2]];
|
|
this._song.notes[daSec].sectionNotes.push(copiedNote);
|
|
}
|
|
this.updateGrid();
|
|
}
|
|
,updateSectionUI: function() {
|
|
var sec = this._song.notes[this.curSection];
|
|
this.stepperLength.set_value(sec.lengthInSteps);
|
|
this.check_mustHitSection.set_checked(sec.mustHitSection);
|
|
this.check_altAnim.set_checked(sec.altAnim);
|
|
this.check_changeBPM.set_checked(sec.changeBPM);
|
|
this.stepperSectionBPM.set_value(sec.bpm);
|
|
this.updateHeads();
|
|
}
|
|
,updateHeads: function() {
|
|
if(this.check_mustHitSection.checked) {
|
|
this.leftIcon.animation.play("bf");
|
|
this.rightIcon.animation.play("dad");
|
|
} else {
|
|
this.leftIcon.animation.play("dad");
|
|
this.rightIcon.animation.play("bf");
|
|
}
|
|
}
|
|
,updateNoteUI: function() {
|
|
if(this.curSelectedNote != null) {
|
|
this.stepperSusLength.set_value(this.curSelectedNote[2]);
|
|
}
|
|
}
|
|
,updateGrid: function() {
|
|
while(this.curRenderedNotes.members.length > 0) this.curRenderedNotes.remove(this.curRenderedNotes.members[0],true);
|
|
while(this.curRenderedSustains.members.length > 0) this.curRenderedSustains.remove(this.curRenderedSustains.members[0],true);
|
|
var sectionInfo = this._song.notes[this.curSection].sectionNotes;
|
|
if(this._song.notes[this.curSection].changeBPM && this._song.notes[this.curSection].bpm > 0) {
|
|
Conductor.changeBPM(this._song.notes[this.curSection].bpm);
|
|
} else {
|
|
var daBPM = this._song.bpm;
|
|
var _g = 0;
|
|
var _g1 = this.curSection;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(this._song.notes[i].changeBPM) {
|
|
daBPM = this._song.notes[i].bpm;
|
|
}
|
|
}
|
|
Conductor.changeBPM(daBPM);
|
|
}
|
|
var _g = 0;
|
|
while(_g < sectionInfo.length) {
|
|
var i = sectionInfo[_g];
|
|
++_g;
|
|
var daNoteInfo = i[1];
|
|
var daStrumTime = i[0];
|
|
var daSus = i[2];
|
|
var note = new Note(daStrumTime,daNoteInfo % 4);
|
|
note.sustainLength = daSus;
|
|
note.setGraphicSize(this.GRID_SIZE,this.GRID_SIZE);
|
|
note.updateHitbox();
|
|
note.set_x(Math.floor(daNoteInfo * this.GRID_SIZE));
|
|
note.set_y(Math.floor(this.getYfromStrum((daStrumTime - this.sectionStartTime()) % (Conductor.stepCrochet * this._song.notes[this.curSection].lengthInSteps))));
|
|
this.curRenderedNotes.add(note);
|
|
if(daSus > 0) {
|
|
var sustainVis = new flixel_FlxSprite(note.x + this.GRID_SIZE / 2,note.y + this.GRID_SIZE).makeGraphic(8,Math.floor(flixel_math_FlxMath.remapToRange(daSus,0,Conductor.stepCrochet * 16,0,this.gridBG.get_height())));
|
|
this.curRenderedSustains.add(sustainVis);
|
|
}
|
|
}
|
|
}
|
|
,addSection: function(lengthInSteps) {
|
|
if(lengthInSteps == null) {
|
|
lengthInSteps = 16;
|
|
}
|
|
var sec = { lengthInSteps : lengthInSteps, bpm : this._song.bpm, changeBPM : false, mustHitSection : true, sectionNotes : [], typeOfSection : 0, altAnim : false};
|
|
this._song.notes.push(sec);
|
|
}
|
|
,selectNote: function(note) {
|
|
var swagNum = 0;
|
|
var _g = 0;
|
|
var _g1 = this._song.notes[this.curSection].sectionNotes;
|
|
while(_g < _g1.length) {
|
|
var i = _g1[_g];
|
|
++_g;
|
|
if(i.strumTime == note.strumTime && i.noteData % 4 == note.noteData) {
|
|
this.curSelectedNote = this._song.notes[this.curSection].sectionNotes[swagNum];
|
|
}
|
|
++swagNum;
|
|
}
|
|
this.updateGrid();
|
|
this.updateNoteUI();
|
|
}
|
|
,deleteNote: function(note) {
|
|
var _g = 0;
|
|
var _g1 = this._song.notes[this.curSection].sectionNotes;
|
|
while(_g < _g1.length) {
|
|
var i = _g1[_g];
|
|
++_g;
|
|
if(i[0] == note.strumTime && i[1] % 4 == note.noteData) {
|
|
HxOverrides.remove(this._song.notes[this.curSection].sectionNotes,i);
|
|
}
|
|
}
|
|
this.updateGrid();
|
|
}
|
|
,clearSection: function() {
|
|
this._song.notes[this.curSection].sectionNotes = [];
|
|
this.updateGrid();
|
|
}
|
|
,clearSong: function() {
|
|
var _g = 0;
|
|
var _g1 = this._song.notes.length;
|
|
while(_g < _g1) {
|
|
var daSection = _g++;
|
|
this._song.notes[daSection].sectionNotes = [];
|
|
}
|
|
this.updateGrid();
|
|
}
|
|
,addNote: function() {
|
|
var noteStrum = this.getStrumTime(this.dummyArrow.y) + this.sectionStartTime();
|
|
var noteData = Math.floor(flixel_FlxG.mouse.x / this.GRID_SIZE);
|
|
var noteSus = 0;
|
|
this._song.notes[this.curSection].sectionNotes.push([noteStrum,noteData,noteSus]);
|
|
this.curSelectedNote = this._song.notes[this.curSection].sectionNotes[this._song.notes[this.curSection].sectionNotes.length - 1];
|
|
var _this = flixel_FlxG.keys.pressed;
|
|
if(_this.keyManager.checkStatus(17,_this.status)) {
|
|
this._song.notes[this.curSection].sectionNotes.push([noteStrum,(noteData + 4) % 8,noteSus]);
|
|
}
|
|
haxe_Log.trace(noteStrum,{ fileName : "source/ChartingState.hx", lineNumber : 958, className : "ChartingState", methodName : "addNote"});
|
|
haxe_Log.trace(this.curSection,{ fileName : "source/ChartingState.hx", lineNumber : 959, className : "ChartingState", methodName : "addNote"});
|
|
this.updateGrid();
|
|
this.updateNoteUI();
|
|
this.autosaveSong();
|
|
}
|
|
,getStrumTime: function(yPos) {
|
|
return flixel_math_FlxMath.remapToRange(yPos,this.gridBG.y,this.gridBG.y + this.gridBG.get_height(),0,16 * Conductor.stepCrochet);
|
|
}
|
|
,getYfromStrum: function(strumTime) {
|
|
return flixel_math_FlxMath.remapToRange(strumTime,0,16 * Conductor.stepCrochet,this.gridBG.y,this.gridBG.y + this.gridBG.get_height());
|
|
}
|
|
,daSpacing: null
|
|
,loadLevel: function() {
|
|
haxe_Log.trace(this._song.notes,{ fileName : "source/ChartingState.hx", lineNumber : 1005, className : "ChartingState", methodName : "loadLevel"});
|
|
}
|
|
,getNotes: function() {
|
|
var noteData = [];
|
|
var _g = 0;
|
|
var _g1 = this._song.notes;
|
|
while(_g < _g1.length) {
|
|
var i = _g1[_g];
|
|
++_g;
|
|
noteData.push(i.sectionNotes);
|
|
}
|
|
return noteData;
|
|
}
|
|
,loadJson: function(song) {
|
|
PlayState.SONG = Song.loadFromJson(song.toLowerCase(),song.toLowerCase());
|
|
var nextState = Type.createInstance(js_Boot.getClass(flixel_FlxG.game._state),[]);
|
|
if(flixel_FlxG.game._state.switchTo(nextState)) {
|
|
flixel_FlxG.game._requestedState = nextState;
|
|
}
|
|
}
|
|
,loadAutosave: function() {
|
|
PlayState.SONG = Song.parseJSONshit(flixel_FlxG.save.data.autosave);
|
|
var nextState = Type.createInstance(js_Boot.getClass(flixel_FlxG.game._state),[]);
|
|
if(flixel_FlxG.game._state.switchTo(nextState)) {
|
|
flixel_FlxG.game._requestedState = nextState;
|
|
}
|
|
}
|
|
,autosaveSong: function() {
|
|
flixel_FlxG.save.data.autosave = JSON.stringify({ "song" : this._song});
|
|
flixel_FlxG.save.flush();
|
|
}
|
|
,saveLevel: function() {
|
|
var json = { "song" : this._song};
|
|
var data = JSON.stringify(json);
|
|
if(data != null && data.length > 0) {
|
|
this._file = new openfl_net_FileReference();
|
|
this._file.addEventListener("complete",$bind(this,this.onSaveComplete));
|
|
this._file.addEventListener("cancel",$bind(this,this.onSaveCancel));
|
|
this._file.addEventListener("ioError",$bind(this,this.onSaveError));
|
|
this._file.save(StringTools.trim(data),this._song.song.toLowerCase() + ".json");
|
|
}
|
|
}
|
|
,onSaveComplete: function(_) {
|
|
this._file.removeEventListener("complete",$bind(this,this.onSaveComplete));
|
|
this._file.removeEventListener("cancel",$bind(this,this.onSaveCancel));
|
|
this._file.removeEventListener("ioError",$bind(this,this.onSaveError));
|
|
this._file = null;
|
|
}
|
|
,onSaveCancel: function(_) {
|
|
this._file.removeEventListener("complete",$bind(this,this.onSaveComplete));
|
|
this._file.removeEventListener("cancel",$bind(this,this.onSaveCancel));
|
|
this._file.removeEventListener("ioError",$bind(this,this.onSaveError));
|
|
this._file = null;
|
|
}
|
|
,onSaveError: function(_) {
|
|
this._file.removeEventListener("complete",$bind(this,this.onSaveComplete));
|
|
this._file.removeEventListener("cancel",$bind(this,this.onSaveCancel));
|
|
this._file.removeEventListener("ioError",$bind(this,this.onSaveError));
|
|
this._file = null;
|
|
}
|
|
,__class__: ChartingState
|
|
});
|
|
var Conductor = function() {
|
|
};
|
|
$hxClasses["Conductor"] = Conductor;
|
|
Conductor.__name__ = "Conductor";
|
|
Conductor.songPosition = null;
|
|
Conductor.lastSongPos = null;
|
|
Conductor.mapBPMChanges = function(song) {
|
|
Conductor.bpmChangeMap = [];
|
|
var curBPM = song.bpm;
|
|
var totalSteps = 0;
|
|
var totalPos = 0;
|
|
var _g = 0;
|
|
var _g1 = song.notes.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(song.notes[i].changeBPM && song.notes[i].bpm != curBPM) {
|
|
curBPM = song.notes[i].bpm;
|
|
var event = { stepTime : totalSteps, songTime : totalPos, bpm : curBPM};
|
|
Conductor.bpmChangeMap.push(event);
|
|
}
|
|
var deltaSteps = song.notes[i].lengthInSteps;
|
|
totalSteps += deltaSteps;
|
|
totalPos += 60 / curBPM * 1000 / 4 * deltaSteps;
|
|
}
|
|
haxe_Log.trace("new BPM map BUDDY " + Std.string(Conductor.bpmChangeMap),{ fileName : "source/Conductor.hx", lineNumber : 59, className : "Conductor", methodName : "mapBPMChanges"});
|
|
};
|
|
Conductor.changeBPM = function(newBpm) {
|
|
Conductor.bpm = newBpm;
|
|
Conductor.crochet = 60 / Conductor.bpm * 1000;
|
|
Conductor.stepCrochet = Conductor.crochet / 4;
|
|
};
|
|
Conductor.prototype = {
|
|
__class__: Conductor
|
|
};
|
|
var Device = $hxEnums["Device"] = { __ename__ : "Device", __constructs__ : ["Keys","Gamepad"]
|
|
,Keys: {_hx_index:0,__enum__:"Device",toString:$estr}
|
|
,Gamepad: ($_=function(id) { return {_hx_index:1,id:id,__enum__:"Device",toString:$estr}; },$_.__params__ = ["id"],$_)
|
|
};
|
|
var Control = $hxEnums["Control"] = { __ename__ : "Control", __constructs__ : ["UP","LEFT","RIGHT","DOWN","RESET","ACCEPT","BACK","PAUSE","CHEAT"]
|
|
,UP: {_hx_index:0,__enum__:"Control",toString:$estr}
|
|
,LEFT: {_hx_index:1,__enum__:"Control",toString:$estr}
|
|
,RIGHT: {_hx_index:2,__enum__:"Control",toString:$estr}
|
|
,DOWN: {_hx_index:3,__enum__:"Control",toString:$estr}
|
|
,RESET: {_hx_index:4,__enum__:"Control",toString:$estr}
|
|
,ACCEPT: {_hx_index:5,__enum__:"Control",toString:$estr}
|
|
,BACK: {_hx_index:6,__enum__:"Control",toString:$estr}
|
|
,PAUSE: {_hx_index:7,__enum__:"Control",toString:$estr}
|
|
,CHEAT: {_hx_index:8,__enum__:"Control",toString:$estr}
|
|
};
|
|
var KeyboardScheme = $hxEnums["KeyboardScheme"] = { __ename__ : "KeyboardScheme", __constructs__ : ["Solo","Duo","None","Custom"]
|
|
,Solo: {_hx_index:0,__enum__:"KeyboardScheme",toString:$estr}
|
|
,Duo: ($_=function(first) { return {_hx_index:1,first:first,__enum__:"KeyboardScheme",toString:$estr}; },$_.__params__ = ["first"],$_)
|
|
,None: {_hx_index:2,__enum__:"KeyboardScheme",toString:$estr}
|
|
,Custom: {_hx_index:3,__enum__:"KeyboardScheme",toString:$estr}
|
|
};
|
|
var flixel_input_actions_FlxActionSet = function(Name,DigitalActions,AnalogActions) {
|
|
this.active = true;
|
|
this.name = "";
|
|
this.name = Name;
|
|
if(DigitalActions == null) {
|
|
DigitalActions = [];
|
|
}
|
|
if(AnalogActions == null) {
|
|
AnalogActions = [];
|
|
}
|
|
this.digitalActions = DigitalActions;
|
|
this.analogActions = AnalogActions;
|
|
};
|
|
$hxClasses["flixel.input.actions.FlxActionSet"] = flixel_input_actions_FlxActionSet;
|
|
flixel_input_actions_FlxActionSet.__name__ = "flixel.input.actions.FlxActionSet";
|
|
flixel_input_actions_FlxActionSet.__interfaces__ = [flixel_util_IFlxDestroyable];
|
|
flixel_input_actions_FlxActionSet.fromJson = function(Data,CallbackDigital,CallbackAnalog) {
|
|
var digitalActions = [];
|
|
var analogActions = [];
|
|
if(Data == null) {
|
|
return null;
|
|
}
|
|
if(Data.digitalActions != null) {
|
|
var arrD = Data.digitalActions;
|
|
var _g = 0;
|
|
while(_g < arrD.length) {
|
|
var d = arrD[_g];
|
|
++_g;
|
|
var dName = d;
|
|
var action = new flixel_input_actions_FlxActionDigital(dName,CallbackDigital);
|
|
digitalActions.push(action);
|
|
}
|
|
}
|
|
if(Data.analogActions != null) {
|
|
var arrA = Data.analogActions;
|
|
var _g = 0;
|
|
while(_g < arrA.length) {
|
|
var a = arrA[_g];
|
|
++_g;
|
|
var aName = a;
|
|
var action = new flixel_input_actions_FlxActionAnalog(aName,CallbackAnalog);
|
|
analogActions.push(action);
|
|
}
|
|
}
|
|
if(Data.name != null) {
|
|
var name = Data.name;
|
|
var set = new flixel_input_actions_FlxActionSet(name,digitalActions,analogActions);
|
|
return set;
|
|
}
|
|
return null;
|
|
};
|
|
flixel_input_actions_FlxActionSet.prototype = {
|
|
name: null
|
|
,digitalActions: null
|
|
,analogActions: null
|
|
,active: null
|
|
,toJson: function() {
|
|
var space = "\t";
|
|
return JSON.stringify(this,function(key,value) {
|
|
if(((value) instanceof flixel_input_actions_FlxAction)) {
|
|
var fa = value;
|
|
return { "type" : fa.type, "name" : fa.name, "steamHandle" : fa.steamHandle};
|
|
}
|
|
return value;
|
|
},space);
|
|
}
|
|
,attachSteamController: function(Handle,Attach) {
|
|
if(Attach == null) {
|
|
Attach = true;
|
|
}
|
|
this.attachSteamControllerSub(Handle,Attach,flixel_input_actions_FlxInputType.DIGITAL,this.digitalActions,null);
|
|
this.attachSteamControllerSub(Handle,Attach,flixel_input_actions_FlxInputType.ANALOG,null,this.analogActions);
|
|
}
|
|
,add: function(Action1) {
|
|
if(Action1.type == flixel_input_actions_FlxInputType.DIGITAL) {
|
|
var dAction = Action1;
|
|
if(this.digitalActions.indexOf(dAction) != -1) {
|
|
return false;
|
|
}
|
|
this.digitalActions.push(dAction);
|
|
return true;
|
|
} else if(Action1.type == flixel_input_actions_FlxInputType.ANALOG) {
|
|
var aAction = Action1;
|
|
if(this.analogActions.indexOf(aAction) != -1) {
|
|
return false;
|
|
}
|
|
this.analogActions.push(aAction);
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
,destroy: function() {
|
|
this.digitalActions = flixel_util_FlxDestroyUtil.destroyArray(this.digitalActions);
|
|
this.analogActions = flixel_util_FlxDestroyUtil.destroyArray(this.analogActions);
|
|
}
|
|
,remove: function(Action1,Destroy) {
|
|
if(Destroy == null) {
|
|
Destroy = true;
|
|
}
|
|
var result = false;
|
|
if(Action1.type == flixel_input_actions_FlxInputType.DIGITAL) {
|
|
result = HxOverrides.remove(this.digitalActions,Action1);
|
|
if(result && Destroy) {
|
|
Action1.destroy();
|
|
}
|
|
} else if(Action1.type == flixel_input_actions_FlxInputType.ANALOG) {
|
|
result = HxOverrides.remove(this.analogActions,Action1);
|
|
if(result && Destroy) {
|
|
Action1.destroy();
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
,update: function() {
|
|
if(!this.active) {
|
|
return;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.digitalActions;
|
|
while(_g < _g1.length) {
|
|
var digitalAction = _g1[_g];
|
|
++_g;
|
|
digitalAction.update();
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.analogActions;
|
|
while(_g < _g1.length) {
|
|
var analogAction = _g1[_g];
|
|
++_g;
|
|
analogAction.update();
|
|
}
|
|
}
|
|
,attachSteamControllerSub: function(Handle,Attach,InputType,DigitalActions,AnalogActions) {
|
|
var length = InputType == flixel_input_actions_FlxInputType.DIGITAL ? DigitalActions.length : AnalogActions.length;
|
|
var _g = 0;
|
|
var _g1 = length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var action = InputType == flixel_input_actions_FlxInputType.DIGITAL ? DigitalActions[i] : AnalogActions[i];
|
|
if(action.steamHandle != -1) {
|
|
var inputExists = false;
|
|
var theInput = null;
|
|
if(action.inputs != null) {
|
|
var _g2 = 0;
|
|
var _g3 = action.inputs;
|
|
while(_g2 < _g3.length) {
|
|
var input = _g3[_g2];
|
|
++_g2;
|
|
if(input.device == flixel_input_actions_FlxInputDevice.STEAM_CONTROLLER && input.deviceID == Handle) {
|
|
inputExists = true;
|
|
theInput = input;
|
|
}
|
|
}
|
|
}
|
|
if(Attach) {
|
|
if(!inputExists) {
|
|
if(InputType == flixel_input_actions_FlxInputType.DIGITAL) {
|
|
DigitalActions[i].add(new flixel_input_actions_FlxActionInputDigitalSteam(action.steamHandle,2,Handle));
|
|
} else if(InputType == flixel_input_actions_FlxInputType.ANALOG) {
|
|
AnalogActions[i].add(new flixel_input_actions_FlxActionInputAnalogSteam(action.steamHandle,1,3,Handle));
|
|
}
|
|
}
|
|
} else if(inputExists) {
|
|
action.remove(theInput);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,__class__: flixel_input_actions_FlxActionSet
|
|
};
|
|
var Controls = function(name,scheme) {
|
|
if(scheme == null) {
|
|
scheme = KeyboardScheme.None;
|
|
}
|
|
this.keyboardScheme = KeyboardScheme.None;
|
|
this.gamepadsAdded = [];
|
|
this.byName = new haxe_ds_StringMap();
|
|
this._cheat = new flixel_input_actions_FlxActionDigital("cheat");
|
|
this._reset = new flixel_input_actions_FlxActionDigital("reset");
|
|
this._pause = new flixel_input_actions_FlxActionDigital("pause");
|
|
this._back = new flixel_input_actions_FlxActionDigital("back");
|
|
this._accept = new flixel_input_actions_FlxActionDigital("accept");
|
|
this._downR = new flixel_input_actions_FlxActionDigital("down-release");
|
|
this._rightR = new flixel_input_actions_FlxActionDigital("right-release");
|
|
this._leftR = new flixel_input_actions_FlxActionDigital("left-release");
|
|
this._upR = new flixel_input_actions_FlxActionDigital("up-release");
|
|
this._downP = new flixel_input_actions_FlxActionDigital("down-press");
|
|
this._rightP = new flixel_input_actions_FlxActionDigital("right-press");
|
|
this._leftP = new flixel_input_actions_FlxActionDigital("left-press");
|
|
this._upP = new flixel_input_actions_FlxActionDigital("up-press");
|
|
this._down = new flixel_input_actions_FlxActionDigital("down");
|
|
this._right = new flixel_input_actions_FlxActionDigital("right");
|
|
this._left = new flixel_input_actions_FlxActionDigital("left");
|
|
this._up = new flixel_input_actions_FlxActionDigital("up");
|
|
flixel_input_actions_FlxActionSet.call(this,name);
|
|
this.add(this._up);
|
|
this.add(this._left);
|
|
this.add(this._right);
|
|
this.add(this._down);
|
|
this.add(this._upP);
|
|
this.add(this._leftP);
|
|
this.add(this._rightP);
|
|
this.add(this._downP);
|
|
this.add(this._upR);
|
|
this.add(this._leftR);
|
|
this.add(this._rightR);
|
|
this.add(this._downR);
|
|
this.add(this._accept);
|
|
this.add(this._back);
|
|
this.add(this._pause);
|
|
this.add(this._reset);
|
|
this.add(this._cheat);
|
|
var _g = 0;
|
|
var _g1 = this.digitalActions;
|
|
while(_g < _g1.length) {
|
|
var action = _g1[_g];
|
|
++_g;
|
|
this.byName.h[action.name] = action;
|
|
}
|
|
this.setKeyboardScheme(scheme,false);
|
|
};
|
|
$hxClasses["Controls"] = Controls;
|
|
Controls.__name__ = "Controls";
|
|
Controls.init = function() {
|
|
var actions = new flixel_input_actions_FlxActionManager();
|
|
flixel_FlxG.inputs.add_flixel_input_actions_FlxActionManager(actions);
|
|
};
|
|
Controls.addKeys = function(action,keys,state) {
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
};
|
|
Controls.removeKeys = function(action,keys) {
|
|
var i = action.inputs.length;
|
|
while(i-- > 0) {
|
|
var input = action.inputs[i];
|
|
if(input.device == flixel_input_actions_FlxInputDevice.KEYBOARD && keys.indexOf(input.inputID) != -1) {
|
|
action.remove(input);
|
|
}
|
|
}
|
|
};
|
|
Controls.addButtons = function(action,buttons,state,id) {
|
|
var _g = 0;
|
|
while(_g < buttons.length) {
|
|
var button = buttons[_g];
|
|
++_g;
|
|
action.addGamepad(button,state,id);
|
|
}
|
|
};
|
|
Controls.removeButtons = function(action,gamepadID,buttons) {
|
|
var i = action.inputs.length;
|
|
while(i-- > 0) {
|
|
var input = action.inputs[i];
|
|
if(input.device == flixel_input_actions_FlxInputDevice.GAMEPAD && (gamepadID == -1 || input.deviceID == gamepadID) && buttons.indexOf(input.inputID) != -1) {
|
|
action.remove(input);
|
|
}
|
|
}
|
|
};
|
|
Controls.isDevice = function(input,device) {
|
|
switch(device._hx_index) {
|
|
case 0:
|
|
return input.device == flixel_input_actions_FlxInputDevice.KEYBOARD;
|
|
case 1:
|
|
var id = device.id;
|
|
if(input.device == flixel_input_actions_FlxInputDevice.GAMEPAD) {
|
|
if(id != -1) {
|
|
return input.deviceID == id;
|
|
} else {
|
|
return true;
|
|
}
|
|
} else {
|
|
return false;
|
|
}
|
|
break;
|
|
}
|
|
};
|
|
Controls.isGamepad = function(input,deviceID) {
|
|
if(input.device == flixel_input_actions_FlxInputDevice.GAMEPAD) {
|
|
if(deviceID != -1) {
|
|
return input.deviceID == deviceID;
|
|
} else {
|
|
return true;
|
|
}
|
|
} else {
|
|
return false;
|
|
}
|
|
};
|
|
Controls.__super__ = flixel_input_actions_FlxActionSet;
|
|
Controls.prototype = $extend(flixel_input_actions_FlxActionSet.prototype,{
|
|
_up: null
|
|
,_left: null
|
|
,_right: null
|
|
,_down: null
|
|
,_upP: null
|
|
,_leftP: null
|
|
,_rightP: null
|
|
,_downP: null
|
|
,_upR: null
|
|
,_leftR: null
|
|
,_rightR: null
|
|
,_downR: null
|
|
,_accept: null
|
|
,_back: null
|
|
,_pause: null
|
|
,_reset: null
|
|
,_cheat: null
|
|
,byName: null
|
|
,gamepadsAdded: null
|
|
,keyboardScheme: null
|
|
,get_UP: function() {
|
|
return this._up.check();
|
|
}
|
|
,get_LEFT: function() {
|
|
return this._left.check();
|
|
}
|
|
,get_RIGHT: function() {
|
|
return this._right.check();
|
|
}
|
|
,get_DOWN: function() {
|
|
return this._down.check();
|
|
}
|
|
,get_UP_P: function() {
|
|
return this._upP.check();
|
|
}
|
|
,get_LEFT_P: function() {
|
|
return this._leftP.check();
|
|
}
|
|
,get_RIGHT_P: function() {
|
|
return this._rightP.check();
|
|
}
|
|
,get_DOWN_P: function() {
|
|
return this._downP.check();
|
|
}
|
|
,get_UP_R: function() {
|
|
return this._upR.check();
|
|
}
|
|
,get_LEFT_R: function() {
|
|
return this._leftR.check();
|
|
}
|
|
,get_RIGHT_R: function() {
|
|
return this._rightR.check();
|
|
}
|
|
,get_DOWN_R: function() {
|
|
return this._downR.check();
|
|
}
|
|
,get_ACCEPT: function() {
|
|
return this._accept.check();
|
|
}
|
|
,get_BACK: function() {
|
|
return this._back.check();
|
|
}
|
|
,get_PAUSE: function() {
|
|
return this._pause.check();
|
|
}
|
|
,get_RESET: function() {
|
|
return this._reset.check();
|
|
}
|
|
,get_CHEAT: function() {
|
|
return this._cheat.check();
|
|
}
|
|
,update: function() {
|
|
flixel_input_actions_FlxActionSet.prototype.update.call(this);
|
|
}
|
|
,checkByName: function(name) {
|
|
return this.byName.h[name].check();
|
|
}
|
|
,getDialogueName: function(action) {
|
|
var input = action.inputs[0];
|
|
var _g = input.device;
|
|
switch(_g._hx_index) {
|
|
case 3:
|
|
var tmp = input.inputID;
|
|
return "[" + (tmp == null ? "null" : flixel_input_keyboard_FlxKey.toStringMap.h[tmp]) + "]";
|
|
case 4:
|
|
var tmp = input.inputID;
|
|
return "(" + (tmp == null ? "null" : flixel_input_gamepad_FlxGamepadInputID.toStringMap.h[tmp]) + ")";
|
|
default:
|
|
var device = _g;
|
|
throw haxe_Exception.thrown("unhandled device: " + Std.string(device));
|
|
}
|
|
}
|
|
,getDialogueNameFromToken: function(token) {
|
|
return this.getDialogueName(this.getActionFromControl(Type.createEnum(Control,token.toUpperCase(),null)));
|
|
}
|
|
,getActionFromControl: function(control) {
|
|
switch(control._hx_index) {
|
|
case 0:
|
|
return this._up;
|
|
case 1:
|
|
return this._left;
|
|
case 2:
|
|
return this._right;
|
|
case 3:
|
|
return this._down;
|
|
case 4:
|
|
return this._reset;
|
|
case 5:
|
|
return this._accept;
|
|
case 6:
|
|
return this._back;
|
|
case 7:
|
|
return this._pause;
|
|
case 8:
|
|
return this._cheat;
|
|
}
|
|
}
|
|
,forEachBound: function(control,func) {
|
|
switch(control._hx_index) {
|
|
case 0:
|
|
func(this._up,1);
|
|
func(this._upP,2);
|
|
func(this._upR,-1);
|
|
break;
|
|
case 1:
|
|
func(this._left,1);
|
|
func(this._leftP,2);
|
|
func(this._leftR,-1);
|
|
break;
|
|
case 2:
|
|
func(this._right,1);
|
|
func(this._rightP,2);
|
|
func(this._rightR,-1);
|
|
break;
|
|
case 3:
|
|
func(this._down,1);
|
|
func(this._downP,2);
|
|
func(this._downR,-1);
|
|
break;
|
|
case 4:
|
|
func(this._reset,2);
|
|
break;
|
|
case 5:
|
|
func(this._accept,2);
|
|
break;
|
|
case 6:
|
|
func(this._back,2);
|
|
break;
|
|
case 7:
|
|
func(this._pause,2);
|
|
break;
|
|
case 8:
|
|
func(this._cheat,2);
|
|
break;
|
|
}
|
|
}
|
|
,replaceBinding: function(control,device,toAdd,toRemove) {
|
|
if(toAdd == toRemove) {
|
|
return;
|
|
}
|
|
switch(device._hx_index) {
|
|
case 0:
|
|
if(toRemove != null) {
|
|
this.unbindKeys(control,[toRemove]);
|
|
}
|
|
if(toAdd != null) {
|
|
this.bindKeys(control,[toAdd]);
|
|
}
|
|
break;
|
|
case 1:
|
|
var id = device.id;
|
|
if(toRemove != null) {
|
|
this.unbindButtons(control,id,[toRemove]);
|
|
}
|
|
if(toAdd != null) {
|
|
this.bindButtons(control,id,[toAdd]);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
,copyFrom: function(controls,device) {
|
|
var _g = haxe_ds_StringMap.kvIterator(controls.byName.h);
|
|
while(_g.hasNext()) {
|
|
var _g1 = _g.next();
|
|
var name = _g1.key;
|
|
var action = _g1.value;
|
|
var _g2 = 0;
|
|
var _g3 = action.inputs;
|
|
while(_g2 < _g3.length) {
|
|
var input = _g3[_g2];
|
|
++_g2;
|
|
if(device == null || Controls.isDevice(input,device)) {
|
|
this.byName.h[name].add(input);
|
|
}
|
|
}
|
|
}
|
|
if(device == null) {
|
|
var _g = 0;
|
|
var _g1 = controls.gamepadsAdded;
|
|
while(_g < _g1.length) {
|
|
var gamepad = _g1[_g];
|
|
++_g;
|
|
if(this.gamepadsAdded.indexOf(gamepad) == -1) {
|
|
this.gamepadsAdded.push(gamepad);
|
|
}
|
|
}
|
|
this.mergeKeyboardScheme(controls.keyboardScheme);
|
|
} else {
|
|
switch(device._hx_index) {
|
|
case 0:
|
|
this.mergeKeyboardScheme(controls.keyboardScheme);
|
|
break;
|
|
case 1:
|
|
var id = device.id;
|
|
this.gamepadsAdded.push(id);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
,copyTo: function(controls,device) {
|
|
controls.copyFrom(this,device);
|
|
}
|
|
,mergeKeyboardScheme: function(scheme) {
|
|
if(scheme != KeyboardScheme.None) {
|
|
if(this.keyboardScheme._hx_index == 2) {
|
|
this.keyboardScheme = scheme;
|
|
} else {
|
|
this.keyboardScheme = KeyboardScheme.Custom;
|
|
}
|
|
}
|
|
}
|
|
,bindKeys: function(control,keys) {
|
|
switch(control._hx_index) {
|
|
case 0:
|
|
var action = this._up;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 1:
|
|
var action = this._left;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 2:
|
|
var action = this._right;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 3:
|
|
var action = this._down;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 4:
|
|
var action = this._reset;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 5:
|
|
var action = this._accept;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 6:
|
|
var action = this._back;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 7:
|
|
var action = this._pause;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 8:
|
|
var action = this._cheat;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
,unbindKeys: function(control,keys) {
|
|
switch(control._hx_index) {
|
|
case 0:
|
|
Controls.removeKeys(this._up,keys);
|
|
Controls.removeKeys(this._upP,keys);
|
|
Controls.removeKeys(this._upR,keys);
|
|
break;
|
|
case 1:
|
|
Controls.removeKeys(this._left,keys);
|
|
Controls.removeKeys(this._leftP,keys);
|
|
Controls.removeKeys(this._leftR,keys);
|
|
break;
|
|
case 2:
|
|
Controls.removeKeys(this._right,keys);
|
|
Controls.removeKeys(this._rightP,keys);
|
|
Controls.removeKeys(this._rightR,keys);
|
|
break;
|
|
case 3:
|
|
Controls.removeKeys(this._down,keys);
|
|
Controls.removeKeys(this._downP,keys);
|
|
Controls.removeKeys(this._downR,keys);
|
|
break;
|
|
case 4:
|
|
Controls.removeKeys(this._reset,keys);
|
|
break;
|
|
case 5:
|
|
Controls.removeKeys(this._accept,keys);
|
|
break;
|
|
case 6:
|
|
Controls.removeKeys(this._back,keys);
|
|
break;
|
|
case 7:
|
|
Controls.removeKeys(this._pause,keys);
|
|
break;
|
|
case 8:
|
|
Controls.removeKeys(this._cheat,keys);
|
|
break;
|
|
}
|
|
}
|
|
,setKeyboardScheme: function(scheme,reset) {
|
|
if(reset == null) {
|
|
reset = true;
|
|
}
|
|
if(reset) {
|
|
this.removeKeyboard();
|
|
}
|
|
this.keyboardScheme = scheme;
|
|
switch(scheme._hx_index) {
|
|
case 0:
|
|
var keys = [87,38];
|
|
switch(Control.UP._hx_index) {
|
|
case 0:
|
|
var action = this._up;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 1:
|
|
var action = this._left;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 2:
|
|
var action = this._right;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 3:
|
|
var action = this._down;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 4:
|
|
var action = this._reset;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 5:
|
|
var action = this._accept;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 6:
|
|
var action = this._back;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 7:
|
|
var action = this._pause;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 8:
|
|
var action = this._cheat;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
}
|
|
var keys = [83,40];
|
|
switch(Control.DOWN._hx_index) {
|
|
case 0:
|
|
var action = this._up;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 1:
|
|
var action = this._left;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 2:
|
|
var action = this._right;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 3:
|
|
var action = this._down;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 4:
|
|
var action = this._reset;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 5:
|
|
var action = this._accept;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 6:
|
|
var action = this._back;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 7:
|
|
var action = this._pause;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 8:
|
|
var action = this._cheat;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
}
|
|
var keys = [65,37];
|
|
switch(Control.LEFT._hx_index) {
|
|
case 0:
|
|
var action = this._up;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 1:
|
|
var action = this._left;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 2:
|
|
var action = this._right;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 3:
|
|
var action = this._down;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 4:
|
|
var action = this._reset;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 5:
|
|
var action = this._accept;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 6:
|
|
var action = this._back;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 7:
|
|
var action = this._pause;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 8:
|
|
var action = this._cheat;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
}
|
|
var keys = [68,39];
|
|
switch(Control.RIGHT._hx_index) {
|
|
case 0:
|
|
var action = this._up;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 1:
|
|
var action = this._left;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 2:
|
|
var action = this._right;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 3:
|
|
var action = this._down;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 4:
|
|
var action = this._reset;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 5:
|
|
var action = this._accept;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 6:
|
|
var action = this._back;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 7:
|
|
var action = this._pause;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 8:
|
|
var action = this._cheat;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
}
|
|
var keys = [90,32,13];
|
|
switch(Control.ACCEPT._hx_index) {
|
|
case 0:
|
|
var action = this._up;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 1:
|
|
var action = this._left;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 2:
|
|
var action = this._right;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 3:
|
|
var action = this._down;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 4:
|
|
var action = this._reset;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 5:
|
|
var action = this._accept;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 6:
|
|
var action = this._back;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 7:
|
|
var action = this._pause;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 8:
|
|
var action = this._cheat;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
}
|
|
var keys = [8,27];
|
|
switch(Control.BACK._hx_index) {
|
|
case 0:
|
|
var action = this._up;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 1:
|
|
var action = this._left;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 2:
|
|
var action = this._right;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 3:
|
|
var action = this._down;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 4:
|
|
var action = this._reset;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 5:
|
|
var action = this._accept;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 6:
|
|
var action = this._back;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 7:
|
|
var action = this._pause;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 8:
|
|
var action = this._cheat;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
}
|
|
var keys = [80,13,27];
|
|
switch(Control.PAUSE._hx_index) {
|
|
case 0:
|
|
var action = this._up;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 1:
|
|
var action = this._left;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 2:
|
|
var action = this._right;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 3:
|
|
var action = this._down;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 4:
|
|
var action = this._reset;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 5:
|
|
var action = this._accept;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 6:
|
|
var action = this._back;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 7:
|
|
var action = this._pause;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 8:
|
|
var action = this._cheat;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
}
|
|
var keys = [82];
|
|
switch(Control.RESET._hx_index) {
|
|
case 0:
|
|
var action = this._up;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 1:
|
|
var action = this._left;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 2:
|
|
var action = this._right;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 3:
|
|
var action = this._down;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 4:
|
|
var action = this._reset;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 5:
|
|
var action = this._accept;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 6:
|
|
var action = this._back;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 7:
|
|
var action = this._pause;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 8:
|
|
var action = this._cheat;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
}
|
|
break;
|
|
case 1:
|
|
if(scheme.first) {
|
|
var keys = [87];
|
|
switch(Control.UP._hx_index) {
|
|
case 0:
|
|
var action = this._up;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 1:
|
|
var action = this._left;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 2:
|
|
var action = this._right;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 3:
|
|
var action = this._down;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 4:
|
|
var action = this._reset;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 5:
|
|
var action = this._accept;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 6:
|
|
var action = this._back;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 7:
|
|
var action = this._pause;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 8:
|
|
var action = this._cheat;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
}
|
|
var keys = [83];
|
|
switch(Control.DOWN._hx_index) {
|
|
case 0:
|
|
var action = this._up;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 1:
|
|
var action = this._left;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 2:
|
|
var action = this._right;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 3:
|
|
var action = this._down;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 4:
|
|
var action = this._reset;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 5:
|
|
var action = this._accept;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 6:
|
|
var action = this._back;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 7:
|
|
var action = this._pause;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 8:
|
|
var action = this._cheat;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
}
|
|
var keys = [65];
|
|
switch(Control.LEFT._hx_index) {
|
|
case 0:
|
|
var action = this._up;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 1:
|
|
var action = this._left;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 2:
|
|
var action = this._right;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 3:
|
|
var action = this._down;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 4:
|
|
var action = this._reset;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 5:
|
|
var action = this._accept;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 6:
|
|
var action = this._back;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 7:
|
|
var action = this._pause;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 8:
|
|
var action = this._cheat;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
}
|
|
var keys = [68];
|
|
switch(Control.RIGHT._hx_index) {
|
|
case 0:
|
|
var action = this._up;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 1:
|
|
var action = this._left;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 2:
|
|
var action = this._right;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 3:
|
|
var action = this._down;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 4:
|
|
var action = this._reset;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 5:
|
|
var action = this._accept;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 6:
|
|
var action = this._back;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 7:
|
|
var action = this._pause;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 8:
|
|
var action = this._cheat;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
}
|
|
var keys = [71,90];
|
|
switch(Control.ACCEPT._hx_index) {
|
|
case 0:
|
|
var action = this._up;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 1:
|
|
var action = this._left;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 2:
|
|
var action = this._right;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 3:
|
|
var action = this._down;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 4:
|
|
var action = this._reset;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 5:
|
|
var action = this._accept;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 6:
|
|
var action = this._back;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 7:
|
|
var action = this._pause;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 8:
|
|
var action = this._cheat;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
}
|
|
var keys = [72,88];
|
|
switch(Control.BACK._hx_index) {
|
|
case 0:
|
|
var action = this._up;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 1:
|
|
var action = this._left;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 2:
|
|
var action = this._right;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 3:
|
|
var action = this._down;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 4:
|
|
var action = this._reset;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 5:
|
|
var action = this._accept;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 6:
|
|
var action = this._back;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 7:
|
|
var action = this._pause;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 8:
|
|
var action = this._cheat;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
}
|
|
var keys = [49];
|
|
switch(Control.PAUSE._hx_index) {
|
|
case 0:
|
|
var action = this._up;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 1:
|
|
var action = this._left;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 2:
|
|
var action = this._right;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 3:
|
|
var action = this._down;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 4:
|
|
var action = this._reset;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 5:
|
|
var action = this._accept;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 6:
|
|
var action = this._back;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 7:
|
|
var action = this._pause;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 8:
|
|
var action = this._cheat;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
}
|
|
var keys = [82];
|
|
switch(Control.RESET._hx_index) {
|
|
case 0:
|
|
var action = this._up;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 1:
|
|
var action = this._left;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 2:
|
|
var action = this._right;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 3:
|
|
var action = this._down;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 4:
|
|
var action = this._reset;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 5:
|
|
var action = this._accept;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 6:
|
|
var action = this._back;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 7:
|
|
var action = this._pause;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 8:
|
|
var action = this._cheat;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
}
|
|
} else {
|
|
var keys = [38];
|
|
switch(Control.UP._hx_index) {
|
|
case 0:
|
|
var action = this._up;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 1:
|
|
var action = this._left;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 2:
|
|
var action = this._right;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 3:
|
|
var action = this._down;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 4:
|
|
var action = this._reset;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 5:
|
|
var action = this._accept;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 6:
|
|
var action = this._back;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 7:
|
|
var action = this._pause;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 8:
|
|
var action = this._cheat;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
}
|
|
var keys = [40];
|
|
switch(Control.DOWN._hx_index) {
|
|
case 0:
|
|
var action = this._up;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 1:
|
|
var action = this._left;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 2:
|
|
var action = this._right;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 3:
|
|
var action = this._down;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 4:
|
|
var action = this._reset;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 5:
|
|
var action = this._accept;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 6:
|
|
var action = this._back;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 7:
|
|
var action = this._pause;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 8:
|
|
var action = this._cheat;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
}
|
|
var keys = [37];
|
|
switch(Control.LEFT._hx_index) {
|
|
case 0:
|
|
var action = this._up;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 1:
|
|
var action = this._left;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 2:
|
|
var action = this._right;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 3:
|
|
var action = this._down;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 4:
|
|
var action = this._reset;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 5:
|
|
var action = this._accept;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 6:
|
|
var action = this._back;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 7:
|
|
var action = this._pause;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 8:
|
|
var action = this._cheat;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
}
|
|
var keys = [39];
|
|
switch(Control.RIGHT._hx_index) {
|
|
case 0:
|
|
var action = this._up;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 1:
|
|
var action = this._left;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 2:
|
|
var action = this._right;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 3:
|
|
var action = this._down;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 4:
|
|
var action = this._reset;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 5:
|
|
var action = this._accept;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 6:
|
|
var action = this._back;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 7:
|
|
var action = this._pause;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 8:
|
|
var action = this._cheat;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
}
|
|
var keys = [79];
|
|
switch(Control.ACCEPT._hx_index) {
|
|
case 0:
|
|
var action = this._up;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 1:
|
|
var action = this._left;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 2:
|
|
var action = this._right;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 3:
|
|
var action = this._down;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 4:
|
|
var action = this._reset;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 5:
|
|
var action = this._accept;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 6:
|
|
var action = this._back;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 7:
|
|
var action = this._pause;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 8:
|
|
var action = this._cheat;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
}
|
|
var keys = [80];
|
|
switch(Control.BACK._hx_index) {
|
|
case 0:
|
|
var action = this._up;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 1:
|
|
var action = this._left;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 2:
|
|
var action = this._right;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 3:
|
|
var action = this._down;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 4:
|
|
var action = this._reset;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 5:
|
|
var action = this._accept;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 6:
|
|
var action = this._back;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 7:
|
|
var action = this._pause;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 8:
|
|
var action = this._cheat;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
}
|
|
var keys = [13];
|
|
switch(Control.PAUSE._hx_index) {
|
|
case 0:
|
|
var action = this._up;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 1:
|
|
var action = this._left;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 2:
|
|
var action = this._right;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 3:
|
|
var action = this._down;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 4:
|
|
var action = this._reset;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 5:
|
|
var action = this._accept;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 6:
|
|
var action = this._back;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 7:
|
|
var action = this._pause;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 8:
|
|
var action = this._cheat;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
}
|
|
var keys = [8];
|
|
switch(Control.RESET._hx_index) {
|
|
case 0:
|
|
var action = this._up;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._upR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 1:
|
|
var action = this._left;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._leftR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 2:
|
|
var action = this._right;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._rightR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 3:
|
|
var action = this._down;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
var action = this._downR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 4:
|
|
var action = this._reset;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 5:
|
|
var action = this._accept;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 6:
|
|
var action = this._back;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 7:
|
|
var action = this._pause;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
case 8:
|
|
var action = this._cheat;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var key = keys[_g];
|
|
++_g;
|
|
action.addKey(key,state);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
break;
|
|
case 2:
|
|
break;
|
|
case 3:
|
|
break;
|
|
}
|
|
}
|
|
,removeKeyboard: function() {
|
|
var _g = 0;
|
|
var _g1 = this.digitalActions;
|
|
while(_g < _g1.length) {
|
|
var action = _g1[_g];
|
|
++_g;
|
|
var i = action.inputs.length;
|
|
while(i-- > 0) {
|
|
var input = action.inputs[i];
|
|
if(input.device == flixel_input_actions_FlxInputDevice.KEYBOARD) {
|
|
action.remove(input);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,addGamepad: function(id,buttonMap) {
|
|
this.gamepadsAdded.push(id);
|
|
var _g = new haxe_iterators_MapKeyValueIterator(buttonMap);
|
|
while(_g.hasNext()) {
|
|
var _g1 = _g.next();
|
|
var control = _g1.key;
|
|
var buttons = _g1.value;
|
|
var id1 = id;
|
|
var buttons1 = buttons;
|
|
switch(control._hx_index) {
|
|
case 0:
|
|
var action = this._up;
|
|
var state = 1;
|
|
var _g2 = 0;
|
|
while(_g2 < buttons1.length) {
|
|
var button = buttons1[_g2];
|
|
++_g2;
|
|
action.addGamepad(button,state,id1);
|
|
}
|
|
var action1 = this._upP;
|
|
var state1 = 2;
|
|
var _g3 = 0;
|
|
while(_g3 < buttons1.length) {
|
|
var button1 = buttons1[_g3];
|
|
++_g3;
|
|
action1.addGamepad(button1,state1,id1);
|
|
}
|
|
var action2 = this._upR;
|
|
var state2 = -1;
|
|
var _g4 = 0;
|
|
while(_g4 < buttons1.length) {
|
|
var button2 = buttons1[_g4];
|
|
++_g4;
|
|
action2.addGamepad(button2,state2,id1);
|
|
}
|
|
break;
|
|
case 1:
|
|
var action3 = this._left;
|
|
var state3 = 1;
|
|
var _g5 = 0;
|
|
while(_g5 < buttons1.length) {
|
|
var button3 = buttons1[_g5];
|
|
++_g5;
|
|
action3.addGamepad(button3,state3,id1);
|
|
}
|
|
var action4 = this._leftP;
|
|
var state4 = 2;
|
|
var _g6 = 0;
|
|
while(_g6 < buttons1.length) {
|
|
var button4 = buttons1[_g6];
|
|
++_g6;
|
|
action4.addGamepad(button4,state4,id1);
|
|
}
|
|
var action5 = this._leftR;
|
|
var state5 = -1;
|
|
var _g7 = 0;
|
|
while(_g7 < buttons1.length) {
|
|
var button5 = buttons1[_g7];
|
|
++_g7;
|
|
action5.addGamepad(button5,state5,id1);
|
|
}
|
|
break;
|
|
case 2:
|
|
var action6 = this._right;
|
|
var state6 = 1;
|
|
var _g8 = 0;
|
|
while(_g8 < buttons1.length) {
|
|
var button6 = buttons1[_g8];
|
|
++_g8;
|
|
action6.addGamepad(button6,state6,id1);
|
|
}
|
|
var action7 = this._rightP;
|
|
var state7 = 2;
|
|
var _g9 = 0;
|
|
while(_g9 < buttons1.length) {
|
|
var button7 = buttons1[_g9];
|
|
++_g9;
|
|
action7.addGamepad(button7,state7,id1);
|
|
}
|
|
var action8 = this._rightR;
|
|
var state8 = -1;
|
|
var _g10 = 0;
|
|
while(_g10 < buttons1.length) {
|
|
var button8 = buttons1[_g10];
|
|
++_g10;
|
|
action8.addGamepad(button8,state8,id1);
|
|
}
|
|
break;
|
|
case 3:
|
|
var action9 = this._down;
|
|
var state9 = 1;
|
|
var _g11 = 0;
|
|
while(_g11 < buttons1.length) {
|
|
var button9 = buttons1[_g11];
|
|
++_g11;
|
|
action9.addGamepad(button9,state9,id1);
|
|
}
|
|
var action10 = this._downP;
|
|
var state10 = 2;
|
|
var _g12 = 0;
|
|
while(_g12 < buttons1.length) {
|
|
var button10 = buttons1[_g12];
|
|
++_g12;
|
|
action10.addGamepad(button10,state10,id1);
|
|
}
|
|
var action11 = this._downR;
|
|
var state11 = -1;
|
|
var _g13 = 0;
|
|
while(_g13 < buttons1.length) {
|
|
var button11 = buttons1[_g13];
|
|
++_g13;
|
|
action11.addGamepad(button11,state11,id1);
|
|
}
|
|
break;
|
|
case 4:
|
|
var action12 = this._reset;
|
|
var state12 = 2;
|
|
var _g14 = 0;
|
|
while(_g14 < buttons1.length) {
|
|
var button12 = buttons1[_g14];
|
|
++_g14;
|
|
action12.addGamepad(button12,state12,id1);
|
|
}
|
|
break;
|
|
case 5:
|
|
var action13 = this._accept;
|
|
var state13 = 2;
|
|
var _g15 = 0;
|
|
while(_g15 < buttons1.length) {
|
|
var button13 = buttons1[_g15];
|
|
++_g15;
|
|
action13.addGamepad(button13,state13,id1);
|
|
}
|
|
break;
|
|
case 6:
|
|
var action14 = this._back;
|
|
var state14 = 2;
|
|
var _g16 = 0;
|
|
while(_g16 < buttons1.length) {
|
|
var button14 = buttons1[_g16];
|
|
++_g16;
|
|
action14.addGamepad(button14,state14,id1);
|
|
}
|
|
break;
|
|
case 7:
|
|
var action15 = this._pause;
|
|
var state15 = 2;
|
|
var _g17 = 0;
|
|
while(_g17 < buttons1.length) {
|
|
var button15 = buttons1[_g17];
|
|
++_g17;
|
|
action15.addGamepad(button15,state15,id1);
|
|
}
|
|
break;
|
|
case 8:
|
|
var action16 = this._cheat;
|
|
var state16 = 2;
|
|
var _g18 = 0;
|
|
while(_g18 < buttons1.length) {
|
|
var button16 = buttons1[_g18];
|
|
++_g18;
|
|
action16.addGamepad(button16,state16,id1);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
,addGamepadLiteral: function(id,buttonMap) {
|
|
this.gamepadsAdded.push(id);
|
|
var _g = new haxe_iterators_MapKeyValueIterator(buttonMap);
|
|
while(_g.hasNext()) {
|
|
var _g1 = _g.next();
|
|
var control = _g1.key;
|
|
var buttons = _g1.value;
|
|
var id1 = id;
|
|
var buttons1 = buttons;
|
|
switch(control._hx_index) {
|
|
case 0:
|
|
var action = this._up;
|
|
var state = 1;
|
|
var _g2 = 0;
|
|
while(_g2 < buttons1.length) {
|
|
var button = buttons1[_g2];
|
|
++_g2;
|
|
action.addGamepad(button,state,id1);
|
|
}
|
|
var action1 = this._upP;
|
|
var state1 = 2;
|
|
var _g3 = 0;
|
|
while(_g3 < buttons1.length) {
|
|
var button1 = buttons1[_g3];
|
|
++_g3;
|
|
action1.addGamepad(button1,state1,id1);
|
|
}
|
|
var action2 = this._upR;
|
|
var state2 = -1;
|
|
var _g4 = 0;
|
|
while(_g4 < buttons1.length) {
|
|
var button2 = buttons1[_g4];
|
|
++_g4;
|
|
action2.addGamepad(button2,state2,id1);
|
|
}
|
|
break;
|
|
case 1:
|
|
var action3 = this._left;
|
|
var state3 = 1;
|
|
var _g5 = 0;
|
|
while(_g5 < buttons1.length) {
|
|
var button3 = buttons1[_g5];
|
|
++_g5;
|
|
action3.addGamepad(button3,state3,id1);
|
|
}
|
|
var action4 = this._leftP;
|
|
var state4 = 2;
|
|
var _g6 = 0;
|
|
while(_g6 < buttons1.length) {
|
|
var button4 = buttons1[_g6];
|
|
++_g6;
|
|
action4.addGamepad(button4,state4,id1);
|
|
}
|
|
var action5 = this._leftR;
|
|
var state5 = -1;
|
|
var _g7 = 0;
|
|
while(_g7 < buttons1.length) {
|
|
var button5 = buttons1[_g7];
|
|
++_g7;
|
|
action5.addGamepad(button5,state5,id1);
|
|
}
|
|
break;
|
|
case 2:
|
|
var action6 = this._right;
|
|
var state6 = 1;
|
|
var _g8 = 0;
|
|
while(_g8 < buttons1.length) {
|
|
var button6 = buttons1[_g8];
|
|
++_g8;
|
|
action6.addGamepad(button6,state6,id1);
|
|
}
|
|
var action7 = this._rightP;
|
|
var state7 = 2;
|
|
var _g9 = 0;
|
|
while(_g9 < buttons1.length) {
|
|
var button7 = buttons1[_g9];
|
|
++_g9;
|
|
action7.addGamepad(button7,state7,id1);
|
|
}
|
|
var action8 = this._rightR;
|
|
var state8 = -1;
|
|
var _g10 = 0;
|
|
while(_g10 < buttons1.length) {
|
|
var button8 = buttons1[_g10];
|
|
++_g10;
|
|
action8.addGamepad(button8,state8,id1);
|
|
}
|
|
break;
|
|
case 3:
|
|
var action9 = this._down;
|
|
var state9 = 1;
|
|
var _g11 = 0;
|
|
while(_g11 < buttons1.length) {
|
|
var button9 = buttons1[_g11];
|
|
++_g11;
|
|
action9.addGamepad(button9,state9,id1);
|
|
}
|
|
var action10 = this._downP;
|
|
var state10 = 2;
|
|
var _g12 = 0;
|
|
while(_g12 < buttons1.length) {
|
|
var button10 = buttons1[_g12];
|
|
++_g12;
|
|
action10.addGamepad(button10,state10,id1);
|
|
}
|
|
var action11 = this._downR;
|
|
var state11 = -1;
|
|
var _g13 = 0;
|
|
while(_g13 < buttons1.length) {
|
|
var button11 = buttons1[_g13];
|
|
++_g13;
|
|
action11.addGamepad(button11,state11,id1);
|
|
}
|
|
break;
|
|
case 4:
|
|
var action12 = this._reset;
|
|
var state12 = 2;
|
|
var _g14 = 0;
|
|
while(_g14 < buttons1.length) {
|
|
var button12 = buttons1[_g14];
|
|
++_g14;
|
|
action12.addGamepad(button12,state12,id1);
|
|
}
|
|
break;
|
|
case 5:
|
|
var action13 = this._accept;
|
|
var state13 = 2;
|
|
var _g15 = 0;
|
|
while(_g15 < buttons1.length) {
|
|
var button13 = buttons1[_g15];
|
|
++_g15;
|
|
action13.addGamepad(button13,state13,id1);
|
|
}
|
|
break;
|
|
case 6:
|
|
var action14 = this._back;
|
|
var state14 = 2;
|
|
var _g16 = 0;
|
|
while(_g16 < buttons1.length) {
|
|
var button14 = buttons1[_g16];
|
|
++_g16;
|
|
action14.addGamepad(button14,state14,id1);
|
|
}
|
|
break;
|
|
case 7:
|
|
var action15 = this._pause;
|
|
var state15 = 2;
|
|
var _g17 = 0;
|
|
while(_g17 < buttons1.length) {
|
|
var button15 = buttons1[_g17];
|
|
++_g17;
|
|
action15.addGamepad(button15,state15,id1);
|
|
}
|
|
break;
|
|
case 8:
|
|
var action16 = this._cheat;
|
|
var state16 = 2;
|
|
var _g18 = 0;
|
|
while(_g18 < buttons1.length) {
|
|
var button16 = buttons1[_g18];
|
|
++_g18;
|
|
action16.addGamepad(button16,state16,id1);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
,removeGamepad: function(deviceID) {
|
|
if(deviceID == null) {
|
|
deviceID = -1;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.digitalActions;
|
|
while(_g < _g1.length) {
|
|
var action = _g1[_g];
|
|
++_g;
|
|
var i = action.inputs.length;
|
|
while(i-- > 0) {
|
|
var input = action.inputs[i];
|
|
if(input.device == flixel_input_actions_FlxInputDevice.GAMEPAD && (deviceID == -1 || input.deviceID == deviceID)) {
|
|
action.remove(input);
|
|
}
|
|
}
|
|
}
|
|
HxOverrides.remove(this.gamepadsAdded,deviceID);
|
|
}
|
|
,addDefaultGamepad: function(id) {
|
|
var _g = new haxe_ds_EnumValueMap();
|
|
_g.set(Control.ACCEPT,[0]);
|
|
_g.set(Control.BACK,[1]);
|
|
_g.set(Control.UP,[11,34]);
|
|
_g.set(Control.DOWN,[12,36]);
|
|
_g.set(Control.LEFT,[13,37]);
|
|
_g.set(Control.RIGHT,[14,35]);
|
|
_g.set(Control.PAUSE,[7]);
|
|
_g.set(Control.RESET,[3]);
|
|
this.gamepadsAdded.push(id);
|
|
var _g1 = new haxe_iterators_MapKeyValueIterator(_g);
|
|
while(_g1.hasNext()) {
|
|
var _g = _g1.next();
|
|
var control = _g.key;
|
|
var buttons = _g.value;
|
|
var id1 = id;
|
|
var buttons1 = buttons;
|
|
switch(control._hx_index) {
|
|
case 0:
|
|
var action = this._up;
|
|
var state = 1;
|
|
var _g2 = 0;
|
|
while(_g2 < buttons1.length) {
|
|
var button = buttons1[_g2];
|
|
++_g2;
|
|
action.addGamepad(button,state,id1);
|
|
}
|
|
var action1 = this._upP;
|
|
var state1 = 2;
|
|
var _g3 = 0;
|
|
while(_g3 < buttons1.length) {
|
|
var button1 = buttons1[_g3];
|
|
++_g3;
|
|
action1.addGamepad(button1,state1,id1);
|
|
}
|
|
var action2 = this._upR;
|
|
var state2 = -1;
|
|
var _g4 = 0;
|
|
while(_g4 < buttons1.length) {
|
|
var button2 = buttons1[_g4];
|
|
++_g4;
|
|
action2.addGamepad(button2,state2,id1);
|
|
}
|
|
break;
|
|
case 1:
|
|
var action3 = this._left;
|
|
var state3 = 1;
|
|
var _g5 = 0;
|
|
while(_g5 < buttons1.length) {
|
|
var button3 = buttons1[_g5];
|
|
++_g5;
|
|
action3.addGamepad(button3,state3,id1);
|
|
}
|
|
var action4 = this._leftP;
|
|
var state4 = 2;
|
|
var _g6 = 0;
|
|
while(_g6 < buttons1.length) {
|
|
var button4 = buttons1[_g6];
|
|
++_g6;
|
|
action4.addGamepad(button4,state4,id1);
|
|
}
|
|
var action5 = this._leftR;
|
|
var state5 = -1;
|
|
var _g7 = 0;
|
|
while(_g7 < buttons1.length) {
|
|
var button5 = buttons1[_g7];
|
|
++_g7;
|
|
action5.addGamepad(button5,state5,id1);
|
|
}
|
|
break;
|
|
case 2:
|
|
var action6 = this._right;
|
|
var state6 = 1;
|
|
var _g8 = 0;
|
|
while(_g8 < buttons1.length) {
|
|
var button6 = buttons1[_g8];
|
|
++_g8;
|
|
action6.addGamepad(button6,state6,id1);
|
|
}
|
|
var action7 = this._rightP;
|
|
var state7 = 2;
|
|
var _g9 = 0;
|
|
while(_g9 < buttons1.length) {
|
|
var button7 = buttons1[_g9];
|
|
++_g9;
|
|
action7.addGamepad(button7,state7,id1);
|
|
}
|
|
var action8 = this._rightR;
|
|
var state8 = -1;
|
|
var _g10 = 0;
|
|
while(_g10 < buttons1.length) {
|
|
var button8 = buttons1[_g10];
|
|
++_g10;
|
|
action8.addGamepad(button8,state8,id1);
|
|
}
|
|
break;
|
|
case 3:
|
|
var action9 = this._down;
|
|
var state9 = 1;
|
|
var _g11 = 0;
|
|
while(_g11 < buttons1.length) {
|
|
var button9 = buttons1[_g11];
|
|
++_g11;
|
|
action9.addGamepad(button9,state9,id1);
|
|
}
|
|
var action10 = this._downP;
|
|
var state10 = 2;
|
|
var _g12 = 0;
|
|
while(_g12 < buttons1.length) {
|
|
var button10 = buttons1[_g12];
|
|
++_g12;
|
|
action10.addGamepad(button10,state10,id1);
|
|
}
|
|
var action11 = this._downR;
|
|
var state11 = -1;
|
|
var _g13 = 0;
|
|
while(_g13 < buttons1.length) {
|
|
var button11 = buttons1[_g13];
|
|
++_g13;
|
|
action11.addGamepad(button11,state11,id1);
|
|
}
|
|
break;
|
|
case 4:
|
|
var action12 = this._reset;
|
|
var state12 = 2;
|
|
var _g14 = 0;
|
|
while(_g14 < buttons1.length) {
|
|
var button12 = buttons1[_g14];
|
|
++_g14;
|
|
action12.addGamepad(button12,state12,id1);
|
|
}
|
|
break;
|
|
case 5:
|
|
var action13 = this._accept;
|
|
var state13 = 2;
|
|
var _g15 = 0;
|
|
while(_g15 < buttons1.length) {
|
|
var button13 = buttons1[_g15];
|
|
++_g15;
|
|
action13.addGamepad(button13,state13,id1);
|
|
}
|
|
break;
|
|
case 6:
|
|
var action14 = this._back;
|
|
var state14 = 2;
|
|
var _g16 = 0;
|
|
while(_g16 < buttons1.length) {
|
|
var button14 = buttons1[_g16];
|
|
++_g16;
|
|
action14.addGamepad(button14,state14,id1);
|
|
}
|
|
break;
|
|
case 7:
|
|
var action15 = this._pause;
|
|
var state15 = 2;
|
|
var _g17 = 0;
|
|
while(_g17 < buttons1.length) {
|
|
var button15 = buttons1[_g17];
|
|
++_g17;
|
|
action15.addGamepad(button15,state15,id1);
|
|
}
|
|
break;
|
|
case 8:
|
|
var action16 = this._cheat;
|
|
var state16 = 2;
|
|
var _g18 = 0;
|
|
while(_g18 < buttons1.length) {
|
|
var button16 = buttons1[_g18];
|
|
++_g18;
|
|
action16.addGamepad(button16,state16,id1);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
,bindButtons: function(control,id,buttons) {
|
|
switch(control._hx_index) {
|
|
case 0:
|
|
var action = this._up;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < buttons.length) {
|
|
var button = buttons[_g];
|
|
++_g;
|
|
action.addGamepad(button,state,id);
|
|
}
|
|
var action = this._upP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < buttons.length) {
|
|
var button = buttons[_g];
|
|
++_g;
|
|
action.addGamepad(button,state,id);
|
|
}
|
|
var action = this._upR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < buttons.length) {
|
|
var button = buttons[_g];
|
|
++_g;
|
|
action.addGamepad(button,state,id);
|
|
}
|
|
break;
|
|
case 1:
|
|
var action = this._left;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < buttons.length) {
|
|
var button = buttons[_g];
|
|
++_g;
|
|
action.addGamepad(button,state,id);
|
|
}
|
|
var action = this._leftP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < buttons.length) {
|
|
var button = buttons[_g];
|
|
++_g;
|
|
action.addGamepad(button,state,id);
|
|
}
|
|
var action = this._leftR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < buttons.length) {
|
|
var button = buttons[_g];
|
|
++_g;
|
|
action.addGamepad(button,state,id);
|
|
}
|
|
break;
|
|
case 2:
|
|
var action = this._right;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < buttons.length) {
|
|
var button = buttons[_g];
|
|
++_g;
|
|
action.addGamepad(button,state,id);
|
|
}
|
|
var action = this._rightP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < buttons.length) {
|
|
var button = buttons[_g];
|
|
++_g;
|
|
action.addGamepad(button,state,id);
|
|
}
|
|
var action = this._rightR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < buttons.length) {
|
|
var button = buttons[_g];
|
|
++_g;
|
|
action.addGamepad(button,state,id);
|
|
}
|
|
break;
|
|
case 3:
|
|
var action = this._down;
|
|
var state = 1;
|
|
var _g = 0;
|
|
while(_g < buttons.length) {
|
|
var button = buttons[_g];
|
|
++_g;
|
|
action.addGamepad(button,state,id);
|
|
}
|
|
var action = this._downP;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < buttons.length) {
|
|
var button = buttons[_g];
|
|
++_g;
|
|
action.addGamepad(button,state,id);
|
|
}
|
|
var action = this._downR;
|
|
var state = -1;
|
|
var _g = 0;
|
|
while(_g < buttons.length) {
|
|
var button = buttons[_g];
|
|
++_g;
|
|
action.addGamepad(button,state,id);
|
|
}
|
|
break;
|
|
case 4:
|
|
var action = this._reset;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < buttons.length) {
|
|
var button = buttons[_g];
|
|
++_g;
|
|
action.addGamepad(button,state,id);
|
|
}
|
|
break;
|
|
case 5:
|
|
var action = this._accept;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < buttons.length) {
|
|
var button = buttons[_g];
|
|
++_g;
|
|
action.addGamepad(button,state,id);
|
|
}
|
|
break;
|
|
case 6:
|
|
var action = this._back;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < buttons.length) {
|
|
var button = buttons[_g];
|
|
++_g;
|
|
action.addGamepad(button,state,id);
|
|
}
|
|
break;
|
|
case 7:
|
|
var action = this._pause;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < buttons.length) {
|
|
var button = buttons[_g];
|
|
++_g;
|
|
action.addGamepad(button,state,id);
|
|
}
|
|
break;
|
|
case 8:
|
|
var action = this._cheat;
|
|
var state = 2;
|
|
var _g = 0;
|
|
while(_g < buttons.length) {
|
|
var button = buttons[_g];
|
|
++_g;
|
|
action.addGamepad(button,state,id);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
,unbindButtons: function(control,gamepadID,buttons) {
|
|
switch(control._hx_index) {
|
|
case 0:
|
|
Controls.removeButtons(this._up,gamepadID,buttons);
|
|
Controls.removeButtons(this._upP,gamepadID,buttons);
|
|
Controls.removeButtons(this._upR,gamepadID,buttons);
|
|
break;
|
|
case 1:
|
|
Controls.removeButtons(this._left,gamepadID,buttons);
|
|
Controls.removeButtons(this._leftP,gamepadID,buttons);
|
|
Controls.removeButtons(this._leftR,gamepadID,buttons);
|
|
break;
|
|
case 2:
|
|
Controls.removeButtons(this._right,gamepadID,buttons);
|
|
Controls.removeButtons(this._rightP,gamepadID,buttons);
|
|
Controls.removeButtons(this._rightR,gamepadID,buttons);
|
|
break;
|
|
case 3:
|
|
Controls.removeButtons(this._down,gamepadID,buttons);
|
|
Controls.removeButtons(this._downP,gamepadID,buttons);
|
|
Controls.removeButtons(this._downR,gamepadID,buttons);
|
|
break;
|
|
case 4:
|
|
Controls.removeButtons(this._reset,gamepadID,buttons);
|
|
break;
|
|
case 5:
|
|
Controls.removeButtons(this._accept,gamepadID,buttons);
|
|
break;
|
|
case 6:
|
|
Controls.removeButtons(this._back,gamepadID,buttons);
|
|
break;
|
|
case 7:
|
|
Controls.removeButtons(this._pause,gamepadID,buttons);
|
|
break;
|
|
case 8:
|
|
Controls.removeButtons(this._cheat,gamepadID,buttons);
|
|
break;
|
|
}
|
|
}
|
|
,getInputsFor: function(control,device,list) {
|
|
if(list == null) {
|
|
list = [];
|
|
}
|
|
switch(device._hx_index) {
|
|
case 0:
|
|
var _g = 0;
|
|
var _g1 = this.getActionFromControl(control).inputs;
|
|
while(_g < _g1.length) {
|
|
var input = _g1[_g];
|
|
++_g;
|
|
if(input.device == flixel_input_actions_FlxInputDevice.KEYBOARD) {
|
|
list.push(input.inputID);
|
|
}
|
|
}
|
|
break;
|
|
case 1:
|
|
var id = device.id;
|
|
var _g = 0;
|
|
var _g1 = this.getActionFromControl(control).inputs;
|
|
while(_g < _g1.length) {
|
|
var input = _g1[_g];
|
|
++_g;
|
|
if(input.deviceID == id) {
|
|
list.push(input.inputID);
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
return list;
|
|
}
|
|
,removeDevice: function(device) {
|
|
switch(device._hx_index) {
|
|
case 0:
|
|
this.setKeyboardScheme(KeyboardScheme.None);
|
|
break;
|
|
case 1:
|
|
var id = device.id;
|
|
this.removeGamepad(id);
|
|
break;
|
|
}
|
|
}
|
|
,__class__: Controls
|
|
,__properties__: {get_CHEAT:"get_CHEAT",get_RESET:"get_RESET",get_PAUSE:"get_PAUSE",get_BACK:"get_BACK",get_ACCEPT:"get_ACCEPT",get_DOWN_R:"get_DOWN_R",get_RIGHT_R:"get_RIGHT_R",get_LEFT_R:"get_LEFT_R",get_UP_R:"get_UP_R",get_DOWN_P:"get_DOWN_P",get_RIGHT_P:"get_RIGHT_P",get_LEFT_P:"get_LEFT_P",get_UP_P:"get_UP_P",get_DOWN:"get_DOWN",get_RIGHT:"get_RIGHT",get_LEFT:"get_LEFT",get_UP:"get_UP"}
|
|
});
|
|
var CoolUtil = function() { };
|
|
$hxClasses["CoolUtil"] = CoolUtil;
|
|
CoolUtil.__name__ = "CoolUtil";
|
|
CoolUtil.coolTextFile = function(path) {
|
|
var daList = StringTools.trim(lime_utils_Assets.getText(path)).split("\n");
|
|
var _g = 0;
|
|
var _g1 = daList.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
daList[i] = StringTools.trim(daList[i]);
|
|
}
|
|
return daList;
|
|
};
|
|
CoolUtil.numberArray = function(max,min) {
|
|
if(min == null) {
|
|
min = 0;
|
|
}
|
|
var dumbArray = [];
|
|
var _g = min;
|
|
var _g1 = max;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
dumbArray.push(i);
|
|
}
|
|
return dumbArray;
|
|
};
|
|
var DialogueBox = function(talkingRight,dialogueList) {
|
|
if(talkingRight == null) {
|
|
talkingRight = true;
|
|
}
|
|
this.isEnding = false;
|
|
this.dialogueStarted = false;
|
|
this.dialogueOpened = false;
|
|
this.dialogueList = [];
|
|
this.curCharacter = "";
|
|
var _gthis = this;
|
|
flixel_group_FlxTypedSpriteGroup.call(this);
|
|
switch(PlayState.SONG.song.toLowerCase()) {
|
|
case "senpai":
|
|
flixel_FlxG.sound.playMusic("assets/music/Lunchbox" + TitleState.soundExt,0);
|
|
var _this = flixel_FlxG.sound.music;
|
|
var Duration = 1;
|
|
var From = 0;
|
|
var To = 0.8;
|
|
if(To == null) {
|
|
To = 1;
|
|
}
|
|
if(From == null) {
|
|
From = 0;
|
|
}
|
|
if(Duration == null) {
|
|
Duration = 1;
|
|
}
|
|
if(_this._channel == null) {
|
|
_this.play();
|
|
}
|
|
if(_this.fadeTween != null) {
|
|
_this.fadeTween.cancel();
|
|
}
|
|
_this.fadeTween = flixel_tweens_FlxTween.num(From,To,Duration,{ onComplete : null},$bind(_this,_this.volumeTween));
|
|
break;
|
|
case "thorns":
|
|
flixel_FlxG.sound.playMusic("assets/music/LunchboxScary" + TitleState.soundExt,0);
|
|
var _this = flixel_FlxG.sound.music;
|
|
var Duration = 1;
|
|
var From = 0;
|
|
var To = 0.8;
|
|
if(To == null) {
|
|
To = 1;
|
|
}
|
|
if(From == null) {
|
|
From = 0;
|
|
}
|
|
if(Duration == null) {
|
|
Duration = 1;
|
|
}
|
|
if(_this._channel == null) {
|
|
_this.play();
|
|
}
|
|
if(_this.fadeTween != null) {
|
|
_this.fadeTween.cancel();
|
|
}
|
|
_this.fadeTween = flixel_tweens_FlxTween.num(From,To,Duration,{ onComplete : null},$bind(_this,_this.volumeTween));
|
|
break;
|
|
}
|
|
this.bgFade = new flixel_FlxSprite(-200,-200).makeGraphic(flixel_FlxG.width * 1.3 | 0,flixel_FlxG.height * 1.3 | 0,-4988968);
|
|
this.bgFade.scrollFactor.set();
|
|
this.bgFade.set_alpha(0);
|
|
this.add(this.bgFade);
|
|
new flixel_util_FlxTimer().start(0.83,function(tmr) {
|
|
var _g = _gthis.bgFade;
|
|
_g.set_alpha(_g.alpha + 0.13999999999999999);
|
|
if(_gthis.bgFade.alpha > 0.7) {
|
|
_gthis.bgFade.set_alpha(0.7);
|
|
}
|
|
},5);
|
|
this.portraitLeft = new flixel_FlxSprite(-20,40);
|
|
this.portraitLeft.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/weeb/senpaiPortrait.png","assets/images/weeb/senpaiPortrait.xml"));
|
|
this.portraitLeft.animation.addByPrefix("enter","Senpai Portrait Enter",24,false);
|
|
this.portraitLeft.setGraphicSize(this.portraitLeft.get_width() * PlayState.daPixelZoom * 0.9 | 0);
|
|
this.portraitLeft.updateHitbox();
|
|
this.portraitLeft.scrollFactor.set();
|
|
this.add(this.portraitLeft);
|
|
this.portraitLeft.set_visible(false);
|
|
this.portraitRight = new flixel_FlxSprite(0,40);
|
|
this.portraitRight.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/weeb/bfPortrait.png","assets/images/weeb/bfPortrait.xml"));
|
|
this.portraitRight.animation.addByPrefix("enter","Boyfriend portrait enter",24,false);
|
|
this.portraitRight.setGraphicSize(this.portraitRight.get_width() * PlayState.daPixelZoom * 0.9 | 0);
|
|
this.portraitRight.updateHitbox();
|
|
this.portraitRight.scrollFactor.set();
|
|
this.add(this.portraitRight);
|
|
this.portraitRight.set_visible(false);
|
|
this.box = new flixel_FlxSprite(-20,45);
|
|
switch(PlayState.SONG.song.toLowerCase()) {
|
|
case "roses":
|
|
flixel_FlxG.sound.play("assets/sounds/ANGRY_TEXT_BOX" + TitleState.soundExt);
|
|
this.box.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/weeb/pixelUI/dialogueBox-senpaiMad.png","assets/images/weeb/pixelUI/dialogueBox-senpaiMad.xml"));
|
|
this.box.animation.addByPrefix("normalOpen","SENPAI ANGRY IMPACT SPEECH",24,false);
|
|
this.box.animation.addByIndices("normal","SENPAI ANGRY IMPACT SPEECH",[4],"",24);
|
|
break;
|
|
case "senpai":
|
|
this.box.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/weeb/pixelUI/dialogueBox-pixel.png","assets/images/weeb/pixelUI/dialogueBox-pixel.xml"));
|
|
this.box.animation.addByPrefix("normalOpen","Text Box Appear",24,false);
|
|
this.box.animation.addByIndices("normal","Text Box Appear",[4],"",24);
|
|
break;
|
|
case "thorns":
|
|
this.box.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/weeb/pixelUI/dialogueBox-evil.png","assets/images/weeb/pixelUI/dialogueBox-evil.xml"));
|
|
this.box.animation.addByPrefix("normalOpen","Spirit Textbox spawn",24,false);
|
|
this.box.animation.addByIndices("normal","Spirit Textbox spawn",[11],"",24);
|
|
var face = new flixel_FlxSprite(320,170).loadGraphic("assets/images/weeb/spiritFaceForward.png");
|
|
face.setGraphicSize(face.get_width() * 6 | 0);
|
|
this.add(face);
|
|
break;
|
|
}
|
|
this.box.animation.play("normalOpen");
|
|
this.box.setGraphicSize(this.box.get_width() * PlayState.daPixelZoom * 0.9 | 0);
|
|
this.box.updateHitbox();
|
|
this.add(this.box);
|
|
this.handSelect = new flixel_FlxSprite(flixel_FlxG.width * 0.9,flixel_FlxG.height * 0.9).loadGraphic("assets/images/weeb/pixelUI/hand_textbox.png");
|
|
this.add(this.handSelect);
|
|
this.box.screenCenter(flixel_util_FlxAxes.X);
|
|
this.portraitLeft.screenCenter(flixel_util_FlxAxes.X);
|
|
var tmp = !talkingRight;
|
|
this.dropText = new flixel_text_FlxText(242,502,flixel_FlxG.width * 0.6 | 0,"",32);
|
|
this.dropText.set_font("Pixel Arial 11 Bold");
|
|
this.dropText.set_color(-2583404);
|
|
this.add(this.dropText);
|
|
this.swagDialogue = new flixel_addons_text_FlxTypeText(240,500,flixel_FlxG.width * 0.6 | 0,"",32);
|
|
this.swagDialogue.set_font("Pixel Arial 11 Bold");
|
|
this.swagDialogue.set_color(-12640223);
|
|
var tmp = flixel_FlxG.sound.load("assets/sounds/pixelText" + TitleState.soundExt,0.6);
|
|
this.swagDialogue.sounds = [tmp];
|
|
this.add(this.swagDialogue);
|
|
this.dialogue = new Alphabet(0,80,"",false,true);
|
|
this.dialogueList = dialogueList;
|
|
};
|
|
$hxClasses["DialogueBox"] = DialogueBox;
|
|
DialogueBox.__name__ = "DialogueBox";
|
|
DialogueBox.__super__ = flixel_group_FlxTypedSpriteGroup;
|
|
DialogueBox.prototype = $extend(flixel_group_FlxTypedSpriteGroup.prototype,{
|
|
box: null
|
|
,curCharacter: null
|
|
,dialogue: null
|
|
,dialogueList: null
|
|
,swagDialogue: null
|
|
,dropText: null
|
|
,finishThing: null
|
|
,portraitLeft: null
|
|
,portraitRight: null
|
|
,handSelect: null
|
|
,bgFade: null
|
|
,dialogueOpened: null
|
|
,dialogueStarted: null
|
|
,update: function(elapsed) {
|
|
var _gthis = this;
|
|
if(PlayState.SONG.song.toLowerCase() == "roses") {
|
|
this.portraitLeft.set_visible(false);
|
|
}
|
|
if(PlayState.SONG.song.toLowerCase() == "thorns") {
|
|
this.portraitLeft.set_color(-16777216);
|
|
this.swagDialogue.set_color(-1);
|
|
this.dropText.set_color(-16777216);
|
|
}
|
|
this.dropText.set_text(this.swagDialogue.text);
|
|
if(this.box.animation._curAnim != null) {
|
|
if(this.box.animation._curAnim.name == "normalOpen" && this.box.animation._curAnim.finished) {
|
|
this.box.animation.play("normal");
|
|
this.dialogueOpened = true;
|
|
}
|
|
}
|
|
if(this.dialogueOpened && !this.dialogueStarted) {
|
|
this.startDialogue();
|
|
this.dialogueStarted = true;
|
|
}
|
|
if(flixel_FlxG.keys.justPressed.get_ANY() && this.dialogueStarted == true) {
|
|
this.remove(this.dialogue);
|
|
flixel_FlxG.sound.play("assets/sounds/clickText" + TitleState.soundExt,0.8);
|
|
if(this.dialogueList[1] == null && this.dialogueList[0] != null) {
|
|
if(!this.isEnding) {
|
|
this.isEnding = true;
|
|
if(PlayState.SONG.song.toLowerCase() == "senpai" || PlayState.SONG.song.toLowerCase() == "thorns") {
|
|
var _this = flixel_FlxG.sound.music;
|
|
var Duration = 2.2;
|
|
var To = 0;
|
|
if(To == null) {
|
|
To = 0;
|
|
}
|
|
if(Duration == null) {
|
|
Duration = 1;
|
|
}
|
|
if(_this.fadeTween != null) {
|
|
_this.fadeTween.cancel();
|
|
}
|
|
_this.fadeTween = flixel_tweens_FlxTween.num(_this._volume,To,Duration,{ onComplete : null},$bind(_this,_this.volumeTween));
|
|
}
|
|
new flixel_util_FlxTimer().start(0.2,function(tmr) {
|
|
var _g = _gthis.box;
|
|
_g.set_alpha(_g.alpha - 0.2);
|
|
var _g = _gthis.bgFade;
|
|
_g.set_alpha(_g.alpha - 0.13999999999999999);
|
|
_gthis.portraitLeft.set_visible(false);
|
|
_gthis.portraitRight.set_visible(false);
|
|
var _g = _gthis.swagDialogue;
|
|
_g.set_alpha(_g.alpha - 0.2);
|
|
_gthis.dropText.set_alpha(_gthis.swagDialogue.alpha);
|
|
},5);
|
|
new flixel_util_FlxTimer().start(1.2,function(tmr) {
|
|
_gthis.finishThing();
|
|
_gthis.kill();
|
|
});
|
|
}
|
|
} else {
|
|
HxOverrides.remove(this.dialogueList,this.dialogueList[0]);
|
|
this.startDialogue();
|
|
}
|
|
}
|
|
flixel_group_FlxTypedSpriteGroup.prototype.update.call(this,elapsed);
|
|
}
|
|
,isEnding: null
|
|
,startDialogue: function() {
|
|
this.cleanDialog();
|
|
this.swagDialogue.resetText(this.dialogueList[0]);
|
|
this.swagDialogue.start(0.04,true);
|
|
switch(this.curCharacter) {
|
|
case "bf":
|
|
this.portraitLeft.set_visible(false);
|
|
if(!this.portraitRight.visible) {
|
|
this.portraitRight.set_visible(true);
|
|
this.portraitRight.animation.play("enter");
|
|
}
|
|
break;
|
|
case "dad":
|
|
this.portraitRight.set_visible(false);
|
|
if(!this.portraitLeft.visible) {
|
|
this.portraitLeft.set_visible(true);
|
|
this.portraitLeft.animation.play("enter");
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
,cleanDialog: function() {
|
|
var splitName = this.dialogueList[0].split(":");
|
|
this.curCharacter = splitName[1];
|
|
this.dialogueList[0] = StringTools.trim(HxOverrides.substr(this.dialogueList[0],splitName[1].length + 2,null));
|
|
}
|
|
,__class__: DialogueBox
|
|
});
|
|
var EReg = function(r,opt) {
|
|
this.r = new RegExp(r,opt.split("u").join(""));
|
|
};
|
|
$hxClasses["EReg"] = EReg;
|
|
EReg.__name__ = "EReg";
|
|
EReg.prototype = {
|
|
r: null
|
|
,match: function(s) {
|
|
if(this.r.global) {
|
|
this.r.lastIndex = 0;
|
|
}
|
|
this.r.m = this.r.exec(s);
|
|
this.r.s = s;
|
|
return this.r.m != null;
|
|
}
|
|
,matched: function(n) {
|
|
if(this.r.m != null && n >= 0 && n < this.r.m.length) {
|
|
return this.r.m[n];
|
|
} else {
|
|
throw haxe_Exception.thrown("EReg::matched");
|
|
}
|
|
}
|
|
,matchedRight: function() {
|
|
if(this.r.m == null) {
|
|
throw haxe_Exception.thrown("No string matched");
|
|
}
|
|
var sz = this.r.m.index + this.r.m[0].length;
|
|
return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz);
|
|
}
|
|
,matchedPos: function() {
|
|
if(this.r.m == null) {
|
|
throw haxe_Exception.thrown("No string matched");
|
|
}
|
|
return { pos : this.r.m.index, len : this.r.m[0].length};
|
|
}
|
|
,matchSub: function(s,pos,len) {
|
|
if(len == null) {
|
|
len = -1;
|
|
}
|
|
if(this.r.global) {
|
|
this.r.lastIndex = pos;
|
|
this.r.m = this.r.exec(len < 0 ? s : HxOverrides.substr(s,0,pos + len));
|
|
var b = this.r.m != null;
|
|
if(b) {
|
|
this.r.s = s;
|
|
}
|
|
return b;
|
|
} else {
|
|
var b = this.match(len < 0 ? HxOverrides.substr(s,pos,null) : HxOverrides.substr(s,pos,len));
|
|
if(b) {
|
|
this.r.s = s;
|
|
this.r.m.index += pos;
|
|
}
|
|
return b;
|
|
}
|
|
}
|
|
,split: function(s) {
|
|
var d = "#__delim__#";
|
|
return s.replace(this.r,d).split(d);
|
|
}
|
|
,map: function(s,f) {
|
|
var offset = 0;
|
|
var buf_b = "";
|
|
while(true) {
|
|
if(offset >= s.length) {
|
|
break;
|
|
} else if(!this.matchSub(s,offset)) {
|
|
buf_b += Std.string(HxOverrides.substr(s,offset,null));
|
|
break;
|
|
}
|
|
var p = this.matchedPos();
|
|
buf_b += Std.string(HxOverrides.substr(s,offset,p.pos - offset));
|
|
buf_b += Std.string(f(this));
|
|
if(p.len == 0) {
|
|
buf_b += Std.string(HxOverrides.substr(s,p.pos,1));
|
|
offset = p.pos + 1;
|
|
} else {
|
|
offset = p.pos + p.len;
|
|
}
|
|
if(!this.r.global) {
|
|
break;
|
|
}
|
|
}
|
|
if(!this.r.global && offset > 0 && offset < s.length) {
|
|
buf_b += Std.string(HxOverrides.substr(s,offset,null));
|
|
}
|
|
return buf_b;
|
|
}
|
|
,__class__: EReg
|
|
};
|
|
var FreeplayState = function(TransIn,TransOut) {
|
|
this.curPlaying = false;
|
|
this.intendedScore = 0;
|
|
this.lerpScore = 0;
|
|
this.curDifficulty = 1;
|
|
this.curSelected = 0;
|
|
this.songs = [];
|
|
MusicBeatState.call(this,TransIn,TransOut);
|
|
};
|
|
$hxClasses["FreeplayState"] = FreeplayState;
|
|
FreeplayState.__name__ = "FreeplayState";
|
|
FreeplayState.__super__ = MusicBeatState;
|
|
FreeplayState.prototype = $extend(MusicBeatState.prototype,{
|
|
songs: null
|
|
,selector: null
|
|
,curSelected: null
|
|
,curDifficulty: null
|
|
,scoreText: null
|
|
,diffText: null
|
|
,lerpScore: null
|
|
,intendedScore: null
|
|
,grpSongs: null
|
|
,curPlaying: null
|
|
,create: function() {
|
|
this.songs = CoolUtil.coolTextFile("assets/data/freeplaySonglist.txt");
|
|
var isDebug = false;
|
|
if(StoryMenuState.weekUnlocked[2] || isDebug) {
|
|
this.songs.push("Spookeez");
|
|
this.songs.push("South");
|
|
}
|
|
if(StoryMenuState.weekUnlocked[3] || isDebug) {
|
|
this.songs.push("Pico");
|
|
this.songs.push("Philly");
|
|
this.songs.push("Blammed");
|
|
}
|
|
if(StoryMenuState.weekUnlocked[4] || isDebug) {
|
|
this.songs.push("Satin-Panties");
|
|
this.songs.push("High");
|
|
this.songs.push("Milf");
|
|
}
|
|
if(StoryMenuState.weekUnlocked[5] || isDebug) {
|
|
this.songs.push("Cocoa");
|
|
this.songs.push("Eggnog");
|
|
this.songs.push("Winter-Horrorland");
|
|
}
|
|
if(StoryMenuState.weekUnlocked[6] || isDebug) {
|
|
this.songs.push("Senpai");
|
|
this.songs.push("Roses");
|
|
this.songs.push("Thorns");
|
|
}
|
|
var bg = new flixel_FlxSprite().loadGraphic("assets/images/menuBGBlue.png");
|
|
this.add(bg);
|
|
this.grpSongs = new flixel_group_FlxTypedGroup();
|
|
this.add(this.grpSongs);
|
|
var _g = 0;
|
|
var _g1 = this.songs.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var songText = new Alphabet(0,70 * i + 30,this.songs[i],true,false);
|
|
songText.isMenuItem = true;
|
|
songText.targetY = i;
|
|
this.grpSongs.add(songText);
|
|
}
|
|
this.scoreText = new flixel_text_FlxText(flixel_FlxG.width * 0.7,5,0,"",32);
|
|
this.scoreText.setFormat("assets/fonts/vcr.ttf",32,-1,"right");
|
|
var scoreBG = new flixel_FlxSprite(this.scoreText.x - 6,0).makeGraphic(flixel_FlxG.width * 0.35 | 0,66,-16777216);
|
|
scoreBG.set_alpha(0.6);
|
|
this.add(scoreBG);
|
|
this.diffText = new flixel_text_FlxText(this.scoreText.x,this.scoreText.y + 36,0,"",24);
|
|
this.diffText.set_font(this.scoreText._font);
|
|
this.add(this.diffText);
|
|
this.add(this.scoreText);
|
|
this.changeSelection();
|
|
this.changeDiff();
|
|
this.selector = new flixel_text_FlxText();
|
|
this.selector.set_size(40);
|
|
this.selector.set_text(">");
|
|
var swag = new Alphabet(1,0,"swag");
|
|
MusicBeatState.prototype.create.call(this);
|
|
}
|
|
,update: function(elapsed) {
|
|
MusicBeatState.prototype.update.call(this,elapsed);
|
|
if(flixel_FlxG.sound.music._volume < 0.7) {
|
|
var _g = flixel_FlxG.sound.music;
|
|
_g.set_volume(_g._volume + 0.5 * flixel_FlxG.elapsed);
|
|
}
|
|
var a = this.lerpScore;
|
|
this.lerpScore = Math.floor(a + 0.4 * (this.intendedScore - a));
|
|
if(Math.abs(this.lerpScore - this.intendedScore) <= 10) {
|
|
this.lerpScore = this.intendedScore;
|
|
}
|
|
this.scoreText.set_text("PERSONAL BEST:" + this.lerpScore);
|
|
var upP = PlayerSettings.player1.controls._upP.check();
|
|
var downP = PlayerSettings.player1.controls._downP.check();
|
|
var accepted = PlayerSettings.player1.controls._accept.check();
|
|
if(upP) {
|
|
this.changeSelection(-1);
|
|
}
|
|
if(downP) {
|
|
this.changeSelection(1);
|
|
}
|
|
if(PlayerSettings.player1.controls._leftP.check()) {
|
|
this.changeDiff(-1);
|
|
}
|
|
if(PlayerSettings.player1.controls._rightP.check()) {
|
|
this.changeDiff(1);
|
|
}
|
|
if(PlayerSettings.player1.controls._back.check()) {
|
|
var nextState = new MainMenuState();
|
|
if(flixel_FlxG.game._state.switchTo(nextState)) {
|
|
flixel_FlxG.game._requestedState = nextState;
|
|
}
|
|
}
|
|
if(accepted) {
|
|
var poop = Highscore.formatSong(this.songs[this.curSelected].toLowerCase(),this.curDifficulty);
|
|
haxe_Log.trace(poop,{ fileName : "source/FreeplayState.hx", lineNumber : 196, className : "FreeplayState", methodName : "update"});
|
|
PlayState.SONG = Song.loadFromJson(poop,this.songs[this.curSelected].toLowerCase());
|
|
PlayState.isStoryMode = false;
|
|
PlayState.storyDifficulty = this.curDifficulty;
|
|
var nextState = new PlayState();
|
|
if(flixel_FlxG.game._state.switchTo(nextState)) {
|
|
flixel_FlxG.game._requestedState = nextState;
|
|
}
|
|
if(flixel_FlxG.sound.music != null) {
|
|
var _this = flixel_FlxG.sound.music;
|
|
_this.cleanup(_this.autoDestroy,true);
|
|
}
|
|
}
|
|
}
|
|
,changeDiff: function(change) {
|
|
if(change == null) {
|
|
change = 0;
|
|
}
|
|
this.curDifficulty += change;
|
|
if(this.curDifficulty < 0) {
|
|
this.curDifficulty = 2;
|
|
}
|
|
if(this.curDifficulty > 2) {
|
|
this.curDifficulty = 0;
|
|
}
|
|
this.intendedScore = Highscore.getScore(this.songs[this.curSelected],this.curDifficulty);
|
|
switch(this.curDifficulty) {
|
|
case 0:
|
|
this.diffText.set_text("EASY");
|
|
break;
|
|
case 1:
|
|
this.diffText.set_text("NORMAL");
|
|
break;
|
|
case 2:
|
|
this.diffText.set_text("HARD");
|
|
break;
|
|
}
|
|
}
|
|
,changeSelection: function(change) {
|
|
if(change == null) {
|
|
change = 0;
|
|
}
|
|
io_newgrounds_NG.core.calls.event.logEvent("Fresh").send();
|
|
haxe_Log.trace("should have logged: " + "Fresh",{ fileName : "source/NGio.hx", lineNumber : 187, className : "NGio", methodName : "logEvent"});
|
|
flixel_FlxG.sound.play("assets/sounds/scrollMenu" + TitleState.soundExt,0.4);
|
|
this.curSelected += change;
|
|
if(this.curSelected < 0) {
|
|
this.curSelected = this.songs.length - 1;
|
|
}
|
|
if(this.curSelected >= this.songs.length) {
|
|
this.curSelected = 0;
|
|
}
|
|
this.intendedScore = Highscore.getScore(this.songs[this.curSelected],this.curDifficulty);
|
|
flixel_FlxG.sound.playMusic("assets/music/" + this.songs[this.curSelected] + "_Inst" + TitleState.soundExt,0);
|
|
var bullShit = 0;
|
|
var _g = 0;
|
|
var _g1 = this.grpSongs.members;
|
|
while(_g < _g1.length) {
|
|
var item = _g1[_g];
|
|
++_g;
|
|
item.targetY = bullShit - this.curSelected;
|
|
++bullShit;
|
|
item.set_alpha(0.6);
|
|
if(item.targetY == 0) {
|
|
item.set_alpha(1);
|
|
}
|
|
}
|
|
}
|
|
,__class__: FreeplayState
|
|
});
|
|
var flixel_FlxSubState = function(BGColor) {
|
|
if(BGColor == null) {
|
|
BGColor = 0;
|
|
}
|
|
this._created = false;
|
|
flixel_FlxState.call(this);
|
|
this.closeCallback = null;
|
|
this.openCallback = null;
|
|
if(flixel_FlxG.renderTile) {
|
|
this._bgSprite = new flixel_system_FlxBGSprite();
|
|
}
|
|
this.set_bgColor(BGColor);
|
|
};
|
|
$hxClasses["flixel.FlxSubState"] = flixel_FlxSubState;
|
|
flixel_FlxSubState.__name__ = "flixel.FlxSubState";
|
|
flixel_FlxSubState.__super__ = flixel_FlxState;
|
|
flixel_FlxSubState.prototype = $extend(flixel_FlxState.prototype,{
|
|
openCallback: null
|
|
,closeCallback: null
|
|
,_bgSprite: null
|
|
,_parentState: null
|
|
,_bgColor: null
|
|
,_created: null
|
|
,draw: function() {
|
|
if(flixel_FlxG.renderBlit) {
|
|
var _g = 0;
|
|
var _g1 = this.get_cameras();
|
|
while(_g < _g1.length) {
|
|
var camera = _g1[_g];
|
|
++_g;
|
|
camera.fill(this._bgColor);
|
|
}
|
|
} else {
|
|
this._bgSprite.draw();
|
|
}
|
|
flixel_FlxState.prototype.draw.call(this);
|
|
}
|
|
,destroy: function() {
|
|
flixel_FlxState.prototype.destroy.call(this);
|
|
this.closeCallback = null;
|
|
this.openCallback = null;
|
|
this._parentState = null;
|
|
this._bgSprite = null;
|
|
}
|
|
,close: function() {
|
|
if(this._parentState != null && this._parentState.subState == this) {
|
|
this._parentState.closeSubState();
|
|
}
|
|
}
|
|
,get_bgColor: function() {
|
|
return this._bgColor;
|
|
}
|
|
,set_bgColor: function(Value) {
|
|
if(flixel_FlxG.renderTile && this._bgSprite != null) {
|
|
this._bgSprite.get_pixels().setPixel32(0,0,Value);
|
|
}
|
|
return this._bgColor = Value;
|
|
}
|
|
,__class__: flixel_FlxSubState
|
|
});
|
|
var MusicBeatSubstate = function() {
|
|
this.curBeat = 0;
|
|
this.curStep = 0;
|
|
this.lastStep = 0;
|
|
this.lastBeat = 0;
|
|
flixel_FlxSubState.call(this);
|
|
};
|
|
$hxClasses["MusicBeatSubstate"] = MusicBeatSubstate;
|
|
MusicBeatSubstate.__name__ = "MusicBeatSubstate";
|
|
MusicBeatSubstate.__super__ = flixel_FlxSubState;
|
|
MusicBeatSubstate.prototype = $extend(flixel_FlxSubState.prototype,{
|
|
lastBeat: null
|
|
,lastStep: null
|
|
,curStep: null
|
|
,curBeat: null
|
|
,get_controls: function() {
|
|
return PlayerSettings.player1.controls;
|
|
}
|
|
,create: function() {
|
|
flixel_FlxSubState.prototype.create.call(this);
|
|
}
|
|
,update: function(elapsed) {
|
|
var oldStep = this.curStep;
|
|
this.updateCurStep();
|
|
this.curBeat = Math.floor(this.curStep / 4);
|
|
if(oldStep != this.curStep && this.curStep > 0) {
|
|
this.stepHit();
|
|
}
|
|
flixel_FlxSubState.prototype.update.call(this,elapsed);
|
|
}
|
|
,updateCurStep: function() {
|
|
var lastChange = { stepTime : 0, songTime : 0, bpm : 0};
|
|
var _g = 0;
|
|
var _g1 = Conductor.bpmChangeMap.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(Conductor.songPosition > Conductor.bpmChangeMap[i].songTime) {
|
|
lastChange = Conductor.bpmChangeMap[i];
|
|
}
|
|
}
|
|
this.curStep = lastChange.stepTime + Math.floor((Conductor.songPosition - lastChange.songTime) / Conductor.stepCrochet);
|
|
}
|
|
,stepHit: function() {
|
|
if(this.curStep % 4 == 0) {
|
|
this.beatHit();
|
|
}
|
|
}
|
|
,beatHit: function() {
|
|
}
|
|
,__class__: MusicBeatSubstate
|
|
,__properties__: $extend(flixel_FlxSubState.prototype.__properties__,{get_controls:"get_controls"})
|
|
});
|
|
var GameOverSubstate = function(x,y) {
|
|
this.isEnding = false;
|
|
this.stageSuffix = "";
|
|
var daStage = PlayState.curStage;
|
|
var daBf = "";
|
|
switch(daStage) {
|
|
case "school":
|
|
this.stageSuffix = "-pixel";
|
|
daBf = "bf-pixel-dead";
|
|
break;
|
|
case "schoolEvil":
|
|
this.stageSuffix = "-pixel";
|
|
daBf = "bf-pixel-dead";
|
|
break;
|
|
default:
|
|
daBf = "bf";
|
|
}
|
|
MusicBeatSubstate.call(this);
|
|
Conductor.songPosition = 0;
|
|
this.bf = new Boyfriend(x,y,daBf);
|
|
this.add(this.bf);
|
|
this.camFollow = new flixel_FlxObject(this.bf.getGraphicMidpoint().x,this.bf.getGraphicMidpoint().y,1,1);
|
|
this.add(this.camFollow);
|
|
flixel_FlxG.sound.play("assets/sounds/fnf_loss_sfx" + this.stageSuffix + TitleState.soundExt);
|
|
Conductor.changeBPM(100);
|
|
flixel_FlxG.camera.scroll.set();
|
|
flixel_FlxG.camera.target = null;
|
|
this.bf.playAnim("firstDeath");
|
|
};
|
|
$hxClasses["GameOverSubstate"] = GameOverSubstate;
|
|
GameOverSubstate.__name__ = "GameOverSubstate";
|
|
GameOverSubstate.__super__ = MusicBeatSubstate;
|
|
GameOverSubstate.prototype = $extend(MusicBeatSubstate.prototype,{
|
|
bf: null
|
|
,camFollow: null
|
|
,stageSuffix: null
|
|
,update: function(elapsed) {
|
|
MusicBeatSubstate.prototype.update.call(this,elapsed);
|
|
if(PlayerSettings.player1.controls._accept.check()) {
|
|
this.endBullshit();
|
|
}
|
|
if(PlayerSettings.player1.controls._back.check()) {
|
|
var _this = flixel_FlxG.sound.music;
|
|
_this.cleanup(_this.autoDestroy,true);
|
|
if(PlayState.isStoryMode) {
|
|
var nextState = new StoryMenuState();
|
|
if(flixel_FlxG.game._state.switchTo(nextState)) {
|
|
flixel_FlxG.game._requestedState = nextState;
|
|
}
|
|
} else {
|
|
var nextState = new FreeplayState();
|
|
if(flixel_FlxG.game._state.switchTo(nextState)) {
|
|
flixel_FlxG.game._requestedState = nextState;
|
|
}
|
|
}
|
|
}
|
|
if(this.bf.animation._curAnim.name == "firstDeath" && this.bf.animation._curAnim.curFrame == 12) {
|
|
flixel_FlxG.camera.follow(this.camFollow,flixel_FlxCameraFollowStyle.LOCKON,0.01);
|
|
}
|
|
if(this.bf.animation._curAnim.name == "firstDeath" && this.bf.animation._curAnim.finished) {
|
|
flixel_FlxG.sound.playMusic("assets/music/gameOver" + this.stageSuffix + TitleState.soundExt);
|
|
}
|
|
if(flixel_FlxG.sound.music._channel != null) {
|
|
Conductor.songPosition = flixel_FlxG.sound.music._time;
|
|
}
|
|
}
|
|
,beatHit: function() {
|
|
MusicBeatSubstate.prototype.beatHit.call(this);
|
|
}
|
|
,isEnding: null
|
|
,endBullshit: function() {
|
|
if(!this.isEnding) {
|
|
this.isEnding = true;
|
|
this.bf.playAnim("deathConfirm",true);
|
|
var _this = flixel_FlxG.sound.music;
|
|
_this.cleanup(_this.autoDestroy,true);
|
|
flixel_FlxG.sound.play("assets/music/gameOverEnd" + this.stageSuffix + TitleState.soundExt);
|
|
new flixel_util_FlxTimer().start(0.7,function(tmr) {
|
|
flixel_FlxG.camera.fade(-16777216,2,false,function() {
|
|
var nextState = new PlayState();
|
|
if(flixel_FlxG.game._state.switchTo(nextState)) {
|
|
flixel_FlxG.game._requestedState = nextState;
|
|
}
|
|
});
|
|
});
|
|
}
|
|
}
|
|
,__class__: GameOverSubstate
|
|
});
|
|
var GitarooPause = function() {
|
|
this.replaySelect = false;
|
|
MusicBeatState.call(this);
|
|
};
|
|
$hxClasses["GitarooPause"] = GitarooPause;
|
|
GitarooPause.__name__ = "GitarooPause";
|
|
GitarooPause.__super__ = MusicBeatState;
|
|
GitarooPause.prototype = $extend(MusicBeatState.prototype,{
|
|
replayButton: null
|
|
,cancelButton: null
|
|
,replaySelect: null
|
|
,create: function() {
|
|
if(flixel_FlxG.sound.music != null) {
|
|
var _this = flixel_FlxG.sound.music;
|
|
_this.cleanup(_this.autoDestroy,true);
|
|
}
|
|
var bg = new flixel_FlxSprite().loadGraphic("assets/images/pauseAlt/pauseBG.png");
|
|
this.add(bg);
|
|
var bf = new flixel_FlxSprite(0,30);
|
|
bf.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/pauseAlt/bfLol.png","assets/images/pauseAlt/bfLol.xml"));
|
|
bf.animation.addByPrefix("lol","funnyThing",13);
|
|
bf.animation.play("lol");
|
|
this.add(bf);
|
|
bf.screenCenter(flixel_util_FlxAxes.X);
|
|
this.replayButton = new flixel_FlxSprite(flixel_FlxG.width * 0.28,flixel_FlxG.height * 0.7);
|
|
this.replayButton.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/pauseAlt/pauseUI.png","assets/images/pauseAlt/pauseUI.xml"));
|
|
this.replayButton.animation.addByPrefix("selected","bluereplay",0,false);
|
|
this.replayButton.animation.appendByPrefix("selected","yellowreplay");
|
|
this.replayButton.animation.play("selected");
|
|
this.add(this.replayButton);
|
|
this.cancelButton = new flixel_FlxSprite(flixel_FlxG.width * 0.58,this.replayButton.y);
|
|
this.cancelButton.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/pauseAlt/pauseUI.png","assets/images/pauseAlt/pauseUI.xml"));
|
|
this.cancelButton.animation.addByPrefix("selected","bluecancel",0,false);
|
|
this.cancelButton.animation.appendByPrefix("selected","cancelyellow");
|
|
this.cancelButton.animation.play("selected");
|
|
this.add(this.cancelButton);
|
|
this.changeThing();
|
|
MusicBeatState.prototype.create.call(this);
|
|
}
|
|
,update: function(elapsed) {
|
|
if(PlayerSettings.player1.controls._leftP.check() || PlayerSettings.player1.controls._rightP.check()) {
|
|
this.changeThing();
|
|
}
|
|
if(PlayerSettings.player1.controls._accept.check()) {
|
|
if(this.replaySelect) {
|
|
var nextState = new PlayState();
|
|
if(flixel_FlxG.game._state.switchTo(nextState)) {
|
|
flixel_FlxG.game._requestedState = nextState;
|
|
}
|
|
} else {
|
|
var nextState = new MainMenuState();
|
|
if(flixel_FlxG.game._state.switchTo(nextState)) {
|
|
flixel_FlxG.game._requestedState = nextState;
|
|
}
|
|
}
|
|
}
|
|
MusicBeatState.prototype.update.call(this,elapsed);
|
|
}
|
|
,changeThing: function() {
|
|
this.replaySelect = !this.replaySelect;
|
|
if(this.replaySelect) {
|
|
this.cancelButton.animation._curAnim.set_curFrame(0);
|
|
this.replayButton.animation._curAnim.set_curFrame(1);
|
|
} else {
|
|
this.cancelButton.animation._curAnim.set_curFrame(1);
|
|
this.replayButton.animation._curAnim.set_curFrame(0);
|
|
}
|
|
}
|
|
,__class__: GitarooPause
|
|
});
|
|
var HealthIcon = function(char,isPlayer) {
|
|
if(isPlayer == null) {
|
|
isPlayer = false;
|
|
}
|
|
if(char == null) {
|
|
char = "bf";
|
|
}
|
|
flixel_FlxSprite.call(this);
|
|
this.loadGraphic("assets/images/iconGrid.png",true,150,150);
|
|
this.set_antialiasing(true);
|
|
this.animation.add("bf",[0,1],0,false,isPlayer);
|
|
this.animation.add("bf-car",[0,1],0,false,isPlayer);
|
|
this.animation.add("bf-christmas",[0,1],0,false,isPlayer);
|
|
this.animation.add("bf-pixel",[21,21],0,false,isPlayer);
|
|
this.animation.add("spooky",[2,3],0,false,isPlayer);
|
|
this.animation.add("pico",[4,5],0,false,isPlayer);
|
|
this.animation.add("mom",[6,7],0,false,isPlayer);
|
|
this.animation.add("mom-car",[6,7],0,false,isPlayer);
|
|
this.animation.add("tankman",[8,9],0,false,isPlayer);
|
|
this.animation.add("face",[10,11],0,false,isPlayer);
|
|
this.animation.add("dad",[12,13],0,false,isPlayer);
|
|
this.animation.add("senpai",[22,22],0,false,isPlayer);
|
|
this.animation.add("senpai-angry",[22,22],0,false,isPlayer);
|
|
this.animation.add("spirit",[23,23],0,false,isPlayer);
|
|
this.animation.add("bf-old",[14,15],0,false,isPlayer);
|
|
this.animation.add("gf",[16],0,false,isPlayer);
|
|
this.animation.add("parents-christmas",[17],0,false,isPlayer);
|
|
this.animation.add("monster",[19,20],0,false,isPlayer);
|
|
this.animation.add("monster-christmas",[19,20],0,false,isPlayer);
|
|
this.animation.play(char);
|
|
this.scrollFactor.set();
|
|
};
|
|
$hxClasses["HealthIcon"] = HealthIcon;
|
|
HealthIcon.__name__ = "HealthIcon";
|
|
HealthIcon.__super__ = flixel_FlxSprite;
|
|
HealthIcon.prototype = $extend(flixel_FlxSprite.prototype,{
|
|
__class__: HealthIcon
|
|
});
|
|
var Highscore = function() { };
|
|
$hxClasses["Highscore"] = Highscore;
|
|
Highscore.__name__ = "Highscore";
|
|
Highscore.saveScore = function(song,score,diff) {
|
|
if(diff == null) {
|
|
diff = 0;
|
|
}
|
|
if(score == null) {
|
|
score = 0;
|
|
}
|
|
var daSong = Highscore.formatSong(song,diff);
|
|
var score1 = score;
|
|
if(score1 == null) {
|
|
score1 = 0;
|
|
}
|
|
if(NGio.isLoggedIn) {
|
|
var id = io_newgrounds_NG.core.scoreBoards.keys();
|
|
while(id.hasNext()) {
|
|
var id1 = id.next();
|
|
var board = io_newgrounds_NG.core.scoreBoards.h[id1];
|
|
if(song == board._data.name) {
|
|
board.postScore(score1,"Uhh meow?");
|
|
}
|
|
}
|
|
}
|
|
if(Object.prototype.hasOwnProperty.call(Highscore.songScores.h,daSong)) {
|
|
if(Highscore.songScores.h[daSong] < score) {
|
|
Highscore.setScore(daSong,score);
|
|
}
|
|
} else {
|
|
Highscore.setScore(daSong,score);
|
|
}
|
|
};
|
|
Highscore.saveWeekScore = function(week,score,diff) {
|
|
if(diff == null) {
|
|
diff = 0;
|
|
}
|
|
if(score == null) {
|
|
score = 0;
|
|
}
|
|
if(week == null) {
|
|
week = 1;
|
|
}
|
|
var score1 = score;
|
|
var song = "Week " + week;
|
|
if(score1 == null) {
|
|
score1 = 0;
|
|
}
|
|
if(NGio.isLoggedIn) {
|
|
var id = io_newgrounds_NG.core.scoreBoards.keys();
|
|
while(id.hasNext()) {
|
|
var id1 = id.next();
|
|
var board = io_newgrounds_NG.core.scoreBoards.h[id1];
|
|
if(song == board._data.name) {
|
|
board.postScore(score1,"Uhh meow?");
|
|
}
|
|
}
|
|
}
|
|
var daWeek = Highscore.formatSong("week" + week,diff);
|
|
if(Object.prototype.hasOwnProperty.call(Highscore.songScores.h,daWeek)) {
|
|
if(Highscore.songScores.h[daWeek] < score) {
|
|
Highscore.setScore(daWeek,score);
|
|
}
|
|
} else {
|
|
Highscore.setScore(daWeek,score);
|
|
}
|
|
};
|
|
Highscore.setScore = function(song,score) {
|
|
Highscore.songScores.h[song] = score;
|
|
flixel_FlxG.save.data.songScores = Highscore.songScores;
|
|
flixel_FlxG.save.flush();
|
|
};
|
|
Highscore.formatSong = function(song,diff) {
|
|
var daSong = song;
|
|
if(diff == 0) {
|
|
daSong += "-easy";
|
|
} else if(diff == 2) {
|
|
daSong += "-hard";
|
|
}
|
|
return daSong;
|
|
};
|
|
Highscore.getScore = function(song,diff) {
|
|
var this1 = Highscore.songScores;
|
|
var key = Highscore.formatSong(song,diff);
|
|
if(!Object.prototype.hasOwnProperty.call(this1.h,key)) {
|
|
Highscore.setScore(Highscore.formatSong(song,diff),0);
|
|
}
|
|
var this1 = Highscore.songScores;
|
|
var key = Highscore.formatSong(song,diff);
|
|
return this1.h[key];
|
|
};
|
|
Highscore.getWeekScore = function(week,diff) {
|
|
var this1 = Highscore.songScores;
|
|
var key = Highscore.formatSong("week" + week,diff);
|
|
if(!Object.prototype.hasOwnProperty.call(this1.h,key)) {
|
|
Highscore.setScore(Highscore.formatSong("week" + week,diff),0);
|
|
}
|
|
var this1 = Highscore.songScores;
|
|
var key = Highscore.formatSong("week" + week,diff);
|
|
return this1.h[key];
|
|
};
|
|
Highscore.load = function() {
|
|
if(flixel_FlxG.save.data.songScores != null) {
|
|
Highscore.songScores = flixel_FlxG.save.data.songScores;
|
|
}
|
|
};
|
|
var HxOverrides = function() { };
|
|
$hxClasses["HxOverrides"] = HxOverrides;
|
|
HxOverrides.__name__ = "HxOverrides";
|
|
HxOverrides.strDate = function(s) {
|
|
switch(s.length) {
|
|
case 8:
|
|
var k = s.split(":");
|
|
var d = new Date();
|
|
d["setTime"](0);
|
|
d["setUTCHours"](k[0]);
|
|
d["setUTCMinutes"](k[1]);
|
|
d["setUTCSeconds"](k[2]);
|
|
return d;
|
|
case 10:
|
|
var k = s.split("-");
|
|
return new Date(k[0],k[1] - 1,k[2],0,0,0);
|
|
case 19:
|
|
var k = s.split(" ");
|
|
var y = k[0].split("-");
|
|
var t = k[1].split(":");
|
|
return new Date(y[0],y[1] - 1,y[2],t[0],t[1],t[2]);
|
|
default:
|
|
throw haxe_Exception.thrown("Invalid date format : " + s);
|
|
}
|
|
};
|
|
HxOverrides.cca = function(s,index) {
|
|
var x = s.charCodeAt(index);
|
|
if(x != x) {
|
|
return undefined;
|
|
}
|
|
return x;
|
|
};
|
|
HxOverrides.substr = function(s,pos,len) {
|
|
if(len == null) {
|
|
len = s.length;
|
|
} else if(len < 0) {
|
|
if(pos == 0) {
|
|
len = s.length + len;
|
|
} else {
|
|
return "";
|
|
}
|
|
}
|
|
return s.substr(pos,len);
|
|
};
|
|
HxOverrides.remove = function(a,obj) {
|
|
var i = a.indexOf(obj);
|
|
if(i == -1) {
|
|
return false;
|
|
}
|
|
a.splice(i,1);
|
|
return true;
|
|
};
|
|
HxOverrides.now = function() {
|
|
return Date.now();
|
|
};
|
|
var IntIterator = function(min,max) {
|
|
this.min = min;
|
|
this.max = max;
|
|
};
|
|
$hxClasses["IntIterator"] = IntIterator;
|
|
IntIterator.__name__ = "IntIterator";
|
|
IntIterator.prototype = {
|
|
min: null
|
|
,max: null
|
|
,hasNext: function() {
|
|
return this.min < this.max;
|
|
}
|
|
,next: function() {
|
|
return this.min++;
|
|
}
|
|
,__class__: IntIterator
|
|
};
|
|
var Lambda = function() { };
|
|
$hxClasses["Lambda"] = Lambda;
|
|
Lambda.__name__ = "Lambda";
|
|
Lambda.array = function(it) {
|
|
var a = [];
|
|
var i = $getIterator(it);
|
|
while(i.hasNext()) {
|
|
var i1 = i.next();
|
|
a.push(i1);
|
|
}
|
|
return a;
|
|
};
|
|
Lambda.exists = function(it,f) {
|
|
var x = $getIterator(it);
|
|
while(x.hasNext()) {
|
|
var x1 = x.next();
|
|
if(f(x1)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
};
|
|
var MainMenuState = function(TransIn,TransOut) {
|
|
this.selectedSomethin = false;
|
|
this.optionShit = ["story mode","freeplay"];
|
|
this.curSelected = 0;
|
|
MusicBeatState.call(this,TransIn,TransOut);
|
|
};
|
|
$hxClasses["MainMenuState"] = MainMenuState;
|
|
MainMenuState.__name__ = "MainMenuState";
|
|
MainMenuState.__super__ = MusicBeatState;
|
|
MainMenuState.prototype = $extend(MusicBeatState.prototype,{
|
|
curSelected: null
|
|
,menuItems: null
|
|
,optionShit: null
|
|
,magenta: null
|
|
,camFollow: null
|
|
,create: function() {
|
|
this.transIn = flixel_addons_transition_FlxTransitionableState.defaultTransIn;
|
|
this.transOut = flixel_addons_transition_FlxTransitionableState.defaultTransOut;
|
|
if(flixel_FlxG.sound.music._channel == null) {
|
|
flixel_FlxG.sound.playMusic("assets/music/freakyMenu" + TitleState.soundExt);
|
|
}
|
|
this.persistentUpdate = this.persistentDraw = true;
|
|
var bg = new flixel_FlxSprite(-80).loadGraphic("assets/images/menuBG.png");
|
|
bg.scrollFactor.set_x(0);
|
|
bg.scrollFactor.set_y(0.18);
|
|
bg.setGraphicSize(bg.get_width() * 1.1 | 0);
|
|
bg.updateHitbox();
|
|
bg.screenCenter();
|
|
bg.set_antialiasing(true);
|
|
this.add(bg);
|
|
this.camFollow = new flixel_FlxObject(0,0,1,1);
|
|
this.add(this.camFollow);
|
|
this.magenta = new flixel_FlxSprite(-80).loadGraphic("assets/images/menuDesat.png");
|
|
this.magenta.scrollFactor.set_x(0);
|
|
this.magenta.scrollFactor.set_y(0.18);
|
|
this.magenta.setGraphicSize(this.magenta.get_width() * 1.1 | 0);
|
|
this.magenta.updateHitbox();
|
|
this.magenta.screenCenter();
|
|
this.magenta.set_visible(false);
|
|
this.magenta.set_antialiasing(true);
|
|
this.magenta.set_color(-167525);
|
|
this.add(this.magenta);
|
|
this.menuItems = new flixel_group_FlxTypedGroup();
|
|
this.add(this.menuItems);
|
|
var tex = flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/FNF_main_menu_assets.png","assets/images/FNF_main_menu_assets.xml");
|
|
var _g = 0;
|
|
var _g1 = this.optionShit.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var menuItem = new flixel_FlxSprite(0,60 + i * 160);
|
|
menuItem.set_frames(tex);
|
|
menuItem.animation.addByPrefix("idle",this.optionShit[i] + " basic",24);
|
|
menuItem.animation.addByPrefix("selected",this.optionShit[i] + " white",24);
|
|
menuItem.animation.play("idle");
|
|
menuItem.ID = i;
|
|
menuItem.screenCenter(flixel_util_FlxAxes.X);
|
|
this.menuItems.add(menuItem);
|
|
menuItem.scrollFactor.set();
|
|
menuItem.set_antialiasing(true);
|
|
}
|
|
flixel_FlxG.camera.follow(this.camFollow,null,0.06);
|
|
var versionShit = new flixel_text_FlxText(5,flixel_FlxG.height - 18,0,"v" + lime_app_Application.current.meta.h["version"],12);
|
|
versionShit.scrollFactor.set();
|
|
versionShit.setFormat("VCR OSD Mono",16,-1,"left",flixel_text_FlxTextBorderStyle.OUTLINE,-16777216);
|
|
this.add(versionShit);
|
|
this.changeItem();
|
|
MusicBeatState.prototype.create.call(this);
|
|
}
|
|
,selectedSomethin: null
|
|
,update: function(elapsed) {
|
|
var _gthis = this;
|
|
if(flixel_FlxG.sound.music._volume < 0.8) {
|
|
var _g = flixel_FlxG.sound.music;
|
|
_g.set_volume(_g._volume + 0.5 * flixel_FlxG.elapsed);
|
|
}
|
|
if(!this.selectedSomethin) {
|
|
if(PlayerSettings.player1.controls._upP.check()) {
|
|
flixel_FlxG.sound.play("assets/sounds/scrollMenu" + TitleState.soundExt);
|
|
this.changeItem(-1);
|
|
}
|
|
if(PlayerSettings.player1.controls._downP.check()) {
|
|
flixel_FlxG.sound.play("assets/sounds/scrollMenu" + TitleState.soundExt);
|
|
this.changeItem(1);
|
|
}
|
|
if(PlayerSettings.player1.controls._back.check()) {
|
|
var nextState = new TitleState();
|
|
if(flixel_FlxG.game._state.switchTo(nextState)) {
|
|
flixel_FlxG.game._requestedState = nextState;
|
|
}
|
|
}
|
|
if(PlayerSettings.player1.controls._accept.check()) {
|
|
if(this.optionShit[this.curSelected] == "donate") {
|
|
var prefix = "";
|
|
if(!new EReg("^https?://","").match("https://ninja-muffin24.itch.io/funkin")) {
|
|
prefix = "http://";
|
|
}
|
|
openfl_Lib.getURL(new openfl_net_URLRequest(prefix + "https://ninja-muffin24.itch.io/funkin"),"_blank");
|
|
} else {
|
|
this.selectedSomethin = true;
|
|
flixel_FlxG.sound.play("assets/sounds/confirmMenu" + TitleState.soundExt);
|
|
flixel_effects_FlxFlicker.flicker(this.magenta,1.1,0.15,false);
|
|
this.menuItems.forEach(function(spr) {
|
|
if(_gthis.curSelected != spr.ID) {
|
|
flixel_tweens_FlxTween.tween(spr,{ alpha : 0},0.4,{ ease : flixel_tweens_FlxEase.quadOut, onComplete : function(twn) {
|
|
spr.kill();
|
|
}});
|
|
} else {
|
|
flixel_effects_FlxFlicker.flicker(spr,1,0.06,false,false,function(flick) {
|
|
var daChoice = _gthis.optionShit[_gthis.curSelected];
|
|
switch(daChoice) {
|
|
case "freeplay":
|
|
var nextState = new FreeplayState();
|
|
if(flixel_FlxG.game._state.switchTo(nextState)) {
|
|
flixel_FlxG.game._requestedState = nextState;
|
|
}
|
|
haxe_Log.trace("Freeplay Menu Selected",{ fileName : "source/MainMenuState.hx", lineNumber : 174, className : "MainMenuState", methodName : "update"});
|
|
break;
|
|
case "options":
|
|
var nextState = new OptionsMenu();
|
|
if(flixel_FlxG.game._state.switchTo(nextState)) {
|
|
flixel_FlxG.game._requestedState = nextState;
|
|
}
|
|
break;
|
|
case "story mode":
|
|
var nextState = new StoryMenuState();
|
|
if(flixel_FlxG.game._state.switchTo(nextState)) {
|
|
flixel_FlxG.game._requestedState = nextState;
|
|
}
|
|
haxe_Log.trace("Story Menu Selected",{ fileName : "source/MainMenuState.hx", lineNumber : 170, className : "MainMenuState", methodName : "update"});
|
|
break;
|
|
}
|
|
});
|
|
}
|
|
});
|
|
}
|
|
}
|
|
}
|
|
MusicBeatState.prototype.update.call(this,elapsed);
|
|
this.menuItems.forEach(function(spr) {
|
|
spr.screenCenter(flixel_util_FlxAxes.X);
|
|
});
|
|
}
|
|
,changeItem: function(huh) {
|
|
if(huh == null) {
|
|
huh = 0;
|
|
}
|
|
var _gthis = this;
|
|
this.curSelected += huh;
|
|
if(this.curSelected >= this.menuItems.length) {
|
|
this.curSelected = 0;
|
|
}
|
|
if(this.curSelected < 0) {
|
|
this.curSelected = this.menuItems.length - 1;
|
|
}
|
|
this.menuItems.forEach(function(spr) {
|
|
spr.animation.play("idle");
|
|
if(spr.ID == _gthis.curSelected) {
|
|
spr.animation.play("selected");
|
|
_gthis.camFollow.setPosition(spr.getGraphicMidpoint().x,spr.getGraphicMidpoint().y);
|
|
}
|
|
spr.updateHitbox();
|
|
});
|
|
}
|
|
,__class__: MainMenuState
|
|
});
|
|
var ManifestResources = function() { };
|
|
$hxClasses["ManifestResources"] = ManifestResources;
|
|
ManifestResources.__name__ = "ManifestResources";
|
|
ManifestResources.preloadLibraries = null;
|
|
ManifestResources.preloadLibraryNames = null;
|
|
ManifestResources.rootPath = null;
|
|
ManifestResources.init = function(config) {
|
|
ManifestResources.preloadLibraries = [];
|
|
ManifestResources.preloadLibraryNames = [];
|
|
ManifestResources.rootPath = null;
|
|
if(config != null && Object.prototype.hasOwnProperty.call(config,"rootPath")) {
|
|
ManifestResources.rootPath = Reflect.field(config,"rootPath");
|
|
}
|
|
if(ManifestResources.rootPath == null) {
|
|
ManifestResources.rootPath = "./";
|
|
}
|
|
openfl_text_Font.registerFont(_$_$ASSET_$_$OPENFL_$_$assets_$fonts_$pixel_$otf);
|
|
openfl_text_Font.registerFont(_$_$ASSET_$_$OPENFL_$_$assets_$fonts_$vcr_$ttf);
|
|
openfl_text_Font.registerFont(_$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$nokiafc22_$ttf);
|
|
openfl_text_Font.registerFont(_$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$monsterrat_$ttf);
|
|
var bundle;
|
|
var data = "{\"name\":null,\"assets\":\"aoy4:pathy30:assets%2Fimages%2Falphabet.pngy4:sizei139836y4:typey5:IMAGEy2:idR1y7:preloadtgoR0y30:assets%2Fimages%2Falphabet.xmlR2i39069R3y4:TEXTR5R7R6tgoR0y31:assets%2Fimages%2Fbackspace.pngR2i43348R3R4R5R9R6tgoR0y31:assets%2Fimages%2Fbackspace.xmlR2i747R3R8R5R10R6tgoR0y25:assets%2Fimages%2Fbad.pngR2i11727R3R4R5R11R6tgoR0y27:assets%2Fimages%2FbfCar.pngR2i1806271R3R4R5R12R6tgoR0y27:assets%2Fimages%2FbfCar.xmlR2i38250R3R8R5R13R6tgoR0y31:assets%2Fimages%2FBOYFRIEND.pngR2i5042658R3R4R5R14R6tgoR0y31:assets%2Fimages%2FBOYFRIEND.xmlR2i67577R3R8R5R15R6tgoR0y45:assets%2Fimages%2Fcampaign_menu_UI_assets.pngR2i128196R3R4R5R16R6tgoR0y45:assets%2Fimages%2Fcampaign_menu_UI_assets.xmlR2i1893R3R8R5R17R6tgoR0y49:assets%2Fimages%2Fcampaign_menu_UI_characters.pngR2i2285826R3R4R5R18R6tgoR0y49:assets%2Fimages%2Fcampaign_menu_UI_characters.xmlR2i22475R3R8R5R19R6tgoR0y45:assets%2Fimages%2Fchristmas%2FbfChristmas.pngR2i484746R3R4R5R20R6tgoR0y45:assets%2Fimages%2Fchristmas%2FbfChristmas.xmlR2i41586R3R8R5R21R6tgoR0y45:assets%2Fimages%2Fchristmas%2FbgEscalator.pngR2i166108R3R4R5R22R6tgoR0y41:assets%2Fimages%2Fchristmas%2FbgWalls.pngR2i935132R3R4R5R23R6tgoR0y43:assets%2Fimages%2Fchristmas%2FbottomBop.pngR2i1009627R3R4R5R24R6tgoR0y43:assets%2Fimages%2Fchristmas%2FbottomBop.xmlR2i2276R3R8R5R25R6tgoR0y47:assets%2Fimages%2Fchristmas%2FchristmasTree.pngR2i69663R3R4R5R26R6tgoR0y47:assets%2Fimages%2Fchristmas%2FchristmasWall.pngR2i840246R3R4R5R27R6tgoR0y40:assets%2Fimages%2Fchristmas%2FevilBG.pngR2i1230014R3R4R5R28R6tgoR0y42:assets%2Fimages%2Fchristmas%2FevilSnow.pngR2i17859R3R4R5R29R6tgoR0y42:assets%2Fimages%2Fchristmas%2FevilTree.pngR2i115115R3R4R5R30R6tgoR0y40:assets%2Fimages%2Fchristmas%2FfgSnow.pngR2i10538R3R4R5R31R6tgoR0y45:assets%2Fimages%2Fchristmas%2FgfChristmas.pngR2i4845151R3R4R5R32R6tgoR0y45:assets%2Fimages%2Fchristmas%2FgfChristmas.xmlR2i23084R3R8R5R33R6tgoR0y58:assets%2Fimages%2Fchristmas%2Fmom_dad_christmas_assets.pngR2i5065188R3R4R5R34R6tgoR0y58:assets%2Fimages%2Fchristmas%2Fmom_dad_christmas_assets.xmlR2i19356R3R8R5R35R6tgoR0y50:assets%2Fimages%2Fchristmas%2FmonsterChristmas.pngR2i872256R3R4R5R36R6tgoR0y50:assets%2Fimages%2Fchristmas%2FmonsterChristmas.xmlR2i14973R3R8R5R37R6tgoR0y39:assets%2Fimages%2Fchristmas%2Fsanta.pngR2i1066130R3R4R5R38R6tgoR0y39:assets%2Fimages%2Fchristmas%2Fsanta.xmlR2i2232R3R8R5R39R6tgoR0y42:assets%2Fimages%2Fchristmas%2FupperBop.pngR2i645807R3R4R5R40R6tgoR0y42:assets%2Fimages%2Fchristmas%2FupperBop.xmlR2i2046R3R8R5R41R6tgoR0y27:assets%2Fimages%2Fcombo.pngR2i14255R3R4R5R42R6tgoR0y35:assets%2Fimages%2FDADDY_DEAREST.pngR2i1106359R3R4R5R43R6tgoR0y35:assets%2Fimages%2FDADDY_DEAREST.xmlR2i6531R3R8R5R44R6tgoR0y42:assets%2Fimages%2FFNF_main_menu_assets.pngR2i281298R3R4R5R45R6tgoR0y42:assets%2Fimages%2FFNF_main_menu_assets.xmlR2i4755R3R8R5R46R6tgoR0y27:assets%2Fimages%2FgfCar.pngR2i1943171R3R4R5R47R6tgoR0y27:assets%2Fimages%2FgfCar.xmlR2i5000R3R8R5R48R6tgoR0y34:assets%2Fimages%2FgfDanceTitle.pngR2i1221436R3R4R5R49R6tgoR0y34:assets%2Fimages%2FgfDanceTitle.xmlR2i4259R3R8R5R50R6tgoR0y31:assets%2Fimages%2FGF_assets.pngR2i5966971R3R4R5R51R6tgoR0y31:assets%2Fimages%2FGF_assets.xmlR2i30950R3R8R5R52R6tgoR0y24:assets%2Fimages%2Fgo.pngR2i12296R3R4R5R53R6tgoR0y26:assets%2Fimages%2Fgood.pngR2i11923R3R4R5R54R6tgoR0y28:assets%2Fimages%2Fgrafix.pngR2i139101R3R4R5R55R6tgoR0y34:assets%2Fimages%2Fhalloween_bg.pngR2i5482377R3R4R5R56R6tgoR0y34:assets%2Fimages%2Fhalloween_bg.xmlR2i3663R3R8R5R57R6tgoR0y31:assets%2Fimages%2FhealthBar.pngR2i307R3R4R5R58R6tgoR0y30:assets%2Fimages%2FiconGrid.pngR2i147419R3R4R5R59R6tgoR0y36:assets%2Fimages%2Fimages-go-here.txtR2zR3R8R5R60R6tgoR0y35:assets%2Fimages%2Flimo%2FbgLimo.pngR2i859505R3R4R5R61R6tgoR0y35:assets%2Fimages%2Flimo%2FbgLimo.xmlR2i794R3R8R5R62R6tgoR0y33:assets%2Fimages%2Flimo%2Fdumb.pngR2i47055R3R4R5R63R6tgoR0y39:assets%2Fimages%2Flimo%2FfastCarLol.pngR2i310592R3R4R5R64R6tgoR0y39:assets%2Fimages%2Flimo%2FlimoDancer.pngR2i642819R3R4R5R65R6tgoR0y39:assets%2Fimages%2Flimo%2FlimoDancer.xmlR2i4675R3R8R5R66R6tgoR0y38:assets%2Fimages%2Flimo%2FlimoDrive.pngR2i607493R3R4R5R67R6tgoR0y38:assets%2Fimages%2Flimo%2FlimoDrive.xmlR2i515R3R8R5R68R6tgoR0y40:assets%2Fimages%2Flimo%2FlimoOverlay.pngR2i946605R3R4R5R69R6tgoR0y39:assets%2Fimages%2Flimo%2FlimoSunset.pngR2i1141336R3R4R5R70R6tgoR0y26:assets%2Fimages%2Flogo.pngR2i86924R3R4R5R71R6tgoR0y32:assets%2Fimages%2FlogoBumpin.pngR2i592724R3R4R5R72R6tgoR0y32:assets%2Fimages%2FlogoBumpin.xmlR2i2177R3R8R5R73R6tgoR0y25:assets%2Fimages%2Flol.pngR2i6701R3R4R5R74R6tgoR0y26:assets%2Fimages%2Flose.pngR2i236363R3R4R5R75R6tgoR0y26:assets%2Fimages%2Flose.xmlR2i4131R3R8R5R76R6tgoR0y28:assets%2Fimages%2FmenuBG.pngR2i620342R3R4R5R77R6tgoR0y32:assets%2Fimages%2FmenuBGBlue.pngR2i614586R3R4R5R78R6tgoR0y35:assets%2Fimages%2FmenuBGMagenta.pngR2i553468R3R4R5R79R6tgoR0y31:assets%2Fimages%2FmenuDesat.pngR2i357911R3R4R5R80R6tgoR0y28:assets%2Fimages%2FmomCar.pngR2i3421816R3R4R5R81R6tgoR0y28:assets%2Fimages%2FmomCar.xmlR2i8902R3R8R5R82R6tgoR0y32:assets%2Fimages%2FMom_Assets.pngR2i1816373R3R4R5R83R6tgoR0y32:assets%2Fimages%2FMom_Assets.xmlR2i8945R3R8R5R84R6tgoR0y36:assets%2Fimages%2FMonster_Assets.pngR2i1570346R3R4R5R85R6tgoR0y36:assets%2Fimages%2FMonster_Assets.xmlR2i14853R3R8R5R86R6tgoR0y37:assets%2Fimages%2Fnewgrounds_logo.pngR2i57747R3R4R5R87R6tgoR0y33:assets%2Fimages%2FNOTE_assets.pngR2i716622R3R4R5R88R6tgoR0y33:assets%2Fimages%2FNOTE_assets.xmlR2i4970R3R8R5R89R6tgoR0y26:assets%2Fimages%2Fnum0.pngR2i3738R3R4R5R90R6tgoR0y26:assets%2Fimages%2Fnum1.pngR2i3390R3R4R5R91R6tgoR0y26:assets%2Fimages%2Fnum2.pngR2i3990R3R4R5R92R6tgoR0y26:assets%2Fimages%2Fnum3.pngR2i4022R3R4R5R93R6tgoR0y26:assets%2Fimages%2Fnum4.pngR2i3989R3R4R5R94R6tgoR0y26:assets%2Fimages%2Fnum5.pngR2i4113R3R4R5R95R6tgoR0y26:assets%2Fimages%2Fnum6.pngR2i4181R3R4R5R96R6tgoR0y26:assets%2Fimages%2Fnum7.pngR2i3692R3R4R5R97R6tgoR0y26:assets%2Fimages%2Fnum8.pngR2i3914R3R4R5R98R6tgoR0y26:assets%2Fimages%2Fnum9.pngR2i3687R3R4R5R99R6tgoR0y38:assets%2Fimages%2FpauseAlt%2FbfLol.pngR2i36765R3R4R5R100R6tgoR0y38:assets%2Fimages%2FpauseAlt%2FbfLol.xmlR2i3106R3R8R5R101R6tgoR0y40:assets%2Fimages%2FpauseAlt%2FpauseBG.pngR2i96791R3R4R5R102R6tgoR0y40:assets%2Fimages%2FpauseAlt%2FpauseUI.pngR2i40939R3R4R5R103R6tgoR0y40:assets%2Fimages%2FpauseAlt%2FpauseUI.xmlR2i560R3R8R5R104R6tgoR0y42:assets%2Fimages%2Fphilly%2FbehindTrain.pngR2i51391R3R4R5R105R6tgoR0y35:assets%2Fimages%2Fphilly%2Fcity.pngR2i167048R3R4R5R106R6tgoR0y34:assets%2Fimages%2Fphilly%2Fsky.pngR2i438577R3R4R5R107R6tgoR0y37:assets%2Fimages%2Fphilly%2Fstreet.pngR2i146849R3R4R5R108R6tgoR0y36:assets%2Fimages%2Fphilly%2Ftrain.pngR2i186831R3R4R5R109R6tgoR0y35:assets%2Fimages%2Fphilly%2Fwin0.pngR2i30819R3R4R5R110R6tgoR0y35:assets%2Fimages%2Fphilly%2Fwin1.pngR2i30568R3R4R5R111R6tgoR0y35:assets%2Fimages%2Fphilly%2Fwin2.pngR2i31185R3R4R5R112R6tgoR0y35:assets%2Fimages%2Fphilly%2Fwin3.pngR2i30319R3R4R5R113R6tgoR0y35:assets%2Fimages%2Fphilly%2Fwin4.pngR2i31128R3R4R5R114R6tgoR0y38:assets%2Fimages%2FPico_FNF_assetss.pngR2i1750438R3R4R5R115R6tgoR0y38:assets%2Fimages%2FPico_FNF_assetss.xmlR2i24093R3R8R5R116R6tgoR0y27:assets%2Fimages%2Fready.pngR2i28966R3R4R5R117R6tgoR0y29:assets%2Fimages%2Frestart.pngR2i41117R3R4R5R118R6tgoR0y40:assets%2Fimages%2FscreencapTierImage.pngR2i109151R3R4R5R119R6tgoR0y25:assets%2Fimages%2Fset.pngR2i25471R3R4R5R120R6tgoR0y26:assets%2Fimages%2Fshit.pngR2i15319R3R4R5R121R6tgoR0y26:assets%2Fimages%2Fsick.pngR2i19249R3R4R5R122R6tgoR0y43:assets%2Fimages%2Fspeech_bubble_talking.pngR2i201150R3R4R5R123R6tgoR0y43:assets%2Fimages%2Fspeech_bubble_talking.xmlR2i4745R3R8R5R124R6tgoR0y40:assets%2Fimages%2Fspooky_kids_assets.pngR2i714454R3R4R5R125R6tgoR0y40:assets%2Fimages%2Fspooky_kids_assets.xmlR2i12390R3R8R5R126R6tgoR0y31:assets%2Fimages%2Fstageback.pngR2i36925R3R4R5R127R6tgoR0y35:assets%2Fimages%2Fstagecurtains.pngR2i154716R3R4R5R128R6tgoR0y32:assets%2Fimages%2Fstagefront.pngR2i143142R3R4R5R129R6tgoR0y33:assets%2Fimages%2Fstage_light.pngR2i12177R3R4R5R130R6tgoR0y32:assets%2Fimages%2FtitleEnter.pngR2i1449202R3R4R5R131R6tgoR0y32:assets%2Fimages%2FtitleEnter.xmlR2i4875R3R8R5R132R6tgoR0y47:assets%2Fimages%2Fweeb%2FanimatedEvilSchool.pngR2i289191R3R4R5R133R6tgoR0y47:assets%2Fimages%2Fweeb%2FanimatedEvilSchool.xmlR2i3887R3R8R5R134R6tgoR0y36:assets%2Fimages%2Fweeb%2FbfPixel.pngR2i34788R3R4R5R135R6tgoR0y36:assets%2Fimages%2Fweeb%2FbfPixel.xmlR2i11162R3R8R5R136R6tgoR0y41:assets%2Fimages%2Fweeb%2FbfPixelsDEAD.pngR2i120013R3R4R5R137R6tgoR0y41:assets%2Fimages%2Fweeb%2FbfPixelsDEAD.xmlR2i9974R3R8R5R138R6tgoR0y39:assets%2Fimages%2Fweeb%2FbfPortrait.pngR2i9778R3R4R5R139R6tgoR0y39:assets%2Fimages%2Fweeb%2FbfPortrait.xmlR2i1126R3R8R5R140R6tgoR0y37:assets%2Fimages%2Fweeb%2FbgFreaks.pngR2i101100R3R4R5R141R6tgoR0y37:assets%2Fimages%2Fweeb%2FbgFreaks.xmlR2i5211R3R8R5R142R6tgoR0y41:assets%2Fimages%2Fweeb%2FevilSchoolBG.pngR2i12567R3R4R5R143R6tgoR0y41:assets%2Fimages%2Fweeb%2FevilSchoolFG.pngR2i6220R3R4R5R144R6tgoR0y36:assets%2Fimages%2Fweeb%2FgfPixel.pngR2i23907R3R4R5R145R6tgoR0y36:assets%2Fimages%2Fweeb%2FgfPixel.xmlR2i2414R3R8R5R146R6tgoR0y35:assets%2Fimages%2Fweeb%2Fpetals.pngR2i18969R3R4R5R147R6tgoR0y35:assets%2Fimages%2Fweeb%2Fpetals.xmlR2i4557R3R8R5R148R6tgoR0y48:assets%2Fimages%2Fweeb%2FpixelUI%2FarrowEnds.pngR2i357R3R4R5R149R6tgoR0y52:assets%2Fimages%2Fweeb%2FpixelUI%2Farrows-pixels.pngR2i4806R3R4R5R150R6tgoR0y48:assets%2Fimages%2Fweeb%2FpixelUI%2Fbad-pixel.pngR2i418R3R4R5R151R6tgoR0y50:assets%2Fimages%2Fweeb%2FpixelUI%2Fcombo-pixel.pngR2i417R3R4R5R152R6tgoR0y49:assets%2Fimages%2Fweeb%2FpixelUI%2Fdate-pixel.pngR2i1055R3R4R5R153R6tgoR0y55:assets%2Fimages%2Fweeb%2FpixelUI%2FdialogueBox-evil.pngR2i1425R3R4R5R154R6tgoR0y55:assets%2Fimages%2Fweeb%2FpixelUI%2FdialogueBox-evil.xmlR2i1385R3R8R5R155R6tgoR0y56:assets%2Fimages%2Fweeb%2FpixelUI%2FdialogueBox-pixel.pngR2i7200R3R4R5R156R6tgoR0y56:assets%2Fimages%2Fweeb%2FpixelUI%2FdialogueBox-pixel.xmlR2i680R3R8R5R157R6tgoR0y60:assets%2Fimages%2Fweeb%2FpixelUI%2FdialogueBox-senpaiMad.pngR2i26689R3R4R5R158R6tgoR0y60:assets%2Fimages%2Fweeb%2FpixelUI%2FdialogueBox-senpaiMad.xmlR2i1050R3R8R5R159R6tgoR0y49:assets%2Fimages%2Fweeb%2FpixelUI%2Fgood-pixel.pngR2i396R3R4R5R160R6tgoR0y51:assets%2Fimages%2Fweeb%2FpixelUI%2Fhand_textbox.pngR2i260R3R4R5R161R6tgoR0y49:assets%2Fimages%2Fweeb%2FpixelUI%2Fnum0-pixel.pngR2i189R3R4R5R162R6tgoR0y49:assets%2Fimages%2Fweeb%2FpixelUI%2Fnum1-pixel.pngR2i169R3R4R5R163R6tgoR0y49:assets%2Fimages%2Fweeb%2FpixelUI%2Fnum2-pixel.pngR2i220R3R4R5R164R6tgoR0y49:assets%2Fimages%2Fweeb%2FpixelUI%2Fnum3-pixel.pngR2i204R3R4R5R165R6tgoR0y49:assets%2Fimages%2Fweeb%2FpixelUI%2Fnum4-pixel.pngR2i181R3R4R5R166R6tgoR0y49:assets%2Fimages%2Fweeb%2FpixelUI%2Fnum5-pixel.pngR2i203R3R4R5R167R6tgoR0y49:assets%2Fimages%2Fweeb%2FpixelUI%2Fnum6-pixel.pngR2i214R3R4R5R168R6tgoR0y49:assets%2Fimages%2Fweeb%2FpixelUI%2Fnum7-pixel.pngR2i197R3R4R5R169R6tgoR0y49:assets%2Fimages%2Fweeb%2FpixelUI%2Fnum8-pixel.pngR2i187R3R4R5R170R6tgoR0y49:assets%2Fimages%2Fweeb%2FpixelUI%2Fnum9-pixel.pngR2i176R3R4R5R171R6tgoR0y50:assets%2Fimages%2Fweeb%2FpixelUI%2Fready-pixel.pngR2i1092R3R4R5R172R6tgoR0y48:assets%2Fimages%2Fweeb%2FpixelUI%2Fset-pixel.pngR2i1068R3R4R5R173R6tgoR0y49:assets%2Fimages%2Fweeb%2FpixelUI%2Fshit-pixel.pngR2i628R3R4R5R174R6tgoR0y49:assets%2Fimages%2Fweeb%2FpixelUI%2Fsick-pixel.pngR2i553R3R4R5R175R6tgoR0y35:assets%2Fimages%2Fweeb%2Fsenpai.pngR2i91334R3R4R5R176R6tgoR0y35:assets%2Fimages%2Fweeb%2Fsenpai.xmlR2i14911R3R8R5R177R6tgoR0y40:assets%2Fimages%2Fweeb%2FsenpaiCrazy.pngR2i14142R3R4R5R178R6tgoR0y40:assets%2Fimages%2Fweeb%2FsenpaiCrazy.xmlR2i19805R3R8R5R179R6tgoR0y43:assets%2Fimages%2Fweeb%2FsenpaiPortrait.pngR2i14440R3R4R5R180R6tgoR0y43:assets%2Fimages%2Fweeb%2FsenpaiPortrait.xmlR2i1103R3R8R5R181R6tgoR0y35:assets%2Fimages%2Fweeb%2Fspirit.pngR2i217054R3R4R5R182R6tgoR0y35:assets%2Fimages%2Fweeb%2Fspirit.txtR2i2872R3R8R5R183R6tgoR0y46:assets%2Fimages%2Fweeb%2FspiritFaceForward.pngR2i2014R3R4R5R184R6tgoR0y39:assets%2Fimages%2Fweeb%2FweebSchool.pngR2i4034R3R4R5R185R6tgoR0y36:assets%2Fimages%2Fweeb%2FweebSky.pngR2i2714R3R4R5R186R6tgoR0y39:assets%2Fimages%2Fweeb%2FweebStreet.pngR2i3885R3R4R5R187R6tgoR0y38:assets%2Fimages%2Fweeb%2FweebTrees.pngR2i119590R3R4R5R188R6tgoR0y38:assets%2Fimages%2Fweeb%2FweebTrees.txtR2i529R3R8R5R189R6tgoR0y42:assets%2Fimages%2Fweeb%2FweebTreesBack.pngR2i1465R3R4R5R190R6tgoR0y30:assets%2Fimages%2Fzzzzzzzz.pngR2i239054R3R4R5R191R6tgoR0y43:assets%2Fdata%2Fblammed%2Fblammed-easy.jsonR2i39025R3R8R5R192R6tgoR0y43:assets%2Fdata%2Fblammed%2Fblammed-hard.jsonR2i53646R3R8R5R193R6tgoR0y38:assets%2Fdata%2Fblammed%2Fblammed.jsonR2i44638R3R8R5R194R6tgoR0y43:assets%2Fdata%2Fbopeebo%2Fbopeebo-easy.jsonR2i12574R3R8R5R195R6tgoR0y43:assets%2Fdata%2Fbopeebo%2Fbopeebo-hard.jsonR2i12576R3R8R5R196R6tgoR0y38:assets%2Fdata%2Fbopeebo%2Fbopeebo.jsonR2i12574R3R8R5R197R6tgoR0y33:assets%2Fdata%2FcharacterList.txtR2i146R3R8R5R198R6tgoR0y39:assets%2Fdata%2Fcocoa%2Fcocoa-easy.jsonR2i27364R3R8R5R199R6tgoR0y39:assets%2Fdata%2Fcocoa%2Fcocoa-hard.jsonR2i22841R3R8R5R200R6tgoR0y34:assets%2Fdata%2Fcocoa%2Fcocoa.jsonR2i30208R3R8R5R201R6tgoR0y28:assets%2Fdata%2Fcontrols.txtR2i324R3R8R5R202R6tgoR0y47:assets%2Fdata%2Fdadbattle%2Fdadbattle-easy.jsonR2i28153R3R8R5R203R6tgoR0y47:assets%2Fdata%2Fdadbattle%2Fdadbattle-hard.jsonR2i34945R3R8R5R204R6tgoR0y42:assets%2Fdata%2Fdadbattle%2Fdadbattle.jsonR2i30225R3R8R5R205R6tgoR0y34:assets%2Fdata%2Fdata-goes-here.txtR2zR3R8R5R206R6tgoR0y41:assets%2Fdata%2Feggnog%2Feggnog-easy.jsonR2i32768R3R8R5R207R6tgoR0y41:assets%2Fdata%2Feggnog%2Feggnog-hard.jsonR2i141118R3R8R5R208R6tgoR0y36:assets%2Fdata%2Feggnog%2Feggnog.jsonR2i35674R3R8R5R209R6tgoR0y36:assets%2Fdata%2FfreeplaySonglist.txtR2i32R3R8R5R210R6tgoR0y39:assets%2Fdata%2Ffresh%2Ffresh-easy.jsonR2i17647R3R8R5R211R6tgoR0y39:assets%2Fdata%2Ffresh%2Ffresh-hard.jsonR2i19185R3R8R5R212R6tgoR0y34:assets%2Fdata%2Ffresh%2Ffresh.jsonR2i18849R3R8R5R213R6tgoR0y37:assets%2Fdata%2Fhigh%2Fhigh-easy.jsonR2i34032R3R8R5R214R6tgoR0y37:assets%2Fdata%2Fhigh%2Fhigh-hard.jsonR2i26047R3R8R5R215R6tgoR0y32:assets%2Fdata%2Fhigh%2Fhigh.jsonR2i36383R3R8R5R216R6tgoR0y29:assets%2Fdata%2FintroText.txtR2i1229R3R8R5R217R6tgoR0y29:assets%2Fdata%2Fmain-view.xmlR2i123R3R8R5R218R6tgoR0y37:assets%2Fdata%2Fmilf%2Fmilf-easy.jsonR2i66246R3R8R5R219R6tgoR0y37:assets%2Fdata%2Fmilf%2Fmilf-hard.jsonR2i79053R3R8R5R220R6tgoR0y32:assets%2Fdata%2Fmilf%2Fmilf.jsonR2i70461R3R8R5R221R6tgoR0y38:assets%2Fdata%2Fmonster%2Fmonster.jsonR2i51073R3R8R5R222R6tgoR0y41:assets%2Fdata%2Fphilly%2Fphilly-easy.jsonR2i37684R3R8R5R223R6tgoR0y41:assets%2Fdata%2Fphilly%2Fphilly-hard.jsonR2i55578R3R8R5R224R6tgoR0y36:assets%2Fdata%2Fphilly%2Fphilly.jsonR2i44220R3R8R5R225R6tgoR0y37:assets%2Fdata%2Fpico%2Fpico-easy.jsonR2i16714R3R8R5R226R6tgoR0y37:assets%2Fdata%2Fpico%2Fpico-hard.jsonR2i29577R3R8R5R227R6tgoR0y32:assets%2Fdata%2Fpico%2Fpico.jsonR2i27699R3R8R5R228R6tgoR0y34:assets%2Fdata%2Fridge%2Fridge.jsonR2i34473R3R8R5R229R6tgoR0y39:assets%2Fdata%2Froses%2Froses-easy.jsonR2i27016R3R8R5R230R6tgoR0y39:assets%2Fdata%2Froses%2Froses-hard.jsonR2i34216R3R8R5R231R6tgoR0y34:assets%2Fdata%2Froses%2Froses.jsonR2i31159R3R8R5R232R6tgoR0y41:assets%2Fdata%2Froses%2FrosesDialogue.txtR2i153R3R8R5R233R6tgoR0y55:assets%2Fdata%2Fsatin-panties%2Fsatin-panties-easy.jsonR2i41066R3R8R5R234R6tgoR0y55:assets%2Fdata%2Fsatin-panties%2Fsatin-panties-hard.jsonR2i54488R3R8R5R235R6tgoR0y50:assets%2Fdata%2Fsatin-panties%2Fsatin-panties.jsonR2i47192R3R8R5R236R6tgoR0y41:assets%2Fdata%2Fsenpai%2Fsenpai-easy.jsonR2i45928R3R8R5R237R6tgoR0y41:assets%2Fdata%2Fsenpai%2Fsenpai-hard.jsonR2i51861R3R8R5R238R6tgoR0y36:assets%2Fdata%2Fsenpai%2Fsenpai.jsonR2i49335R3R8R5R239R6tgoR0y43:assets%2Fdata%2Fsenpai%2FsenpaiDialogue.txtR2i162R3R8R5R240R6tgoR0y34:assets%2Fdata%2Fsmash%2Fsmash.jsonR2i154R3R8R5R241R6tgoR0y39:assets%2Fdata%2Fsouth%2Fsouth-easy.jsonR2i30048R3R8R5R242R6tgoR0y39:assets%2Fdata%2Fsouth%2Fsouth-hard.jsonR2i34392R3R8R5R243R6tgoR0y34:assets%2Fdata%2Fsouth%2Fsouth.jsonR2i22239R3R8R5R244R6tgoR0y33:assets%2Fdata%2FspecialThanks.txtR2i284R3R8R5R245R6tgoR0y45:assets%2Fdata%2Fspookeez%2Fspookeez-easy.jsonR2i28639R3R8R5R246R6tgoR0y45:assets%2Fdata%2Fspookeez%2Fspookeez-hard.jsonR2i32667R3R8R5R247R6tgoR0y40:assets%2Fdata%2Fspookeez%2Fspookeez.jsonR2i30435R3R8R5R248R6tgoR0y41:assets%2Fdata%2Fthorns%2Fthorns-easy.jsonR2i51981R3R8R5R249R6tgoR0y41:assets%2Fdata%2Fthorns%2Fthorns-hard.jsonR2i71799R3R8R5R250R6tgoR0y36:assets%2Fdata%2Fthorns%2Fthorns.jsonR2i60997R3R8R5R251R6tgoR0y43:assets%2Fdata%2Fthorns%2FthornsDialogue.txtR2i305R3R8R5R252R6tgoR0y45:assets%2Fdata%2Ftutorial%2Ftutorial-easy.jsonR2i5739R3R8R5R253R6tgoR0y45:assets%2Fdata%2Ftutorial%2Ftutorial-hard.jsonR2i9504R3R8R5R254R6tgoR0y40:assets%2Fdata%2Ftutorial%2Ftutorial.jsonR2i5739R3R8R5R255R6tgoR0y63:assets%2Fdata%2Fwinter-horrorland%2Fwinter-horrorland-easy.jsonR2i133150R3R8R5R256R6tgoR0y63:assets%2Fdata%2Fwinter-horrorland%2Fwinter-horrorland-hard.jsonR2i171649R3R8R5R257R6tgoR0y58:assets%2Fdata%2Fwinter-horrorland%2Fwinter-horrorland.jsonR2i148926R3R8R5R258R6tgoR0y48:mods%2FintroMod%2F_append%2Fdata%2FintroText.txtR2i20R3R8R5R259goR0y18:mods%2FmodList.txtR2i8R3R8R5R260goR0y17:mods%2Freadme.txtR2i90R3R8R5R261goR0y21:do%20NOT%20readme.txtR2i4326R3R8R5R262R6tgoR2i4276766R3y5:MUSICR5y33:assets%2Fmusic%2FBlammed_Inst.mp3y9:pathGroupaR264hR6tgoR2i1320257R3R263R5y35:assets%2Fmusic%2FBlammed_Voices.mp3R265aR266hR6tgoR2i1507242R3R263R5y33:assets%2Fmusic%2FBopeebo_Inst.mp3R265aR267hR6tgoR2i758037R3R263R5y35:assets%2Fmusic%2FBopeebo_Voices.mp3R265aR268hR6tgoR2i2400129R3R263R5y30:assets%2Fmusic%2Fbreakfast.mp3R265aR269hR6tgoR2i4608000R3R263R5y31:assets%2Fmusic%2FCocoa_Inst.mp3R265aR270hR6tgoR2i2304592R3R263R5y33:assets%2Fmusic%2FCocoa_Voices.mp3R265aR271hR6tgoR2i1583631R3R263R5y35:assets%2Fmusic%2FDadbattle_Inst.mp3R265aR272hR6tgoR2i3466970R3R263R5y37:assets%2Fmusic%2FDadbattle_Voices.mp3R265aR273hR6tgoR2i3760320R3R263R5y32:assets%2Fmusic%2FEggnog_Inst.mp3R265aR274hR6tgoR2i1880364R3R263R5y34:assets%2Fmusic%2FEggnog_Voices.mp3R265aR275hR6tgoR2i2309657R3R263R5y31:assets%2Fmusic%2FfreakyMenu.mp3R265aR276hR6tgoR2i1641082R3R263R5y31:assets%2Fmusic%2FFresh_Inst.mp3R265aR277hR6tgoR2i1640560R3R263R5y33:assets%2Fmusic%2FFresh_Voices.mp3R265aR278hR6tgoR2i3072000R3R263R5y35:assets%2Fmusic%2FgameOver-pixel.mp3R265aR279hR6tgoR2i1535999R3R263R5y29:assets%2Fmusic%2FgameOver.mp3R265aR280hR6tgoR2i192000R3R263R5y38:assets%2Fmusic%2FgameOverEnd-pixel.mp3R265aR281hR6tgoR2i288391R3R263R5y32:assets%2Fmusic%2FgameOverEnd.mp3R265aR282hR6tgoR2i4224000R3R263R5y30:assets%2Fmusic%2FHigh_Inst.mp3R265aR283hR6tgoR2i2112331R3R263R5y32:assets%2Fmusic%2FHigh_Voices.mp3R265aR284hR6tgoR2i1181760R3R263R5y29:assets%2Fmusic%2FLunchbox.mp3R265aR285hR6tgoR2i275451R3R263R5y34:assets%2Fmusic%2FLunchboxScary.mp3R265aR286hR6tgoR2i4987200R3R263R5y30:assets%2Fmusic%2FMilf_Inst.mp3R265aR287hR6tgoR2i2493719R3R263R5y32:assets%2Fmusic%2FMilf_Voices.mp3R265aR288hR6tgoR2i2843793R3R263R5y28:assets%2Fmusic%2FMonster.mp3R265aR289hR6tgoR2i4003866R3R263R5y33:assets%2Fmusic%2FMonster_Inst.mp3R265aR290hR6tgoR2i2136608R3R263R5y35:assets%2Fmusic%2FMonster_Voices.mp3R265aR291hR6tgoR2i4059427R3R263R5y32:assets%2Fmusic%2FPhilly_Inst.mp3R265aR292hR6tgoR2i4059427R3R263R5y34:assets%2Fmusic%2FPhilly_Voices.mp3R265aR293hR6tgoR2i3392782R3R263R5y30:assets%2Fmusic%2FPico_Inst.mp3R265aR294hR6tgoR2i1116460R3R263R5y32:assets%2Fmusic%2FPico_Voices.mp3R265aR295hR6tgoR2i2224344R3R263R5y31:assets%2Fmusic%2FRoses_Inst.mp3R265aR296hR6tgoR2i1263864R3R263R5y33:assets%2Fmusic%2FRoses_Voices.mp3R265aR297hR6tgoR2i1920592R3R263R5y39:assets%2Fmusic%2FSatin-Panties_Inst.mp3R265aR298hR6tgoR2i1920592R3R263R5y41:assets%2Fmusic%2FSatin-Panties_Voices.mp3R265aR299hR6tgoR2i2031048R3R263R5y32:assets%2Fmusic%2FSenpai_Inst.mp3R265aR300hR6tgoR2i1838304R3R263R5y34:assets%2Fmusic%2FSenpai_Voices.mp3R265aR301hR6tgoR2i3549517R3R263R5y31:assets%2Fmusic%2FSouth_Inst.mp3R265aR302hR6tgoR2i1136376R3R263R5y33:assets%2Fmusic%2FSouth_Voices.mp3R265aR303hR6tgoR2i4616358R3R263R5y29:assets%2Fmusic%2FSpookeez.mp3R265aR304hR6tgoR2i2201383R3R263R5y34:assets%2Fmusic%2FSpookeez_Inst.mp3R265aR305hR6tgoR2i1177354R3R263R5y36:assets%2Fmusic%2FSpookeez_Voices.mp3R265aR306hR6tgoR2i4096320R3R263R5y30:assets%2Fmusic%2FTest_Inst.mp3R265aR307hR6tgoR2i408097R3R263R5y32:assets%2Fmusic%2FTest_Voices.mp3R265aR308hR6tgoR2i4244160R3R263R5y32:assets%2Fmusic%2FThorns_Inst.mp3R265aR309hR6tgoR2i4181760R3R263R5y34:assets%2Fmusic%2FThorns_Voices.mp3R265aR310hR6tgoR2i1508831R3R263R5y26:assets%2Fmusic%2Ftitle.mp3R265aR311hR6tgoR2i210573R3R263R5y31:assets%2Fmusic%2FtitleShoot.mp3R265aR312hR6tgoR2i1072499R3R263R5y34:assets%2Fmusic%2FTutorial_Inst.mp3R265aR313hR6tgoR2i3282337R3R263R5y43:assets%2Fmusic%2FWinter-Horrorland_Inst.mp3R265aR314hR6tgoR2i1876354R3R263R5y45:assets%2Fmusic%2FWinter-Horrorland_Voices.mp3R265aR315hR6tgoR2i2418R3R263R5y27:assets%2Fsounds%2FANGRY.mp3R265aR316hR6tgoR2i43182R3R263R5y36:assets%2Fsounds%2FANGRY_TEXT_BOX.mp3R265aR317hR6tgoR2i34480R3R263R5y31:assets%2Fsounds%2Fbadnoise1.mp3R265aR318hR6tgoR2i34480R3R263R5y31:assets%2Fsounds%2Fbadnoise2.mp3R265aR319hR6tgoR2i34480R3R263R5y31:assets%2Fsounds%2Fbadnoise3.mp3R265aR320hR6tgoR2i17762R3R263R5y32:assets%2Fsounds%2FcancelMenu.mp3R265aR321hR6tgoR2i54621R3R263R5y30:assets%2Fsounds%2FcarPass0.mp3R265aR322hR6tgoR2i60069R3R263R5y30:assets%2Fsounds%2FcarPass1.mp3R265aR323hR6tgoR2i5888R3R263R5y31:assets%2Fsounds%2FclickText.mp3R265aR324hR6tgoR2i91950R3R263R5y33:assets%2Fsounds%2FconfirmMenu.mp3R265aR325hR6tgoR2i74226R3R263R5y40:assets%2Fsounds%2Ffnf_loss_sfx-pixel.mp3R265aR326hR6tgoR2i83302R3R263R5y34:assets%2Fsounds%2Ffnf_loss_sfx.mp3R265aR327hR6tgoR2i6339R3R263R5y32:assets%2Fsounds%2FfreshIntro.mp3R265aR328hR6tgoR2i34480R3R263R5y26:assets%2Fsounds%2FGF_1.mp3R265aR329hR6tgoR2i34480R3R263R5y26:assets%2Fsounds%2FGF_2.mp3R265aR330hR6tgoR2i34480R3R263R5y26:assets%2Fsounds%2FGF_3.mp3R265aR331hR6tgoR2i34480R3R263R5y26:assets%2Fsounds%2FGF_4.mp3R265aR332hR6tgoR2i9155R3R263R5y34:assets%2Fsounds%2Fintro1-pixel.mp3R265aR333hR6tgoR2i11426R3R263R5y28:assets%2Fsounds%2Fintro1.mp3R265aR334hR6tgoR2i9912R3R263R5y34:assets%2Fsounds%2Fintro2-pixel.mp3R265aR335hR6tgoR2i12051R3R263R5y28:assets%2Fsounds%2Fintro2.mp3R265aR336hR6tgoR2i9128R3R263R5y34:assets%2Fsounds%2Fintro3-pixel.mp3R265aR337hR6tgoR2i11582R3R263R5y28:assets%2Fsounds%2Fintro3.mp3R265aR338hR6tgoR2i21651R3R263R5y35:assets%2Fsounds%2FintroGo-pixel.mp3R265aR339hR6tgoR2i13254R3R263R5y29:assets%2Fsounds%2FintroGo.mp3R265aR340hR6tgoR2i53174R3R263R5y37:assets%2Fsounds%2FLights_Shut_off.mp3R265aR341hR6tgoR2i88390R3R263R5y36:assets%2Fsounds%2FLights_Turn_On.mp3R265aR342hR6tgoR2i68962R3R263R5y31:assets%2Fsounds%2Fmissnote1.mp3R265aR343hR6tgoR2i68962R3R263R5y31:assets%2Fsounds%2Fmissnote2.mp3R265aR344hR6tgoR2i68962R3R263R5y31:assets%2Fsounds%2Fmissnote3.mp3R265aR345hR6tgoR2i1793R3R263R5y31:assets%2Fsounds%2FpixelText.mp3R265aR346hR6tgoR2i17762R3R263R5y32:assets%2Fsounds%2FscrollMenu.mp3R265aR347hR6tgoR2i159129R3R263R5y33:assets%2Fsounds%2FSenpai_Dies.mp3R265aR348hR6tgoR2i320854R3R263R5y31:assets%2Fsounds%2FsoundTest.mp3R265aR349hR6tgoR2i137925R3R263R5y31:assets%2Fsounds%2Fthunder_1.mp3R265aR350hR6tgoR2i274807R3R263R5y31:assets%2Fsounds%2Fthunder_2.mp3R265aR351hR6tgoR2i277982R3R263R5y34:assets%2Fsounds%2Ftrain_passes.mp3R265aR352hR6tgoR0y13:changelog.txtR2i7566R3R8R5R353R6tgoR0y34:assets%2Ffonts%2Ffonts-go-here.txtR2zR3R8R5R354R6tgoR2i14656R3y4:FONTy9:classNamey31:__ASSET__assets_fonts_pixel_otfR5y26:assets%2Ffonts%2Fpixel.otfR6tgoR2i75864R3R355R356y29:__ASSET__assets_fonts_vcr_ttfR5y24:assets%2Ffonts%2Fvcr.ttfR6tgoR2i2114R3R263R5y26:flixel%2Fsounds%2Fbeep.mp3R265aR361y26:flixel%2Fsounds%2Fbeep.ogghR6tgoR2i39706R3R263R5y28:flixel%2Fsounds%2Fflixel.mp3R265aR363y28:flixel%2Fsounds%2Fflixel.ogghR6tgoR2i5794R3y5:SOUNDR5R362R265aR361R362hgoR2i33629R3R365R5R364R265aR363R364hgoR2i15744R3R355R356y35:__ASSET__flixel_fonts_nokiafc22_ttfR5y30:flixel%2Ffonts%2Fnokiafc22.ttfR6tgoR2i29724R3R355R356y36:__ASSET__flixel_fonts_monsterrat_ttfR5y31:flixel%2Ffonts%2Fmonsterrat.ttfR6tgoR0y33:flixel%2Fimages%2Fui%2Fbutton.pngR2i519R3R4R5R370R6tgoR0y36:flixel%2Fimages%2Flogo%2Fdefault.pngR2i3280R3R4R5R371R6tgoR0y34:flixel%2Fflixel-ui%2Fimg%2Fbox.pngR2i912R3R4R5R372R6tgoR0y37:flixel%2Fflixel-ui%2Fimg%2Fbutton.pngR2i433R3R4R5R373R6tgoR0y48:flixel%2Fflixel-ui%2Fimg%2Fbutton_arrow_down.pngR2i446R3R4R5R374R6tgoR0y48:flixel%2Fflixel-ui%2Fimg%2Fbutton_arrow_left.pngR2i459R3R4R5R375R6tgoR0y49:flixel%2Fflixel-ui%2Fimg%2Fbutton_arrow_right.pngR2i511R3R4R5R376R6tgoR0y46:flixel%2Fflixel-ui%2Fimg%2Fbutton_arrow_up.pngR2i493R3R4R5R377R6tgoR0y42:flixel%2Fflixel-ui%2Fimg%2Fbutton_thin.pngR2i247R3R4R5R378R6tgoR0y44:flixel%2Fflixel-ui%2Fimg%2Fbutton_toggle.pngR2i534R3R4R5R379R6tgoR0y40:flixel%2Fflixel-ui%2Fimg%2Fcheck_box.pngR2i922R3R4R5R380R6tgoR0y41:flixel%2Fflixel-ui%2Fimg%2Fcheck_mark.pngR2i946R3R4R5R381R6tgoR0y37:flixel%2Fflixel-ui%2Fimg%2Fchrome.pngR2i253R3R4R5R382R6tgoR0y42:flixel%2Fflixel-ui%2Fimg%2Fchrome_flat.pngR2i212R3R4R5R383R6tgoR0y43:flixel%2Fflixel-ui%2Fimg%2Fchrome_inset.pngR2i192R3R4R5R384R6tgoR0y43:flixel%2Fflixel-ui%2Fimg%2Fchrome_light.pngR2i214R3R4R5R385R6tgoR0y44:flixel%2Fflixel-ui%2Fimg%2Fdropdown_mark.pngR2i156R3R4R5R386R6tgoR0y41:flixel%2Fflixel-ui%2Fimg%2Ffinger_big.pngR2i1724R3R4R5R387R6tgoR0y43:flixel%2Fflixel-ui%2Fimg%2Ffinger_small.pngR2i294R3R4R5R388R6tgoR0y38:flixel%2Fflixel-ui%2Fimg%2Fhilight.pngR2i129R3R4R5R389R6tgoR0y36:flixel%2Fflixel-ui%2Fimg%2Finvis.pngR2i128R3R4R5R390R6tgoR0y41:flixel%2Fflixel-ui%2Fimg%2Fminus_mark.pngR2i136R3R4R5R391R6tgoR0y40:flixel%2Fflixel-ui%2Fimg%2Fplus_mark.pngR2i147R3R4R5R392R6tgoR0y36:flixel%2Fflixel-ui%2Fimg%2Fradio.pngR2i191R3R4R5R393R6tgoR0y40:flixel%2Fflixel-ui%2Fimg%2Fradio_dot.pngR2i153R3R4R5R394R6tgoR0y37:flixel%2Fflixel-ui%2Fimg%2Fswatch.pngR2i185R3R4R5R395R6tgoR0y34:flixel%2Fflixel-ui%2Fimg%2Ftab.pngR2i201R3R4R5R396R6tgoR0y39:flixel%2Fflixel-ui%2Fimg%2Ftab_back.pngR2i210R3R4R5R397R6tgoR0y44:flixel%2Fflixel-ui%2Fimg%2Ftooltip_arrow.pngR2i18509R3R4R5R398R6tgoR0y39:flixel%2Fflixel-ui%2Fxml%2Fdefaults.xmlR2i1263R3R8R5R399R6tgoR0y53:flixel%2Fflixel-ui%2Fxml%2Fdefault_loading_screen.xmlR2i1953R3R8R5R400R6tgoR0y44:flixel%2Fflixel-ui%2Fxml%2Fdefault_popup.xmlR2i1848R3R8R5R401R6tgh\",\"rootPath\":null,\"version\":2,\"libraryArgs\":[],\"libraryType\":null}";
|
|
var manifest = lime_utils_AssetManifest.parse(data,ManifestResources.rootPath);
|
|
var library = lime_utils_AssetLibrary.fromManifest(manifest);
|
|
lime_utils_Assets.registerLibrary("default",library);
|
|
library = lime_utils_Assets.getLibrary("default");
|
|
if(library != null) {
|
|
ManifestResources.preloadLibraries.push(library);
|
|
} else {
|
|
ManifestResources.preloadLibraryNames.push("default");
|
|
}
|
|
};
|
|
var lime_text_Font = function(name) {
|
|
if(name != null) {
|
|
this.name = name;
|
|
}
|
|
if(!this.__init) {
|
|
if(this.ascender == undefined) {
|
|
this.ascender = 0;
|
|
}
|
|
if(this.descender == undefined) {
|
|
this.descender = 0;
|
|
}
|
|
if(this.height == undefined) {
|
|
this.height = 0;
|
|
}
|
|
if(this.numGlyphs == undefined) {
|
|
this.numGlyphs = 0;
|
|
}
|
|
if(this.underlinePosition == undefined) {
|
|
this.underlinePosition = 0;
|
|
}
|
|
if(this.underlineThickness == undefined) {
|
|
this.underlineThickness = 0;
|
|
}
|
|
if(this.unitsPerEM == undefined) {
|
|
this.unitsPerEM = 0;
|
|
}
|
|
if(this.__fontID != null) {
|
|
if(lime_utils_Assets.isLocal(this.__fontID)) {
|
|
this.__fromBytes(lime_utils_Assets.getBytes(this.__fontID));
|
|
}
|
|
} else if(this.__fontPath != null) {
|
|
this.__fromFile(this.__fontPath);
|
|
}
|
|
}
|
|
};
|
|
$hxClasses["lime.text.Font"] = lime_text_Font;
|
|
lime_text_Font.__name__ = "lime.text.Font";
|
|
lime_text_Font.fromBytes = function(bytes) {
|
|
if(bytes == null) {
|
|
return null;
|
|
}
|
|
var font = new lime_text_Font();
|
|
font.__fromBytes(bytes);
|
|
return font;
|
|
};
|
|
lime_text_Font.fromFile = function(path) {
|
|
if(path == null) {
|
|
return null;
|
|
}
|
|
var font = new lime_text_Font();
|
|
font.__fromFile(path);
|
|
return font;
|
|
};
|
|
lime_text_Font.loadFromBytes = function(bytes) {
|
|
return lime_app_Future.withValue(lime_text_Font.fromBytes(bytes));
|
|
};
|
|
lime_text_Font.loadFromFile = function(path) {
|
|
var request = new lime_net__$HTTPRequest_$lime_$text_$Font();
|
|
return request.load(path).then(function(font) {
|
|
if(font != null) {
|
|
return lime_app_Future.withValue(font);
|
|
} else {
|
|
return lime_app_Future.withError("");
|
|
}
|
|
});
|
|
};
|
|
lime_text_Font.loadFromName = function(path) {
|
|
var font = new lime_text_Font();
|
|
return font.__loadFromName(path);
|
|
};
|
|
lime_text_Font.__measureFontNode = function(fontFamily) {
|
|
var node = window.document.createElement("span");
|
|
node.setAttribute("aria-hidden","true");
|
|
var text = window.document.createTextNode("BESbswy");
|
|
node.appendChild(text);
|
|
var style = node.style;
|
|
style.display = "block";
|
|
style.position = "absolute";
|
|
style.top = "-9999px";
|
|
style.left = "-9999px";
|
|
style.fontSize = "300px";
|
|
style.width = "auto";
|
|
style.height = "auto";
|
|
style.lineHeight = "normal";
|
|
style.margin = "0";
|
|
style.padding = "0";
|
|
style.fontVariant = "normal";
|
|
style.whiteSpace = "nowrap";
|
|
style.fontFamily = fontFamily;
|
|
window.document.body.appendChild(node);
|
|
return node;
|
|
};
|
|
lime_text_Font.prototype = {
|
|
ascender: null
|
|
,descender: null
|
|
,height: null
|
|
,name: null
|
|
,numGlyphs: null
|
|
,src: null
|
|
,underlinePosition: null
|
|
,underlineThickness: null
|
|
,unitsPerEM: null
|
|
,__fontID: null
|
|
,__fontPath: null
|
|
,__init: null
|
|
,decompose: function() {
|
|
return null;
|
|
}
|
|
,getGlyph: function(character) {
|
|
return -1;
|
|
}
|
|
,getGlyphs: function(characters) {
|
|
if(characters == null) {
|
|
characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^`'\"/\\&*()[]{}<>|:;_-+=?,. ";
|
|
}
|
|
return null;
|
|
}
|
|
,getGlyphMetrics: function(glyph) {
|
|
return null;
|
|
}
|
|
,renderGlyph: function(glyph,fontSize) {
|
|
return null;
|
|
}
|
|
,renderGlyphs: function(glyphs,fontSize) {
|
|
return null;
|
|
}
|
|
,__copyFrom: function(other) {
|
|
if(other != null) {
|
|
this.ascender = other.ascender;
|
|
this.descender = other.descender;
|
|
this.height = other.height;
|
|
this.name = other.name;
|
|
this.numGlyphs = other.numGlyphs;
|
|
this.src = other.src;
|
|
this.underlinePosition = other.underlinePosition;
|
|
this.underlineThickness = other.underlineThickness;
|
|
this.unitsPerEM = other.unitsPerEM;
|
|
this.__fontID = other.__fontID;
|
|
this.__fontPath = other.__fontPath;
|
|
this.__init = true;
|
|
}
|
|
}
|
|
,__fromBytes: function(bytes) {
|
|
this.__fontPath = null;
|
|
}
|
|
,__fromFile: function(path) {
|
|
this.__fontPath = path;
|
|
}
|
|
,__initializeSource: function() {
|
|
this.__init = true;
|
|
}
|
|
,__loadFromName: function(name) {
|
|
var _gthis = this;
|
|
var promise = new lime_app_Promise();
|
|
this.name = name;
|
|
var userAgent = $global.navigator.userAgent.toLowerCase();
|
|
var isSafari = userAgent.indexOf(" safari/") >= 0 && userAgent.indexOf(" chrome/") < 0;
|
|
var isUIWebView = new EReg("(iPhone|iPod|iPad).*AppleWebKit(?!.*Version)","i").match(userAgent);
|
|
if(!isSafari && !isUIWebView && (window.document.fonts && ($_=window.document.fonts,$bind($_,$_.load)))) {
|
|
window.document.fonts.load("1em '" + name + "'").then(function(_) {
|
|
promise.complete(_gthis);
|
|
},function(_) {
|
|
lime_utils_Log.warn("Could not load web font \"" + name + "\"",{ fileName : "lime/text/Font.hx", lineNumber : 513, className : "lime.text.Font", methodName : "__loadFromName"});
|
|
promise.complete(_gthis);
|
|
});
|
|
} else {
|
|
var node1 = lime_text_Font.__measureFontNode("'" + name + "', sans-serif");
|
|
var node2 = lime_text_Font.__measureFontNode("'" + name + "', serif");
|
|
var width1 = node1.offsetWidth;
|
|
var width2 = node2.offsetWidth;
|
|
var interval = -1;
|
|
var timeout = 3000;
|
|
var intervalLength = 50;
|
|
var intervalCount = 0;
|
|
var loaded;
|
|
var timeExpired;
|
|
var checkFont = function() {
|
|
intervalCount += 1;
|
|
loaded = node1.offsetWidth != width1 || node2.offsetWidth != width2;
|
|
timeExpired = intervalCount * intervalLength >= timeout;
|
|
if(loaded || timeExpired) {
|
|
window.clearInterval(interval);
|
|
node1.parentNode.removeChild(node1);
|
|
node2.parentNode.removeChild(node2);
|
|
node1 = null;
|
|
node2 = null;
|
|
if(timeExpired) {
|
|
lime_utils_Log.warn("Could not load web font \"" + name + "\"",{ fileName : "lime/text/Font.hx", lineNumber : 548, className : "lime.text.Font", methodName : "__loadFromName"});
|
|
}
|
|
promise.complete(_gthis);
|
|
}
|
|
};
|
|
interval = window.setInterval(checkFont,intervalLength);
|
|
}
|
|
return promise.future;
|
|
}
|
|
,__setSize: function(size) {
|
|
}
|
|
,__class__: lime_text_Font
|
|
};
|
|
var _$_$ASSET_$_$assets_$fonts_$pixel_$otf = $hx_exports["__ASSET__assets_fonts_pixel_otf"] = function() {
|
|
this.ascender = 1125;
|
|
this.descender = -250;
|
|
this.height = 1375;
|
|
this.numGlyphs = 262;
|
|
this.underlinePosition = -143;
|
|
this.underlineThickness = 20;
|
|
this.unitsPerEM = 1000;
|
|
this.name = "Pixel Arial 11 Bold";
|
|
lime_text_Font.call(this);
|
|
};
|
|
$hxClasses["__ASSET__assets_fonts_pixel_otf"] = _$_$ASSET_$_$assets_$fonts_$pixel_$otf;
|
|
_$_$ASSET_$_$assets_$fonts_$pixel_$otf.__name__ = "__ASSET__assets_fonts_pixel_otf";
|
|
_$_$ASSET_$_$assets_$fonts_$pixel_$otf.__super__ = lime_text_Font;
|
|
_$_$ASSET_$_$assets_$fonts_$pixel_$otf.prototype = $extend(lime_text_Font.prototype,{
|
|
__class__: _$_$ASSET_$_$assets_$fonts_$pixel_$otf
|
|
});
|
|
var _$_$ASSET_$_$assets_$fonts_$vcr_$ttf = $hx_exports["__ASSET__assets_fonts_vcr_ttf"] = function() {
|
|
this.ascender = 1800;
|
|
this.descender = 0;
|
|
this.height = 2000;
|
|
this.numGlyphs = 204;
|
|
this.underlinePosition = -292;
|
|
this.underlineThickness = 150;
|
|
this.unitsPerEM = 2048;
|
|
this.name = "VCR OSD Mono";
|
|
lime_text_Font.call(this);
|
|
};
|
|
$hxClasses["__ASSET__assets_fonts_vcr_ttf"] = _$_$ASSET_$_$assets_$fonts_$vcr_$ttf;
|
|
_$_$ASSET_$_$assets_$fonts_$vcr_$ttf.__name__ = "__ASSET__assets_fonts_vcr_ttf";
|
|
_$_$ASSET_$_$assets_$fonts_$vcr_$ttf.__super__ = lime_text_Font;
|
|
_$_$ASSET_$_$assets_$fonts_$vcr_$ttf.prototype = $extend(lime_text_Font.prototype,{
|
|
__class__: _$_$ASSET_$_$assets_$fonts_$vcr_$ttf
|
|
});
|
|
var _$_$ASSET_$_$flixel_$fonts_$nokiafc22_$ttf = $hx_exports["__ASSET__flixel_fonts_nokiafc22_ttf"] = function() {
|
|
this.ascender = 2048;
|
|
this.descender = -512;
|
|
this.height = 2816;
|
|
this.numGlyphs = 172;
|
|
this.underlinePosition = -640;
|
|
this.underlineThickness = 256;
|
|
this.unitsPerEM = 2048;
|
|
this.name = "Nokia Cellphone FC Small";
|
|
lime_text_Font.call(this);
|
|
};
|
|
$hxClasses["__ASSET__flixel_fonts_nokiafc22_ttf"] = _$_$ASSET_$_$flixel_$fonts_$nokiafc22_$ttf;
|
|
_$_$ASSET_$_$flixel_$fonts_$nokiafc22_$ttf.__name__ = "__ASSET__flixel_fonts_nokiafc22_ttf";
|
|
_$_$ASSET_$_$flixel_$fonts_$nokiafc22_$ttf.__super__ = lime_text_Font;
|
|
_$_$ASSET_$_$flixel_$fonts_$nokiafc22_$ttf.prototype = $extend(lime_text_Font.prototype,{
|
|
__class__: _$_$ASSET_$_$flixel_$fonts_$nokiafc22_$ttf
|
|
});
|
|
var _$_$ASSET_$_$flixel_$fonts_$monsterrat_$ttf = $hx_exports["__ASSET__flixel_fonts_monsterrat_ttf"] = function() {
|
|
this.ascender = 968;
|
|
this.descender = -251;
|
|
this.height = 1219;
|
|
this.numGlyphs = 263;
|
|
this.underlinePosition = -150;
|
|
this.underlineThickness = 50;
|
|
this.unitsPerEM = 1000;
|
|
this.name = "Monsterrat";
|
|
lime_text_Font.call(this);
|
|
};
|
|
$hxClasses["__ASSET__flixel_fonts_monsterrat_ttf"] = _$_$ASSET_$_$flixel_$fonts_$monsterrat_$ttf;
|
|
_$_$ASSET_$_$flixel_$fonts_$monsterrat_$ttf.__name__ = "__ASSET__flixel_fonts_monsterrat_ttf";
|
|
_$_$ASSET_$_$flixel_$fonts_$monsterrat_$ttf.__super__ = lime_text_Font;
|
|
_$_$ASSET_$_$flixel_$fonts_$monsterrat_$ttf.prototype = $extend(lime_text_Font.prototype,{
|
|
__class__: _$_$ASSET_$_$flixel_$fonts_$monsterrat_$ttf
|
|
});
|
|
var openfl_text_Font = function(name) {
|
|
lime_text_Font.call(this,name);
|
|
};
|
|
$hxClasses["openfl.text.Font"] = openfl_text_Font;
|
|
openfl_text_Font.__name__ = "openfl.text.Font";
|
|
openfl_text_Font.enumerateFonts = function(enumerateDeviceFonts) {
|
|
if(enumerateDeviceFonts == null) {
|
|
enumerateDeviceFonts = false;
|
|
}
|
|
return openfl_text_Font.__registeredFonts;
|
|
};
|
|
openfl_text_Font.fromBytes = function(bytes) {
|
|
var font = new openfl_text_Font();
|
|
font.__fromBytes(openfl_utils_ByteArray.toBytes(bytes));
|
|
return font;
|
|
};
|
|
openfl_text_Font.fromFile = function(path) {
|
|
var font = new openfl_text_Font();
|
|
font.__fromFile(path);
|
|
return font;
|
|
};
|
|
openfl_text_Font.loadFromBytes = function(bytes) {
|
|
return lime_text_Font.loadFromBytes(openfl_utils_ByteArray.toBytes(bytes)).then(function(limeFont) {
|
|
var font = new openfl_text_Font();
|
|
font.__fromLimeFont(limeFont);
|
|
return lime_app_Future.withValue(font);
|
|
});
|
|
};
|
|
openfl_text_Font.loadFromFile = function(path) {
|
|
return lime_text_Font.loadFromFile(path).then(function(limeFont) {
|
|
var font = new openfl_text_Font();
|
|
font.__fromLimeFont(limeFont);
|
|
return lime_app_Future.withValue(font);
|
|
});
|
|
};
|
|
openfl_text_Font.loadFromName = function(path) {
|
|
return lime_text_Font.loadFromName(path).then(function(limeFont) {
|
|
var font = new openfl_text_Font();
|
|
font.__fromLimeFont(limeFont);
|
|
return lime_app_Future.withValue(font);
|
|
});
|
|
};
|
|
openfl_text_Font.registerFont = function(font) {
|
|
var instance = null;
|
|
if(js_Boot.getClass(font) == null) {
|
|
instance = js_Boot.__cast(Type.createInstance(font,[]) , openfl_text_Font);
|
|
} else {
|
|
instance = js_Boot.__cast(font , openfl_text_Font);
|
|
}
|
|
if(instance != null) {
|
|
openfl_text_Font.__registeredFonts.push(instance);
|
|
openfl_text_Font.__fontByName.h[instance.name] = instance;
|
|
}
|
|
};
|
|
openfl_text_Font.__super__ = lime_text_Font;
|
|
openfl_text_Font.prototype = $extend(lime_text_Font.prototype,{
|
|
fontStyle: null
|
|
,fontType: null
|
|
,__initialized: null
|
|
,__fromLimeFont: function(font) {
|
|
this.__copyFrom(font);
|
|
}
|
|
,__initialize: function() {
|
|
return this.__initialized;
|
|
}
|
|
,get_fontName: function() {
|
|
return this.name;
|
|
}
|
|
,set_fontName: function(value) {
|
|
return this.name = value;
|
|
}
|
|
,__class__: openfl_text_Font
|
|
,__properties__: {set_fontName:"set_fontName",get_fontName:"get_fontName"}
|
|
});
|
|
var _$_$ASSET_$_$OPENFL_$_$assets_$fonts_$pixel_$otf = $hx_exports["__ASSET__OPENFL__assets_fonts_pixel_otf"] = function() {
|
|
this.__fromLimeFont(new _$_$ASSET_$_$assets_$fonts_$pixel_$otf());
|
|
openfl_text_Font.call(this);
|
|
};
|
|
$hxClasses["__ASSET__OPENFL__assets_fonts_pixel_otf"] = _$_$ASSET_$_$OPENFL_$_$assets_$fonts_$pixel_$otf;
|
|
_$_$ASSET_$_$OPENFL_$_$assets_$fonts_$pixel_$otf.__name__ = "__ASSET__OPENFL__assets_fonts_pixel_otf";
|
|
_$_$ASSET_$_$OPENFL_$_$assets_$fonts_$pixel_$otf.__super__ = openfl_text_Font;
|
|
_$_$ASSET_$_$OPENFL_$_$assets_$fonts_$pixel_$otf.prototype = $extend(openfl_text_Font.prototype,{
|
|
__class__: _$_$ASSET_$_$OPENFL_$_$assets_$fonts_$pixel_$otf
|
|
});
|
|
var _$_$ASSET_$_$OPENFL_$_$assets_$fonts_$vcr_$ttf = $hx_exports["__ASSET__OPENFL__assets_fonts_vcr_ttf"] = function() {
|
|
this.__fromLimeFont(new _$_$ASSET_$_$assets_$fonts_$vcr_$ttf());
|
|
openfl_text_Font.call(this);
|
|
};
|
|
$hxClasses["__ASSET__OPENFL__assets_fonts_vcr_ttf"] = _$_$ASSET_$_$OPENFL_$_$assets_$fonts_$vcr_$ttf;
|
|
_$_$ASSET_$_$OPENFL_$_$assets_$fonts_$vcr_$ttf.__name__ = "__ASSET__OPENFL__assets_fonts_vcr_ttf";
|
|
_$_$ASSET_$_$OPENFL_$_$assets_$fonts_$vcr_$ttf.__super__ = openfl_text_Font;
|
|
_$_$ASSET_$_$OPENFL_$_$assets_$fonts_$vcr_$ttf.prototype = $extend(openfl_text_Font.prototype,{
|
|
__class__: _$_$ASSET_$_$OPENFL_$_$assets_$fonts_$vcr_$ttf
|
|
});
|
|
var _$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$nokiafc22_$ttf = $hx_exports["__ASSET__OPENFL__flixel_fonts_nokiafc22_ttf"] = function() {
|
|
this.__fromLimeFont(new _$_$ASSET_$_$flixel_$fonts_$nokiafc22_$ttf());
|
|
openfl_text_Font.call(this);
|
|
};
|
|
$hxClasses["__ASSET__OPENFL__flixel_fonts_nokiafc22_ttf"] = _$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$nokiafc22_$ttf;
|
|
_$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$nokiafc22_$ttf.__name__ = "__ASSET__OPENFL__flixel_fonts_nokiafc22_ttf";
|
|
_$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$nokiafc22_$ttf.__super__ = openfl_text_Font;
|
|
_$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$nokiafc22_$ttf.prototype = $extend(openfl_text_Font.prototype,{
|
|
__class__: _$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$nokiafc22_$ttf
|
|
});
|
|
var _$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$monsterrat_$ttf = $hx_exports["__ASSET__OPENFL__flixel_fonts_monsterrat_ttf"] = function() {
|
|
this.__fromLimeFont(new _$_$ASSET_$_$flixel_$fonts_$monsterrat_$ttf());
|
|
openfl_text_Font.call(this);
|
|
};
|
|
$hxClasses["__ASSET__OPENFL__flixel_fonts_monsterrat_ttf"] = _$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$monsterrat_$ttf;
|
|
_$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$monsterrat_$ttf.__name__ = "__ASSET__OPENFL__flixel_fonts_monsterrat_ttf";
|
|
_$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$monsterrat_$ttf.__super__ = openfl_text_Font;
|
|
_$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$monsterrat_$ttf.prototype = $extend(openfl_text_Font.prototype,{
|
|
__class__: _$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$monsterrat_$ttf
|
|
});
|
|
Math.__name__ = "Math";
|
|
var MenuCharacter = function(x,character) {
|
|
if(character == null) {
|
|
character = "bf";
|
|
}
|
|
flixel_FlxSprite.call(this,x);
|
|
this.character = character;
|
|
var tex = flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/campaign_menu_UI_characters.png","assets/images/campaign_menu_UI_characters.xml");
|
|
this.set_frames(tex);
|
|
this.animation.addByPrefix("bf","BF idle dance white",24);
|
|
this.animation.addByPrefix("bfConfirm","BF HEY!!",24,false);
|
|
this.animation.addByPrefix("gf","GF Dancing Beat WHITE",24);
|
|
this.animation.addByPrefix("dad","Dad idle dance BLACK LINE",24);
|
|
this.animation.addByPrefix("spooky","spooky dance idle BLACK LINES",24);
|
|
this.animation.addByPrefix("pico","Pico Idle Dance",24);
|
|
this.animation.addByPrefix("mom","Mom Idle BLACK LINES",24);
|
|
this.animation.addByPrefix("parents-christmas","Parent Christmas Idle",24);
|
|
this.animation.addByPrefix("senpai","SENPAI idle Black Lines",24);
|
|
this.animation.play(character);
|
|
this.updateHitbox();
|
|
};
|
|
$hxClasses["MenuCharacter"] = MenuCharacter;
|
|
MenuCharacter.__name__ = "MenuCharacter";
|
|
MenuCharacter.__super__ = flixel_FlxSprite;
|
|
MenuCharacter.prototype = $extend(flixel_FlxSprite.prototype,{
|
|
character: null
|
|
,__class__: MenuCharacter
|
|
});
|
|
var MenuItem = function(x,y,weekNum) {
|
|
if(weekNum == null) {
|
|
weekNum = 0;
|
|
}
|
|
this.targetY = 0;
|
|
flixel_group_FlxTypedSpriteGroup.call(this,x,y);
|
|
var tex = flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/campaign_menu_UI_assets.png","assets/images/campaign_menu_UI_assets.xml");
|
|
this.week = new flixel_FlxSprite();
|
|
this.week.set_frames(tex);
|
|
this.week.animation.addByPrefix("week0","tutorial selected",24);
|
|
this.week.animation.addByPrefix("week1","WEEK1 select",24);
|
|
this.week.animation.addByPrefix("week2","week2 select",24);
|
|
this.week.animation.addByPrefix("week3","Week 3 press",24);
|
|
this.week.animation.addByPrefix("week4","Week 4 press",24);
|
|
this.week.animation.addByPrefix("week5","week 5",24);
|
|
this.week.animation.addByPrefix("week6","Week 6",24);
|
|
this.add(this.week);
|
|
this.week.animation.play("week" + weekNum);
|
|
var _this = this.week.animation;
|
|
if(_this._curAnim != null) {
|
|
_this._curAnim.pause();
|
|
}
|
|
this.week.updateHitbox();
|
|
};
|
|
$hxClasses["MenuItem"] = MenuItem;
|
|
MenuItem.__name__ = "MenuItem";
|
|
MenuItem.__super__ = flixel_group_FlxTypedSpriteGroup;
|
|
MenuItem.prototype = $extend(flixel_group_FlxTypedSpriteGroup.prototype,{
|
|
targetY: null
|
|
,week: null
|
|
,update: function(elapsed) {
|
|
flixel_group_FlxTypedSpriteGroup.prototype.update.call(this,elapsed);
|
|
var a = this.y;
|
|
this.set_y(a + 0.17 * (this.targetY * 120 + 480 - a));
|
|
}
|
|
,__class__: MenuItem
|
|
});
|
|
var flixel_util_FlxTypedSignal = {};
|
|
flixel_util_FlxTypedSignal.__properties__ = {get_dispatch:"get_dispatch"};
|
|
flixel_util_FlxTypedSignal.add = function(this1,listener) {
|
|
this1.add(listener);
|
|
};
|
|
flixel_util_FlxTypedSignal.addOnce = function(this1,listener) {
|
|
this1.addOnce(listener);
|
|
};
|
|
flixel_util_FlxTypedSignal.remove = function(this1,listener) {
|
|
this1.remove(listener);
|
|
};
|
|
flixel_util_FlxTypedSignal.has = function(this1,listener) {
|
|
return this1.has(listener);
|
|
};
|
|
flixel_util_FlxTypedSignal.removeAll = function(this1) {
|
|
this1.removeAll();
|
|
};
|
|
flixel_util_FlxTypedSignal.get_dispatch = function(this1) {
|
|
return this1.dispatch;
|
|
};
|
|
flixel_util_FlxTypedSignal.toSignal0 = function(signal) {
|
|
return new flixel_util__$FlxSignal_FlxSignal0();
|
|
};
|
|
flixel_util_FlxTypedSignal.toSignal1 = function(signal) {
|
|
return new flixel_util__$FlxSignal_FlxSignal1();
|
|
};
|
|
flixel_util_FlxTypedSignal.toSignal2 = function(signal) {
|
|
return new flixel_util__$FlxSignal_FlxSignal2();
|
|
};
|
|
flixel_util_FlxTypedSignal.toSignal3 = function(signal) {
|
|
return new flixel_util__$FlxSignal_FlxSignal3();
|
|
};
|
|
flixel_util_FlxTypedSignal.toSignal4 = function(signal) {
|
|
return new flixel_util__$FlxSignal_FlxSignal4();
|
|
};
|
|
var NGio = function(api,encKey,sessionId) {
|
|
haxe_Log.trace("connecting to newgrounds",{ fileName : "source/NGio.hx", lineNumber : 62, className : "NGio", methodName : "new"});
|
|
io_newgrounds_NG.createAndCheckSession(api,null,sessionId);
|
|
io_newgrounds_NG.core.verbose = true;
|
|
io_newgrounds_NG.core.initEncryption(encKey);
|
|
haxe_Log.trace(io_newgrounds_NG.core.attemptingLogin,{ fileName : "source/NGio.hx", lineNumber : 70, className : "NGio", methodName : "new"});
|
|
if(io_newgrounds_NG.core.attemptingLogin) {
|
|
haxe_Log.trace("attempting login",{ fileName : "source/NGio.hx", lineNumber : 77, className : "NGio", methodName : "new"});
|
|
io_newgrounds_NG.core.onLogin.add($bind(this,this.onNGLogin));
|
|
} else {
|
|
io_newgrounds_NG.core.requestLogin($bind(this,this.onNGLogin));
|
|
}
|
|
};
|
|
$hxClasses["NGio"] = NGio;
|
|
NGio.__name__ = "NGio";
|
|
NGio.noLogin = function(api) {
|
|
haxe_Log.trace("INIT NOLOGIN",{ fileName : "source/NGio.hx", lineNumber : 38, className : "NGio", methodName : "noLogin"});
|
|
NGio.GAME_VER = "v" + lime_app_Application.current.meta.h["version"];
|
|
io_newgrounds_NG.create(api);
|
|
new flixel_util_FlxTimer().start(2,function(tmr) {
|
|
var call = io_newgrounds_NG.core.calls.app.getCurrentVersion(NGio.GAME_VER).addDataHandler(function(response) {
|
|
if(response.result != null) {
|
|
NGio.GAME_VER = response.result.data.current_version;
|
|
NGio.GAME_VER_NUMS = StringTools.trim(NGio.GAME_VER.split(" ")[0]);
|
|
haxe_Log.trace("CURRENT NG VERSION: " + NGio.GAME_VER,{ fileName : "source/NGio.hx", lineNumber : 51, className : "NGio", methodName : "noLogin"});
|
|
haxe_Log.trace("CURRENT NG VERSION: " + NGio.GAME_VER_NUMS,{ fileName : "source/NGio.hx", lineNumber : 52, className : "NGio", methodName : "noLogin"});
|
|
NGio.gotOnlineVer = true;
|
|
}
|
|
});
|
|
call.send();
|
|
});
|
|
};
|
|
NGio.postScore = function(score,song) {
|
|
if(score == null) {
|
|
score = 0;
|
|
}
|
|
if(NGio.isLoggedIn) {
|
|
var id = io_newgrounds_NG.core.scoreBoards.keys();
|
|
while(id.hasNext()) {
|
|
var id1 = id.next();
|
|
var board = io_newgrounds_NG.core.scoreBoards.h[id1];
|
|
if(song == board._data.name) {
|
|
board.postScore(score,"Uhh meow?");
|
|
}
|
|
}
|
|
}
|
|
};
|
|
NGio.logEvent = function(event) {
|
|
io_newgrounds_NG.core.calls.event.logEvent(event).send();
|
|
haxe_Log.trace("should have logged: " + event,{ fileName : "source/NGio.hx", lineNumber : 187, className : "NGio", methodName : "logEvent"});
|
|
};
|
|
NGio.unlockMedal = function(id) {
|
|
if(NGio.isLoggedIn) {
|
|
var medal = io_newgrounds_NG.core.medals.h[id];
|
|
if(!medal._data.unlocked) {
|
|
medal.sendUnlock();
|
|
}
|
|
}
|
|
};
|
|
NGio.prototype = {
|
|
onNGLogin: function() {
|
|
haxe_Log.trace("logged in! user:" + io_newgrounds_NG.core.get_user().name,{ fileName : "source/NGio.hx", lineNumber : 91, className : "NGio", methodName : "onNGLogin"});
|
|
NGio.isLoggedIn = true;
|
|
flixel_FlxG.save.data.sessionId = io_newgrounds_NG.core.sessionId;
|
|
io_newgrounds_NG.core.requestMedals($bind(this,this.onNGMedalFetch));
|
|
io_newgrounds_NG.core.requestScoreBoards($bind(this,this.onNGBoardsFetch));
|
|
NGio.ngDataLoaded.dispatch();
|
|
}
|
|
,onNGMedalFetch: function() {
|
|
}
|
|
,onNGBoardsFetch: function() {
|
|
haxe_Log.trace("shoulda got score by NOW!",{ fileName : "source/NGio.hx", lineNumber : 142, className : "NGio", methodName : "onNGBoardsFetch"});
|
|
}
|
|
,onNGScoresFetch: function() {
|
|
NGio.scoreboardsLoaded = true;
|
|
NGio.ngScoresLoaded.dispatch();
|
|
}
|
|
,__class__: NGio
|
|
};
|
|
var Note = function(strumTime,noteData,prevNote,sustainNote) {
|
|
if(sustainNote == null) {
|
|
sustainNote = false;
|
|
}
|
|
this.noteScore = 1;
|
|
this.isSustainNote = false;
|
|
this.sustainLength = 0;
|
|
this.wasGoodHit = false;
|
|
this.tooLate = false;
|
|
this.canBeHit = false;
|
|
this.noteData = 0;
|
|
this.mustPress = false;
|
|
this.strumTime = 0;
|
|
flixel_FlxSprite.call(this);
|
|
if(prevNote == null) {
|
|
prevNote = this;
|
|
}
|
|
this.prevNote = prevNote;
|
|
this.isSustainNote = sustainNote;
|
|
var _g = this;
|
|
_g.set_x(_g.x + 50);
|
|
var _g = this;
|
|
_g.set_y(_g.y - 2000);
|
|
this.strumTime = strumTime;
|
|
this.noteData = noteData;
|
|
var daStage = PlayState.curStage;
|
|
switch(daStage) {
|
|
case "school":case "schoolEvil":
|
|
this.loadGraphic("assets/images/weeb/pixelUI/arrows-pixels.png",true,17,17);
|
|
this.animation.add("greenScroll",[6]);
|
|
this.animation.add("redScroll",[7]);
|
|
this.animation.add("blueScroll",[5]);
|
|
this.animation.add("purpleScroll",[4]);
|
|
if(this.isSustainNote) {
|
|
this.loadGraphic("assets/images/weeb/pixelUI/arrowEnds.png",true,7,6);
|
|
this.animation.add("purpleholdend",[4]);
|
|
this.animation.add("greenholdend",[6]);
|
|
this.animation.add("redholdend",[7]);
|
|
this.animation.add("blueholdend",[5]);
|
|
this.animation.add("purplehold",[0]);
|
|
this.animation.add("greenhold",[2]);
|
|
this.animation.add("redhold",[3]);
|
|
this.animation.add("bluehold",[1]);
|
|
}
|
|
this.setGraphicSize(this.get_width() * PlayState.daPixelZoom | 0);
|
|
this.updateHitbox();
|
|
break;
|
|
default:
|
|
this.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/NOTE_assets.png","assets/images/NOTE_assets.xml"));
|
|
this.animation.addByPrefix("greenScroll","green0");
|
|
this.animation.addByPrefix("redScroll","red0");
|
|
this.animation.addByPrefix("blueScroll","blue0");
|
|
this.animation.addByPrefix("purpleScroll","purple0");
|
|
this.animation.addByPrefix("purpleholdend","pruple end hold");
|
|
this.animation.addByPrefix("greenholdend","green hold end");
|
|
this.animation.addByPrefix("redholdend","red hold end");
|
|
this.animation.addByPrefix("blueholdend","blue hold end");
|
|
this.animation.addByPrefix("purplehold","purple hold piece");
|
|
this.animation.addByPrefix("greenhold","green hold piece");
|
|
this.animation.addByPrefix("redhold","red hold piece");
|
|
this.animation.addByPrefix("bluehold","blue hold piece");
|
|
this.setGraphicSize(this.get_width() * 0.7 | 0);
|
|
this.updateHitbox();
|
|
this.set_antialiasing(true);
|
|
}
|
|
switch(noteData) {
|
|
case 0:
|
|
var _g = this;
|
|
_g.set_x(_g.x + Note.swagWidth * 0);
|
|
this.animation.play("purpleScroll");
|
|
break;
|
|
case 1:
|
|
var _g = this;
|
|
_g.set_x(_g.x + Note.swagWidth);
|
|
this.animation.play("blueScroll");
|
|
break;
|
|
case 2:
|
|
var _g = this;
|
|
_g.set_x(_g.x + Note.swagWidth * 2);
|
|
this.animation.play("greenScroll");
|
|
break;
|
|
case 3:
|
|
var _g = this;
|
|
_g.set_x(_g.x + Note.swagWidth * 3);
|
|
this.animation.play("redScroll");
|
|
break;
|
|
}
|
|
if(this.isSustainNote && prevNote != null) {
|
|
this.set_alpha(0.6);
|
|
var _g = this;
|
|
_g.set_x(_g.x + this.get_width() / 2);
|
|
switch(noteData) {
|
|
case 0:
|
|
this.animation.play("purpleholdend");
|
|
break;
|
|
case 1:
|
|
this.animation.play("blueholdend");
|
|
break;
|
|
case 2:
|
|
this.animation.play("greenholdend");
|
|
break;
|
|
case 3:
|
|
this.animation.play("redholdend");
|
|
break;
|
|
}
|
|
this.updateHitbox();
|
|
var _g = this;
|
|
_g.set_x(_g.x - this.get_width() / 2);
|
|
if(StringTools.startsWith(PlayState.curStage,"school")) {
|
|
var _g = this;
|
|
_g.set_x(_g.x + 30);
|
|
}
|
|
if(prevNote.isSustainNote) {
|
|
switch(prevNote.noteData) {
|
|
case 0:
|
|
prevNote.animation.play("purplehold");
|
|
break;
|
|
case 1:
|
|
prevNote.animation.play("bluehold");
|
|
break;
|
|
case 2:
|
|
prevNote.animation.play("greenhold");
|
|
break;
|
|
case 3:
|
|
prevNote.animation.play("redhold");
|
|
break;
|
|
}
|
|
var _g = prevNote.scale;
|
|
_g.set_y(_g.y * (Conductor.stepCrochet / 100 * 1.5 * PlayState.SONG.speed));
|
|
prevNote.updateHitbox();
|
|
}
|
|
}
|
|
};
|
|
$hxClasses["Note"] = Note;
|
|
Note.__name__ = "Note";
|
|
Note.__super__ = flixel_FlxSprite;
|
|
Note.prototype = $extend(flixel_FlxSprite.prototype,{
|
|
strumTime: null
|
|
,mustPress: null
|
|
,noteData: null
|
|
,canBeHit: null
|
|
,tooLate: null
|
|
,wasGoodHit: null
|
|
,prevNote: null
|
|
,sustainLength: null
|
|
,isSustainNote: null
|
|
,noteScore: null
|
|
,update: function(elapsed) {
|
|
flixel_FlxSprite.prototype.update.call(this,elapsed);
|
|
if(this.mustPress) {
|
|
if(this.strumTime > Conductor.songPosition - Conductor.safeZoneOffset && this.strumTime < Conductor.songPosition + Conductor.safeZoneOffset * 0.5) {
|
|
this.canBeHit = true;
|
|
} else {
|
|
this.canBeHit = false;
|
|
}
|
|
if(this.strumTime < Conductor.songPosition - Conductor.safeZoneOffset) {
|
|
this.tooLate = true;
|
|
}
|
|
} else {
|
|
this.canBeHit = false;
|
|
if(this.strumTime <= Conductor.songPosition) {
|
|
this.wasGoodHit = true;
|
|
}
|
|
}
|
|
if(this.tooLate) {
|
|
if(this.alpha > 0.3) {
|
|
this.set_alpha(0.3);
|
|
}
|
|
}
|
|
}
|
|
,__class__: Note
|
|
});
|
|
var OptionsMenu = function(TransIn,TransOut) {
|
|
this.isSettingControl = false;
|
|
this.controlsStrings = [];
|
|
this.curSelected = 0;
|
|
MusicBeatState.call(this,TransIn,TransOut);
|
|
};
|
|
$hxClasses["OptionsMenu"] = OptionsMenu;
|
|
OptionsMenu.__name__ = "OptionsMenu";
|
|
OptionsMenu.__super__ = MusicBeatState;
|
|
OptionsMenu.prototype = $extend(MusicBeatState.prototype,{
|
|
selector: null
|
|
,curSelected: null
|
|
,controlsStrings: null
|
|
,grpControls: null
|
|
,create: function() {
|
|
var menuBG = new flixel_FlxSprite().loadGraphic("assets/images/menuDesat.png");
|
|
this.controlsStrings = CoolUtil.coolTextFile("assets/data/controls.txt");
|
|
menuBG.set_color(-1412611);
|
|
menuBG.setGraphicSize(menuBG.get_width() * 1.1 | 0);
|
|
menuBG.updateHitbox();
|
|
menuBG.screenCenter();
|
|
menuBG.set_antialiasing(true);
|
|
this.add(menuBG);
|
|
this.grpControls = new flixel_group_FlxTypedGroup();
|
|
this.add(this.grpControls);
|
|
var _g = 0;
|
|
var _g1 = this.controlsStrings.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(this.controlsStrings[i].indexOf("set") != -1) {
|
|
var controlLabel = new Alphabet(0,70 * i + 30,this.controlsStrings[i].substring(3) + ": " + this.controlsStrings[i + 1],true,false);
|
|
controlLabel.isMenuItem = true;
|
|
controlLabel.targetY = i;
|
|
this.grpControls.add(controlLabel);
|
|
}
|
|
}
|
|
MusicBeatState.prototype.create.call(this);
|
|
}
|
|
,update: function(elapsed) {
|
|
MusicBeatState.prototype.update.call(this,elapsed);
|
|
if(PlayerSettings.player1.controls._accept.check()) {
|
|
this.changeBinding();
|
|
}
|
|
if(this.isSettingControl) {
|
|
this.waitingInput();
|
|
} else {
|
|
if(PlayerSettings.player1.controls._back.check()) {
|
|
var nextState = new MainMenuState();
|
|
if(flixel_FlxG.game._state.switchTo(nextState)) {
|
|
flixel_FlxG.game._requestedState = nextState;
|
|
}
|
|
}
|
|
if(PlayerSettings.player1.controls._upP.check()) {
|
|
this.changeSelection(-1);
|
|
}
|
|
if(PlayerSettings.player1.controls._downP.check()) {
|
|
this.changeSelection(1);
|
|
}
|
|
}
|
|
}
|
|
,waitingInput: function() {
|
|
if(flixel_FlxG.keys.getIsDown().length > 0) {
|
|
PlayerSettings.player1.controls.replaceBinding(Control.LEFT,Device.Keys,flixel_FlxG.keys.getIsDown()[0].ID,null);
|
|
}
|
|
}
|
|
,isSettingControl: null
|
|
,changeBinding: function() {
|
|
if(!this.isSettingControl) {
|
|
this.isSettingControl = true;
|
|
}
|
|
}
|
|
,changeSelection: function(change) {
|
|
if(change == null) {
|
|
change = 0;
|
|
}
|
|
io_newgrounds_NG.core.calls.event.logEvent("Fresh").send();
|
|
haxe_Log.trace("should have logged: " + "Fresh",{ fileName : "source/NGio.hx", lineNumber : 187, className : "NGio", methodName : "logEvent"});
|
|
flixel_FlxG.sound.play("assets/sounds/scrollMenu" + TitleState.soundExt,0.4);
|
|
this.curSelected += change;
|
|
if(this.curSelected < 0) {
|
|
this.curSelected = this.grpControls.length - 1;
|
|
}
|
|
if(this.curSelected >= this.grpControls.length) {
|
|
this.curSelected = 0;
|
|
}
|
|
var bullShit = 0;
|
|
var _g = 0;
|
|
var _g1 = this.grpControls.members;
|
|
while(_g < _g1.length) {
|
|
var item = _g1[_g];
|
|
++_g;
|
|
item.targetY = bullShit - this.curSelected;
|
|
++bullShit;
|
|
item.set_alpha(0.6);
|
|
if(item.targetY == 0) {
|
|
item.set_alpha(1);
|
|
}
|
|
}
|
|
}
|
|
,__class__: OptionsMenu
|
|
});
|
|
var PauseSubState = function(x,y) {
|
|
this.curSelected = 0;
|
|
this.menuItems = ["Resume","Restart Song","Exit to menu"];
|
|
MusicBeatSubstate.call(this);
|
|
this.pauseMusic = new flixel_system_FlxSound().loadEmbedded("assets/music/breakfast" + TitleState.soundExt,true,true);
|
|
this.pauseMusic.set_volume(0);
|
|
this.pauseMusic.play(false,flixel_FlxG.random.int(0,this.pauseMusic._length / 2 | 0));
|
|
flixel_FlxG.sound.list.add(this.pauseMusic);
|
|
var bg = new flixel_FlxSprite().makeGraphic(flixel_FlxG.width,flixel_FlxG.height,-16777216);
|
|
bg.set_alpha(0.6);
|
|
bg.scrollFactor.set();
|
|
this.add(bg);
|
|
this.grpMenuShit = new flixel_group_FlxTypedGroup();
|
|
this.add(this.grpMenuShit);
|
|
var _g = 0;
|
|
var _g1 = this.menuItems.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var songText = new Alphabet(0,70 * i + 30,this.menuItems[i],true,false);
|
|
songText.isMenuItem = true;
|
|
songText.targetY = i;
|
|
this.grpMenuShit.add(songText);
|
|
}
|
|
this.changeSelection();
|
|
this.set_cameras([flixel_FlxG.cameras.list[flixel_FlxG.cameras.list.length - 1]]);
|
|
};
|
|
$hxClasses["PauseSubState"] = PauseSubState;
|
|
PauseSubState.__name__ = "PauseSubState";
|
|
PauseSubState.__super__ = MusicBeatSubstate;
|
|
PauseSubState.prototype = $extend(MusicBeatSubstate.prototype,{
|
|
grpMenuShit: null
|
|
,menuItems: null
|
|
,curSelected: null
|
|
,pauseMusic: null
|
|
,update: function(elapsed) {
|
|
if(this.pauseMusic._volume < 0.5) {
|
|
var _g = this.pauseMusic;
|
|
_g.set_volume(_g._volume + 0.01 * elapsed);
|
|
}
|
|
MusicBeatSubstate.prototype.update.call(this,elapsed);
|
|
var upP = PlayerSettings.player1.controls._upP.check();
|
|
var downP = PlayerSettings.player1.controls._downP.check();
|
|
var accepted = PlayerSettings.player1.controls._accept.check();
|
|
if(upP) {
|
|
this.changeSelection(-1);
|
|
}
|
|
if(downP) {
|
|
this.changeSelection(1);
|
|
}
|
|
if(accepted) {
|
|
var daSelected = this.menuItems[this.curSelected];
|
|
switch(daSelected) {
|
|
case "Exit to menu":
|
|
var nextState = new MainMenuState();
|
|
if(flixel_FlxG.game._state.switchTo(nextState)) {
|
|
flixel_FlxG.game._requestedState = nextState;
|
|
}
|
|
break;
|
|
case "Restart Song":
|
|
var nextState = Type.createInstance(js_Boot.getClass(flixel_FlxG.game._state),[]);
|
|
if(flixel_FlxG.game._state.switchTo(nextState)) {
|
|
flixel_FlxG.game._requestedState = nextState;
|
|
}
|
|
break;
|
|
case "Resume":
|
|
this.close();
|
|
break;
|
|
}
|
|
}
|
|
var _this = flixel_FlxG.keys.justPressed;
|
|
var tmp = _this.keyManager.checkStatus(74,_this.status);
|
|
}
|
|
,destroy: function() {
|
|
this.pauseMusic.destroy();
|
|
MusicBeatSubstate.prototype.destroy.call(this);
|
|
}
|
|
,changeSelection: function(change) {
|
|
if(change == null) {
|
|
change = 0;
|
|
}
|
|
this.curSelected += change;
|
|
if(this.curSelected < 0) {
|
|
this.curSelected = this.menuItems.length - 1;
|
|
}
|
|
if(this.curSelected >= this.menuItems.length) {
|
|
this.curSelected = 0;
|
|
}
|
|
var bullShit = 0;
|
|
var _g = 0;
|
|
var _g1 = this.grpMenuShit.members;
|
|
while(_g < _g1.length) {
|
|
var item = _g1[_g];
|
|
++_g;
|
|
item.targetY = bullShit - this.curSelected;
|
|
++bullShit;
|
|
item.set_alpha(0.6);
|
|
if(item.targetY == 0) {
|
|
item.set_alpha(1);
|
|
}
|
|
}
|
|
}
|
|
,__class__: PauseSubState
|
|
});
|
|
var PlayState = function(TransIn,TransOut) {
|
|
this.curLight = 0;
|
|
this.lightningOffset = 8;
|
|
this.lightningStrikeBeat = 0;
|
|
this.startedMoving = false;
|
|
this.trainCooldown = 0;
|
|
this.trainFinishing = false;
|
|
this.trainCars = 8;
|
|
this.trainFrameTiming = 0;
|
|
this.trainMoving = false;
|
|
this.fastCarCanDrive = true;
|
|
this.endingSong = false;
|
|
this.canPause = true;
|
|
this.startedCountdown = false;
|
|
this.paused = false;
|
|
this.debugNum = 0;
|
|
this.songTime = 0;
|
|
this.lastReportedPlayheadPosition = 0;
|
|
this.previousFrameTime = 0;
|
|
this.perfectMode = false;
|
|
this.inCutscene = false;
|
|
this.defaultCamZoom = 1.05;
|
|
this.songScore = 0;
|
|
this.talking = true;
|
|
this.wiggleShit = new WiggleEffect();
|
|
this.isHalloween = false;
|
|
this.dialogue = ["blah blah blah","coolswag"];
|
|
this.startingSong = false;
|
|
this.generatedMusic = false;
|
|
this.combo = 0;
|
|
this.health = 1;
|
|
this.gfSpeed = 1;
|
|
this.curSong = "";
|
|
this.camZooming = false;
|
|
this.curSection = 0;
|
|
this.unspawnNotes = [];
|
|
this.halloweenLevel = false;
|
|
MusicBeatState.call(this,TransIn,TransOut);
|
|
};
|
|
$hxClasses["PlayState"] = PlayState;
|
|
PlayState.__name__ = "PlayState";
|
|
PlayState.SONG = null;
|
|
PlayState.prevCamFollow = null;
|
|
PlayState.__super__ = MusicBeatState;
|
|
PlayState.prototype = $extend(MusicBeatState.prototype,{
|
|
halloweenLevel: null
|
|
,vocals: null
|
|
,dad: null
|
|
,gf: null
|
|
,boyfriend: null
|
|
,notes: null
|
|
,unspawnNotes: null
|
|
,strumLine: null
|
|
,curSection: null
|
|
,camFollow: null
|
|
,strumLineNotes: null
|
|
,playerStrums: null
|
|
,camZooming: null
|
|
,curSong: null
|
|
,gfSpeed: null
|
|
,health: null
|
|
,combo: null
|
|
,healthBarBG: null
|
|
,healthBar: null
|
|
,generatedMusic: null
|
|
,startingSong: null
|
|
,iconP1: null
|
|
,iconP2: null
|
|
,camHUD: null
|
|
,camGame: null
|
|
,dialogue: null
|
|
,halloweenBG: null
|
|
,isHalloween: null
|
|
,phillyCityLights: null
|
|
,phillyTrain: null
|
|
,trainSound: null
|
|
,limo: null
|
|
,grpLimoDancers: null
|
|
,fastCar: null
|
|
,upperBoppers: null
|
|
,bottomBoppers: null
|
|
,santa: null
|
|
,bgGirls: null
|
|
,wiggleShit: null
|
|
,talking: null
|
|
,songScore: null
|
|
,scoreTxt: null
|
|
,defaultCamZoom: null
|
|
,inCutscene: null
|
|
,create: function() {
|
|
var _gthis = this;
|
|
this.camGame = new flixel_FlxCamera();
|
|
this.camHUD = new flixel_FlxCamera();
|
|
this.camHUD.bgColor &= 16777215;
|
|
this.camHUD.bgColor |= 0;
|
|
flixel_FlxG.cameras.reset(this.camGame);
|
|
flixel_FlxG.cameras.add(this.camHUD);
|
|
flixel_FlxCamera.defaultCameras = [this.camGame];
|
|
this.persistentUpdate = true;
|
|
this.persistentDraw = true;
|
|
if(PlayState.SONG == null) {
|
|
PlayState.SONG = Song.loadFromJson("tutorial");
|
|
}
|
|
Conductor.mapBPMChanges(PlayState.SONG);
|
|
Conductor.changeBPM(PlayState.SONG.bpm);
|
|
switch(PlayState.SONG.song.toLowerCase()) {
|
|
case "bopeebo":
|
|
this.dialogue = ["HEY!","You think you can just sing\nwith my daughter like that?","If you want to date her...","You're going to have to go \nthrough ME first!"];
|
|
break;
|
|
case "dadbattle":
|
|
this.dialogue = ["gah you think you're hot stuff?","If you can beat me here...","Only then I will even CONSIDER letting you\ndate my daughter!"];
|
|
break;
|
|
case "fresh":
|
|
this.dialogue = ["Not too shabby boy.",""];
|
|
break;
|
|
case "roses":
|
|
this.dialogue = CoolUtil.coolTextFile("assets/data/roses/rosesDialogue.txt");
|
|
break;
|
|
case "senpai":
|
|
this.dialogue = CoolUtil.coolTextFile("assets/data/senpai/senpaiDialogue.txt");
|
|
break;
|
|
case "thorns":
|
|
this.dialogue = CoolUtil.coolTextFile("assets/data/thorns/thornsDialogue.txt");
|
|
break;
|
|
case "tutorial":
|
|
this.dialogue = ["Hey you're pretty cute.","Use the arrow keys to keep up \nwith me singing."];
|
|
break;
|
|
}
|
|
if(PlayState.SONG.song.toLowerCase() == "spookeez" || PlayState.SONG.song.toLowerCase() == "monster" || PlayState.SONG.song.toLowerCase() == "south") {
|
|
PlayState.curStage = "spooky";
|
|
this.halloweenLevel = true;
|
|
var hallowTex = flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/halloween_bg.png","assets/images/halloween_bg.xml");
|
|
this.halloweenBG = new flixel_FlxSprite(-200,-100);
|
|
this.halloweenBG.set_frames(hallowTex);
|
|
this.halloweenBG.animation.addByPrefix("idle","halloweem bg0");
|
|
this.halloweenBG.animation.addByPrefix("lightning","halloweem bg lightning strike",24,false);
|
|
this.halloweenBG.animation.play("idle");
|
|
this.halloweenBG.set_antialiasing(true);
|
|
this.add(this.halloweenBG);
|
|
this.isHalloween = true;
|
|
} else if(PlayState.SONG.song.toLowerCase() == "pico" || PlayState.SONG.song.toLowerCase() == "blammed" || PlayState.SONG.song.toLowerCase() == "philly") {
|
|
PlayState.curStage = "philly";
|
|
var bg = new flixel_FlxSprite(-100).loadGraphic("assets/images/philly/sky.png");
|
|
bg.scrollFactor.set(0.1,0.1);
|
|
this.add(bg);
|
|
var city = new flixel_FlxSprite(-10).loadGraphic("assets/images/philly/city.png");
|
|
city.scrollFactor.set(0.3,0.3);
|
|
city.setGraphicSize(city.get_width() * 0.85 | 0);
|
|
city.updateHitbox();
|
|
this.add(city);
|
|
this.phillyCityLights = new flixel_group_FlxTypedGroup();
|
|
this.add(this.phillyCityLights);
|
|
var light = new flixel_FlxSprite(city.x).loadGraphic("assets/images/philly/win" + 0 + ".png");
|
|
light.scrollFactor.set(0.3,0.3);
|
|
light.set_visible(false);
|
|
light.setGraphicSize(light.get_width() * 0.85 | 0);
|
|
light.updateHitbox();
|
|
light.set_antialiasing(true);
|
|
this.phillyCityLights.add(light);
|
|
var light = new flixel_FlxSprite(city.x).loadGraphic("assets/images/philly/win" + 1 + ".png");
|
|
light.scrollFactor.set(0.3,0.3);
|
|
light.set_visible(false);
|
|
light.setGraphicSize(light.get_width() * 0.85 | 0);
|
|
light.updateHitbox();
|
|
light.set_antialiasing(true);
|
|
this.phillyCityLights.add(light);
|
|
var light = new flixel_FlxSprite(city.x).loadGraphic("assets/images/philly/win" + 2 + ".png");
|
|
light.scrollFactor.set(0.3,0.3);
|
|
light.set_visible(false);
|
|
light.setGraphicSize(light.get_width() * 0.85 | 0);
|
|
light.updateHitbox();
|
|
light.set_antialiasing(true);
|
|
this.phillyCityLights.add(light);
|
|
var light = new flixel_FlxSprite(city.x).loadGraphic("assets/images/philly/win" + 3 + ".png");
|
|
light.scrollFactor.set(0.3,0.3);
|
|
light.set_visible(false);
|
|
light.setGraphicSize(light.get_width() * 0.85 | 0);
|
|
light.updateHitbox();
|
|
light.set_antialiasing(true);
|
|
this.phillyCityLights.add(light);
|
|
var light = new flixel_FlxSprite(city.x).loadGraphic("assets/images/philly/win" + 4 + ".png");
|
|
light.scrollFactor.set(0.3,0.3);
|
|
light.set_visible(false);
|
|
light.setGraphicSize(light.get_width() * 0.85 | 0);
|
|
light.updateHitbox();
|
|
light.set_antialiasing(true);
|
|
this.phillyCityLights.add(light);
|
|
var streetBehind = new flixel_FlxSprite(-40,50).loadGraphic("assets/images/philly/behindTrain.png");
|
|
this.add(streetBehind);
|
|
this.phillyTrain = new flixel_FlxSprite(2000,360).loadGraphic("assets/images/philly/train.png");
|
|
this.add(this.phillyTrain);
|
|
this.trainSound = new flixel_system_FlxSound().loadEmbedded("assets/sounds/train_passes" + TitleState.soundExt);
|
|
flixel_FlxG.sound.list.add(this.trainSound);
|
|
var street = new flixel_FlxSprite(-40,streetBehind.y).loadGraphic("assets/images/philly/street.png");
|
|
this.add(street);
|
|
} else if(PlayState.SONG.song.toLowerCase() == "milf" || PlayState.SONG.song.toLowerCase() == "satin-panties" || PlayState.SONG.song.toLowerCase() == "high") {
|
|
PlayState.curStage = "limo";
|
|
this.defaultCamZoom = 0.90;
|
|
var skyBG = new flixel_FlxSprite(-120,-50).loadGraphic("assets/images/limo/limoSunset.png");
|
|
skyBG.scrollFactor.set(0.1,0.1);
|
|
this.add(skyBG);
|
|
var bgLimo = new flixel_FlxSprite(-200,480);
|
|
bgLimo.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/limo/bgLimo.png","assets/images/limo/bgLimo.xml"));
|
|
bgLimo.animation.addByPrefix("drive","background limo pink",24);
|
|
bgLimo.animation.play("drive");
|
|
bgLimo.scrollFactor.set(0.4,0.4);
|
|
this.add(bgLimo);
|
|
this.grpLimoDancers = new flixel_group_FlxTypedGroup();
|
|
this.add(this.grpLimoDancers);
|
|
var dancer = new BackgroundDancer(130,bgLimo.y - 400);
|
|
dancer.scrollFactor.set(0.4,0.4);
|
|
this.grpLimoDancers.add(dancer);
|
|
var dancer = new BackgroundDancer(500,bgLimo.y - 400);
|
|
dancer.scrollFactor.set(0.4,0.4);
|
|
this.grpLimoDancers.add(dancer);
|
|
var dancer = new BackgroundDancer(870,bgLimo.y - 400);
|
|
dancer.scrollFactor.set(0.4,0.4);
|
|
this.grpLimoDancers.add(dancer);
|
|
var dancer = new BackgroundDancer(1240,bgLimo.y - 400);
|
|
dancer.scrollFactor.set(0.4,0.4);
|
|
this.grpLimoDancers.add(dancer);
|
|
var dancer = new BackgroundDancer(1610,bgLimo.y - 400);
|
|
dancer.scrollFactor.set(0.4,0.4);
|
|
this.grpLimoDancers.add(dancer);
|
|
var overlayShit = new flixel_FlxSprite(-500,-600).loadGraphic("assets/images/limo/limoOverlay.png");
|
|
overlayShit.set_alpha(0.5);
|
|
var limoTex = flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/limo/limoDrive.png","assets/images/limo/limoDrive.xml");
|
|
this.limo = new flixel_FlxSprite(-120,550);
|
|
this.limo.set_frames(limoTex);
|
|
this.limo.animation.addByPrefix("drive","Limo stage",24);
|
|
this.limo.animation.play("drive");
|
|
this.limo.set_antialiasing(true);
|
|
this.fastCar = new flixel_FlxSprite(-300,160).loadGraphic("assets/images/limo/fastCarLol.png");
|
|
} else if(PlayState.SONG.song.toLowerCase() == "cocoa" || PlayState.SONG.song.toLowerCase() == "eggnog") {
|
|
PlayState.curStage = "mall";
|
|
this.defaultCamZoom = 0.80;
|
|
var bg = new flixel_FlxSprite(-1000,-500).loadGraphic("assets/images/christmas/bgWalls.png");
|
|
bg.set_antialiasing(true);
|
|
bg.scrollFactor.set(0.2,0.2);
|
|
bg.set_active(false);
|
|
bg.setGraphicSize(bg.get_width() * 0.8 | 0);
|
|
bg.updateHitbox();
|
|
this.add(bg);
|
|
this.upperBoppers = new flixel_FlxSprite(-240,-90);
|
|
this.upperBoppers.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/christmas/upperBop.png","assets/images/christmas/upperBop.xml"));
|
|
this.upperBoppers.animation.addByPrefix("bop","Upper Crowd Bob",24,false);
|
|
this.upperBoppers.set_antialiasing(true);
|
|
this.upperBoppers.scrollFactor.set(0.33,0.33);
|
|
this.upperBoppers.setGraphicSize(this.upperBoppers.get_width() * 0.85 | 0);
|
|
this.upperBoppers.updateHitbox();
|
|
this.add(this.upperBoppers);
|
|
var bgEscalator = new flixel_FlxSprite(-1100,-600).loadGraphic("assets/images/christmas/bgEscalator.png");
|
|
bgEscalator.set_antialiasing(true);
|
|
bgEscalator.scrollFactor.set(0.3,0.3);
|
|
bgEscalator.set_active(false);
|
|
bgEscalator.setGraphicSize(bgEscalator.get_width() * 0.9 | 0);
|
|
bgEscalator.updateHitbox();
|
|
this.add(bgEscalator);
|
|
var tree = new flixel_FlxSprite(370,-250).loadGraphic("assets/images/christmas/christmasTree.png");
|
|
tree.set_antialiasing(true);
|
|
tree.scrollFactor.set(0.40,0.40);
|
|
this.add(tree);
|
|
this.bottomBoppers = new flixel_FlxSprite(-300,140);
|
|
this.bottomBoppers.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/christmas/bottomBop.png","assets/images/christmas/bottomBop.xml"));
|
|
this.bottomBoppers.animation.addByPrefix("bop","Bottom Level Boppers",24,false);
|
|
this.bottomBoppers.set_antialiasing(true);
|
|
this.bottomBoppers.scrollFactor.set(0.9,0.9);
|
|
this.bottomBoppers.setGraphicSize(this.bottomBoppers.get_width() | 0);
|
|
this.bottomBoppers.updateHitbox();
|
|
this.add(this.bottomBoppers);
|
|
var fgSnow = new flixel_FlxSprite(-600,700).loadGraphic("assets/images/christmas/fgSnow.png");
|
|
fgSnow.set_active(false);
|
|
fgSnow.set_antialiasing(true);
|
|
this.add(fgSnow);
|
|
this.santa = new flixel_FlxSprite(-840,150);
|
|
this.santa.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/christmas/santa.png","assets/images/christmas/santa.xml"));
|
|
this.santa.animation.addByPrefix("idle","santa idle in fear",24,false);
|
|
this.santa.set_antialiasing(true);
|
|
this.add(this.santa);
|
|
} else if(PlayState.SONG.song.toLowerCase() == "winter-horrorland") {
|
|
PlayState.curStage = "mallEvil";
|
|
var bg = new flixel_FlxSprite(-400,-500).loadGraphic("assets/images/christmas/evilBG.png");
|
|
bg.set_antialiasing(true);
|
|
bg.scrollFactor.set(0.2,0.2);
|
|
bg.set_active(false);
|
|
bg.setGraphicSize(bg.get_width() * 0.8 | 0);
|
|
bg.updateHitbox();
|
|
this.add(bg);
|
|
var evilTree = new flixel_FlxSprite(300,-300).loadGraphic("assets/images/christmas/evilTree.png");
|
|
evilTree.set_antialiasing(true);
|
|
evilTree.scrollFactor.set(0.2,0.2);
|
|
this.add(evilTree);
|
|
var evilSnow = new flixel_FlxSprite(-200,700).loadGraphic("assets/images/christmas/evilSnow.png");
|
|
evilSnow.set_antialiasing(true);
|
|
this.add(evilSnow);
|
|
} else if(PlayState.SONG.song.toLowerCase() == "senpai" || PlayState.SONG.song.toLowerCase() == "roses") {
|
|
PlayState.curStage = "school";
|
|
var bgSky = new flixel_FlxSprite().loadGraphic("assets/images/weeb/weebSky.png");
|
|
bgSky.scrollFactor.set(0.1,0.1);
|
|
this.add(bgSky);
|
|
var repositionShit = -200;
|
|
var bgSchool = new flixel_FlxSprite(repositionShit,0).loadGraphic("assets/images/weeb/weebSchool.png");
|
|
bgSchool.scrollFactor.set(0.6,0.90);
|
|
this.add(bgSchool);
|
|
var bgStreet = new flixel_FlxSprite(repositionShit).loadGraphic("assets/images/weeb/weebStreet.png");
|
|
bgStreet.scrollFactor.set(0.95,0.95);
|
|
this.add(bgStreet);
|
|
var fgTrees = new flixel_FlxSprite(repositionShit + 170,130).loadGraphic("assets/images/weeb/weebTreesBack.png");
|
|
fgTrees.scrollFactor.set(0.9,0.9);
|
|
this.add(fgTrees);
|
|
var bgTrees = new flixel_FlxSprite(repositionShit - 380,-800);
|
|
var treetex = flixel_graphics_frames_FlxAtlasFrames.fromSpriteSheetPacker("assets/images/weeb/weebTrees.png","assets/images/weeb/weebTrees.txt");
|
|
bgTrees.set_frames(treetex);
|
|
bgTrees.animation.add("treeLoop",[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18],12);
|
|
bgTrees.animation.play("treeLoop");
|
|
bgTrees.scrollFactor.set(0.85,0.85);
|
|
this.add(bgTrees);
|
|
var treeLeaves = new flixel_FlxSprite(repositionShit,-40);
|
|
treeLeaves.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/weeb/petals.png","assets/images/weeb/petals.xml"));
|
|
treeLeaves.animation.addByPrefix("leaves","PETALS ALL",24,true);
|
|
treeLeaves.animation.play("leaves");
|
|
treeLeaves.scrollFactor.set(0.85,0.85);
|
|
this.add(treeLeaves);
|
|
var widShit = bgSky.get_width() * 6 | 0;
|
|
bgSky.setGraphicSize(widShit);
|
|
bgSchool.setGraphicSize(widShit);
|
|
bgStreet.setGraphicSize(widShit);
|
|
bgTrees.setGraphicSize(widShit * 1.4 | 0);
|
|
fgTrees.setGraphicSize(widShit * 0.8 | 0);
|
|
treeLeaves.setGraphicSize(widShit);
|
|
fgTrees.updateHitbox();
|
|
bgSky.updateHitbox();
|
|
bgSchool.updateHitbox();
|
|
bgStreet.updateHitbox();
|
|
bgTrees.updateHitbox();
|
|
treeLeaves.updateHitbox();
|
|
this.bgGirls = new BackgroundGirls(-100,190);
|
|
this.bgGirls.scrollFactor.set(0.9,0.9);
|
|
if(PlayState.SONG.song.toLowerCase() == "roses") {
|
|
this.bgGirls.getScared();
|
|
}
|
|
this.bgGirls.setGraphicSize(this.bgGirls.get_width() * PlayState.daPixelZoom | 0);
|
|
this.bgGirls.updateHitbox();
|
|
this.add(this.bgGirls);
|
|
} else if(PlayState.SONG.song.toLowerCase() == "thorns") {
|
|
PlayState.curStage = "schoolEvil";
|
|
var waveEffectBG = new flixel_addons_effects_chainable_FlxWaveEffect(flixel_addons_effects_chainable_FlxWaveMode.ALL,2,-1,3,2);
|
|
var waveEffectFG = new flixel_addons_effects_chainable_FlxWaveEffect(flixel_addons_effects_chainable_FlxWaveMode.ALL,2,-1,5,2);
|
|
var posX = 400;
|
|
var posY = 200;
|
|
var bg = new flixel_FlxSprite(posX,posY);
|
|
bg.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/weeb/animatedEvilSchool.png","assets/images/weeb/animatedEvilSchool.xml"));
|
|
bg.animation.addByPrefix("idle","background 2",24);
|
|
bg.animation.play("idle");
|
|
bg.scrollFactor.set(0.8,0.9);
|
|
bg.scale.set(6,6);
|
|
this.add(bg);
|
|
} else {
|
|
this.defaultCamZoom = 0.9;
|
|
PlayState.curStage = "stage";
|
|
var bg = new flixel_FlxSprite(-600,-200).loadGraphic("assets/images/stageback.png");
|
|
bg.set_antialiasing(true);
|
|
bg.scrollFactor.set(0.9,0.9);
|
|
bg.set_active(false);
|
|
this.add(bg);
|
|
var stageFront = new flixel_FlxSprite(-650,600).loadGraphic("assets/images/stagefront.png");
|
|
stageFront.setGraphicSize(stageFront.get_width() * 1.1 | 0);
|
|
stageFront.updateHitbox();
|
|
stageFront.set_antialiasing(true);
|
|
stageFront.scrollFactor.set(0.9,0.9);
|
|
stageFront.set_active(false);
|
|
this.add(stageFront);
|
|
var stageCurtains = new flixel_FlxSprite(-500,-300).loadGraphic("assets/images/stagecurtains.png");
|
|
stageCurtains.setGraphicSize(stageCurtains.get_width() * 0.9 | 0);
|
|
stageCurtains.updateHitbox();
|
|
stageCurtains.set_antialiasing(true);
|
|
stageCurtains.scrollFactor.set(1.3,1.3);
|
|
stageCurtains.set_active(false);
|
|
this.add(stageCurtains);
|
|
}
|
|
var gfVersion = "gf";
|
|
switch(PlayState.curStage) {
|
|
case "limo":
|
|
gfVersion = "gf-car";
|
|
break;
|
|
case "mall":case "mallEvil":
|
|
gfVersion = "gf-christmas";
|
|
break;
|
|
case "school":
|
|
gfVersion = "gf-pixel";
|
|
break;
|
|
case "schoolEvil":
|
|
gfVersion = "gf-pixel";
|
|
break;
|
|
}
|
|
if(PlayState.curStage == "limo") {
|
|
gfVersion = "gf-car";
|
|
}
|
|
this.gf = new Character(400,130,gfVersion);
|
|
this.gf.scrollFactor.set(0.95,0.95);
|
|
this.dad = new Character(100,100,PlayState.SONG.player2);
|
|
var camPos = new flixel_math_FlxPoint(this.dad.getGraphicMidpoint().x,this.dad.getGraphicMidpoint().y);
|
|
switch(PlayState.SONG.player2) {
|
|
case "dad":
|
|
var _g = camPos;
|
|
_g.set_x(_g.x + 400);
|
|
break;
|
|
case "gf":
|
|
this.dad.setPosition(this.gf.x,this.gf.y);
|
|
this.gf.set_visible(false);
|
|
if(PlayState.isStoryMode) {
|
|
var _g = camPos;
|
|
_g.set_x(_g.x + 600);
|
|
this.tweenCamIn();
|
|
}
|
|
break;
|
|
case "monster":
|
|
var _g = this.dad;
|
|
_g.set_y(_g.y + 100);
|
|
break;
|
|
case "monster-christmas":
|
|
var _g = this.dad;
|
|
_g.set_y(_g.y + 130);
|
|
break;
|
|
case "parents-christmas":
|
|
var _g = this.dad;
|
|
_g.set_x(_g.x - 500);
|
|
break;
|
|
case "pico":
|
|
var _g = camPos;
|
|
_g.set_x(_g.x + 600);
|
|
var _g = this.dad;
|
|
_g.set_y(_g.y + 300);
|
|
break;
|
|
case "senpai":
|
|
var _g = this.dad;
|
|
_g.set_x(_g.x + 150);
|
|
var _g = this.dad;
|
|
_g.set_y(_g.y + 360);
|
|
camPos.set(this.dad.getGraphicMidpoint().x + 300,this.dad.getGraphicMidpoint().y);
|
|
break;
|
|
case "senpai-angry":
|
|
var _g = this.dad;
|
|
_g.set_x(_g.x + 150);
|
|
var _g = this.dad;
|
|
_g.set_y(_g.y + 360);
|
|
camPos.set(this.dad.getGraphicMidpoint().x + 300,this.dad.getGraphicMidpoint().y);
|
|
break;
|
|
case "spirit":
|
|
var _g = this.dad;
|
|
_g.set_x(_g.x - 150);
|
|
var _g = this.dad;
|
|
_g.set_y(_g.y + 100);
|
|
camPos.set(this.dad.getGraphicMidpoint().x + 300,this.dad.getGraphicMidpoint().y);
|
|
break;
|
|
case "spooky":
|
|
var _g = this.dad;
|
|
_g.set_y(_g.y + 200);
|
|
break;
|
|
}
|
|
this.boyfriend = new Boyfriend(770,450,PlayState.SONG.player1);
|
|
switch(PlayState.curStage) {
|
|
case "limo":
|
|
var _g = this.boyfriend;
|
|
_g.set_y(_g.y - 220);
|
|
var _g = this.boyfriend;
|
|
_g.set_x(_g.x + 260);
|
|
this.resetFastCar();
|
|
this.add(this.fastCar);
|
|
break;
|
|
case "mall":
|
|
var _g = this.boyfriend;
|
|
_g.set_x(_g.x + 200);
|
|
break;
|
|
case "mallEvil":
|
|
var _g = this.boyfriend;
|
|
_g.set_x(_g.x + 320);
|
|
var _g = this.dad;
|
|
_g.set_y(_g.y - 80);
|
|
break;
|
|
case "school":
|
|
var _g = this.boyfriend;
|
|
_g.set_x(_g.x + 200);
|
|
var _g = this.boyfriend;
|
|
_g.set_y(_g.y + 220);
|
|
var _g = this.gf;
|
|
_g.set_x(_g.x + 180);
|
|
var _g = this.gf;
|
|
_g.set_y(_g.y + 300);
|
|
break;
|
|
case "schoolEvil":
|
|
var evilTrail = new flixel_addons_effects_FlxTrail(this.dad,null,4,24,0.3,0.069);
|
|
this.add(evilTrail);
|
|
var _g = this.boyfriend;
|
|
_g.set_x(_g.x + 200);
|
|
var _g = this.boyfriend;
|
|
_g.set_y(_g.y + 220);
|
|
var _g = this.gf;
|
|
_g.set_x(_g.x + 180);
|
|
var _g = this.gf;
|
|
_g.set_y(_g.y + 300);
|
|
break;
|
|
}
|
|
this.add(this.gf);
|
|
if(PlayState.curStage == "limo") {
|
|
this.add(this.limo);
|
|
}
|
|
this.add(this.dad);
|
|
this.add(this.boyfriend);
|
|
var doof = new DialogueBox(false,this.dialogue);
|
|
doof.scrollFactor.set();
|
|
doof.finishThing = $bind(this,this.startCountdown);
|
|
Conductor.songPosition = -5000;
|
|
this.strumLine = new flixel_FlxSprite(0,50).makeGraphic(flixel_FlxG.width,10);
|
|
this.strumLine.scrollFactor.set();
|
|
this.strumLineNotes = new flixel_group_FlxTypedGroup();
|
|
this.add(this.strumLineNotes);
|
|
this.playerStrums = new flixel_group_FlxTypedGroup();
|
|
this.generateSong(PlayState.SONG.song);
|
|
this.camFollow = new flixel_FlxObject(0,0,1,1);
|
|
this.camFollow.setPosition(camPos.x,camPos.y);
|
|
if(PlayState.prevCamFollow != null) {
|
|
this.camFollow = PlayState.prevCamFollow;
|
|
PlayState.prevCamFollow = null;
|
|
}
|
|
this.add(this.camFollow);
|
|
flixel_FlxG.camera.follow(this.camFollow,flixel_FlxCameraFollowStyle.LOCKON,0.04);
|
|
flixel_FlxG.camera.set_zoom(this.defaultCamZoom);
|
|
var _this = flixel_FlxG.camera;
|
|
var point = this.camFollow.getPosition();
|
|
_this.scroll.set(point.x - _this.width * 0.5,point.y - _this.height * 0.5);
|
|
if(point._weak) {
|
|
point.put();
|
|
}
|
|
var _this = flixel_FlxG.worldBounds;
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = flixel_FlxG.width;
|
|
var Height = flixel_FlxG.height;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
flixel_FlxG.fixedTimestep = false;
|
|
this.healthBarBG = new flixel_FlxSprite(0,flixel_FlxG.height * 0.9).loadGraphic("assets/images/healthBar.png");
|
|
this.healthBarBG.screenCenter(flixel_util_FlxAxes.X);
|
|
this.healthBarBG.scrollFactor.set();
|
|
this.add(this.healthBarBG);
|
|
this.healthBar = new flixel_ui_FlxBar(this.healthBarBG.x + 4,this.healthBarBG.y + 4,flixel_ui_FlxBarFillDirection.RIGHT_TO_LEFT,this.healthBarBG.get_width() - 8 | 0,this.healthBarBG.get_height() - 8 | 0,this,"health",0,2);
|
|
this.healthBar.scrollFactor.set();
|
|
this.healthBar.createFilledBar(-65536,-10027213);
|
|
this.add(this.healthBar);
|
|
this.scoreTxt = new flixel_text_FlxText(this.healthBarBG.x + this.healthBarBG.get_width() - 190,this.healthBarBG.y + 30,0,"",20);
|
|
this.scoreTxt.setFormat("assets/fonts/vcr.ttf",16,-1,"right");
|
|
this.scoreTxt.scrollFactor.set();
|
|
this.add(this.scoreTxt);
|
|
this.iconP1 = new HealthIcon(PlayState.SONG.player1,true);
|
|
this.iconP1.set_y(this.healthBar.y - this.iconP1.get_height() / 2);
|
|
this.add(this.iconP1);
|
|
this.iconP2 = new HealthIcon(PlayState.SONG.player2,false);
|
|
this.iconP2.set_y(this.healthBar.y - this.iconP2.get_height() / 2);
|
|
this.add(this.iconP2);
|
|
this.strumLineNotes.set_cameras([this.camHUD]);
|
|
this.notes.set_cameras([this.camHUD]);
|
|
this.healthBar.set_cameras([this.camHUD]);
|
|
this.healthBarBG.set_cameras([this.camHUD]);
|
|
this.iconP1.set_cameras([this.camHUD]);
|
|
this.iconP2.set_cameras([this.camHUD]);
|
|
this.scoreTxt.set_cameras([this.camHUD]);
|
|
doof.set_cameras([this.camHUD]);
|
|
this.startingSong = true;
|
|
if(PlayState.isStoryMode) {
|
|
switch(this.curSong.toLowerCase()) {
|
|
case "roses":
|
|
flixel_FlxG.sound.play("assets/sounds/ANGRY" + TitleState.soundExt);
|
|
this.schoolIntro(doof);
|
|
break;
|
|
case "senpai":
|
|
this.schoolIntro(doof);
|
|
break;
|
|
case "thorns":
|
|
this.schoolIntro(doof);
|
|
break;
|
|
case "winter-horrorland":
|
|
var blackScreen = new flixel_FlxSprite(0,0).makeGraphic(flixel_FlxG.width * 2 | 0,flixel_FlxG.height * 2 | 0,-16777216);
|
|
this.add(blackScreen);
|
|
blackScreen.scrollFactor.set();
|
|
this.camHUD.set_visible(false);
|
|
new flixel_util_FlxTimer().start(0.1,function(tmr) {
|
|
_gthis.remove(blackScreen);
|
|
flixel_FlxG.sound.play("assets/sounds/Lights_Turn_On" + TitleState.soundExt);
|
|
_gthis.camFollow.set_y(-2050);
|
|
var _g = _gthis.camFollow;
|
|
_g.set_x(_g.x + 200);
|
|
var _this = flixel_FlxG.camera;
|
|
var point = _gthis.camFollow.getPosition();
|
|
_this.scroll.set(point.x - _this.width * 0.5,point.y - _this.height * 0.5);
|
|
if(point._weak) {
|
|
point.put();
|
|
}
|
|
flixel_FlxG.camera.set_zoom(1.5);
|
|
new flixel_util_FlxTimer().start(0.8,function(tmr) {
|
|
_gthis.camHUD.set_visible(true);
|
|
_gthis.remove(blackScreen);
|
|
flixel_tweens_FlxTween.tween(flixel_FlxG.camera,{ zoom : _gthis.defaultCamZoom},2.5,{ ease : flixel_tweens_FlxEase.quadInOut, onComplete : function(twn) {
|
|
_gthis.startCountdown();
|
|
}});
|
|
});
|
|
});
|
|
break;
|
|
default:
|
|
this.startCountdown();
|
|
}
|
|
} else {
|
|
var _g = this.curSong.toLowerCase();
|
|
this.startCountdown();
|
|
}
|
|
MusicBeatState.prototype.create.call(this);
|
|
}
|
|
,schoolIntro: function(dialogueBox) {
|
|
var _gthis = this;
|
|
var black = new flixel_FlxSprite(-100,-100).makeGraphic(flixel_FlxG.width * 2,flixel_FlxG.height * 2,-16777216);
|
|
black.scrollFactor.set();
|
|
this.add(black);
|
|
var red = new flixel_FlxSprite(-100,-100).makeGraphic(flixel_FlxG.width * 2,flixel_FlxG.height * 2,-58575);
|
|
red.scrollFactor.set();
|
|
var senpaiEvil = new flixel_FlxSprite();
|
|
senpaiEvil.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/weeb/senpaiCrazy.png","assets/images/weeb/senpaiCrazy.xml"));
|
|
senpaiEvil.animation.addByPrefix("idle","Senpai Pre Explosion",24,false);
|
|
senpaiEvil.setGraphicSize(senpaiEvil.get_width() * 6 | 0);
|
|
senpaiEvil.scrollFactor.set();
|
|
senpaiEvil.updateHitbox();
|
|
senpaiEvil.screenCenter();
|
|
if(PlayState.SONG.song.toLowerCase() == "roses" || PlayState.SONG.song.toLowerCase() == "thorns") {
|
|
this.remove(black);
|
|
if(PlayState.SONG.song.toLowerCase() == "thorns") {
|
|
this.add(red);
|
|
}
|
|
}
|
|
new flixel_util_FlxTimer().start(0.3,function(tmr) {
|
|
var _g = black;
|
|
_g.set_alpha(_g.alpha - 0.15);
|
|
if(black.alpha > 0) {
|
|
tmr.reset(0.3);
|
|
} else {
|
|
if(dialogueBox != null) {
|
|
_gthis.inCutscene = true;
|
|
if(PlayState.SONG.song.toLowerCase() == "thorns") {
|
|
_gthis.add(senpaiEvil);
|
|
senpaiEvil.set_alpha(0);
|
|
new flixel_util_FlxTimer().start(0.3,function(swagTimer) {
|
|
var _g = senpaiEvil;
|
|
_g.set_alpha(_g.alpha + 0.15);
|
|
if(senpaiEvil.alpha < 1) {
|
|
swagTimer.reset();
|
|
} else {
|
|
senpaiEvil.animation.play("idle");
|
|
flixel_FlxG.sound.play("assets/sounds/Senpai_Dies" + TitleState.soundExt,1,false,null,true,function() {
|
|
_gthis.remove(senpaiEvil);
|
|
_gthis.remove(red);
|
|
flixel_FlxG.camera.fade(-1,0.01,true,function() {
|
|
_gthis.add(dialogueBox);
|
|
},true);
|
|
});
|
|
new flixel_util_FlxTimer().start(3.2,function(deadTime) {
|
|
flixel_FlxG.camera.fade(-1,1.6,false);
|
|
});
|
|
}
|
|
});
|
|
} else {
|
|
_gthis.add(dialogueBox);
|
|
}
|
|
} else {
|
|
_gthis.startCountdown();
|
|
}
|
|
_gthis.remove(black);
|
|
}
|
|
});
|
|
}
|
|
,startTimer: null
|
|
,perfectMode: null
|
|
,startCountdown: function() {
|
|
var _gthis = this;
|
|
this.inCutscene = false;
|
|
this.generateStaticArrows(0);
|
|
this.generateStaticArrows(1);
|
|
this.talking = false;
|
|
this.startedCountdown = true;
|
|
Conductor.songPosition = 0;
|
|
Conductor.songPosition -= Conductor.crochet * 5;
|
|
var swagCounter = 0;
|
|
this.startTimer = new flixel_util_FlxTimer().start(Conductor.crochet / 1000,function(tmr) {
|
|
_gthis.dad.dance();
|
|
_gthis.gf.dance();
|
|
_gthis.boyfriend.playAnim("idle");
|
|
var introAssets_h = Object.create(null);
|
|
introAssets_h["default"] = ["ready.png","set.png","go.png"];
|
|
introAssets_h["school"] = ["weeb/pixelUI/ready-pixel.png","weeb/pixelUI/set-pixel.png","weeb/pixelUI/date-pixel.png"];
|
|
introAssets_h["schoolEvil"] = ["weeb/pixelUI/ready-pixel.png","weeb/pixelUI/set-pixel.png","weeb/pixelUI/date-pixel.png"];
|
|
var introAlts = introAssets_h["default"];
|
|
var altSuffix = "";
|
|
var value = haxe_ds_StringMap.keysIterator(introAssets_h);
|
|
while(value.hasNext()) {
|
|
var value1 = value.next();
|
|
if(value1 == PlayState.curStage) {
|
|
introAlts = introAssets_h[value1];
|
|
altSuffix = "-pixel";
|
|
}
|
|
}
|
|
switch(swagCounter) {
|
|
case 0:
|
|
flixel_FlxG.sound.play("assets/sounds/intro3" + altSuffix + TitleState.soundExt,0.6);
|
|
break;
|
|
case 1:
|
|
var ready = new flixel_FlxSprite().loadGraphic("assets/images/" + introAlts[0]);
|
|
ready.scrollFactor.set();
|
|
ready.updateHitbox();
|
|
if(StringTools.startsWith(PlayState.curStage,"school")) {
|
|
ready.setGraphicSize(ready.get_width() * PlayState.daPixelZoom | 0);
|
|
}
|
|
ready.screenCenter();
|
|
_gthis.add(ready);
|
|
var _g = ready;
|
|
flixel_tweens_FlxTween.tween(ready,{ y : _g.set_y(_g.y + 100), alpha : 0},Conductor.crochet / 1000,{ ease : flixel_tweens_FlxEase.cubeInOut, onComplete : function(twn) {
|
|
ready.destroy();
|
|
}});
|
|
flixel_FlxG.sound.play("assets/sounds/intro2" + altSuffix + TitleState.soundExt,0.6);
|
|
break;
|
|
case 2:
|
|
var set = new flixel_FlxSprite().loadGraphic("assets/images/" + introAlts[1]);
|
|
set.scrollFactor.set();
|
|
if(StringTools.startsWith(PlayState.curStage,"school")) {
|
|
set.setGraphicSize(set.get_width() * PlayState.daPixelZoom | 0);
|
|
}
|
|
set.screenCenter();
|
|
_gthis.add(set);
|
|
var _g = set;
|
|
flixel_tweens_FlxTween.tween(set,{ y : _g.set_y(_g.y + 100), alpha : 0},Conductor.crochet / 1000,{ ease : flixel_tweens_FlxEase.cubeInOut, onComplete : function(twn) {
|
|
set.destroy();
|
|
}});
|
|
flixel_FlxG.sound.play("assets/sounds/intro1" + altSuffix + TitleState.soundExt,0.6);
|
|
break;
|
|
case 3:
|
|
var go = new flixel_FlxSprite().loadGraphic("assets/images/" + introAlts[2]);
|
|
go.scrollFactor.set();
|
|
if(StringTools.startsWith(PlayState.curStage,"school")) {
|
|
go.setGraphicSize(go.get_width() * PlayState.daPixelZoom | 0);
|
|
}
|
|
go.updateHitbox();
|
|
go.screenCenter();
|
|
_gthis.add(go);
|
|
var _g = go;
|
|
flixel_tweens_FlxTween.tween(go,{ y : _g.set_y(_g.y + 100), alpha : 0},Conductor.crochet / 1000,{ ease : flixel_tweens_FlxEase.cubeInOut, onComplete : function(twn) {
|
|
go.destroy();
|
|
}});
|
|
flixel_FlxG.sound.play("assets/sounds/introGo" + altSuffix + TitleState.soundExt,0.6);
|
|
break;
|
|
case 4:
|
|
break;
|
|
}
|
|
swagCounter += 1;
|
|
},5);
|
|
}
|
|
,previousFrameTime: null
|
|
,lastReportedPlayheadPosition: null
|
|
,songTime: null
|
|
,startSong: function() {
|
|
this.startingSong = false;
|
|
this.previousFrameTime = flixel_FlxG.game.ticks;
|
|
this.lastReportedPlayheadPosition = 0;
|
|
if(!this.paused) {
|
|
flixel_FlxG.sound.playMusic("assets/music/" + PlayState.SONG.song + "_Inst" + TitleState.soundExt,1,false);
|
|
}
|
|
flixel_FlxG.sound.music.onComplete = $bind(this,this.endSong);
|
|
this.vocals.play();
|
|
}
|
|
,debugNum: null
|
|
,generateSong: function(dataPath) {
|
|
var songData = PlayState.SONG;
|
|
Conductor.changeBPM(songData.bpm);
|
|
this.curSong = songData.song;
|
|
if(PlayState.SONG.needsVoices) {
|
|
this.vocals = new flixel_system_FlxSound().loadEmbedded("assets/music/" + this.curSong + "_Voices" + TitleState.soundExt);
|
|
} else {
|
|
this.vocals = new flixel_system_FlxSound();
|
|
}
|
|
flixel_FlxG.sound.list.add(this.vocals);
|
|
this.notes = new flixel_group_FlxTypedGroup();
|
|
this.add(this.notes);
|
|
var noteData = songData.notes;
|
|
var playerCounter = 0;
|
|
var daBeats = 0;
|
|
var _g = 0;
|
|
while(_g < noteData.length) {
|
|
var section = noteData[_g];
|
|
++_g;
|
|
var coolSection = section.lengthInSteps / 4 | 0;
|
|
var _g1 = 0;
|
|
var _g2 = section.sectionNotes;
|
|
while(_g1 < _g2.length) {
|
|
var songNotes = _g2[_g1];
|
|
++_g1;
|
|
var daStrumTime = songNotes[0];
|
|
var daNoteData = songNotes[1] % 4 | 0;
|
|
var gottaHitNote = section.mustHitSection;
|
|
if(songNotes[1] > 3) {
|
|
gottaHitNote = !section.mustHitSection;
|
|
}
|
|
var oldNote;
|
|
if(this.unspawnNotes.length > 0) {
|
|
oldNote = this.unspawnNotes[this.unspawnNotes.length - 1 | 0];
|
|
} else {
|
|
oldNote = null;
|
|
}
|
|
var swagNote = new Note(daStrumTime,daNoteData,oldNote);
|
|
swagNote.sustainLength = songNotes[2];
|
|
swagNote.scrollFactor.set(0,0);
|
|
var susLength = swagNote.sustainLength;
|
|
susLength /= Conductor.stepCrochet;
|
|
this.unspawnNotes.push(swagNote);
|
|
var _g3 = 0;
|
|
var _g4 = Math.floor(susLength);
|
|
while(_g3 < _g4) {
|
|
var susNote = _g3++;
|
|
oldNote = this.unspawnNotes[this.unspawnNotes.length - 1 | 0];
|
|
var sustainNote = new Note(daStrumTime + Conductor.stepCrochet * susNote + Conductor.stepCrochet,daNoteData,oldNote,true);
|
|
sustainNote.scrollFactor.set();
|
|
this.unspawnNotes.push(sustainNote);
|
|
sustainNote.mustPress = gottaHitNote;
|
|
if(sustainNote.mustPress) {
|
|
var _g5 = sustainNote;
|
|
_g5.set_x(_g5.x + flixel_FlxG.width / 2);
|
|
}
|
|
}
|
|
swagNote.mustPress = gottaHitNote;
|
|
if(swagNote.mustPress) {
|
|
var _g6 = swagNote;
|
|
_g6.set_x(_g6.x + flixel_FlxG.width / 2);
|
|
}
|
|
}
|
|
++daBeats;
|
|
}
|
|
this.unspawnNotes.sort($bind(this,this.sortByShit));
|
|
this.generatedMusic = true;
|
|
}
|
|
,sortByShit: function(Obj1,Obj2) {
|
|
var Value1 = Obj1.strumTime;
|
|
var Value2 = Obj2.strumTime;
|
|
var result = 0;
|
|
if(Value1 < Value2) {
|
|
result = -1;
|
|
} else if(Value1 > Value2) {
|
|
result = 1;
|
|
}
|
|
return result;
|
|
}
|
|
,generateStaticArrows: function(player) {
|
|
var _g = 0;
|
|
while(_g < 4) {
|
|
var i = _g++;
|
|
var babyArrow = new flixel_FlxSprite(0,this.strumLine.y);
|
|
switch(PlayState.curStage) {
|
|
case "school":case "schoolEvil":
|
|
babyArrow.loadGraphic("assets/images/weeb/pixelUI/arrows-pixels.png",true,17,17);
|
|
babyArrow.animation.add("green",[6]);
|
|
babyArrow.animation.add("red",[7]);
|
|
babyArrow.animation.add("blue",[5]);
|
|
babyArrow.animation.add("purplel",[4]);
|
|
babyArrow.setGraphicSize(babyArrow.get_width() * PlayState.daPixelZoom | 0);
|
|
babyArrow.updateHitbox();
|
|
babyArrow.set_antialiasing(false);
|
|
switch(Math.abs(i)) {
|
|
case 0:
|
|
var _g1 = babyArrow;
|
|
_g1.set_x(_g1.x + Note.swagWidth * 0);
|
|
babyArrow.animation.add("static",[0]);
|
|
babyArrow.animation.add("pressed",[4,8],12,false);
|
|
babyArrow.animation.add("confirm",[12,16],24,false);
|
|
break;
|
|
case 1:
|
|
var _g2 = babyArrow;
|
|
_g2.set_x(_g2.x + Note.swagWidth);
|
|
babyArrow.animation.add("static",[1]);
|
|
babyArrow.animation.add("pressed",[5,9],12,false);
|
|
babyArrow.animation.add("confirm",[13,17],24,false);
|
|
break;
|
|
case 2:
|
|
var _g3 = babyArrow;
|
|
_g3.set_x(_g3.x + Note.swagWidth * 2);
|
|
babyArrow.animation.add("static",[2]);
|
|
babyArrow.animation.add("pressed",[6,10],12,false);
|
|
babyArrow.animation.add("confirm",[14,18],12,false);
|
|
break;
|
|
case 3:
|
|
var _g4 = babyArrow;
|
|
_g4.set_x(_g4.x + Note.swagWidth * 3);
|
|
babyArrow.animation.add("static",[3]);
|
|
babyArrow.animation.add("pressed",[7,11],12,false);
|
|
babyArrow.animation.add("confirm",[15,19],24,false);
|
|
break;
|
|
}
|
|
break;
|
|
default:
|
|
babyArrow.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/NOTE_assets.png","assets/images/NOTE_assets.xml"));
|
|
babyArrow.animation.addByPrefix("green","arrowUP");
|
|
babyArrow.animation.addByPrefix("blue","arrowDOWN");
|
|
babyArrow.animation.addByPrefix("purple","arrowLEFT");
|
|
babyArrow.animation.addByPrefix("red","arrowRIGHT");
|
|
babyArrow.set_antialiasing(true);
|
|
babyArrow.setGraphicSize(babyArrow.get_width() * 0.7 | 0);
|
|
switch(Math.abs(i)) {
|
|
case 0:
|
|
var _g5 = babyArrow;
|
|
_g5.set_x(_g5.x + Note.swagWidth * 0);
|
|
babyArrow.animation.addByPrefix("static","arrowLEFT");
|
|
babyArrow.animation.addByPrefix("pressed","left press",24,false);
|
|
babyArrow.animation.addByPrefix("confirm","left confirm",24,false);
|
|
break;
|
|
case 1:
|
|
var _g6 = babyArrow;
|
|
_g6.set_x(_g6.x + Note.swagWidth);
|
|
babyArrow.animation.addByPrefix("static","arrowDOWN");
|
|
babyArrow.animation.addByPrefix("pressed","down press",24,false);
|
|
babyArrow.animation.addByPrefix("confirm","down confirm",24,false);
|
|
break;
|
|
case 2:
|
|
var _g7 = babyArrow;
|
|
_g7.set_x(_g7.x + Note.swagWidth * 2);
|
|
babyArrow.animation.addByPrefix("static","arrowUP");
|
|
babyArrow.animation.addByPrefix("pressed","up press",24,false);
|
|
babyArrow.animation.addByPrefix("confirm","up confirm",24,false);
|
|
break;
|
|
case 3:
|
|
var _g8 = babyArrow;
|
|
_g8.set_x(_g8.x + Note.swagWidth * 3);
|
|
babyArrow.animation.addByPrefix("static","arrowRIGHT");
|
|
babyArrow.animation.addByPrefix("pressed","right press",24,false);
|
|
babyArrow.animation.addByPrefix("confirm","right confirm",24,false);
|
|
break;
|
|
}
|
|
}
|
|
babyArrow.updateHitbox();
|
|
babyArrow.scrollFactor.set();
|
|
if(!PlayState.isStoryMode) {
|
|
var _g9 = babyArrow;
|
|
_g9.set_y(_g9.y - 10);
|
|
babyArrow.set_alpha(0);
|
|
flixel_tweens_FlxTween.tween(babyArrow,{ y : babyArrow.y + 10, alpha : 1},1,{ ease : flixel_tweens_FlxEase.circOut, startDelay : 0.5 + 0.2 * i});
|
|
}
|
|
babyArrow.ID = i;
|
|
if(player == 1) {
|
|
this.playerStrums.add(babyArrow);
|
|
}
|
|
babyArrow.animation.play("static");
|
|
var _g10 = babyArrow;
|
|
_g10.set_x(_g10.x + 50);
|
|
var _g11 = babyArrow;
|
|
_g11.set_x(_g11.x + flixel_FlxG.width / 2 * player);
|
|
this.strumLineNotes.add(babyArrow);
|
|
}
|
|
}
|
|
,tweenCamIn: function() {
|
|
flixel_tweens_FlxTween.tween(flixel_FlxG.camera,{ zoom : 1.3},Conductor.stepCrochet * 4 / 1000,{ ease : flixel_tweens_FlxEase.elasticInOut});
|
|
}
|
|
,openSubState: function(SubState) {
|
|
if(this.paused) {
|
|
if(flixel_FlxG.sound.music != null) {
|
|
flixel_FlxG.sound.music.pause();
|
|
this.vocals.pause();
|
|
}
|
|
if(!this.startTimer.finished) {
|
|
this.startTimer.active = false;
|
|
}
|
|
}
|
|
MusicBeatState.prototype.openSubState.call(this,SubState);
|
|
}
|
|
,closeSubState: function() {
|
|
if(this.paused) {
|
|
if(flixel_FlxG.sound.music != null && !this.startingSong) {
|
|
this.resyncVocals();
|
|
}
|
|
if(!this.startTimer.finished) {
|
|
this.startTimer.active = true;
|
|
}
|
|
this.paused = false;
|
|
}
|
|
MusicBeatState.prototype.closeSubState.call(this);
|
|
}
|
|
,resyncVocals: function() {
|
|
this.vocals.pause();
|
|
flixel_FlxG.sound.music.play();
|
|
Conductor.songPosition = flixel_FlxG.sound.music._time;
|
|
this.vocals.set_time(Conductor.songPosition);
|
|
this.vocals.play();
|
|
}
|
|
,paused: null
|
|
,startedCountdown: null
|
|
,canPause: null
|
|
,update: function(elapsed) {
|
|
var _gthis = this;
|
|
this.perfectMode = false;
|
|
var _this = flixel_FlxG.keys.justPressed;
|
|
if(_this.keyManager.checkStatus(57,_this.status)) {
|
|
if(this.iconP1.animation._curAnim.name == "bf-old") {
|
|
this.iconP1.animation.play(PlayState.SONG.player1);
|
|
} else {
|
|
this.iconP1.animation.play("bf-old");
|
|
}
|
|
}
|
|
if(PlayState.curStage == "philly") {
|
|
if(this.trainMoving) {
|
|
this.trainFrameTiming += elapsed;
|
|
if(this.trainFrameTiming >= 0.041666666666666664) {
|
|
this.updateTrainPos();
|
|
this.trainFrameTiming = 0;
|
|
}
|
|
}
|
|
}
|
|
MusicBeatState.prototype.update.call(this,elapsed);
|
|
this.scoreTxt.set_text("Score:" + this.songScore);
|
|
var _this = flixel_FlxG.keys.justPressed;
|
|
if(_this.keyManager.checkStatus(13,_this.status) && this.startedCountdown && this.canPause) {
|
|
this.persistentUpdate = false;
|
|
this.persistentDraw = true;
|
|
this.paused = true;
|
|
this.openSubState(new PauseSubState(this.boyfriend.getScreenPosition().x,this.boyfriend.getScreenPosition().y));
|
|
}
|
|
var _this = flixel_FlxG.keys.justPressed;
|
|
if(_this.keyManager.checkStatus(55,_this.status)) {
|
|
var nextState = new ChartingState();
|
|
if(flixel_FlxG.game._state.switchTo(nextState)) {
|
|
flixel_FlxG.game._requestedState = nextState;
|
|
}
|
|
}
|
|
this.iconP1.setGraphicSize(150 + 0.50 * (this.iconP1.get_width() - 150) | 0);
|
|
this.iconP2.setGraphicSize(150 + 0.50 * (this.iconP2.get_width() - 150) | 0);
|
|
this.iconP1.updateHitbox();
|
|
this.iconP2.updateHitbox();
|
|
var iconOffset = 26;
|
|
this.iconP1.set_x(this.healthBar.x + (this.healthBar.get_width() * (flixel_math_FlxMath.remapToRange(this.healthBar.get_percent(),0,100,100,0) * 0.01) - iconOffset));
|
|
this.iconP2.set_x(this.healthBar.x + this.healthBar.get_width() * (flixel_math_FlxMath.remapToRange(this.healthBar.get_percent(),0,100,100,0) * 0.01) - (this.iconP2.get_width() - iconOffset));
|
|
if(this.health > 2) {
|
|
this.health = 2;
|
|
}
|
|
if(this.healthBar.get_percent() < 20) {
|
|
this.iconP1.animation._curAnim.set_curFrame(1);
|
|
} else {
|
|
this.iconP1.animation._curAnim.set_curFrame(0);
|
|
}
|
|
if(this.healthBar.get_percent() > 80) {
|
|
this.iconP2.animation._curAnim.set_curFrame(1);
|
|
} else {
|
|
this.iconP2.animation._curAnim.set_curFrame(0);
|
|
}
|
|
if(this.startingSong) {
|
|
if(this.startedCountdown) {
|
|
Conductor.songPosition += flixel_FlxG.elapsed * 1000;
|
|
if(Conductor.songPosition >= 0) {
|
|
this.startSong();
|
|
}
|
|
}
|
|
} else {
|
|
Conductor.songPosition += flixel_FlxG.elapsed * 1000;
|
|
if(!this.paused) {
|
|
this.songTime += flixel_FlxG.game.ticks - this.previousFrameTime;
|
|
this.previousFrameTime = flixel_FlxG.game.ticks;
|
|
if(Conductor.lastSongPos != Conductor.songPosition) {
|
|
this.songTime = (this.songTime + Conductor.songPosition) / 2;
|
|
Conductor.lastSongPos = Conductor.songPosition;
|
|
}
|
|
}
|
|
}
|
|
if(this.generatedMusic && PlayState.SONG.notes[this.curStep / 16 | 0] != null) {
|
|
var tmp = this.curBeat % 4 == 0;
|
|
if(this.camFollow.x != this.dad.getMidpoint().x + 150 && !PlayState.SONG.notes[this.curStep / 16 | 0].mustHitSection) {
|
|
this.camFollow.setPosition(this.dad.getMidpoint().x + 150,this.dad.getMidpoint().y - 100);
|
|
switch(this.dad.curCharacter) {
|
|
case "mom":
|
|
this.camFollow.set_y(this.dad.getMidpoint().y);
|
|
break;
|
|
case "senpai":
|
|
this.camFollow.set_y(this.dad.getMidpoint().y - 430);
|
|
this.camFollow.set_x(this.dad.getMidpoint().x - 100);
|
|
break;
|
|
case "senpai-angry":
|
|
this.camFollow.set_y(this.dad.getMidpoint().y - 430);
|
|
this.camFollow.set_x(this.dad.getMidpoint().x - 100);
|
|
break;
|
|
}
|
|
if(this.dad.curCharacter == "mom") {
|
|
this.vocals.set_volume(1);
|
|
}
|
|
if(PlayState.SONG.song.toLowerCase() == "tutorial") {
|
|
this.tweenCamIn();
|
|
}
|
|
}
|
|
if(PlayState.SONG.notes[this.curStep / 16 | 0].mustHitSection && this.camFollow.x != this.boyfriend.getMidpoint().x - 100) {
|
|
this.camFollow.setPosition(this.boyfriend.getMidpoint().x - 100,this.boyfriend.getMidpoint().y - 100);
|
|
switch(PlayState.curStage) {
|
|
case "limo":
|
|
this.camFollow.set_x(this.boyfriend.getMidpoint().x - 300);
|
|
break;
|
|
case "mall":
|
|
this.camFollow.set_y(this.boyfriend.getMidpoint().y - 200);
|
|
break;
|
|
case "school":
|
|
this.camFollow.set_x(this.boyfriend.getMidpoint().x - 200);
|
|
this.camFollow.set_y(this.boyfriend.getMidpoint().y - 200);
|
|
break;
|
|
case "schoolEvil":
|
|
this.camFollow.set_x(this.boyfriend.getMidpoint().x - 200);
|
|
this.camFollow.set_y(this.boyfriend.getMidpoint().y - 200);
|
|
break;
|
|
}
|
|
if(PlayState.SONG.song.toLowerCase() == "tutorial") {
|
|
flixel_tweens_FlxTween.tween(flixel_FlxG.camera,{ zoom : 1},Conductor.stepCrochet * 4 / 1000,{ ease : flixel_tweens_FlxEase.elasticInOut});
|
|
}
|
|
}
|
|
}
|
|
if(this.camZooming) {
|
|
var a = this.defaultCamZoom;
|
|
flixel_FlxG.camera.set_zoom(a + 0.95 * (flixel_FlxG.camera.zoom - a));
|
|
this.camHUD.set_zoom(1 + 0.95 * (this.camHUD.zoom - 1));
|
|
}
|
|
if(this.curSong == "Fresh") {
|
|
switch(this.curBeat) {
|
|
case 16:
|
|
this.camZooming = true;
|
|
this.gfSpeed = 2;
|
|
break;
|
|
case 48:
|
|
this.gfSpeed = 1;
|
|
break;
|
|
case 80:
|
|
this.gfSpeed = 2;
|
|
break;
|
|
case 112:
|
|
this.gfSpeed = 1;
|
|
break;
|
|
case 163:
|
|
break;
|
|
}
|
|
}
|
|
if(this.curSong == "Bopeebo") {
|
|
switch(this.curBeat) {
|
|
case 128:case 129:case 130:
|
|
this.vocals.set_volume(0);
|
|
break;
|
|
}
|
|
}
|
|
if(PlayerSettings.player1.controls._reset.check()) {
|
|
this.health = 0;
|
|
haxe_Log.trace("RESET = True",{ fileName : "source/PlayState.hx", lineNumber : 1452, className : "PlayState", methodName : "update"});
|
|
}
|
|
if(PlayerSettings.player1.controls._cheat.check()) {
|
|
this.health += 1;
|
|
haxe_Log.trace("User is cheating!",{ fileName : "source/PlayState.hx", lineNumber : 1459, className : "PlayState", methodName : "update"});
|
|
}
|
|
if(this.health <= 0) {
|
|
this.boyfriend.stunned = true;
|
|
this.persistentUpdate = false;
|
|
this.persistentDraw = false;
|
|
this.paused = true;
|
|
var _this = this.vocals;
|
|
_this.cleanup(_this.autoDestroy,true);
|
|
var _this = flixel_FlxG.sound.music;
|
|
_this.cleanup(_this.autoDestroy,true);
|
|
var Chance = 0.1;
|
|
if(Chance == null) {
|
|
Chance = 50;
|
|
}
|
|
if(flixel_FlxG.random.float(0,100) < Chance) {
|
|
var nextState = new GitarooPause();
|
|
if(flixel_FlxG.game._state.switchTo(nextState)) {
|
|
flixel_FlxG.game._requestedState = nextState;
|
|
}
|
|
} else {
|
|
this.openSubState(new GameOverSubstate(this.boyfriend.getScreenPosition().x,this.boyfriend.getScreenPosition().y));
|
|
}
|
|
}
|
|
if(this.unspawnNotes[0] != null) {
|
|
if(this.unspawnNotes[0].strumTime - Conductor.songPosition < 1500) {
|
|
var dunceNote = this.unspawnNotes[0];
|
|
this.notes.add(dunceNote);
|
|
var index = this.unspawnNotes.indexOf(dunceNote);
|
|
this.unspawnNotes.splice(index,1);
|
|
}
|
|
}
|
|
if(this.generatedMusic) {
|
|
this.notes.forEachAlive(function(daNote) {
|
|
if(daNote.y > flixel_FlxG.height) {
|
|
daNote.set_active(false);
|
|
daNote.set_visible(false);
|
|
} else {
|
|
daNote.set_visible(true);
|
|
daNote.set_active(true);
|
|
}
|
|
daNote.set_y(_gthis.strumLine.y - (Conductor.songPosition - daNote.strumTime) * (0.45 * flixel_math_FlxMath.roundDecimal(PlayState.SONG.speed,2)));
|
|
if(daNote.isSustainNote && daNote.y + daNote.offset.y <= _gthis.strumLine.y + Note.swagWidth / 2 && (!daNote.mustPress || (daNote.wasGoodHit || daNote.prevNote.wasGoodHit && !daNote.canBeHit))) {
|
|
var swagRect = new flixel_math_FlxRect(0,_gthis.strumLine.y + Note.swagWidth / 2 - daNote.y,daNote.get_width() * 2,daNote.get_height() * 2);
|
|
swagRect.y /= daNote.scale.y;
|
|
swagRect.height -= swagRect.y;
|
|
daNote.set_clipRect(swagRect);
|
|
}
|
|
if(!daNote.mustPress && daNote.wasGoodHit) {
|
|
if(PlayState.SONG.song != "Tutorial") {
|
|
_gthis.camZooming = true;
|
|
}
|
|
var altAnim = "";
|
|
if(PlayState.SONG.notes[Math.floor(_gthis.curStep / 16)] != null) {
|
|
if(PlayState.SONG.notes[Math.floor(_gthis.curStep / 16)].altAnim) {
|
|
altAnim = "-alt";
|
|
}
|
|
}
|
|
switch(Math.abs(daNote.noteData)) {
|
|
case 0:
|
|
_gthis.dad.playAnim("singLEFT" + altAnim,true);
|
|
break;
|
|
case 1:
|
|
_gthis.dad.playAnim("singDOWN" + altAnim,true);
|
|
break;
|
|
case 2:
|
|
_gthis.dad.playAnim("singUP" + altAnim,true);
|
|
break;
|
|
case 3:
|
|
_gthis.dad.playAnim("singRIGHT" + altAnim,true);
|
|
break;
|
|
}
|
|
_gthis.dad.holdTimer = 0;
|
|
if(PlayState.SONG.needsVoices) {
|
|
_gthis.vocals.set_volume(1);
|
|
}
|
|
daNote.kill();
|
|
_gthis.notes.remove(daNote,true);
|
|
daNote.destroy();
|
|
}
|
|
if(daNote.y < -daNote.get_height()) {
|
|
if(daNote.isSustainNote && daNote.wasGoodHit) {
|
|
daNote.kill();
|
|
_gthis.notes.remove(daNote,true);
|
|
daNote.destroy();
|
|
} else {
|
|
if(daNote.tooLate || !daNote.wasGoodHit) {
|
|
_gthis.health -= 0.0475;
|
|
_gthis.vocals.set_volume(0);
|
|
}
|
|
daNote.set_active(false);
|
|
daNote.set_visible(false);
|
|
daNote.kill();
|
|
_gthis.notes.remove(daNote,true);
|
|
daNote.destroy();
|
|
}
|
|
}
|
|
});
|
|
}
|
|
if(!this.inCutscene) {
|
|
this.keyShit();
|
|
}
|
|
}
|
|
,endSong: function() {
|
|
this.canPause = false;
|
|
flixel_FlxG.sound.music.set_volume(0);
|
|
this.vocals.set_volume(0);
|
|
if(PlayState.SONG.validScore) {
|
|
Highscore.saveScore(PlayState.SONG.song,this.songScore,PlayState.storyDifficulty);
|
|
}
|
|
if(PlayState.isStoryMode) {
|
|
PlayState.campaignScore += this.songScore;
|
|
HxOverrides.remove(PlayState.storyPlaylist,PlayState.storyPlaylist[0]);
|
|
if(PlayState.storyPlaylist.length <= 0) {
|
|
flixel_FlxG.sound.playMusic("assets/music/freakyMenu" + TitleState.soundExt);
|
|
this.transIn = flixel_addons_transition_FlxTransitionableState.defaultTransIn;
|
|
this.transOut = flixel_addons_transition_FlxTransitionableState.defaultTransOut;
|
|
var nextState = new StoryMenuState();
|
|
if(flixel_FlxG.game._state.switchTo(nextState)) {
|
|
flixel_FlxG.game._requestedState = nextState;
|
|
}
|
|
StoryMenuState.weekUnlocked[Math.min(PlayState.storyWeek + 1,StoryMenuState.weekUnlocked.length - 1) | 0] = true;
|
|
if(PlayState.SONG.validScore) {
|
|
if(NGio.isLoggedIn) {
|
|
var medal = io_newgrounds_NG.core.medals.h[60961];
|
|
if(!medal._data.unlocked) {
|
|
medal.sendUnlock();
|
|
}
|
|
}
|
|
Highscore.saveWeekScore(PlayState.storyWeek,PlayState.campaignScore,PlayState.storyDifficulty);
|
|
}
|
|
flixel_FlxG.save.data.weekUnlocked = StoryMenuState.weekUnlocked;
|
|
flixel_FlxG.save.flush();
|
|
} else {
|
|
var difficulty = "";
|
|
if(PlayState.storyDifficulty == 0) {
|
|
difficulty = "-easy";
|
|
}
|
|
if(PlayState.storyDifficulty == 2) {
|
|
difficulty = "-hard";
|
|
}
|
|
haxe_Log.trace("LOADING NEXT SONG",{ fileName : "source/PlayState.hx", lineNumber : 1649, className : "PlayState", methodName : "endSong"});
|
|
haxe_Log.trace(PlayState.storyPlaylist[0].toLowerCase() + difficulty,{ fileName : "source/PlayState.hx", lineNumber : 1650, className : "PlayState", methodName : "endSong"});
|
|
if(PlayState.SONG.song.toLowerCase() == "eggnog") {
|
|
var blackShit = new flixel_FlxSprite(-flixel_FlxG.width * flixel_FlxG.camera.zoom,-flixel_FlxG.height * flixel_FlxG.camera.zoom).makeGraphic(flixel_FlxG.width * 3,flixel_FlxG.height * 3,-16777216);
|
|
blackShit.scrollFactor.set();
|
|
this.add(blackShit);
|
|
this.camHUD.set_visible(false);
|
|
flixel_FlxG.sound.play("assets/sounds/Lights_Shut_off" + TitleState.soundExt);
|
|
}
|
|
flixel_addons_transition_FlxTransitionableState.skipNextTransIn = true;
|
|
flixel_addons_transition_FlxTransitionableState.skipNextTransOut = true;
|
|
PlayState.prevCamFollow = this.camFollow;
|
|
PlayState.SONG = Song.loadFromJson(PlayState.storyPlaylist[0].toLowerCase() + difficulty,PlayState.storyPlaylist[0]);
|
|
var _this = flixel_FlxG.sound.music;
|
|
_this.cleanup(_this.autoDestroy,true);
|
|
var nextState = new PlayState();
|
|
if(flixel_FlxG.game._state.switchTo(nextState)) {
|
|
flixel_FlxG.game._requestedState = nextState;
|
|
}
|
|
}
|
|
} else {
|
|
haxe_Log.trace("WENT BACK TO FREEPLAY??",{ fileName : "source/PlayState.hx", lineNumber : 1675, className : "PlayState", methodName : "endSong"});
|
|
var nextState = new FreeplayState();
|
|
if(flixel_FlxG.game._state.switchTo(nextState)) {
|
|
flixel_FlxG.game._requestedState = nextState;
|
|
}
|
|
}
|
|
}
|
|
,endingSong: null
|
|
,popUpScore: function(strumtime) {
|
|
var noteDiff = Math.abs(strumtime - Conductor.songPosition);
|
|
this.vocals.set_volume(1);
|
|
var placement = Std.string(this.combo);
|
|
var coolText = new flixel_text_FlxText(0,0,0,placement,32);
|
|
coolText.screenCenter();
|
|
coolText.set_x(flixel_FlxG.width * 0.55);
|
|
var rating = new flixel_FlxSprite();
|
|
var score = 350;
|
|
var daRating = "sick";
|
|
if(noteDiff > Conductor.safeZoneOffset * 0.9) {
|
|
daRating = "shit";
|
|
score = 50;
|
|
} else if(noteDiff > Conductor.safeZoneOffset * 0.75) {
|
|
daRating = "bad";
|
|
score = 100;
|
|
} else if(noteDiff > Conductor.safeZoneOffset * 0.2) {
|
|
daRating = "good";
|
|
score = 200;
|
|
}
|
|
this.songScore += score;
|
|
var pixelShitPart1 = "";
|
|
var pixelShitPart2 = "";
|
|
if(StringTools.startsWith(PlayState.curStage,"school")) {
|
|
pixelShitPart1 = "weeb/pixelUI/";
|
|
pixelShitPart2 = "-pixel";
|
|
}
|
|
rating.loadGraphic("assets/images/" + pixelShitPart1 + daRating + pixelShitPart2 + ".png");
|
|
rating.screenCenter();
|
|
rating.set_x(coolText.x - 40);
|
|
var _g = rating;
|
|
_g.set_y(_g.y - 60);
|
|
rating.acceleration.set_y(550);
|
|
var _g = rating.velocity;
|
|
_g.set_y(_g.y - flixel_FlxG.random.int(140,175));
|
|
var _g = rating.velocity;
|
|
_g.set_x(_g.x - flixel_FlxG.random.int(0,10));
|
|
var comboSpr = new flixel_FlxSprite().loadGraphic("assets/images/" + pixelShitPart1 + "combo" + pixelShitPart2 + ".png");
|
|
comboSpr.screenCenter();
|
|
comboSpr.set_x(coolText.x);
|
|
comboSpr.acceleration.set_y(600);
|
|
var _g = comboSpr.velocity;
|
|
_g.set_y(_g.y - 150);
|
|
var _g = comboSpr.velocity;
|
|
_g.set_x(_g.x + flixel_FlxG.random.int(1,10));
|
|
this.add(rating);
|
|
if(!StringTools.startsWith(PlayState.curStage,"school")) {
|
|
rating.setGraphicSize(rating.get_width() * 0.7 | 0);
|
|
rating.set_antialiasing(true);
|
|
comboSpr.setGraphicSize(comboSpr.get_width() * 0.7 | 0);
|
|
comboSpr.set_antialiasing(true);
|
|
} else {
|
|
rating.setGraphicSize(rating.get_width() * PlayState.daPixelZoom * 0.7 | 0);
|
|
comboSpr.setGraphicSize(comboSpr.get_width() * PlayState.daPixelZoom * 0.7 | 0);
|
|
}
|
|
comboSpr.updateHitbox();
|
|
rating.updateHitbox();
|
|
var seperatedScore = [];
|
|
seperatedScore.push(Math.floor(this.combo / 100));
|
|
seperatedScore.push(Math.floor((this.combo - seperatedScore[0] * 100) / 10));
|
|
seperatedScore.push(this.combo % 10);
|
|
var daLoop = 0;
|
|
var _g = 0;
|
|
while(_g < seperatedScore.length) {
|
|
var i = seperatedScore[_g];
|
|
++_g;
|
|
var numScore = [new flixel_FlxSprite().loadGraphic("assets/images/" + pixelShitPart1 + "num" + (i | 0) + pixelShitPart2 + ".png")];
|
|
numScore[0].screenCenter();
|
|
numScore[0].set_x(coolText.x + 43 * daLoop - 90);
|
|
var _g1 = numScore[0];
|
|
_g1.set_y(_g1.y + 80);
|
|
if(!StringTools.startsWith(PlayState.curStage,"school")) {
|
|
numScore[0].set_antialiasing(true);
|
|
numScore[0].setGraphicSize(numScore[0].get_width() * 0.5 | 0);
|
|
} else {
|
|
numScore[0].setGraphicSize(numScore[0].get_width() * PlayState.daPixelZoom | 0);
|
|
}
|
|
numScore[0].updateHitbox();
|
|
numScore[0].acceleration.set_y(flixel_FlxG.random.int(200,300));
|
|
var _g2 = numScore[0].velocity;
|
|
_g2.set_y(_g2.y - flixel_FlxG.random.int(140,160));
|
|
numScore[0].velocity.set_x(flixel_FlxG.random.float(-5,5));
|
|
if(this.combo >= 10 || this.combo == 0) {
|
|
this.add(numScore[0]);
|
|
}
|
|
flixel_tweens_FlxTween.tween(numScore[0],{ alpha : 0},0.2,{ onComplete : (function(numScore) {
|
|
return function(tween) {
|
|
numScore[0].destroy();
|
|
};
|
|
})(numScore), startDelay : Conductor.crochet * 0.002});
|
|
++daLoop;
|
|
}
|
|
coolText.set_text(Std.string(seperatedScore));
|
|
flixel_tweens_FlxTween.tween(rating,{ alpha : 0},0.2,{ startDelay : Conductor.crochet * 0.001});
|
|
flixel_tweens_FlxTween.tween(comboSpr,{ alpha : 0},0.2,{ onComplete : function(tween) {
|
|
coolText.destroy();
|
|
comboSpr.destroy();
|
|
rating.destroy();
|
|
}, startDelay : Conductor.crochet * 0.001});
|
|
this.curSection += 1;
|
|
}
|
|
,keyShit: function() {
|
|
var _gthis = this;
|
|
var up = PlayerSettings.player1.controls._up.check();
|
|
var right = PlayerSettings.player1.controls._right.check();
|
|
var down = PlayerSettings.player1.controls._down.check();
|
|
var left = PlayerSettings.player1.controls._left.check();
|
|
var upP = PlayerSettings.player1.controls._upP.check();
|
|
var rightP = PlayerSettings.player1.controls._rightP.check();
|
|
var downP = PlayerSettings.player1.controls._downP.check();
|
|
var leftP = PlayerSettings.player1.controls._leftP.check();
|
|
var upR = PlayerSettings.player1.controls._upR.check();
|
|
var rightR = PlayerSettings.player1.controls._rightR.check();
|
|
var downR = PlayerSettings.player1.controls._downR.check();
|
|
var leftR = PlayerSettings.player1.controls._leftR.check();
|
|
var controlArray = [leftP,downP,upP,rightP];
|
|
if((upP || rightP || downP || leftP) && !this.boyfriend.stunned && this.generatedMusic) {
|
|
this.boyfriend.holdTimer = 0;
|
|
var possibleNotes = [];
|
|
var ignoreList = [];
|
|
this.notes.forEachAlive(function(daNote) {
|
|
if(daNote.canBeHit && daNote.mustPress && !daNote.tooLate) {
|
|
possibleNotes.push(daNote);
|
|
possibleNotes.sort(function(a,b) {
|
|
return a.strumTime - b.strumTime | 0;
|
|
});
|
|
ignoreList.push(daNote.noteData);
|
|
}
|
|
});
|
|
if(possibleNotes.length > 0) {
|
|
var daNote = possibleNotes[0];
|
|
if(this.perfectMode) {
|
|
this.noteCheck(true,daNote);
|
|
}
|
|
if(possibleNotes.length >= 2) {
|
|
if(possibleNotes[0].strumTime == possibleNotes[1].strumTime) {
|
|
var _g = 0;
|
|
while(_g < possibleNotes.length) {
|
|
var coolNote = possibleNotes[_g];
|
|
++_g;
|
|
if(controlArray[coolNote.noteData]) {
|
|
this.goodNoteHit(coolNote);
|
|
} else {
|
|
var inIgnoreList = false;
|
|
var _g1 = 0;
|
|
var _g2 = ignoreList.length;
|
|
while(_g1 < _g2) {
|
|
var shit = _g1++;
|
|
if(controlArray[ignoreList[shit]]) {
|
|
inIgnoreList = true;
|
|
}
|
|
}
|
|
if(!inIgnoreList) {
|
|
this.badNoteCheck();
|
|
}
|
|
}
|
|
}
|
|
} else if(possibleNotes[0].noteData == possibleNotes[1].noteData) {
|
|
this.noteCheck(controlArray[daNote.noteData],daNote);
|
|
} else {
|
|
var _g = 0;
|
|
while(_g < possibleNotes.length) {
|
|
var coolNote = possibleNotes[_g];
|
|
++_g;
|
|
this.noteCheck(controlArray[coolNote.noteData],coolNote);
|
|
}
|
|
}
|
|
} else {
|
|
this.noteCheck(controlArray[daNote.noteData],daNote);
|
|
}
|
|
if(daNote.wasGoodHit) {
|
|
daNote.kill();
|
|
this.notes.remove(daNote,true);
|
|
daNote.destroy();
|
|
}
|
|
} else {
|
|
this.badNoteCheck();
|
|
}
|
|
}
|
|
if((up || right || down || left) && !this.boyfriend.stunned && this.generatedMusic) {
|
|
this.notes.forEachAlive(function(daNote) {
|
|
if(daNote.canBeHit && daNote.mustPress && daNote.isSustainNote) {
|
|
switch(daNote.noteData) {
|
|
case 0:
|
|
if(left) {
|
|
_gthis.goodNoteHit(daNote);
|
|
}
|
|
break;
|
|
case 1:
|
|
if(down) {
|
|
_gthis.goodNoteHit(daNote);
|
|
}
|
|
break;
|
|
case 2:
|
|
if(up) {
|
|
_gthis.goodNoteHit(daNote);
|
|
}
|
|
break;
|
|
case 3:
|
|
if(right) {
|
|
_gthis.goodNoteHit(daNote);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
});
|
|
}
|
|
if(this.boyfriend.holdTimer > Conductor.stepCrochet * 4 * 0.001 && !up && !down && !right && !left) {
|
|
if(StringTools.startsWith(this.boyfriend.animation._curAnim.name,"sing") && !StringTools.endsWith(this.boyfriend.animation._curAnim.name,"miss")) {
|
|
this.boyfriend.playAnim("idle");
|
|
}
|
|
}
|
|
this.playerStrums.forEach(function(spr) {
|
|
switch(spr.ID) {
|
|
case 0:
|
|
if(leftP && spr.animation._curAnim.name != "confirm") {
|
|
spr.animation.play("pressed");
|
|
}
|
|
if(leftR) {
|
|
spr.animation.play("static");
|
|
}
|
|
break;
|
|
case 1:
|
|
if(downP && spr.animation._curAnim.name != "confirm") {
|
|
spr.animation.play("pressed");
|
|
}
|
|
if(downR) {
|
|
spr.animation.play("static");
|
|
}
|
|
break;
|
|
case 2:
|
|
if(upP && spr.animation._curAnim.name != "confirm") {
|
|
spr.animation.play("pressed");
|
|
}
|
|
if(upR) {
|
|
spr.animation.play("static");
|
|
}
|
|
break;
|
|
case 3:
|
|
if(rightP && spr.animation._curAnim.name != "confirm") {
|
|
spr.animation.play("pressed");
|
|
}
|
|
if(rightR) {
|
|
spr.animation.play("static");
|
|
}
|
|
break;
|
|
}
|
|
if(spr.animation._curAnim.name == "confirm" && !StringTools.startsWith(PlayState.curStage,"school")) {
|
|
spr.centerOffsets();
|
|
var _g = spr.offset;
|
|
_g.set_x(_g.x - 13);
|
|
var _g = spr.offset;
|
|
_g.set_y(_g.y - 13);
|
|
} else {
|
|
spr.centerOffsets();
|
|
}
|
|
});
|
|
}
|
|
,noteMiss: function(direction) {
|
|
if(direction == null) {
|
|
direction = 1;
|
|
}
|
|
var _gthis = this;
|
|
if(!this.boyfriend.stunned) {
|
|
this.health -= 0.04;
|
|
if(this.combo > 5) {
|
|
this.gf.playAnim("sad");
|
|
}
|
|
this.combo = 0;
|
|
this.songScore -= 10;
|
|
flixel_FlxG.sound.play("assets/sounds/missnote" + flixel_FlxG.random.int(1,3) + TitleState.soundExt,flixel_FlxG.random.float(0.1,0.2));
|
|
this.boyfriend.stunned = true;
|
|
new flixel_util_FlxTimer().start(0.083333333333333329,function(tmr) {
|
|
_gthis.boyfriend.stunned = false;
|
|
});
|
|
switch(direction) {
|
|
case 0:
|
|
this.boyfriend.playAnim("singLEFTmiss",true);
|
|
break;
|
|
case 1:
|
|
this.boyfriend.playAnim("singDOWNmiss",true);
|
|
break;
|
|
case 2:
|
|
this.boyfriend.playAnim("singUPmiss",true);
|
|
break;
|
|
case 3:
|
|
this.boyfriend.playAnim("singRIGHTmiss",true);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
,badNoteCheck: function() {
|
|
var upP = PlayerSettings.player1.controls._upP.check();
|
|
var rightP = PlayerSettings.player1.controls._rightP.check();
|
|
var downP = PlayerSettings.player1.controls._downP.check();
|
|
var leftP = PlayerSettings.player1.controls._leftP.check();
|
|
if(leftP) {
|
|
this.noteMiss(0);
|
|
}
|
|
if(downP) {
|
|
this.noteMiss(1);
|
|
}
|
|
if(upP) {
|
|
this.noteMiss(2);
|
|
}
|
|
if(rightP) {
|
|
this.noteMiss(3);
|
|
}
|
|
}
|
|
,noteCheck: function(keyP,note) {
|
|
if(keyP) {
|
|
this.goodNoteHit(note);
|
|
} else {
|
|
this.badNoteCheck();
|
|
}
|
|
}
|
|
,goodNoteHit: function(note) {
|
|
if(!note.wasGoodHit) {
|
|
if(!note.isSustainNote) {
|
|
this.popUpScore(note.strumTime);
|
|
this.combo += 1;
|
|
}
|
|
if(note.noteData >= 0) {
|
|
this.health += 0.023;
|
|
} else {
|
|
this.health += 0.004;
|
|
}
|
|
switch(note.noteData) {
|
|
case 0:
|
|
this.boyfriend.playAnim("singLEFT",true);
|
|
break;
|
|
case 1:
|
|
this.boyfriend.playAnim("singDOWN",true);
|
|
break;
|
|
case 2:
|
|
this.boyfriend.playAnim("singUP",true);
|
|
break;
|
|
case 3:
|
|
this.boyfriend.playAnim("singRIGHT",true);
|
|
break;
|
|
}
|
|
this.playerStrums.forEach(function(spr) {
|
|
if(Math.abs(note.noteData) == spr.ID) {
|
|
spr.animation.play("confirm",true);
|
|
}
|
|
});
|
|
note.wasGoodHit = true;
|
|
this.vocals.set_volume(1);
|
|
if(!note.isSustainNote) {
|
|
note.kill();
|
|
this.notes.remove(note,true);
|
|
note.destroy();
|
|
}
|
|
}
|
|
}
|
|
,fastCarCanDrive: null
|
|
,resetFastCar: function() {
|
|
this.fastCar.set_x(-12600);
|
|
this.fastCar.set_y(flixel_FlxG.random.int(140,250));
|
|
this.fastCar.velocity.set_x(0);
|
|
this.fastCarCanDrive = true;
|
|
}
|
|
,fastCarDrive: function() {
|
|
var _gthis = this;
|
|
flixel_FlxG.sound.play("assets/sounds/carPass" + flixel_FlxG.random.int(0,1) + TitleState.soundExt,0.7);
|
|
this.fastCar.velocity.set_x(flixel_FlxG.random.int(170,220) / flixel_FlxG.elapsed * 3);
|
|
this.fastCarCanDrive = false;
|
|
new flixel_util_FlxTimer().start(2,function(tmr) {
|
|
_gthis.resetFastCar();
|
|
});
|
|
}
|
|
,trainMoving: null
|
|
,trainFrameTiming: null
|
|
,trainCars: null
|
|
,trainFinishing: null
|
|
,trainCooldown: null
|
|
,trainStart: function() {
|
|
this.trainMoving = true;
|
|
if(this.trainSound._channel == null) {
|
|
this.trainSound.play(true);
|
|
}
|
|
}
|
|
,startedMoving: null
|
|
,updateTrainPos: function() {
|
|
if(this.trainSound._time >= 4700) {
|
|
this.startedMoving = true;
|
|
this.gf.playAnim("hairBlow");
|
|
}
|
|
if(this.startedMoving) {
|
|
var _g = this.phillyTrain;
|
|
_g.set_x(_g.x - 400);
|
|
if(this.phillyTrain.x < -2000 && !this.trainFinishing) {
|
|
this.phillyTrain.set_x(-1150);
|
|
this.trainCars -= 1;
|
|
if(this.trainCars <= 0) {
|
|
this.trainFinishing = true;
|
|
}
|
|
}
|
|
if(this.phillyTrain.x < -4000 && this.trainFinishing) {
|
|
this.trainReset();
|
|
}
|
|
}
|
|
}
|
|
,trainReset: function() {
|
|
this.gf.playAnim("hairFall");
|
|
this.phillyTrain.set_x(flixel_FlxG.width + 200);
|
|
this.trainMoving = false;
|
|
this.trainCars = 8;
|
|
this.trainFinishing = false;
|
|
this.startedMoving = false;
|
|
}
|
|
,lightningStrikeShit: function() {
|
|
flixel_FlxG.sound.play("assets/sounds/thunder_" + flixel_FlxG.random.int(1,2) + TitleState.soundExt);
|
|
this.halloweenBG.animation.play("lightning");
|
|
this.lightningStrikeBeat = this.curBeat;
|
|
this.lightningOffset = flixel_FlxG.random.int(8,24);
|
|
this.boyfriend.playAnim("scared",true);
|
|
this.gf.playAnim("scared",true);
|
|
}
|
|
,stepHit: function() {
|
|
MusicBeatState.prototype.stepHit.call(this);
|
|
if(PlayState.SONG.needsVoices) {
|
|
if(this.vocals._time > Conductor.songPosition + 20 || this.vocals._time < Conductor.songPosition - 20) {
|
|
this.resyncVocals();
|
|
}
|
|
}
|
|
var tmp = this.dad.curCharacter == "spooky" && this.curStep % 4 == 2;
|
|
}
|
|
,lightningStrikeBeat: null
|
|
,lightningOffset: null
|
|
,beatHit: function() {
|
|
MusicBeatState.prototype.beatHit.call(this);
|
|
if(this.generatedMusic) {
|
|
var Order = 1;
|
|
if(Order == null) {
|
|
Order = -1;
|
|
}
|
|
var _g = flixel_util_FlxSort.byY;
|
|
var a1 = Order;
|
|
var tmp = function(a2,a3) {
|
|
return _g(a1,a2,a3);
|
|
};
|
|
this.notes.members.sort(tmp);
|
|
}
|
|
if(PlayState.SONG.notes[Math.floor(this.curStep / 16)] != null) {
|
|
if(PlayState.SONG.notes[Math.floor(this.curStep / 16)].changeBPM) {
|
|
Conductor.changeBPM(PlayState.SONG.notes[Math.floor(this.curStep / 16)].bpm);
|
|
}
|
|
if(PlayState.SONG.notes[Math.floor(this.curStep / 16)].mustHitSection) {
|
|
this.dad.dance();
|
|
}
|
|
}
|
|
this.wiggleShit.update(Conductor.crochet);
|
|
if(this.curSong.toLowerCase() == "milf" && this.curBeat >= 168 && this.curBeat < 200 && this.camZooming && flixel_FlxG.camera.zoom < 1.35) {
|
|
var _g1 = flixel_FlxG.camera;
|
|
_g1.set_zoom(_g1.zoom + 0.015);
|
|
var _g1 = this.camHUD;
|
|
_g1.set_zoom(_g1.zoom + 0.03);
|
|
}
|
|
if(this.camZooming && flixel_FlxG.camera.zoom < 1.35 && this.curBeat % 4 == 0) {
|
|
var _g1 = flixel_FlxG.camera;
|
|
_g1.set_zoom(_g1.zoom + 0.015);
|
|
var _g1 = this.camHUD;
|
|
_g1.set_zoom(_g1.zoom + 0.03);
|
|
}
|
|
this.iconP1.setGraphicSize(this.iconP1.get_width() + 30 | 0);
|
|
this.iconP2.setGraphicSize(this.iconP2.get_width() + 30 | 0);
|
|
this.iconP1.updateHitbox();
|
|
this.iconP2.updateHitbox();
|
|
if(this.curBeat % this.gfSpeed == 0) {
|
|
this.gf.dance();
|
|
}
|
|
if(!StringTools.startsWith(this.boyfriend.animation._curAnim.name,"sing")) {
|
|
this.boyfriend.playAnim("idle");
|
|
}
|
|
if(this.curBeat % 8 == 7 && this.curSong == "Bopeebo") {
|
|
this.boyfriend.playAnim("hey",true);
|
|
if(PlayState.SONG.song == "Tutorial" && this.dad.curCharacter == "gf") {
|
|
this.dad.playAnim("cheer",true);
|
|
}
|
|
}
|
|
switch(PlayState.curStage) {
|
|
case "limo":
|
|
this.grpLimoDancers.forEach(function(dancer) {
|
|
dancer.dance();
|
|
});
|
|
var Chance = 10;
|
|
if(Chance == null) {
|
|
Chance = 50;
|
|
}
|
|
if(flixel_FlxG.random.float(0,100) < Chance && this.fastCarCanDrive) {
|
|
this.fastCarDrive();
|
|
}
|
|
break;
|
|
case "mall":
|
|
this.upperBoppers.animation.play("bop",true);
|
|
this.bottomBoppers.animation.play("bop",true);
|
|
this.santa.animation.play("idle",true);
|
|
break;
|
|
case "philly":
|
|
if(!this.trainMoving) {
|
|
this.trainCooldown += 1;
|
|
}
|
|
if(this.curBeat % 4 == 0) {
|
|
this.phillyCityLights.forEach(function(light) {
|
|
light.set_visible(false);
|
|
});
|
|
this.curLight = flixel_FlxG.random.int(0,this.phillyCityLights.length - 1);
|
|
this.phillyCityLights.members[this.curLight].set_visible(true);
|
|
}
|
|
var tmp;
|
|
if(this.curBeat % 8 == 4) {
|
|
var Chance = 30;
|
|
if(Chance == null) {
|
|
Chance = 50;
|
|
}
|
|
tmp = flixel_FlxG.random.float(0,100) < Chance;
|
|
} else {
|
|
tmp = false;
|
|
}
|
|
if(tmp && !this.trainMoving && this.trainCooldown > 8) {
|
|
this.trainCooldown = flixel_FlxG.random.int(-4,0);
|
|
this.trainStart();
|
|
}
|
|
break;
|
|
case "school":
|
|
this.bgGirls.dance();
|
|
break;
|
|
}
|
|
var tmp;
|
|
if(this.isHalloween) {
|
|
var Chance = 10;
|
|
if(Chance == null) {
|
|
Chance = 50;
|
|
}
|
|
tmp = flixel_FlxG.random.float(0,100) < Chance;
|
|
} else {
|
|
tmp = false;
|
|
}
|
|
if(tmp && this.curBeat > this.lightningStrikeBeat + this.lightningOffset) {
|
|
this.lightningStrikeShit();
|
|
}
|
|
}
|
|
,curLight: null
|
|
,__class__: PlayState
|
|
});
|
|
var PlayerSettings = function(id,scheme) {
|
|
this.id = id;
|
|
this.controls = new Controls("player" + id,scheme);
|
|
};
|
|
$hxClasses["PlayerSettings"] = PlayerSettings;
|
|
PlayerSettings.__name__ = "PlayerSettings";
|
|
PlayerSettings.player1 = null;
|
|
PlayerSettings.player2 = null;
|
|
PlayerSettings.init = function() {
|
|
if(PlayerSettings.player1 == null) {
|
|
PlayerSettings.player1 = new PlayerSettings(0,KeyboardScheme.Solo);
|
|
++PlayerSettings.numPlayers;
|
|
}
|
|
var numGamepads = flixel_FlxG.gamepads.get_numActiveGamepads();
|
|
if(numGamepads > 0) {
|
|
var gamepad = flixel_FlxG.gamepads._activeGamepads[0];
|
|
if(gamepad == null) {
|
|
throw haxe_Exception.thrown("Unexpected null gamepad. id:0");
|
|
}
|
|
PlayerSettings.player1.controls.addDefaultGamepad(0);
|
|
}
|
|
if(numGamepads > 1) {
|
|
if(PlayerSettings.player2 == null) {
|
|
PlayerSettings.player2 = new PlayerSettings(1,KeyboardScheme.None);
|
|
++PlayerSettings.numPlayers;
|
|
}
|
|
var gamepad = flixel_FlxG.gamepads._activeGamepads[1];
|
|
if(gamepad == null) {
|
|
throw haxe_Exception.thrown("Unexpected null gamepad. id:0");
|
|
}
|
|
PlayerSettings.player2.controls.addDefaultGamepad(1);
|
|
}
|
|
};
|
|
PlayerSettings.reset = function() {
|
|
PlayerSettings.player1 = null;
|
|
PlayerSettings.player2 = null;
|
|
PlayerSettings.numPlayers = 0;
|
|
};
|
|
PlayerSettings.prototype = {
|
|
id: null
|
|
,controls: null
|
|
,setKeyboardScheme: function(scheme) {
|
|
this.controls.setKeyboardScheme(scheme);
|
|
}
|
|
,__class__: PlayerSettings
|
|
};
|
|
var Reflect = function() { };
|
|
$hxClasses["Reflect"] = Reflect;
|
|
Reflect.__name__ = "Reflect";
|
|
Reflect.field = function(o,field) {
|
|
try {
|
|
return o[field];
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
return null;
|
|
}
|
|
};
|
|
Reflect.getProperty = function(o,field) {
|
|
var tmp;
|
|
if(o == null) {
|
|
return null;
|
|
} else {
|
|
var tmp1;
|
|
if(o.__properties__) {
|
|
tmp = o.__properties__["get_" + field];
|
|
tmp1 = tmp;
|
|
} else {
|
|
tmp1 = false;
|
|
}
|
|
if(tmp1) {
|
|
return o[tmp]();
|
|
} else {
|
|
return o[field];
|
|
}
|
|
}
|
|
};
|
|
Reflect.setProperty = function(o,field,value) {
|
|
var tmp;
|
|
var tmp1;
|
|
if(o.__properties__) {
|
|
tmp = o.__properties__["set_" + field];
|
|
tmp1 = tmp;
|
|
} else {
|
|
tmp1 = false;
|
|
}
|
|
if(tmp1) {
|
|
o[tmp](value);
|
|
} else {
|
|
o[field] = value;
|
|
}
|
|
};
|
|
Reflect.fields = function(o) {
|
|
var a = [];
|
|
if(o != null) {
|
|
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
for( var f in o ) {
|
|
if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) {
|
|
a.push(f);
|
|
}
|
|
}
|
|
}
|
|
return a;
|
|
};
|
|
Reflect.isFunction = function(f) {
|
|
if(typeof(f) == "function") {
|
|
return !(f.__name__ || f.__ename__);
|
|
} else {
|
|
return false;
|
|
}
|
|
};
|
|
Reflect.compare = function(a,b) {
|
|
if(a == b) {
|
|
return 0;
|
|
} else if(a > b) {
|
|
return 1;
|
|
} else {
|
|
return -1;
|
|
}
|
|
};
|
|
Reflect.compareMethods = function(f1,f2) {
|
|
if(f1 == f2) {
|
|
return true;
|
|
}
|
|
if(!Reflect.isFunction(f1) || !Reflect.isFunction(f2)) {
|
|
return false;
|
|
}
|
|
if(f1.scope == f2.scope && f1.method == f2.method) {
|
|
return f1.method != null;
|
|
} else {
|
|
return false;
|
|
}
|
|
};
|
|
Reflect.isObject = function(v) {
|
|
if(v == null) {
|
|
return false;
|
|
}
|
|
var t = typeof(v);
|
|
if(!(t == "string" || t == "object" && v.__enum__ == null)) {
|
|
if(t == "function") {
|
|
return (v.__name__ || v.__ename__) != null;
|
|
} else {
|
|
return false;
|
|
}
|
|
} else {
|
|
return true;
|
|
}
|
|
};
|
|
Reflect.isEnumValue = function(v) {
|
|
if(v != null) {
|
|
return v.__enum__ != null;
|
|
} else {
|
|
return false;
|
|
}
|
|
};
|
|
Reflect.deleteField = function(o,field) {
|
|
if(!Object.prototype.hasOwnProperty.call(o,field)) {
|
|
return false;
|
|
}
|
|
delete(o[field]);
|
|
return true;
|
|
};
|
|
Reflect.makeVarArgs = function(f) {
|
|
return function() {
|
|
var a = Array.prototype.slice;
|
|
var a1 = arguments;
|
|
var a2 = a.call(a1);
|
|
return f(a2);
|
|
};
|
|
};
|
|
var Section = function(lengthInSteps) {
|
|
if(lengthInSteps == null) {
|
|
lengthInSteps = 16;
|
|
}
|
|
this.mustHitSection = true;
|
|
this.typeOfSection = 0;
|
|
this.lengthInSteps = 16;
|
|
this.sectionNotes = [];
|
|
this.lengthInSteps = lengthInSteps;
|
|
};
|
|
$hxClasses["Section"] = Section;
|
|
Section.__name__ = "Section";
|
|
Section.prototype = {
|
|
sectionNotes: null
|
|
,lengthInSteps: null
|
|
,typeOfSection: null
|
|
,mustHitSection: null
|
|
,__class__: Section
|
|
};
|
|
var Song = function(song,notes,bpm) {
|
|
this.player2 = "dad";
|
|
this.player1 = "bf";
|
|
this.speed = 1;
|
|
this.needsVoices = true;
|
|
this.song = song;
|
|
this.notes = notes;
|
|
this.bpm = bpm;
|
|
};
|
|
$hxClasses["Song"] = Song;
|
|
Song.__name__ = "Song";
|
|
Song.loadFromJson = function(jsonInput,folder) {
|
|
var rawJson = StringTools.trim(lime_utils_Assets.getText("assets/data/" + folder.toLowerCase() + "/" + jsonInput.toLowerCase() + ".json"));
|
|
while(!StringTools.endsWith(rawJson,"}")) rawJson = HxOverrides.substr(rawJson,0,rawJson.length - 1);
|
|
return Song.parseJSONshit(rawJson);
|
|
};
|
|
Song.parseJSONshit = function(rawJson) {
|
|
var swagShit = JSON.parse(rawJson).song;
|
|
swagShit.validScore = true;
|
|
return swagShit;
|
|
};
|
|
Song.prototype = {
|
|
song: null
|
|
,notes: null
|
|
,bpm: null
|
|
,needsVoices: null
|
|
,speed: null
|
|
,player1: null
|
|
,player2: null
|
|
,__class__: Song
|
|
};
|
|
var Std = function() { };
|
|
$hxClasses["Std"] = Std;
|
|
Std.__name__ = "Std";
|
|
Std.string = function(s) {
|
|
return js_Boot.__string_rec(s,"");
|
|
};
|
|
Std.parseInt = function(x) {
|
|
if(x != null) {
|
|
var _g = 0;
|
|
var _g1 = x.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var c = x.charCodeAt(i);
|
|
if(c <= 8 || c >= 14 && c != 32 && c != 45) {
|
|
var nc = x.charCodeAt(i + 1);
|
|
var v = parseInt(x,nc == 120 || nc == 88 ? 16 : 10);
|
|
if(isNaN(v)) {
|
|
return null;
|
|
} else {
|
|
return v;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return null;
|
|
};
|
|
var StoryMenuState = function(TransIn,TransOut) {
|
|
this.intendedScore = 0;
|
|
this.lerpScore = 0;
|
|
this.stopspamming = false;
|
|
this.selectedWeek = false;
|
|
this.movedBack = false;
|
|
this.curWeek = 0;
|
|
this.weekNames = ["","Daddy Dearest","Spooky Month","PICO","MOMMY MUST MURDER","RED SNOW","hating simulator ft. moawling"];
|
|
this.weekCharacters = [["dad","bf","gf"],["dad","bf","gf"],["spooky","bf","gf"],["pico","bf","gf"],["mom","bf","gf"],["parents-christmas","bf","gf"],["senpai","bf","gf"]];
|
|
this.curDifficulty = 1;
|
|
this.weekData = [["Tutorial"],["Bopeebo","Fresh","Dadbattle"],["Spookeez","South"],["Pico","Philly","Blammed"],["Satin-Panties","High","Milf"],["Cocoa","Eggnog","Winter-Horrorland"],["Senpai","Roses","Thorns"]];
|
|
MusicBeatState.call(this,TransIn,TransOut);
|
|
};
|
|
$hxClasses["StoryMenuState"] = StoryMenuState;
|
|
StoryMenuState.__name__ = "StoryMenuState";
|
|
StoryMenuState.__super__ = MusicBeatState;
|
|
StoryMenuState.prototype = $extend(MusicBeatState.prototype,{
|
|
scoreText: null
|
|
,weekData: null
|
|
,curDifficulty: null
|
|
,weekCharacters: null
|
|
,weekNames: null
|
|
,txtWeekTitle: null
|
|
,curWeek: null
|
|
,txtTracklist: null
|
|
,grpWeekText: null
|
|
,grpWeekCharacters: null
|
|
,grpLocks: null
|
|
,difficultySelectors: null
|
|
,sprDifficulty: null
|
|
,leftArrow: null
|
|
,rightArrow: null
|
|
,create: function() {
|
|
this.transIn = flixel_addons_transition_FlxTransitionableState.defaultTransIn;
|
|
this.transOut = flixel_addons_transition_FlxTransitionableState.defaultTransOut;
|
|
if(flixel_FlxG.sound.music != null) {
|
|
if(flixel_FlxG.sound.music._channel == null) {
|
|
flixel_FlxG.sound.playMusic("assets/music/freakyMenu" + TitleState.soundExt);
|
|
}
|
|
}
|
|
this.persistentUpdate = this.persistentDraw = true;
|
|
this.scoreText = new flixel_text_FlxText(10,10,0,"SCORE: 49324858",36);
|
|
this.scoreText.setFormat("VCR OSD Mono",32);
|
|
this.txtWeekTitle = new flixel_text_FlxText(flixel_FlxG.width * 0.7,10,0,"",32);
|
|
this.txtWeekTitle.setFormat("VCR OSD Mono",32,-1,"right");
|
|
this.txtWeekTitle.set_alpha(0.7);
|
|
var rankText = new flixel_text_FlxText(0,10);
|
|
rankText.set_text("RANK: GREAT");
|
|
rankText.setFormat("assets/fonts/vcr.ttf",32);
|
|
rankText.set_size(this.scoreText._defaultFormat.size | 0);
|
|
rankText.screenCenter(flixel_util_FlxAxes.X);
|
|
var ui_tex = flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/campaign_menu_UI_assets.png","assets/images/campaign_menu_UI_assets.xml");
|
|
var yellowBG = new flixel_FlxSprite(0,56).makeGraphic(flixel_FlxG.width,400,-405679);
|
|
this.grpWeekText = new flixel_group_FlxTypedGroup();
|
|
this.add(this.grpWeekText);
|
|
var blackBarThingie = new flixel_FlxSprite().makeGraphic(flixel_FlxG.width,56,-16777216);
|
|
this.add(blackBarThingie);
|
|
this.grpWeekCharacters = new flixel_group_FlxTypedGroup();
|
|
this.grpLocks = new flixel_group_FlxTypedGroup();
|
|
this.add(this.grpLocks);
|
|
haxe_Log.trace("Line 70",{ fileName : "source/StoryMenuState.hx", lineNumber : 111, className : "StoryMenuState", methodName : "create"});
|
|
var _g = 0;
|
|
var _g1 = this.weekData.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var weekThing = new MenuItem(0,yellowBG.y + yellowBG.get_height() + 10,i);
|
|
var _g2 = weekThing;
|
|
_g2.set_y(_g2.y + (weekThing.get_height() + 20) * i);
|
|
weekThing.targetY = i;
|
|
this.grpWeekText.add(weekThing);
|
|
weekThing.screenCenter(flixel_util_FlxAxes.X);
|
|
weekThing.set_antialiasing(true);
|
|
if(!StoryMenuState.weekUnlocked[i]) {
|
|
var lock = new flixel_FlxSprite(weekThing.get_width() + 10 + weekThing.x);
|
|
lock.set_frames(ui_tex);
|
|
lock.animation.addByPrefix("lock","lock");
|
|
lock.animation.play("lock");
|
|
lock.ID = i;
|
|
lock.set_antialiasing(true);
|
|
this.grpLocks.add(lock);
|
|
}
|
|
}
|
|
haxe_Log.trace("Line 96",{ fileName : "source/StoryMenuState.hx", lineNumber : 137, className : "StoryMenuState", methodName : "create"});
|
|
var _g = 0;
|
|
while(_g < 3) {
|
|
var char = _g++;
|
|
var weekCharacterThing = new MenuCharacter(flixel_FlxG.width * 0.25 * (1 + char) - 150,this.weekCharacters[this.curWeek][char]);
|
|
var _g1 = weekCharacterThing;
|
|
_g1.set_y(_g1.y + 70);
|
|
weekCharacterThing.set_antialiasing(true);
|
|
switch(weekCharacterThing.character) {
|
|
case "bf":
|
|
weekCharacterThing.setGraphicSize(weekCharacterThing.get_width() * 0.9 | 0);
|
|
weekCharacterThing.updateHitbox();
|
|
var _g2 = weekCharacterThing;
|
|
_g2.set_x(_g2.x - 80);
|
|
break;
|
|
case "dad":
|
|
weekCharacterThing.setGraphicSize(weekCharacterThing.get_width() * 0.5 | 0);
|
|
weekCharacterThing.updateHitbox();
|
|
break;
|
|
case "gf":
|
|
weekCharacterThing.setGraphicSize(weekCharacterThing.get_width() * 0.5 | 0);
|
|
weekCharacterThing.updateHitbox();
|
|
break;
|
|
case "parents-christmas":
|
|
weekCharacterThing.setGraphicSize(weekCharacterThing.get_width() * 0.9 | 0);
|
|
weekCharacterThing.updateHitbox();
|
|
break;
|
|
case "pico":
|
|
weekCharacterThing.set_flipX(true);
|
|
break;
|
|
}
|
|
this.grpWeekCharacters.add(weekCharacterThing);
|
|
}
|
|
this.difficultySelectors = new flixel_group_FlxTypedGroup();
|
|
this.add(this.difficultySelectors);
|
|
haxe_Log.trace("Line 124",{ fileName : "source/StoryMenuState.hx", lineNumber : 170, className : "StoryMenuState", methodName : "create"});
|
|
this.leftArrow = new flixel_FlxSprite(this.grpWeekText.members[0].x + this.grpWeekText.members[0].get_width() + 10,this.grpWeekText.members[0].y + 10);
|
|
this.leftArrow.set_frames(ui_tex);
|
|
this.leftArrow.animation.addByPrefix("idle","arrow left");
|
|
this.leftArrow.animation.addByPrefix("press","arrow push left");
|
|
this.leftArrow.animation.play("idle");
|
|
this.difficultySelectors.add(this.leftArrow);
|
|
this.sprDifficulty = new flixel_FlxSprite(this.leftArrow.x + 130,this.leftArrow.y);
|
|
this.sprDifficulty.set_frames(ui_tex);
|
|
this.sprDifficulty.animation.addByPrefix("easy","EASY");
|
|
this.sprDifficulty.animation.addByPrefix("normal","NORMAL");
|
|
this.sprDifficulty.animation.addByPrefix("hard","HARD");
|
|
this.sprDifficulty.animation.play("easy");
|
|
this.changeDifficulty();
|
|
this.difficultySelectors.add(this.sprDifficulty);
|
|
this.rightArrow = new flixel_FlxSprite(this.sprDifficulty.x + this.sprDifficulty.get_width() + 50,this.leftArrow.y);
|
|
this.rightArrow.set_frames(ui_tex);
|
|
this.rightArrow.animation.addByPrefix("idle","arrow right");
|
|
this.rightArrow.animation.addByPrefix("press","arrow push right",24,false);
|
|
this.rightArrow.animation.play("idle");
|
|
this.difficultySelectors.add(this.rightArrow);
|
|
haxe_Log.trace("Line 150",{ fileName : "source/StoryMenuState.hx", lineNumber : 196, className : "StoryMenuState", methodName : "create"});
|
|
this.add(yellowBG);
|
|
this.add(this.grpWeekCharacters);
|
|
this.txtTracklist = new flixel_text_FlxText(flixel_FlxG.width * 0.05,yellowBG.x + yellowBG.get_height() + 100,0,"Tracks",32);
|
|
this.txtTracklist.set_alignment("center");
|
|
this.txtTracklist.set_font(rankText._font);
|
|
this.txtTracklist.set_color(-1747081);
|
|
this.add(this.txtTracklist);
|
|
this.add(this.scoreText);
|
|
this.add(this.txtWeekTitle);
|
|
this.updateText();
|
|
haxe_Log.trace("Line 165",{ fileName : "source/StoryMenuState.hx", lineNumber : 212, className : "StoryMenuState", methodName : "create"});
|
|
MusicBeatState.prototype.create.call(this);
|
|
}
|
|
,update: function(elapsed) {
|
|
var _gthis = this;
|
|
var a = this.lerpScore;
|
|
this.lerpScore = Math.floor(a + 0.5 * (this.intendedScore - a));
|
|
this.scoreText.set_text("WEEK SCORE:" + this.lerpScore);
|
|
this.txtWeekTitle.set_text(this.weekNames[this.curWeek].toUpperCase());
|
|
this.txtWeekTitle.set_x(flixel_FlxG.width - (this.txtWeekTitle.get_width() + 10));
|
|
this.difficultySelectors.set_visible(StoryMenuState.weekUnlocked[this.curWeek]);
|
|
this.grpLocks.forEach(function(lock) {
|
|
lock.set_y(_gthis.grpWeekText.members[lock.ID].y);
|
|
});
|
|
if(!this.movedBack) {
|
|
if(!this.selectedWeek) {
|
|
if(PlayerSettings.player1.controls._upP.check()) {
|
|
this.changeWeek(-1);
|
|
}
|
|
if(PlayerSettings.player1.controls._downP.check()) {
|
|
this.changeWeek(1);
|
|
}
|
|
if(PlayerSettings.player1.controls._right.check()) {
|
|
this.rightArrow.animation.play("press");
|
|
} else {
|
|
this.rightArrow.animation.play("idle");
|
|
}
|
|
if(PlayerSettings.player1.controls._left.check()) {
|
|
this.leftArrow.animation.play("press");
|
|
} else {
|
|
this.leftArrow.animation.play("idle");
|
|
}
|
|
if(PlayerSettings.player1.controls._rightP.check()) {
|
|
this.changeDifficulty(1);
|
|
}
|
|
if(PlayerSettings.player1.controls._leftP.check()) {
|
|
this.changeDifficulty(-1);
|
|
}
|
|
}
|
|
if(PlayerSettings.player1.controls._accept.check()) {
|
|
this.selectWeek();
|
|
}
|
|
}
|
|
if(PlayerSettings.player1.controls._back.check() && !this.movedBack && !this.selectedWeek) {
|
|
flixel_FlxG.sound.play("assets/sounds/cancelMenu" + TitleState.soundExt);
|
|
this.movedBack = true;
|
|
var nextState = new MainMenuState();
|
|
if(flixel_FlxG.game._state.switchTo(nextState)) {
|
|
flixel_FlxG.game._requestedState = nextState;
|
|
}
|
|
}
|
|
MusicBeatState.prototype.update.call(this,elapsed);
|
|
}
|
|
,movedBack: null
|
|
,selectedWeek: null
|
|
,stopspamming: null
|
|
,selectWeek: function() {
|
|
if(StoryMenuState.weekUnlocked[this.curWeek]) {
|
|
if(this.stopspamming == false) {
|
|
flixel_FlxG.sound.play("assets/sounds/confirmMenu" + TitleState.soundExt);
|
|
var _this = this.grpWeekText.members[this.curWeek].week.animation;
|
|
if(_this._curAnim != null) {
|
|
_this._curAnim.paused = false;
|
|
}
|
|
this.grpWeekCharacters.members[1].animation.play("bfConfirm");
|
|
this.stopspamming = true;
|
|
}
|
|
PlayState.storyPlaylist = this.weekData[this.curWeek];
|
|
PlayState.isStoryMode = true;
|
|
this.selectedWeek = true;
|
|
var diffic = "";
|
|
switch(this.curDifficulty) {
|
|
case 0:
|
|
diffic = "-easy";
|
|
break;
|
|
case 2:
|
|
diffic = "-hard";
|
|
break;
|
|
}
|
|
PlayState.storyDifficulty = this.curDifficulty;
|
|
PlayState.SONG = Song.loadFromJson(PlayState.storyPlaylist[0].toLowerCase() + diffic,PlayState.storyPlaylist[0].toLowerCase());
|
|
PlayState.storyWeek = this.curWeek;
|
|
PlayState.campaignScore = 0;
|
|
new flixel_util_FlxTimer().start(1,function(tmr) {
|
|
if(flixel_FlxG.sound.music != null) {
|
|
var _this = flixel_FlxG.sound.music;
|
|
_this.cleanup(_this.autoDestroy,true);
|
|
}
|
|
var nextState = new PlayState();
|
|
if(flixel_FlxG.game._state.switchTo(nextState)) {
|
|
flixel_FlxG.game._requestedState = nextState;
|
|
}
|
|
});
|
|
}
|
|
}
|
|
,changeDifficulty: function(change) {
|
|
if(change == null) {
|
|
change = 0;
|
|
}
|
|
this.curDifficulty += change;
|
|
if(this.curDifficulty < 0) {
|
|
this.curDifficulty = 2;
|
|
}
|
|
if(this.curDifficulty > 2) {
|
|
this.curDifficulty = 0;
|
|
}
|
|
this.sprDifficulty.offset.set_x(0);
|
|
switch(this.curDifficulty) {
|
|
case 0:
|
|
this.sprDifficulty.animation.play("easy");
|
|
this.sprDifficulty.offset.set_x(20);
|
|
break;
|
|
case 1:
|
|
this.sprDifficulty.animation.play("normal");
|
|
this.sprDifficulty.offset.set_x(70);
|
|
break;
|
|
case 2:
|
|
this.sprDifficulty.animation.play("hard");
|
|
this.sprDifficulty.offset.set_x(20);
|
|
break;
|
|
}
|
|
this.sprDifficulty.set_alpha(0);
|
|
this.sprDifficulty.set_y(this.leftArrow.y - 15);
|
|
this.intendedScore = Highscore.getWeekScore(this.curWeek,this.curDifficulty);
|
|
this.intendedScore = Highscore.getWeekScore(this.curWeek,this.curDifficulty);
|
|
flixel_tweens_FlxTween.tween(this.sprDifficulty,{ y : this.leftArrow.y + 15, alpha : 1},0.07);
|
|
}
|
|
,lerpScore: null
|
|
,intendedScore: null
|
|
,changeWeek: function(change) {
|
|
if(change == null) {
|
|
change = 0;
|
|
}
|
|
this.curWeek += change;
|
|
if(this.curWeek >= this.weekData.length) {
|
|
this.curWeek = 0;
|
|
}
|
|
if(this.curWeek < 0) {
|
|
this.curWeek = this.weekData.length - 1;
|
|
}
|
|
var bullShit = 0;
|
|
var _g = 0;
|
|
var _g1 = this.grpWeekText.members;
|
|
while(_g < _g1.length) {
|
|
var item = _g1[_g];
|
|
++_g;
|
|
item.targetY = bullShit - this.curWeek;
|
|
if(item.targetY == 0 && StoryMenuState.weekUnlocked[this.curWeek]) {
|
|
item.set_alpha(1);
|
|
} else {
|
|
item.set_alpha(0.6);
|
|
}
|
|
++bullShit;
|
|
}
|
|
flixel_FlxG.sound.play("assets/sounds/scrollMenu" + TitleState.soundExt);
|
|
this.updateText();
|
|
}
|
|
,updateText: function() {
|
|
this.grpWeekCharacters.members[0].animation.play(this.weekCharacters[this.curWeek][0]);
|
|
this.grpWeekCharacters.members[1].animation.play(this.weekCharacters[this.curWeek][1]);
|
|
this.grpWeekCharacters.members[2].animation.play(this.weekCharacters[this.curWeek][2]);
|
|
this.txtTracklist.set_text("Tracks\n");
|
|
switch(this.grpWeekCharacters.members[0].animation._curAnim.name) {
|
|
case "dad":
|
|
this.grpWeekCharacters.members[0].offset.set(120,200);
|
|
this.grpWeekCharacters.members[0].setGraphicSize(this.grpWeekCharacters.members[0].get_width() | 0);
|
|
break;
|
|
case "mom":
|
|
this.grpWeekCharacters.members[0].offset.set(100,200);
|
|
this.grpWeekCharacters.members[0].setGraphicSize(this.grpWeekCharacters.members[0].get_width() | 0);
|
|
break;
|
|
case "parents-christmas":
|
|
this.grpWeekCharacters.members[0].offset.set(200,200);
|
|
this.grpWeekCharacters.members[0].setGraphicSize(this.grpWeekCharacters.members[0].get_width() * 0.99 | 0);
|
|
break;
|
|
case "senpai":
|
|
this.grpWeekCharacters.members[0].offset.set(130,0);
|
|
this.grpWeekCharacters.members[0].setGraphicSize(this.grpWeekCharacters.members[0].get_width() * 1.4 | 0);
|
|
break;
|
|
default:
|
|
this.grpWeekCharacters.members[0].offset.set(100,100);
|
|
this.grpWeekCharacters.members[0].setGraphicSize(this.grpWeekCharacters.members[0].get_width() | 0);
|
|
}
|
|
var stringThing = this.weekData[this.curWeek];
|
|
var _g = 0;
|
|
while(_g < stringThing.length) {
|
|
var i = stringThing[_g];
|
|
++_g;
|
|
var _g1 = this.txtTracklist;
|
|
_g1.set_text(_g1.text + ("\n" + i));
|
|
}
|
|
this.txtTracklist.set_text(this.txtTracklist.text.toUpperCase());
|
|
this.txtTracklist.screenCenter(flixel_util_FlxAxes.X);
|
|
var _g = this.txtTracklist;
|
|
_g.set_x(_g.x - flixel_FlxG.width * 0.35);
|
|
this.intendedScore = Highscore.getWeekScore(this.curWeek,this.curDifficulty);
|
|
}
|
|
,__class__: StoryMenuState
|
|
});
|
|
var _$String_String_$Impl_$ = function() { };
|
|
$hxClasses["_String.String_Impl_"] = _$String_String_$Impl_$;
|
|
_$String_String_$Impl_$.__name__ = "_String.String_Impl_";
|
|
_$String_String_$Impl_$.fromCharCode = function(code) {
|
|
return String.fromCodePoint(code);
|
|
};
|
|
var StringBuf = function() {
|
|
this.b = "";
|
|
};
|
|
$hxClasses["StringBuf"] = StringBuf;
|
|
StringBuf.__name__ = "StringBuf";
|
|
StringBuf.prototype = {
|
|
b: null
|
|
,__class__: StringBuf
|
|
};
|
|
var StringTools = function() { };
|
|
$hxClasses["StringTools"] = StringTools;
|
|
StringTools.__name__ = "StringTools";
|
|
StringTools.htmlEscape = function(s,quotes) {
|
|
var buf_b = "";
|
|
var _g_offset = 0;
|
|
var _g_s = s;
|
|
while(_g_offset < _g_s.length) {
|
|
var s = _g_s;
|
|
var index = _g_offset++;
|
|
var c = s.charCodeAt(index);
|
|
if(c >= 55296 && c <= 56319) {
|
|
c = c - 55232 << 10 | s.charCodeAt(index + 1) & 1023;
|
|
}
|
|
var c1 = c;
|
|
if(c1 >= 65536) {
|
|
++_g_offset;
|
|
}
|
|
var code = c1;
|
|
switch(code) {
|
|
case 34:
|
|
if(quotes) {
|
|
buf_b += """;
|
|
} else {
|
|
buf_b += String.fromCodePoint(code);
|
|
}
|
|
break;
|
|
case 38:
|
|
buf_b += "&";
|
|
break;
|
|
case 39:
|
|
if(quotes) {
|
|
buf_b += "'";
|
|
} else {
|
|
buf_b += String.fromCodePoint(code);
|
|
}
|
|
break;
|
|
case 60:
|
|
buf_b += "<";
|
|
break;
|
|
case 62:
|
|
buf_b += ">";
|
|
break;
|
|
default:
|
|
buf_b += String.fromCodePoint(code);
|
|
}
|
|
}
|
|
return buf_b;
|
|
};
|
|
StringTools.startsWith = function(s,start) {
|
|
if(s.length >= start.length) {
|
|
return s.lastIndexOf(start,0) == 0;
|
|
} else {
|
|
return false;
|
|
}
|
|
};
|
|
StringTools.endsWith = function(s,end) {
|
|
var elen = end.length;
|
|
var slen = s.length;
|
|
if(slen >= elen) {
|
|
return s.indexOf(end,slen - elen) == slen - elen;
|
|
} else {
|
|
return false;
|
|
}
|
|
};
|
|
StringTools.isSpace = function(s,pos) {
|
|
var c = HxOverrides.cca(s,pos);
|
|
if(!(c > 8 && c < 14)) {
|
|
return c == 32;
|
|
} else {
|
|
return true;
|
|
}
|
|
};
|
|
StringTools.ltrim = function(s) {
|
|
var l = s.length;
|
|
var r = 0;
|
|
while(r < l && StringTools.isSpace(s,r)) ++r;
|
|
if(r > 0) {
|
|
return HxOverrides.substr(s,r,l - r);
|
|
} else {
|
|
return s;
|
|
}
|
|
};
|
|
StringTools.rtrim = function(s) {
|
|
var l = s.length;
|
|
var r = 0;
|
|
while(r < l && StringTools.isSpace(s,l - r - 1)) ++r;
|
|
if(r > 0) {
|
|
return HxOverrides.substr(s,0,l - r);
|
|
} else {
|
|
return s;
|
|
}
|
|
};
|
|
StringTools.trim = function(s) {
|
|
return StringTools.ltrim(StringTools.rtrim(s));
|
|
};
|
|
StringTools.replace = function(s,sub,by) {
|
|
return s.split(sub).join(by);
|
|
};
|
|
StringTools.hex = function(n,digits) {
|
|
var s = "";
|
|
var hexChars = "0123456789ABCDEF";
|
|
while(true) {
|
|
s = hexChars.charAt(n & 15) + s;
|
|
n >>>= 4;
|
|
if(!(n > 0)) {
|
|
break;
|
|
}
|
|
}
|
|
if(digits != null) {
|
|
while(s.length < digits) s = "0" + s;
|
|
}
|
|
return s;
|
|
};
|
|
var TitleState = function(TransIn,TransOut) {
|
|
this.skippedIntro = false;
|
|
this.transitioning = false;
|
|
this.danceLeft = false;
|
|
this.curWacky = [];
|
|
MusicBeatState.call(this,TransIn,TransOut);
|
|
};
|
|
$hxClasses["TitleState"] = TitleState;
|
|
TitleState.__name__ = "TitleState";
|
|
TitleState.__super__ = MusicBeatState;
|
|
TitleState.prototype = $extend(MusicBeatState.prototype,{
|
|
blackScreen: null
|
|
,credGroup: null
|
|
,credTextShit: null
|
|
,textGroup: null
|
|
,ngSpr: null
|
|
,curWacky: null
|
|
,wackyImage: null
|
|
,create: function() {
|
|
var _gthis = this;
|
|
polymod_Polymod.init({ modRoot : "mods", dirs : ["introMod"]});
|
|
PlayerSettings.init();
|
|
this.curWacky = flixel_FlxG.random.getObject_Array_String(this.getIntroTextShit());
|
|
MusicBeatState.prototype.create.call(this);
|
|
NGio.noLogin(APIStuff.API);
|
|
flixel_FlxG.save.bind("funkin","ninjamuffin99");
|
|
Highscore.load();
|
|
if(flixel_FlxG.save.data.weekUnlocked != null) {
|
|
if(StoryMenuState.weekUnlocked.length < 4) {
|
|
StoryMenuState.weekUnlocked.splice(0,0,true);
|
|
}
|
|
if(!StoryMenuState.weekUnlocked[0]) {
|
|
StoryMenuState.weekUnlocked[0] = true;
|
|
}
|
|
}
|
|
new flixel_util_FlxTimer().start(1,function(tmr) {
|
|
_gthis.startIntro();
|
|
});
|
|
}
|
|
,logoBl: null
|
|
,gfDance: null
|
|
,danceLeft: null
|
|
,titleText: null
|
|
,startIntro: function() {
|
|
if(!TitleState.initialized) {
|
|
var diamond = flixel_graphics_FlxGraphic.fromClass(flixel_addons_transition_GraphicTransTileDiamond);
|
|
diamond.persist = true;
|
|
diamond.set_destroyOnNoUse(false);
|
|
flixel_addons_transition_FlxTransitionableState.defaultTransIn = new flixel_addons_transition_TransitionData("fade",-16777216,1,new flixel_math_FlxPoint(0,-1),{ asset : diamond, width : 32, height : 32},new flixel_math_FlxRect(-200,-200,flixel_FlxG.width * 1.4,flixel_FlxG.height * 1.4));
|
|
flixel_addons_transition_FlxTransitionableState.defaultTransOut = new flixel_addons_transition_TransitionData("fade",-16777216,0.7,new flixel_math_FlxPoint(0,1),{ asset : diamond, width : 32, height : 32},new flixel_math_FlxRect(-200,-200,flixel_FlxG.width * 1.4,flixel_FlxG.height * 1.4));
|
|
this.transIn = flixel_addons_transition_FlxTransitionableState.defaultTransIn;
|
|
this.transOut = flixel_addons_transition_FlxTransitionableState.defaultTransOut;
|
|
flixel_FlxG.sound.playMusic("assets/music/freakyMenu" + TitleState.soundExt,0);
|
|
var _this = flixel_FlxG.sound.music;
|
|
var Duration = 4;
|
|
var From = 0;
|
|
var To = 0.7;
|
|
if(To == null) {
|
|
To = 1;
|
|
}
|
|
if(From == null) {
|
|
From = 0;
|
|
}
|
|
if(Duration == null) {
|
|
Duration = 1;
|
|
}
|
|
if(_this._channel == null) {
|
|
_this.play();
|
|
}
|
|
if(_this.fadeTween != null) {
|
|
_this.fadeTween.cancel();
|
|
}
|
|
_this.fadeTween = flixel_tweens_FlxTween.num(From,To,Duration,{ onComplete : null},$bind(_this,_this.volumeTween));
|
|
}
|
|
Conductor.changeBPM(102);
|
|
this.persistentUpdate = true;
|
|
var bg = new flixel_FlxSprite().makeGraphic(flixel_FlxG.width,flixel_FlxG.height,-16777216);
|
|
this.add(bg);
|
|
this.logoBl = new flixel_FlxSprite(-150,-100);
|
|
this.logoBl.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/logoBumpin.png","assets/images/logoBumpin.xml"));
|
|
this.logoBl.set_antialiasing(true);
|
|
this.logoBl.animation.addByPrefix("bump","logo bumpin",24);
|
|
this.logoBl.animation.play("bump");
|
|
this.logoBl.updateHitbox();
|
|
this.gfDance = new flixel_FlxSprite(flixel_FlxG.width * 0.4,flixel_FlxG.height * 0.07);
|
|
this.gfDance.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/gfDanceTitle.png","assets/images/gfDanceTitle.xml"));
|
|
this.gfDance.animation.addByIndices("danceLeft","gfDance",[30,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14],"",24,false);
|
|
this.gfDance.animation.addByIndices("danceRight","gfDance",[15,16,17,18,19,20,21,22,23,24,25,26,27,28,29],"",24,false);
|
|
this.gfDance.set_antialiasing(true);
|
|
this.add(this.gfDance);
|
|
this.add(this.logoBl);
|
|
this.titleText = new flixel_FlxSprite(100,flixel_FlxG.height * 0.8);
|
|
this.titleText.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow("assets/images/titleEnter.png","assets/images/titleEnter.xml"));
|
|
this.titleText.animation.addByPrefix("idle","Press Enter to Begin",24);
|
|
this.titleText.animation.addByPrefix("press","ENTER PRESSED",24);
|
|
this.titleText.set_antialiasing(true);
|
|
this.titleText.animation.play("idle");
|
|
this.titleText.updateHitbox();
|
|
this.add(this.titleText);
|
|
var logo = new flixel_FlxSprite().loadGraphic("assets/images/logo.png");
|
|
logo.screenCenter();
|
|
logo.set_antialiasing(true);
|
|
this.credGroup = new flixel_group_FlxTypedGroup();
|
|
this.add(this.credGroup);
|
|
this.textGroup = new flixel_group_FlxTypedGroup();
|
|
this.blackScreen = new flixel_FlxSprite().makeGraphic(flixel_FlxG.width,flixel_FlxG.height,-16777216);
|
|
this.credGroup.add(this.blackScreen);
|
|
this.credTextShit = new Alphabet(0,0,"ninjamuffin99\nPhantomArcade\nkawaisprite\nevilsk8er",true);
|
|
this.credTextShit.screenCenter();
|
|
this.credTextShit.set_visible(false);
|
|
this.ngSpr = new flixel_FlxSprite(0,flixel_FlxG.height * 0.52).loadGraphic("assets/images/newgrounds_logo.png");
|
|
this.add(this.ngSpr);
|
|
this.ngSpr.set_visible(false);
|
|
this.ngSpr.setGraphicSize(this.ngSpr.get_width() * 0.8 | 0);
|
|
this.ngSpr.updateHitbox();
|
|
this.ngSpr.screenCenter(flixel_util_FlxAxes.X);
|
|
this.ngSpr.set_antialiasing(true);
|
|
flixel_tweens_FlxTween.tween(this.credTextShit,{ y : this.credTextShit.y + 20},2.9,{ ease : flixel_tweens_FlxEase.quadInOut, type : 4});
|
|
flixel_FlxG.mouse.set_visible(false);
|
|
if(TitleState.initialized) {
|
|
this.skipIntro();
|
|
} else {
|
|
TitleState.initialized = true;
|
|
}
|
|
}
|
|
,getIntroTextShit: function() {
|
|
var fullText = openfl_utils_Assets.getText("assets/data/introText.txt");
|
|
var firstArray = fullText.split("\n");
|
|
var swagGoodArray = [];
|
|
var _g = 0;
|
|
while(_g < firstArray.length) {
|
|
var i = firstArray[_g];
|
|
++_g;
|
|
swagGoodArray.push(i.split("--"));
|
|
}
|
|
return swagGoodArray;
|
|
}
|
|
,transitioning: null
|
|
,update: function(elapsed) {
|
|
if(flixel_FlxG.sound.music != null) {
|
|
Conductor.songPosition = flixel_FlxG.sound.music._time;
|
|
}
|
|
var _this = flixel_FlxG.keys.justPressed;
|
|
if(_this.keyManager.checkStatus(70,_this.status)) {
|
|
flixel_FlxG.set_fullscreen(!flixel_FlxG.get_fullscreen());
|
|
}
|
|
var _this = flixel_FlxG.keys.justPressed;
|
|
var pressedEnter = _this.keyManager.checkStatus(13,_this.status);
|
|
var gamepad = flixel_FlxG.gamepads.lastActive;
|
|
if(gamepad != null) {
|
|
var _this = gamepad.justPressed;
|
|
var id = 7;
|
|
var _this1 = _this.gamepad;
|
|
var Status = _this.status;
|
|
var tmp;
|
|
switch(id) {
|
|
case -2:
|
|
tmp = _this1.anyButton(Status);
|
|
break;
|
|
case -1:
|
|
tmp = !_this1.anyButton(Status);
|
|
break;
|
|
default:
|
|
var RawID = _this1.mapping.getRawID(id);
|
|
var button = _this1.buttons[RawID];
|
|
tmp = button != null && button.hasState(Status);
|
|
}
|
|
if(tmp) {
|
|
pressedEnter = true;
|
|
}
|
|
}
|
|
if(pressedEnter && !this.transitioning && this.skippedIntro) {
|
|
if(NGio.isLoggedIn) {
|
|
var medal = io_newgrounds_NG.core.medals.h[60960];
|
|
if(!medal._data.unlocked) {
|
|
medal.sendUnlock();
|
|
}
|
|
}
|
|
if(new Date().getDay() == 5) {
|
|
if(NGio.isLoggedIn) {
|
|
var medal = io_newgrounds_NG.core.medals.h[61034];
|
|
if(!medal._data.unlocked) {
|
|
medal.sendUnlock();
|
|
}
|
|
}
|
|
}
|
|
this.titleText.animation.play("press");
|
|
flixel_FlxG.camera.flash(-1,1);
|
|
flixel_FlxG.sound.play("assets/sounds/confirmMenu" + TitleState.soundExt,0.7);
|
|
this.transitioning = true;
|
|
new flixel_util_FlxTimer().start(2,function(tmr) {
|
|
var nextState = new MainMenuState();
|
|
if(flixel_FlxG.game._state.switchTo(nextState)) {
|
|
flixel_FlxG.game._requestedState = nextState;
|
|
}
|
|
});
|
|
}
|
|
if(pressedEnter && !this.skippedIntro) {
|
|
this.skipIntro();
|
|
}
|
|
MusicBeatState.prototype.update.call(this,elapsed);
|
|
}
|
|
,createCoolText: function(textArray) {
|
|
var _g = 0;
|
|
var _g1 = textArray.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var money = new Alphabet(0,0,textArray[i],true,false);
|
|
money.screenCenter(flixel_util_FlxAxes.X);
|
|
var _g2 = money;
|
|
_g2.set_y(_g2.y + (i * 60 + 200));
|
|
this.credGroup.add(money);
|
|
this.textGroup.add(money);
|
|
}
|
|
}
|
|
,addMoreText: function(text) {
|
|
var coolText = new Alphabet(0,0,text,true,false);
|
|
coolText.screenCenter(flixel_util_FlxAxes.X);
|
|
var _g = coolText;
|
|
_g.set_y(_g.y + (this.textGroup.length * 60 + 200));
|
|
this.credGroup.add(coolText);
|
|
this.textGroup.add(coolText);
|
|
}
|
|
,deleteCoolText: function() {
|
|
while(this.textGroup.members.length > 0) {
|
|
this.credGroup.remove(this.textGroup.members[0],true);
|
|
this.textGroup.remove(this.textGroup.members[0],true);
|
|
}
|
|
}
|
|
,beatHit: function() {
|
|
MusicBeatState.prototype.beatHit.call(this);
|
|
this.logoBl.animation.play("bump");
|
|
this.danceLeft = !this.danceLeft;
|
|
if(this.danceLeft) {
|
|
this.gfDance.animation.play("danceRight");
|
|
} else {
|
|
this.gfDance.animation.play("danceLeft");
|
|
}
|
|
switch(this.curBeat) {
|
|
case 1:
|
|
this.createCoolText(["ninjamuffin99","phantomArcade","kawaisprite","evilsk8er"]);
|
|
break;
|
|
case 3:
|
|
this.addMoreText("present");
|
|
break;
|
|
case 4:
|
|
this.deleteCoolText();
|
|
break;
|
|
case 5:
|
|
this.createCoolText(["In association","with"]);
|
|
break;
|
|
case 7:
|
|
this.addMoreText("newgrounds");
|
|
this.ngSpr.set_visible(true);
|
|
break;
|
|
case 8:
|
|
this.deleteCoolText();
|
|
this.ngSpr.set_visible(false);
|
|
break;
|
|
case 9:
|
|
this.createCoolText([this.curWacky[0]]);
|
|
break;
|
|
case 11:
|
|
this.addMoreText(this.curWacky[1]);
|
|
break;
|
|
case 12:
|
|
this.deleteCoolText();
|
|
break;
|
|
case 13:
|
|
this.addMoreText("Friday");
|
|
break;
|
|
case 14:
|
|
this.addMoreText("Night");
|
|
break;
|
|
case 15:
|
|
this.addMoreText("Funkin");
|
|
break;
|
|
case 16:
|
|
this.skipIntro();
|
|
break;
|
|
}
|
|
}
|
|
,skippedIntro: null
|
|
,skipIntro: function() {
|
|
if(!this.skippedIntro) {
|
|
this.remove(this.ngSpr);
|
|
flixel_FlxG.camera.flash(-1,4);
|
|
this.remove(this.credGroup);
|
|
this.skippedIntro = true;
|
|
}
|
|
}
|
|
,__class__: TitleState
|
|
});
|
|
var ValueType = $hxEnums["ValueType"] = { __ename__ : "ValueType", __constructs__ : ["TNull","TInt","TFloat","TBool","TObject","TFunction","TClass","TEnum","TUnknown"]
|
|
,TNull: {_hx_index:0,__enum__:"ValueType",toString:$estr}
|
|
,TInt: {_hx_index:1,__enum__:"ValueType",toString:$estr}
|
|
,TFloat: {_hx_index:2,__enum__:"ValueType",toString:$estr}
|
|
,TBool: {_hx_index:3,__enum__:"ValueType",toString:$estr}
|
|
,TObject: {_hx_index:4,__enum__:"ValueType",toString:$estr}
|
|
,TFunction: {_hx_index:5,__enum__:"ValueType",toString:$estr}
|
|
,TClass: ($_=function(c) { return {_hx_index:6,c:c,__enum__:"ValueType",toString:$estr}; },$_.__params__ = ["c"],$_)
|
|
,TEnum: ($_=function(e) { return {_hx_index:7,e:e,__enum__:"ValueType",toString:$estr}; },$_.__params__ = ["e"],$_)
|
|
,TUnknown: {_hx_index:8,__enum__:"ValueType",toString:$estr}
|
|
};
|
|
var Type = function() { };
|
|
$hxClasses["Type"] = Type;
|
|
Type.__name__ = "Type";
|
|
Type.getEnum = function(o) {
|
|
if(o == null) {
|
|
return null;
|
|
}
|
|
return $hxEnums[o.__enum__];
|
|
};
|
|
Type.resolveEnum = function(name) {
|
|
return $hxEnums[name];
|
|
};
|
|
Type.createInstance = function(cl,args) {
|
|
var ctor = Function.prototype.bind.apply(cl,[null].concat(args));
|
|
return new (ctor);
|
|
};
|
|
Type.createEnum = function(e,constr,params) {
|
|
var f = Reflect.field(e,constr);
|
|
if(f == null) {
|
|
throw haxe_Exception.thrown("No such constructor " + constr);
|
|
}
|
|
if(Reflect.isFunction(f)) {
|
|
if(params == null) {
|
|
throw haxe_Exception.thrown("Constructor " + constr + " need parameters");
|
|
}
|
|
return f.apply(e,params);
|
|
}
|
|
if(params != null && params.length != 0) {
|
|
throw haxe_Exception.thrown("Constructor " + constr + " does not need parameters");
|
|
}
|
|
return f;
|
|
};
|
|
Type.getInstanceFields = function(c) {
|
|
var a = [];
|
|
for(var i in c.prototype) a.push(i);
|
|
HxOverrides.remove(a,"__class__");
|
|
HxOverrides.remove(a,"__properties__");
|
|
return a;
|
|
};
|
|
Type.getClassFields = function(c) {
|
|
var a = Reflect.fields(c);
|
|
HxOverrides.remove(a,"__name__");
|
|
HxOverrides.remove(a,"__interfaces__");
|
|
HxOverrides.remove(a,"__properties__");
|
|
HxOverrides.remove(a,"__super__");
|
|
HxOverrides.remove(a,"__meta__");
|
|
HxOverrides.remove(a,"prototype");
|
|
return a;
|
|
};
|
|
Type.typeof = function(v) {
|
|
switch(typeof(v)) {
|
|
case "boolean":
|
|
return ValueType.TBool;
|
|
case "function":
|
|
if(v.__name__ || v.__ename__) {
|
|
return ValueType.TObject;
|
|
}
|
|
return ValueType.TFunction;
|
|
case "number":
|
|
if(Math.ceil(v) == v % 2147483648.0) {
|
|
return ValueType.TInt;
|
|
}
|
|
return ValueType.TFloat;
|
|
case "object":
|
|
if(v == null) {
|
|
return ValueType.TNull;
|
|
}
|
|
var e = v.__enum__;
|
|
if(e != null) {
|
|
return ValueType.TEnum($hxEnums[e]);
|
|
}
|
|
var c = js_Boot.getClass(v);
|
|
if(c != null) {
|
|
return ValueType.TClass(c);
|
|
}
|
|
return ValueType.TObject;
|
|
case "string":
|
|
return ValueType.TClass(String);
|
|
case "undefined":
|
|
return ValueType.TNull;
|
|
default:
|
|
return ValueType.TUnknown;
|
|
}
|
|
};
|
|
Type.enumEq = function(a,b) {
|
|
if(a == b) {
|
|
return true;
|
|
}
|
|
try {
|
|
var e = a.__enum__;
|
|
if(e == null || e != b.__enum__) {
|
|
return false;
|
|
}
|
|
if(a._hx_index != b._hx_index) {
|
|
return false;
|
|
}
|
|
var enm = $hxEnums[e];
|
|
var ctorName = enm.__constructs__[a._hx_index];
|
|
var params = enm[ctorName].__params__;
|
|
var _g = 0;
|
|
while(_g < params.length) {
|
|
var f = params[_g];
|
|
++_g;
|
|
if(!Type.enumEq(a[f],b[f])) {
|
|
return false;
|
|
}
|
|
}
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
return false;
|
|
}
|
|
return true;
|
|
};
|
|
Type.enumParameters = function(e) {
|
|
var enm = $hxEnums[e.__enum__];
|
|
var ctorName = enm.__constructs__[e._hx_index];
|
|
var params = enm[ctorName].__params__;
|
|
if(params != null) {
|
|
var _g = [];
|
|
var _g1 = 0;
|
|
while(_g1 < params.length) {
|
|
var p = params[_g1];
|
|
++_g1;
|
|
_g.push(e[p]);
|
|
}
|
|
return _g;
|
|
} else {
|
|
return [];
|
|
}
|
|
};
|
|
var UInt = {};
|
|
UInt.gt = function(a,b) {
|
|
var aNeg = a < 0;
|
|
var bNeg = b < 0;
|
|
if(aNeg != bNeg) {
|
|
return aNeg;
|
|
} else {
|
|
return a > b;
|
|
}
|
|
};
|
|
UInt.toFloat = function(this1) {
|
|
var int = this1;
|
|
if(int < 0) {
|
|
return 4294967296.0 + int;
|
|
} else {
|
|
return int + 0.0;
|
|
}
|
|
};
|
|
var UnicodeString = {};
|
|
UnicodeString.__properties__ = {get_length:"get_length"};
|
|
UnicodeString.charCodeAt = function(this1,index) {
|
|
if(index < 0) {
|
|
return null;
|
|
}
|
|
var unicodeOffset = 0;
|
|
var nativeOffset = 0;
|
|
while(nativeOffset < this1.length) {
|
|
var index1 = nativeOffset++;
|
|
var c = this1.charCodeAt(index1);
|
|
if(c >= 55296 && c <= 56319) {
|
|
c = c - 55232 << 10 | this1.charCodeAt(index1 + 1) & 1023;
|
|
}
|
|
var c1 = c;
|
|
if(unicodeOffset == index) {
|
|
return c1;
|
|
}
|
|
if(c1 >= 65536) {
|
|
++nativeOffset;
|
|
}
|
|
++unicodeOffset;
|
|
}
|
|
return null;
|
|
};
|
|
UnicodeString.substr = function(this1,pos,len) {
|
|
if(pos < 0) {
|
|
pos = UnicodeString.get_length(this1) + pos;
|
|
if(pos < 0) {
|
|
pos = 0;
|
|
}
|
|
}
|
|
if(len != null) {
|
|
if(len < 0) {
|
|
len = UnicodeString.get_length(this1) + len;
|
|
}
|
|
if(len <= 0) {
|
|
return "";
|
|
}
|
|
}
|
|
var unicodeOffset = 0;
|
|
var nativeOffset = 0;
|
|
var fromOffset = -1;
|
|
var subLength = 0;
|
|
while(nativeOffset < this1.length) {
|
|
var c = this1.charCodeAt(nativeOffset);
|
|
if(c >= 55296 && c <= 56319) {
|
|
c = c - 55232 << 10 | this1.charCodeAt(nativeOffset + 1) & 1023;
|
|
}
|
|
var c1 = c;
|
|
if(unicodeOffset >= pos) {
|
|
if(fromOffset < 0) {
|
|
if(len == null) {
|
|
return HxOverrides.substr(this1,nativeOffset,null);
|
|
}
|
|
fromOffset = nativeOffset;
|
|
}
|
|
++subLength;
|
|
if(subLength >= len) {
|
|
var lastOffset = c1 < 65536 ? nativeOffset : nativeOffset + 1;
|
|
return HxOverrides.substr(this1,fromOffset,lastOffset - fromOffset + 1);
|
|
}
|
|
}
|
|
nativeOffset += c1 >= 65536 ? 2 : 1;
|
|
++unicodeOffset;
|
|
}
|
|
if(fromOffset < 0) {
|
|
return "";
|
|
} else {
|
|
return HxOverrides.substr(this1,fromOffset,null);
|
|
}
|
|
};
|
|
UnicodeString.get_length = function(this1) {
|
|
var l = 0;
|
|
var _g_offset = 0;
|
|
var _g_s = this1;
|
|
while(_g_offset < _g_s.length) {
|
|
var s = _g_s;
|
|
var index = _g_offset++;
|
|
var c = s.charCodeAt(index);
|
|
if(c >= 55296 && c <= 56319) {
|
|
c = c - 55232 << 10 | s.charCodeAt(index + 1) & 1023;
|
|
}
|
|
var c1 = c;
|
|
if(c1 >= 65536) {
|
|
++_g_offset;
|
|
}
|
|
var c2 = c1;
|
|
++l;
|
|
}
|
|
return l;
|
|
};
|
|
var WiggleEffectType = $hxEnums["WiggleEffectType"] = { __ename__ : "WiggleEffectType", __constructs__ : ["DREAMY","WAVY","HEAT_WAVE_HORIZONTAL","HEAT_WAVE_VERTICAL","FLAG"]
|
|
,DREAMY: {_hx_index:0,__enum__:"WiggleEffectType",toString:$estr}
|
|
,WAVY: {_hx_index:1,__enum__:"WiggleEffectType",toString:$estr}
|
|
,HEAT_WAVE_HORIZONTAL: {_hx_index:2,__enum__:"WiggleEffectType",toString:$estr}
|
|
,HEAT_WAVE_VERTICAL: {_hx_index:3,__enum__:"WiggleEffectType",toString:$estr}
|
|
,FLAG: {_hx_index:4,__enum__:"WiggleEffectType",toString:$estr}
|
|
};
|
|
var WiggleEffect = function() {
|
|
this.waveAmplitude = 0;
|
|
this.waveFrequency = 0;
|
|
this.waveSpeed = 0;
|
|
this.effectType = WiggleEffectType.DREAMY;
|
|
this.shader = new WiggleShader();
|
|
this.shader.uTime.value = [0];
|
|
};
|
|
$hxClasses["WiggleEffect"] = WiggleEffect;
|
|
WiggleEffect.__name__ = "WiggleEffect";
|
|
WiggleEffect.prototype = {
|
|
shader: null
|
|
,effectType: null
|
|
,waveSpeed: null
|
|
,waveFrequency: null
|
|
,waveAmplitude: null
|
|
,update: function(elapsed) {
|
|
this.shader.uTime.value[0] += elapsed;
|
|
}
|
|
,set_effectType: function(v) {
|
|
this.effectType = v;
|
|
var tmp = WiggleEffectType.__constructs__.slice();
|
|
this.shader.effectType.value = [tmp.indexOf(Std.string(v))];
|
|
return v;
|
|
}
|
|
,set_waveSpeed: function(v) {
|
|
this.waveSpeed = v;
|
|
this.shader.uSpeed.value = [this.waveSpeed];
|
|
return v;
|
|
}
|
|
,set_waveFrequency: function(v) {
|
|
this.waveFrequency = v;
|
|
this.shader.uFrequency.value = [this.waveFrequency];
|
|
return v;
|
|
}
|
|
,set_waveAmplitude: function(v) {
|
|
this.waveAmplitude = v;
|
|
this.shader.uWaveAmplitude.value = [this.waveAmplitude];
|
|
return v;
|
|
}
|
|
,__class__: WiggleEffect
|
|
,__properties__: {set_waveAmplitude:"set_waveAmplitude",set_waveFrequency:"set_waveFrequency",set_waveSpeed:"set_waveSpeed",set_effectType:"set_effectType"}
|
|
};
|
|
var openfl_display_Shader = function(code) {
|
|
this.byteCode = code;
|
|
this.precisionHint = 1;
|
|
this.__glSourceDirty = true;
|
|
this.__numPasses = 1;
|
|
this.__data = openfl_display_ShaderData._new(code);
|
|
};
|
|
$hxClasses["openfl.display.Shader"] = openfl_display_Shader;
|
|
openfl_display_Shader.__name__ = "openfl.display.Shader";
|
|
openfl_display_Shader.prototype = {
|
|
byteCode: null
|
|
,glProgram: null
|
|
,precisionHint: null
|
|
,program: null
|
|
,__alpha: null
|
|
,__bitmap: null
|
|
,__colorMultiplier: null
|
|
,__colorOffset: null
|
|
,__context: null
|
|
,__data: null
|
|
,__glFragmentSource: null
|
|
,__glSourceDirty: null
|
|
,__glVertexSource: null
|
|
,__hasColorTransform: null
|
|
,__inputBitmapData: null
|
|
,__isGenerated: null
|
|
,__matrix: null
|
|
,__numPasses: null
|
|
,__paramBool: null
|
|
,__paramFloat: null
|
|
,__paramInt: null
|
|
,__position: null
|
|
,__textureCoord: null
|
|
,__texture: null
|
|
,__textureSize: null
|
|
,__clearUseArray: function() {
|
|
var _g = 0;
|
|
var _g1 = this.__paramBool;
|
|
while(_g < _g1.length) {
|
|
var parameter = _g1[_g];
|
|
++_g;
|
|
parameter.__useArray = false;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.__paramFloat;
|
|
while(_g < _g1.length) {
|
|
var parameter = _g1[_g];
|
|
++_g;
|
|
parameter.__useArray = false;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.__paramInt;
|
|
while(_g < _g1.length) {
|
|
var parameter = _g1[_g];
|
|
++_g;
|
|
parameter.__useArray = false;
|
|
}
|
|
}
|
|
,__createGLShader: function(source,type) {
|
|
var gl = this.__context.gl;
|
|
var shader = gl.createShader(type);
|
|
gl.shaderSource(shader,source);
|
|
gl.compileShader(shader);
|
|
if(gl.getShaderParameter(shader,gl.COMPILE_STATUS) == 0) {
|
|
var message = type == gl.VERTEX_SHADER ? "Error compiling vertex shader" : "Error compiling fragment shader";
|
|
message += "\n" + gl.getShaderInfoLog(shader);
|
|
message += "\n" + source;
|
|
lime_utils_Log.error(message,{ fileName : "openfl/display/Shader.hx", lineNumber : 329, className : "openfl.display.Shader", methodName : "__createGLShader"});
|
|
}
|
|
return shader;
|
|
}
|
|
,__createGLProgram: function(vertexSource,fragmentSource) {
|
|
var gl = this.__context.gl;
|
|
var vertexShader = this.__createGLShader(vertexSource,gl.VERTEX_SHADER);
|
|
var fragmentShader = this.__createGLShader(fragmentSource,gl.FRAGMENT_SHADER);
|
|
var program = gl.createProgram();
|
|
var _g = 0;
|
|
var _g1 = this.__paramFloat;
|
|
while(_g < _g1.length) {
|
|
var param = _g1[_g];
|
|
++_g;
|
|
if(param.name.indexOf("Position") > -1 && StringTools.startsWith(param.name,"openfl_")) {
|
|
gl.bindAttribLocation(program,0,param.name);
|
|
break;
|
|
}
|
|
}
|
|
gl.attachShader(program,vertexShader);
|
|
gl.attachShader(program,fragmentShader);
|
|
gl.linkProgram(program);
|
|
if(gl.getProgramParameter(program,gl.LINK_STATUS) == 0) {
|
|
var message = "Unable to initialize the shader program";
|
|
message += "\n" + gl.getProgramInfoLog(program);
|
|
lime_utils_Log.error(message,{ fileName : "openfl/display/Shader.hx", lineNumber : 362, className : "openfl.display.Shader", methodName : "__createGLProgram"});
|
|
}
|
|
return program;
|
|
}
|
|
,__disable: function() {
|
|
if(this.program != null) {
|
|
this.__disableGL();
|
|
}
|
|
}
|
|
,__disableGL: function() {
|
|
var gl = this.__context.gl;
|
|
var textureCount = 0;
|
|
var _g = 0;
|
|
var _g1 = this.__inputBitmapData;
|
|
while(_g < _g1.length) {
|
|
var input = _g1[_g];
|
|
++_g;
|
|
input.__disableGL(this.__context,textureCount);
|
|
++textureCount;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.__paramBool;
|
|
while(_g < _g1.length) {
|
|
var parameter = _g1[_g];
|
|
++_g;
|
|
parameter.__disableGL(this.__context);
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.__paramFloat;
|
|
while(_g < _g1.length) {
|
|
var parameter = _g1[_g];
|
|
++_g;
|
|
parameter.__disableGL(this.__context);
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.__paramInt;
|
|
while(_g < _g1.length) {
|
|
var parameter = _g1[_g];
|
|
++_g;
|
|
parameter.__disableGL(this.__context);
|
|
}
|
|
this.__context.__bindGLArrayBuffer(null);
|
|
if(this.__context.__context.type == "opengl") {
|
|
gl.disable(gl.TEXTURE_2D);
|
|
}
|
|
}
|
|
,__enable: function() {
|
|
this.__init();
|
|
if(this.program != null) {
|
|
this.__enableGL();
|
|
}
|
|
}
|
|
,__enableGL: function() {
|
|
var textureCount = 0;
|
|
var gl = this.__context.gl;
|
|
var _g = 0;
|
|
var _g1 = this.__inputBitmapData;
|
|
while(_g < _g1.length) {
|
|
var input = _g1[_g];
|
|
++_g;
|
|
gl.uniform1i(input.index,textureCount);
|
|
++textureCount;
|
|
}
|
|
if(this.__context.__context.type == "opengl" && textureCount > 0) {
|
|
gl.enable(gl.TEXTURE_2D);
|
|
}
|
|
}
|
|
,__init: function() {
|
|
if(this.__data == null) {
|
|
this.__data = openfl_display_ShaderData._new(null);
|
|
}
|
|
if(this.__glFragmentSource != null && this.__glVertexSource != null && (this.program == null || this.__glSourceDirty)) {
|
|
this.__initGL();
|
|
}
|
|
}
|
|
,__initGL: function() {
|
|
if(this.__glSourceDirty || this.__paramBool == null) {
|
|
this.__glSourceDirty = false;
|
|
this.program = null;
|
|
this.__inputBitmapData = [];
|
|
this.__paramBool = [];
|
|
this.__paramFloat = [];
|
|
this.__paramInt = [];
|
|
this.__processGLData(this.get_glVertexSource(),"attribute");
|
|
this.__processGLData(this.get_glVertexSource(),"uniform");
|
|
this.__processGLData(this.get_glFragmentSource(),"uniform");
|
|
}
|
|
if(this.__context != null && this.program == null) {
|
|
var gl = this.__context.gl;
|
|
var prefix = "#ifdef GL_ES\n\t\t\t\t" + (this.precisionHint == 1 ? "#ifdef GL_FRAGMENT_PRECISION_HIGH\n\t\t\t\tprecision highp float;\n\t\t\t\t#else\n\t\t\t\tprecision mediump float;\n\t\t\t\t#endif" : "precision lowp float;") + "\n\t\t\t\t#endif\n\t\t\t\t";
|
|
var vertex = prefix + this.get_glVertexSource();
|
|
var fragment = prefix + this.get_glFragmentSource();
|
|
var id = vertex + fragment;
|
|
if(Object.prototype.hasOwnProperty.call(this.__context.__programs.h,id)) {
|
|
this.program = this.__context.__programs.h[id];
|
|
} else {
|
|
this.program = this.__context.createProgram(1);
|
|
this.program.__glProgram = this.__createGLProgram(vertex,fragment);
|
|
this.__context.__programs.h[id] = this.program;
|
|
}
|
|
if(this.program != null) {
|
|
this.glProgram = this.program.__glProgram;
|
|
var _g = 0;
|
|
var _g1 = this.__inputBitmapData;
|
|
while(_g < _g1.length) {
|
|
var input = _g1[_g];
|
|
++_g;
|
|
if(input.__isUniform) {
|
|
input.index = gl.getUniformLocation(this.glProgram,input.name);
|
|
} else {
|
|
input.index = gl.getAttribLocation(this.glProgram,input.name);
|
|
}
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.__paramBool;
|
|
while(_g < _g1.length) {
|
|
var parameter = _g1[_g];
|
|
++_g;
|
|
if(parameter.__isUniform) {
|
|
parameter.index = gl.getUniformLocation(this.glProgram,parameter.name);
|
|
} else {
|
|
parameter.index = gl.getAttribLocation(this.glProgram,parameter.name);
|
|
}
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.__paramFloat;
|
|
while(_g < _g1.length) {
|
|
var parameter = _g1[_g];
|
|
++_g;
|
|
if(parameter.__isUniform) {
|
|
parameter.index = gl.getUniformLocation(this.glProgram,parameter.name);
|
|
} else {
|
|
parameter.index = gl.getAttribLocation(this.glProgram,parameter.name);
|
|
}
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.__paramInt;
|
|
while(_g < _g1.length) {
|
|
var parameter = _g1[_g];
|
|
++_g;
|
|
if(parameter.__isUniform) {
|
|
parameter.index = gl.getUniformLocation(this.glProgram,parameter.name);
|
|
} else {
|
|
parameter.index = gl.getAttribLocation(this.glProgram,parameter.name);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,__processGLData: function(source,storageType) {
|
|
var lastMatch = 0;
|
|
var position;
|
|
var regex;
|
|
var name;
|
|
var type;
|
|
if(storageType == "uniform") {
|
|
regex = new EReg("uniform ([A-Za-z0-9]+) ([A-Za-z0-9_]+)","");
|
|
} else {
|
|
regex = new EReg("attribute ([A-Za-z0-9]+) ([A-Za-z0-9_]+)","");
|
|
}
|
|
while(regex.matchSub(source,lastMatch)) {
|
|
type = regex.matched(1);
|
|
name = regex.matched(2);
|
|
if(StringTools.startsWith(name,"gl_")) {
|
|
continue;
|
|
}
|
|
var isUniform = storageType == "uniform";
|
|
if(StringTools.startsWith(type,"sampler")) {
|
|
var input = new openfl_display_ShaderInput();
|
|
input.name = name;
|
|
input.__isUniform = isUniform;
|
|
this.__inputBitmapData.push(input);
|
|
switch(name) {
|
|
case "bitmap":
|
|
this.__bitmap = input;
|
|
break;
|
|
case "openfl_Texture":
|
|
this.__texture = input;
|
|
break;
|
|
default:
|
|
}
|
|
this.__data[name] = input;
|
|
if(this.__isGenerated) {
|
|
this[name] = input;
|
|
}
|
|
} else if(!Object.prototype.hasOwnProperty.call(this.__data,name) || Reflect.field(this.__data,name) == null) {
|
|
var parameterType;
|
|
switch(type) {
|
|
case "bool":
|
|
parameterType = 0;
|
|
break;
|
|
case "bvec2":
|
|
parameterType = 1;
|
|
break;
|
|
case "bvec3":
|
|
parameterType = 2;
|
|
break;
|
|
case "bvec4":
|
|
parameterType = 3;
|
|
break;
|
|
case "dvec2":case "vec2":
|
|
parameterType = 5;
|
|
break;
|
|
case "dvec3":case "vec3":
|
|
parameterType = 6;
|
|
break;
|
|
case "double":case "float":
|
|
parameterType = 4;
|
|
break;
|
|
case "ivec3":case "uvec3":
|
|
parameterType = 10;
|
|
break;
|
|
case "ivec4":case "uvec4":
|
|
parameterType = 11;
|
|
break;
|
|
case "mat2":case "mat2x2":
|
|
parameterType = 12;
|
|
break;
|
|
case "mat2x3":
|
|
parameterType = 13;
|
|
break;
|
|
case "mat2x4":
|
|
parameterType = 14;
|
|
break;
|
|
case "mat3x2":
|
|
parameterType = 15;
|
|
break;
|
|
case "mat3":case "mat3x3":
|
|
parameterType = 16;
|
|
break;
|
|
case "mat3x4":
|
|
parameterType = 17;
|
|
break;
|
|
case "mat4":case "mat4x4":
|
|
parameterType = 20;
|
|
break;
|
|
case "mat4x2":
|
|
parameterType = 18;
|
|
break;
|
|
case "mat4x3":
|
|
parameterType = 19;
|
|
break;
|
|
case "int":case "uint":
|
|
parameterType = 8;
|
|
break;
|
|
case "ivec2":case "uvec2":
|
|
parameterType = 9;
|
|
break;
|
|
case "dvec4":case "vec4":
|
|
parameterType = 7;
|
|
break;
|
|
default:
|
|
parameterType = null;
|
|
}
|
|
var length;
|
|
switch(parameterType) {
|
|
case 1:case 5:case 9:
|
|
length = 2;
|
|
break;
|
|
case 3:case 7:case 11:case 12:
|
|
length = 4;
|
|
break;
|
|
case 2:case 6:case 10:
|
|
length = 3;
|
|
break;
|
|
case 16:
|
|
length = 9;
|
|
break;
|
|
case 20:
|
|
length = 16;
|
|
break;
|
|
default:
|
|
length = 1;
|
|
}
|
|
var arrayLength;
|
|
switch(parameterType) {
|
|
case 12:
|
|
arrayLength = 2;
|
|
break;
|
|
case 16:
|
|
arrayLength = 3;
|
|
break;
|
|
case 20:
|
|
arrayLength = 4;
|
|
break;
|
|
default:
|
|
arrayLength = 1;
|
|
}
|
|
switch(parameterType) {
|
|
case 0:case 1:case 2:case 3:
|
|
var parameter = new openfl_display_ShaderParameter();
|
|
parameter.set_name(name);
|
|
parameter.type = parameterType;
|
|
parameter.__arrayLength = arrayLength;
|
|
parameter.__isBool = true;
|
|
parameter.__isUniform = isUniform;
|
|
parameter.__length = length;
|
|
this.__paramBool.push(parameter);
|
|
if(name == "openfl_HasColorTransform") {
|
|
this.__hasColorTransform = parameter;
|
|
}
|
|
this.__data[name] = parameter;
|
|
if(this.__isGenerated) {
|
|
this[name] = parameter;
|
|
}
|
|
break;
|
|
case 8:case 9:case 10:case 11:
|
|
var parameter1 = new openfl_display_ShaderParameter();
|
|
parameter1.set_name(name);
|
|
parameter1.type = parameterType;
|
|
parameter1.__arrayLength = arrayLength;
|
|
parameter1.__isInt = true;
|
|
parameter1.__isUniform = isUniform;
|
|
parameter1.__length = length;
|
|
this.__paramInt.push(parameter1);
|
|
this.__data[name] = parameter1;
|
|
if(this.__isGenerated) {
|
|
this[name] = parameter1;
|
|
}
|
|
break;
|
|
default:
|
|
var parameter2 = new openfl_display_ShaderParameter();
|
|
parameter2.set_name(name);
|
|
parameter2.type = parameterType;
|
|
parameter2.__arrayLength = arrayLength;
|
|
if(arrayLength > 0) {
|
|
var elements = arrayLength * arrayLength;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = null;
|
|
var len = null;
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Float32Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Float32Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Float32Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Float32Array(view);
|
|
} else if(buffer != null) {
|
|
if(len == null) {
|
|
this1 = new Float32Array(buffer,0);
|
|
} else {
|
|
this1 = new Float32Array(buffer,0,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
parameter2.__uniformMatrix = this1;
|
|
}
|
|
parameter2.__isFloat = true;
|
|
parameter2.__isUniform = isUniform;
|
|
parameter2.__length = length;
|
|
this.__paramFloat.push(parameter2);
|
|
if(StringTools.startsWith(name,"openfl_")) {
|
|
switch(name) {
|
|
case "openfl_Alpha":
|
|
this.__alpha = parameter2;
|
|
break;
|
|
case "openfl_ColorMultiplier":
|
|
this.__colorMultiplier = parameter2;
|
|
break;
|
|
case "openfl_ColorOffset":
|
|
this.__colorOffset = parameter2;
|
|
break;
|
|
case "openfl_Matrix":
|
|
this.__matrix = parameter2;
|
|
break;
|
|
case "openfl_Position":
|
|
this.__position = parameter2;
|
|
break;
|
|
case "openfl_TextureCoord":
|
|
this.__textureCoord = parameter2;
|
|
break;
|
|
case "openfl_TextureSize":
|
|
this.__textureSize = parameter2;
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
this.__data[name] = parameter2;
|
|
if(this.__isGenerated) {
|
|
this[name] = parameter2;
|
|
}
|
|
}
|
|
}
|
|
position = regex.matchedPos();
|
|
lastMatch = position.pos + position.len;
|
|
}
|
|
}
|
|
,__update: function() {
|
|
if(this.program != null) {
|
|
this.__updateGL();
|
|
}
|
|
}
|
|
,__updateFromBuffer: function(shaderBuffer,bufferOffset) {
|
|
if(this.program != null) {
|
|
this.__updateGLFromBuffer(shaderBuffer,bufferOffset);
|
|
}
|
|
}
|
|
,__updateGL: function() {
|
|
var textureCount = 0;
|
|
var _g = 0;
|
|
var _g1 = this.__inputBitmapData;
|
|
while(_g < _g1.length) {
|
|
var input = _g1[_g];
|
|
++_g;
|
|
input.__updateGL(this.__context,textureCount);
|
|
++textureCount;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.__paramBool;
|
|
while(_g < _g1.length) {
|
|
var parameter = _g1[_g];
|
|
++_g;
|
|
parameter.__updateGL(this.__context);
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.__paramFloat;
|
|
while(_g < _g1.length) {
|
|
var parameter = _g1[_g];
|
|
++_g;
|
|
parameter.__updateGL(this.__context);
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.__paramInt;
|
|
while(_g < _g1.length) {
|
|
var parameter = _g1[_g];
|
|
++_g;
|
|
parameter.__updateGL(this.__context);
|
|
}
|
|
}
|
|
,__updateGLFromBuffer: function(shaderBuffer,bufferOffset) {
|
|
var textureCount = 0;
|
|
var input;
|
|
var inputData;
|
|
var inputFilter;
|
|
var inputMipFilter;
|
|
var inputWrap;
|
|
var _g = 0;
|
|
var _g1 = shaderBuffer.inputCount;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
input = shaderBuffer.inputRefs[i];
|
|
inputData = shaderBuffer.inputs[i];
|
|
inputFilter = shaderBuffer.inputFilter[i];
|
|
inputMipFilter = shaderBuffer.inputMipFilter[i];
|
|
inputWrap = shaderBuffer.inputWrap[i];
|
|
if(inputData != null) {
|
|
input.__updateGL(this.__context,textureCount,inputData,inputFilter,inputMipFilter,inputWrap);
|
|
++textureCount;
|
|
}
|
|
}
|
|
var gl = this.__context.gl;
|
|
if(shaderBuffer.paramDataLength > 0) {
|
|
if(shaderBuffer.paramDataBuffer == null) {
|
|
shaderBuffer.paramDataBuffer = gl.createBuffer();
|
|
}
|
|
this.__context.__bindGLArrayBuffer(shaderBuffer.paramDataBuffer);
|
|
lime_graphics_WebGLRenderContext.bufferData(gl,gl.ARRAY_BUFFER,shaderBuffer.paramData,gl.DYNAMIC_DRAW);
|
|
} else {
|
|
this.__context.__bindGLArrayBuffer(null);
|
|
}
|
|
var boolIndex = 0;
|
|
var floatIndex = 0;
|
|
var intIndex = 0;
|
|
var boolCount = shaderBuffer.paramBoolCount;
|
|
var floatCount = shaderBuffer.paramFloatCount;
|
|
var paramData = shaderBuffer.paramData;
|
|
var boolRef;
|
|
var floatRef;
|
|
var intRef;
|
|
var hasOverride;
|
|
var overrideBoolValue = null;
|
|
var overrideFloatValue = null;
|
|
var overrideIntValue = null;
|
|
var _g = 0;
|
|
var _g1 = shaderBuffer.paramCount;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
hasOverride = false;
|
|
if(i < boolCount) {
|
|
boolRef = shaderBuffer.paramRefs_Bool[boolIndex];
|
|
var _g2 = 0;
|
|
var _g3 = shaderBuffer.overrideBoolCount;
|
|
while(_g2 < _g3) {
|
|
var j = _g2++;
|
|
if(boolRef.name == shaderBuffer.overrideBoolNames[j]) {
|
|
overrideBoolValue = shaderBuffer.overrideBoolValues[j];
|
|
hasOverride = true;
|
|
break;
|
|
}
|
|
}
|
|
if(hasOverride) {
|
|
boolRef.__updateGL(this.__context,overrideBoolValue);
|
|
} else {
|
|
boolRef.__updateGLFromBuffer(this.__context,paramData,shaderBuffer.paramPositions[i],shaderBuffer.paramLengths[i],bufferOffset);
|
|
}
|
|
++boolIndex;
|
|
} else if(i < boolCount + floatCount) {
|
|
floatRef = shaderBuffer.paramRefs_Float[floatIndex];
|
|
var _g4 = 0;
|
|
var _g5 = shaderBuffer.overrideFloatCount;
|
|
while(_g4 < _g5) {
|
|
var j1 = _g4++;
|
|
if(floatRef.name == shaderBuffer.overrideFloatNames[j1]) {
|
|
overrideFloatValue = shaderBuffer.overrideFloatValues[j1];
|
|
hasOverride = true;
|
|
break;
|
|
}
|
|
}
|
|
if(hasOverride) {
|
|
floatRef.__updateGL(this.__context,overrideFloatValue);
|
|
} else {
|
|
floatRef.__updateGLFromBuffer(this.__context,paramData,shaderBuffer.paramPositions[i],shaderBuffer.paramLengths[i],bufferOffset);
|
|
}
|
|
++floatIndex;
|
|
} else {
|
|
intRef = shaderBuffer.paramRefs_Int[intIndex];
|
|
var _g6 = 0;
|
|
var _g7 = shaderBuffer.overrideIntCount;
|
|
while(_g6 < _g7) {
|
|
var j2 = _g6++;
|
|
if(intRef.name == shaderBuffer.overrideIntNames[j2]) {
|
|
overrideIntValue = shaderBuffer.overrideIntValues[j2];
|
|
hasOverride = true;
|
|
break;
|
|
}
|
|
}
|
|
if(hasOverride) {
|
|
intRef.__updateGL(this.__context,overrideIntValue);
|
|
} else {
|
|
intRef.__updateGLFromBuffer(this.__context,paramData,shaderBuffer.paramPositions[i],shaderBuffer.paramLengths[i],bufferOffset);
|
|
}
|
|
++intIndex;
|
|
}
|
|
}
|
|
}
|
|
,get_data: function() {
|
|
if(this.__glSourceDirty || this.__data == null) {
|
|
this.__init();
|
|
}
|
|
return this.__data;
|
|
}
|
|
,set_data: function(value) {
|
|
return this.__data = value;
|
|
}
|
|
,get_glFragmentSource: function() {
|
|
return this.__glFragmentSource;
|
|
}
|
|
,set_glFragmentSource: function(value) {
|
|
if(value != this.__glFragmentSource) {
|
|
this.__glSourceDirty = true;
|
|
}
|
|
return this.__glFragmentSource = value;
|
|
}
|
|
,get_glVertexSource: function() {
|
|
return this.__glVertexSource;
|
|
}
|
|
,set_glVertexSource: function(value) {
|
|
if(value != this.__glVertexSource) {
|
|
this.__glSourceDirty = true;
|
|
}
|
|
return this.__glVertexSource = value;
|
|
}
|
|
,__class__: openfl_display_Shader
|
|
,__properties__: {set_glVertexSource:"set_glVertexSource",get_glVertexSource:"get_glVertexSource",set_glFragmentSource:"set_glFragmentSource",get_glFragmentSource:"get_glFragmentSource",set_data:"set_data",get_data:"get_data"}
|
|
};
|
|
var openfl_display_GraphicsShader = function(code) {
|
|
if(this.__glFragmentSource == null) {
|
|
this.__glFragmentSource = "varying float openfl_Alphav;\n\t\tvarying vec4 openfl_ColorMultiplierv;\n\t\tvarying vec4 openfl_ColorOffsetv;\n\t\tvarying vec2 openfl_TextureCoordv;\n\n\t\tuniform bool openfl_HasColorTransform;\n\t\tuniform vec2 openfl_TextureSize;\n\t\tuniform sampler2D bitmap;\n\n\t\tvoid main(void) {\n\n\t\t\tvec4 color = texture2D (bitmap, openfl_TextureCoordv);\n\n\t\tif (color.a == 0.0) {\n\n\t\t\tgl_FragColor = vec4 (0.0, 0.0, 0.0, 0.0);\n\n\t\t} else if (openfl_HasColorTransform) {\n\n\t\t\tcolor = vec4 (color.rgb / color.a, color.a);\n\n\t\t\tmat4 colorMultiplier = mat4 (0);\n\t\t\tcolorMultiplier[0][0] = openfl_ColorMultiplierv.x;\n\t\t\tcolorMultiplier[1][1] = openfl_ColorMultiplierv.y;\n\t\t\tcolorMultiplier[2][2] = openfl_ColorMultiplierv.z;\n\t\t\tcolorMultiplier[3][3] = 1.0; // openfl_ColorMultiplierv.w;\n\n\t\t\tcolor = clamp (openfl_ColorOffsetv + (color * colorMultiplier), 0.0, 1.0);\n\n\t\t\tif (color.a > 0.0) {\n\n\t\t\t\tgl_FragColor = vec4 (color.rgb * color.a * openfl_Alphav, color.a * openfl_Alphav);\n\n\t\t\t} else {\n\n\t\t\t\tgl_FragColor = vec4 (0.0, 0.0, 0.0, 0.0);\n\n\t\t\t}\n\n\t\t} else {\n\n\t\t\tgl_FragColor = color * openfl_Alphav;\n\n\t\t}\n\n\t\t}";
|
|
}
|
|
if(this.__glVertexSource == null) {
|
|
this.__glVertexSource = "attribute float openfl_Alpha;\n\t\tattribute vec4 openfl_ColorMultiplier;\n\t\tattribute vec4 openfl_ColorOffset;\n\t\tattribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\n\t\tvarying float openfl_Alphav;\n\t\tvarying vec4 openfl_ColorMultiplierv;\n\t\tvarying vec4 openfl_ColorOffsetv;\n\t\tvarying vec2 openfl_TextureCoordv;\n\n\t\tuniform mat4 openfl_Matrix;\n\t\tuniform bool openfl_HasColorTransform;\n\t\tuniform vec2 openfl_TextureSize;\n\n\t\tvoid main(void) {\n\n\t\t\topenfl_Alphav = openfl_Alpha;\n\t\topenfl_TextureCoordv = openfl_TextureCoord;\n\n\t\tif (openfl_HasColorTransform) {\n\n\t\t\topenfl_ColorMultiplierv = openfl_ColorMultiplier;\n\t\t\topenfl_ColorOffsetv = openfl_ColorOffset / 255.0;\n\n\t\t}\n\n\t\tgl_Position = openfl_Matrix * openfl_Position;\n\n\t\t}";
|
|
}
|
|
openfl_display_Shader.call(this,code);
|
|
this.__isGenerated = true;
|
|
this.__initGL();
|
|
};
|
|
$hxClasses["openfl.display.GraphicsShader"] = openfl_display_GraphicsShader;
|
|
openfl_display_GraphicsShader.__name__ = "openfl.display.GraphicsShader";
|
|
openfl_display_GraphicsShader.__super__ = openfl_display_Shader;
|
|
openfl_display_GraphicsShader.prototype = $extend(openfl_display_Shader.prototype,{
|
|
openfl_Alpha: null
|
|
,openfl_ColorMultiplier: null
|
|
,openfl_ColorOffset: null
|
|
,openfl_Position: null
|
|
,openfl_TextureCoord: null
|
|
,openfl_Matrix: null
|
|
,openfl_HasColorTransform: null
|
|
,openfl_TextureSize: null
|
|
,bitmap: null
|
|
,__class__: openfl_display_GraphicsShader
|
|
});
|
|
var flixel_graphics_tile_FlxGraphicsShader = function() {
|
|
if(this.__glFragmentSource == null) {
|
|
this.__glFragmentSource = "\n\t\tvarying float openfl_Alphav;\n\t\tvarying vec4 openfl_ColorMultiplierv;\n\t\tvarying vec4 openfl_ColorOffsetv;\n\t\tvarying vec2 openfl_TextureCoordv;\n\n\t\tuniform bool openfl_HasColorTransform;\n\t\tuniform vec2 openfl_TextureSize;\n\t\tuniform sampler2D bitmap;\n\n\t\tuniform bool hasTransform;\n\t\tuniform bool hasColorTransform;\n\n\t\tvec4 flixel_texture2D(sampler2D bitmap, vec2 coord)\n\t\t{\n\t\t\tvec4 color = texture2D(bitmap, coord);\n\t\t\tif (!hasTransform)\n\t\t\t{\n\t\t\t\treturn color;\n\t\t\t}\n\n\t\t\tif (color.a == 0.0)\n\t\t\t{\n\t\t\t\treturn vec4(0.0, 0.0, 0.0, 0.0);\n\t\t\t}\n\n\t\t\tif (!hasColorTransform)\n\t\t\t{\n\t\t\t\treturn color * openfl_Alphav;\n\t\t\t}\n\n\t\t\tcolor = vec4(color.rgb / color.a, color.a);\n\n\t\t\tmat4 colorMultiplier = mat4(0);\n\t\t\tcolorMultiplier[0][0] = openfl_ColorMultiplierv.x;\n\t\t\tcolorMultiplier[1][1] = openfl_ColorMultiplierv.y;\n\t\t\tcolorMultiplier[2][2] = openfl_ColorMultiplierv.z;\n\t\t\tcolorMultiplier[3][3] = openfl_ColorMultiplierv.w;\n\n\t\t\tcolor = clamp(openfl_ColorOffsetv + (color * colorMultiplier), 0.0, 1.0);\n\n\t\t\tif (color.a > 0.0)\n\t\t\t{\n\t\t\t\treturn vec4(color.rgb * color.a * openfl_Alphav, color.a * openfl_Alphav);\n\t\t\t}\n\t\t\treturn vec4(0.0, 0.0, 0.0, 0.0);\n\t\t}\n\t\n\t\t\n\t\tvoid main(void)\n\t\t{\n\t\t\tgl_FragColor = flixel_texture2D(bitmap, openfl_TextureCoordv);\n\t\t}";
|
|
}
|
|
if(this.__glVertexSource == null) {
|
|
this.__glVertexSource = "\n\t\tattribute float openfl_Alpha;\n\t\tattribute vec4 openfl_ColorMultiplier;\n\t\tattribute vec4 openfl_ColorOffset;\n\t\tattribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\n\t\tvarying float openfl_Alphav;\n\t\tvarying vec4 openfl_ColorMultiplierv;\n\t\tvarying vec4 openfl_ColorOffsetv;\n\t\tvarying vec2 openfl_TextureCoordv;\n\n\t\tuniform mat4 openfl_Matrix;\n\t\tuniform bool openfl_HasColorTransform;\n\t\tuniform vec2 openfl_TextureSize;\n\n\t\t\n\t\tattribute float alpha;\n\t\tattribute vec4 colorMultiplier;\n\t\tattribute vec4 colorOffset;\n\t\tuniform bool hasColorTransform;\n\t\t\n\t\tvoid main(void)\n\t\t{\n\t\t\topenfl_Alphav = openfl_Alpha;\n\t\topenfl_TextureCoordv = openfl_TextureCoord;\n\n\t\tif (openfl_HasColorTransform) {\n\n\t\t\topenfl_ColorMultiplierv = openfl_ColorMultiplier;\n\t\t\topenfl_ColorOffsetv = openfl_ColorOffset / 255.0;\n\n\t\t}\n\n\t\tgl_Position = openfl_Matrix * openfl_Position;\n\n\t\t\t\n\t\t\topenfl_Alphav = openfl_Alpha * alpha;\n\t\t\t\n\t\t\tif (hasColorTransform)\n\t\t\t{\n\t\t\t\topenfl_ColorOffsetv = colorOffset / 255.0;\n\t\t\t\topenfl_ColorMultiplierv = colorMultiplier;\n\t\t\t}\n\t\t}";
|
|
}
|
|
openfl_display_GraphicsShader.call(this);
|
|
this.__isGenerated = true;
|
|
this.__initGL();
|
|
};
|
|
$hxClasses["flixel.graphics.tile.FlxGraphicsShader"] = flixel_graphics_tile_FlxGraphicsShader;
|
|
flixel_graphics_tile_FlxGraphicsShader.__name__ = "flixel.graphics.tile.FlxGraphicsShader";
|
|
flixel_graphics_tile_FlxGraphicsShader.__super__ = openfl_display_GraphicsShader;
|
|
flixel_graphics_tile_FlxGraphicsShader.prototype = $extend(openfl_display_GraphicsShader.prototype,{
|
|
alpha: null
|
|
,colorMultiplier: null
|
|
,colorOffset: null
|
|
,hasColorTransform: null
|
|
,hasTransform: null
|
|
,__class__: flixel_graphics_tile_FlxGraphicsShader
|
|
});
|
|
var WiggleShader = function() {
|
|
if(this.__glFragmentSource == null) {
|
|
this.__glFragmentSource = "\n\t\tvarying float openfl_Alphav;\n\t\tvarying vec4 openfl_ColorMultiplierv;\n\t\tvarying vec4 openfl_ColorOffsetv;\n\t\tvarying vec2 openfl_TextureCoordv;\n\n\t\tuniform bool openfl_HasColorTransform;\n\t\tuniform vec2 openfl_TextureSize;\n\t\tuniform sampler2D bitmap;\n\n\t\tuniform bool hasTransform;\n\t\tuniform bool hasColorTransform;\n\n\t\tvec4 flixel_texture2D(sampler2D bitmap, vec2 coord)\n\t\t{\n\t\t\tvec4 color = texture2D(bitmap, coord);\n\t\t\tif (!hasTransform)\n\t\t\t{\n\t\t\t\treturn color;\n\t\t\t}\n\n\t\t\tif (color.a == 0.0)\n\t\t\t{\n\t\t\t\treturn vec4(0.0, 0.0, 0.0, 0.0);\n\t\t\t}\n\n\t\t\tif (!hasColorTransform)\n\t\t\t{\n\t\t\t\treturn color * openfl_Alphav;\n\t\t\t}\n\n\t\t\tcolor = vec4(color.rgb / color.a, color.a);\n\n\t\t\tmat4 colorMultiplier = mat4(0);\n\t\t\tcolorMultiplier[0][0] = openfl_ColorMultiplierv.x;\n\t\t\tcolorMultiplier[1][1] = openfl_ColorMultiplierv.y;\n\t\t\tcolorMultiplier[2][2] = openfl_ColorMultiplierv.z;\n\t\t\tcolorMultiplier[3][3] = openfl_ColorMultiplierv.w;\n\n\t\t\tcolor = clamp(openfl_ColorOffsetv + (color * colorMultiplier), 0.0, 1.0);\n\n\t\t\tif (color.a > 0.0)\n\t\t\t{\n\t\t\t\treturn vec4(color.rgb * color.a * openfl_Alphav, color.a * openfl_Alphav);\n\t\t\t}\n\t\t\treturn vec4(0.0, 0.0, 0.0, 0.0);\n\t\t}\n\t\n\n\t\t//uniform float tx, ty; // x,y waves phase\n\t\tuniform float uTime;\n\t\t\n\t\tconst int EFFECT_TYPE_DREAMY = 0;\n\t\tconst int EFFECT_TYPE_WAVY = 1;\n\t\tconst int EFFECT_TYPE_HEAT_WAVE_HORIZONTAL = 2;\n\t\tconst int EFFECT_TYPE_HEAT_WAVE_VERTICAL = 3;\n\t\tconst int EFFECT_TYPE_FLAG = 4;\n\t\t\n\t\tuniform int effectType;\n\t\t\n\t\t/**\n\t\t * How fast the waves move over time\n\t\t */\n\t\tuniform float uSpeed;\n\t\t\n\t\t/**\n\t\t * Number of waves over time\n\t\t */\n\t\tuniform float uFrequency;\n\t\t\n\t\t/**\n\t\t * How much the pixels are going to stretch over the waves\n\t\t */\n\t\tuniform float uWaveAmplitude;\n\n\t\tvec2 sineWave(vec2 pt)\n\t\t{\n\t\t\tfloat x = 0.0;\n\t\t\tfloat y = 0.0;\n\t\t\t\n\t\t\tif (effectType == EFFECT_TYPE_DREAMY) \n\t\t\t{\n\t\t\t\tfloat offsetX = sin(pt.y * uFrequency + uTime * uSpeed) * uWaveAmplitude;\n pt.x += offsetX; // * (pt.y - 1.0); // <- Uncomment to stop bottom part of the screen from moving\n\t\t\t}\n\t\t\telse if (effectType == EFFECT_TYPE_WAVY) \n\t\t\t{\n\t\t\t\tfloat offsetY = sin(pt.x * uFrequency + uTime * uSpeed) * uWaveAmplitude;\n\t\t\t\tpt.y += offsetY; // * (pt.y - 1.0); // <- Uncomment to stop bottom part of the screen from moving\n\t\t\t}\n\t\t\telse if (effectType == EFFECT_TYPE_HEAT_WAVE_HORIZONTAL)\n\t\t\t{\n\t\t\t\tx = sin(pt.x * uFrequency + uTime * uSpeed) * uWaveAmplitude;\n\t\t\t}\n\t\t\telse if (effectType == EFFECT_TYPE_HEAT_WAVE_VERTICAL)\n\t\t\t{\n\t\t\t\ty = sin(pt.y * uFrequency + uTime * uSpeed) * uWaveAmplitude;\n\t\t\t}\n\t\t\telse if (effectType == EFFECT_TYPE_FLAG)\n\t\t\t{\n\t\t\t\ty = sin(pt.y * uFrequency + 10.0 * pt.x + uTime * uSpeed) * uWaveAmplitude;\n\t\t\t\tx = sin(pt.x * uFrequency + 5.0 * pt.y + uTime * uSpeed) * uWaveAmplitude;\n\t\t\t}\n\t\t\t\n\t\t\treturn vec2(pt.x + x, pt.y + y);\n\t\t}\n\n\t\tvoid main()\n\t\t{\n\t\t\tvec2 uv = sineWave(openfl_TextureCoordv);\n\t\t\tgl_FragColor = texture2D(bitmap, uv);\n\t\t}";
|
|
}
|
|
if(this.__glVertexSource == null) {
|
|
this.__glVertexSource = "\n\t\tattribute float openfl_Alpha;\n\t\tattribute vec4 openfl_ColorMultiplier;\n\t\tattribute vec4 openfl_ColorOffset;\n\t\tattribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\n\t\tvarying float openfl_Alphav;\n\t\tvarying vec4 openfl_ColorMultiplierv;\n\t\tvarying vec4 openfl_ColorOffsetv;\n\t\tvarying vec2 openfl_TextureCoordv;\n\n\t\tuniform mat4 openfl_Matrix;\n\t\tuniform bool openfl_HasColorTransform;\n\t\tuniform vec2 openfl_TextureSize;\n\n\t\t\n\t\tattribute float alpha;\n\t\tattribute vec4 colorMultiplier;\n\t\tattribute vec4 colorOffset;\n\t\tuniform bool hasColorTransform;\n\t\t\n\t\tvoid main(void)\n\t\t{\n\t\t\topenfl_Alphav = openfl_Alpha;\n\t\topenfl_TextureCoordv = openfl_TextureCoord;\n\n\t\tif (openfl_HasColorTransform) {\n\n\t\t\topenfl_ColorMultiplierv = openfl_ColorMultiplier;\n\t\t\topenfl_ColorOffsetv = openfl_ColorOffset / 255.0;\n\n\t\t}\n\n\t\tgl_Position = openfl_Matrix * openfl_Position;\n\n\t\t\t\n\t\t\topenfl_Alphav = openfl_Alpha * alpha;\n\t\t\t\n\t\t\tif (hasColorTransform)\n\t\t\t{\n\t\t\t\topenfl_ColorOffsetv = colorOffset / 255.0;\n\t\t\t\topenfl_ColorMultiplierv = colorMultiplier;\n\t\t\t}\n\t\t}";
|
|
}
|
|
flixel_graphics_tile_FlxGraphicsShader.call(this);
|
|
this.__isGenerated = true;
|
|
this.__initGL();
|
|
};
|
|
$hxClasses["WiggleShader"] = WiggleShader;
|
|
WiggleShader.__name__ = "WiggleShader";
|
|
WiggleShader.__super__ = flixel_graphics_tile_FlxGraphicsShader;
|
|
WiggleShader.prototype = $extend(flixel_graphics_tile_FlxGraphicsShader.prototype,{
|
|
tx: null
|
|
,uTime: null
|
|
,effectType: null
|
|
,uSpeed: null
|
|
,uFrequency: null
|
|
,uWaveAmplitude: null
|
|
,__class__: WiggleShader
|
|
});
|
|
var XmlType = {};
|
|
XmlType.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "Element";
|
|
case 1:
|
|
return "PCData";
|
|
case 2:
|
|
return "CData";
|
|
case 3:
|
|
return "Comment";
|
|
case 4:
|
|
return "DocType";
|
|
case 5:
|
|
return "ProcessingInstruction";
|
|
case 6:
|
|
return "Document";
|
|
}
|
|
};
|
|
var Xml = function(nodeType) {
|
|
this.nodeType = nodeType;
|
|
this.children = [];
|
|
this.attributeMap = new haxe_ds_StringMap();
|
|
};
|
|
$hxClasses["Xml"] = Xml;
|
|
Xml.__name__ = "Xml";
|
|
Xml.parse = function(str) {
|
|
return haxe_xml_Parser.parse(str);
|
|
};
|
|
Xml.createElement = function(name) {
|
|
var xml = new Xml(Xml.Element);
|
|
if(xml.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element but found " + (xml.nodeType == null ? "null" : XmlType.toString(xml.nodeType)));
|
|
}
|
|
xml.nodeName = name;
|
|
return xml;
|
|
};
|
|
Xml.createPCData = function(data) {
|
|
var xml = new Xml(Xml.PCData);
|
|
if(xml.nodeType == Xml.Document || xml.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (xml.nodeType == null ? "null" : XmlType.toString(xml.nodeType)));
|
|
}
|
|
xml.nodeValue = data;
|
|
return xml;
|
|
};
|
|
Xml.createCData = function(data) {
|
|
var xml = new Xml(Xml.CData);
|
|
if(xml.nodeType == Xml.Document || xml.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (xml.nodeType == null ? "null" : XmlType.toString(xml.nodeType)));
|
|
}
|
|
xml.nodeValue = data;
|
|
return xml;
|
|
};
|
|
Xml.createComment = function(data) {
|
|
var xml = new Xml(Xml.Comment);
|
|
if(xml.nodeType == Xml.Document || xml.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (xml.nodeType == null ? "null" : XmlType.toString(xml.nodeType)));
|
|
}
|
|
xml.nodeValue = data;
|
|
return xml;
|
|
};
|
|
Xml.createDocType = function(data) {
|
|
var xml = new Xml(Xml.DocType);
|
|
if(xml.nodeType == Xml.Document || xml.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (xml.nodeType == null ? "null" : XmlType.toString(xml.nodeType)));
|
|
}
|
|
xml.nodeValue = data;
|
|
return xml;
|
|
};
|
|
Xml.createProcessingInstruction = function(data) {
|
|
var xml = new Xml(Xml.ProcessingInstruction);
|
|
if(xml.nodeType == Xml.Document || xml.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (xml.nodeType == null ? "null" : XmlType.toString(xml.nodeType)));
|
|
}
|
|
xml.nodeValue = data;
|
|
return xml;
|
|
};
|
|
Xml.createDocument = function() {
|
|
return new Xml(Xml.Document);
|
|
};
|
|
Xml.prototype = {
|
|
nodeType: null
|
|
,nodeName: null
|
|
,nodeValue: null
|
|
,parent: null
|
|
,children: null
|
|
,attributeMap: null
|
|
,get: function(att) {
|
|
if(this.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element but found " + (this.nodeType == null ? "null" : XmlType.toString(this.nodeType)));
|
|
}
|
|
return this.attributeMap.h[att];
|
|
}
|
|
,set: function(att,value) {
|
|
if(this.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element but found " + (this.nodeType == null ? "null" : XmlType.toString(this.nodeType)));
|
|
}
|
|
this.attributeMap.h[att] = value;
|
|
}
|
|
,exists: function(att) {
|
|
if(this.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element but found " + (this.nodeType == null ? "null" : XmlType.toString(this.nodeType)));
|
|
}
|
|
return Object.prototype.hasOwnProperty.call(this.attributeMap.h,att);
|
|
}
|
|
,attributes: function() {
|
|
if(this.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element but found " + (this.nodeType == null ? "null" : XmlType.toString(this.nodeType)));
|
|
}
|
|
return haxe_ds_StringMap.keysIterator(this.attributeMap.h);
|
|
}
|
|
,elements: function() {
|
|
if(this.nodeType != Xml.Document && this.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element or Document but found " + (this.nodeType == null ? "null" : XmlType.toString(this.nodeType)));
|
|
}
|
|
var _g = [];
|
|
var _g1 = 0;
|
|
var _g2 = this.children;
|
|
while(_g1 < _g2.length) {
|
|
var child = _g2[_g1];
|
|
++_g1;
|
|
if(child.nodeType == Xml.Element) {
|
|
_g.push(child);
|
|
}
|
|
}
|
|
var ret = _g;
|
|
return new haxe_iterators_ArrayIterator(ret);
|
|
}
|
|
,elementsNamed: function(name) {
|
|
if(this.nodeType != Xml.Document && this.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element or Document but found " + (this.nodeType == null ? "null" : XmlType.toString(this.nodeType)));
|
|
}
|
|
var _g = [];
|
|
var _g1 = 0;
|
|
var _g2 = this.children;
|
|
while(_g1 < _g2.length) {
|
|
var child = _g2[_g1];
|
|
++_g1;
|
|
var tmp;
|
|
if(child.nodeType == Xml.Element) {
|
|
if(child.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element but found " + (child.nodeType == null ? "null" : XmlType.toString(child.nodeType)));
|
|
}
|
|
tmp = child.nodeName == name;
|
|
} else {
|
|
tmp = false;
|
|
}
|
|
if(tmp) {
|
|
_g.push(child);
|
|
}
|
|
}
|
|
var ret = _g;
|
|
return new haxe_iterators_ArrayIterator(ret);
|
|
}
|
|
,firstElement: function() {
|
|
if(this.nodeType != Xml.Document && this.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element or Document but found " + (this.nodeType == null ? "null" : XmlType.toString(this.nodeType)));
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.children;
|
|
while(_g < _g1.length) {
|
|
var child = _g1[_g];
|
|
++_g;
|
|
if(child.nodeType == Xml.Element) {
|
|
return child;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
,addChild: function(x) {
|
|
if(this.nodeType != Xml.Document && this.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element or Document but found " + (this.nodeType == null ? "null" : XmlType.toString(this.nodeType)));
|
|
}
|
|
if(x.parent != null) {
|
|
x.parent.removeChild(x);
|
|
}
|
|
this.children.push(x);
|
|
x.parent = this;
|
|
}
|
|
,removeChild: function(x) {
|
|
if(this.nodeType != Xml.Document && this.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element or Document but found " + (this.nodeType == null ? "null" : XmlType.toString(this.nodeType)));
|
|
}
|
|
if(HxOverrides.remove(this.children,x)) {
|
|
x.parent = null;
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
,insertChild: function(x,pos) {
|
|
if(this.nodeType != Xml.Document && this.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element or Document but found " + (this.nodeType == null ? "null" : XmlType.toString(this.nodeType)));
|
|
}
|
|
if(x.parent != null) {
|
|
HxOverrides.remove(x.parent.children,x);
|
|
}
|
|
this.children.splice(pos,0,x);
|
|
x.parent = this;
|
|
}
|
|
,toString: function() {
|
|
return haxe_xml_Printer.print(this);
|
|
}
|
|
,__class__: Xml
|
|
};
|
|
var flixel_IFlxBasic = function() { };
|
|
$hxClasses["flixel.IFlxBasic"] = flixel_IFlxBasic;
|
|
flixel_IFlxBasic.__name__ = "flixel.IFlxBasic";
|
|
flixel_IFlxBasic.__isInterface__ = true;
|
|
flixel_IFlxBasic.prototype = {
|
|
set_active: null
|
|
,set_visible: null
|
|
,set_alive: null
|
|
,set_exists: null
|
|
,ID: null
|
|
,active: null
|
|
,visible: null
|
|
,alive: null
|
|
,exists: null
|
|
,draw: null
|
|
,update: null
|
|
,destroy: null
|
|
,kill: null
|
|
,revive: null
|
|
,toString: null
|
|
,__class__: flixel_IFlxBasic
|
|
,__properties__: {set_exists:"set_exists",set_alive:"set_alive",set_visible:"set_visible",set_active:"set_active"}
|
|
};
|
|
var flixel_util_FlxPool_$flixel_$math_$FlxPoint = function(classObj) {
|
|
this._count = 0;
|
|
this._pool = [];
|
|
this._class = classObj;
|
|
};
|
|
$hxClasses["flixel.util.FlxPool_flixel_math_FlxPoint"] = flixel_util_FlxPool_$flixel_$math_$FlxPoint;
|
|
flixel_util_FlxPool_$flixel_$math_$FlxPoint.__name__ = "flixel.util.FlxPool_flixel_math_FlxPoint";
|
|
flixel_util_FlxPool_$flixel_$math_$FlxPoint.__interfaces__ = [flixel_util_IFlxPool];
|
|
flixel_util_FlxPool_$flixel_$math_$FlxPoint.prototype = {
|
|
_pool: null
|
|
,_class: null
|
|
,_count: null
|
|
,get: function() {
|
|
if(this._count == 0) {
|
|
return Type.createInstance(this._class,[]);
|
|
}
|
|
return this._pool[--this._count];
|
|
}
|
|
,put: function(obj) {
|
|
if(obj != null) {
|
|
var i = this._pool.indexOf(obj);
|
|
if(i == -1 || i >= this._count) {
|
|
obj.destroy();
|
|
this._pool[this._count++] = obj;
|
|
}
|
|
}
|
|
}
|
|
,putUnsafe: function(obj) {
|
|
if(obj != null) {
|
|
obj.destroy();
|
|
this._pool[this._count++] = obj;
|
|
}
|
|
}
|
|
,preAllocate: function(numObjects) {
|
|
while(numObjects-- > 0) this._pool[this._count++] = Type.createInstance(this._class,[]);
|
|
}
|
|
,clear: function() {
|
|
this._count = 0;
|
|
var oldPool = this._pool;
|
|
this._pool = [];
|
|
return oldPool;
|
|
}
|
|
,get_length: function() {
|
|
return this._count;
|
|
}
|
|
,__class__: flixel_util_FlxPool_$flixel_$math_$FlxPoint
|
|
,__properties__: {get_length:"get_length"}
|
|
};
|
|
var flixel_math_FlxPoint = function(X,Y) {
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
this._inPool = false;
|
|
this._weak = false;
|
|
this.y = 0;
|
|
this.x = 0;
|
|
this.set(X,Y);
|
|
};
|
|
$hxClasses["flixel.math.FlxPoint"] = flixel_math_FlxPoint;
|
|
flixel_math_FlxPoint.__name__ = "flixel.math.FlxPoint";
|
|
flixel_math_FlxPoint.__interfaces__ = [flixel_util_IFlxPooled];
|
|
flixel_math_FlxPoint.__properties__ = {get_pool:"get_pool"};
|
|
flixel_math_FlxPoint.get = function(X,Y) {
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
return point;
|
|
};
|
|
flixel_math_FlxPoint.weak = function(X,Y) {
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X1,Y1);
|
|
point._inPool = false;
|
|
var point1 = point;
|
|
point1._weak = true;
|
|
return point1;
|
|
};
|
|
flixel_math_FlxPoint.get_pool = function() {
|
|
return flixel_math_FlxPoint._pool;
|
|
};
|
|
flixel_math_FlxPoint.prototype = {
|
|
x: null
|
|
,y: null
|
|
,_weak: null
|
|
,_inPool: null
|
|
,put: function() {
|
|
if(!this._inPool) {
|
|
this._inPool = true;
|
|
this._weak = false;
|
|
flixel_math_FlxPoint._pool.putUnsafe(this);
|
|
}
|
|
}
|
|
,putWeak: function() {
|
|
if(this._weak) {
|
|
this.put();
|
|
}
|
|
}
|
|
,set: function(X,Y) {
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
this.set_x(X);
|
|
this.set_y(Y);
|
|
return this;
|
|
}
|
|
,add: function(X,Y) {
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _g = this;
|
|
_g.set_x(_g.x + X);
|
|
var _g = this;
|
|
_g.set_y(_g.y + Y);
|
|
return this;
|
|
}
|
|
,addPoint: function(point) {
|
|
var _g = this;
|
|
_g.set_x(_g.x + point.x);
|
|
var _g = this;
|
|
_g.set_y(_g.y + point.y);
|
|
if(point._weak) {
|
|
point.put();
|
|
}
|
|
return this;
|
|
}
|
|
,addPointWeak: function(point) {
|
|
var _g = this;
|
|
_g.set_x(_g.x + point.x);
|
|
var _g = this;
|
|
_g.set_y(_g.y + point.y);
|
|
return this;
|
|
}
|
|
,subtract: function(X,Y) {
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _g = this;
|
|
_g.set_x(_g.x - X);
|
|
var _g = this;
|
|
_g.set_y(_g.y - Y);
|
|
return this;
|
|
}
|
|
,subtractPoint: function(point) {
|
|
var _g = this;
|
|
_g.set_x(_g.x - point.x);
|
|
var _g = this;
|
|
_g.set_y(_g.y - point.y);
|
|
if(point._weak) {
|
|
point.put();
|
|
}
|
|
return this;
|
|
}
|
|
,subtractPointWeak: function(point) {
|
|
var _g = this;
|
|
_g.set_x(_g.x - point.x);
|
|
var _g = this;
|
|
_g.set_y(_g.y - point.y);
|
|
return this;
|
|
}
|
|
,scale: function(k) {
|
|
var _g = this;
|
|
_g.set_x(_g.x * k);
|
|
var _g = this;
|
|
_g.set_y(_g.y * k);
|
|
return this;
|
|
}
|
|
,copyFrom: function(point) {
|
|
this.set_x(point.x);
|
|
this.set_y(point.y);
|
|
if(point._weak) {
|
|
point.put();
|
|
}
|
|
return this;
|
|
}
|
|
,copyTo: function(point) {
|
|
if(point == null) {
|
|
var point1 = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point1._inPool = false;
|
|
point = point1;
|
|
}
|
|
point.set_x(this.x);
|
|
point.set_y(this.y);
|
|
return point;
|
|
}
|
|
,copyFromFlash: function(FlashPoint) {
|
|
this.set_x(FlashPoint.x);
|
|
this.set_y(FlashPoint.y);
|
|
return this;
|
|
}
|
|
,copyToFlash: function(FlashPoint) {
|
|
if(FlashPoint == null) {
|
|
FlashPoint = new openfl_geom_Point();
|
|
}
|
|
FlashPoint.x = this.x;
|
|
FlashPoint.y = this.y;
|
|
return FlashPoint;
|
|
}
|
|
,addToFlash: function(FlashPoint) {
|
|
FlashPoint.x += this.x;
|
|
FlashPoint.y += this.y;
|
|
return FlashPoint;
|
|
}
|
|
,subtractFromFlash: function(FlashPoint) {
|
|
FlashPoint.x -= this.x;
|
|
FlashPoint.y -= this.y;
|
|
return FlashPoint;
|
|
}
|
|
,inCoords: function(RectX,RectY,RectWidth,RectHeight) {
|
|
return flixel_math_FlxMath.pointInCoordinates(this.x,this.y,RectX,RectY,RectWidth,RectHeight);
|
|
}
|
|
,inRect: function(Rect) {
|
|
return flixel_math_FlxMath.pointInFlxRect(this.x,this.y,Rect);
|
|
}
|
|
,distanceTo: function(point) {
|
|
var dx = this.x - point.x;
|
|
var dy = this.y - point.y;
|
|
if(point._weak) {
|
|
point.put();
|
|
}
|
|
return Math.sqrt(dx * dx + dy * dy);
|
|
}
|
|
,floor: function() {
|
|
this.set_x(Math.floor(this.x));
|
|
this.set_y(Math.floor(this.y));
|
|
return this;
|
|
}
|
|
,ceil: function() {
|
|
this.set_x(Math.ceil(this.x));
|
|
this.set_y(Math.ceil(this.y));
|
|
return this;
|
|
}
|
|
,round: function() {
|
|
this.set_x(Math.round(this.x));
|
|
this.set_y(Math.round(this.y));
|
|
return this;
|
|
}
|
|
,rotate: function(Pivot,Angle) {
|
|
var radians = Angle * (Math.PI / 180);
|
|
var n = radians;
|
|
n *= 0.3183098862;
|
|
if(n > 1) {
|
|
n -= Math.ceil(n) >> 1 << 1;
|
|
} else if(n < -1) {
|
|
n += Math.ceil(-n) >> 1 << 1;
|
|
}
|
|
var sin = n > 0 ? n * (3.1 + n * (0.5 + n * (-7.2 + n * 3.6))) : n * (3.1 - n * (0.5 + n * (7.2 + n * 3.6)));
|
|
var n = radians + 1.570796327;
|
|
n *= 0.3183098862;
|
|
if(n > 1) {
|
|
n -= Math.ceil(n) >> 1 << 1;
|
|
} else if(n < -1) {
|
|
n += Math.ceil(-n) >> 1 << 1;
|
|
}
|
|
var cos = n > 0 ? n * (3.1 + n * (0.5 + n * (-7.2 + n * 3.6))) : n * (3.1 - n * (0.5 + n * (7.2 + n * 3.6)));
|
|
var dx = this.x - Pivot.x;
|
|
var dy = this.y - Pivot.y;
|
|
this.set_x(cos * dx - sin * dy + Pivot.x);
|
|
this.set_y(sin * dx + cos * dy + Pivot.y);
|
|
if(Pivot._weak) {
|
|
Pivot.put();
|
|
}
|
|
return this;
|
|
}
|
|
,angleBetween: function(point) {
|
|
var x = point.x - this.x;
|
|
var y = point.y - this.y;
|
|
var angle = 0;
|
|
if(x != 0 || y != 0) {
|
|
var c1 = Math.PI * 0.25;
|
|
var c2 = 3 * c1;
|
|
var ay = y < 0 ? -y : y;
|
|
if(x >= 0) {
|
|
angle = c1 - c1 * ((x - ay) / (x + ay));
|
|
} else {
|
|
angle = c2 - c1 * ((x + ay) / (ay - x));
|
|
}
|
|
angle = (y < 0 ? -angle : angle) * (180 / Math.PI);
|
|
if(angle > 90) {
|
|
angle -= 270;
|
|
} else {
|
|
angle += 90;
|
|
}
|
|
}
|
|
if(point._weak) {
|
|
point.put();
|
|
}
|
|
return angle;
|
|
}
|
|
,toVector: function() {
|
|
var x = this.x;
|
|
var y = this.y;
|
|
if(y == null) {
|
|
y = 0;
|
|
}
|
|
if(x == null) {
|
|
x = 0;
|
|
}
|
|
var X = x;
|
|
var Y = y;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
return point;
|
|
}
|
|
,equals: function(point) {
|
|
var result = Math.abs(this.x - point.x) <= 0.0000001 && Math.abs(this.y - point.y) <= 0.0000001;
|
|
if(point._weak) {
|
|
point.put();
|
|
}
|
|
return result;
|
|
}
|
|
,destroy: function() {
|
|
}
|
|
,transform: function(matrix) {
|
|
var x1 = this.x * matrix.a + this.y * matrix.c + matrix.tx;
|
|
var y1 = this.x * matrix.b + this.y * matrix.d + matrix.ty;
|
|
return this.set(x1,y1);
|
|
}
|
|
,toString: function() {
|
|
var value = this.x;
|
|
var _this = flixel_util_LabelValuePair._pool.get();
|
|
_this.label = "x";
|
|
_this.value = value;
|
|
var value = this.y;
|
|
var _this1 = flixel_util_LabelValuePair._pool.get();
|
|
_this1.label = "y";
|
|
_this1.value = value;
|
|
return flixel_util_FlxStringUtil.getDebugString([_this,_this1]);
|
|
}
|
|
,set_x: function(Value) {
|
|
return this.x = Value;
|
|
}
|
|
,set_y: function(Value) {
|
|
return this.y = Value;
|
|
}
|
|
,__class__: flixel_math_FlxPoint
|
|
,__properties__: {set_y:"set_y",set_x:"set_x"}
|
|
};
|
|
var lime_math_Matrix3 = function(a,b,c,d,tx,ty) {
|
|
if(ty == null) {
|
|
ty = 0;
|
|
}
|
|
if(tx == null) {
|
|
tx = 0;
|
|
}
|
|
if(d == null) {
|
|
d = 1;
|
|
}
|
|
if(c == null) {
|
|
c = 0;
|
|
}
|
|
if(b == null) {
|
|
b = 0;
|
|
}
|
|
if(a == null) {
|
|
a = 1;
|
|
}
|
|
this.a = a;
|
|
this.b = b;
|
|
this.c = c;
|
|
this.d = d;
|
|
this.tx = tx;
|
|
this.ty = ty;
|
|
};
|
|
$hxClasses["lime.math.Matrix3"] = lime_math_Matrix3;
|
|
lime_math_Matrix3.__name__ = "lime.math.Matrix3";
|
|
lime_math_Matrix3.prototype = {
|
|
a: null
|
|
,b: null
|
|
,c: null
|
|
,d: null
|
|
,tx: null
|
|
,ty: null
|
|
,clone: function() {
|
|
return new lime_math_Matrix3(this.a,this.b,this.c,this.d,this.tx,this.ty);
|
|
}
|
|
,concat: function(m) {
|
|
var a1 = this.a * m.a + this.b * m.c;
|
|
this.b = this.a * m.b + this.b * m.d;
|
|
this.a = a1;
|
|
var c1 = this.c * m.a + this.d * m.c;
|
|
this.d = this.c * m.b + this.d * m.d;
|
|
this.c = c1;
|
|
var tx1 = this.tx * m.a + this.ty * m.c + m.tx;
|
|
this.ty = this.tx * m.b + this.ty * m.d + m.ty;
|
|
this.tx = tx1;
|
|
}
|
|
,copyColumnFrom: function(column,vector4) {
|
|
if(column > 2) {
|
|
throw haxe_Exception.thrown("Column " + column + " out of bounds (2)");
|
|
} else if(column == 0) {
|
|
this.a = vector4.x;
|
|
this.b = vector4.y;
|
|
} else if(column == 1) {
|
|
this.c = vector4.x;
|
|
this.d = vector4.y;
|
|
} else {
|
|
this.tx = vector4.x;
|
|
this.ty = vector4.y;
|
|
}
|
|
}
|
|
,copyColumnTo: function(column,vector4) {
|
|
if(column > 2) {
|
|
throw haxe_Exception.thrown("Column " + column + " out of bounds (2)");
|
|
} else if(column == 0) {
|
|
vector4.x = this.a;
|
|
vector4.y = this.b;
|
|
vector4.z = 0;
|
|
} else if(column == 1) {
|
|
vector4.x = this.c;
|
|
vector4.y = this.d;
|
|
vector4.z = 0;
|
|
} else {
|
|
vector4.x = this.tx;
|
|
vector4.y = this.ty;
|
|
vector4.z = 1;
|
|
}
|
|
}
|
|
,copyFrom: function(sourceMatrix3) {
|
|
this.a = sourceMatrix3.a;
|
|
this.b = sourceMatrix3.b;
|
|
this.c = sourceMatrix3.c;
|
|
this.d = sourceMatrix3.d;
|
|
this.tx = sourceMatrix3.tx;
|
|
this.ty = sourceMatrix3.ty;
|
|
}
|
|
,copyRowFrom: function(row,vector4) {
|
|
if(row > 2) {
|
|
throw haxe_Exception.thrown("Row " + row + " out of bounds (2)");
|
|
} else if(row == 0) {
|
|
this.a = vector4.x;
|
|
this.c = vector4.y;
|
|
this.tx = vector4.z;
|
|
} else if(row == 1) {
|
|
this.b = vector4.x;
|
|
this.d = vector4.y;
|
|
this.ty = vector4.z;
|
|
}
|
|
}
|
|
,copyRowTo: function(row,vector4) {
|
|
if(row > 2) {
|
|
throw haxe_Exception.thrown("Row " + row + " out of bounds (2)");
|
|
} else if(row == 0) {
|
|
vector4.x = this.a;
|
|
vector4.y = this.c;
|
|
vector4.z = this.tx;
|
|
} else if(row == 1) {
|
|
vector4.x = this.b;
|
|
vector4.y = this.d;
|
|
vector4.z = this.ty;
|
|
} else {
|
|
vector4.x = 0;
|
|
vector4.y = 0;
|
|
vector4.z = 1;
|
|
}
|
|
}
|
|
,createBox: function(scaleX,scaleY,rotation,tx,ty) {
|
|
if(ty == null) {
|
|
ty = 0;
|
|
}
|
|
if(tx == null) {
|
|
tx = 0;
|
|
}
|
|
if(rotation == null) {
|
|
rotation = 0;
|
|
}
|
|
if(rotation != 0) {
|
|
var cos = Math.cos(rotation);
|
|
var sin = Math.sin(rotation);
|
|
this.a = cos * scaleX;
|
|
this.b = sin * scaleY;
|
|
this.c = -sin * scaleX;
|
|
this.d = cos * scaleY;
|
|
} else {
|
|
this.a = scaleX;
|
|
this.b = 0;
|
|
this.c = 0;
|
|
this.d = scaleY;
|
|
}
|
|
this.tx = tx;
|
|
this.ty = ty;
|
|
}
|
|
,createGradientBox: function(width,height,rotation,tx,ty) {
|
|
if(ty == null) {
|
|
ty = 0;
|
|
}
|
|
if(tx == null) {
|
|
tx = 0;
|
|
}
|
|
if(rotation == null) {
|
|
rotation = 0;
|
|
}
|
|
this.a = width / 1638.4;
|
|
this.d = height / 1638.4;
|
|
if(rotation != 0) {
|
|
var cos = Math.cos(rotation);
|
|
var sin = Math.sin(rotation);
|
|
this.b = sin * this.d;
|
|
this.c = -sin * this.a;
|
|
this.a *= cos;
|
|
this.d *= cos;
|
|
} else {
|
|
this.b = 0;
|
|
this.c = 0;
|
|
}
|
|
this.tx = tx + width / 2;
|
|
this.ty = ty + height / 2;
|
|
}
|
|
,equals: function(matrix3) {
|
|
if(matrix3 != null && this.tx == matrix3.tx && this.ty == matrix3.ty && this.a == matrix3.a && this.b == matrix3.b && this.c == matrix3.c) {
|
|
return this.d == matrix3.d;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,deltaTransformVector: function(Vector2,result) {
|
|
if(result == null) {
|
|
result = new lime_math_Vector2();
|
|
}
|
|
result.x = Vector2.x * this.a + Vector2.y * this.c;
|
|
result.y = Vector2.x * this.b + Vector2.y * this.d;
|
|
return result;
|
|
}
|
|
,identity: function() {
|
|
this.a = 1;
|
|
this.b = 0;
|
|
this.c = 0;
|
|
this.d = 1;
|
|
this.tx = 0;
|
|
this.ty = 0;
|
|
}
|
|
,invert: function() {
|
|
var norm = this.a * this.d - this.b * this.c;
|
|
if(norm == 0) {
|
|
this.a = this.b = this.c = this.d = 0;
|
|
this.tx = -this.tx;
|
|
this.ty = -this.ty;
|
|
} else {
|
|
norm = 1.0 / norm;
|
|
var a1 = this.d * norm;
|
|
this.d = this.a * norm;
|
|
this.a = a1;
|
|
this.b *= -norm;
|
|
this.c *= -norm;
|
|
var tx1 = -this.a * this.tx - this.c * this.ty;
|
|
this.ty = -this.b * this.tx - this.d * this.ty;
|
|
this.tx = tx1;
|
|
}
|
|
return this;
|
|
}
|
|
,rotate: function(theta) {
|
|
var cos = Math.cos(theta);
|
|
var sin = Math.sin(theta);
|
|
var a1 = this.a * cos - this.b * sin;
|
|
this.b = this.a * sin + this.b * cos;
|
|
this.a = a1;
|
|
var c1 = this.c * cos - this.d * sin;
|
|
this.d = this.c * sin + this.d * cos;
|
|
this.c = c1;
|
|
var tx1 = this.tx * cos - this.ty * sin;
|
|
this.ty = this.tx * sin + this.ty * cos;
|
|
this.tx = tx1;
|
|
}
|
|
,scale: function(sx,sy) {
|
|
this.a *= sx;
|
|
this.b *= sy;
|
|
this.c *= sx;
|
|
this.d *= sy;
|
|
this.tx *= sx;
|
|
this.ty *= sy;
|
|
}
|
|
,setRotation: function(theta,scale) {
|
|
if(scale == null) {
|
|
scale = 1;
|
|
}
|
|
this.a = Math.cos(theta) * scale;
|
|
this.c = Math.sin(theta) * scale;
|
|
this.b = -this.c;
|
|
this.d = this.a;
|
|
}
|
|
,setTo: function(a,b,c,d,tx,ty) {
|
|
this.a = a;
|
|
this.b = b;
|
|
this.c = c;
|
|
this.d = d;
|
|
this.tx = tx;
|
|
this.ty = ty;
|
|
}
|
|
,to3DString: function(roundPixels) {
|
|
if(roundPixels == null) {
|
|
roundPixels = false;
|
|
}
|
|
if(roundPixels) {
|
|
return "matrix3d(" + this.a + ", " + this.b + ", " + "0, 0, " + this.c + ", " + this.d + ", " + "0, 0, 0, 0, 1, 0, " + (this.tx | 0) + ", " + (this.ty | 0) + ", 0, 1)";
|
|
} else {
|
|
return "matrix3d(" + this.a + ", " + this.b + ", " + "0, 0, " + this.c + ", " + this.d + ", " + "0, 0, 0, 0, 1, 0, " + this.tx + ", " + this.ty + ", 0, 1)";
|
|
}
|
|
}
|
|
,toString: function() {
|
|
return "matrix(" + this.a + ", " + this.b + ", " + this.c + ", " + this.d + ", " + this.tx + ", " + this.ty + ")";
|
|
}
|
|
,transformRect: function(rect,result) {
|
|
if(result == null) {
|
|
result = new lime_math_Rectangle();
|
|
}
|
|
var tx0 = this.a * rect.x + this.c * rect.y;
|
|
var tx1 = tx0;
|
|
var ty0 = this.b * rect.x + this.d * rect.y;
|
|
var ty1 = ty0;
|
|
var tx = this.a * (rect.x + rect.width) + this.c * rect.y;
|
|
var ty = this.b * (rect.x + rect.width) + this.d * rect.y;
|
|
if(tx < tx0) {
|
|
tx0 = tx;
|
|
}
|
|
if(ty < ty0) {
|
|
ty0 = ty;
|
|
}
|
|
if(tx > tx1) {
|
|
tx1 = tx;
|
|
}
|
|
if(ty > ty1) {
|
|
ty1 = ty;
|
|
}
|
|
tx = this.a * (rect.x + rect.width) + this.c * (rect.y + rect.height);
|
|
ty = this.b * (rect.x + rect.width) + this.d * (rect.y + rect.height);
|
|
if(tx < tx0) {
|
|
tx0 = tx;
|
|
}
|
|
if(ty < ty0) {
|
|
ty0 = ty;
|
|
}
|
|
if(tx > tx1) {
|
|
tx1 = tx;
|
|
}
|
|
if(ty > ty1) {
|
|
ty1 = ty;
|
|
}
|
|
tx = this.a * rect.x + this.c * (rect.y + rect.height);
|
|
ty = this.b * rect.x + this.d * (rect.y + rect.height);
|
|
if(tx < tx0) {
|
|
tx0 = tx;
|
|
}
|
|
if(ty < ty0) {
|
|
ty0 = ty;
|
|
}
|
|
if(tx > tx1) {
|
|
tx1 = tx;
|
|
}
|
|
if(ty > ty1) {
|
|
ty1 = ty;
|
|
}
|
|
result.setTo(tx0 + tx,ty0 + ty,tx1 - tx0,ty1 - ty0);
|
|
return result;
|
|
}
|
|
,transformVector: function(pos,result) {
|
|
if(result == null) {
|
|
result = new lime_math_Vector2();
|
|
}
|
|
result.x = pos.x * this.a + pos.y * this.c + this.tx;
|
|
result.y = pos.x * this.b + pos.y * this.d + this.ty;
|
|
return result;
|
|
}
|
|
,translate: function(dx,dy) {
|
|
this.tx += dx;
|
|
this.ty += dy;
|
|
}
|
|
,__class__: lime_math_Matrix3
|
|
};
|
|
var openfl_geom_Matrix = function(a,b,c,d,tx,ty) {
|
|
if(ty == null) {
|
|
ty = 0;
|
|
}
|
|
if(tx == null) {
|
|
tx = 0;
|
|
}
|
|
if(d == null) {
|
|
d = 1;
|
|
}
|
|
if(c == null) {
|
|
c = 0;
|
|
}
|
|
if(b == null) {
|
|
b = 0;
|
|
}
|
|
if(a == null) {
|
|
a = 1;
|
|
}
|
|
this.a = a;
|
|
this.b = b;
|
|
this.c = c;
|
|
this.d = d;
|
|
this.tx = tx;
|
|
this.ty = ty;
|
|
};
|
|
$hxClasses["openfl.geom.Matrix"] = openfl_geom_Matrix;
|
|
openfl_geom_Matrix.__name__ = "openfl.geom.Matrix";
|
|
openfl_geom_Matrix.prototype = {
|
|
a: null
|
|
,b: null
|
|
,c: null
|
|
,d: null
|
|
,tx: null
|
|
,ty: null
|
|
,__array: null
|
|
,clone: function() {
|
|
return new openfl_geom_Matrix(this.a,this.b,this.c,this.d,this.tx,this.ty);
|
|
}
|
|
,concat: function(m) {
|
|
var a1 = this.a * m.a + this.b * m.c;
|
|
this.b = this.a * m.b + this.b * m.d;
|
|
this.a = a1;
|
|
var c1 = this.c * m.a + this.d * m.c;
|
|
this.d = this.c * m.b + this.d * m.d;
|
|
this.c = c1;
|
|
var tx1 = this.tx * m.a + this.ty * m.c + m.tx;
|
|
this.ty = this.tx * m.b + this.ty * m.d + m.ty;
|
|
this.tx = tx1;
|
|
}
|
|
,copyColumnFrom: function(column,vector3D) {
|
|
if(column > 2) {
|
|
throw haxe_Exception.thrown("Column " + column + " out of bounds (2)");
|
|
} else if(column == 0) {
|
|
this.a = vector3D.x;
|
|
this.b = vector3D.y;
|
|
} else if(column == 1) {
|
|
this.c = vector3D.x;
|
|
this.d = vector3D.y;
|
|
} else {
|
|
this.tx = vector3D.x;
|
|
this.ty = vector3D.y;
|
|
}
|
|
}
|
|
,copyColumnTo: function(column,vector3D) {
|
|
if(column > 2) {
|
|
throw haxe_Exception.thrown("Column " + column + " out of bounds (2)");
|
|
} else if(column == 0) {
|
|
vector3D.x = this.a;
|
|
vector3D.y = this.b;
|
|
vector3D.z = 0;
|
|
} else if(column == 1) {
|
|
vector3D.x = this.c;
|
|
vector3D.y = this.d;
|
|
vector3D.z = 0;
|
|
} else {
|
|
vector3D.x = this.tx;
|
|
vector3D.y = this.ty;
|
|
vector3D.z = 1;
|
|
}
|
|
}
|
|
,copyFrom: function(sourceMatrix) {
|
|
this.a = sourceMatrix.a;
|
|
this.b = sourceMatrix.b;
|
|
this.c = sourceMatrix.c;
|
|
this.d = sourceMatrix.d;
|
|
this.tx = sourceMatrix.tx;
|
|
this.ty = sourceMatrix.ty;
|
|
}
|
|
,copyRowFrom: function(row,vector3D) {
|
|
if(row > 2) {
|
|
throw haxe_Exception.thrown("Row " + row + " out of bounds (2)");
|
|
} else if(row == 0) {
|
|
this.a = vector3D.x;
|
|
this.c = vector3D.y;
|
|
this.tx = vector3D.z;
|
|
} else if(row == 1) {
|
|
this.b = vector3D.x;
|
|
this.d = vector3D.y;
|
|
this.ty = vector3D.z;
|
|
}
|
|
}
|
|
,copyRowTo: function(row,vector3D) {
|
|
if(row > 2) {
|
|
throw haxe_Exception.thrown("Row " + row + " out of bounds (2)");
|
|
} else if(row == 0) {
|
|
vector3D.x = this.a;
|
|
vector3D.y = this.c;
|
|
vector3D.z = this.tx;
|
|
} else if(row == 1) {
|
|
vector3D.x = this.b;
|
|
vector3D.y = this.d;
|
|
vector3D.z = this.ty;
|
|
} else {
|
|
vector3D.setTo(0,0,1);
|
|
}
|
|
}
|
|
,createBox: function(scaleX,scaleY,rotation,tx,ty) {
|
|
if(ty == null) {
|
|
ty = 0;
|
|
}
|
|
if(tx == null) {
|
|
tx = 0;
|
|
}
|
|
if(rotation == null) {
|
|
rotation = 0;
|
|
}
|
|
if(rotation != 0) {
|
|
var cos = Math.cos(rotation);
|
|
var sin = Math.sin(rotation);
|
|
this.a = cos * scaleX;
|
|
this.b = sin * scaleY;
|
|
this.c = -sin * scaleX;
|
|
this.d = cos * scaleY;
|
|
} else {
|
|
this.a = scaleX;
|
|
this.b = 0;
|
|
this.c = 0;
|
|
this.d = scaleY;
|
|
}
|
|
this.tx = tx;
|
|
this.ty = ty;
|
|
}
|
|
,createGradientBox: function(width,height,rotation,tx,ty) {
|
|
if(ty == null) {
|
|
ty = 0;
|
|
}
|
|
if(tx == null) {
|
|
tx = 0;
|
|
}
|
|
if(rotation == null) {
|
|
rotation = 0;
|
|
}
|
|
this.a = width / 1638.4;
|
|
this.d = height / 1638.4;
|
|
if(rotation != 0) {
|
|
var cos = Math.cos(rotation);
|
|
var sin = Math.sin(rotation);
|
|
this.b = sin * this.d;
|
|
this.c = -sin * this.a;
|
|
this.a *= cos;
|
|
this.d *= cos;
|
|
} else {
|
|
this.b = 0;
|
|
this.c = 0;
|
|
}
|
|
this.tx = tx + width / 2;
|
|
this.ty = ty + height / 2;
|
|
}
|
|
,deltaTransformPoint: function(point) {
|
|
return new openfl_geom_Point(point.x * this.a + point.y * this.c,point.x * this.b + point.y * this.d);
|
|
}
|
|
,equals: function(matrix) {
|
|
if(matrix != null && this.tx == matrix.tx && this.ty == matrix.ty && this.a == matrix.a && this.b == matrix.b && this.c == matrix.c) {
|
|
return this.d == matrix.d;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,identity: function() {
|
|
this.a = 1;
|
|
this.b = 0;
|
|
this.c = 0;
|
|
this.d = 1;
|
|
this.tx = 0;
|
|
this.ty = 0;
|
|
}
|
|
,invert: function() {
|
|
var norm = this.a * this.d - this.b * this.c;
|
|
if(norm == 0) {
|
|
this.a = this.b = this.c = this.d = 0;
|
|
this.tx = -this.tx;
|
|
this.ty = -this.ty;
|
|
} else {
|
|
norm = 1.0 / norm;
|
|
var a1 = this.d * norm;
|
|
this.d = this.a * norm;
|
|
this.a = a1;
|
|
this.b *= -norm;
|
|
this.c *= -norm;
|
|
var tx1 = -this.a * this.tx - this.c * this.ty;
|
|
this.ty = -this.b * this.tx - this.d * this.ty;
|
|
this.tx = tx1;
|
|
}
|
|
return this;
|
|
}
|
|
,rotate: function(theta) {
|
|
var cos = Math.cos(theta);
|
|
var sin = Math.sin(theta);
|
|
var a1 = this.a * cos - this.b * sin;
|
|
this.b = this.a * sin + this.b * cos;
|
|
this.a = a1;
|
|
var c1 = this.c * cos - this.d * sin;
|
|
this.d = this.c * sin + this.d * cos;
|
|
this.c = c1;
|
|
var tx1 = this.tx * cos - this.ty * sin;
|
|
this.ty = this.tx * sin + this.ty * cos;
|
|
this.tx = tx1;
|
|
}
|
|
,scale: function(sx,sy) {
|
|
this.a *= sx;
|
|
this.b *= sy;
|
|
this.c *= sx;
|
|
this.d *= sy;
|
|
this.tx *= sx;
|
|
this.ty *= sy;
|
|
}
|
|
,setRotation: function(theta,scale) {
|
|
if(scale == null) {
|
|
scale = 1;
|
|
}
|
|
this.a = Math.cos(theta) * scale;
|
|
this.c = Math.sin(theta) * scale;
|
|
this.b = -this.c;
|
|
this.d = this.a;
|
|
}
|
|
,setTo: function(a,b,c,d,tx,ty) {
|
|
this.a = a;
|
|
this.b = b;
|
|
this.c = c;
|
|
this.d = d;
|
|
this.tx = tx;
|
|
this.ty = ty;
|
|
}
|
|
,to3DString: function(roundPixels) {
|
|
if(roundPixels == null) {
|
|
roundPixels = false;
|
|
}
|
|
if(roundPixels) {
|
|
return "matrix3d(" + this.a + ", " + this.b + ", 0, 0, " + this.c + ", " + this.d + ", 0, 0, 0, 0, 1, 0, " + (this.tx | 0) + ", " + (this.ty | 0) + ", 0, 1)";
|
|
} else {
|
|
return "matrix3d(" + this.a + ", " + this.b + ", 0, 0, " + this.c + ", " + this.d + ", 0, 0, 0, 0, 1, 0, " + this.tx + ", " + this.ty + ", 0, 1)";
|
|
}
|
|
}
|
|
,toMozString: function() {
|
|
return "matrix(" + this.a + ", " + this.b + ", " + this.c + ", " + this.d + ", " + this.tx + "px, " + this.ty + "px)";
|
|
}
|
|
,toString: function() {
|
|
return "matrix(" + this.a + ", " + this.b + ", " + this.c + ", " + this.d + ", " + this.tx + ", " + this.ty + ")";
|
|
}
|
|
,transformPoint: function(pos) {
|
|
return new openfl_geom_Point(pos.x * this.a + pos.y * this.c + this.tx,pos.x * this.b + pos.y * this.d + this.ty);
|
|
}
|
|
,translate: function(dx,dy) {
|
|
this.tx += dx;
|
|
this.ty += dy;
|
|
}
|
|
,toArray: function(transpose) {
|
|
if(transpose == null) {
|
|
transpose = false;
|
|
}
|
|
if(this.__array == null) {
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = null;
|
|
var len = null;
|
|
var this1 = new Float32Array(9);
|
|
this.__array = this1;
|
|
}
|
|
if(transpose) {
|
|
this.__array[0] = this.a;
|
|
this.__array[1] = this.b;
|
|
this.__array[2] = 0;
|
|
this.__array[3] = this.c;
|
|
this.__array[4] = this.d;
|
|
this.__array[5] = 0;
|
|
this.__array[6] = this.tx;
|
|
this.__array[7] = this.ty;
|
|
this.__array[8] = 1;
|
|
} else {
|
|
this.__array[0] = this.a;
|
|
this.__array[1] = this.c;
|
|
this.__array[2] = this.tx;
|
|
this.__array[3] = this.b;
|
|
this.__array[4] = this.d;
|
|
this.__array[5] = this.ty;
|
|
this.__array[6] = 0;
|
|
this.__array[7] = 0;
|
|
this.__array[8] = 1;
|
|
}
|
|
return this.__array;
|
|
}
|
|
,__cleanValues: function() {
|
|
this.a = Math.round(this.a * 1000) / 1000;
|
|
this.b = Math.round(this.b * 1000) / 1000;
|
|
this.c = Math.round(this.c * 1000) / 1000;
|
|
this.d = Math.round(this.d * 1000) / 1000;
|
|
this.tx = Math.round(this.tx * 10) / 10;
|
|
this.ty = Math.round(this.ty * 10) / 10;
|
|
}
|
|
,__toMatrix3: function() {
|
|
openfl_geom_Matrix.__matrix3.setTo(this.a,this.b,this.c,this.d,this.tx,this.ty);
|
|
return openfl_geom_Matrix.__matrix3;
|
|
}
|
|
,__transformInversePoint: function(point) {
|
|
var norm = this.a * this.d - this.b * this.c;
|
|
if(norm == 0) {
|
|
point.x = -this.tx;
|
|
point.y = -this.ty;
|
|
} else {
|
|
var px = 1.0 / norm * (this.c * (this.ty - point.y) + this.d * (point.x - this.tx));
|
|
point.y = 1.0 / norm * (this.a * (point.y - this.ty) + this.b * (this.tx - point.x));
|
|
point.x = px;
|
|
}
|
|
}
|
|
,__transformInverseX: function(px,py) {
|
|
var norm = this.a * this.d - this.b * this.c;
|
|
if(norm == 0) {
|
|
return -this.tx;
|
|
} else {
|
|
return 1.0 / norm * (this.c * (this.ty - py) + this.d * (px - this.tx));
|
|
}
|
|
}
|
|
,__transformInverseY: function(px,py) {
|
|
var norm = this.a * this.d - this.b * this.c;
|
|
if(norm == 0) {
|
|
return -this.ty;
|
|
} else {
|
|
return 1.0 / norm * (this.a * (py - this.ty) + this.b * (this.tx - px));
|
|
}
|
|
}
|
|
,__transformPoint: function(point) {
|
|
var px = point.x;
|
|
var py = point.y;
|
|
point.x = px * this.a + py * this.c + this.tx;
|
|
point.y = px * this.b + py * this.d + this.ty;
|
|
}
|
|
,__transformX: function(px,py) {
|
|
return px * this.a + py * this.c + this.tx;
|
|
}
|
|
,__transformY: function(px,py) {
|
|
return px * this.b + py * this.d + this.ty;
|
|
}
|
|
,__translateTransformed: function(px,py) {
|
|
this.tx = px * this.a + py * this.c + this.tx;
|
|
this.ty = px * this.b + py * this.d + this.ty;
|
|
}
|
|
,__class__: openfl_geom_Matrix
|
|
};
|
|
var openfl_geom_ColorTransform = function(redMultiplier,greenMultiplier,blueMultiplier,alphaMultiplier,redOffset,greenOffset,blueOffset,alphaOffset) {
|
|
if(alphaOffset == null) {
|
|
alphaOffset = 0;
|
|
}
|
|
if(blueOffset == null) {
|
|
blueOffset = 0;
|
|
}
|
|
if(greenOffset == null) {
|
|
greenOffset = 0;
|
|
}
|
|
if(redOffset == null) {
|
|
redOffset = 0;
|
|
}
|
|
if(alphaMultiplier == null) {
|
|
alphaMultiplier = 1;
|
|
}
|
|
if(blueMultiplier == null) {
|
|
blueMultiplier = 1;
|
|
}
|
|
if(greenMultiplier == null) {
|
|
greenMultiplier = 1;
|
|
}
|
|
if(redMultiplier == null) {
|
|
redMultiplier = 1;
|
|
}
|
|
this.redMultiplier = redMultiplier;
|
|
this.greenMultiplier = greenMultiplier;
|
|
this.blueMultiplier = blueMultiplier;
|
|
this.alphaMultiplier = alphaMultiplier;
|
|
this.redOffset = redOffset;
|
|
this.greenOffset = greenOffset;
|
|
this.blueOffset = blueOffset;
|
|
this.alphaOffset = alphaOffset;
|
|
};
|
|
$hxClasses["openfl.geom.ColorTransform"] = openfl_geom_ColorTransform;
|
|
openfl_geom_ColorTransform.__name__ = "openfl.geom.ColorTransform";
|
|
openfl_geom_ColorTransform.__limeColorMatrix = null;
|
|
openfl_geom_ColorTransform.prototype = {
|
|
alphaMultiplier: null
|
|
,alphaOffset: null
|
|
,blueMultiplier: null
|
|
,blueOffset: null
|
|
,greenMultiplier: null
|
|
,greenOffset: null
|
|
,redMultiplier: null
|
|
,redOffset: null
|
|
,concat: function(second) {
|
|
this.redOffset = second.redOffset * this.redMultiplier + this.redOffset;
|
|
this.greenOffset = second.greenOffset * this.greenMultiplier + this.greenOffset;
|
|
this.blueOffset = second.blueOffset * this.blueMultiplier + this.blueOffset;
|
|
this.alphaOffset = second.alphaOffset * this.alphaMultiplier + this.alphaOffset;
|
|
this.redMultiplier *= second.redMultiplier;
|
|
this.greenMultiplier *= second.greenMultiplier;
|
|
this.blueMultiplier *= second.blueMultiplier;
|
|
this.alphaMultiplier *= second.alphaMultiplier;
|
|
}
|
|
,toString: function() {
|
|
return "(redMultiplier=" + this.redMultiplier + ", greenMultiplier=" + this.greenMultiplier + ", blueMultiplier=" + this.blueMultiplier + ", alphaMultiplier=" + this.alphaMultiplier + ", redOffset=" + this.redOffset + ", greenOffset=" + this.greenOffset + ", blueOffset=" + this.blueOffset + ", alphaOffset=" + this.alphaOffset + ")";
|
|
}
|
|
,__clone: function() {
|
|
return new openfl_geom_ColorTransform(this.redMultiplier,this.greenMultiplier,this.blueMultiplier,this.alphaMultiplier,this.redOffset,this.greenOffset,this.blueOffset,this.alphaOffset);
|
|
}
|
|
,__copyFrom: function(ct) {
|
|
this.redMultiplier = ct.redMultiplier;
|
|
this.greenMultiplier = ct.greenMultiplier;
|
|
this.blueMultiplier = ct.blueMultiplier;
|
|
this.alphaMultiplier = ct.alphaMultiplier;
|
|
this.redOffset = ct.redOffset;
|
|
this.greenOffset = ct.greenOffset;
|
|
this.blueOffset = ct.blueOffset;
|
|
this.alphaOffset = ct.alphaOffset;
|
|
}
|
|
,__combine: function(ct) {
|
|
this.redMultiplier *= ct.redMultiplier;
|
|
this.greenMultiplier *= ct.greenMultiplier;
|
|
this.blueMultiplier *= ct.blueMultiplier;
|
|
this.alphaMultiplier *= ct.alphaMultiplier;
|
|
this.redOffset += ct.redOffset;
|
|
this.greenOffset += ct.greenOffset;
|
|
this.blueOffset += ct.blueOffset;
|
|
this.alphaOffset += ct.alphaOffset;
|
|
}
|
|
,__identity: function() {
|
|
this.redMultiplier = 1;
|
|
this.greenMultiplier = 1;
|
|
this.blueMultiplier = 1;
|
|
this.alphaMultiplier = 1;
|
|
this.redOffset = 0;
|
|
this.greenOffset = 0;
|
|
this.blueOffset = 0;
|
|
this.alphaOffset = 0;
|
|
}
|
|
,__invert: function() {
|
|
this.redMultiplier = this.redMultiplier != 0 ? 1 / this.redMultiplier : 1;
|
|
this.greenMultiplier = this.greenMultiplier != 0 ? 1 / this.greenMultiplier : 1;
|
|
this.blueMultiplier = this.blueMultiplier != 0 ? 1 / this.blueMultiplier : 1;
|
|
this.alphaMultiplier = this.alphaMultiplier != 0 ? 1 / this.alphaMultiplier : 1;
|
|
this.redOffset = -this.redOffset;
|
|
this.greenOffset = -this.greenOffset;
|
|
this.blueOffset = -this.blueOffset;
|
|
this.alphaOffset = -this.alphaOffset;
|
|
}
|
|
,__equals: function(ct,ignoreAlphaMultiplier) {
|
|
if(ct != null && this.redMultiplier == ct.redMultiplier && this.greenMultiplier == ct.greenMultiplier && this.blueMultiplier == ct.blueMultiplier && (ignoreAlphaMultiplier || this.alphaMultiplier == ct.alphaMultiplier) && this.redOffset == ct.redOffset && this.greenOffset == ct.greenOffset && this.blueOffset == ct.blueOffset) {
|
|
return this.alphaOffset == ct.alphaOffset;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,__isDefault: function(ignoreAlphaMultiplier) {
|
|
if(ignoreAlphaMultiplier) {
|
|
if(this.redMultiplier == 1 && this.greenMultiplier == 1 && this.blueMultiplier == 1 && this.redOffset == 0 && this.greenOffset == 0 && this.blueOffset == 0) {
|
|
return this.alphaOffset == 0;
|
|
} else {
|
|
return false;
|
|
}
|
|
} else if(this.redMultiplier == 1 && this.greenMultiplier == 1 && this.blueMultiplier == 1 && this.alphaMultiplier == 1 && this.redOffset == 0 && this.greenOffset == 0 && this.blueOffset == 0) {
|
|
return this.alphaOffset == 0;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,__setArrays: function(colorMultipliers,colorOffsets) {
|
|
colorMultipliers[0] = this.redMultiplier;
|
|
colorMultipliers[1] = this.greenMultiplier;
|
|
colorMultipliers[2] = this.blueMultiplier;
|
|
colorMultipliers[3] = this.alphaMultiplier;
|
|
colorOffsets[0] = this.redOffset;
|
|
colorOffsets[1] = this.greenOffset;
|
|
colorOffsets[2] = this.blueOffset;
|
|
colorOffsets[3] = this.alphaOffset;
|
|
}
|
|
,get_color: function() {
|
|
return (this.redOffset | 0) << 16 | (this.greenOffset | 0) << 8 | (this.blueOffset | 0);
|
|
}
|
|
,set_color: function(value) {
|
|
this.redOffset = value >> 16 & 255;
|
|
this.greenOffset = value >> 8 & 255;
|
|
this.blueOffset = value & 255;
|
|
this.redMultiplier = 0;
|
|
this.greenMultiplier = 0;
|
|
this.blueMultiplier = 0;
|
|
return this.get_color();
|
|
}
|
|
,__toLimeColorMatrix: function() {
|
|
if(openfl_geom_ColorTransform.__limeColorMatrix == null) {
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = null;
|
|
var len = null;
|
|
var this1 = new Float32Array(20);
|
|
openfl_geom_ColorTransform.__limeColorMatrix = this1;
|
|
}
|
|
openfl_geom_ColorTransform.__limeColorMatrix[0] = this.redMultiplier;
|
|
openfl_geom_ColorTransform.__limeColorMatrix[4] = this.redOffset / 255;
|
|
openfl_geom_ColorTransform.__limeColorMatrix[6] = this.greenMultiplier;
|
|
openfl_geom_ColorTransform.__limeColorMatrix[9] = this.greenOffset / 255;
|
|
openfl_geom_ColorTransform.__limeColorMatrix[12] = this.blueMultiplier;
|
|
openfl_geom_ColorTransform.__limeColorMatrix[14] = this.blueOffset / 255;
|
|
openfl_geom_ColorTransform.__limeColorMatrix[18] = this.alphaMultiplier;
|
|
openfl_geom_ColorTransform.__limeColorMatrix[19] = this.alphaOffset / 255;
|
|
return openfl_geom_ColorTransform.__limeColorMatrix;
|
|
}
|
|
,__class__: openfl_geom_ColorTransform
|
|
,__properties__: {set_color:"set_color",get_color:"get_color"}
|
|
};
|
|
var flixel_FlxCamera = function(X,Y,Width,Height,Zoom) {
|
|
if(Zoom == null) {
|
|
Zoom = 0;
|
|
}
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
this._helperPoint = new openfl_geom_Point();
|
|
this._helperMatrix = new flixel_math_FlxMatrix();
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
_this.x = 0;
|
|
_this.y = 0;
|
|
_this.width = 0;
|
|
_this.height = 0;
|
|
_this._inPool = false;
|
|
this._bounds = _this;
|
|
this._scrollRect = new openfl_display_Sprite();
|
|
this.initialZoom = 1;
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
this._point = point;
|
|
this._fxShakeAxes = flixel_util_FlxAxes.XY;
|
|
this._fxShakeDuration = 0;
|
|
this._fxShakeIntensity = 0;
|
|
this._fxFadeAlpha = 0;
|
|
this._fxFadeCompleted = true;
|
|
this._fxFadeComplete = null;
|
|
this._fxFadeIn = false;
|
|
this._fxFadeDuration = 0;
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
this._scrollTarget = point;
|
|
this._fxFadeColor = 0;
|
|
this._fxFlashAlpha = 0;
|
|
this._fxFlashComplete = null;
|
|
this._fxFlashDuration = 0;
|
|
this._fxFlashColor = 0;
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
this._flashOffset = point;
|
|
this._flashPoint = new openfl_geom_Point();
|
|
this.filtersEnabled = true;
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
this.followLead = point;
|
|
this.antialiasing = false;
|
|
this.color = -1;
|
|
this.angle = 0;
|
|
this.alpha = 1;
|
|
this._useBlitMatrix = false;
|
|
this._blitMatrix = new flixel_math_FlxMatrix();
|
|
this.viewHeight = 0;
|
|
this.viewWidth = 0;
|
|
this.viewOffsetHeight = 0;
|
|
this.viewOffsetWidth = 0;
|
|
this.viewOffsetY = 0;
|
|
this.viewOffsetX = 0;
|
|
this.height = 0;
|
|
this.width = 0;
|
|
this.flashSprite = new openfl_display_Sprite();
|
|
this.useBgAlphaBlending = false;
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
this.scroll = point;
|
|
this.followLerp = 60 / flixel_FlxG.updateFramerate;
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
this.targetOffset = point;
|
|
this.scaleY = 0;
|
|
this.scaleX = 0;
|
|
this.y = 0;
|
|
this.x = 0;
|
|
flixel_FlxBasic.call(this);
|
|
this.set_x(X);
|
|
this.set_y(Y);
|
|
this.set_width(Width <= 0 ? flixel_FlxG.width : Width);
|
|
this.set_height(Height <= 0 ? flixel_FlxG.height : Height);
|
|
this._flashRect = new openfl_geom_Rectangle(0,0,this.width,this.height);
|
|
this.flashSprite.addChild(this._scrollRect);
|
|
this._scrollRect.set_scrollRect(new openfl_geom_Rectangle());
|
|
this.pixelPerfectRender = flixel_FlxG.renderBlit;
|
|
if(flixel_FlxG.renderBlit) {
|
|
this.screen = new flixel_FlxSprite();
|
|
this.buffer = new openfl_display_BitmapData(this.width,this.height,true,0);
|
|
this.screen.set_pixels(this.buffer);
|
|
this.screen.origin.set();
|
|
this._flashBitmap = new openfl_display_Bitmap(this.buffer);
|
|
this._scrollRect.addChild(this._flashBitmap);
|
|
this._fill = new openfl_display_BitmapData(this.width,this.height,true,0);
|
|
} else {
|
|
this.canvas = new openfl_display_Sprite();
|
|
this._scrollRect.addChild(this.canvas);
|
|
}
|
|
this.set_color(-1);
|
|
this.initialZoom = Zoom == 0 ? flixel_FlxCamera.defaultZoom : Zoom;
|
|
this.set_zoom(Zoom);
|
|
this.updateScrollRect();
|
|
this.updateFlashOffset();
|
|
this.updateFlashSpritePosition();
|
|
this.updateInternalSpritePositions();
|
|
this.bgColor = flixel_FlxG.cameras.get_bgColor();
|
|
};
|
|
$hxClasses["flixel.FlxCamera"] = flixel_FlxCamera;
|
|
flixel_FlxCamera.__name__ = "flixel.FlxCamera";
|
|
flixel_FlxCamera.defaultZoom = null;
|
|
flixel_FlxCamera.defaultCameras = null;
|
|
flixel_FlxCamera._storageTilesHead = null;
|
|
flixel_FlxCamera._storageTrianglesHead = null;
|
|
flixel_FlxCamera.__super__ = flixel_FlxBasic;
|
|
flixel_FlxCamera.prototype = $extend(flixel_FlxBasic.prototype,{
|
|
x: null
|
|
,y: null
|
|
,scaleX: null
|
|
,scaleY: null
|
|
,totalScaleX: null
|
|
,totalScaleY: null
|
|
,style: null
|
|
,target: null
|
|
,targetOffset: null
|
|
,followLerp: null
|
|
,deadzone: null
|
|
,minScrollX: null
|
|
,maxScrollX: null
|
|
,minScrollY: null
|
|
,maxScrollY: null
|
|
,scroll: null
|
|
,buffer: null
|
|
,bgColor: null
|
|
,screen: null
|
|
,useBgAlphaBlending: null
|
|
,flashSprite: null
|
|
,pixelPerfectRender: null
|
|
,width: null
|
|
,height: null
|
|
,zoom: null
|
|
,viewOffsetX: null
|
|
,viewOffsetY: null
|
|
,viewOffsetWidth: null
|
|
,viewOffsetHeight: null
|
|
,viewWidth: null
|
|
,viewHeight: null
|
|
,_blitMatrix: null
|
|
,_useBlitMatrix: null
|
|
,alpha: null
|
|
,angle: null
|
|
,color: null
|
|
,antialiasing: null
|
|
,followLead: null
|
|
,filtersEnabled: null
|
|
,_flashRect: null
|
|
,_flashPoint: null
|
|
,_flashOffset: null
|
|
,_fxFlashColor: null
|
|
,_fxFlashDuration: null
|
|
,_fxFlashComplete: null
|
|
,_fxFlashAlpha: null
|
|
,_fxFadeColor: null
|
|
,_lastTargetPosition: null
|
|
,_scrollTarget: null
|
|
,_fxFadeDuration: null
|
|
,_fxFadeIn: null
|
|
,_fxFadeComplete: null
|
|
,_fxFadeCompleted: null
|
|
,_fxFadeAlpha: null
|
|
,_fxShakeIntensity: null
|
|
,_fxShakeDuration: null
|
|
,_fxShakeComplete: null
|
|
,_fxShakeAxes: null
|
|
,_point: null
|
|
,_filters: null
|
|
,initialZoom: null
|
|
,_fill: null
|
|
,_flashBitmap: null
|
|
,_scrollRect: null
|
|
,_bounds: null
|
|
,canvas: null
|
|
,_helperMatrix: null
|
|
,_helperPoint: null
|
|
,_currentDrawItem: null
|
|
,_headOfDrawStack: null
|
|
,_headTiles: null
|
|
,_headTriangles: null
|
|
,startQuadBatch: function(graphic,colored,hasColorOffsets,blend,smooth,shader) {
|
|
if(smooth == null) {
|
|
smooth = false;
|
|
}
|
|
if(hasColorOffsets == null) {
|
|
hasColorOffsets = false;
|
|
}
|
|
var itemToReturn = null;
|
|
var blendInt = flixel_graphics_tile_FlxDrawBaseItem.blendToInt(blend);
|
|
if(this._currentDrawItem != null && this._currentDrawItem.type == flixel_graphics_tile_FlxDrawItemType.TILES && this._headTiles.graphics == graphic && this._headTiles.colored == colored && this._headTiles.hasColorOffsets == hasColorOffsets && this._headTiles.blending == blendInt && this._headTiles.blend == blend && this._headTiles.antialiasing == smooth && this._headTiles.shader == shader) {
|
|
return this._headTiles;
|
|
}
|
|
if(flixel_FlxCamera._storageTilesHead != null) {
|
|
itemToReturn = flixel_FlxCamera._storageTilesHead;
|
|
var newHead = flixel_FlxCamera._storageTilesHead.nextTyped;
|
|
itemToReturn.reset();
|
|
flixel_FlxCamera._storageTilesHead = newHead;
|
|
} else {
|
|
itemToReturn = new flixel_graphics_tile_FlxDrawQuadsItem();
|
|
}
|
|
itemToReturn.graphics = graphic;
|
|
itemToReturn.antialiasing = smooth;
|
|
itemToReturn.colored = colored;
|
|
itemToReturn.hasColorOffsets = hasColorOffsets;
|
|
itemToReturn.blending = blendInt;
|
|
itemToReturn.blend = blend;
|
|
itemToReturn.shader = shader;
|
|
itemToReturn.nextTyped = this._headTiles;
|
|
this._headTiles = itemToReturn;
|
|
if(this._headOfDrawStack == null) {
|
|
this._headOfDrawStack = itemToReturn;
|
|
}
|
|
if(this._currentDrawItem != null) {
|
|
this._currentDrawItem.next = itemToReturn;
|
|
}
|
|
this._currentDrawItem = itemToReturn;
|
|
return itemToReturn;
|
|
}
|
|
,startTrianglesBatch: function(graphic,smoothing,isColored,blend) {
|
|
if(isColored == null) {
|
|
isColored = false;
|
|
}
|
|
if(smoothing == null) {
|
|
smoothing = false;
|
|
}
|
|
var blendInt = flixel_graphics_tile_FlxDrawBaseItem.blendToInt(blend);
|
|
if(this._currentDrawItem != null && this._currentDrawItem.type == flixel_graphics_tile_FlxDrawItemType.TRIANGLES && this._headTriangles.graphics == graphic && this._headTriangles.antialiasing == smoothing && this._headTriangles.colored == isColored && this._headTriangles.blending == blendInt) {
|
|
return this._headTriangles;
|
|
}
|
|
return this.getNewDrawTrianglesItem(graphic,smoothing,isColored,blend);
|
|
}
|
|
,getNewDrawTrianglesItem: function(graphic,smoothing,isColored,blend) {
|
|
if(isColored == null) {
|
|
isColored = false;
|
|
}
|
|
if(smoothing == null) {
|
|
smoothing = false;
|
|
}
|
|
var itemToReturn = null;
|
|
var blendInt = flixel_graphics_tile_FlxDrawBaseItem.blendToInt(blend);
|
|
if(flixel_FlxCamera._storageTrianglesHead != null) {
|
|
itemToReturn = flixel_FlxCamera._storageTrianglesHead;
|
|
var newHead = flixel_FlxCamera._storageTrianglesHead.nextTyped;
|
|
itemToReturn.reset();
|
|
flixel_FlxCamera._storageTrianglesHead = newHead;
|
|
} else {
|
|
itemToReturn = new flixel_graphics_tile_FlxDrawTrianglesItem();
|
|
}
|
|
itemToReturn.graphics = graphic;
|
|
itemToReturn.antialiasing = smoothing;
|
|
itemToReturn.colored = isColored;
|
|
itemToReturn.blending = blendInt;
|
|
itemToReturn.nextTyped = this._headTriangles;
|
|
this._headTriangles = itemToReturn;
|
|
if(this._headOfDrawStack == null) {
|
|
this._headOfDrawStack = itemToReturn;
|
|
}
|
|
if(this._currentDrawItem != null) {
|
|
this._currentDrawItem.next = itemToReturn;
|
|
}
|
|
this._currentDrawItem = itemToReturn;
|
|
return itemToReturn;
|
|
}
|
|
,clearDrawStack: function() {
|
|
var currTiles = this._headTiles;
|
|
var newTilesHead;
|
|
while(currTiles != null) {
|
|
newTilesHead = currTiles.nextTyped;
|
|
currTiles.reset();
|
|
currTiles.nextTyped = flixel_FlxCamera._storageTilesHead;
|
|
flixel_FlxCamera._storageTilesHead = currTiles;
|
|
currTiles = newTilesHead;
|
|
}
|
|
var currTriangles = this._headTriangles;
|
|
var newTrianglesHead;
|
|
while(currTriangles != null) {
|
|
newTrianglesHead = currTriangles.nextTyped;
|
|
currTriangles.reset();
|
|
currTriangles.nextTyped = flixel_FlxCamera._storageTrianglesHead;
|
|
flixel_FlxCamera._storageTrianglesHead = currTriangles;
|
|
currTriangles = newTrianglesHead;
|
|
}
|
|
this._currentDrawItem = null;
|
|
this._headOfDrawStack = null;
|
|
this._headTiles = null;
|
|
this._headTriangles = null;
|
|
}
|
|
,render: function() {
|
|
var currItem = this._headOfDrawStack;
|
|
while(currItem != null) {
|
|
currItem.render(this);
|
|
currItem = currItem.next;
|
|
}
|
|
}
|
|
,drawPixels: function(frame,pixels,matrix,transform,blend,smoothing,shader) {
|
|
if(smoothing == null) {
|
|
smoothing = false;
|
|
}
|
|
if(flixel_FlxG.renderBlit) {
|
|
this._helperMatrix.copyFrom(matrix);
|
|
if(this._useBlitMatrix) {
|
|
this._helperMatrix.concat(this._blitMatrix);
|
|
this.buffer.draw(pixels,this._helperMatrix,null,null,null,smoothing || this.antialiasing);
|
|
} else {
|
|
this._helperMatrix.translate(-this.viewOffsetX,-this.viewOffsetY);
|
|
this.buffer.draw(pixels,this._helperMatrix,null,blend,null,smoothing || this.antialiasing);
|
|
}
|
|
} else {
|
|
var isColored = transform != null && flixel_util_FlxColorTransformUtil.hasRGBMultipliers(transform);
|
|
var hasColorOffsets = transform != null && flixel_util_FlxColorTransformUtil.hasRGBAOffsets(transform);
|
|
var drawItem = this.startQuadBatch(frame.parent,isColored,hasColorOffsets,blend,smoothing,shader);
|
|
drawItem.addQuad(frame,matrix,transform);
|
|
}
|
|
}
|
|
,copyPixels: function(frame,pixels,sourceRect,destPoint,transform,blend,smoothing,shader) {
|
|
if(smoothing == null) {
|
|
smoothing = false;
|
|
}
|
|
if(flixel_FlxG.renderBlit) {
|
|
if(pixels != null) {
|
|
if(this._useBlitMatrix) {
|
|
this._helperMatrix.identity();
|
|
this._helperMatrix.translate(destPoint.x,destPoint.y);
|
|
this._helperMatrix.concat(this._blitMatrix);
|
|
this.buffer.draw(pixels,this._helperMatrix,null,null,null,smoothing || this.antialiasing);
|
|
} else {
|
|
this._helperPoint.x = destPoint.x - (this.viewOffsetX | 0);
|
|
this._helperPoint.y = destPoint.y - (this.viewOffsetY | 0);
|
|
this.buffer.copyPixels(pixels,sourceRect,this._helperPoint,null,null,true);
|
|
}
|
|
} else if(frame != null) {
|
|
frame.paint(this.buffer,destPoint,true);
|
|
}
|
|
} else {
|
|
this._helperMatrix.identity();
|
|
this._helperMatrix.translate(destPoint.x + frame.offset.x,destPoint.y + frame.offset.y);
|
|
var isColored = transform != null && flixel_util_FlxColorTransformUtil.hasRGBMultipliers(transform);
|
|
var hasColorOffsets = transform != null && flixel_util_FlxColorTransformUtil.hasRGBAOffsets(transform);
|
|
var drawItem = this.startQuadBatch(frame.parent,isColored,hasColorOffsets,blend,smoothing,shader);
|
|
drawItem.addQuad(frame,this._helperMatrix,transform);
|
|
}
|
|
}
|
|
,drawTriangles: function(graphic,vertices,indices,uvtData,colors,position,blend,repeat,smoothing) {
|
|
if(smoothing == null) {
|
|
smoothing = false;
|
|
}
|
|
if(repeat == null) {
|
|
repeat = false;
|
|
}
|
|
if(flixel_FlxG.renderBlit) {
|
|
if(position == null) {
|
|
position = flixel_FlxCamera.renderPoint.set();
|
|
}
|
|
var _this = this._bounds;
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = this.width;
|
|
var Height = this.height;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var verticesLength = vertices.get_length();
|
|
var currentVertexPosition = 0;
|
|
var tempX;
|
|
var tempY;
|
|
var i = 0;
|
|
var _this = flixel_FlxCamera.renderRect;
|
|
_this.x = 0;
|
|
_this.y = 0;
|
|
_this.width = 0;
|
|
_this.height = 0;
|
|
var bounds = _this;
|
|
flixel_FlxCamera.drawVertices.splice(0,flixel_FlxCamera.drawVertices.get_length());
|
|
while(i < verticesLength) {
|
|
tempX = position.x + vertices.get(i);
|
|
tempY = position.y + vertices.get(i + 1);
|
|
flixel_FlxCamera.drawVertices.set(currentVertexPosition++,tempX);
|
|
flixel_FlxCamera.drawVertices.set(currentVertexPosition++,tempY);
|
|
if(i == 0) {
|
|
var X = tempX;
|
|
var Y = tempY;
|
|
var Width = 0;
|
|
var Height = 0;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
bounds.x = X;
|
|
bounds.y = Y;
|
|
bounds.width = Width;
|
|
bounds.height = Height;
|
|
} else {
|
|
if(tempX < bounds.x) {
|
|
bounds.width += bounds.x - tempX;
|
|
bounds.x = tempX;
|
|
}
|
|
if(tempY < bounds.y) {
|
|
bounds.height += bounds.y - tempY;
|
|
bounds.y = tempY;
|
|
}
|
|
if(tempX > bounds.x + bounds.width) {
|
|
bounds.width = tempX - bounds.x;
|
|
}
|
|
if(tempY > bounds.y + bounds.height) {
|
|
bounds.height = tempY - bounds.y;
|
|
}
|
|
}
|
|
i += 2;
|
|
}
|
|
if(position._weak) {
|
|
position.put();
|
|
}
|
|
var _this = this._bounds;
|
|
var result = bounds.x + bounds.width > _this.x && bounds.x < _this.x + _this.width && bounds.y + bounds.height > _this.y && bounds.y < _this.y + _this.height;
|
|
if(bounds._weak) {
|
|
if(!bounds._inPool) {
|
|
bounds._inPool = true;
|
|
bounds._weak = false;
|
|
flixel_math_FlxRect._pool.putUnsafe(bounds);
|
|
}
|
|
}
|
|
if(!result) {
|
|
flixel_FlxCamera.drawVertices.splice(flixel_FlxCamera.drawVertices.get_length() - verticesLength,verticesLength);
|
|
} else {
|
|
flixel_FlxCamera.trianglesSprite.get_graphics().clear();
|
|
flixel_FlxCamera.trianglesSprite.get_graphics().beginBitmapFill(graphic.bitmap,null,repeat,smoothing);
|
|
flixel_FlxCamera.trianglesSprite.get_graphics().drawTriangles(flixel_FlxCamera.drawVertices,indices,uvtData);
|
|
flixel_FlxCamera.trianglesSprite.get_graphics().endFill();
|
|
if(this._useBlitMatrix) {
|
|
this._helperMatrix.copyFrom(this._blitMatrix);
|
|
} else {
|
|
this._helperMatrix.identity();
|
|
this._helperMatrix.translate(-this.viewOffsetX,-this.viewOffsetY);
|
|
}
|
|
this.buffer.draw(flixel_FlxCamera.trianglesSprite,this._helperMatrix);
|
|
}
|
|
if(!bounds._inPool) {
|
|
bounds._inPool = true;
|
|
bounds._weak = false;
|
|
flixel_math_FlxRect._pool.putUnsafe(bounds);
|
|
}
|
|
} else {
|
|
var _this = this._bounds;
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = this.width;
|
|
var Height = this.height;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var isColored = colors != null && colors.get_length() != 0;
|
|
var drawItem = this.startTrianglesBatch(graphic,smoothing,isColored,blend);
|
|
drawItem.addTriangles(vertices,indices,uvtData,colors,position,this._bounds);
|
|
}
|
|
}
|
|
,transformRect: function(rect) {
|
|
if(flixel_FlxG.renderBlit) {
|
|
rect.x += -this.viewOffsetX;
|
|
rect.y += -this.viewOffsetY;
|
|
if(this._useBlitMatrix) {
|
|
rect.x *= this.zoom;
|
|
rect.y *= this.zoom;
|
|
rect.width *= this.zoom;
|
|
rect.height *= this.zoom;
|
|
}
|
|
}
|
|
return rect;
|
|
}
|
|
,transformPoint: function(point) {
|
|
if(flixel_FlxG.renderBlit) {
|
|
var X = this.viewOffsetX;
|
|
var Y = this.viewOffsetY;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _g = point;
|
|
_g.set_x(_g.x - X);
|
|
var _g = point;
|
|
_g.set_y(_g.y - Y);
|
|
if(this._useBlitMatrix) {
|
|
point.scale(this.zoom);
|
|
}
|
|
}
|
|
return point;
|
|
}
|
|
,transformVector: function(vector) {
|
|
if(flixel_FlxG.renderBlit && this._useBlitMatrix) {
|
|
vector.scale(this.zoom);
|
|
}
|
|
return vector;
|
|
}
|
|
,transformObject: function(object) {
|
|
var _g = object;
|
|
_g.set_scaleX(_g.get_scaleX() * this.totalScaleX);
|
|
var _g = object;
|
|
_g.set_scaleY(_g.get_scaleY() * this.totalScaleY);
|
|
var _g = object;
|
|
_g.set_x(_g.get_x() - this.scroll.x * this.totalScaleX);
|
|
var _g = object;
|
|
_g.set_y(_g.get_y() - this.scroll.y * this.totalScaleY);
|
|
var _g = object;
|
|
_g.set_x(_g.get_x() - 0.5 * this.width * (this.scaleX - this.initialZoom) * flixel_FlxG.scaleMode.scale.x);
|
|
var _g = object;
|
|
_g.set_y(_g.get_y() - 0.5 * this.height * (this.scaleY - this.initialZoom) * flixel_FlxG.scaleMode.scale.y);
|
|
return object;
|
|
}
|
|
,destroy: function() {
|
|
flixel_util_FlxDestroyUtil.removeChild(this.flashSprite,this._scrollRect);
|
|
if(flixel_FlxG.renderBlit) {
|
|
flixel_util_FlxDestroyUtil.removeChild(this._scrollRect,this._flashBitmap);
|
|
this.screen = flixel_util_FlxDestroyUtil.destroy(this.screen);
|
|
this.buffer = null;
|
|
this._flashBitmap = null;
|
|
this._fill = flixel_util_FlxDestroyUtil.dispose(this._fill);
|
|
} else {
|
|
flixel_util_FlxDestroyUtil.removeChild(this._scrollRect,this.canvas);
|
|
if(this.canvas != null) {
|
|
var _g = 0;
|
|
var _g1 = this.canvas.get_numChildren();
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
this.canvas.removeChildAt(0);
|
|
}
|
|
this.canvas = null;
|
|
}
|
|
if(this._headOfDrawStack != null) {
|
|
this.clearDrawStack();
|
|
}
|
|
this._blitMatrix = null;
|
|
this._helperMatrix = null;
|
|
this._helperPoint = null;
|
|
}
|
|
this._bounds = null;
|
|
this.scroll = flixel_util_FlxDestroyUtil.put(this.scroll);
|
|
this.targetOffset = flixel_util_FlxDestroyUtil.put(this.targetOffset);
|
|
this.deadzone = flixel_util_FlxDestroyUtil.put(this.deadzone);
|
|
this.target = null;
|
|
this.flashSprite = null;
|
|
this._scrollRect = null;
|
|
this._flashRect = null;
|
|
this._flashPoint = null;
|
|
this._fxFlashComplete = null;
|
|
this._fxFadeComplete = null;
|
|
this._fxShakeComplete = null;
|
|
flixel_FlxBasic.prototype.destroy.call(this);
|
|
}
|
|
,update: function(elapsed) {
|
|
if(this.target != null) {
|
|
this.updateFollow();
|
|
}
|
|
this.updateScroll();
|
|
this.updateFlash(elapsed);
|
|
this.updateFade(elapsed);
|
|
this.flashSprite.set_filters(this.filtersEnabled ? this._filters : null);
|
|
this.updateFlashSpritePosition();
|
|
this.updateShake(elapsed);
|
|
}
|
|
,updateScroll: function() {
|
|
var zoom = this.zoom / flixel_FlxG.initialZoom;
|
|
var minX = this.minScrollX == null ? null : this.minScrollX - (zoom - 1) * this.width / (2 * zoom);
|
|
var maxX = this.maxScrollX == null ? null : this.maxScrollX + (zoom - 1) * this.width / (2 * zoom);
|
|
var minY = this.minScrollY == null ? null : this.minScrollY - (zoom - 1) * this.height / (2 * zoom);
|
|
var maxY = this.maxScrollY == null ? null : this.maxScrollY + (zoom - 1) * this.height / (2 * zoom);
|
|
var Value = this.scroll.x;
|
|
var Max = maxX != null ? maxX - this.width : null;
|
|
var lowerBound = minX != null && Value < minX ? minX : Value;
|
|
this.scroll.set_x(Max != null && lowerBound > Max ? Max : lowerBound);
|
|
var Value = this.scroll.y;
|
|
var Max = maxY != null ? maxY - this.height : null;
|
|
var lowerBound = minY != null && Value < minY ? minY : Value;
|
|
this.scroll.set_y(Max != null && lowerBound > Max ? Max : lowerBound);
|
|
}
|
|
,updateFollow: function() {
|
|
if(this.deadzone == null) {
|
|
this.target.getMidpoint(this._point);
|
|
this._point.addPoint(this.targetOffset);
|
|
var point = this._point;
|
|
this.scroll.set(point.x - this.width * 0.5,point.y - this.height * 0.5);
|
|
if(point._weak) {
|
|
point.put();
|
|
}
|
|
} else {
|
|
var edge;
|
|
var targetX = this.target.x + this.targetOffset.x;
|
|
var targetY = this.target.y + this.targetOffset.y;
|
|
if(this.style == flixel_FlxCameraFollowStyle.SCREEN_BY_SCREEN) {
|
|
if(targetX >= this.scroll.x + this.width) {
|
|
var _g = this._scrollTarget;
|
|
_g.set_x(_g.x + this.width);
|
|
} else if(targetX < this.scroll.x) {
|
|
var _g = this._scrollTarget;
|
|
_g.set_x(_g.x - this.width);
|
|
}
|
|
if(targetY >= this.scroll.y + this.height) {
|
|
var _g = this._scrollTarget;
|
|
_g.set_y(_g.y + this.height);
|
|
} else if(targetY < this.scroll.y) {
|
|
var _g = this._scrollTarget;
|
|
_g.set_y(_g.y - this.height);
|
|
}
|
|
} else {
|
|
edge = targetX - this.deadzone.x;
|
|
if(this._scrollTarget.x > edge) {
|
|
this._scrollTarget.set_x(edge);
|
|
}
|
|
edge = targetX + this.target.get_width() - this.deadzone.x - this.deadzone.width;
|
|
if(this._scrollTarget.x < edge) {
|
|
this._scrollTarget.set_x(edge);
|
|
}
|
|
edge = targetY - this.deadzone.y;
|
|
if(this._scrollTarget.y > edge) {
|
|
this._scrollTarget.set_y(edge);
|
|
}
|
|
edge = targetY + this.target.get_height() - this.deadzone.y - this.deadzone.height;
|
|
if(this._scrollTarget.y < edge) {
|
|
this._scrollTarget.set_y(edge);
|
|
}
|
|
}
|
|
if(((this.target) instanceof flixel_FlxSprite)) {
|
|
if(this._lastTargetPosition == null) {
|
|
var X = this.target.x;
|
|
var Y = this.target.y;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
this._lastTargetPosition = point;
|
|
}
|
|
var _g = this._scrollTarget;
|
|
_g.set_x(_g.x + (this.target.x - this._lastTargetPosition.x) * this.followLead.x);
|
|
var _g = this._scrollTarget;
|
|
_g.set_y(_g.y + (this.target.y - this._lastTargetPosition.y) * this.followLead.y);
|
|
this._lastTargetPosition.set_x(this.target.x);
|
|
this._lastTargetPosition.set_y(this.target.y);
|
|
}
|
|
if(this.followLerp >= 60 / flixel_FlxG.updateFramerate) {
|
|
var _this = this.scroll;
|
|
var point = this._scrollTarget;
|
|
_this.set_x(point.x);
|
|
_this.set_y(point.y);
|
|
if(point._weak) {
|
|
point.put();
|
|
}
|
|
} else {
|
|
var _g = this.scroll;
|
|
_g.set_x(_g.x + (this._scrollTarget.x - this.scroll.x) * this.followLerp * flixel_FlxG.updateFramerate / 60);
|
|
var _g = this.scroll;
|
|
_g.set_y(_g.y + (this._scrollTarget.y - this.scroll.y) * this.followLerp * flixel_FlxG.updateFramerate / 60);
|
|
}
|
|
}
|
|
}
|
|
,updateFlash: function(elapsed) {
|
|
if(this._fxFlashAlpha > 0.0) {
|
|
this._fxFlashAlpha -= elapsed / this._fxFlashDuration;
|
|
if(this._fxFlashAlpha <= 0 && this._fxFlashComplete != null) {
|
|
this._fxFlashComplete();
|
|
}
|
|
}
|
|
}
|
|
,updateFade: function(elapsed) {
|
|
if(this._fxFadeCompleted) {
|
|
return;
|
|
}
|
|
if(this._fxFadeIn) {
|
|
this._fxFadeAlpha -= elapsed / this._fxFadeDuration;
|
|
if(this._fxFadeAlpha <= 0.0) {
|
|
this._fxFadeAlpha = 0.0;
|
|
this.completeFade();
|
|
}
|
|
} else {
|
|
this._fxFadeAlpha += elapsed / this._fxFadeDuration;
|
|
if(this._fxFadeAlpha >= 1.0) {
|
|
this._fxFadeAlpha = 1.0;
|
|
this.completeFade();
|
|
}
|
|
}
|
|
}
|
|
,completeFade: function() {
|
|
this._fxFadeCompleted = true;
|
|
if(this._fxFadeComplete != null) {
|
|
this._fxFadeComplete();
|
|
}
|
|
}
|
|
,updateShake: function(elapsed) {
|
|
if(this._fxShakeDuration > 0) {
|
|
this._fxShakeDuration -= elapsed;
|
|
if(this._fxShakeDuration <= 0) {
|
|
if(this._fxShakeComplete != null) {
|
|
this._fxShakeComplete();
|
|
}
|
|
} else {
|
|
if(this._fxShakeAxes != flixel_util_FlxAxes.Y) {
|
|
var _g = this.flashSprite;
|
|
_g.set_x(_g.get_x() + flixel_FlxG.random.float(-this._fxShakeIntensity * this.width,this._fxShakeIntensity * this.width) * this.zoom * flixel_FlxG.scaleMode.scale.x);
|
|
}
|
|
if(this._fxShakeAxes != flixel_util_FlxAxes.X) {
|
|
var _g = this.flashSprite;
|
|
_g.set_y(_g.get_y() + flixel_FlxG.random.float(-this._fxShakeIntensity * this.height,this._fxShakeIntensity * this.height) * this.zoom * flixel_FlxG.scaleMode.scale.y);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,updateFlashSpritePosition: function() {
|
|
if(this.flashSprite != null) {
|
|
this.flashSprite.set_x(this.x * flixel_FlxG.scaleMode.scale.x + this._flashOffset.x);
|
|
this.flashSprite.set_y(this.y * flixel_FlxG.scaleMode.scale.y + this._flashOffset.y);
|
|
}
|
|
}
|
|
,updateFlashOffset: function() {
|
|
this._flashOffset.set_x(this.width * 0.5 * flixel_FlxG.scaleMode.scale.x * this.initialZoom);
|
|
this._flashOffset.set_y(this.height * 0.5 * flixel_FlxG.scaleMode.scale.y * this.initialZoom);
|
|
}
|
|
,updateScrollRect: function() {
|
|
var rect = this._scrollRect != null ? this._scrollRect.get_scrollRect() : null;
|
|
if(rect != null) {
|
|
rect.x = rect.y = 0;
|
|
rect.width = this.width * this.initialZoom * flixel_FlxG.scaleMode.scale.x;
|
|
rect.height = this.height * this.initialZoom * flixel_FlxG.scaleMode.scale.y;
|
|
this._scrollRect.set_scrollRect(rect);
|
|
this._scrollRect.set_x(-0.5 * rect.width);
|
|
this._scrollRect.set_y(-0.5 * rect.height);
|
|
}
|
|
}
|
|
,updateInternalSpritePositions: function() {
|
|
if(flixel_FlxG.renderBlit) {
|
|
if(this._flashBitmap != null) {
|
|
this._flashBitmap.set_x(0);
|
|
this._flashBitmap.set_y(0);
|
|
}
|
|
} else if(this.canvas != null) {
|
|
this.canvas.set_x(-0.5 * this.width * (this.scaleX - this.initialZoom) * flixel_FlxG.scaleMode.scale.x);
|
|
this.canvas.set_y(-0.5 * this.height * (this.scaleY - this.initialZoom) * flixel_FlxG.scaleMode.scale.y);
|
|
this.canvas.set_scaleX(this.totalScaleX);
|
|
this.canvas.set_scaleY(this.totalScaleY);
|
|
}
|
|
}
|
|
,follow: function(Target,Style,Lerp) {
|
|
if(Style == null) {
|
|
Style = flixel_FlxCameraFollowStyle.LOCKON;
|
|
}
|
|
if(Lerp == null) {
|
|
Lerp = 60 / flixel_FlxG.updateFramerate;
|
|
}
|
|
this.style = Style;
|
|
this.target = Target;
|
|
this.set_followLerp(Lerp);
|
|
var helper;
|
|
var w = 0;
|
|
var h = 0;
|
|
this._lastTargetPosition = null;
|
|
switch(Style._hx_index) {
|
|
case 0:
|
|
if(this.target != null) {
|
|
w = this.target.get_width();
|
|
h = this.target.get_height();
|
|
}
|
|
var X = (this.width - w) / 2;
|
|
var Y = (this.height - h) / 2 - h * 0.25;
|
|
var Width = w;
|
|
var Height = h;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
_this.x = X1;
|
|
_this.y = Y1;
|
|
_this.width = Width1;
|
|
_this.height = Height1;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
this.deadzone = rect;
|
|
break;
|
|
case 1:
|
|
var w = this.width / 8;
|
|
var h = this.height / 3;
|
|
var X = (this.width - w) / 2;
|
|
var Y = (this.height - h) / 2 - h * 0.25;
|
|
var Width = w;
|
|
var Height = h;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
_this.x = X1;
|
|
_this.y = Y1;
|
|
_this.width = Width1;
|
|
_this.height = Height1;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
this.deadzone = rect;
|
|
break;
|
|
case 2:
|
|
helper = Math.max(this.width,this.height) / 4;
|
|
var X = (this.width - helper) / 2;
|
|
var Y = (this.height - helper) / 2;
|
|
var Width = helper;
|
|
var Height = helper;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
_this.x = X1;
|
|
_this.y = Y1;
|
|
_this.width = Width1;
|
|
_this.height = Height1;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
this.deadzone = rect;
|
|
break;
|
|
case 3:
|
|
helper = Math.max(this.width,this.height) / 8;
|
|
var X = (this.width - helper) / 2;
|
|
var Y = (this.height - helper) / 2;
|
|
var Width = helper;
|
|
var Height = helper;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
_this.x = X1;
|
|
_this.y = Y1;
|
|
_this.width = Width1;
|
|
_this.height = Height1;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
this.deadzone = rect;
|
|
break;
|
|
case 4:
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = this.width;
|
|
var Height = this.height;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
_this.x = X1;
|
|
_this.y = Y1;
|
|
_this.width = Width1;
|
|
_this.height = Height1;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
this.deadzone = rect;
|
|
break;
|
|
case 5:
|
|
this.deadzone = null;
|
|
break;
|
|
}
|
|
}
|
|
,snapToTarget: function() {
|
|
this.updateFollow();
|
|
var _this = this.scroll;
|
|
var point = this._scrollTarget;
|
|
_this.set_x(point.x);
|
|
_this.set_y(point.y);
|
|
if(point._weak) {
|
|
point.put();
|
|
}
|
|
}
|
|
,focusOn: function(point) {
|
|
this.scroll.set(point.x - this.width * 0.5,point.y - this.height * 0.5);
|
|
if(point._weak) {
|
|
point.put();
|
|
}
|
|
}
|
|
,flash: function(Color,Duration,OnComplete,Force) {
|
|
if(Force == null) {
|
|
Force = false;
|
|
}
|
|
if(Duration == null) {
|
|
Duration = 1;
|
|
}
|
|
if(Color == null) {
|
|
Color = -1;
|
|
}
|
|
if(!Force && this._fxFlashAlpha > 0.0) {
|
|
return;
|
|
}
|
|
this._fxFlashColor = Color;
|
|
if(Duration <= 0) {
|
|
Duration = 0.000001;
|
|
}
|
|
this._fxFlashDuration = Duration;
|
|
this._fxFlashComplete = OnComplete;
|
|
this._fxFlashAlpha = 1.0;
|
|
}
|
|
,fade: function(Color,Duration,FadeIn,OnComplete,Force) {
|
|
if(Force == null) {
|
|
Force = false;
|
|
}
|
|
if(FadeIn == null) {
|
|
FadeIn = false;
|
|
}
|
|
if(Duration == null) {
|
|
Duration = 1;
|
|
}
|
|
if(Color == null) {
|
|
Color = -16777216;
|
|
}
|
|
if(!this._fxFadeCompleted && !Force) {
|
|
return;
|
|
}
|
|
this._fxFadeColor = Color;
|
|
if(Duration <= 0) {
|
|
Duration = 0.000001;
|
|
}
|
|
this._fxFadeIn = FadeIn;
|
|
this._fxFadeDuration = Duration;
|
|
this._fxFadeComplete = OnComplete;
|
|
this._fxFadeAlpha = this._fxFadeIn ? 0.999999 : 0.000001;
|
|
this._fxFadeCompleted = false;
|
|
}
|
|
,shake: function(Intensity,Duration,OnComplete,Force,Axes) {
|
|
if(Force == null) {
|
|
Force = true;
|
|
}
|
|
if(Duration == null) {
|
|
Duration = 0.5;
|
|
}
|
|
if(Intensity == null) {
|
|
Intensity = 0.05;
|
|
}
|
|
if(Axes == null) {
|
|
Axes = flixel_util_FlxAxes.XY;
|
|
}
|
|
if(!Force && this._fxShakeDuration > 0) {
|
|
return;
|
|
}
|
|
this._fxShakeIntensity = Intensity;
|
|
this._fxShakeDuration = Duration;
|
|
this._fxShakeComplete = OnComplete;
|
|
this._fxShakeAxes = Axes;
|
|
}
|
|
,stopFX: function() {
|
|
this._fxFlashAlpha = 0.0;
|
|
this._fxFadeAlpha = 0.0;
|
|
this._fxShakeDuration = 0;
|
|
this.updateFlashSpritePosition();
|
|
}
|
|
,setFilters: function(filters) {
|
|
this._filters = filters;
|
|
}
|
|
,copyFrom: function(Camera) {
|
|
this.setScrollBounds(Camera.minScrollX,Camera.maxScrollX,Camera.minScrollY,Camera.maxScrollY);
|
|
this.target = Camera.target;
|
|
if(this.target != null) {
|
|
if(Camera.deadzone == null) {
|
|
this.deadzone = null;
|
|
} else {
|
|
if(this.deadzone == null) {
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = 0;
|
|
var Height = 0;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
this.deadzone = rect;
|
|
}
|
|
var _this = this.deadzone;
|
|
var Rect = Camera.deadzone;
|
|
_this.x = Rect.x;
|
|
_this.y = Rect.y;
|
|
_this.width = Rect.width;
|
|
_this.height = Rect.height;
|
|
if(Rect._weak) {
|
|
if(!Rect._inPool) {
|
|
Rect._inPool = true;
|
|
Rect._weak = false;
|
|
flixel_math_FlxRect._pool.putUnsafe(Rect);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return this;
|
|
}
|
|
,fill: function(Color,BlendAlpha,FxAlpha,graphics) {
|
|
if(FxAlpha == null) {
|
|
FxAlpha = 1.0;
|
|
}
|
|
if(BlendAlpha == null) {
|
|
BlendAlpha = true;
|
|
}
|
|
if(flixel_FlxG.renderBlit) {
|
|
if(BlendAlpha) {
|
|
this._fill.fillRect(this._flashRect,Color);
|
|
this.buffer.copyPixels(this._fill,this._flashRect,this._flashPoint,null,null,BlendAlpha);
|
|
} else {
|
|
this.buffer.fillRect(this._flashRect,Color);
|
|
}
|
|
} else {
|
|
if(FxAlpha == 0) {
|
|
return;
|
|
}
|
|
var targetGraphics = graphics == null ? this.canvas.get_graphics() : graphics;
|
|
targetGraphics.beginFill(Color,FxAlpha);
|
|
targetGraphics.drawRect(this.viewOffsetX - 1,this.viewOffsetY - 1,this.viewWidth + 2,this.viewHeight + 2);
|
|
targetGraphics.endFill();
|
|
}
|
|
}
|
|
,drawFX: function() {
|
|
var alphaComponent;
|
|
if(this._fxFlashAlpha > 0.0) {
|
|
alphaComponent = this._fxFlashColor >> 24 & 255;
|
|
if(flixel_FlxG.renderBlit) {
|
|
this.fill((((alphaComponent <= 0 ? 255 : alphaComponent) * this._fxFlashAlpha | 0) << 24) + (this._fxFlashColor & 16777215));
|
|
} else {
|
|
this.fill(this._fxFlashColor & 16777215,true,(alphaComponent <= 0 ? 255 : alphaComponent) * this._fxFlashAlpha / 255,this.canvas.get_graphics());
|
|
}
|
|
}
|
|
if(this._fxFadeAlpha > 0.0) {
|
|
alphaComponent = this._fxFadeColor >> 24 & 255;
|
|
if(flixel_FlxG.renderBlit) {
|
|
this.fill((((alphaComponent <= 0 ? 255 : alphaComponent) * this._fxFadeAlpha | 0) << 24) + (this._fxFadeColor & 16777215));
|
|
} else {
|
|
this.fill(this._fxFadeColor & 16777215,true,(alphaComponent <= 0 ? 255 : alphaComponent) * this._fxFadeAlpha / 255,this.canvas.get_graphics());
|
|
}
|
|
}
|
|
}
|
|
,checkResize: function() {
|
|
if(flixel_FlxG.renderBlit) {
|
|
if(this.width != this.buffer.width || this.height != this.buffer.height) {
|
|
var oldBuffer = this.screen.graphic;
|
|
this.buffer = new openfl_display_BitmapData(this.width,this.height,true,0);
|
|
this.screen.set_pixels(this.buffer);
|
|
this.screen.origin.set();
|
|
this._flashBitmap.set_bitmapData(this.buffer);
|
|
this._flashRect.width = this.width;
|
|
this._flashRect.height = this.height;
|
|
this._fill = flixel_util_FlxDestroyUtil.dispose(this._fill);
|
|
this._fill = new openfl_display_BitmapData(this.width,this.height,true,0);
|
|
flixel_FlxG.bitmap.removeIfNoUse(oldBuffer);
|
|
}
|
|
this._blitMatrix.identity();
|
|
this._blitMatrix.translate(-this.viewOffsetX,-this.viewOffsetY);
|
|
this._blitMatrix.scale(this.scaleX,this.scaleY);
|
|
this._useBlitMatrix = this.scaleX < this.initialZoom || this.scaleY < this.initialZoom;
|
|
}
|
|
}
|
|
,updateBlitMatrix: function() {
|
|
this._blitMatrix.identity();
|
|
this._blitMatrix.translate(-this.viewOffsetX,-this.viewOffsetY);
|
|
this._blitMatrix.scale(this.scaleX,this.scaleY);
|
|
this._useBlitMatrix = this.scaleX < this.initialZoom || this.scaleY < this.initialZoom;
|
|
}
|
|
,setSize: function(Width,Height) {
|
|
this.set_width(Width);
|
|
this.set_height(Height);
|
|
}
|
|
,setPosition: function(X,Y) {
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
this.set_x(X);
|
|
this.set_y(Y);
|
|
}
|
|
,setScrollBoundsRect: function(X,Y,Width,Height,UpdateWorld) {
|
|
if(UpdateWorld == null) {
|
|
UpdateWorld = false;
|
|
}
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
if(UpdateWorld) {
|
|
var _this = flixel_FlxG.worldBounds;
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
_this.x = X1;
|
|
_this.y = Y1;
|
|
_this.width = Width1;
|
|
_this.height = Height1;
|
|
}
|
|
this.setScrollBounds(X,X + Width,Y,Y + Height);
|
|
}
|
|
,setScrollBounds: function(MinX,MaxX,MinY,MaxY) {
|
|
this.minScrollX = MinX;
|
|
this.maxScrollX = MaxX;
|
|
this.minScrollY = MinY;
|
|
this.maxScrollY = MaxY;
|
|
this.updateScroll();
|
|
}
|
|
,setScale: function(X,Y) {
|
|
this.scaleX = X;
|
|
this.scaleY = Y;
|
|
this.totalScaleX = this.scaleX * flixel_FlxG.scaleMode.scale.x;
|
|
this.totalScaleY = this.scaleY * flixel_FlxG.scaleMode.scale.y;
|
|
if(flixel_FlxG.renderBlit) {
|
|
this._blitMatrix.identity();
|
|
this._blitMatrix.translate(-this.viewOffsetX,-this.viewOffsetY);
|
|
this._blitMatrix.scale(this.scaleX,this.scaleY);
|
|
this._useBlitMatrix = this.scaleX < this.initialZoom || this.scaleY < this.initialZoom;
|
|
if(this._useBlitMatrix) {
|
|
this._flashBitmap.set_scaleX(this.initialZoom * flixel_FlxG.scaleMode.scale.x);
|
|
this._flashBitmap.set_scaleY(this.initialZoom * flixel_FlxG.scaleMode.scale.y);
|
|
} else {
|
|
this._flashBitmap.set_scaleX(this.totalScaleX);
|
|
this._flashBitmap.set_scaleY(this.totalScaleY);
|
|
}
|
|
}
|
|
this.viewOffsetX = 0.5 * this.width * (this.scaleX - this.initialZoom) / this.scaleX;
|
|
this.viewOffsetWidth = this.width - this.viewOffsetX;
|
|
this.viewWidth = this.width - 2 * this.viewOffsetX;
|
|
this.viewOffsetY = 0.5 * this.height * (this.scaleY - this.initialZoom) / this.scaleY;
|
|
this.viewOffsetHeight = this.height - this.viewOffsetY;
|
|
this.viewHeight = this.height - 2 * this.viewOffsetY;
|
|
this.updateScrollRect();
|
|
this.updateInternalSpritePositions();
|
|
flixel_FlxG.cameras.cameraResized.dispatch(this);
|
|
}
|
|
,onResize: function() {
|
|
this.updateFlashOffset();
|
|
this.setScale(this.scaleX,this.scaleY);
|
|
}
|
|
,containsPoint: function(point,width,height) {
|
|
if(height == null) {
|
|
height = 0;
|
|
}
|
|
if(width == null) {
|
|
width = 0;
|
|
}
|
|
if(point.x + width > this.viewOffsetX && point.x < this.viewOffsetWidth && point.y + height > this.viewOffsetY) {
|
|
return point.y < this.viewOffsetHeight;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,set_followLerp: function(Value) {
|
|
var Max = 60 / flixel_FlxG.updateFramerate;
|
|
var lowerBound = Value < 0 ? 0 : Value;
|
|
return this.followLerp = Max != null && lowerBound > Max ? Max : lowerBound;
|
|
}
|
|
,set_width: function(Value) {
|
|
if(this.width != Value && Value > 0) {
|
|
this.width = Value;
|
|
this.viewOffsetX = 0.5 * this.width * (this.scaleX - this.initialZoom) / this.scaleX;
|
|
this.viewOffsetWidth = this.width - this.viewOffsetX;
|
|
this.viewWidth = this.width - 2 * this.viewOffsetX;
|
|
this.updateFlashOffset();
|
|
this.updateScrollRect();
|
|
this.updateInternalSpritePositions();
|
|
flixel_FlxG.cameras.cameraResized.dispatch(this);
|
|
}
|
|
return Value;
|
|
}
|
|
,set_height: function(Value) {
|
|
if(this.height != Value && Value > 0) {
|
|
this.height = Value;
|
|
this.viewOffsetY = 0.5 * this.height * (this.scaleY - this.initialZoom) / this.scaleY;
|
|
this.viewOffsetHeight = this.height - this.viewOffsetY;
|
|
this.viewHeight = this.height - 2 * this.viewOffsetY;
|
|
this.updateFlashOffset();
|
|
this.updateScrollRect();
|
|
this.updateInternalSpritePositions();
|
|
flixel_FlxG.cameras.cameraResized.dispatch(this);
|
|
}
|
|
return Value;
|
|
}
|
|
,set_zoom: function(Zoom) {
|
|
this.zoom = Zoom == 0 ? flixel_FlxCamera.defaultZoom : Zoom;
|
|
this.setScale(this.zoom,this.zoom);
|
|
return this.zoom;
|
|
}
|
|
,set_alpha: function(Alpha) {
|
|
var lowerBound = Alpha < 0 ? 0 : Alpha;
|
|
this.alpha = lowerBound > 1 ? 1 : lowerBound;
|
|
if(flixel_FlxG.renderBlit) {
|
|
this._flashBitmap.set_alpha(Alpha);
|
|
} else {
|
|
this.canvas.set_alpha(Alpha);
|
|
}
|
|
return Alpha;
|
|
}
|
|
,set_angle: function(Angle) {
|
|
this.angle = Angle;
|
|
this.flashSprite.set_rotation(Angle);
|
|
return Angle;
|
|
}
|
|
,set_color: function(Color) {
|
|
this.color = Color;
|
|
var colorTransform;
|
|
if(flixel_FlxG.renderBlit) {
|
|
if(this._flashBitmap == null) {
|
|
return Color;
|
|
}
|
|
colorTransform = this._flashBitmap.get_transform().get_colorTransform();
|
|
} else {
|
|
colorTransform = this.canvas.get_transform().get_colorTransform();
|
|
}
|
|
colorTransform.redMultiplier = (this.color >> 16 & 255) / 255;
|
|
colorTransform.greenMultiplier = (this.color >> 8 & 255) / 255;
|
|
colorTransform.blueMultiplier = (this.color & 255) / 255;
|
|
if(flixel_FlxG.renderBlit) {
|
|
this._flashBitmap.get_transform().set_colorTransform(colorTransform);
|
|
} else {
|
|
this.canvas.get_transform().set_colorTransform(colorTransform);
|
|
}
|
|
return Color;
|
|
}
|
|
,set_antialiasing: function(Antialiasing) {
|
|
this.antialiasing = Antialiasing;
|
|
if(flixel_FlxG.renderBlit) {
|
|
this._flashBitmap.smoothing = Antialiasing;
|
|
}
|
|
return Antialiasing;
|
|
}
|
|
,set_x: function(x) {
|
|
this.x = x;
|
|
this.updateFlashSpritePosition();
|
|
return x;
|
|
}
|
|
,set_y: function(y) {
|
|
this.y = y;
|
|
this.updateFlashSpritePosition();
|
|
return y;
|
|
}
|
|
,set_visible: function(visible) {
|
|
if(this.flashSprite != null) {
|
|
this.flashSprite.set_visible(visible);
|
|
}
|
|
return this.visible = visible;
|
|
}
|
|
,calcOffsetX: function() {
|
|
this.viewOffsetX = 0.5 * this.width * (this.scaleX - this.initialZoom) / this.scaleX;
|
|
this.viewOffsetWidth = this.width - this.viewOffsetX;
|
|
this.viewWidth = this.width - 2 * this.viewOffsetX;
|
|
}
|
|
,calcOffsetY: function() {
|
|
this.viewOffsetY = 0.5 * this.height * (this.scaleY - this.initialZoom) / this.scaleY;
|
|
this.viewOffsetHeight = this.height - this.viewOffsetY;
|
|
this.viewHeight = this.height - 2 * this.viewOffsetY;
|
|
}
|
|
,__class__: flixel_FlxCamera
|
|
,__properties__: $extend(flixel_FlxBasic.prototype.__properties__,{set_antialiasing:"set_antialiasing",set_color:"set_color",set_angle:"set_angle",set_alpha:"set_alpha",set_zoom:"set_zoom",set_height:"set_height",set_width:"set_width",set_followLerp:"set_followLerp",set_y:"set_y",set_x:"set_x"})
|
|
});
|
|
var flixel_FlxCameraFollowStyle = $hxEnums["flixel.FlxCameraFollowStyle"] = { __ename__ : "flixel.FlxCameraFollowStyle", __constructs__ : ["LOCKON","PLATFORMER","TOPDOWN","TOPDOWN_TIGHT","SCREEN_BY_SCREEN","NO_DEAD_ZONE"]
|
|
,LOCKON: {_hx_index:0,__enum__:"flixel.FlxCameraFollowStyle",toString:$estr}
|
|
,PLATFORMER: {_hx_index:1,__enum__:"flixel.FlxCameraFollowStyle",toString:$estr}
|
|
,TOPDOWN: {_hx_index:2,__enum__:"flixel.FlxCameraFollowStyle",toString:$estr}
|
|
,TOPDOWN_TIGHT: {_hx_index:3,__enum__:"flixel.FlxCameraFollowStyle",toString:$estr}
|
|
,SCREEN_BY_SCREEN: {_hx_index:4,__enum__:"flixel.FlxCameraFollowStyle",toString:$estr}
|
|
,NO_DEAD_ZONE: {_hx_index:5,__enum__:"flixel.FlxCameraFollowStyle",toString:$estr}
|
|
};
|
|
var flixel_system_FlxVersion = function(Major,Minor,Patch) {
|
|
this.major = Major;
|
|
this.minor = Minor;
|
|
this.patch = Patch;
|
|
};
|
|
$hxClasses["flixel.system.FlxVersion"] = flixel_system_FlxVersion;
|
|
flixel_system_FlxVersion.__name__ = "flixel.system.FlxVersion";
|
|
flixel_system_FlxVersion.prototype = {
|
|
major: null
|
|
,minor: null
|
|
,patch: null
|
|
,toString: function() {
|
|
var sha = flixel_system_FlxVersion.sha;
|
|
if(sha != "") {
|
|
sha = "@" + sha.substring(0,7);
|
|
}
|
|
return "HaxeFlixel " + this.major + "." + this.minor + "." + this.patch + sha;
|
|
}
|
|
,__class__: flixel_system_FlxVersion
|
|
};
|
|
var flixel_system_frontEnds_BitmapFrontEnd = function() {
|
|
this._lastUniqueKeyIndex = 0;
|
|
this.reset();
|
|
};
|
|
$hxClasses["flixel.system.frontEnds.BitmapFrontEnd"] = flixel_system_frontEnds_BitmapFrontEnd;
|
|
flixel_system_frontEnds_BitmapFrontEnd.__name__ = "flixel.system.frontEnds.BitmapFrontEnd";
|
|
flixel_system_frontEnds_BitmapFrontEnd.prototype = {
|
|
_cache: null
|
|
,_whitePixel: null
|
|
,_lastUniqueKeyIndex: null
|
|
,onAssetsReload: function(_) {
|
|
var key = haxe_ds_StringMap.keysIterator(this._cache.h);
|
|
while(key.hasNext()) {
|
|
var key1 = key.next();
|
|
var obj = this._cache.h[key1];
|
|
if(obj != null && (obj.assetsClass != null || obj.assetsKey != null)) {
|
|
obj.onAssetsReload();
|
|
}
|
|
}
|
|
}
|
|
,onContext: function() {
|
|
var key = haxe_ds_StringMap.keysIterator(this._cache.h);
|
|
while(key.hasNext()) {
|
|
var key1 = key.next();
|
|
var obj = this._cache.h[key1];
|
|
if(obj != null && obj.isDumped) {
|
|
obj.onContext();
|
|
}
|
|
}
|
|
}
|
|
,dumpCache: function() {
|
|
}
|
|
,undumpCache: function() {
|
|
}
|
|
,checkCache: function(Key) {
|
|
return this._cache.h[Key] != null;
|
|
}
|
|
,create: function(Width,Height,Color,Unique,Key) {
|
|
if(Unique == null) {
|
|
Unique = false;
|
|
}
|
|
return flixel_graphics_FlxGraphic.fromRectangle(Width,Height,Color,Unique,Key);
|
|
}
|
|
,add: function(Graphic,Unique,Key) {
|
|
if(Unique == null) {
|
|
Unique = false;
|
|
}
|
|
if(((Graphic) instanceof flixel_graphics_FlxGraphic)) {
|
|
return flixel_graphics_FlxGraphic.fromGraphic(Graphic,Unique,Key);
|
|
} else if(((Graphic) instanceof openfl_display_BitmapData)) {
|
|
return flixel_graphics_FlxGraphic.fromBitmapData(Graphic,Unique,Key);
|
|
}
|
|
return flixel_graphics_FlxGraphic.fromAssetKey(Std.string(Graphic),Unique,Key);
|
|
}
|
|
,addGraphic: function(graphic) {
|
|
this._cache.h[graphic.key] = graphic;
|
|
return graphic;
|
|
}
|
|
,get: function(key) {
|
|
return this._cache.h[key];
|
|
}
|
|
,findKeyForBitmap: function(bmd) {
|
|
var key = haxe_ds_StringMap.keysIterator(this._cache.h);
|
|
while(key.hasNext()) {
|
|
var key1 = key.next();
|
|
var obj = this._cache.h[key1];
|
|
if(obj != null && obj.bitmap == bmd) {
|
|
return key1;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
,getKeyForClass: function(source) {
|
|
return source.__name__;
|
|
}
|
|
,generateKey: function(systemKey,userKey,unique) {
|
|
if(unique == null) {
|
|
unique = false;
|
|
}
|
|
var key = userKey;
|
|
if(key == null) {
|
|
key = systemKey;
|
|
}
|
|
if(unique || key == null) {
|
|
key = this.getUniqueKey(key);
|
|
}
|
|
return key;
|
|
}
|
|
,getUniqueKey: function(baseKey) {
|
|
if(baseKey == null) {
|
|
baseKey = "pixels";
|
|
}
|
|
if(this._cache.h[baseKey] == null) {
|
|
return baseKey;
|
|
}
|
|
var i = this._lastUniqueKeyIndex;
|
|
var uniqueKey;
|
|
while(true) {
|
|
++i;
|
|
uniqueKey = baseKey + i;
|
|
if(!(this._cache.h[uniqueKey] != null)) {
|
|
break;
|
|
}
|
|
}
|
|
this._lastUniqueKeyIndex = i;
|
|
return uniqueKey;
|
|
}
|
|
,getKeyWithSpacesAndBorders: function(baseKey,frameSize,frameSpacing,frameBorder,region) {
|
|
var result = baseKey;
|
|
if(region != null) {
|
|
result += "_Region:" + region.x + "_" + region.y + "_" + region.width + "_" + region.height;
|
|
}
|
|
if(frameSize != null) {
|
|
result += "_FrameSize:" + frameSize.x + "_" + frameSize.y;
|
|
}
|
|
if(frameSpacing != null) {
|
|
result += "_Spaces:" + frameSpacing.x + "_" + frameSpacing.y;
|
|
}
|
|
if(frameBorder != null) {
|
|
result += "_Border:" + frameBorder.x + "_" + frameBorder.y;
|
|
}
|
|
return result;
|
|
}
|
|
,remove: function(graphic) {
|
|
if(graphic != null) {
|
|
var key = graphic.key;
|
|
if(key != null) {
|
|
openfl_utils_Assets.cache.removeBitmapData(key);
|
|
var _this = this._cache;
|
|
if(Object.prototype.hasOwnProperty.call(_this.h,key)) {
|
|
delete(_this.h[key]);
|
|
}
|
|
}
|
|
graphic.destroy();
|
|
}
|
|
}
|
|
,removeByKey: function(key) {
|
|
if(key != null) {
|
|
var obj = this._cache.h[key];
|
|
if(key != null) {
|
|
openfl_utils_Assets.cache.removeBitmapData(key);
|
|
var _this = this._cache;
|
|
if(Object.prototype.hasOwnProperty.call(_this.h,key)) {
|
|
delete(_this.h[key]);
|
|
}
|
|
}
|
|
if(obj != null) {
|
|
obj.destroy();
|
|
}
|
|
}
|
|
}
|
|
,removeIfNoUse: function(graphic) {
|
|
if(graphic != null && graphic.get_useCount() == 0 && !graphic.persist) {
|
|
this.remove(graphic);
|
|
}
|
|
}
|
|
,clearCache: function() {
|
|
if(this._cache == null) {
|
|
this._cache = new haxe_ds_StringMap();
|
|
return;
|
|
}
|
|
var key = haxe_ds_StringMap.keysIterator(this._cache.h);
|
|
while(key.hasNext()) {
|
|
var key1 = key.next();
|
|
var obj = this._cache.h[key1];
|
|
if(obj != null && !obj.persist && obj.get_useCount() <= 0) {
|
|
if(key1 != null) {
|
|
openfl_utils_Assets.cache.removeBitmapData(key1);
|
|
var _this = this._cache;
|
|
if(Object.prototype.hasOwnProperty.call(_this.h,key1)) {
|
|
delete(_this.h[key1]);
|
|
}
|
|
}
|
|
obj.destroy();
|
|
}
|
|
}
|
|
}
|
|
,removeKey: function(key) {
|
|
if(key != null) {
|
|
openfl_utils_Assets.cache.removeBitmapData(key);
|
|
var _this = this._cache;
|
|
if(Object.prototype.hasOwnProperty.call(_this.h,key)) {
|
|
delete(_this.h[key]);
|
|
}
|
|
}
|
|
}
|
|
,reset: function() {
|
|
if(this._cache == null) {
|
|
this._cache = new haxe_ds_StringMap();
|
|
return;
|
|
}
|
|
var key = haxe_ds_StringMap.keysIterator(this._cache.h);
|
|
while(key.hasNext()) {
|
|
var key1 = key.next();
|
|
var obj = this._cache.h[key1];
|
|
if(key1 != null) {
|
|
openfl_utils_Assets.cache.removeBitmapData(key1);
|
|
var _this = this._cache;
|
|
if(Object.prototype.hasOwnProperty.call(_this.h,key1)) {
|
|
delete(_this.h[key1]);
|
|
}
|
|
}
|
|
if(obj != null) {
|
|
obj.destroy();
|
|
}
|
|
}
|
|
}
|
|
,clearUnused: function() {
|
|
var key = haxe_ds_StringMap.keysIterator(this._cache.h);
|
|
while(key.hasNext()) {
|
|
var key1 = key.next();
|
|
var obj = this._cache.h[key1];
|
|
if(obj != null && obj.get_useCount() <= 0 && !obj.persist && obj.get_destroyOnNoUse()) {
|
|
this.removeByKey(key1);
|
|
}
|
|
}
|
|
}
|
|
,get_maxTextureSize: function() {
|
|
return lime_graphics_opengl_GL.context.getParameter(3379);
|
|
}
|
|
,get_whitePixel: function() {
|
|
if(this._whitePixel == null) {
|
|
var bd = new openfl_display_BitmapData(10,10,true,-1);
|
|
var graphic = flixel_FlxG.bitmap.add(bd,true,"whitePixels");
|
|
graphic.persist = true;
|
|
this._whitePixel = graphic.get_imageFrame().get_frame();
|
|
}
|
|
return this._whitePixel;
|
|
}
|
|
,__class__: flixel_system_frontEnds_BitmapFrontEnd
|
|
,__properties__: {get_whitePixel:"get_whitePixel",get_maxTextureSize:"get_maxTextureSize"}
|
|
};
|
|
var flixel_system_frontEnds_BitmapLogFrontEnd = function() {
|
|
};
|
|
$hxClasses["flixel.system.frontEnds.BitmapLogFrontEnd"] = flixel_system_frontEnds_BitmapLogFrontEnd;
|
|
flixel_system_frontEnds_BitmapLogFrontEnd.__name__ = "flixel.system.frontEnds.BitmapLogFrontEnd";
|
|
flixel_system_frontEnds_BitmapLogFrontEnd.prototype = {
|
|
add: function(Data,Name) {
|
|
if(Name == null) {
|
|
Name = "";
|
|
}
|
|
}
|
|
,clear: function() {
|
|
}
|
|
,clearAt: function(Index) {
|
|
if(Index == null) {
|
|
Index = -1;
|
|
}
|
|
}
|
|
,viewCache: function() {
|
|
}
|
|
,__class__: flixel_system_frontEnds_BitmapLogFrontEnd
|
|
};
|
|
var flixel_system_frontEnds_CameraFrontEnd = function() {
|
|
this._cameraRect = new openfl_geom_Rectangle();
|
|
this.useBufferLocking = false;
|
|
this.cameraResized = new flixel_util__$FlxSignal_FlxSignal1();
|
|
this.cameraRemoved = new flixel_util__$FlxSignal_FlxSignal1();
|
|
this.cameraAdded = new flixel_util__$FlxSignal_FlxSignal1();
|
|
this.list = [];
|
|
flixel_FlxCamera.defaultCameras = this.list;
|
|
};
|
|
$hxClasses["flixel.system.frontEnds.CameraFrontEnd"] = flixel_system_frontEnds_CameraFrontEnd;
|
|
flixel_system_frontEnds_CameraFrontEnd.__name__ = "flixel.system.frontEnds.CameraFrontEnd";
|
|
flixel_system_frontEnds_CameraFrontEnd.prototype = {
|
|
list: null
|
|
,cameraAdded: null
|
|
,cameraRemoved: null
|
|
,cameraResized: null
|
|
,useBufferLocking: null
|
|
,_cameraRect: null
|
|
,add: function(NewCamera) {
|
|
flixel_FlxG.game.addChildAt(NewCamera.flashSprite,flixel_FlxG.game.getChildIndex(flixel_FlxG.game._inputContainer));
|
|
flixel_FlxG.cameras.list.push(NewCamera);
|
|
NewCamera.ID = flixel_FlxG.cameras.list.length - 1;
|
|
this.cameraAdded.dispatch(NewCamera);
|
|
return NewCamera;
|
|
}
|
|
,remove: function(Camera,Destroy) {
|
|
if(Destroy == null) {
|
|
Destroy = true;
|
|
}
|
|
var index = this.list.indexOf(Camera);
|
|
if(Camera != null && index != -1) {
|
|
flixel_FlxG.game.removeChild(Camera.flashSprite);
|
|
this.list.splice(index,1);
|
|
} else {
|
|
return;
|
|
}
|
|
if(flixel_FlxG.renderTile) {
|
|
var _g = 0;
|
|
var _g1 = this.list.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
this.list[i].ID = i;
|
|
}
|
|
}
|
|
if(Destroy) {
|
|
Camera.destroy();
|
|
}
|
|
this.cameraRemoved.dispatch(Camera);
|
|
}
|
|
,reset: function(NewCamera) {
|
|
while(this.list.length > 0) this.remove(this.list[0]);
|
|
if(NewCamera == null) {
|
|
NewCamera = new flixel_FlxCamera(0,0,flixel_FlxG.width,flixel_FlxG.height);
|
|
}
|
|
flixel_FlxG.camera = this.add(NewCamera);
|
|
NewCamera.ID = 0;
|
|
flixel_FlxCamera.defaultCameras = this.list;
|
|
}
|
|
,flash: function(Color,Duration,OnComplete,Force) {
|
|
if(Force == null) {
|
|
Force = false;
|
|
}
|
|
if(Duration == null) {
|
|
Duration = 1;
|
|
}
|
|
if(Color == null) {
|
|
Color = -1;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.list;
|
|
while(_g < _g1.length) {
|
|
var camera = _g1[_g];
|
|
++_g;
|
|
camera.flash(Color,Duration,OnComplete,Force);
|
|
}
|
|
}
|
|
,fade: function(Color,Duration,FadeIn,OnComplete,Force) {
|
|
if(Force == null) {
|
|
Force = false;
|
|
}
|
|
if(FadeIn == null) {
|
|
FadeIn = false;
|
|
}
|
|
if(Duration == null) {
|
|
Duration = 1;
|
|
}
|
|
if(Color == null) {
|
|
Color = -16777216;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.list;
|
|
while(_g < _g1.length) {
|
|
var camera = _g1[_g];
|
|
++_g;
|
|
camera.fade(Color,Duration,FadeIn,OnComplete,Force);
|
|
}
|
|
}
|
|
,shake: function(Intensity,Duration,OnComplete,Force,Axes) {
|
|
if(Force == null) {
|
|
Force = true;
|
|
}
|
|
if(Duration == null) {
|
|
Duration = 0.5;
|
|
}
|
|
if(Intensity == null) {
|
|
Intensity = 0.05;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.list;
|
|
while(_g < _g1.length) {
|
|
var camera = _g1[_g];
|
|
++_g;
|
|
camera.shake(Intensity,Duration,OnComplete,Force,Axes);
|
|
}
|
|
}
|
|
,lock: function() {
|
|
var _g = 0;
|
|
var _g1 = this.list;
|
|
while(_g < _g1.length) {
|
|
var camera = _g1[_g];
|
|
++_g;
|
|
if(camera == null || !camera.exists || !camera.visible) {
|
|
continue;
|
|
}
|
|
if(flixel_FlxG.renderBlit) {
|
|
camera.checkResize();
|
|
if(this.useBufferLocking) {
|
|
camera.buffer.lock();
|
|
}
|
|
}
|
|
if(flixel_FlxG.renderTile) {
|
|
camera.clearDrawStack();
|
|
camera.canvas.get_graphics().clear();
|
|
}
|
|
if(flixel_FlxG.renderBlit) {
|
|
camera.fill(camera.bgColor,camera.useBgAlphaBlending);
|
|
camera.screen.dirty = true;
|
|
} else {
|
|
camera.fill(camera.bgColor & 16777215,camera.useBgAlphaBlending,(camera.bgColor >> 24 & 255) / 255);
|
|
}
|
|
}
|
|
}
|
|
,render: function() {
|
|
if(flixel_FlxG.renderTile) {
|
|
var _g = 0;
|
|
var _g1 = this.list;
|
|
while(_g < _g1.length) {
|
|
var camera = _g1[_g];
|
|
++_g;
|
|
if(camera != null && camera.exists && camera.visible) {
|
|
camera.render();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,unlock: function() {
|
|
var _g = 0;
|
|
var _g1 = this.list;
|
|
while(_g < _g1.length) {
|
|
var camera = _g1[_g];
|
|
++_g;
|
|
if(camera == null || !camera.exists || !camera.visible) {
|
|
continue;
|
|
}
|
|
camera.drawFX();
|
|
if(flixel_FlxG.renderBlit) {
|
|
if(this.useBufferLocking) {
|
|
camera.buffer.unlock();
|
|
}
|
|
camera.screen.dirty = true;
|
|
}
|
|
}
|
|
}
|
|
,update: function(elapsed) {
|
|
var _g = 0;
|
|
var _g1 = this.list;
|
|
while(_g < _g1.length) {
|
|
var camera = _g1[_g];
|
|
++_g;
|
|
if(camera != null && camera.exists && camera.active) {
|
|
camera.update(elapsed);
|
|
}
|
|
}
|
|
}
|
|
,resize: function() {
|
|
var _g = 0;
|
|
var _g1 = this.list;
|
|
while(_g < _g1.length) {
|
|
var camera = _g1[_g];
|
|
++_g;
|
|
camera.onResize();
|
|
}
|
|
}
|
|
,get_bgColor: function() {
|
|
if(flixel_FlxG.camera == null) {
|
|
return -16777216;
|
|
} else {
|
|
return flixel_FlxG.camera.bgColor;
|
|
}
|
|
}
|
|
,set_bgColor: function(Color) {
|
|
var _g = 0;
|
|
var _g1 = this.list;
|
|
while(_g < _g1.length) {
|
|
var camera = _g1[_g];
|
|
++_g;
|
|
camera.bgColor = Color;
|
|
}
|
|
return Color;
|
|
}
|
|
,__class__: flixel_system_frontEnds_CameraFrontEnd
|
|
,__properties__: {set_bgColor:"set_bgColor",get_bgColor:"get_bgColor"}
|
|
};
|
|
var flixel_system_frontEnds_ConsoleFrontEnd = function() {
|
|
this.stepAfterCommand = true;
|
|
this.autoPause = true;
|
|
};
|
|
$hxClasses["flixel.system.frontEnds.ConsoleFrontEnd"] = flixel_system_frontEnds_ConsoleFrontEnd;
|
|
flixel_system_frontEnds_ConsoleFrontEnd.__name__ = "flixel.system.frontEnds.ConsoleFrontEnd";
|
|
flixel_system_frontEnds_ConsoleFrontEnd.prototype = {
|
|
autoPause: null
|
|
,stepAfterCommand: null
|
|
,registerFunction: function(FunctionAlias,Function1) {
|
|
}
|
|
,registerObject: function(ObjectAlias,AnyObject) {
|
|
}
|
|
,registerClass: function(cl) {
|
|
}
|
|
,registerEnum: function(e) {
|
|
}
|
|
,__class__: flixel_system_frontEnds_ConsoleFrontEnd
|
|
};
|
|
var flixel_system_frontEnds_DebuggerFrontEnd = function() {
|
|
this.visible = false;
|
|
this.visibilityChanged = new flixel_util__$FlxSignal_FlxSignal0();
|
|
this.drawDebugChanged = new flixel_util__$FlxSignal_FlxSignal0();
|
|
this.drawDebug = false;
|
|
this.toggleKeys = [113,192,220];
|
|
this.precision = 3;
|
|
};
|
|
$hxClasses["flixel.system.frontEnds.DebuggerFrontEnd"] = flixel_system_frontEnds_DebuggerFrontEnd;
|
|
flixel_system_frontEnds_DebuggerFrontEnd.__name__ = "flixel.system.frontEnds.DebuggerFrontEnd";
|
|
flixel_system_frontEnds_DebuggerFrontEnd.prototype = {
|
|
precision: null
|
|
,toggleKeys: null
|
|
,drawDebug: null
|
|
,drawDebugChanged: null
|
|
,visibilityChanged: null
|
|
,visible: null
|
|
,setLayout: function(Layout) {
|
|
}
|
|
,resetLayout: function() {
|
|
}
|
|
,addButton: function(Alignment,Icon,UpHandler,ToggleMode,UpdateLayout) {
|
|
if(UpdateLayout == null) {
|
|
UpdateLayout = true;
|
|
}
|
|
if(ToggleMode == null) {
|
|
ToggleMode = false;
|
|
}
|
|
return null;
|
|
}
|
|
,track: function(ObjectOrClass,WindowTitle) {
|
|
return null;
|
|
}
|
|
,addTrackerProfile: function(Profile) {
|
|
}
|
|
,removeButton: function(Button,UpdateLayout) {
|
|
if(UpdateLayout == null) {
|
|
UpdateLayout = true;
|
|
}
|
|
}
|
|
,set_drawDebug: function(Value) {
|
|
if(this.drawDebug == Value) {
|
|
return this.drawDebug;
|
|
}
|
|
this.drawDebug = Value;
|
|
return this.drawDebug;
|
|
}
|
|
,set_visible: function(Value) {
|
|
if(this.visible == Value) {
|
|
return this.visible;
|
|
}
|
|
this.visible = Value;
|
|
return this.visible;
|
|
}
|
|
,__class__: flixel_system_frontEnds_DebuggerFrontEnd
|
|
,__properties__: {set_visible:"set_visible",set_drawDebug:"set_drawDebug"}
|
|
};
|
|
var flixel_system_frontEnds_HTML5FrontEnd = function() {
|
|
this.browser = this.getBrowser();
|
|
this.platform = this.getPlatform();
|
|
this.onMobile = this.getOnMobile();
|
|
};
|
|
$hxClasses["flixel.system.frontEnds.HTML5FrontEnd"] = flixel_system_frontEnds_HTML5FrontEnd;
|
|
flixel_system_frontEnds_HTML5FrontEnd.__name__ = "flixel.system.frontEnds.HTML5FrontEnd";
|
|
flixel_system_frontEnds_HTML5FrontEnd.prototype = {
|
|
browser: null
|
|
,platform: null
|
|
,onMobile: null
|
|
,browserPosition: null
|
|
,getBrowser: function() {
|
|
if(this.userAgentContains(" OPR/")) {
|
|
return flixel_system_frontEnds_FlxBrowser.OPERA;
|
|
} else if(this.userAgentContains("chrome",true)) {
|
|
return flixel_system_frontEnds_FlxBrowser.CHROME;
|
|
} else if($global.navigator.appName == "Netscape") {
|
|
return flixel_system_frontEnds_FlxBrowser.FIREFOX;
|
|
} else if(document.documentMode) {
|
|
return flixel_system_frontEnds_FlxBrowser.INTERNET_EXPLORER;
|
|
} else if(Object.prototype.toString.call(window.HTMLElement).indexOf("Constructor") > 0) {
|
|
return flixel_system_frontEnds_FlxBrowser.SAFARI;
|
|
}
|
|
return flixel_system_frontEnds_FlxBrowser.UNKNOWN;
|
|
}
|
|
,getPlatform: function() {
|
|
if(this.userAgentContains("Win")) {
|
|
return flixel_system_frontEnds_FlxPlatform.WINDOWS;
|
|
} else if(this.userAgentContains("IEMobile")) {
|
|
return flixel_system_frontEnds_FlxPlatform.WINDOWS_PHONE;
|
|
} else if(this.userAgentContains("Android")) {
|
|
return flixel_system_frontEnds_FlxPlatform.ANDROID;
|
|
} else if(this.userAgentContains("Linux")) {
|
|
return flixel_system_frontEnds_FlxPlatform.LINUX;
|
|
} else if(this.userAgentContains("BlackBerry")) {
|
|
return flixel_system_frontEnds_FlxPlatform.BLACKBERRY;
|
|
} else if(this.userAgentContains("iPhone")) {
|
|
return flixel_system_frontEnds_FlxPlatform.IOS(flixel_system_frontEnds_FlxIOSDevice.IPHONE);
|
|
} else if(this.userAgentContains("iPad")) {
|
|
return flixel_system_frontEnds_FlxPlatform.IOS(flixel_system_frontEnds_FlxIOSDevice.IPAD);
|
|
} else if(this.userAgentContains("iPod")) {
|
|
return flixel_system_frontEnds_FlxPlatform.IOS(flixel_system_frontEnds_FlxIOSDevice.IPOD);
|
|
} else if(this.userAgentContains("Mac")) {
|
|
return flixel_system_frontEnds_FlxPlatform.MAC;
|
|
} else {
|
|
return flixel_system_frontEnds_FlxPlatform.UNKNOWN;
|
|
}
|
|
}
|
|
,getOnMobile: function() {
|
|
var _g = this.platform;
|
|
switch(_g._hx_index) {
|
|
case 3:case 4:case 5:
|
|
return true;
|
|
case 6:
|
|
var _g1 = _g.device;
|
|
return true;
|
|
default:
|
|
return false;
|
|
}
|
|
}
|
|
,userAgentContains: function(substring,toLowerCase) {
|
|
if(toLowerCase == null) {
|
|
toLowerCase = false;
|
|
}
|
|
var userAgent = $global.navigator.userAgent;
|
|
if(toLowerCase) {
|
|
userAgent = userAgent.toLowerCase();
|
|
}
|
|
return userAgent.indexOf(substring) != -1;
|
|
}
|
|
,get_browserPosition: function() {
|
|
if(this.browserPosition == null) {
|
|
var X = 0;
|
|
var Y = 0;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
this.browserPosition = point;
|
|
}
|
|
this.browserPosition.set(window.screenX,window.screenY);
|
|
return this.browserPosition;
|
|
}
|
|
,get_browserWidth: function() {
|
|
return window.innerWidth;
|
|
}
|
|
,get_browserHeight: function() {
|
|
return window.innerHeight;
|
|
}
|
|
,__class__: flixel_system_frontEnds_HTML5FrontEnd
|
|
,__properties__: {get_browserPosition:"get_browserPosition",get_browserHeight:"get_browserHeight",get_browserWidth:"get_browserWidth"}
|
|
};
|
|
var flixel_system_frontEnds_InputFrontEnd = function() {
|
|
this.resetOnStateSwitch = true;
|
|
this.list = [];
|
|
};
|
|
$hxClasses["flixel.system.frontEnds.InputFrontEnd"] = flixel_system_frontEnds_InputFrontEnd;
|
|
flixel_system_frontEnds_InputFrontEnd.__name__ = "flixel.system.frontEnds.InputFrontEnd";
|
|
flixel_system_frontEnds_InputFrontEnd.prototype = {
|
|
add_flixel_input_actions_FlxActionManager: function(Input) {
|
|
var _g = 0;
|
|
var _g1 = this.list;
|
|
while(_g < _g1.length) {
|
|
var input = _g1[_g];
|
|
++_g;
|
|
if(flixel_util_FlxStringUtil.getClassName(Input,true) == flixel_util_FlxStringUtil.getClassName(input,true)) {
|
|
return Input;
|
|
}
|
|
}
|
|
this.list.push(Input);
|
|
return Input;
|
|
}
|
|
,add_flixel_input_gamepad_FlxGamepadManager: function(Input) {
|
|
var _g = 0;
|
|
var _g1 = this.list;
|
|
while(_g < _g1.length) {
|
|
var input = _g1[_g];
|
|
++_g;
|
|
if(flixel_util_FlxStringUtil.getClassName(Input,true) == flixel_util_FlxStringUtil.getClassName(input,true)) {
|
|
return Input;
|
|
}
|
|
}
|
|
this.list.push(Input);
|
|
return Input;
|
|
}
|
|
,add_flixel_input_touch_FlxTouchManager: function(Input) {
|
|
var _g = 0;
|
|
var _g1 = this.list;
|
|
while(_g < _g1.length) {
|
|
var input = _g1[_g];
|
|
++_g;
|
|
if(flixel_util_FlxStringUtil.getClassName(Input,true) == flixel_util_FlxStringUtil.getClassName(input,true)) {
|
|
return Input;
|
|
}
|
|
}
|
|
this.list.push(Input);
|
|
return Input;
|
|
}
|
|
,add_flixel_input_keyboard_FlxKeyboard: function(Input) {
|
|
var _g = 0;
|
|
var _g1 = this.list;
|
|
while(_g < _g1.length) {
|
|
var input = _g1[_g];
|
|
++_g;
|
|
if(flixel_util_FlxStringUtil.getClassName(Input,true) == flixel_util_FlxStringUtil.getClassName(input,true)) {
|
|
return Input;
|
|
}
|
|
}
|
|
this.list.push(Input);
|
|
return Input;
|
|
}
|
|
,replace_flixel_input_mouse_FlxMouse: function(Old,New) {
|
|
var i = 0;
|
|
var success = false;
|
|
var _g = 0;
|
|
var _g1 = this.list;
|
|
while(_g < _g1.length) {
|
|
var input = _g1[_g];
|
|
++_g;
|
|
if(input == Old) {
|
|
this.list[i] = New;
|
|
success = true;
|
|
break;
|
|
}
|
|
++i;
|
|
}
|
|
if(success) {
|
|
return New;
|
|
}
|
|
return null;
|
|
}
|
|
,add_flixel_input_mouse_FlxMouse: function(Input) {
|
|
var _g = 0;
|
|
var _g1 = this.list;
|
|
while(_g < _g1.length) {
|
|
var input = _g1[_g];
|
|
++_g;
|
|
if(flixel_util_FlxStringUtil.getClassName(Input,true) == flixel_util_FlxStringUtil.getClassName(input,true)) {
|
|
return Input;
|
|
}
|
|
}
|
|
this.list.push(Input);
|
|
return Input;
|
|
}
|
|
,list: null
|
|
,resetOnStateSwitch: null
|
|
,reset: function() {
|
|
var _g = 0;
|
|
var _g1 = this.list;
|
|
while(_g < _g1.length) {
|
|
var input = _g1[_g];
|
|
++_g;
|
|
input.reset();
|
|
}
|
|
}
|
|
,update: function() {
|
|
var _g = 0;
|
|
var _g1 = this.list;
|
|
while(_g < _g1.length) {
|
|
var input = _g1[_g];
|
|
++_g;
|
|
input.update();
|
|
}
|
|
}
|
|
,onFocus: function() {
|
|
var _g = 0;
|
|
var _g1 = this.list;
|
|
while(_g < _g1.length) {
|
|
var input = _g1[_g];
|
|
++_g;
|
|
input.onFocus();
|
|
}
|
|
}
|
|
,onFocusLost: function() {
|
|
var _g = 0;
|
|
var _g1 = this.list;
|
|
while(_g < _g1.length) {
|
|
var input = _g1[_g];
|
|
++_g;
|
|
input.onFocusLost();
|
|
}
|
|
}
|
|
,onStateSwitch: function() {
|
|
if(this.resetOnStateSwitch) {
|
|
this.reset();
|
|
}
|
|
}
|
|
,destroy: function() {
|
|
var _g = 0;
|
|
var _g1 = this.list;
|
|
while(_g < _g1.length) {
|
|
var input = _g1[_g];
|
|
++_g;
|
|
input = flixel_util_FlxDestroyUtil.destroy(input);
|
|
}
|
|
}
|
|
,__class__: flixel_system_frontEnds_InputFrontEnd
|
|
};
|
|
var flixel_system_frontEnds_LogFrontEnd = function() {
|
|
this.redirectTraces = false;
|
|
this._standardTraceFunction = haxe_Log.trace;
|
|
};
|
|
$hxClasses["flixel.system.frontEnds.LogFrontEnd"] = flixel_system_frontEnds_LogFrontEnd;
|
|
flixel_system_frontEnds_LogFrontEnd.__name__ = "flixel.system.frontEnds.LogFrontEnd";
|
|
flixel_system_frontEnds_LogFrontEnd.prototype = {
|
|
redirectTraces: null
|
|
,_standardTraceFunction: null
|
|
,add: function(Data) {
|
|
}
|
|
,warn: function(Data) {
|
|
}
|
|
,error: function(Data) {
|
|
}
|
|
,notice: function(Data) {
|
|
}
|
|
,advanced: function(Data,Style,FireOnce) {
|
|
if(FireOnce == null) {
|
|
FireOnce = false;
|
|
}
|
|
}
|
|
,clear: function() {
|
|
}
|
|
,set_redirectTraces: function(Redirect) {
|
|
haxe_Log.trace = Redirect ? $bind(this,this.processTraceData) : this._standardTraceFunction;
|
|
return this.redirectTraces = Redirect;
|
|
}
|
|
,processTraceData: function(Data,Info) {
|
|
var paramArray = [Data];
|
|
if(Info.customParams != null) {
|
|
var _g = 0;
|
|
var _g1 = Info.customParams;
|
|
while(_g < _g1.length) {
|
|
var i = _g1[_g];
|
|
++_g;
|
|
paramArray.push(i);
|
|
}
|
|
}
|
|
this.advanced(paramArray,flixel_system_debug_log_LogStyle.NORMAL);
|
|
}
|
|
,__class__: flixel_system_frontEnds_LogFrontEnd
|
|
,__properties__: {set_redirectTraces:"set_redirectTraces"}
|
|
};
|
|
var haxe_Log = function() { };
|
|
$hxClasses["haxe.Log"] = haxe_Log;
|
|
haxe_Log.__name__ = "haxe.Log";
|
|
haxe_Log.formatOutput = function(v,infos) {
|
|
var str = Std.string(v);
|
|
if(infos == null) {
|
|
return str;
|
|
}
|
|
var pstr = infos.fileName + ":" + infos.lineNumber;
|
|
if(infos.customParams != null) {
|
|
var _g = 0;
|
|
var _g1 = infos.customParams;
|
|
while(_g < _g1.length) {
|
|
var v = _g1[_g];
|
|
++_g;
|
|
str += ", " + Std.string(v);
|
|
}
|
|
}
|
|
return pstr + ": " + str;
|
|
};
|
|
haxe_Log.trace = function(v,infos) {
|
|
var str = haxe_Log.formatOutput(v,infos);
|
|
if(typeof(console) != "undefined" && console.log != null) {
|
|
console.log(str);
|
|
}
|
|
};
|
|
var js_Boot = function() { };
|
|
$hxClasses["js.Boot"] = js_Boot;
|
|
js_Boot.__name__ = "js.Boot";
|
|
js_Boot.getClass = function(o) {
|
|
if(o == null) {
|
|
return null;
|
|
} else if(((o) instanceof Array)) {
|
|
return Array;
|
|
} else {
|
|
var cl = o.__class__;
|
|
if(cl != null) {
|
|
return cl;
|
|
}
|
|
var name = js_Boot.__nativeClassName(o);
|
|
if(name != null) {
|
|
return js_Boot.__resolveNativeClass(name);
|
|
}
|
|
return null;
|
|
}
|
|
};
|
|
js_Boot.__string_rec = function(o,s) {
|
|
if(o == null) {
|
|
return "null";
|
|
}
|
|
if(s.length >= 5) {
|
|
return "<...>";
|
|
}
|
|
var t = typeof(o);
|
|
if(t == "function" && (o.__name__ || o.__ename__)) {
|
|
t = "object";
|
|
}
|
|
switch(t) {
|
|
case "function":
|
|
return "<function>";
|
|
case "object":
|
|
if(o.__enum__) {
|
|
var e = $hxEnums[o.__enum__];
|
|
var n = e.__constructs__[o._hx_index];
|
|
var con = e[n];
|
|
if(con.__params__) {
|
|
s = s + "\t";
|
|
return n + "(" + ((function($this) {
|
|
var $r;
|
|
var _g = [];
|
|
{
|
|
var _g1 = 0;
|
|
var _g2 = con.__params__;
|
|
while(true) {
|
|
if(!(_g1 < _g2.length)) {
|
|
break;
|
|
}
|
|
var p = _g2[_g1];
|
|
_g1 = _g1 + 1;
|
|
_g.push(js_Boot.__string_rec(o[p],s));
|
|
}
|
|
}
|
|
$r = _g;
|
|
return $r;
|
|
}(this))).join(",") + ")";
|
|
} else {
|
|
return n;
|
|
}
|
|
}
|
|
if(((o) instanceof Array)) {
|
|
var str = "[";
|
|
s += "\t";
|
|
var _g = 0;
|
|
var _g1 = o.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s);
|
|
}
|
|
str += "]";
|
|
return str;
|
|
}
|
|
var tostr;
|
|
try {
|
|
tostr = o.toString;
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
return "???";
|
|
}
|
|
if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") {
|
|
var s2 = o.toString();
|
|
if(s2 != "[object Object]") {
|
|
return s2;
|
|
}
|
|
}
|
|
var str = "{\n";
|
|
s += "\t";
|
|
var hasp = o.hasOwnProperty != null;
|
|
var k = null;
|
|
for( k in o ) {
|
|
if(hasp && !o.hasOwnProperty(k)) {
|
|
continue;
|
|
}
|
|
if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") {
|
|
continue;
|
|
}
|
|
if(str.length != 2) {
|
|
str += ", \n";
|
|
}
|
|
str += s + k + " : " + js_Boot.__string_rec(o[k],s);
|
|
}
|
|
s = s.substring(1);
|
|
str += "\n" + s + "}";
|
|
return str;
|
|
case "string":
|
|
return o;
|
|
default:
|
|
return String(o);
|
|
}
|
|
};
|
|
js_Boot.__interfLoop = function(cc,cl) {
|
|
if(cc == null) {
|
|
return false;
|
|
}
|
|
if(cc == cl) {
|
|
return true;
|
|
}
|
|
var intf = cc.__interfaces__;
|
|
if(intf != null) {
|
|
var _g = 0;
|
|
var _g1 = intf.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var i1 = intf[i];
|
|
if(i1 == cl || js_Boot.__interfLoop(i1,cl)) {
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
return js_Boot.__interfLoop(cc.__super__,cl);
|
|
};
|
|
js_Boot.__instanceof = function(o,cl) {
|
|
if(cl == null) {
|
|
return false;
|
|
}
|
|
switch(cl) {
|
|
case Array:
|
|
return ((o) instanceof Array);
|
|
case Bool:
|
|
return typeof(o) == "boolean";
|
|
case Dynamic:
|
|
return o != null;
|
|
case Float:
|
|
return typeof(o) == "number";
|
|
case Int:
|
|
if(typeof(o) == "number") {
|
|
return ((o | 0) === o);
|
|
} else {
|
|
return false;
|
|
}
|
|
break;
|
|
case String:
|
|
return typeof(o) == "string";
|
|
default:
|
|
if(o != null) {
|
|
if(typeof(cl) == "function") {
|
|
if(js_Boot.__downcastCheck(o,cl)) {
|
|
return true;
|
|
}
|
|
} else if(typeof(cl) == "object" && js_Boot.__isNativeObj(cl)) {
|
|
if(((o) instanceof cl)) {
|
|
return true;
|
|
}
|
|
}
|
|
} else {
|
|
return false;
|
|
}
|
|
if(cl == Class ? o.__name__ != null : false) {
|
|
return true;
|
|
}
|
|
if(cl == Enum ? o.__ename__ != null : false) {
|
|
return true;
|
|
}
|
|
return o.__enum__ != null ? $hxEnums[o.__enum__] == cl : false;
|
|
}
|
|
};
|
|
js_Boot.__downcastCheck = function(o,cl) {
|
|
if(!((o) instanceof cl)) {
|
|
if(cl.__isInterface__) {
|
|
return js_Boot.__interfLoop(js_Boot.getClass(o),cl);
|
|
} else {
|
|
return false;
|
|
}
|
|
} else {
|
|
return true;
|
|
}
|
|
};
|
|
js_Boot.__implements = function(o,iface) {
|
|
return js_Boot.__interfLoop(js_Boot.getClass(o),iface);
|
|
};
|
|
js_Boot.__cast = function(o,t) {
|
|
if(o == null || js_Boot.__instanceof(o,t)) {
|
|
return o;
|
|
} else {
|
|
throw haxe_Exception.thrown("Cannot cast " + Std.string(o) + " to " + Std.string(t));
|
|
}
|
|
};
|
|
js_Boot.__toStr = null;
|
|
js_Boot.__nativeClassName = function(o) {
|
|
var name = js_Boot.__toStr.call(o).slice(8,-1);
|
|
if(name == "Object" || name == "Function" || name == "Math" || name == "JSON") {
|
|
return null;
|
|
}
|
|
return name;
|
|
};
|
|
js_Boot.__isNativeObj = function(o) {
|
|
return js_Boot.__nativeClassName(o) != null;
|
|
};
|
|
js_Boot.__resolveNativeClass = function(name) {
|
|
return $global[name];
|
|
};
|
|
var flixel_math_FlxRandom = function(InitialSeed) {
|
|
this.internalSeed = 1;
|
|
this._floatNormalRho = 0;
|
|
this._twoPI = Math.PI * 2;
|
|
this._floatNormalRand2 = 0;
|
|
this._floatNormalRand1 = 0;
|
|
this._hasFloatNormalSpare = false;
|
|
this.initialSeed = 1;
|
|
if(InitialSeed != null) {
|
|
var lowerBound = InitialSeed < 1 ? 1 : InitialSeed;
|
|
var NewSeed = (lowerBound > 2147483646 ? 2147483646 : lowerBound) | 0;
|
|
var lowerBound = NewSeed < 1 ? 1 : NewSeed;
|
|
this.initialSeed = (this.internalSeed = (lowerBound > 2147483646 ? 2147483646 : lowerBound) | 0) | 0;
|
|
} else {
|
|
var Value = Math.random() * 2147483647 | 0;
|
|
var lowerBound = Value < 1 ? 1 : Value;
|
|
var NewSeed = (lowerBound > 2147483646 ? 2147483646 : lowerBound) | 0;
|
|
var lowerBound = NewSeed < 1 ? 1 : NewSeed;
|
|
var NewSeed = (lowerBound > 2147483646 ? 2147483646 : lowerBound) | 0;
|
|
var lowerBound = NewSeed < 1 ? 1 : NewSeed;
|
|
this.initialSeed = (this.internalSeed = (lowerBound > 2147483646 ? 2147483646 : lowerBound) | 0) | 0;
|
|
}
|
|
};
|
|
$hxClasses["flixel.math.FlxRandom"] = flixel_math_FlxRandom;
|
|
flixel_math_FlxRandom.__name__ = "flixel.math.FlxRandom";
|
|
flixel_math_FlxRandom.rangeBound = function(Value) {
|
|
var lowerBound = Value < 1 ? 1 : Value;
|
|
return (lowerBound > 2147483646 ? 2147483646 : lowerBound) | 0;
|
|
};
|
|
flixel_math_FlxRandom.prototype = {
|
|
getObject_flixel_group_FlxTypedGroup_T: function(Objects,WeightsArray,StartIndex,EndIndex) {
|
|
if(StartIndex == null) {
|
|
StartIndex = 0;
|
|
}
|
|
var selected = null;
|
|
if(Objects.length != 0) {
|
|
if(WeightsArray == null) {
|
|
var _g = [];
|
|
var _g1 = 0;
|
|
var _g2 = Objects.length;
|
|
while(_g1 < _g2) {
|
|
var i = _g1++;
|
|
_g.push(1);
|
|
}
|
|
WeightsArray = _g;
|
|
}
|
|
if(EndIndex == null) {
|
|
EndIndex = Objects.length - 1;
|
|
}
|
|
var Max = Objects.length - 1;
|
|
var lowerBound = StartIndex < 0 ? 0 : StartIndex;
|
|
StartIndex = (Max != null && lowerBound > Max ? Max : lowerBound) | 0;
|
|
var Max = Objects.length - 1;
|
|
var lowerBound = EndIndex < 0 ? 0 : EndIndex;
|
|
EndIndex = (Max != null && lowerBound > Max ? Max : lowerBound) | 0;
|
|
if(EndIndex < StartIndex) {
|
|
StartIndex += EndIndex;
|
|
EndIndex = StartIndex - EndIndex;
|
|
StartIndex -= EndIndex;
|
|
}
|
|
if(EndIndex > WeightsArray.length - 1) {
|
|
EndIndex = WeightsArray.length - 1;
|
|
}
|
|
var _g = [];
|
|
var _g1 = StartIndex;
|
|
var _g2 = EndIndex + 1;
|
|
while(_g1 < _g2) {
|
|
var i = _g1++;
|
|
_g.push(WeightsArray[i]);
|
|
}
|
|
flixel_math_FlxRandom._arrayFloatHelper = _g;
|
|
selected = Objects[StartIndex + this.weightedPick(flixel_math_FlxRandom._arrayFloatHelper)];
|
|
}
|
|
return selected;
|
|
}
|
|
,getObject_flixel_system_FlxSound: function(Objects,WeightsArray,StartIndex,EndIndex) {
|
|
if(StartIndex == null) {
|
|
StartIndex = 0;
|
|
}
|
|
var selected = null;
|
|
if(Objects.length != 0) {
|
|
if(WeightsArray == null) {
|
|
var _g = [];
|
|
var _g1 = 0;
|
|
var _g2 = Objects.length;
|
|
while(_g1 < _g2) {
|
|
var i = _g1++;
|
|
_g.push(1);
|
|
}
|
|
WeightsArray = _g;
|
|
}
|
|
if(EndIndex == null) {
|
|
EndIndex = Objects.length - 1;
|
|
}
|
|
var Max = Objects.length - 1;
|
|
var lowerBound = StartIndex < 0 ? 0 : StartIndex;
|
|
StartIndex = (Max != null && lowerBound > Max ? Max : lowerBound) | 0;
|
|
var Max = Objects.length - 1;
|
|
var lowerBound = EndIndex < 0 ? 0 : EndIndex;
|
|
EndIndex = (Max != null && lowerBound > Max ? Max : lowerBound) | 0;
|
|
if(EndIndex < StartIndex) {
|
|
StartIndex += EndIndex;
|
|
EndIndex = StartIndex - EndIndex;
|
|
StartIndex -= EndIndex;
|
|
}
|
|
if(EndIndex > WeightsArray.length - 1) {
|
|
EndIndex = WeightsArray.length - 1;
|
|
}
|
|
var _g = [];
|
|
var _g1 = StartIndex;
|
|
var _g2 = EndIndex + 1;
|
|
while(_g1 < _g2) {
|
|
var i = _g1++;
|
|
_g.push(WeightsArray[i]);
|
|
}
|
|
flixel_math_FlxRandom._arrayFloatHelper = _g;
|
|
selected = Objects[StartIndex + this.weightedPick(flixel_math_FlxRandom._arrayFloatHelper)];
|
|
}
|
|
return selected;
|
|
}
|
|
,getObject_Array_String: function(Objects,WeightsArray,StartIndex,EndIndex) {
|
|
if(StartIndex == null) {
|
|
StartIndex = 0;
|
|
}
|
|
var selected = null;
|
|
if(Objects.length != 0) {
|
|
if(WeightsArray == null) {
|
|
var _g = [];
|
|
var _g1 = 0;
|
|
var _g2 = Objects.length;
|
|
while(_g1 < _g2) {
|
|
var i = _g1++;
|
|
_g.push(1);
|
|
}
|
|
WeightsArray = _g;
|
|
}
|
|
if(EndIndex == null) {
|
|
EndIndex = Objects.length - 1;
|
|
}
|
|
var Max = Objects.length - 1;
|
|
var lowerBound = StartIndex < 0 ? 0 : StartIndex;
|
|
StartIndex = (Max != null && lowerBound > Max ? Max : lowerBound) | 0;
|
|
var Max = Objects.length - 1;
|
|
var lowerBound = EndIndex < 0 ? 0 : EndIndex;
|
|
EndIndex = (Max != null && lowerBound > Max ? Max : lowerBound) | 0;
|
|
if(EndIndex < StartIndex) {
|
|
StartIndex += EndIndex;
|
|
EndIndex = StartIndex - EndIndex;
|
|
StartIndex -= EndIndex;
|
|
}
|
|
if(EndIndex > WeightsArray.length - 1) {
|
|
EndIndex = WeightsArray.length - 1;
|
|
}
|
|
var _g = [];
|
|
var _g1 = StartIndex;
|
|
var _g2 = EndIndex + 1;
|
|
while(_g1 < _g2) {
|
|
var i = _g1++;
|
|
_g.push(WeightsArray[i]);
|
|
}
|
|
flixel_math_FlxRandom._arrayFloatHelper = _g;
|
|
selected = Objects[StartIndex + this.weightedPick(flixel_math_FlxRandom._arrayFloatHelper)];
|
|
}
|
|
return selected;
|
|
}
|
|
,initialSeed: null
|
|
,resetInitialSeed: function() {
|
|
var Value = Math.random() * 2147483647 | 0;
|
|
var lowerBound = Value < 1 ? 1 : Value;
|
|
var NewSeed = (lowerBound > 2147483646 ? 2147483646 : lowerBound) | 0;
|
|
var lowerBound = NewSeed < 1 ? 1 : NewSeed;
|
|
var NewSeed = (lowerBound > 2147483646 ? 2147483646 : lowerBound) | 0;
|
|
var lowerBound = NewSeed < 1 ? 1 : NewSeed;
|
|
return this.initialSeed = (this.internalSeed = (lowerBound > 2147483646 ? 2147483646 : lowerBound) | 0) | 0;
|
|
}
|
|
,int: function(Min,Max,Excludes) {
|
|
if(Max == null) {
|
|
Max = 2147483647;
|
|
}
|
|
if(Min == null) {
|
|
Min = 0;
|
|
}
|
|
if(Min == 0 && Max == 2147483647 && Excludes == null) {
|
|
return (this.internalSeed = this.internalSeed * 48271.0 % 2147483647) | 0;
|
|
} else if(Min == Max) {
|
|
return Min;
|
|
} else {
|
|
if(Min > Max) {
|
|
Min += Max;
|
|
Max = Min - Max;
|
|
Min -= Max;
|
|
}
|
|
if(Excludes == null) {
|
|
return Math.floor(Min + (this.internalSeed = this.internalSeed * 48271.0 % 2147483647) / 2147483647 * (Max - Min + 1));
|
|
} else {
|
|
var result = 0;
|
|
while(true) {
|
|
result = Math.floor(Min + (this.internalSeed = this.internalSeed * 48271.0 % 2147483647) / 2147483647 * (Max - Min + 1));
|
|
if(!(Excludes.indexOf(result) >= 0)) {
|
|
break;
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
}
|
|
}
|
|
,float: function(Min,Max,Excludes) {
|
|
if(Max == null) {
|
|
Max = 1;
|
|
}
|
|
if(Min == null) {
|
|
Min = 0;
|
|
}
|
|
var result = 0;
|
|
if(Min == 0 && Max == 1 && Excludes == null) {
|
|
return (this.internalSeed = this.internalSeed * 48271.0 % 2147483647) / 2147483647;
|
|
} else if(Min == Max) {
|
|
result = Min;
|
|
} else {
|
|
if(Min > Max) {
|
|
Min += Max;
|
|
Max = Min - Max;
|
|
Min -= Max;
|
|
}
|
|
if(Excludes == null) {
|
|
result = Min + (this.internalSeed = this.internalSeed * 48271.0 % 2147483647) / 2147483647 * (Max - Min);
|
|
} else {
|
|
while(true) {
|
|
result = Min + (this.internalSeed = this.internalSeed * 48271.0 % 2147483647) / 2147483647 * (Max - Min);
|
|
if(!(Excludes.indexOf(result) >= 0)) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
,_hasFloatNormalSpare: null
|
|
,_floatNormalRand1: null
|
|
,_floatNormalRand2: null
|
|
,_twoPI: null
|
|
,_floatNormalRho: null
|
|
,floatNormal: function(Mean,StdDev) {
|
|
if(StdDev == null) {
|
|
StdDev = 1;
|
|
}
|
|
if(Mean == null) {
|
|
Mean = 0;
|
|
}
|
|
if(this._hasFloatNormalSpare) {
|
|
this._hasFloatNormalSpare = false;
|
|
var scale = StdDev * this._floatNormalRho;
|
|
return Mean + scale * this._floatNormalRand2;
|
|
}
|
|
this._hasFloatNormalSpare = true;
|
|
var theta = this._twoPI * ((this.internalSeed = this.internalSeed * 48271.0 % 2147483647) / 2147483647);
|
|
this._floatNormalRho = Math.sqrt(-2 * Math.log(1 - (this.internalSeed = this.internalSeed * 48271.0 % 2147483647) / 2147483647));
|
|
var scale = StdDev * this._floatNormalRho;
|
|
this._floatNormalRand1 = Math.cos(theta);
|
|
this._floatNormalRand2 = Math.sin(theta);
|
|
return Mean + scale * this._floatNormalRand1;
|
|
}
|
|
,bool: function(Chance) {
|
|
if(Chance == null) {
|
|
Chance = 50;
|
|
}
|
|
return this.float(0,100) < Chance;
|
|
}
|
|
,sign: function(Chance) {
|
|
if(Chance == null) {
|
|
Chance = 50;
|
|
}
|
|
var Chance1 = Chance;
|
|
if(Chance1 == null) {
|
|
Chance1 = 50;
|
|
}
|
|
if(this.float(0,100) < Chance1) {
|
|
return 1;
|
|
} else {
|
|
return -1;
|
|
}
|
|
}
|
|
,weightedPick: function(WeightsArray) {
|
|
var totalWeight = 0;
|
|
var pick = 0;
|
|
var _g = 0;
|
|
while(_g < WeightsArray.length) {
|
|
var i = WeightsArray[_g];
|
|
++_g;
|
|
totalWeight += i;
|
|
}
|
|
totalWeight = this.float(0,totalWeight);
|
|
var _g = 0;
|
|
var _g1 = WeightsArray.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(totalWeight < WeightsArray[i]) {
|
|
pick = i;
|
|
break;
|
|
}
|
|
totalWeight -= WeightsArray[i];
|
|
}
|
|
return pick;
|
|
}
|
|
,color: function(Min,Max,Alpha,GreyScale) {
|
|
if(GreyScale == null) {
|
|
GreyScale = false;
|
|
}
|
|
var red;
|
|
var green;
|
|
var blue;
|
|
var alpha;
|
|
if(Min == null && Max == null) {
|
|
red = this.int(0,255);
|
|
green = this.int(0,255);
|
|
blue = this.int(0,255);
|
|
alpha = Alpha == null ? this.int(0,255) : Alpha;
|
|
} else if(Max == null) {
|
|
red = this.int(Min >> 16 & 255,255);
|
|
green = GreyScale ? red : this.int(Min >> 8 & 255,255);
|
|
blue = GreyScale ? red : this.int(Min & 255,255);
|
|
alpha = Alpha == null ? this.int(Min >> 24 & 255,255) : Alpha;
|
|
} else if(Min == null) {
|
|
red = this.int(0,Max >> 16 & 255);
|
|
green = GreyScale ? red : this.int(0,Max >> 8 & 255);
|
|
blue = GreyScale ? red : this.int(0,Max & 255);
|
|
alpha = Alpha == null ? this.int(0,Max >> 24 & 255) : Alpha;
|
|
} else {
|
|
red = this.int(Min >> 16 & 255,Max >> 16 & 255);
|
|
green = GreyScale ? red : this.int(Min >> 8 & 255,Max >> 8 & 255);
|
|
blue = GreyScale ? red : this.int(Min & 255,Max & 255);
|
|
alpha = Alpha == null ? this.int(Min >> 24 & 255,Max >> 24 & 255) : Alpha;
|
|
}
|
|
var Alpha = alpha;
|
|
if(Alpha == null) {
|
|
Alpha = 255;
|
|
}
|
|
var color = flixel_util_FlxColor._new();
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 255;
|
|
}
|
|
color &= -16711681;
|
|
color |= (red > 255 ? 255 : red < 0 ? 0 : red) << 16;
|
|
color &= -65281;
|
|
color |= (green > 255 ? 255 : green < 0 ? 0 : green) << 8;
|
|
color &= -256;
|
|
color |= blue > 255 ? 255 : blue < 0 ? 0 : blue;
|
|
color &= 16777215;
|
|
color |= (Alpha1 > 255 ? 255 : Alpha1 < 0 ? 0 : Alpha1) << 24;
|
|
return color;
|
|
}
|
|
,generate: function() {
|
|
return this.internalSeed = this.internalSeed * 48271.0 % 2147483647;
|
|
}
|
|
,internalSeed: null
|
|
,set_initialSeed: function(NewSeed) {
|
|
var lowerBound = NewSeed < 1 ? 1 : NewSeed;
|
|
var NewSeed = (lowerBound > 2147483646 ? 2147483646 : lowerBound) | 0;
|
|
var lowerBound = NewSeed < 1 ? 1 : NewSeed;
|
|
return this.initialSeed = (this.internalSeed = (lowerBound > 2147483646 ? 2147483646 : lowerBound) | 0) | 0;
|
|
}
|
|
,get_currentSeed: function() {
|
|
return this.internalSeed | 0;
|
|
}
|
|
,set_currentSeed: function(NewSeed) {
|
|
var lowerBound = NewSeed < 1 ? 1 : NewSeed;
|
|
return (this.internalSeed = (lowerBound > 2147483646 ? 2147483646 : lowerBound) | 0) | 0;
|
|
}
|
|
,__class__: flixel_math_FlxRandom
|
|
,__properties__: {set_currentSeed:"set_currentSeed",get_currentSeed:"get_currentSeed",set_initialSeed:"set_initialSeed"}
|
|
};
|
|
var flixel_util_FlxSave = function() {
|
|
this._closeRequested = false;
|
|
};
|
|
$hxClasses["flixel.util.FlxSave"] = flixel_util_FlxSave;
|
|
flixel_util_FlxSave.__name__ = "flixel.util.FlxSave";
|
|
flixel_util_FlxSave.__interfaces__ = [flixel_util_IFlxDestroyable];
|
|
flixel_util_FlxSave.prototype = {
|
|
data: null
|
|
,name: null
|
|
,path: null
|
|
,_sharedObject: null
|
|
,_onComplete: null
|
|
,_closeRequested: null
|
|
,destroy: function() {
|
|
this._sharedObject = null;
|
|
this.name = null;
|
|
this.path = null;
|
|
this.data = null;
|
|
this._onComplete = null;
|
|
this._closeRequested = false;
|
|
}
|
|
,bind: function(Name,Path) {
|
|
this.destroy();
|
|
this.name = Name;
|
|
this.path = Path;
|
|
try {
|
|
this._sharedObject = openfl_net_SharedObject.getLocal(this.name,this.path);
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
if(((haxe_Exception.caught(_g).unwrap()) instanceof openfl_errors_Error)) {
|
|
this.destroy();
|
|
return false;
|
|
} else {
|
|
throw _g;
|
|
}
|
|
}
|
|
this.data = this._sharedObject.data;
|
|
return true;
|
|
}
|
|
,close: function(MinFileSize,OnComplete) {
|
|
if(MinFileSize == null) {
|
|
MinFileSize = 0;
|
|
}
|
|
this._closeRequested = true;
|
|
return this.flush(MinFileSize,OnComplete);
|
|
}
|
|
,flush: function(MinFileSize,OnComplete) {
|
|
if(MinFileSize == null) {
|
|
MinFileSize = 0;
|
|
}
|
|
if(!this.checkBinding()) {
|
|
return false;
|
|
}
|
|
this._onComplete = OnComplete;
|
|
var result = null;
|
|
try {
|
|
result = this._sharedObject.flush();
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
if(((haxe_Exception.caught(_g).unwrap()) instanceof openfl_errors_Error)) {
|
|
return this.onDone(flixel_util_FlxSaveStatus.ERROR);
|
|
} else {
|
|
throw _g;
|
|
}
|
|
}
|
|
return this.onDone(result == 0 ? flixel_util_FlxSaveStatus.SUCCESS : flixel_util_FlxSaveStatus.PENDING);
|
|
}
|
|
,erase: function() {
|
|
if(!this.checkBinding()) {
|
|
return false;
|
|
}
|
|
this._sharedObject.clear();
|
|
this.data = { };
|
|
return true;
|
|
}
|
|
,onDone: function(Result) {
|
|
switch(Result._hx_index) {
|
|
case 1:
|
|
break;
|
|
case 2:
|
|
break;
|
|
default:
|
|
}
|
|
if(this._onComplete != null) {
|
|
this._onComplete(Result == flixel_util_FlxSaveStatus.SUCCESS);
|
|
}
|
|
if(this._closeRequested) {
|
|
this.destroy();
|
|
}
|
|
return Result == flixel_util_FlxSaveStatus.SUCCESS;
|
|
}
|
|
,checkBinding: function() {
|
|
if(this._sharedObject == null) {
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
,__class__: flixel_util_FlxSave
|
|
};
|
|
var flixel_system_scaleModes_BaseScaleMode = function() {
|
|
this.verticalAlign = flixel_util_FlxVerticalAlign.CENTER;
|
|
this.horizontalAlign = flixel_util_FlxHorizontalAlign.CENTER;
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
this.deviceSize = point;
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
this.gameSize = point;
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
this.scale = point;
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
this.offset = point;
|
|
};
|
|
$hxClasses["flixel.system.scaleModes.BaseScaleMode"] = flixel_system_scaleModes_BaseScaleMode;
|
|
flixel_system_scaleModes_BaseScaleMode.__name__ = "flixel.system.scaleModes.BaseScaleMode";
|
|
flixel_system_scaleModes_BaseScaleMode.prototype = {
|
|
deviceSize: null
|
|
,gameSize: null
|
|
,scale: null
|
|
,offset: null
|
|
,horizontalAlign: null
|
|
,verticalAlign: null
|
|
,onMeasure: function(Width,Height) {
|
|
flixel_FlxG.width = flixel_FlxG.initialWidth;
|
|
flixel_FlxG.height = flixel_FlxG.initialHeight;
|
|
this.updateGameSize(Width,Height);
|
|
this.updateDeviceSize(Width,Height);
|
|
this.updateScaleOffset();
|
|
this.updateGamePosition();
|
|
}
|
|
,updateGameSize: function(Width,Height) {
|
|
this.gameSize.set(Width,Height);
|
|
}
|
|
,updateDeviceSize: function(Width,Height) {
|
|
this.deviceSize.set(Width,Height);
|
|
}
|
|
,updateScaleOffset: function() {
|
|
this.scale.set_x(this.gameSize.x / (flixel_FlxG.width * flixel_FlxG.initialZoom));
|
|
this.scale.set_y(this.gameSize.y / (flixel_FlxG.height * flixel_FlxG.initialZoom));
|
|
this.updateOffsetX();
|
|
this.updateOffsetY();
|
|
}
|
|
,updateOffsetX: function() {
|
|
var tmp;
|
|
switch(this.horizontalAlign._hx_index) {
|
|
case 0:
|
|
tmp = 0;
|
|
break;
|
|
case 1:
|
|
tmp = Math.ceil((this.deviceSize.x - this.gameSize.x) * 0.5);
|
|
break;
|
|
case 2:
|
|
tmp = this.deviceSize.x - this.gameSize.x;
|
|
break;
|
|
}
|
|
this.offset.set_x(tmp);
|
|
}
|
|
,updateOffsetY: function() {
|
|
var tmp;
|
|
switch(this.verticalAlign._hx_index) {
|
|
case 0:
|
|
tmp = 0;
|
|
break;
|
|
case 1:
|
|
tmp = Math.ceil((this.deviceSize.y - this.gameSize.y) * 0.5);
|
|
break;
|
|
case 2:
|
|
tmp = this.deviceSize.y - this.gameSize.y;
|
|
break;
|
|
}
|
|
this.offset.set_y(tmp);
|
|
}
|
|
,updateGamePosition: function() {
|
|
if(flixel_FlxG.game == null) {
|
|
return;
|
|
}
|
|
flixel_FlxG.game.set_x(this.offset.x);
|
|
flixel_FlxG.game.set_y(this.offset.y);
|
|
}
|
|
,set_horizontalAlign: function(value) {
|
|
this.horizontalAlign = value;
|
|
if(this.offset != null) {
|
|
this.updateOffsetX();
|
|
this.updateGamePosition();
|
|
}
|
|
return value;
|
|
}
|
|
,set_verticalAlign: function(value) {
|
|
this.verticalAlign = value;
|
|
if(this.offset != null) {
|
|
this.updateOffsetY();
|
|
this.updateGamePosition();
|
|
}
|
|
return value;
|
|
}
|
|
,__class__: flixel_system_scaleModes_BaseScaleMode
|
|
,__properties__: {set_verticalAlign:"set_verticalAlign",set_horizontalAlign:"set_horizontalAlign"}
|
|
};
|
|
var flixel_system_scaleModes_RatioScaleMode = function(fillScreen) {
|
|
if(fillScreen == null) {
|
|
fillScreen = false;
|
|
}
|
|
flixel_system_scaleModes_BaseScaleMode.call(this);
|
|
this.fillScreen = fillScreen;
|
|
};
|
|
$hxClasses["flixel.system.scaleModes.RatioScaleMode"] = flixel_system_scaleModes_RatioScaleMode;
|
|
flixel_system_scaleModes_RatioScaleMode.__name__ = "flixel.system.scaleModes.RatioScaleMode";
|
|
flixel_system_scaleModes_RatioScaleMode.__super__ = flixel_system_scaleModes_BaseScaleMode;
|
|
flixel_system_scaleModes_RatioScaleMode.prototype = $extend(flixel_system_scaleModes_BaseScaleMode.prototype,{
|
|
fillScreen: null
|
|
,updateGameSize: function(Width,Height) {
|
|
var ratio = flixel_FlxG.width / flixel_FlxG.height;
|
|
var realRatio = Width / Height;
|
|
var scaleY = realRatio < ratio;
|
|
if(this.fillScreen) {
|
|
scaleY = !scaleY;
|
|
}
|
|
if(scaleY) {
|
|
this.gameSize.set_x(Width);
|
|
this.gameSize.set_y(Math.floor(this.gameSize.x / ratio));
|
|
} else {
|
|
this.gameSize.set_y(Height);
|
|
this.gameSize.set_x(Math.floor(this.gameSize.y * ratio));
|
|
}
|
|
}
|
|
,__class__: flixel_system_scaleModes_RatioScaleMode
|
|
});
|
|
var flixel_system_frontEnds_SignalFrontEnd = function() {
|
|
this.focusLost = new flixel_util__$FlxSignal_FlxSignal0();
|
|
this.focusGained = new flixel_util__$FlxSignal_FlxSignal0();
|
|
this.postDraw = new flixel_util__$FlxSignal_FlxSignal0();
|
|
this.preDraw = new flixel_util__$FlxSignal_FlxSignal0();
|
|
this.postUpdate = new flixel_util__$FlxSignal_FlxSignal0();
|
|
this.preUpdate = new flixel_util__$FlxSignal_FlxSignal0();
|
|
this.postGameStart = new flixel_util__$FlxSignal_FlxSignal0();
|
|
this.preGameStart = new flixel_util__$FlxSignal_FlxSignal0();
|
|
this.postGameReset = new flixel_util__$FlxSignal_FlxSignal0();
|
|
this.preGameReset = new flixel_util__$FlxSignal_FlxSignal0();
|
|
this.gameResized = new flixel_util__$FlxSignal_FlxSignal2();
|
|
this.preStateCreate = new flixel_util__$FlxSignal_FlxSignal1();
|
|
this.postStateSwitch = new flixel_util__$FlxSignal_FlxSignal0();
|
|
this.preStateSwitch = new flixel_util__$FlxSignal_FlxSignal0();
|
|
};
|
|
$hxClasses["flixel.system.frontEnds.SignalFrontEnd"] = flixel_system_frontEnds_SignalFrontEnd;
|
|
flixel_system_frontEnds_SignalFrontEnd.__name__ = "flixel.system.frontEnds.SignalFrontEnd";
|
|
flixel_system_frontEnds_SignalFrontEnd.prototype = {
|
|
preStateSwitch: null
|
|
,postStateSwitch: null
|
|
,preStateCreate: null
|
|
,gameResized: null
|
|
,preGameReset: null
|
|
,postGameReset: null
|
|
,preGameStart: null
|
|
,postGameStart: null
|
|
,preUpdate: null
|
|
,postUpdate: null
|
|
,preDraw: null
|
|
,postDraw: null
|
|
,focusGained: null
|
|
,focusLost: null
|
|
,get_stateSwitched: function() {
|
|
return this.preStateSwitch;
|
|
}
|
|
,get_gameStarted: function() {
|
|
return this.postGameStart;
|
|
}
|
|
,__class__: flixel_system_frontEnds_SignalFrontEnd
|
|
,__properties__: {get_gameStarted:"get_gameStarted",get_stateSwitched:"get_stateSwitched"}
|
|
};
|
|
var flixel_system_frontEnds_WatchFrontEnd = function() {
|
|
};
|
|
$hxClasses["flixel.system.frontEnds.WatchFrontEnd"] = flixel_system_frontEnds_WatchFrontEnd;
|
|
flixel_system_frontEnds_WatchFrontEnd.__name__ = "flixel.system.frontEnds.WatchFrontEnd";
|
|
flixel_system_frontEnds_WatchFrontEnd.prototype = {
|
|
add: function(object,field,displayName) {
|
|
}
|
|
,remove: function(object,field) {
|
|
}
|
|
,addQuick: function(displayName,value) {
|
|
}
|
|
,removeQuick: function(displayName) {
|
|
}
|
|
,addExpression: function(expression,displayName) {
|
|
}
|
|
,removeExpression: function(displayName) {
|
|
}
|
|
,addMouse: function() {
|
|
}
|
|
,removeMouse: function() {
|
|
}
|
|
,__class__: flixel_system_frontEnds_WatchFrontEnd
|
|
};
|
|
var flixel_FlxG = function() { };
|
|
$hxClasses["flixel.FlxG"] = flixel_FlxG;
|
|
flixel_FlxG.__name__ = "flixel.FlxG";
|
|
flixel_FlxG.__properties__ = {set_mouse:"set_mouse",set_fullscreen:"set_fullscreen",get_fullscreen:"get_fullscreen",set_scaleMode:"set_scaleMode",get_onMobile:"get_onMobile",set_drawFramerate:"set_drawFramerate",set_updateFramerate:"set_updateFramerate",get_state:"get_state",get_stage:"get_stage"};
|
|
flixel_FlxG.camera = null;
|
|
flixel_FlxG.game = null;
|
|
flixel_FlxG.updateFramerate = null;
|
|
flixel_FlxG.drawFramerate = null;
|
|
flixel_FlxG.renderMethod = null;
|
|
flixel_FlxG.renderBlit = null;
|
|
flixel_FlxG.renderTile = null;
|
|
flixel_FlxG.width = null;
|
|
flixel_FlxG.height = null;
|
|
flixel_FlxG.mouse = null;
|
|
flixel_FlxG.touches = null;
|
|
flixel_FlxG.keys = null;
|
|
flixel_FlxG.gamepads = null;
|
|
flixel_FlxG.accelerometer = null;
|
|
flixel_FlxG.vcr = null;
|
|
flixel_FlxG.plugins = null;
|
|
flixel_FlxG.sound = null;
|
|
flixel_FlxG.resizeGame = function(Width,Height) {
|
|
flixel_FlxG.scaleMode.onMeasure(Width,Height);
|
|
};
|
|
flixel_FlxG.resizeWindow = function(Width,Height) {
|
|
};
|
|
flixel_FlxG.resetGame = function() {
|
|
flixel_FlxG.game._resetGame = true;
|
|
};
|
|
flixel_FlxG.switchState = function(nextState) {
|
|
if(flixel_FlxG.game._state.switchTo(nextState)) {
|
|
flixel_FlxG.game._requestedState = nextState;
|
|
}
|
|
};
|
|
flixel_FlxG.resetState = function() {
|
|
var nextState = Type.createInstance(js_Boot.getClass(flixel_FlxG.game._state),[]);
|
|
if(flixel_FlxG.game._state.switchTo(nextState)) {
|
|
flixel_FlxG.game._requestedState = nextState;
|
|
}
|
|
};
|
|
flixel_FlxG.overlap = function(ObjectOrGroup1,ObjectOrGroup2,NotifyCallback,ProcessCallback) {
|
|
if(ObjectOrGroup1 == null) {
|
|
ObjectOrGroup1 = flixel_FlxG.game._state;
|
|
}
|
|
if(ObjectOrGroup2 == ObjectOrGroup1) {
|
|
ObjectOrGroup2 = null;
|
|
}
|
|
flixel_system_FlxQuadTree.divisions = flixel_FlxG.worldDivisions;
|
|
var quadTree = flixel_system_FlxQuadTree.recycle(flixel_FlxG.worldBounds.x,flixel_FlxG.worldBounds.y,flixel_FlxG.worldBounds.width,flixel_FlxG.worldBounds.height);
|
|
quadTree.load(ObjectOrGroup1,ObjectOrGroup2,NotifyCallback,ProcessCallback);
|
|
var result = quadTree.execute();
|
|
quadTree.destroy();
|
|
return result;
|
|
};
|
|
flixel_FlxG.pixelPerfectOverlap = function(Sprite1,Sprite2,AlphaTolerance,Camera) {
|
|
if(AlphaTolerance == null) {
|
|
AlphaTolerance = 255;
|
|
}
|
|
return flixel_util_FlxCollision.pixelPerfectCheck(Sprite1,Sprite2,AlphaTolerance,Camera);
|
|
};
|
|
flixel_FlxG.collide = function(ObjectOrGroup1,ObjectOrGroup2,NotifyCallback) {
|
|
return flixel_FlxG.overlap(ObjectOrGroup1,ObjectOrGroup2,NotifyCallback,flixel_FlxObject.separate);
|
|
};
|
|
flixel_FlxG.addChildBelowMouse = function(Child,IndexModifier) {
|
|
if(IndexModifier == null) {
|
|
IndexModifier = 0;
|
|
}
|
|
var index = flixel_FlxG.game.getChildIndex(flixel_FlxG.game._inputContainer);
|
|
var max = flixel_FlxG.game.get_numChildren();
|
|
index = flixel_math_FlxMath.maxAdd(index,IndexModifier,max);
|
|
flixel_FlxG.game.addChildAt(Child,index);
|
|
return Child;
|
|
};
|
|
flixel_FlxG.removeChild = function(Child) {
|
|
if(flixel_FlxG.game.contains(Child)) {
|
|
flixel_FlxG.game.removeChild(Child);
|
|
}
|
|
return Child;
|
|
};
|
|
flixel_FlxG.addPostProcess = function(postProcess) {
|
|
return postProcess;
|
|
};
|
|
flixel_FlxG.removePostProcess = function(postProcess) {
|
|
};
|
|
flixel_FlxG.openURL = function(URL1,Target) {
|
|
if(Target == null) {
|
|
Target = "_blank";
|
|
}
|
|
var prefix = "";
|
|
if(!new EReg("^https?://","").match(URL1)) {
|
|
prefix = "http://";
|
|
}
|
|
openfl_Lib.getURL(new openfl_net_URLRequest(prefix + URL1),Target);
|
|
};
|
|
flixel_FlxG.init = function(Game,Width,Height,Zoom) {
|
|
flixel_FlxG.game = Game;
|
|
flixel_FlxG.width = Math.abs(Width) | 0;
|
|
flixel_FlxG.height = Math.abs(Height) | 0;
|
|
flixel_FlxG.initRenderMethod();
|
|
flixel_FlxG.initialWidth = flixel_FlxG.width;
|
|
flixel_FlxG.initialHeight = flixel_FlxG.height;
|
|
flixel_FlxG.initialZoom = flixel_FlxCamera.defaultZoom = Zoom;
|
|
var Width = openfl_Lib.get_current().stage.stageWidth;
|
|
var Height = openfl_Lib.get_current().stage.stageHeight;
|
|
flixel_FlxG.scaleMode.onMeasure(Width,Height);
|
|
flixel_FlxG.keys = flixel_FlxG.inputs.add_flixel_input_keyboard_FlxKeyboard(new flixel_input_keyboard_FlxKeyboard());
|
|
flixel_FlxG.set_mouse(flixel_FlxG.inputs.add_flixel_input_mouse_FlxMouse(new flixel_input_mouse_FlxMouse(flixel_FlxG.game._inputContainer)));
|
|
flixel_FlxG.touches = flixel_FlxG.inputs.add_flixel_input_touch_FlxTouchManager(new flixel_input_touch_FlxTouchManager());
|
|
flixel_FlxG.gamepads = flixel_FlxG.inputs.add_flixel_input_gamepad_FlxGamepadManager(new flixel_input_gamepad_FlxGamepadManager());
|
|
flixel_FlxG.accelerometer = new flixel_input_FlxAccelerometer();
|
|
flixel_FlxG.save.bind("flixel");
|
|
flixel_FlxG.plugins = new flixel_system_frontEnds_PluginFrontEnd();
|
|
flixel_FlxG.vcr = new flixel_system_frontEnds_VCRFrontEnd();
|
|
flixel_FlxG.sound = new flixel_system_frontEnds_SoundFrontEnd();
|
|
};
|
|
flixel_FlxG.initRenderMethod = function() {
|
|
flixel_FlxG.renderMethod = flixel_FlxRenderMethod.BLITTING;
|
|
var tmp;
|
|
switch(openfl_Lib.get_current().stage.window.context.type) {
|
|
case "opengl":case "opengles":case "webgl":
|
|
tmp = flixel_FlxRenderMethod.DRAW_TILES;
|
|
break;
|
|
default:
|
|
tmp = flixel_FlxRenderMethod.BLITTING;
|
|
}
|
|
flixel_FlxG.renderMethod = tmp;
|
|
flixel_FlxG.renderBlit = flixel_FlxG.renderMethod == flixel_FlxRenderMethod.BLITTING;
|
|
flixel_FlxG.renderTile = flixel_FlxG.renderMethod == flixel_FlxRenderMethod.DRAW_TILES;
|
|
flixel_FlxObject.defaultPixelPerfectPosition = flixel_FlxG.renderBlit;
|
|
};
|
|
flixel_FlxG.reset = function() {
|
|
var _this = flixel_FlxG.random;
|
|
var Value = Math.random() * 2147483647 | 0;
|
|
var lowerBound = Value < 1 ? 1 : Value;
|
|
var NewSeed = (lowerBound > 2147483646 ? 2147483646 : lowerBound) | 0;
|
|
var lowerBound = NewSeed < 1 ? 1 : NewSeed;
|
|
var NewSeed = (lowerBound > 2147483646 ? 2147483646 : lowerBound) | 0;
|
|
var lowerBound = NewSeed < 1 ? 1 : NewSeed;
|
|
_this.initialSeed = (_this.internalSeed = (lowerBound > 2147483646 ? 2147483646 : lowerBound) | 0) | 0;
|
|
flixel_FlxG.bitmap.reset();
|
|
flixel_FlxG.inputs.reset();
|
|
flixel_FlxG.sound.destroy(true);
|
|
flixel_FlxG.autoPause = true;
|
|
flixel_FlxG.fixedTimestep = true;
|
|
flixel_FlxG.timeScale = 1.0;
|
|
flixel_FlxG.elapsed = 0;
|
|
flixel_FlxG.maxElapsed = 0.1;
|
|
var _this = flixel_FlxG.worldBounds;
|
|
var X = -10;
|
|
var Y = -10;
|
|
var Width = flixel_FlxG.width + 20;
|
|
var Height = flixel_FlxG.height + 20;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
flixel_FlxG.worldDivisions = 6;
|
|
};
|
|
flixel_FlxG.set_scaleMode = function(ScaleMode) {
|
|
flixel_FlxG.scaleMode = ScaleMode;
|
|
flixel_FlxG.game.onResize(null);
|
|
return ScaleMode;
|
|
};
|
|
flixel_FlxG.set_mouse = function(NewMouse) {
|
|
if(flixel_FlxG.mouse == null) {
|
|
flixel_FlxG.mouse = flixel_FlxG.inputs.add_flixel_input_mouse_FlxMouse(NewMouse);
|
|
return flixel_FlxG.mouse;
|
|
}
|
|
var oldMouse = flixel_FlxG.mouse;
|
|
var result = flixel_FlxG.inputs.replace_flixel_input_mouse_FlxMouse(oldMouse,NewMouse);
|
|
if(result != null) {
|
|
flixel_FlxG.mouse = result;
|
|
oldMouse.destroy();
|
|
return NewMouse;
|
|
}
|
|
return oldMouse;
|
|
};
|
|
flixel_FlxG.set_updateFramerate = function(Framerate) {
|
|
var tmp = Framerate < flixel_FlxG.drawFramerate;
|
|
flixel_FlxG.updateFramerate = Framerate;
|
|
flixel_FlxG.game._stepMS = Math.abs(1000 / Framerate);
|
|
flixel_FlxG.game._stepSeconds = flixel_FlxG.game._stepMS / 1000;
|
|
if(flixel_FlxG.game._maxAccumulation < flixel_FlxG.game._stepMS) {
|
|
flixel_FlxG.game._maxAccumulation = flixel_FlxG.game._stepMS;
|
|
}
|
|
return Framerate;
|
|
};
|
|
flixel_FlxG.set_drawFramerate = function(Framerate) {
|
|
var tmp = Framerate > flixel_FlxG.updateFramerate;
|
|
flixel_FlxG.drawFramerate = Math.abs(Framerate) | 0;
|
|
if(flixel_FlxG.game.stage != null) {
|
|
flixel_FlxG.game.stage.set_frameRate(flixel_FlxG.drawFramerate);
|
|
}
|
|
flixel_FlxG.game._maxAccumulation = 2000 / flixel_FlxG.drawFramerate - 1;
|
|
if(flixel_FlxG.game._maxAccumulation < flixel_FlxG.game._stepMS) {
|
|
flixel_FlxG.game._maxAccumulation = flixel_FlxG.game._stepMS;
|
|
}
|
|
return Framerate;
|
|
};
|
|
flixel_FlxG.get_fullscreen = function() {
|
|
if(openfl_Lib.get_current().stage.get_displayState() != 0) {
|
|
return openfl_Lib.get_current().stage.get_displayState() == 1;
|
|
} else {
|
|
return true;
|
|
}
|
|
};
|
|
flixel_FlxG.set_fullscreen = function(Value) {
|
|
openfl_Lib.get_current().stage.set_displayState(Value ? 0 : 2);
|
|
return Value;
|
|
};
|
|
flixel_FlxG.get_stage = function() {
|
|
return openfl_Lib.get_current().stage;
|
|
};
|
|
flixel_FlxG.get_state = function() {
|
|
return flixel_FlxG.game._state;
|
|
};
|
|
flixel_FlxG.get_onMobile = function() {
|
|
return flixel_FlxG.html5.onMobile;
|
|
};
|
|
var flixel_FlxRenderMethod = $hxEnums["flixel.FlxRenderMethod"] = { __ename__ : "flixel.FlxRenderMethod", __constructs__ : ["DRAW_TILES","BLITTING"]
|
|
,DRAW_TILES: {_hx_index:0,__enum__:"flixel.FlxRenderMethod",toString:$estr}
|
|
,BLITTING: {_hx_index:1,__enum__:"flixel.FlxRenderMethod",toString:$estr}
|
|
};
|
|
var flixel_FlxGame = function(GameWidth,GameHeight,InitialState,Zoom,UpdateFramerate,DrawFramerate,SkipSplash,StartFullscreen) {
|
|
if(StartFullscreen == null) {
|
|
StartFullscreen = false;
|
|
}
|
|
if(SkipSplash == null) {
|
|
SkipSplash = false;
|
|
}
|
|
if(DrawFramerate == null) {
|
|
DrawFramerate = 60;
|
|
}
|
|
if(UpdateFramerate == null) {
|
|
UpdateFramerate = 60;
|
|
}
|
|
if(Zoom == null) {
|
|
Zoom = 1;
|
|
}
|
|
if(GameHeight == null) {
|
|
GameHeight = 0;
|
|
}
|
|
if(GameWidth == null) {
|
|
GameWidth = 0;
|
|
}
|
|
this._resetGame = false;
|
|
this._skipSplash = false;
|
|
this._customSoundTray = flixel_system_ui_FlxSoundTray;
|
|
this._lostFocus = false;
|
|
this._startTime = 0;
|
|
this._total = 0;
|
|
this._gameJustStarted = false;
|
|
this.filtersEnabled = true;
|
|
this.ticks = 0;
|
|
this.focusLostFramerate = 10;
|
|
openfl_display_Sprite.call(this);
|
|
this._inputContainer = new openfl_display_Sprite();
|
|
if(GameWidth == 0) {
|
|
GameWidth = openfl_Lib.get_current().stage.stageWidth;
|
|
}
|
|
if(GameHeight == 0) {
|
|
GameHeight = openfl_Lib.get_current().stage.stageHeight;
|
|
}
|
|
flixel_FlxG.init(this,GameWidth,GameHeight,Zoom);
|
|
flixel_FlxG.set_updateFramerate(UpdateFramerate);
|
|
flixel_FlxG.set_drawFramerate(DrawFramerate);
|
|
this._accumulator = this._stepMS;
|
|
this._skipSplash = SkipSplash;
|
|
this._initialState = InitialState == null ? flixel_FlxState : InitialState;
|
|
this.addEventListener("addedToStage",$bind(this,this.create));
|
|
};
|
|
$hxClasses["flixel.FlxGame"] = flixel_FlxGame;
|
|
flixel_FlxGame.__name__ = "flixel.FlxGame";
|
|
flixel_FlxGame.__super__ = openfl_display_Sprite;
|
|
flixel_FlxGame.prototype = $extend(openfl_display_Sprite.prototype,{
|
|
focusLostFramerate: null
|
|
,soundTray: null
|
|
,ticks: null
|
|
,filtersEnabled: null
|
|
,_gameJustStarted: null
|
|
,_initialState: null
|
|
,_state: null
|
|
,_total: null
|
|
,_startTime: null
|
|
,_accumulator: null
|
|
,_elapsedMS: null
|
|
,_stepMS: null
|
|
,_stepSeconds: null
|
|
,_maxAccumulation: null
|
|
,_lostFocus: null
|
|
,_filters: null
|
|
,_inputContainer: null
|
|
,_customSoundTray: null
|
|
,_skipSplash: null
|
|
,_requestedState: null
|
|
,_resetGame: null
|
|
,setFilters: function(filters) {
|
|
this._filters = filters;
|
|
}
|
|
,create: function(_) {
|
|
if(this.stage == null) {
|
|
return;
|
|
}
|
|
this.removeEventListener("addedToStage",$bind(this,this.create));
|
|
this._startTime = this.getTimer();
|
|
this._total = this.getTimer() - this._startTime;
|
|
this.stage.set_scaleMode(2);
|
|
this.stage.align = 6;
|
|
this.stage.set_frameRate(flixel_FlxG.drawFramerate);
|
|
this.addChild(this._inputContainer);
|
|
this.soundTray = Type.createInstance(this._customSoundTray,[]);
|
|
this.addChild(this.soundTray);
|
|
this.stage.addEventListener("deactivate",$bind(this,this.onFocusLost));
|
|
this.stage.addEventListener("activate",$bind(this,this.onFocus));
|
|
flixel_FlxG.signals.preGameReset.dispatch();
|
|
if(this._skipSplash || flixel_system_FlxSplash.nextState != null) {
|
|
this._requestedState = Type.createInstance(this._initialState,[]);
|
|
if(flixel_system_FlxSplash.nextState == null) {
|
|
this._gameJustStarted = true;
|
|
}
|
|
} else {
|
|
flixel_system_FlxSplash.nextState = this._initialState;
|
|
this._requestedState = new flixel_system_FlxSplash();
|
|
this._skipSplash = true;
|
|
}
|
|
flixel_FlxG.reset();
|
|
flixel_FlxG.signals.postGameReset.dispatch();
|
|
this.switchState();
|
|
var tmp = flixel_FlxG.updateFramerate < flixel_FlxG.drawFramerate;
|
|
this.stage.addEventListener("enterFrame",$bind(this,this.onEnterFrame));
|
|
this.stage.addEventListener("resize",$bind(this,this.onResize));
|
|
this.resizeGame(openfl_Lib.get_current().stage.stageWidth,openfl_Lib.get_current().stage.stageHeight);
|
|
openfl_utils_Assets.addEventListener("change",($_=flixel_FlxG.bitmap,$bind($_,$_.onAssetsReload)));
|
|
}
|
|
,onFocus: function(_) {
|
|
this._lostFocus = false;
|
|
flixel_FlxG.signals.focusGained.dispatch();
|
|
this._state.onFocus();
|
|
if(!flixel_FlxG.autoPause) {
|
|
return;
|
|
}
|
|
this.stage.set_frameRate(flixel_FlxG.drawFramerate);
|
|
flixel_FlxG.sound.onFocus();
|
|
var _g = 0;
|
|
var _g1 = flixel_FlxG.inputs.list;
|
|
while(_g < _g1.length) {
|
|
var input = _g1[_g];
|
|
++_g;
|
|
input.onFocus();
|
|
}
|
|
}
|
|
,onFocusLost: function(event) {
|
|
this._lostFocus = true;
|
|
flixel_FlxG.signals.focusLost.dispatch();
|
|
this._state.onFocusLost();
|
|
if(!flixel_FlxG.autoPause) {
|
|
return;
|
|
}
|
|
this.stage.set_frameRate(this.focusLostFramerate);
|
|
flixel_FlxG.sound.onFocusLost();
|
|
var _g = 0;
|
|
var _g1 = flixel_FlxG.inputs.list;
|
|
while(_g < _g1.length) {
|
|
var input = _g1[_g];
|
|
++_g;
|
|
input.onFocusLost();
|
|
}
|
|
}
|
|
,onResize: function(_) {
|
|
var width = openfl_Lib.get_current().stage.stageWidth;
|
|
var height = openfl_Lib.get_current().stage.stageHeight;
|
|
if(flixel_FlxG.renderTile) {
|
|
flixel_FlxG.bitmap.onContext();
|
|
}
|
|
this.resizeGame(width,height);
|
|
}
|
|
,resizeGame: function(width,height) {
|
|
flixel_FlxG.scaleMode.onMeasure(width,height);
|
|
this._state.onResize(width,height);
|
|
flixel_FlxG.cameras.resize();
|
|
flixel_FlxG.signals.gameResized.dispatch(width,height);
|
|
if(this.soundTray != null) {
|
|
this.soundTray.screenCenter();
|
|
}
|
|
}
|
|
,onEnterFrame: function(_) {
|
|
this.ticks = this.getTimer() - this._startTime;
|
|
this._elapsedMS = this.ticks - this._total;
|
|
this._total = this.ticks;
|
|
if(this.soundTray != null && this.soundTray.active) {
|
|
this.soundTray.update(this._elapsedMS);
|
|
}
|
|
if(!this._lostFocus || !flixel_FlxG.autoPause) {
|
|
if(flixel_FlxG.vcr.paused) {
|
|
if(flixel_FlxG.vcr.stepRequested) {
|
|
flixel_FlxG.vcr.stepRequested = false;
|
|
} else if(this._state == this._requestedState) {
|
|
return;
|
|
}
|
|
}
|
|
if(flixel_FlxG.fixedTimestep) {
|
|
this._accumulator += this._elapsedMS;
|
|
this._accumulator = this._accumulator > this._maxAccumulation ? this._maxAccumulation : this._accumulator;
|
|
while(this._accumulator >= this._stepMS) {
|
|
this.step();
|
|
this._accumulator -= this._stepMS;
|
|
}
|
|
} else {
|
|
this.step();
|
|
}
|
|
this.draw();
|
|
}
|
|
}
|
|
,resetGame: function() {
|
|
flixel_FlxG.signals.preGameReset.dispatch();
|
|
if(this._skipSplash || flixel_system_FlxSplash.nextState != null) {
|
|
this._requestedState = Type.createInstance(this._initialState,[]);
|
|
if(flixel_system_FlxSplash.nextState == null) {
|
|
this._gameJustStarted = true;
|
|
}
|
|
} else {
|
|
flixel_system_FlxSplash.nextState = this._initialState;
|
|
this._requestedState = new flixel_system_FlxSplash();
|
|
this._skipSplash = true;
|
|
}
|
|
flixel_FlxG.reset();
|
|
flixel_FlxG.signals.postGameReset.dispatch();
|
|
}
|
|
,switchState: function() {
|
|
flixel_FlxG.cameras.reset();
|
|
flixel_FlxG.inputs.onStateSwitch();
|
|
flixel_FlxG.sound.destroy();
|
|
flixel_FlxG.signals.preStateSwitch.dispatch();
|
|
if(this._state != null) {
|
|
this._state.destroy();
|
|
}
|
|
flixel_FlxG.bitmap.clearCache();
|
|
this._state = this._requestedState;
|
|
if(this._gameJustStarted) {
|
|
flixel_FlxG.signals.preGameStart.dispatch();
|
|
}
|
|
flixel_FlxG.signals.preStateCreate.dispatch(this._state);
|
|
this._state.create();
|
|
if(this._gameJustStarted) {
|
|
this.gameStart();
|
|
}
|
|
flixel_FlxG.signals.postStateSwitch.dispatch();
|
|
}
|
|
,gameStart: function() {
|
|
flixel_FlxG.signals.postGameStart.dispatch();
|
|
this._gameJustStarted = false;
|
|
}
|
|
,step: function() {
|
|
if(this._resetGame) {
|
|
flixel_FlxG.signals.preGameReset.dispatch();
|
|
if(this._skipSplash || flixel_system_FlxSplash.nextState != null) {
|
|
this._requestedState = Type.createInstance(this._initialState,[]);
|
|
if(flixel_system_FlxSplash.nextState == null) {
|
|
this._gameJustStarted = true;
|
|
}
|
|
} else {
|
|
flixel_system_FlxSplash.nextState = this._initialState;
|
|
this._requestedState = new flixel_system_FlxSplash();
|
|
this._skipSplash = true;
|
|
}
|
|
flixel_FlxG.reset();
|
|
flixel_FlxG.signals.postGameReset.dispatch();
|
|
this._resetGame = false;
|
|
}
|
|
this.handleReplayRequests();
|
|
this.update();
|
|
}
|
|
,handleReplayRequests: function() {
|
|
}
|
|
,update: function() {
|
|
if(!this._state.active || !this._state.exists) {
|
|
return;
|
|
}
|
|
if(this._state != this._requestedState) {
|
|
this.switchState();
|
|
}
|
|
this.updateElapsed();
|
|
flixel_FlxG.signals.preUpdate.dispatch();
|
|
this.updateInput();
|
|
flixel_FlxG.sound.update(flixel_FlxG.elapsed);
|
|
var elapsed = flixel_FlxG.elapsed;
|
|
var _g = 0;
|
|
var _g1 = flixel_FlxG.plugins.list;
|
|
while(_g < _g1.length) {
|
|
var plugin = _g1[_g];
|
|
++_g;
|
|
if(plugin.exists && plugin.active) {
|
|
plugin.update(elapsed);
|
|
}
|
|
}
|
|
this._state.tryUpdate(flixel_FlxG.elapsed);
|
|
var elapsed = flixel_FlxG.elapsed;
|
|
var _g = 0;
|
|
var _g1 = flixel_FlxG.cameras.list;
|
|
while(_g < _g1.length) {
|
|
var camera = _g1[_g];
|
|
++_g;
|
|
if(camera != null && camera.exists && camera.active) {
|
|
camera.update(elapsed);
|
|
}
|
|
}
|
|
flixel_FlxG.signals.postUpdate.dispatch();
|
|
flixel_util_FlxArrayUtil.clearArray(flixel_FlxG.swipes);
|
|
this.set_filters(this.filtersEnabled ? this._filters : null);
|
|
}
|
|
,updateElapsed: function() {
|
|
if(flixel_FlxG.fixedTimestep) {
|
|
flixel_FlxG.elapsed = flixel_FlxG.timeScale * this._stepSeconds;
|
|
} else {
|
|
flixel_FlxG.elapsed = flixel_FlxG.timeScale * (this._elapsedMS / 1000);
|
|
var max = flixel_FlxG.maxElapsed * flixel_FlxG.timeScale;
|
|
if(flixel_FlxG.elapsed > max) {
|
|
flixel_FlxG.elapsed = max;
|
|
}
|
|
}
|
|
}
|
|
,updateInput: function() {
|
|
var _g = 0;
|
|
var _g1 = flixel_FlxG.inputs.list;
|
|
while(_g < _g1.length) {
|
|
var input = _g1[_g];
|
|
++_g;
|
|
input.update();
|
|
}
|
|
}
|
|
,draw: function() {
|
|
if(!this._state.visible || !this._state.exists) {
|
|
return;
|
|
}
|
|
flixel_FlxG.signals.preDraw.dispatch();
|
|
if(flixel_FlxG.renderTile) {
|
|
flixel_graphics_tile_FlxDrawBaseItem.drawCalls = 0;
|
|
}
|
|
var _this = flixel_FlxG.cameras;
|
|
var _g = 0;
|
|
var _g1 = _this.list;
|
|
while(_g < _g1.length) {
|
|
var camera = _g1[_g];
|
|
++_g;
|
|
if(camera == null || !camera.exists || !camera.visible) {
|
|
continue;
|
|
}
|
|
if(flixel_FlxG.renderBlit) {
|
|
camera.checkResize();
|
|
if(_this.useBufferLocking) {
|
|
camera.buffer.lock();
|
|
}
|
|
}
|
|
if(flixel_FlxG.renderTile) {
|
|
camera.clearDrawStack();
|
|
camera.canvas.get_graphics().clear();
|
|
}
|
|
if(flixel_FlxG.renderBlit) {
|
|
camera.fill(camera.bgColor,camera.useBgAlphaBlending);
|
|
camera.screen.dirty = true;
|
|
} else {
|
|
camera.fill(camera.bgColor & 16777215,camera.useBgAlphaBlending,(camera.bgColor >> 24 & 255) / 255);
|
|
}
|
|
}
|
|
var _g = 0;
|
|
var _g1 = flixel_FlxG.plugins.list;
|
|
while(_g < _g1.length) {
|
|
var plugin = _g1[_g];
|
|
++_g;
|
|
if(plugin.exists && plugin.visible) {
|
|
plugin.draw();
|
|
}
|
|
}
|
|
this._state.draw();
|
|
if(flixel_FlxG.renderTile) {
|
|
if(flixel_FlxG.renderTile) {
|
|
var _g = 0;
|
|
var _g1 = flixel_FlxG.cameras.list;
|
|
while(_g < _g1.length) {
|
|
var camera = _g1[_g];
|
|
++_g;
|
|
if(camera != null && camera.exists && camera.visible) {
|
|
camera.render();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
var _this = flixel_FlxG.cameras;
|
|
var _g = 0;
|
|
var _g1 = _this.list;
|
|
while(_g < _g1.length) {
|
|
var camera = _g1[_g];
|
|
++_g;
|
|
if(camera == null || !camera.exists || !camera.visible) {
|
|
continue;
|
|
}
|
|
camera.drawFX();
|
|
if(flixel_FlxG.renderBlit) {
|
|
if(_this.useBufferLocking) {
|
|
camera.buffer.unlock();
|
|
}
|
|
camera.screen.dirty = true;
|
|
}
|
|
}
|
|
flixel_FlxG.signals.postDraw.dispatch();
|
|
}
|
|
,getTicks: function() {
|
|
return this.getTimer() - this._startTime;
|
|
}
|
|
,getTimer: function() {
|
|
return openfl_Lib.getTimer();
|
|
}
|
|
,__class__: flixel_FlxGame
|
|
});
|
|
var flixel_IFlxSprite = function() { };
|
|
$hxClasses["flixel.IFlxSprite"] = flixel_IFlxSprite;
|
|
flixel_IFlxSprite.__name__ = "flixel.IFlxSprite";
|
|
flixel_IFlxSprite.__isInterface__ = true;
|
|
flixel_IFlxSprite.__interfaces__ = [flixel_IFlxBasic];
|
|
flixel_IFlxSprite.prototype = {
|
|
set_x: null
|
|
,set_y: null
|
|
,set_alpha: null
|
|
,set_angle: null
|
|
,set_facing: null
|
|
,set_moves: null
|
|
,set_immovable: null
|
|
,x: null
|
|
,y: null
|
|
,alpha: null
|
|
,angle: null
|
|
,facing: null
|
|
,moves: null
|
|
,immovable: null
|
|
,offset: null
|
|
,origin: null
|
|
,scale: null
|
|
,velocity: null
|
|
,maxVelocity: null
|
|
,acceleration: null
|
|
,drag: null
|
|
,scrollFactor: null
|
|
,reset: null
|
|
,setPosition: null
|
|
,__class__: flixel_IFlxSprite
|
|
,__properties__: {set_immovable:"set_immovable",set_moves:"set_moves",set_facing:"set_facing",set_angle:"set_angle",set_alpha:"set_alpha",set_y:"set_y",set_x:"set_x"}
|
|
};
|
|
var flixel_addons_display_FlxGridOverlay = function() { };
|
|
$hxClasses["flixel.addons.display.FlxGridOverlay"] = flixel_addons_display_FlxGridOverlay;
|
|
flixel_addons_display_FlxGridOverlay.__name__ = "flixel.addons.display.FlxGridOverlay";
|
|
flixel_addons_display_FlxGridOverlay.create = function(CellWidth,CellHeight,Width,Height,Alternate,Color1,Color2) {
|
|
if(Color2 == null) {
|
|
Color2 = -2501163;
|
|
}
|
|
if(Color1 == null) {
|
|
Color1 = -1579290;
|
|
}
|
|
if(Alternate == null) {
|
|
Alternate = true;
|
|
}
|
|
if(Height == null) {
|
|
Height = -1;
|
|
}
|
|
if(Width == null) {
|
|
Width = -1;
|
|
}
|
|
if(Width == -1) {
|
|
Width = flixel_FlxG.width;
|
|
}
|
|
if(Height == -1) {
|
|
Height = flixel_FlxG.height;
|
|
}
|
|
if(Width < CellWidth || Height < CellHeight) {
|
|
return null;
|
|
}
|
|
var grid = flixel_addons_display_FlxGridOverlay.createGrid(CellWidth,CellHeight,Width,Height,Alternate,Color1,Color2);
|
|
var output = new flixel_FlxSprite();
|
|
output.set_pixels(grid);
|
|
output.dirty = true;
|
|
return output;
|
|
};
|
|
flixel_addons_display_FlxGridOverlay.overlay = function(Sprite,CellWidth,CellHeight,Width,Height,Alternate,Color1,Color2) {
|
|
if(Color2 == null) {
|
|
Color2 = -1998989867;
|
|
}
|
|
if(Color1 == null) {
|
|
Color1 = -1998067994;
|
|
}
|
|
if(Alternate == null) {
|
|
Alternate = true;
|
|
}
|
|
if(Height == null) {
|
|
Height = -1;
|
|
}
|
|
if(Width == null) {
|
|
Width = -1;
|
|
}
|
|
if(Width == -1) {
|
|
Width = flixel_FlxG.width;
|
|
}
|
|
if(Height == -1) {
|
|
Height = flixel_FlxG.height;
|
|
}
|
|
if(Width < CellWidth || Height < CellHeight) {
|
|
return null;
|
|
}
|
|
var grid = flixel_addons_display_FlxGridOverlay.createGrid(CellWidth,CellHeight,Width,Height,Alternate,Color1,Color2);
|
|
Sprite.get_pixels().copyPixels(grid,new openfl_geom_Rectangle(0,0,Width,Height),new openfl_geom_Point(0,0),null,null,true);
|
|
return Sprite;
|
|
};
|
|
flixel_addons_display_FlxGridOverlay.createGrid = function(CellWidth,CellHeight,Width,Height,Alternate,Color1,Color2) {
|
|
var rowColor = Color1;
|
|
var lastColor = Color1;
|
|
var grid = new openfl_display_BitmapData(Width,Height,true);
|
|
var y = 0;
|
|
while(y <= Height) {
|
|
if(y > 0 && lastColor == rowColor && Alternate) {
|
|
if(lastColor == Color1) {
|
|
lastColor = Color2;
|
|
} else {
|
|
lastColor = Color1;
|
|
}
|
|
} else if(y > 0 && lastColor != rowColor && Alternate == false) {
|
|
if(lastColor == Color2) {
|
|
lastColor = Color1;
|
|
} else {
|
|
lastColor = Color2;
|
|
}
|
|
}
|
|
var x = 0;
|
|
while(x <= Width) {
|
|
if(x == 0) {
|
|
rowColor = lastColor;
|
|
}
|
|
grid.fillRect(new openfl_geom_Rectangle(x,y,CellWidth,CellHeight),lastColor);
|
|
if(lastColor == Color1) {
|
|
lastColor = Color2;
|
|
} else {
|
|
lastColor = Color1;
|
|
}
|
|
x += CellWidth;
|
|
}
|
|
y += CellHeight;
|
|
}
|
|
return grid;
|
|
};
|
|
var flixel_addons_effects_FlxTrail = function(Target,Graphic,Length,Delay,Alpha,Diff) {
|
|
if(Diff == null) {
|
|
Diff = 0.05;
|
|
}
|
|
if(Alpha == null) {
|
|
Alpha = 0.4;
|
|
}
|
|
if(Delay == null) {
|
|
Delay = 3;
|
|
}
|
|
if(Length == null) {
|
|
Length = 10;
|
|
}
|
|
this._recentAnimations = [];
|
|
this._recentFlipY = [];
|
|
this._recentFlipX = [];
|
|
this._recentFrames = [];
|
|
this._recentScales = [];
|
|
this._recentAngles = [];
|
|
this._recentPositions = [];
|
|
this._transp = 1;
|
|
this._trailLength = 0;
|
|
this._counter = 0;
|
|
this.framesEnabled = true;
|
|
this.scalesEnabled = true;
|
|
this.rotationsEnabled = true;
|
|
this.yEnabled = true;
|
|
this.xEnabled = true;
|
|
flixel_group_FlxTypedSpriteGroup.call(this);
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
var _this = point;
|
|
var point = Target.origin;
|
|
_this.set_x(point.x);
|
|
_this.set_y(point.y);
|
|
if(point._weak) {
|
|
point.put();
|
|
}
|
|
this._spriteOrigin = _this;
|
|
this.target = Target;
|
|
this.delay = Delay;
|
|
this._graphic = Graphic;
|
|
this._transp = Alpha;
|
|
this._difference = Diff;
|
|
this.increaseLength(Length);
|
|
this.set_solid(false);
|
|
};
|
|
$hxClasses["flixel.addons.effects.FlxTrail"] = flixel_addons_effects_FlxTrail;
|
|
flixel_addons_effects_FlxTrail.__name__ = "flixel.addons.effects.FlxTrail";
|
|
flixel_addons_effects_FlxTrail.__super__ = flixel_group_FlxTypedSpriteGroup;
|
|
flixel_addons_effects_FlxTrail.prototype = $extend(flixel_group_FlxTypedSpriteGroup.prototype,{
|
|
target: null
|
|
,delay: null
|
|
,xEnabled: null
|
|
,yEnabled: null
|
|
,rotationsEnabled: null
|
|
,scalesEnabled: null
|
|
,framesEnabled: null
|
|
,_counter: null
|
|
,_trailLength: null
|
|
,_graphic: null
|
|
,_transp: null
|
|
,_difference: null
|
|
,_recentPositions: null
|
|
,_recentAngles: null
|
|
,_recentScales: null
|
|
,_recentFrames: null
|
|
,_recentFlipX: null
|
|
,_recentFlipY: null
|
|
,_recentAnimations: null
|
|
,_spriteOrigin: null
|
|
,destroy: function() {
|
|
flixel_util_FlxDestroyUtil.putArray(this._recentPositions);
|
|
flixel_util_FlxDestroyUtil.putArray(this._recentScales);
|
|
this._recentAngles = null;
|
|
this._recentPositions = null;
|
|
this._recentScales = null;
|
|
this._recentFrames = null;
|
|
this._recentFlipX = null;
|
|
this._recentFlipY = null;
|
|
this._recentAnimations = null;
|
|
this._spriteOrigin = null;
|
|
this.target = null;
|
|
this._graphic = null;
|
|
flixel_group_FlxTypedSpriteGroup.prototype.destroy.call(this);
|
|
}
|
|
,update: function(elapsed) {
|
|
this._counter++;
|
|
if(this._counter >= this.delay && this._trailLength >= 1) {
|
|
this._counter = 0;
|
|
var spritePosition = null;
|
|
if(this._recentPositions.length == this._trailLength) {
|
|
spritePosition = this._recentPositions.pop();
|
|
} else {
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
spritePosition = point;
|
|
}
|
|
spritePosition.set(this.target.x - this.target.offset.x,this.target.y - this.target.offset.y);
|
|
this._recentPositions.unshift(spritePosition);
|
|
if(this.rotationsEnabled) {
|
|
this.cacheValue(this._recentAngles,this.target.angle);
|
|
}
|
|
if(this.scalesEnabled) {
|
|
var spriteScale = null;
|
|
if(this._recentScales.length == this._trailLength) {
|
|
spriteScale = this._recentScales.pop();
|
|
} else {
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
spriteScale = point;
|
|
}
|
|
spriteScale.set(this.target.scale.x,this.target.scale.y);
|
|
this._recentScales.unshift(spriteScale);
|
|
}
|
|
if(this.framesEnabled && this._graphic == null) {
|
|
this.cacheValue(this._recentFrames,this.target.animation.frameIndex);
|
|
this.cacheValue(this._recentFlipX,this.target.flipX);
|
|
this.cacheValue(this._recentFlipY,this.target.flipY);
|
|
this.cacheValue(this._recentAnimations,this.target.animation._curAnim);
|
|
}
|
|
var trailSprite;
|
|
var _g = 0;
|
|
var _g1 = this._recentPositions.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
trailSprite = this.group.members[i];
|
|
trailSprite.set_x(this._recentPositions[i].x);
|
|
trailSprite.set_y(this._recentPositions[i].y);
|
|
if(this.rotationsEnabled) {
|
|
trailSprite.set_angle(this._recentAngles[i]);
|
|
trailSprite.origin.set_x(this._spriteOrigin.x);
|
|
trailSprite.origin.set_y(this._spriteOrigin.y);
|
|
}
|
|
if(this.scalesEnabled) {
|
|
trailSprite.scale.set_x(this._recentScales[i].x);
|
|
trailSprite.scale.set_y(this._recentScales[i].y);
|
|
}
|
|
if(this.framesEnabled && this._graphic == null) {
|
|
trailSprite.animation.set_frameIndex(this._recentFrames[i]);
|
|
trailSprite.set_flipX(this._recentFlipX[i]);
|
|
trailSprite.set_flipY(this._recentFlipY[i]);
|
|
var _this = trailSprite.animation;
|
|
var Anim = this._recentAnimations[i];
|
|
if(Anim != _this._curAnim) {
|
|
if(_this._curAnim != null) {
|
|
_this._curAnim.stop();
|
|
}
|
|
if(Anim != null) {
|
|
Anim.play();
|
|
}
|
|
}
|
|
_this._curAnim = Anim;
|
|
}
|
|
trailSprite.set_exists(true);
|
|
}
|
|
}
|
|
flixel_group_FlxTypedSpriteGroup.prototype.update.call(this,elapsed);
|
|
}
|
|
,cacheValue: function(array,value) {
|
|
array.unshift(value);
|
|
flixel_util_FlxArrayUtil.setLength_cacheValue_T(array,this._trailLength);
|
|
}
|
|
,resetTrail: function() {
|
|
this._recentPositions.splice(0,this._recentPositions.length);
|
|
this._recentAngles.splice(0,this._recentAngles.length);
|
|
this._recentScales.splice(0,this._recentScales.length);
|
|
this._recentFrames.splice(0,this._recentFrames.length);
|
|
this._recentFlipX.splice(0,this._recentFlipX.length);
|
|
this._recentFlipY.splice(0,this._recentFlipY.length);
|
|
this._recentAnimations.splice(0,this._recentAnimations.length);
|
|
var _g = 0;
|
|
var _g1 = this.group.members.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(this.group.members[i] != null) {
|
|
this.group.members[i].set_exists(false);
|
|
}
|
|
}
|
|
}
|
|
,increaseLength: function(Amount) {
|
|
if(Amount <= 0) {
|
|
return;
|
|
}
|
|
this._trailLength += Amount;
|
|
var _g = 0;
|
|
var _g1 = Amount;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var trailSprite = new flixel_FlxSprite(0,0);
|
|
if(this._graphic == null) {
|
|
trailSprite.loadGraphicFromSprite(this.target);
|
|
} else {
|
|
trailSprite.loadGraphic(this._graphic);
|
|
}
|
|
trailSprite.set_exists(false);
|
|
this.add(trailSprite);
|
|
trailSprite.set_alpha(this._transp);
|
|
this._transp -= this._difference;
|
|
trailSprite.set_solid((this.allowCollisions & 4369) > 0);
|
|
if(trailSprite.alpha <= 0) {
|
|
trailSprite.kill();
|
|
}
|
|
}
|
|
}
|
|
,changeGraphic: function(Image1) {
|
|
this._graphic = Image1;
|
|
var _g = 0;
|
|
var _g1 = this._trailLength;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
this.group.members[i].loadGraphic(Image1);
|
|
}
|
|
}
|
|
,changeValuesEnabled: function(Angle,X,Y,Scale) {
|
|
if(Scale == null) {
|
|
Scale = true;
|
|
}
|
|
if(Y == null) {
|
|
Y = true;
|
|
}
|
|
if(X == null) {
|
|
X = true;
|
|
}
|
|
this.rotationsEnabled = Angle;
|
|
this.xEnabled = X;
|
|
this.yEnabled = Y;
|
|
this.scalesEnabled = Scale;
|
|
}
|
|
,__class__: flixel_addons_effects_FlxTrail
|
|
});
|
|
var flixel_addons_effects_FlxTrailArea = function(X,Y,Width,Height,AlphaMultiplier,Delay,SimpleRender,Antialiasing,TrailBlendMode) {
|
|
if(Antialiasing == null) {
|
|
Antialiasing = false;
|
|
}
|
|
if(SimpleRender == null) {
|
|
SimpleRender = false;
|
|
}
|
|
if(Delay == null) {
|
|
Delay = 2;
|
|
}
|
|
if(AlphaMultiplier == null) {
|
|
AlphaMultiplier = 0.8;
|
|
}
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
this._height = 1;
|
|
this._width = 1;
|
|
this._counter = 0;
|
|
this.alphaOffset = 0;
|
|
this.blueOffset = 0;
|
|
this.greenOffset = 0;
|
|
this.redOffset = 0;
|
|
this.blueMultiplier = 1;
|
|
this.greenMultiplier = 1;
|
|
this.redMultiplier = 1;
|
|
this.blendMode = null;
|
|
this.simpleRender = false;
|
|
this.delay = 2;
|
|
flixel_FlxSprite.call(this,X,Y);
|
|
this.group = new flixel_group_FlxTypedGroup();
|
|
this.delay = Delay;
|
|
this.simpleRender = SimpleRender;
|
|
this.blendMode = TrailBlendMode;
|
|
this.set_antialiasing(Antialiasing);
|
|
this.alphaMultiplier = AlphaMultiplier;
|
|
this.setSize(Width,Height);
|
|
this.set_pixels(this._areaPixels);
|
|
};
|
|
$hxClasses["flixel.addons.effects.FlxTrailArea"] = flixel_addons_effects_FlxTrailArea;
|
|
flixel_addons_effects_FlxTrailArea.__name__ = "flixel.addons.effects.FlxTrailArea";
|
|
flixel_addons_effects_FlxTrailArea.__super__ = flixel_FlxSprite;
|
|
flixel_addons_effects_FlxTrailArea.prototype = $extend(flixel_FlxSprite.prototype,{
|
|
delay: null
|
|
,simpleRender: null
|
|
,blendMode: null
|
|
,group: null
|
|
,redMultiplier: null
|
|
,greenMultiplier: null
|
|
,blueMultiplier: null
|
|
,alphaMultiplier: null
|
|
,redOffset: null
|
|
,greenOffset: null
|
|
,blueOffset: null
|
|
,alphaOffset: null
|
|
,_counter: null
|
|
,_width: null
|
|
,_height: null
|
|
,_areaPixels: null
|
|
,setSize: function(Width,Height) {
|
|
if(Width <= 0) {
|
|
Width = flixel_FlxG.width;
|
|
}
|
|
if(Height <= 0) {
|
|
Height = flixel_FlxG.height;
|
|
}
|
|
if(Width != this._width || Height != this._height) {
|
|
this._width = Width;
|
|
this._height = Height;
|
|
this._areaPixels = new openfl_display_BitmapData(this._width | 0,this._height | 0,true,0);
|
|
}
|
|
}
|
|
,destroy: function() {
|
|
this.group = flixel_util_FlxDestroyUtil.destroy(this.group);
|
|
this.blendMode = null;
|
|
if(this.get_pixels() != this._areaPixels) {
|
|
this._areaPixels.dispose();
|
|
}
|
|
this._areaPixels = null;
|
|
flixel_FlxSprite.prototype.destroy.call(this);
|
|
}
|
|
,draw: function() {
|
|
this._counter++;
|
|
if(this._counter >= this.delay) {
|
|
this._counter = 0;
|
|
this._areaPixels.lock();
|
|
var cTrans = new openfl_geom_ColorTransform(this.redMultiplier,this.greenMultiplier,this.blueMultiplier,this.alphaMultiplier,this.redOffset,this.greenOffset,this.blueOffset,this.alphaOffset);
|
|
this._areaPixels.colorTransform(new openfl_geom_Rectangle(0,0,this._areaPixels.width,this._areaPixels.height),cTrans);
|
|
var _g = 0;
|
|
var _g1 = this.group.members;
|
|
while(_g < _g1.length) {
|
|
var member = _g1[_g];
|
|
++_g;
|
|
if(member.exists) {
|
|
var finalX = member.x - this.x - member.offset.x;
|
|
var finalY = member.y - this.y - member.offset.y;
|
|
if(this.simpleRender) {
|
|
this._areaPixels.copyPixels(member.updateFramePixels(),new openfl_geom_Rectangle(0,0,member.frameWidth,member.frameHeight),new openfl_geom_Point(finalX,finalY),null,null,true);
|
|
} else {
|
|
var scaled = member.scale.x != 1 || member.scale.y != 1;
|
|
var rotated = member.angle != 0 && member.bakedRotationAngle <= 0;
|
|
this._matrix.identity();
|
|
if(rotated || scaled) {
|
|
this._matrix.translate(-member.origin.x,-member.origin.y);
|
|
if(scaled) {
|
|
this._matrix.scale(member.scale.x,member.scale.y);
|
|
}
|
|
if(rotated) {
|
|
this._matrix.rotate(member.angle * (Math.PI / 180));
|
|
}
|
|
this._matrix.translate(member.origin.x,member.origin.y);
|
|
}
|
|
this._matrix.translate(finalX,finalY);
|
|
this._areaPixels.draw(member.updateFramePixels(),this._matrix,member.colorTransform,this.blendMode,null,this.antialiasing);
|
|
}
|
|
}
|
|
}
|
|
this._areaPixels.unlock();
|
|
this.set_pixels(this._areaPixels);
|
|
}
|
|
flixel_FlxSprite.prototype.draw.call(this);
|
|
}
|
|
,resetTrail: function() {
|
|
this._areaPixels.fillRect(new openfl_geom_Rectangle(0,0,this._areaPixels.width,this._areaPixels.height),0);
|
|
}
|
|
,add: function(Sprite) {
|
|
return this.group.add(Sprite);
|
|
}
|
|
,get_width: function() {
|
|
return this._width;
|
|
}
|
|
,set_width: function(Width) {
|
|
if(Width <= 0) {
|
|
Width = flixel_FlxG.width;
|
|
}
|
|
if(Width != this._width) {
|
|
this._areaPixels = new openfl_display_BitmapData(Width | 0,this._height | 0,true,0);
|
|
}
|
|
return this._width = Width;
|
|
}
|
|
,get_height: function() {
|
|
return this._height;
|
|
}
|
|
,set_height: function(Height) {
|
|
if(Height <= 0) {
|
|
Height = flixel_FlxG.height;
|
|
}
|
|
if(Height != this._height) {
|
|
this._areaPixels = new openfl_display_BitmapData(this._width | 0,Height | 0,true,0);
|
|
}
|
|
return this._height = Height;
|
|
}
|
|
,__class__: flixel_addons_effects_FlxTrailArea
|
|
});
|
|
var flixel_addons_effects_chainable_FlxEffectSprite = function(Target,Effects) {
|
|
this.updateTargetAnimation = true;
|
|
this.effectsEnabled = true;
|
|
flixel_FlxSprite.call(this);
|
|
this.target = Target;
|
|
this.effects = Effects != null ? Effects : [];
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
this._effectOffset = point;
|
|
};
|
|
$hxClasses["flixel.addons.effects.chainable.FlxEffectSprite"] = flixel_addons_effects_chainable_FlxEffectSprite;
|
|
flixel_addons_effects_chainable_FlxEffectSprite.__name__ = "flixel.addons.effects.chainable.FlxEffectSprite";
|
|
flixel_addons_effects_chainable_FlxEffectSprite.__super__ = flixel_FlxSprite;
|
|
flixel_addons_effects_chainable_FlxEffectSprite.prototype = $extend(flixel_FlxSprite.prototype,{
|
|
effectsEnabled: null
|
|
,target: null
|
|
,updateTargetAnimation: null
|
|
,effects: null
|
|
,_effectOffset: null
|
|
,destroy: function() {
|
|
this.effects = flixel_util_FlxDestroyUtil.destroyArray(this.effects);
|
|
this._effectOffset = flixel_util_FlxDestroyUtil.put(this._effectOffset);
|
|
this.target = null;
|
|
flixel_FlxSprite.prototype.destroy.call(this);
|
|
}
|
|
,getScreenPosition: function(point,Camera) {
|
|
return flixel_FlxSprite.prototype.getScreenPosition.call(this,point,Camera).addPoint(this._effectOffset);
|
|
}
|
|
,draw: function() {
|
|
if(this.target.dirty) {
|
|
this.target.drawFrame();
|
|
}
|
|
if(this.target.framePixels == null) {
|
|
flixel_FlxSprite.prototype.draw.call(this);
|
|
return;
|
|
}
|
|
if(this.get_pixels() != null && this.get_pixels().width == this.target.framePixels.width && this.get_pixels().height == this.target.framePixels.height) {
|
|
this.get_pixels().fillRect(this.get_pixels().rect,0);
|
|
this.get_pixels().draw(this.target.framePixels);
|
|
} else {
|
|
flixel_util_FlxDestroyUtil.dispose(this.get_pixels());
|
|
this.set_pixels(this.target.framePixels.clone());
|
|
}
|
|
this._effectOffset.set(0,0);
|
|
if(this.effectsEnabled) {
|
|
this.get_pixels().lock();
|
|
var _g = 0;
|
|
var _g1 = this.effects;
|
|
while(_g < _g1.length) {
|
|
var effect = _g1[_g];
|
|
++_g;
|
|
if(effect.active) {
|
|
this.set_pixels(effect.apply(this.get_pixels()));
|
|
if(effect.offset != null) {
|
|
this._effectOffset.addPoint(effect.offset);
|
|
}
|
|
}
|
|
}
|
|
this.get_pixels().unlock();
|
|
this._flashRect = this.get_pixels().rect;
|
|
}
|
|
flixel_FlxSprite.prototype.draw.call(this);
|
|
}
|
|
,update: function(elapsed) {
|
|
if(this.updateTargetAnimation && this.target.animation._sprite.numFrames > 1) {
|
|
this.target.updateAnimation(elapsed);
|
|
}
|
|
if(this.effectsEnabled) {
|
|
var _g = 0;
|
|
var _g1 = this.effects;
|
|
while(_g < _g1.length) {
|
|
var effect = _g1[_g];
|
|
++_g;
|
|
if(effect.active) {
|
|
effect.update(elapsed);
|
|
}
|
|
}
|
|
}
|
|
flixel_FlxSprite.prototype.update.call(this,elapsed);
|
|
}
|
|
,__class__: flixel_addons_effects_chainable_FlxEffectSprite
|
|
});
|
|
var flixel_addons_effects_chainable_IFlxEffect = function() { };
|
|
$hxClasses["flixel.addons.effects.chainable.IFlxEffect"] = flixel_addons_effects_chainable_IFlxEffect;
|
|
flixel_addons_effects_chainable_IFlxEffect.__name__ = "flixel.addons.effects.chainable.IFlxEffect";
|
|
flixel_addons_effects_chainable_IFlxEffect.__isInterface__ = true;
|
|
flixel_addons_effects_chainable_IFlxEffect.__interfaces__ = [flixel_util_IFlxDestroyable];
|
|
flixel_addons_effects_chainable_IFlxEffect.prototype = {
|
|
active: null
|
|
,offset: null
|
|
,update: null
|
|
,apply: null
|
|
,__class__: flixel_addons_effects_chainable_IFlxEffect
|
|
};
|
|
var flixel_addons_effects_chainable_FlxWaveEffect = function(Mode,Strength,Center,Speed,Wavelength,Direction,InterlaceOffset) {
|
|
if(InterlaceOffset == null) {
|
|
InterlaceOffset = 0;
|
|
}
|
|
if(Wavelength == null) {
|
|
Wavelength = 5;
|
|
}
|
|
if(Speed == null) {
|
|
Speed = 3;
|
|
}
|
|
if(Center == null) {
|
|
Center = 0.5;
|
|
}
|
|
if(Strength == null) {
|
|
Strength = 10;
|
|
}
|
|
this._flashRect = new openfl_geom_Rectangle();
|
|
this._flashPoint = new openfl_geom_Point();
|
|
this._time = 0;
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
this.offset = point;
|
|
this.active = true;
|
|
this.strength = Strength;
|
|
this.mode = Mode == null ? flixel_addons_effects_chainable_FlxWaveMode.ALL : Mode;
|
|
this.speed = Speed;
|
|
this.wavelength = Wavelength;
|
|
this.direction = Direction != null ? Direction : flixel_addons_effects_chainable_FlxWaveDirection.HORIZONTAL;
|
|
this.center = Center;
|
|
this.set_interlaceOffset(InterlaceOffset);
|
|
};
|
|
$hxClasses["flixel.addons.effects.chainable.FlxWaveEffect"] = flixel_addons_effects_chainable_FlxWaveEffect;
|
|
flixel_addons_effects_chainable_FlxWaveEffect.__name__ = "flixel.addons.effects.chainable.FlxWaveEffect";
|
|
flixel_addons_effects_chainable_FlxWaveEffect.__interfaces__ = [flixel_addons_effects_chainable_IFlxEffect];
|
|
flixel_addons_effects_chainable_FlxWaveEffect.prototype = {
|
|
active: null
|
|
,offset: null
|
|
,mode: null
|
|
,speed: null
|
|
,center: null
|
|
,direction: null
|
|
,wavelength: null
|
|
,strength: null
|
|
,interlaceOffset: null
|
|
,_time: null
|
|
,_flashPoint: null
|
|
,_flashRect: null
|
|
,_pixels: null
|
|
,destroy: function() {
|
|
this._flashPoint = null;
|
|
this._flashRect = null;
|
|
this.offset = flixel_util_FlxDestroyUtil.put(this.offset);
|
|
this._pixels = flixel_util_FlxDestroyUtil.dispose(this._pixels);
|
|
}
|
|
,update: function(elapsed) {
|
|
this._time += elapsed * this.speed;
|
|
}
|
|
,apply: function(bitmapData) {
|
|
var horizontalStrength = this.direction == flixel_addons_effects_chainable_FlxWaveDirection.HORIZONTAL ? this.strength : 0;
|
|
var verticalStrength = this.direction == flixel_addons_effects_chainable_FlxWaveDirection.VERTICAL ? this.strength : 0;
|
|
this.offset.set(-horizontalStrength,-verticalStrength);
|
|
if(this._pixels == null || this._pixels.width < bitmapData.width + horizontalStrength * 2 || this._pixels.height < bitmapData.height + verticalStrength * 2) {
|
|
flixel_util_FlxDestroyUtil.dispose(this._pixels);
|
|
this._pixels = new openfl_display_BitmapData(bitmapData.width + horizontalStrength * 2,bitmapData.height + verticalStrength * 2,true,0);
|
|
} else {
|
|
this._pixels.fillRect(this._pixels.rect,0);
|
|
}
|
|
var length = this.direction == flixel_addons_effects_chainable_FlxWaveDirection.HORIZONTAL ? bitmapData.height : bitmapData.width;
|
|
var p = 0;
|
|
while(p < length) {
|
|
var pixelOffset = 0;
|
|
var offsetP = length * this.center;
|
|
var size = 1;
|
|
switch(this.mode._hx_index) {
|
|
case 0:
|
|
offsetP = this.strength;
|
|
break;
|
|
case 1:
|
|
if(p <= offsetP) {
|
|
offsetP = (1 - p / offsetP) * this.strength;
|
|
} else {
|
|
size = length - p;
|
|
offsetP = 0;
|
|
}
|
|
break;
|
|
case 2:
|
|
if(p >= offsetP) {
|
|
offsetP = (1 - (1 - p / length) / (1 - this.center)) * this.strength;
|
|
} else {
|
|
size = Math.ceil(offsetP);
|
|
offsetP = 0;
|
|
}
|
|
break;
|
|
}
|
|
var waveOffset = 0;
|
|
if(this.interlaceOffset != 0 && this.interlaceOffset != 1 && ((p | 0) & 1) != 0) {
|
|
waveOffset = Math.PI * 2 * this.interlaceOffset;
|
|
}
|
|
var n = p / this.wavelength + this._time + waveOffset;
|
|
n *= 0.3183098862;
|
|
if(n > 1) {
|
|
n -= Math.ceil(n) >> 1 << 1;
|
|
} else if(n < -1) {
|
|
n += Math.ceil(-n) >> 1 << 1;
|
|
}
|
|
pixelOffset = offsetP * (n > 0 ? n * (3.1 + n * (0.5 + n * (-7.2 + n * 3.6))) : n * (3.1 - n * (0.5 + n * (7.2 + n * 3.6))));
|
|
if(this.direction == flixel_addons_effects_chainable_FlxWaveDirection.HORIZONTAL) {
|
|
this._flashPoint.setTo(this.strength + pixelOffset,p);
|
|
this._flashRect.setTo(0,p,bitmapData.width,size);
|
|
} else {
|
|
this._flashPoint.setTo(p,this.strength + pixelOffset);
|
|
this._flashRect.setTo(p,0,size,bitmapData.height);
|
|
}
|
|
this._pixels.copyPixels(bitmapData,this._flashRect,this._flashPoint);
|
|
p += size;
|
|
}
|
|
flixel_util_FlxDestroyUtil.dispose(bitmapData);
|
|
return this._pixels.clone();
|
|
}
|
|
,calculateOffset: function(p,length) {
|
|
var waveOffset = 0;
|
|
if(this.interlaceOffset != 0 && this.interlaceOffset != 1 && ((p | 0) & 1) != 0) {
|
|
waveOffset = Math.PI * 2 * this.interlaceOffset;
|
|
}
|
|
var n = p / this.wavelength + this._time + waveOffset;
|
|
n *= 0.3183098862;
|
|
if(n > 1) {
|
|
n -= Math.ceil(n) >> 1 << 1;
|
|
} else if(n < -1) {
|
|
n += Math.ceil(-n) >> 1 << 1;
|
|
}
|
|
if(n > 0) {
|
|
return n * (3.1 + n * (0.5 + n * (-7.2 + n * 3.6)));
|
|
} else {
|
|
return n * (3.1 - n * (0.5 + n * (7.2 + n * 3.6)));
|
|
}
|
|
}
|
|
,set_interlaceOffset: function(InterlaceOffset) {
|
|
var lowerBound = InterlaceOffset < 0 ? 0 : InterlaceOffset;
|
|
return this.interlaceOffset = lowerBound > 1 ? 1 : lowerBound;
|
|
}
|
|
,__class__: flixel_addons_effects_chainable_FlxWaveEffect
|
|
,__properties__: {set_interlaceOffset:"set_interlaceOffset"}
|
|
};
|
|
var flixel_addons_effects_chainable_FlxWaveMode = $hxEnums["flixel.addons.effects.chainable.FlxWaveMode"] = { __ename__ : "flixel.addons.effects.chainable.FlxWaveMode", __constructs__ : ["ALL","START","END"]
|
|
,ALL: {_hx_index:0,__enum__:"flixel.addons.effects.chainable.FlxWaveMode",toString:$estr}
|
|
,START: {_hx_index:1,__enum__:"flixel.addons.effects.chainable.FlxWaveMode",toString:$estr}
|
|
,END: {_hx_index:2,__enum__:"flixel.addons.effects.chainable.FlxWaveMode",toString:$estr}
|
|
};
|
|
var flixel_addons_effects_chainable_FlxWaveDirection = $hxEnums["flixel.addons.effects.chainable.FlxWaveDirection"] = { __ename__ : "flixel.addons.effects.chainable.FlxWaveDirection", __constructs__ : ["HORIZONTAL","VERTICAL"]
|
|
,HORIZONTAL: {_hx_index:0,__enum__:"flixel.addons.effects.chainable.FlxWaveDirection",toString:$estr}
|
|
,VERTICAL: {_hx_index:1,__enum__:"flixel.addons.effects.chainable.FlxWaveDirection",toString:$estr}
|
|
};
|
|
var openfl_media_Sound = function(stream,context) {
|
|
openfl_events_EventDispatcher.call(this,this);
|
|
this.bytesLoaded = 0;
|
|
this.bytesTotal = 0;
|
|
this.isBuffering = false;
|
|
this.url = null;
|
|
if(stream != null) {
|
|
this.load(stream,context);
|
|
}
|
|
};
|
|
$hxClasses["openfl.media.Sound"] = openfl_media_Sound;
|
|
openfl_media_Sound.__name__ = "openfl.media.Sound";
|
|
openfl_media_Sound.fromAudioBuffer = function(buffer) {
|
|
var sound = new openfl_media_Sound();
|
|
sound.__buffer = buffer;
|
|
return sound;
|
|
};
|
|
openfl_media_Sound.fromFile = function(path) {
|
|
return openfl_media_Sound.fromAudioBuffer(lime_media_AudioBuffer.fromFile(path));
|
|
};
|
|
openfl_media_Sound.loadFromFile = function(path) {
|
|
return lime_media_AudioBuffer.loadFromFile(path).then(function(audioBuffer) {
|
|
return lime_app_Future.withValue(openfl_media_Sound.fromAudioBuffer(audioBuffer));
|
|
});
|
|
};
|
|
openfl_media_Sound.loadFromFiles = function(paths) {
|
|
return lime_media_AudioBuffer.loadFromFiles(paths).then(function(audioBuffer) {
|
|
return lime_app_Future.withValue(openfl_media_Sound.fromAudioBuffer(audioBuffer));
|
|
});
|
|
};
|
|
openfl_media_Sound.__super__ = openfl_events_EventDispatcher;
|
|
openfl_media_Sound.prototype = $extend(openfl_events_EventDispatcher.prototype,{
|
|
bytesLoaded: null
|
|
,bytesTotal: null
|
|
,isBuffering: null
|
|
,url: null
|
|
,__buffer: null
|
|
,close: function() {
|
|
if(this.__buffer != null) {
|
|
this.__buffer.dispose();
|
|
this.__buffer = null;
|
|
}
|
|
}
|
|
,load: function(stream,context) {
|
|
var _gthis = this;
|
|
this.url = stream.url;
|
|
var defaultLibrary = lime_utils_Assets.getLibrary("default");
|
|
if(defaultLibrary != null && Object.prototype.hasOwnProperty.call(defaultLibrary.cachedAudioBuffers.h,this.url)) {
|
|
this.AudioBuffer_onURLLoad(defaultLibrary.cachedAudioBuffers.h[this.url]);
|
|
} else {
|
|
lime_media_AudioBuffer.loadFromFile(this.url).onComplete($bind(this,this.AudioBuffer_onURLLoad)).onError(function(_) {
|
|
_gthis.AudioBuffer_onURLLoad(null);
|
|
});
|
|
}
|
|
}
|
|
,loadCompressedDataFromByteArray: function(bytes,bytesLength) {
|
|
if(bytes == null || bytesLength <= 0) {
|
|
this.dispatchEvent(new openfl_events_IOErrorEvent("ioError"));
|
|
return;
|
|
}
|
|
if(UInt.gt(bytes.position,0) || UInt.gt(openfl_utils_ByteArray.get_length(bytes),bytesLength)) {
|
|
var length = bytesLength;
|
|
if(length == null) {
|
|
length = 0;
|
|
}
|
|
var this1 = new openfl_utils_ByteArrayData(length);
|
|
var copy = this1;
|
|
var offset = bytes.position;
|
|
var length = bytesLength;
|
|
if(length == null) {
|
|
length = 0;
|
|
}
|
|
if(offset == null) {
|
|
offset = 0;
|
|
}
|
|
copy.writeBytes(bytes,offset,length);
|
|
bytes = copy;
|
|
}
|
|
this.__buffer = lime_media_AudioBuffer.fromBytes(openfl_utils_ByteArray.toBytes(bytes));
|
|
if(this.__buffer == null) {
|
|
this.dispatchEvent(new openfl_events_IOErrorEvent("ioError"));
|
|
} else {
|
|
this.dispatchEvent(new openfl_events_Event("complete"));
|
|
}
|
|
}
|
|
,loadPCMFromByteArray: function(bytes,samples,format,stereo,sampleRate) {
|
|
if(sampleRate == null) {
|
|
sampleRate = 44100;
|
|
}
|
|
if(stereo == null) {
|
|
stereo = true;
|
|
}
|
|
if(format == null) {
|
|
format = "float";
|
|
}
|
|
if(bytes == null) {
|
|
this.dispatchEvent(new openfl_events_IOErrorEvent("ioError"));
|
|
return;
|
|
}
|
|
var bitsPerSample = format == "float" ? 32 : 16;
|
|
var channels = stereo ? 2 : 1;
|
|
var bytesLength = samples * channels * (bitsPerSample / 8) | 0;
|
|
if(UInt.gt(bytes.position,0) || UInt.gt(openfl_utils_ByteArray.get_length(bytes),bytesLength)) {
|
|
var length = bytesLength;
|
|
if(length == null) {
|
|
length = 0;
|
|
}
|
|
var this1 = new openfl_utils_ByteArrayData(length);
|
|
var copy = this1;
|
|
var offset = bytes.position;
|
|
var length = bytesLength;
|
|
if(length == null) {
|
|
length = 0;
|
|
}
|
|
if(offset == null) {
|
|
offset = 0;
|
|
}
|
|
copy.writeBytes(bytes,offset,length);
|
|
bytes = copy;
|
|
}
|
|
var audioBuffer = new lime_media_AudioBuffer();
|
|
audioBuffer.bitsPerSample = bitsPerSample;
|
|
audioBuffer.channels = channels;
|
|
var elements = null;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = openfl_utils_ByteArray.toArrayBuffer(bytes);
|
|
var len = null;
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Uint8Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Uint8Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Uint8Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Uint8Array(view);
|
|
} else if(buffer != null) {
|
|
if(len == null) {
|
|
this1 = new Uint8Array(buffer,0);
|
|
} else {
|
|
this1 = new Uint8Array(buffer,0,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
audioBuffer.data = this1;
|
|
audioBuffer.sampleRate = sampleRate | 0;
|
|
this.__buffer = audioBuffer;
|
|
this.dispatchEvent(new openfl_events_Event("complete"));
|
|
}
|
|
,play: function(startTime,loops,sndTransform) {
|
|
if(loops == null) {
|
|
loops = 0;
|
|
}
|
|
if(startTime == null) {
|
|
startTime = 0.0;
|
|
}
|
|
if(this.__buffer == null || openfl_media_SoundMixer.__soundChannels.length >= 32) {
|
|
return null;
|
|
}
|
|
if(sndTransform == null) {
|
|
sndTransform = new openfl_media_SoundTransform();
|
|
} else {
|
|
sndTransform = sndTransform.clone();
|
|
}
|
|
var pan = openfl_media_SoundMixer.__soundTransform.pan + sndTransform.pan;
|
|
if(pan > 1) {
|
|
pan = 1;
|
|
}
|
|
if(pan < -1) {
|
|
pan = -1;
|
|
}
|
|
var volume = openfl_media_SoundMixer.__soundTransform.volume * sndTransform.volume;
|
|
var source = new lime_media_AudioSource(this.__buffer);
|
|
source.offset = startTime | 0;
|
|
if(loops > 1) {
|
|
source.set_loops(loops - 1);
|
|
}
|
|
source.set_gain(volume);
|
|
var position = source.get_position();
|
|
position.x = pan;
|
|
position.z = -1 * Math.sqrt(1 - Math.pow(pan,2));
|
|
source.set_position(position);
|
|
return new openfl_media_SoundChannel(source,sndTransform);
|
|
}
|
|
,get_id3: function() {
|
|
return new openfl_media_ID3Info();
|
|
}
|
|
,get_length: function() {
|
|
if(this.__buffer != null) {
|
|
return this.__buffer.get_src().duration() * 1000 | 0;
|
|
}
|
|
return 0;
|
|
}
|
|
,AudioBuffer_onURLLoad: function(buffer) {
|
|
if(buffer == null) {
|
|
this.dispatchEvent(new openfl_events_IOErrorEvent("ioError"));
|
|
} else {
|
|
this.__buffer = buffer;
|
|
this.dispatchEvent(new openfl_events_Event("complete"));
|
|
}
|
|
}
|
|
,__class__: openfl_media_Sound
|
|
,__properties__: {get_length:"get_length",get_id3:"get_id3"}
|
|
});
|
|
var flixel_addons_text_TypeSound = function(stream,context) {
|
|
openfl_media_Sound.call(this,stream,context);
|
|
};
|
|
$hxClasses["flixel.addons.text.TypeSound"] = flixel_addons_text_TypeSound;
|
|
flixel_addons_text_TypeSound.__name__ = "flixel.addons.text.TypeSound";
|
|
flixel_addons_text_TypeSound.__super__ = openfl_media_Sound;
|
|
flixel_addons_text_TypeSound.prototype = $extend(openfl_media_Sound.prototype,{
|
|
__class__: flixel_addons_text_TypeSound
|
|
});
|
|
var flixel_text_FlxText = function(X,Y,FieldWidth,Text1,Size,EmbeddedFont) {
|
|
if(EmbeddedFont == null) {
|
|
EmbeddedFont = true;
|
|
}
|
|
if(Size == null) {
|
|
Size = 8;
|
|
}
|
|
if(FieldWidth == null) {
|
|
FieldWidth = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
this._hasBorderAlpha = false;
|
|
this._regen = true;
|
|
this._formatRanges = [];
|
|
this.borderQuality = 1;
|
|
this.borderSize = 1;
|
|
this.borderColor = 0;
|
|
this.borderStyle = flixel_text_FlxTextBorderStyle.NONE;
|
|
this.text = "";
|
|
flixel_FlxSprite.call(this,X,Y);
|
|
if(Text1 == null || Text1 == "") {
|
|
this.set_text("");
|
|
Text1 = " ";
|
|
} else {
|
|
this.set_text(Text1);
|
|
}
|
|
this.textField = new openfl_text_TextField();
|
|
this.textField.set_selectable(false);
|
|
this.textField.set_multiline(true);
|
|
this.textField.set_wordWrap(true);
|
|
this._defaultFormat = new openfl_text_TextFormat(null,Size,16777215);
|
|
this.set_font(flixel_system_FlxAssets.FONT_DEFAULT);
|
|
this._formatAdjusted = new openfl_text_TextFormat();
|
|
this.textField.set_defaultTextFormat(this._defaultFormat);
|
|
this.textField.set_text(Text1);
|
|
this.set_fieldWidth(FieldWidth);
|
|
this.textField.set_embedFonts(EmbeddedFont);
|
|
this.textField.set_sharpness(100);
|
|
this.textField.set_height(Text1.length <= 0 ? 1 : 10);
|
|
this.set_allowCollisions(0);
|
|
this.set_moves(false);
|
|
this.drawFrame();
|
|
var X = 1;
|
|
var Y = 1;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
this.shadowOffset = point;
|
|
};
|
|
$hxClasses["flixel.text.FlxText"] = flixel_text_FlxText;
|
|
flixel_text_FlxText.__name__ = "flixel.text.FlxText";
|
|
flixel_text_FlxText.__super__ = flixel_FlxSprite;
|
|
flixel_text_FlxText.prototype = $extend(flixel_FlxSprite.prototype,{
|
|
text: null
|
|
,borderStyle: null
|
|
,borderColor: null
|
|
,borderSize: null
|
|
,borderQuality: null
|
|
,textField: null
|
|
,shadowOffset: null
|
|
,_defaultFormat: null
|
|
,_formatAdjusted: null
|
|
,_formatRanges: null
|
|
,_font: null
|
|
,_regen: null
|
|
,_borderPixels: null
|
|
,_borderColorTransform: null
|
|
,_hasBorderAlpha: null
|
|
,destroy: function() {
|
|
this.textField = null;
|
|
this._font = null;
|
|
this._defaultFormat = null;
|
|
this._formatAdjusted = null;
|
|
this.shadowOffset = flixel_util_FlxDestroyUtil.put(this.shadowOffset);
|
|
flixel_FlxSprite.prototype.destroy.call(this);
|
|
}
|
|
,drawFrame: function(Force) {
|
|
if(Force == null) {
|
|
Force = false;
|
|
}
|
|
this._regen = this._regen || Force;
|
|
flixel_FlxSprite.prototype.drawFrame.call(this,this._regen);
|
|
}
|
|
,stampOnAtlas: function(atlas) {
|
|
this.regenGraphic();
|
|
var node = atlas.addNode(this.graphic.bitmap,this.graphic.key);
|
|
var result = node != null;
|
|
if(node != null) {
|
|
this.set_frames(node.getImageFrame());
|
|
}
|
|
return result;
|
|
}
|
|
,applyMarkup: function(input,rules) {
|
|
if(rules == null || rules.length == 0) {
|
|
return this;
|
|
}
|
|
this.clearFormats();
|
|
var rangeStarts = [];
|
|
var rangeEnds = [];
|
|
var rulesToApply = [];
|
|
var i = 0;
|
|
var _g = 0;
|
|
while(_g < rules.length) {
|
|
var rule = rules[_g];
|
|
++_g;
|
|
if(rule.marker == null || rule.format == null) {
|
|
continue;
|
|
}
|
|
var start = false;
|
|
var markerLength = UnicodeString.get_length(rule.marker);
|
|
if(input.indexOf(rule.marker) == -1) {
|
|
continue;
|
|
}
|
|
var _g1 = 0;
|
|
var _g2 = UnicodeString.get_length(input);
|
|
while(_g1 < _g2) {
|
|
var charIndex = _g1++;
|
|
if(UnicodeString.substr(input,charIndex,markerLength) != rule.marker) {
|
|
continue;
|
|
}
|
|
if(start) {
|
|
start = false;
|
|
rangeEnds.push(charIndex);
|
|
} else {
|
|
start = true;
|
|
rangeStarts.push(charIndex);
|
|
rulesToApply.push(rule);
|
|
}
|
|
}
|
|
if(start) {
|
|
rangeEnds.push(-1);
|
|
}
|
|
++i;
|
|
}
|
|
var _g = 0;
|
|
while(_g < rules.length) {
|
|
var rule = rules[_g];
|
|
++_g;
|
|
input = StringTools.replace(input,rule.marker,"");
|
|
}
|
|
var _g = 0;
|
|
var _g1 = rangeStarts.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var delIndex = rangeStarts[i];
|
|
var markerLength = UnicodeString.get_length(rulesToApply[i].marker);
|
|
var _g2 = 0;
|
|
var _g3 = rangeStarts.length;
|
|
while(_g2 < _g3) {
|
|
var j = _g2++;
|
|
if(rangeStarts[j] > delIndex) {
|
|
rangeStarts[j] -= markerLength;
|
|
}
|
|
if(rangeEnds[j] > delIndex) {
|
|
rangeEnds[j] -= markerLength;
|
|
}
|
|
}
|
|
delIndex = rangeEnds[i];
|
|
var _g4 = 0;
|
|
var _g5 = rangeStarts.length;
|
|
while(_g4 < _g5) {
|
|
var j1 = _g4++;
|
|
if(rangeStarts[j1] > delIndex) {
|
|
rangeStarts[j1] -= markerLength;
|
|
}
|
|
if(rangeEnds[j1] > delIndex) {
|
|
rangeEnds[j1] -= markerLength;
|
|
}
|
|
}
|
|
}
|
|
this.set_text(input);
|
|
var _g = 0;
|
|
var _g1 = rangeStarts.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
this.addFormat(rulesToApply[i].format,rangeStarts[i],rangeEnds[i]);
|
|
}
|
|
return this;
|
|
}
|
|
,addFormat: function(Format,Start,End) {
|
|
if(End == null) {
|
|
End = -1;
|
|
}
|
|
if(Start == null) {
|
|
Start = -1;
|
|
}
|
|
this._formatRanges.push(new flixel_text__$FlxText_FlxTextFormatRange(Format,Start,End));
|
|
this._formatRanges.sort(function(left,right) {
|
|
if(left.range.start < right.range.start) {
|
|
return -1;
|
|
} else {
|
|
return 1;
|
|
}
|
|
});
|
|
this._regen = true;
|
|
return this;
|
|
}
|
|
,removeFormat: function(Format,Start,End) {
|
|
var i = this._formatRanges.length;
|
|
while(i-- > 0) {
|
|
var formatRange = this._formatRanges[i];
|
|
if(formatRange.format != Format) {
|
|
continue;
|
|
}
|
|
if(Start != null && End != null) {
|
|
var range = formatRange.range;
|
|
if(Start >= range.end || End <= range.start) {
|
|
continue;
|
|
}
|
|
if(Start > range.start && End < range.end) {
|
|
this.addFormat(formatRange.format,End + 1,range.end);
|
|
range.end = Start;
|
|
continue;
|
|
}
|
|
if(Start <= range.start && End < range.end) {
|
|
range.start = End;
|
|
continue;
|
|
}
|
|
if(Start > range.start && End >= range.end) {
|
|
range.end = Start;
|
|
continue;
|
|
}
|
|
}
|
|
HxOverrides.remove(this._formatRanges,formatRange);
|
|
}
|
|
this._regen = true;
|
|
return this;
|
|
}
|
|
,clearFormats: function() {
|
|
this._formatRanges = [];
|
|
this.textField.set_defaultTextFormat(this._defaultFormat);
|
|
this.textField.setTextFormat(this._defaultFormat);
|
|
this._regen = true;
|
|
return this;
|
|
}
|
|
,setFormat: function(Font,Size,Color,Alignment,BorderStyle,BorderColor,EmbeddedFont) {
|
|
if(EmbeddedFont == null) {
|
|
EmbeddedFont = true;
|
|
}
|
|
if(BorderColor == null) {
|
|
BorderColor = 0;
|
|
}
|
|
if(Color == null) {
|
|
Color = -1;
|
|
}
|
|
if(Size == null) {
|
|
Size = 8;
|
|
}
|
|
if(BorderStyle == null) {
|
|
BorderStyle = flixel_text_FlxTextBorderStyle.NONE;
|
|
}
|
|
if(EmbeddedFont) {
|
|
this.set_font(Font);
|
|
} else if(Font != null) {
|
|
this.set_systemFont(Font);
|
|
}
|
|
this.set_size(Size);
|
|
this.set_color(Color);
|
|
if(Alignment != null) {
|
|
this.set_alignment(Alignment);
|
|
}
|
|
var Color = BorderColor;
|
|
if(Color == null) {
|
|
Color = 0;
|
|
}
|
|
this.set_borderStyle(BorderStyle);
|
|
this.set_borderColor(Color);
|
|
this.set_borderSize(1);
|
|
this.set_borderQuality(1);
|
|
this.textField.set_defaultTextFormat(this._defaultFormat);
|
|
this.textField.setTextFormat(this._defaultFormat);
|
|
this._regen = true;
|
|
return this;
|
|
}
|
|
,setBorderStyle: function(Style,Color,Size,Quality) {
|
|
if(Quality == null) {
|
|
Quality = 1;
|
|
}
|
|
if(Size == null) {
|
|
Size = 1;
|
|
}
|
|
if(Color == null) {
|
|
Color = 0;
|
|
}
|
|
this.set_borderStyle(Style);
|
|
this.set_borderColor(Color);
|
|
this.set_borderSize(Size);
|
|
this.set_borderQuality(Quality);
|
|
return this;
|
|
}
|
|
,updateHitbox: function() {
|
|
this.regenGraphic();
|
|
flixel_FlxSprite.prototype.updateHitbox.call(this);
|
|
}
|
|
,set_fieldWidth: function(value) {
|
|
if(this.textField == null) {
|
|
return value;
|
|
}
|
|
if(value <= 0) {
|
|
this.set_wordWrap(false);
|
|
this.set_autoSize(true);
|
|
} else {
|
|
this.set_autoSize(false);
|
|
this.set_wordWrap(true);
|
|
this.textField.set_width(value);
|
|
}
|
|
this._regen = true;
|
|
return value;
|
|
}
|
|
,get_fieldWidth: function() {
|
|
if(this.textField != null) {
|
|
return this.textField.get_width();
|
|
} else {
|
|
return 0;
|
|
}
|
|
}
|
|
,set_autoSize: function(value) {
|
|
if(this.textField != null) {
|
|
this.textField.set_autoSize(value ? 1 : 2);
|
|
this._regen = true;
|
|
}
|
|
return value;
|
|
}
|
|
,get_autoSize: function() {
|
|
if(this.textField != null) {
|
|
return this.textField.get_autoSize() != 2;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,set_text: function(Text1) {
|
|
this.text = Text1;
|
|
if(this.textField != null) {
|
|
var ot = this.textField.get_text();
|
|
this.textField.set_text(Text1);
|
|
this._regen = this.textField.get_text() != ot || this._regen;
|
|
}
|
|
return Text1;
|
|
}
|
|
,get_size: function() {
|
|
return this._defaultFormat.size | 0;
|
|
}
|
|
,set_size: function(Size) {
|
|
this._defaultFormat.size = Size;
|
|
this.textField.set_defaultTextFormat(this._defaultFormat);
|
|
this.textField.setTextFormat(this._defaultFormat);
|
|
this._regen = true;
|
|
return Size;
|
|
}
|
|
,set_color: function(Color) {
|
|
if(this._defaultFormat.color == (Color & 16777215)) {
|
|
return Color;
|
|
}
|
|
this._defaultFormat.color = Color & 16777215;
|
|
this.color = Color;
|
|
this.textField.set_defaultTextFormat(this._defaultFormat);
|
|
this.textField.setTextFormat(this._defaultFormat);
|
|
this._regen = true;
|
|
return Color;
|
|
}
|
|
,get_font: function() {
|
|
return this._font;
|
|
}
|
|
,set_font: function(Font) {
|
|
this.textField.set_embedFonts(true);
|
|
if(Font != null) {
|
|
var newFontName = Font;
|
|
if(openfl_utils_Assets.exists(Font,"FONT")) {
|
|
newFontName = openfl_utils_Assets.getFont(Font).name;
|
|
}
|
|
this._defaultFormat.font = newFontName;
|
|
} else {
|
|
this._defaultFormat.font = flixel_system_FlxAssets.FONT_DEFAULT;
|
|
}
|
|
this.textField.set_defaultTextFormat(this._defaultFormat);
|
|
this.textField.setTextFormat(this._defaultFormat);
|
|
this._regen = true;
|
|
return this._font = this._defaultFormat.font;
|
|
}
|
|
,get_embedded: function() {
|
|
return this.textField.set_embedFonts(true);
|
|
}
|
|
,get_systemFont: function() {
|
|
return this._defaultFormat.font;
|
|
}
|
|
,set_systemFont: function(Font) {
|
|
this.textField.set_embedFonts(false);
|
|
this._defaultFormat.font = Font;
|
|
this.textField.set_defaultTextFormat(this._defaultFormat);
|
|
this.textField.setTextFormat(this._defaultFormat);
|
|
this._regen = true;
|
|
return Font;
|
|
}
|
|
,get_bold: function() {
|
|
return this._defaultFormat.bold;
|
|
}
|
|
,set_bold: function(value) {
|
|
if(this._defaultFormat.bold != value) {
|
|
this._defaultFormat.bold = value;
|
|
this.textField.set_defaultTextFormat(this._defaultFormat);
|
|
this.textField.setTextFormat(this._defaultFormat);
|
|
this._regen = true;
|
|
}
|
|
return value;
|
|
}
|
|
,get_italic: function() {
|
|
return this._defaultFormat.italic;
|
|
}
|
|
,set_italic: function(value) {
|
|
if(this._defaultFormat.italic != value) {
|
|
this._defaultFormat.italic = value;
|
|
this.textField.set_defaultTextFormat(this._defaultFormat);
|
|
this.textField.setTextFormat(this._defaultFormat);
|
|
this._regen = true;
|
|
}
|
|
return value;
|
|
}
|
|
,get_wordWrap: function() {
|
|
return this.textField.get_wordWrap();
|
|
}
|
|
,set_wordWrap: function(value) {
|
|
if(this.textField.get_wordWrap() != value) {
|
|
this.textField.set_wordWrap(value);
|
|
this._regen = true;
|
|
}
|
|
return value;
|
|
}
|
|
,get_alignment: function() {
|
|
return flixel_text_FlxTextAlign.fromOpenFL(this._defaultFormat.align);
|
|
}
|
|
,set_alignment: function(Alignment) {
|
|
this._defaultFormat.align = flixel_text_FlxTextAlign.toOpenFL(Alignment);
|
|
this.textField.set_defaultTextFormat(this._defaultFormat);
|
|
this.textField.setTextFormat(this._defaultFormat);
|
|
this._regen = true;
|
|
return Alignment;
|
|
}
|
|
,set_borderStyle: function(style) {
|
|
if(style != this.borderStyle) {
|
|
this._regen = true;
|
|
}
|
|
return this.borderStyle = style;
|
|
}
|
|
,set_borderColor: function(Color) {
|
|
if(this.borderColor != Color && this.borderStyle != flixel_text_FlxTextBorderStyle.NONE) {
|
|
this._regen = true;
|
|
}
|
|
this._hasBorderAlpha = (Color >> 24 & 255) / 255 < 1;
|
|
return this.borderColor = Color;
|
|
}
|
|
,set_borderSize: function(Value) {
|
|
if(Value != this.borderSize && this.borderStyle != flixel_text_FlxTextBorderStyle.NONE) {
|
|
this._regen = true;
|
|
}
|
|
return this.borderSize = Value;
|
|
}
|
|
,set_borderQuality: function(Value) {
|
|
var lowerBound = Value < 0 ? 0 : Value;
|
|
Value = lowerBound > 1 ? 1 : lowerBound;
|
|
if(Value != this.borderQuality && this.borderStyle != flixel_text_FlxTextBorderStyle.NONE) {
|
|
this._regen = true;
|
|
}
|
|
return this.borderQuality = Value;
|
|
}
|
|
,set_graphic: function(Value) {
|
|
var oldGraphic = this.graphic;
|
|
var graph = flixel_FlxSprite.prototype.set_graphic.call(this,Value);
|
|
flixel_FlxG.bitmap.removeIfNoUse(oldGraphic);
|
|
return graph;
|
|
}
|
|
,get_width: function() {
|
|
this.regenGraphic();
|
|
return flixel_FlxSprite.prototype.get_width.call(this);
|
|
}
|
|
,get_height: function() {
|
|
this.regenGraphic();
|
|
return flixel_FlxSprite.prototype.get_height.call(this);
|
|
}
|
|
,updateColorTransform: function() {
|
|
if(this.colorTransform == null) {
|
|
this.colorTransform = new openfl_geom_ColorTransform();
|
|
}
|
|
if(this.alpha != 1) {
|
|
this.colorTransform.alphaMultiplier = this.alpha;
|
|
this.useColorTransform = true;
|
|
} else {
|
|
this.colorTransform.alphaMultiplier = 1;
|
|
this.useColorTransform = false;
|
|
}
|
|
this.dirty = true;
|
|
}
|
|
,regenGraphic: function() {
|
|
if(this.textField == null || !this._regen) {
|
|
return;
|
|
}
|
|
var oldWidth = 0;
|
|
var oldHeight = 4;
|
|
if(this.graphic != null) {
|
|
oldWidth = this.graphic.width;
|
|
oldHeight = this.graphic.height;
|
|
}
|
|
var newWidth = this.textField.get_width();
|
|
var newHeight = this.textField.get_textHeight() + 4;
|
|
if(this.textField.get_textHeight() == 0) {
|
|
newHeight = oldHeight;
|
|
}
|
|
if(oldWidth != newWidth || oldHeight != newHeight) {
|
|
this.set_height(newHeight);
|
|
var key = flixel_FlxG.bitmap.getUniqueKey("text");
|
|
this.makeGraphic(newWidth | 0,newHeight | 0,0,false,key);
|
|
if(this._hasBorderAlpha) {
|
|
this._borderPixels = this.graphic.bitmap.clone();
|
|
}
|
|
this.frameHeight = this.get_height() | 0;
|
|
this.textField.set_height(this.get_height() * 1.2);
|
|
this._flashRect.x = 0;
|
|
this._flashRect.y = 0;
|
|
this._flashRect.width = newWidth;
|
|
this._flashRect.height = newHeight;
|
|
} else {
|
|
this.graphic.bitmap.fillRect(this._flashRect,0);
|
|
if(this._hasBorderAlpha) {
|
|
if(this._borderPixels == null) {
|
|
this._borderPixels = new openfl_display_BitmapData(this.frameWidth,this.frameHeight,true);
|
|
} else {
|
|
this._borderPixels.fillRect(this._flashRect,0);
|
|
}
|
|
}
|
|
}
|
|
if(this.textField != null && this.textField.get_text() != null && this.textField.get_text().length > 0) {
|
|
this.copyTextFormat(this._defaultFormat,this._formatAdjusted);
|
|
this._matrix.identity();
|
|
this.applyBorderStyle();
|
|
if(this._hasBorderAlpha) {
|
|
if(this._borderColorTransform == null) {
|
|
this._borderColorTransform = new openfl_geom_ColorTransform();
|
|
}
|
|
this._borderColorTransform.alphaMultiplier = (this.borderColor >> 24 & 255) / 255;
|
|
this._borderPixels.colorTransform(this._borderPixels.rect,this._borderColorTransform);
|
|
this.graphic.bitmap.draw(this._borderPixels);
|
|
}
|
|
this.applyFormats(this._formatAdjusted,false);
|
|
this.drawTextFieldTo(this.graphic.bitmap);
|
|
}
|
|
this._regen = false;
|
|
this.set_frame(this.frame);
|
|
}
|
|
,drawTextFieldTo: function(graphic) {
|
|
graphic.draw(this.textField,this._matrix);
|
|
}
|
|
,draw: function() {
|
|
this.regenGraphic();
|
|
flixel_FlxSprite.prototype.draw.call(this);
|
|
}
|
|
,calcFrame: function(RunOnCpp) {
|
|
if(RunOnCpp == null) {
|
|
RunOnCpp = false;
|
|
}
|
|
if(this.textField == null) {
|
|
return;
|
|
}
|
|
if(flixel_FlxG.renderTile && !RunOnCpp) {
|
|
return;
|
|
}
|
|
this.regenGraphic();
|
|
flixel_FlxSprite.prototype.calcFrame.call(this,RunOnCpp);
|
|
}
|
|
,applyBorderStyle: function() {
|
|
var iterations = this.borderSize * this.borderQuality | 0;
|
|
if(iterations <= 0) {
|
|
iterations = 1;
|
|
}
|
|
var delta = this.borderSize / iterations;
|
|
switch(this.borderStyle._hx_index) {
|
|
case 0:
|
|
break;
|
|
case 1:
|
|
this.applyFormats(this._formatAdjusted,true);
|
|
var _g = 0;
|
|
var _g1 = iterations;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var graphic = this._hasBorderAlpha ? this._borderPixels : this.graphic.bitmap;
|
|
this._matrix.translate(delta,delta);
|
|
this.drawTextFieldTo(graphic);
|
|
}
|
|
this._matrix.translate(-this.shadowOffset.x * this.borderSize,-this.shadowOffset.y * this.borderSize);
|
|
break;
|
|
case 2:
|
|
this.applyFormats(this._formatAdjusted,true);
|
|
var curDelta = delta;
|
|
var _g = 0;
|
|
var _g1 = iterations;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var graphic = this._hasBorderAlpha ? this._borderPixels : this.graphic.bitmap;
|
|
this._matrix.translate(-curDelta,-curDelta);
|
|
this.drawTextFieldTo(graphic);
|
|
var graphic1 = this._hasBorderAlpha ? this._borderPixels : this.graphic.bitmap;
|
|
this._matrix.translate(curDelta,0);
|
|
this.drawTextFieldTo(graphic1);
|
|
var graphic2 = this._hasBorderAlpha ? this._borderPixels : this.graphic.bitmap;
|
|
this._matrix.translate(curDelta,0);
|
|
this.drawTextFieldTo(graphic2);
|
|
var graphic3 = this._hasBorderAlpha ? this._borderPixels : this.graphic.bitmap;
|
|
this._matrix.translate(0,curDelta);
|
|
this.drawTextFieldTo(graphic3);
|
|
var graphic4 = this._hasBorderAlpha ? this._borderPixels : this.graphic.bitmap;
|
|
this._matrix.translate(0,curDelta);
|
|
this.drawTextFieldTo(graphic4);
|
|
var graphic5 = this._hasBorderAlpha ? this._borderPixels : this.graphic.bitmap;
|
|
this._matrix.translate(-curDelta,0);
|
|
this.drawTextFieldTo(graphic5);
|
|
var graphic6 = this._hasBorderAlpha ? this._borderPixels : this.graphic.bitmap;
|
|
this._matrix.translate(-curDelta,0);
|
|
this.drawTextFieldTo(graphic6);
|
|
var graphic7 = this._hasBorderAlpha ? this._borderPixels : this.graphic.bitmap;
|
|
this._matrix.translate(0,-curDelta);
|
|
this.drawTextFieldTo(graphic7);
|
|
this._matrix.translate(curDelta,0);
|
|
curDelta += delta;
|
|
}
|
|
break;
|
|
case 3:
|
|
this.applyFormats(this._formatAdjusted,true);
|
|
var curDelta = delta;
|
|
var _g = 0;
|
|
var _g1 = iterations;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var graphic = this._hasBorderAlpha ? this._borderPixels : this.graphic.bitmap;
|
|
this._matrix.translate(-curDelta,-curDelta);
|
|
this.drawTextFieldTo(graphic);
|
|
var graphic1 = this._hasBorderAlpha ? this._borderPixels : this.graphic.bitmap;
|
|
this._matrix.translate(curDelta * 2,0);
|
|
this.drawTextFieldTo(graphic1);
|
|
var graphic2 = this._hasBorderAlpha ? this._borderPixels : this.graphic.bitmap;
|
|
this._matrix.translate(0,curDelta * 2);
|
|
this.drawTextFieldTo(graphic2);
|
|
var graphic3 = this._hasBorderAlpha ? this._borderPixels : this.graphic.bitmap;
|
|
this._matrix.translate(-curDelta * 2,0);
|
|
this.drawTextFieldTo(graphic3);
|
|
this._matrix.translate(curDelta,-curDelta);
|
|
curDelta += delta;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
,applyBorderTransparency: function() {
|
|
if(!this._hasBorderAlpha) {
|
|
return;
|
|
}
|
|
if(this._borderColorTransform == null) {
|
|
this._borderColorTransform = new openfl_geom_ColorTransform();
|
|
}
|
|
this._borderColorTransform.alphaMultiplier = (this.borderColor >> 24 & 255) / 255;
|
|
this._borderPixels.colorTransform(this._borderPixels.rect,this._borderColorTransform);
|
|
this.graphic.bitmap.draw(this._borderPixels);
|
|
}
|
|
,copyTextWithOffset: function(x,y) {
|
|
var graphic = this._hasBorderAlpha ? this._borderPixels : this.graphic.bitmap;
|
|
this._matrix.translate(x,y);
|
|
this.drawTextFieldTo(graphic);
|
|
}
|
|
,applyFormats: function(FormatAdjusted,UseBorderColor) {
|
|
if(UseBorderColor == null) {
|
|
UseBorderColor = false;
|
|
}
|
|
this.copyTextFormat(this._defaultFormat,FormatAdjusted,false);
|
|
FormatAdjusted.color = UseBorderColor ? this.borderColor & 16777215 : this._defaultFormat.color;
|
|
this.textField.setTextFormat(FormatAdjusted);
|
|
var _g = 0;
|
|
var _g1 = this._formatRanges;
|
|
while(_g < _g1.length) {
|
|
var formatRange = _g1[_g];
|
|
++_g;
|
|
if(this.textField.get_text().length - 1 < formatRange.range.start) {
|
|
break;
|
|
} else {
|
|
var textFormat = formatRange.format.format;
|
|
this.copyTextFormat(textFormat,FormatAdjusted,false);
|
|
FormatAdjusted.color = UseBorderColor ? formatRange.format.borderColor & 16777215 : textFormat.color;
|
|
}
|
|
this.textField.setTextFormat(FormatAdjusted,formatRange.range.start,Math.min(formatRange.range.end,this.textField.get_text().length) | 0);
|
|
}
|
|
}
|
|
,copyTextFormat: function(from,to,withAlign) {
|
|
if(withAlign == null) {
|
|
withAlign = true;
|
|
}
|
|
to.font = from.font;
|
|
to.bold = from.bold;
|
|
to.italic = from.italic;
|
|
to.size = from.size;
|
|
to.color = from.color;
|
|
if(withAlign) {
|
|
to.align = from.align;
|
|
}
|
|
}
|
|
,dtfCopy: function() {
|
|
var dtf = this.textField.get_defaultTextFormat();
|
|
return new openfl_text_TextFormat(dtf.font,dtf.size,dtf.color,dtf.bold,dtf.italic,dtf.underline,dtf.url,dtf.target,dtf.align);
|
|
}
|
|
,updateDefaultFormat: function() {
|
|
this.textField.set_defaultTextFormat(this._defaultFormat);
|
|
this.textField.setTextFormat(this._defaultFormat);
|
|
this._regen = true;
|
|
}
|
|
,set_frames: function(Frames) {
|
|
flixel_FlxSprite.prototype.set_frames.call(this,Frames);
|
|
this._regen = false;
|
|
return Frames;
|
|
}
|
|
,__class__: flixel_text_FlxText
|
|
,__properties__: $extend(flixel_FlxSprite.prototype.__properties__,{set_autoSize:"set_autoSize",get_autoSize:"get_autoSize",set_fieldWidth:"set_fieldWidth",get_fieldWidth:"get_fieldWidth",set_borderQuality:"set_borderQuality",set_borderSize:"set_borderSize",set_borderColor:"set_borderColor",set_borderStyle:"set_borderStyle",set_alignment:"set_alignment",get_alignment:"get_alignment",set_wordWrap:"set_wordWrap",get_wordWrap:"get_wordWrap",set_italic:"set_italic",get_italic:"get_italic",set_bold:"set_bold",get_bold:"get_bold",set_systemFont:"set_systemFont",get_systemFont:"get_systemFont",get_embedded:"get_embedded",set_font:"set_font",get_font:"get_font",set_size:"set_size",get_size:"get_size",set_text:"set_text"})
|
|
});
|
|
var flixel_addons_text_FlxTypeText = function(X,Y,Width,Text1,Size,EmbeddedFont) {
|
|
if(EmbeddedFont == null) {
|
|
EmbeddedFont = true;
|
|
}
|
|
if(Size == null) {
|
|
Size = 8;
|
|
}
|
|
this._typeVarPercent = 0.5;
|
|
this._typingVariation = false;
|
|
this._cursorTimer = 0.0;
|
|
this._waiting = false;
|
|
this._erasing = false;
|
|
this._typing = false;
|
|
this._length = 0;
|
|
this._waitTimer = 0.0;
|
|
this._timer = 0.0;
|
|
this._finalText = "";
|
|
this.skipKeys = [];
|
|
this.finishSounds = false;
|
|
this.useDefaultSound = false;
|
|
this.paused = false;
|
|
this.waitTime = 1.0;
|
|
this.autoErase = false;
|
|
this.prefix = "";
|
|
this.cursorBlinkSpeed = 0.5;
|
|
this.cursorCharacter = "|";
|
|
this.showCursor = false;
|
|
this.eraseDelay = 0.02;
|
|
this.delay = 0.05;
|
|
flixel_text_FlxText.call(this,X,Y,Width,"",Size,EmbeddedFont);
|
|
this._finalText = Text1;
|
|
};
|
|
$hxClasses["flixel.addons.text.FlxTypeText"] = flixel_addons_text_FlxTypeText;
|
|
flixel_addons_text_FlxTypeText.__name__ = "flixel.addons.text.FlxTypeText";
|
|
flixel_addons_text_FlxTypeText.__super__ = flixel_text_FlxText;
|
|
flixel_addons_text_FlxTypeText.prototype = $extend(flixel_text_FlxText.prototype,{
|
|
delay: null
|
|
,eraseDelay: null
|
|
,showCursor: null
|
|
,cursorCharacter: null
|
|
,cursorBlinkSpeed: null
|
|
,prefix: null
|
|
,autoErase: null
|
|
,waitTime: null
|
|
,paused: null
|
|
,sounds: null
|
|
,useDefaultSound: null
|
|
,finishSounds: null
|
|
,skipKeys: null
|
|
,completeCallback: null
|
|
,eraseCallback: null
|
|
,_finalText: null
|
|
,_timer: null
|
|
,_waitTimer: null
|
|
,_length: null
|
|
,_typing: null
|
|
,_erasing: null
|
|
,_waiting: null
|
|
,_cursorTimer: null
|
|
,_typingVariation: null
|
|
,_typeVarPercent: null
|
|
,_sound: null
|
|
,start: function(Delay,ForceRestart,AutoErase,SkipKeys,Callback) {
|
|
if(AutoErase == null) {
|
|
AutoErase = false;
|
|
}
|
|
if(ForceRestart == null) {
|
|
ForceRestart = false;
|
|
}
|
|
if(Delay != null) {
|
|
this.delay = Delay;
|
|
}
|
|
this._typing = true;
|
|
this._erasing = false;
|
|
this.paused = false;
|
|
this._waiting = false;
|
|
if(ForceRestart) {
|
|
this.set_text("");
|
|
this._length = 0;
|
|
}
|
|
this.autoErase = AutoErase;
|
|
if(SkipKeys != null) {
|
|
this.skipKeys = SkipKeys;
|
|
}
|
|
this.completeCallback = Callback;
|
|
this.insertBreakLines();
|
|
if(this.useDefaultSound) {
|
|
this.loadDefaultSound();
|
|
}
|
|
}
|
|
,applyMarkup: function(input,rules) {
|
|
flixel_text_FlxText.prototype.applyMarkup.call(this,input,rules);
|
|
this.resetText(this.text);
|
|
return this;
|
|
}
|
|
,insertBreakLines: function() {
|
|
var saveText = this.text;
|
|
var last = this._finalText.length;
|
|
var n0 = 0;
|
|
var n1 = 0;
|
|
while(true) {
|
|
last = HxOverrides.substr(this._finalText,0,last).lastIndexOf(" ");
|
|
if(last <= 0) {
|
|
break;
|
|
}
|
|
this.set_text(this.prefix + this._finalText);
|
|
n0 = this.textField.get_numLines();
|
|
var nextText = HxOverrides.substr(this._finalText,0,last) + "\n" + HxOverrides.substr(this._finalText,last + 1,this._finalText.length);
|
|
this.set_text(this.prefix + nextText);
|
|
n1 = this.textField.get_numLines();
|
|
if(n0 == n1) {
|
|
this._finalText = nextText;
|
|
}
|
|
}
|
|
this.set_text(saveText);
|
|
}
|
|
,erase: function(Delay,ForceRestart,SkipKeys,Callback) {
|
|
if(ForceRestart == null) {
|
|
ForceRestart = false;
|
|
}
|
|
this._erasing = true;
|
|
this._typing = false;
|
|
this.paused = false;
|
|
this._waiting = false;
|
|
if(Delay != null) {
|
|
this.eraseDelay = Delay;
|
|
}
|
|
if(ForceRestart) {
|
|
this._length = this._finalText.length;
|
|
this.set_text(this._finalText);
|
|
}
|
|
if(SkipKeys != null) {
|
|
this.skipKeys = SkipKeys;
|
|
}
|
|
this.eraseCallback = Callback;
|
|
if(this.useDefaultSound) {
|
|
this.loadDefaultSound();
|
|
}
|
|
}
|
|
,resetText: function(Text1) {
|
|
this.set_text("");
|
|
this._finalText = Text1;
|
|
this._typing = false;
|
|
this._erasing = false;
|
|
this.paused = false;
|
|
this._waiting = false;
|
|
this._length = 0;
|
|
}
|
|
,setTypingVariation: function(Amount,On) {
|
|
if(On == null) {
|
|
On = true;
|
|
}
|
|
if(Amount == null) {
|
|
Amount = 0.5;
|
|
}
|
|
this._typingVariation = On;
|
|
var lowerBound = Amount < 0 ? 0 : Amount;
|
|
this._typeVarPercent = lowerBound > 1 ? 1 : lowerBound;
|
|
}
|
|
,onComplete: function() {
|
|
this._timer = 0;
|
|
this._typing = false;
|
|
if(this.useDefaultSound) {
|
|
var _this = this._sound;
|
|
_this.cleanup(_this.autoDestroy,true);
|
|
} else if(this.sounds != null) {
|
|
var _g = 0;
|
|
var _g1 = this.sounds;
|
|
while(_g < _g1.length) {
|
|
var sound = _g1[_g];
|
|
++_g;
|
|
sound.cleanup(sound.autoDestroy,true);
|
|
}
|
|
}
|
|
if(this.completeCallback != null) {
|
|
this.completeCallback();
|
|
}
|
|
if(this.autoErase && this.waitTime <= 0) {
|
|
this._erasing = true;
|
|
} else if(this.autoErase) {
|
|
this._waitTimer = this.waitTime;
|
|
this._waiting = true;
|
|
}
|
|
}
|
|
,onErased: function() {
|
|
this._timer = 0;
|
|
this._erasing = false;
|
|
if(this.eraseCallback != null) {
|
|
this.eraseCallback();
|
|
}
|
|
}
|
|
,update: function(elapsed) {
|
|
if(this.skipKeys != null && this.skipKeys.length > 0 && flixel_FlxG.keys.checkKeyArrayState(this.skipKeys,2)) {
|
|
this.skip();
|
|
}
|
|
if(this._waiting && !this.paused) {
|
|
this._waitTimer -= elapsed;
|
|
if(this._waitTimer <= 0) {
|
|
this._waiting = false;
|
|
this._erasing = true;
|
|
}
|
|
}
|
|
if(!this._waiting && !this.paused) {
|
|
if(this._length < this._finalText.length && this._typing) {
|
|
this._timer += elapsed;
|
|
}
|
|
if(this._length > 0 && this._erasing) {
|
|
this._timer += elapsed;
|
|
}
|
|
}
|
|
if(this._typing || this._erasing) {
|
|
if(this._typing && this._timer >= this.delay) {
|
|
this._length += this._timer / this.delay | 0;
|
|
if(this._length > this._finalText.length) {
|
|
this._length = this._finalText.length;
|
|
}
|
|
}
|
|
if(this._erasing && this._timer >= this.eraseDelay) {
|
|
this._length -= this._timer / this.eraseDelay | 0;
|
|
if(this._length < 0) {
|
|
this._length = 0;
|
|
}
|
|
}
|
|
if(this._typing && this._timer >= this.delay || this._erasing && this._timer >= this.eraseDelay) {
|
|
if(this._typingVariation) {
|
|
if(this._typing) {
|
|
this._timer = flixel_FlxG.random.float(-this.delay * this._typeVarPercent / 2,this.delay * this._typeVarPercent / 2);
|
|
} else {
|
|
this._timer = flixel_FlxG.random.float(-this.eraseDelay * this._typeVarPercent / 2,this.eraseDelay * this._typeVarPercent / 2);
|
|
}
|
|
} else {
|
|
this._timer %= this.delay;
|
|
}
|
|
if(this.sounds != null && !this.useDefaultSound) {
|
|
if(!this.finishSounds) {
|
|
var _g = 0;
|
|
var _g1 = this.sounds;
|
|
while(_g < _g1.length) {
|
|
var sound = _g1[_g];
|
|
++_g;
|
|
sound.cleanup(sound.autoDestroy,true);
|
|
}
|
|
}
|
|
flixel_FlxG.random.getObject_flixel_system_FlxSound(this.sounds).play(!this.finishSounds);
|
|
} else if(this.useDefaultSound) {
|
|
this._sound.play(!this.finishSounds);
|
|
}
|
|
}
|
|
}
|
|
flixel_addons_text_FlxTypeText.helperString = this.prefix + HxOverrides.substr(this._finalText,0,this._length);
|
|
if(this.showCursor) {
|
|
this._cursorTimer += elapsed;
|
|
var isBreakLine = (this.prefix + this._finalText).charAt(flixel_addons_text_FlxTypeText.helperString.length) == "\n";
|
|
if(this._cursorTimer > this.cursorBlinkSpeed / 2 && !isBreakLine) {
|
|
flixel_addons_text_FlxTypeText.helperString += this.cursorCharacter.charAt(0);
|
|
}
|
|
if(this._cursorTimer > this.cursorBlinkSpeed) {
|
|
this._cursorTimer = 0;
|
|
}
|
|
}
|
|
if(flixel_addons_text_FlxTypeText.helperString != this.text) {
|
|
this.set_text(flixel_addons_text_FlxTypeText.helperString);
|
|
if(this._length >= this._finalText.length && this._typing && !this._waiting && !this._erasing) {
|
|
this.onComplete();
|
|
}
|
|
if(this._length == 0 && this._erasing && !this._typing && !this._waiting) {
|
|
this.onErased();
|
|
}
|
|
}
|
|
flixel_text_FlxText.prototype.update.call(this,elapsed);
|
|
}
|
|
,skip: function() {
|
|
if(this._erasing || this._waiting) {
|
|
this._length = 0;
|
|
this._waiting = false;
|
|
} else if(this._typing) {
|
|
this._length = this._finalText.length;
|
|
}
|
|
}
|
|
,loadDefaultSound: function() {
|
|
this._sound = flixel_FlxG.sound.load(new flixel_addons_text_TypeSound());
|
|
}
|
|
,__class__: flixel_addons_text_FlxTypeText
|
|
});
|
|
var lime_math_Vector2 = function(x,y) {
|
|
if(y == null) {
|
|
y = 0;
|
|
}
|
|
if(x == null) {
|
|
x = 0;
|
|
}
|
|
this.x = x;
|
|
this.y = y;
|
|
};
|
|
$hxClasses["lime.math.Vector2"] = lime_math_Vector2;
|
|
lime_math_Vector2.__name__ = "lime.math.Vector2";
|
|
lime_math_Vector2.distance = function(pt1,pt2) {
|
|
var dx = pt1.x - pt2.x;
|
|
var dy = pt1.y - pt2.y;
|
|
return Math.sqrt(dx * dx + dy * dy);
|
|
};
|
|
lime_math_Vector2.interpolate = function(pt1,pt2,f,result) {
|
|
if(result == null) {
|
|
result = new lime_math_Vector2();
|
|
}
|
|
result.x = pt2.x + f * (pt1.x - pt2.x);
|
|
result.y = pt2.y + f * (pt1.y - pt2.y);
|
|
return result;
|
|
};
|
|
lime_math_Vector2.polar = function(len,angle,result) {
|
|
if(result == null) {
|
|
result = new lime_math_Vector2();
|
|
}
|
|
var ya = len * Math.sin(angle);
|
|
result.x = len * Math.cos(angle);
|
|
result.y = ya;
|
|
return result;
|
|
};
|
|
lime_math_Vector2.prototype = {
|
|
x: null
|
|
,y: null
|
|
,add: function(v,result) {
|
|
if(result == null) {
|
|
result = new lime_math_Vector2();
|
|
}
|
|
result.x = v.x + this.x;
|
|
result.y = v.y + this.y;
|
|
return result;
|
|
}
|
|
,clone: function() {
|
|
return new lime_math_Vector2(this.x,this.y);
|
|
}
|
|
,equals: function(toCompare) {
|
|
if(toCompare != null && toCompare.x == this.x) {
|
|
return toCompare.y == this.y;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,normalize: function(thickness) {
|
|
if(this.x == 0 && this.y == 0) {
|
|
return;
|
|
} else {
|
|
var norm = thickness / Math.sqrt(this.x * this.x + this.y * this.y);
|
|
this.x *= norm;
|
|
this.y *= norm;
|
|
}
|
|
}
|
|
,offset: function(dx,dy) {
|
|
this.x += dx;
|
|
this.y += dy;
|
|
}
|
|
,setTo: function(xa,ya) {
|
|
this.x = xa;
|
|
this.y = ya;
|
|
}
|
|
,subtract: function(v,result) {
|
|
if(result == null) {
|
|
result = new lime_math_Vector2();
|
|
}
|
|
result.x = this.x - v.x;
|
|
result.y = this.y - v.y;
|
|
return result;
|
|
}
|
|
,__toFlashPoint: function() {
|
|
return null;
|
|
}
|
|
,get_length: function() {
|
|
return Math.sqrt(this.x * this.x + this.y * this.y);
|
|
}
|
|
,get_lengthSquared: function() {
|
|
return this.x * this.x + this.y * this.y;
|
|
}
|
|
,__class__: lime_math_Vector2
|
|
,__properties__: {get_lengthSquared:"get_lengthSquared",get_length:"get_length"}
|
|
};
|
|
var openfl_display_BitmapData = function(width,height,transparent,fillColor) {
|
|
if(fillColor == null) {
|
|
fillColor = -1;
|
|
}
|
|
if(transparent == null) {
|
|
transparent = true;
|
|
}
|
|
this.transparent = transparent;
|
|
if(width == null) {
|
|
width = 0;
|
|
}
|
|
if(height == null) {
|
|
height = 0;
|
|
}
|
|
if(width < 0) {
|
|
width = 0;
|
|
}
|
|
if(height < 0) {
|
|
height = 0;
|
|
}
|
|
this.width = width;
|
|
this.height = height;
|
|
this.rect = new openfl_geom_Rectangle(0,0,width,height);
|
|
this.__textureWidth = width;
|
|
this.__textureHeight = height;
|
|
if(width > 0 && height > 0) {
|
|
if(transparent) {
|
|
if((fillColor & -16777216) == 0) {
|
|
fillColor = 0;
|
|
}
|
|
} else {
|
|
fillColor = -16777216 | fillColor & 16777215;
|
|
}
|
|
fillColor = fillColor << 8 | fillColor >>> 24 & 255;
|
|
this.image = new lime_graphics_Image(null,0,0,width,height,fillColor);
|
|
this.image.set_transparent(transparent);
|
|
this.__isValid = true;
|
|
this.readable = true;
|
|
}
|
|
this.__renderTransform = new openfl_geom_Matrix();
|
|
this.__worldAlpha = 1;
|
|
this.__worldTransform = new openfl_geom_Matrix();
|
|
this.__worldColorTransform = new openfl_geom_ColorTransform();
|
|
this.__renderable = true;
|
|
};
|
|
$hxClasses["openfl.display.BitmapData"] = openfl_display_BitmapData;
|
|
openfl_display_BitmapData.__name__ = "openfl.display.BitmapData";
|
|
openfl_display_BitmapData.__interfaces__ = [openfl_display_IBitmapDrawable];
|
|
openfl_display_BitmapData.__textureFormat = null;
|
|
openfl_display_BitmapData.__textureInternalFormat = null;
|
|
openfl_display_BitmapData.fromBase64 = function(base64,type) {
|
|
return null;
|
|
};
|
|
openfl_display_BitmapData.fromBytes = function(bytes,rawAlpha) {
|
|
return null;
|
|
};
|
|
openfl_display_BitmapData.fromCanvas = function(canvas,transparent) {
|
|
if(transparent == null) {
|
|
transparent = true;
|
|
}
|
|
if(canvas == null) {
|
|
return null;
|
|
}
|
|
var bitmapData = new openfl_display_BitmapData(0,0,transparent,0);
|
|
bitmapData.__fromImage(lime_graphics_Image.fromCanvas(canvas));
|
|
bitmapData.image.set_transparent(transparent);
|
|
return bitmapData;
|
|
};
|
|
openfl_display_BitmapData.fromFile = function(path) {
|
|
return null;
|
|
};
|
|
openfl_display_BitmapData.fromImage = function(image,transparent) {
|
|
if(transparent == null) {
|
|
transparent = true;
|
|
}
|
|
if(image == null || image.buffer == null) {
|
|
return null;
|
|
}
|
|
var bitmapData = new openfl_display_BitmapData(0,0,transparent,0);
|
|
bitmapData.__fromImage(image);
|
|
bitmapData.image.set_transparent(transparent);
|
|
if(bitmapData.image != null) {
|
|
return bitmapData;
|
|
} else {
|
|
return null;
|
|
}
|
|
};
|
|
openfl_display_BitmapData.fromTexture = function(texture) {
|
|
if(texture == null) {
|
|
return null;
|
|
}
|
|
var bitmapData = new openfl_display_BitmapData(texture.__width,texture.__height,true,0);
|
|
bitmapData.readable = false;
|
|
bitmapData.__texture = texture;
|
|
bitmapData.__textureContext = texture.__textureContext;
|
|
bitmapData.image = null;
|
|
return bitmapData;
|
|
};
|
|
openfl_display_BitmapData.loadFromBase64 = function(base64,type) {
|
|
return lime_graphics_Image.loadFromBase64(base64,type).then(function(image) {
|
|
return lime_app_Future.withValue(openfl_display_BitmapData.fromImage(image));
|
|
});
|
|
};
|
|
openfl_display_BitmapData.loadFromBytes = function(bytes,rawAlpha) {
|
|
return lime_graphics_Image.loadFromBytes(openfl_utils_ByteArray.toBytes(bytes)).then(function(image) {
|
|
var bitmapData = openfl_display_BitmapData.fromImage(image);
|
|
if(rawAlpha != null) {
|
|
bitmapData.__applyAlpha(rawAlpha);
|
|
}
|
|
return lime_app_Future.withValue(bitmapData);
|
|
});
|
|
};
|
|
openfl_display_BitmapData.loadFromFile = function(path) {
|
|
return lime_graphics_Image.loadFromFile(path).then(function(image) {
|
|
return lime_app_Future.withValue(openfl_display_BitmapData.fromImage(image));
|
|
});
|
|
};
|
|
openfl_display_BitmapData.prototype = {
|
|
height: null
|
|
,image: null
|
|
,readable: null
|
|
,rect: null
|
|
,transparent: null
|
|
,width: null
|
|
,__blendMode: null
|
|
,__framebuffer: null
|
|
,__framebufferContext: null
|
|
,__indexBuffer: null
|
|
,__indexBufferContext: null
|
|
,__indexBufferData: null
|
|
,__indexBufferGrid: null
|
|
,__isMask: null
|
|
,__isValid: null
|
|
,__mask: null
|
|
,__renderable: null
|
|
,__renderTransform: null
|
|
,__scrollRect: null
|
|
,__stencilBuffer: null
|
|
,__surface: null
|
|
,__texture: null
|
|
,__textureContext: null
|
|
,__textureHeight: null
|
|
,__textureVersion: null
|
|
,__textureWidth: null
|
|
,__transform: null
|
|
,__uvRect: null
|
|
,__vertexBuffer: null
|
|
,__vertexBufferContext: null
|
|
,__vertexBufferData: null
|
|
,__vertexBufferGrid: null
|
|
,__vertexBufferHeight: null
|
|
,__vertexBufferScaleX: null
|
|
,__vertexBufferScaleY: null
|
|
,__vertexBufferWidth: null
|
|
,__worldAlpha: null
|
|
,__worldColorTransform: null
|
|
,__worldTransform: null
|
|
,applyFilter: function(sourceBitmapData,sourceRect,destPoint,filter) {
|
|
if(!this.readable || sourceBitmapData == null || !sourceBitmapData.readable) {
|
|
return;
|
|
}
|
|
var needSecondBitmapData = filter.__needSecondBitmapData;
|
|
var needCopyOfOriginal = filter.__preserveObject;
|
|
var bitmapData2 = null;
|
|
var bitmapData3 = null;
|
|
if(needSecondBitmapData) {
|
|
bitmapData2 = new openfl_display_BitmapData(this.width,this.height,true,0);
|
|
} else {
|
|
bitmapData2 = this;
|
|
}
|
|
if(needCopyOfOriginal) {
|
|
bitmapData3 = new openfl_display_BitmapData(this.width,this.height,true,0);
|
|
}
|
|
if(filter.__preserveObject) {
|
|
bitmapData3.copyPixels(this,this.rect,destPoint);
|
|
}
|
|
var lastBitmap = filter.__applyFilter(bitmapData2,this,sourceRect,destPoint);
|
|
if(filter.__preserveObject) {
|
|
lastBitmap.draw(bitmapData3,null,null);
|
|
}
|
|
if(needSecondBitmapData && lastBitmap == bitmapData2) {
|
|
bitmapData2.image.version = this.image.version;
|
|
this.image = bitmapData2.image;
|
|
}
|
|
this.image.dirty = true;
|
|
this.image.version++;
|
|
}
|
|
,clone: function() {
|
|
var bitmapData;
|
|
if(!this.__isValid) {
|
|
bitmapData = new openfl_display_BitmapData(this.width,this.height,this.transparent,0);
|
|
} else if(!this.readable && this.image == null) {
|
|
bitmapData = new openfl_display_BitmapData(0,0,this.transparent,0);
|
|
bitmapData.width = this.width;
|
|
bitmapData.height = this.height;
|
|
bitmapData.__textureWidth = this.__textureWidth;
|
|
bitmapData.__textureHeight = this.__textureHeight;
|
|
bitmapData.rect.copyFrom(this.rect);
|
|
bitmapData.__framebuffer = this.__framebuffer;
|
|
bitmapData.__framebufferContext = this.__framebufferContext;
|
|
bitmapData.__texture = this.__texture;
|
|
bitmapData.__textureContext = this.__textureContext;
|
|
bitmapData.__isValid = true;
|
|
} else {
|
|
bitmapData = openfl_display_BitmapData.fromImage(this.image.clone(),this.transparent);
|
|
}
|
|
bitmapData.__worldTransform.copyFrom(this.__worldTransform);
|
|
bitmapData.__renderTransform.copyFrom(this.__renderTransform);
|
|
return bitmapData;
|
|
}
|
|
,colorTransform: function(rect,colorTransform) {
|
|
if(!this.readable) {
|
|
return;
|
|
}
|
|
this.image.colorTransform(rect.__toLimeRectangle(),colorTransform.__toLimeColorMatrix());
|
|
}
|
|
,compare: function(otherBitmapData) {
|
|
if(otherBitmapData == this) {
|
|
return 0;
|
|
} else if(otherBitmapData == null) {
|
|
return -1;
|
|
} else if(this.readable == false || otherBitmapData.readable == false) {
|
|
return -2;
|
|
} else if(this.width != otherBitmapData.width) {
|
|
return -3;
|
|
} else if(this.height != otherBitmapData.height) {
|
|
return -4;
|
|
}
|
|
if(this.image != null && otherBitmapData.image != null && this.image.get_format() == otherBitmapData.image.get_format()) {
|
|
var bytes = this.image.get_data();
|
|
var otherBytes = otherBitmapData.image.get_data();
|
|
var equal = true;
|
|
var _g = 0;
|
|
var _g1 = bytes.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(bytes[i] != otherBytes[i]) {
|
|
equal = false;
|
|
break;
|
|
}
|
|
}
|
|
if(equal) {
|
|
return 0;
|
|
}
|
|
}
|
|
var bitmapData = null;
|
|
var foundDifference;
|
|
var pixel;
|
|
var otherPixel;
|
|
var comparePixel;
|
|
var r;
|
|
var g;
|
|
var b;
|
|
var a;
|
|
var _g = 0;
|
|
var _g1 = this.height;
|
|
while(_g < _g1) {
|
|
var y = _g++;
|
|
var _g2 = 0;
|
|
var _g3 = this.width;
|
|
while(_g2 < _g3) {
|
|
var x = _g2++;
|
|
foundDifference = false;
|
|
pixel = this.getPixel32(x,y);
|
|
otherPixel = otherBitmapData.getPixel32(x,y);
|
|
comparePixel = 0;
|
|
if(pixel != otherPixel) {
|
|
r = (pixel >>> 16 & 255) - (otherPixel >>> 16 & 255);
|
|
g = (pixel >>> 8 & 255) - (otherPixel >>> 8 & 255);
|
|
b = (pixel & 255) - (otherPixel & 255);
|
|
if(r < 0) {
|
|
r *= -1;
|
|
}
|
|
if(g < 0) {
|
|
g *= -1;
|
|
}
|
|
if(b < 0) {
|
|
b *= -1;
|
|
}
|
|
if(r == 0 && g == 0 && b == 0) {
|
|
a = (pixel >>> 24 & 255) - (otherPixel >>> 24 & 255);
|
|
if(a != 0) {
|
|
comparePixel = (comparePixel >>> 24 & 255 & 255) << 24 | 16711680 | (comparePixel >>> 8 & 255 & 255) << 8 | comparePixel & 255 & 255;
|
|
comparePixel = (comparePixel >>> 24 & 255 & 255) << 24 | (comparePixel >>> 16 & 255 & 255) << 16 | 65280 | comparePixel & 255 & 255;
|
|
comparePixel = (comparePixel >>> 24 & 255 & 255) << 24 | (comparePixel >>> 16 & 255 & 255) << 16 | (comparePixel >>> 8 & 255 & 255) << 8 | 255;
|
|
comparePixel = (a & 255) << 24 | (comparePixel >>> 16 & 255 & 255) << 16 | (comparePixel >>> 8 & 255 & 255) << 8 | comparePixel & 255 & 255;
|
|
foundDifference = true;
|
|
}
|
|
} else {
|
|
comparePixel = (comparePixel >>> 24 & 255 & 255) << 24 | (r & 255) << 16 | (comparePixel >>> 8 & 255 & 255) << 8 | comparePixel & 255 & 255;
|
|
comparePixel = (comparePixel >>> 24 & 255 & 255) << 24 | (comparePixel >>> 16 & 255 & 255) << 16 | (g & 255) << 8 | comparePixel & 255 & 255;
|
|
comparePixel = (comparePixel >>> 24 & 255 & 255) << 24 | (comparePixel >>> 16 & 255 & 255) << 16 | (comparePixel >>> 8 & 255 & 255) << 8 | b & 255;
|
|
comparePixel = -16777216 | (comparePixel >>> 16 & 255 & 255) << 16 | (comparePixel >>> 8 & 255 & 255) << 8 | comparePixel & 255 & 255;
|
|
foundDifference = true;
|
|
}
|
|
}
|
|
if(foundDifference) {
|
|
if(bitmapData == null) {
|
|
bitmapData = new openfl_display_BitmapData(this.width,this.height,this.transparent || otherBitmapData.transparent,0);
|
|
}
|
|
bitmapData.setPixel32(x,y,comparePixel);
|
|
}
|
|
}
|
|
}
|
|
if(bitmapData == null) {
|
|
return 0;
|
|
}
|
|
return bitmapData;
|
|
}
|
|
,copyChannel: function(sourceBitmapData,sourceRect,destPoint,sourceChannel,destChannel) {
|
|
if(!this.readable) {
|
|
return;
|
|
}
|
|
var sourceChannel1;
|
|
switch(sourceChannel) {
|
|
case 1:
|
|
sourceChannel1 = lime_graphics_ImageChannel.RED;
|
|
break;
|
|
case 2:
|
|
sourceChannel1 = lime_graphics_ImageChannel.GREEN;
|
|
break;
|
|
case 4:
|
|
sourceChannel1 = lime_graphics_ImageChannel.BLUE;
|
|
break;
|
|
case 8:
|
|
sourceChannel1 = lime_graphics_ImageChannel.ALPHA;
|
|
break;
|
|
default:
|
|
return;
|
|
}
|
|
var destChannel1;
|
|
switch(destChannel) {
|
|
case 1:
|
|
destChannel1 = lime_graphics_ImageChannel.RED;
|
|
break;
|
|
case 2:
|
|
destChannel1 = lime_graphics_ImageChannel.GREEN;
|
|
break;
|
|
case 4:
|
|
destChannel1 = lime_graphics_ImageChannel.BLUE;
|
|
break;
|
|
case 8:
|
|
destChannel1 = lime_graphics_ImageChannel.ALPHA;
|
|
break;
|
|
default:
|
|
return;
|
|
}
|
|
this.image.copyChannel(sourceBitmapData.image,sourceRect.__toLimeRectangle(),destPoint.__toLimeVector2(),sourceChannel1,destChannel1);
|
|
}
|
|
,copyPixels: function(sourceBitmapData,sourceRect,destPoint,alphaBitmapData,alphaPoint,mergeAlpha) {
|
|
if(mergeAlpha == null) {
|
|
mergeAlpha = false;
|
|
}
|
|
if(!this.readable || sourceBitmapData == null) {
|
|
return;
|
|
}
|
|
if(alphaPoint != null) {
|
|
openfl_display_BitmapData.__tempVector.x = alphaPoint.x;
|
|
openfl_display_BitmapData.__tempVector.y = alphaPoint.y;
|
|
}
|
|
this.image.copyPixels(sourceBitmapData.image,sourceRect.__toLimeRectangle(),destPoint.__toLimeVector2(),alphaBitmapData != null ? alphaBitmapData.image : null,alphaPoint != null ? openfl_display_BitmapData.__tempVector : null,mergeAlpha);
|
|
}
|
|
,dispose: function() {
|
|
this.image = null;
|
|
this.width = 0;
|
|
this.height = 0;
|
|
this.rect = null;
|
|
this.__isValid = false;
|
|
this.readable = false;
|
|
this.__surface = null;
|
|
this.__vertexBuffer = null;
|
|
this.__framebuffer = null;
|
|
this.__framebufferContext = null;
|
|
this.__texture = null;
|
|
this.__textureContext = null;
|
|
}
|
|
,disposeImage: function() {
|
|
this.readable = false;
|
|
}
|
|
,draw: function(source,matrix,colorTransform,blendMode,clipRect,smoothing) {
|
|
if(smoothing == null) {
|
|
smoothing = false;
|
|
}
|
|
if(source == null) {
|
|
return;
|
|
}
|
|
source.__update(false,true);
|
|
var transform = openfl_geom_Matrix.__pool.get();
|
|
transform.copyFrom(source.__renderTransform);
|
|
transform.invert();
|
|
if(matrix != null) {
|
|
transform.concat(matrix);
|
|
}
|
|
var clipMatrix = null;
|
|
if(clipRect != null) {
|
|
clipMatrix = openfl_geom_Matrix.__pool.get();
|
|
clipMatrix.copyFrom(transform);
|
|
clipMatrix.invert();
|
|
}
|
|
var _colorTransform = new openfl_geom_ColorTransform();
|
|
_colorTransform.__copyFrom(source.__worldColorTransform);
|
|
_colorTransform.__invert();
|
|
if(!this.readable && openfl_Lib.get_current().stage.context3D != null) {
|
|
if(this.__textureContext == null) {
|
|
this.__textureContext = lime_app_Application.current.__window.context;
|
|
}
|
|
if(colorTransform != null) {
|
|
_colorTransform.__combine(colorTransform);
|
|
}
|
|
var renderer = new openfl_display_OpenGLRenderer(openfl_Lib.get_current().stage.context3D,this);
|
|
renderer.__allowSmoothing = smoothing;
|
|
renderer.__overrideBlendMode = blendMode;
|
|
renderer.__worldTransform = transform;
|
|
renderer.__worldAlpha = 1 / source.__worldAlpha;
|
|
renderer.__worldColorTransform = _colorTransform;
|
|
renderer.__resize(this.width,this.height);
|
|
if(clipRect != null) {
|
|
renderer.__pushMaskRect(clipRect,clipMatrix);
|
|
}
|
|
this.__drawGL(source,renderer);
|
|
if(clipRect != null) {
|
|
renderer.__popMaskRect();
|
|
openfl_geom_Matrix.__pool.release(clipMatrix);
|
|
}
|
|
} else {
|
|
if(colorTransform != null) {
|
|
var bounds = openfl_geom_Rectangle.__pool.get();
|
|
var boundsMatrix = openfl_geom_Matrix.__pool.get();
|
|
source.__getBounds(bounds,boundsMatrix);
|
|
var width = Math.ceil(bounds.width);
|
|
var height = Math.ceil(bounds.height);
|
|
boundsMatrix.tx = -bounds.x;
|
|
boundsMatrix.ty = -bounds.y;
|
|
var copy = new openfl_display_BitmapData(width,height,true,0);
|
|
copy.draw(source,boundsMatrix);
|
|
copy.colorTransform(copy.rect,colorTransform);
|
|
copy.__renderTransform.identity();
|
|
copy.__renderTransform.tx = bounds.x;
|
|
copy.__renderTransform.ty = bounds.y;
|
|
copy.__renderTransform.concat(source.__renderTransform);
|
|
copy.__worldAlpha = source.__worldAlpha;
|
|
copy.__worldColorTransform.__copyFrom(source.__worldColorTransform);
|
|
source = copy;
|
|
openfl_geom_Rectangle.__pool.release(bounds);
|
|
openfl_geom_Matrix.__pool.release(boundsMatrix);
|
|
}
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(this.image);
|
|
var renderer = new openfl_display_CanvasRenderer(this.image.buffer.__srcContext);
|
|
renderer.__allowSmoothing = smoothing;
|
|
renderer.__overrideBlendMode = blendMode;
|
|
renderer.__worldTransform = transform;
|
|
renderer.__worldAlpha = 1 / source.__worldAlpha;
|
|
renderer.__worldColorTransform = _colorTransform;
|
|
if(clipRect != null) {
|
|
renderer.__pushMaskRect(clipRect,clipMatrix);
|
|
}
|
|
this.__drawCanvas(source,renderer);
|
|
if(clipRect != null) {
|
|
renderer.__popMaskRect();
|
|
openfl_geom_Matrix.__pool.release(clipMatrix);
|
|
}
|
|
}
|
|
openfl_geom_Matrix.__pool.release(transform);
|
|
}
|
|
,drawWithQuality: function(source,matrix,colorTransform,blendMode,clipRect,smoothing,quality) {
|
|
if(smoothing == null) {
|
|
smoothing = false;
|
|
}
|
|
this.draw(source,matrix,colorTransform,blendMode,clipRect,quality != 2 && smoothing);
|
|
}
|
|
,encode: function(rect,compressor,byteArray) {
|
|
if(!this.readable || rect == null) {
|
|
byteArray = null;
|
|
return byteArray;
|
|
}
|
|
if(byteArray == null) {
|
|
var this1 = new openfl_utils_ByteArrayData(0);
|
|
byteArray = this1;
|
|
}
|
|
var image = this.image;
|
|
if(!rect.equals(this.rect)) {
|
|
var matrix = openfl_geom_Matrix.__pool.get();
|
|
matrix.tx = Math.round(-rect.x);
|
|
matrix.ty = Math.round(-rect.y);
|
|
var bitmapData = new openfl_display_BitmapData(Math.ceil(rect.width),Math.ceil(rect.height),true,0);
|
|
bitmapData.draw(this,matrix);
|
|
image = bitmapData.image;
|
|
openfl_geom_Matrix.__pool.release(matrix);
|
|
}
|
|
if(((compressor) instanceof openfl_display_PNGEncoderOptions)) {
|
|
byteArray.writeBytes(openfl_utils_ByteArray.fromBytes(image.encode(lime_graphics_ImageFileFormat.PNG)),0,0);
|
|
return byteArray;
|
|
} else if(((compressor) instanceof openfl_display_JPEGEncoderOptions)) {
|
|
byteArray.writeBytes(openfl_utils_ByteArray.fromBytes(image.encode(lime_graphics_ImageFileFormat.JPEG,(js_Boot.__cast(compressor , openfl_display_JPEGEncoderOptions)).quality)),0,0);
|
|
return byteArray;
|
|
}
|
|
byteArray = null;
|
|
return byteArray;
|
|
}
|
|
,fillRect: function(rect,color) {
|
|
this.__fillRect(rect,color,true);
|
|
}
|
|
,floodFill: function(x,y,color) {
|
|
if(!this.readable) {
|
|
return;
|
|
}
|
|
this.image.floodFill(x,y,color,1);
|
|
}
|
|
,generateFilterRect: function(sourceRect,filter) {
|
|
return sourceRect.clone();
|
|
}
|
|
,getIndexBuffer: function(context,scale9Grid) {
|
|
var gl = context.gl;
|
|
if(this.__indexBuffer == null || this.__indexBufferContext != context.__context || scale9Grid != null && this.__indexBufferGrid == null || this.__indexBufferGrid != null && !this.__indexBufferGrid.equals(scale9Grid)) {
|
|
this.__indexBufferContext = context.__context;
|
|
this.__indexBuffer = null;
|
|
if(scale9Grid != null) {
|
|
if(this.__indexBufferGrid == null) {
|
|
this.__indexBufferGrid = new openfl_geom_Rectangle();
|
|
}
|
|
this.__indexBufferGrid.copyFrom(scale9Grid);
|
|
var centerX = scale9Grid.width;
|
|
var centerY = scale9Grid.height;
|
|
if(centerX != 0 && centerY != 0) {
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = null;
|
|
var len = null;
|
|
var this1 = new Uint16Array(54);
|
|
this.__indexBufferData = this1;
|
|
this.__indexBufferData[0] = 0;
|
|
this.__indexBufferData[1] = 1;
|
|
this.__indexBufferData[2] = 2;
|
|
this.__indexBufferData[3] = 2;
|
|
this.__indexBufferData[4] = 1;
|
|
this.__indexBufferData[5] = 3;
|
|
this.__indexBufferData[6] = 4;
|
|
this.__indexBufferData[7] = 0;
|
|
this.__indexBufferData[8] = 5;
|
|
this.__indexBufferData[9] = 5;
|
|
this.__indexBufferData[10] = 0;
|
|
this.__indexBufferData[11] = 2;
|
|
this.__indexBufferData[12] = 6;
|
|
this.__indexBufferData[13] = 4;
|
|
this.__indexBufferData[14] = 7;
|
|
this.__indexBufferData[15] = 7;
|
|
this.__indexBufferData[16] = 4;
|
|
this.__indexBufferData[17] = 5;
|
|
this.__indexBufferData[18] = 8;
|
|
this.__indexBufferData[19] = 9;
|
|
this.__indexBufferData[20] = 0;
|
|
this.__indexBufferData[21] = 0;
|
|
this.__indexBufferData[22] = 9;
|
|
this.__indexBufferData[23] = 1;
|
|
this.__indexBufferData[24] = 10;
|
|
this.__indexBufferData[25] = 8;
|
|
this.__indexBufferData[26] = 4;
|
|
this.__indexBufferData[27] = 4;
|
|
this.__indexBufferData[28] = 8;
|
|
this.__indexBufferData[29] = 0;
|
|
this.__indexBufferData[30] = 11;
|
|
this.__indexBufferData[31] = 10;
|
|
this.__indexBufferData[32] = 6;
|
|
this.__indexBufferData[33] = 6;
|
|
this.__indexBufferData[34] = 10;
|
|
this.__indexBufferData[35] = 4;
|
|
this.__indexBufferData[36] = 12;
|
|
this.__indexBufferData[37] = 13;
|
|
this.__indexBufferData[38] = 8;
|
|
this.__indexBufferData[39] = 8;
|
|
this.__indexBufferData[40] = 13;
|
|
this.__indexBufferData[41] = 9;
|
|
this.__indexBufferData[42] = 14;
|
|
this.__indexBufferData[43] = 12;
|
|
this.__indexBufferData[44] = 10;
|
|
this.__indexBufferData[45] = 10;
|
|
this.__indexBufferData[46] = 12;
|
|
this.__indexBufferData[47] = 8;
|
|
this.__indexBufferData[48] = 15;
|
|
this.__indexBufferData[49] = 14;
|
|
this.__indexBufferData[50] = 11;
|
|
this.__indexBufferData[51] = 11;
|
|
this.__indexBufferData[52] = 14;
|
|
this.__indexBufferData[53] = 10;
|
|
this.__indexBuffer = context.createIndexBuffer(54);
|
|
} else if(centerX == 0 && centerY != 0) {
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = null;
|
|
var len = null;
|
|
var this1 = new Uint16Array(18);
|
|
this.__indexBufferData = this1;
|
|
this.__indexBufferData[0] = 0;
|
|
this.__indexBufferData[1] = 1;
|
|
this.__indexBufferData[2] = 2;
|
|
this.__indexBufferData[3] = 2;
|
|
this.__indexBufferData[4] = 1;
|
|
this.__indexBufferData[5] = 3;
|
|
this.__indexBufferData[6] = 4;
|
|
this.__indexBufferData[7] = 5;
|
|
this.__indexBufferData[8] = 0;
|
|
this.__indexBufferData[9] = 0;
|
|
this.__indexBufferData[10] = 5;
|
|
this.__indexBufferData[11] = 1;
|
|
this.__indexBufferData[12] = 6;
|
|
this.__indexBufferData[13] = 7;
|
|
this.__indexBufferData[14] = 4;
|
|
this.__indexBufferData[15] = 4;
|
|
this.__indexBufferData[16] = 7;
|
|
this.__indexBufferData[17] = 5;
|
|
this.__indexBuffer = context.createIndexBuffer(18);
|
|
} else if(centerX != 0 && centerY == 0) {
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = null;
|
|
var len = null;
|
|
var this1 = new Uint16Array(18);
|
|
this.__indexBufferData = this1;
|
|
this.__indexBufferData[0] = 0;
|
|
this.__indexBufferData[1] = 1;
|
|
this.__indexBufferData[2] = 2;
|
|
this.__indexBufferData[3] = 2;
|
|
this.__indexBufferData[4] = 1;
|
|
this.__indexBufferData[5] = 3;
|
|
this.__indexBufferData[6] = 4;
|
|
this.__indexBufferData[7] = 0;
|
|
this.__indexBufferData[8] = 5;
|
|
this.__indexBufferData[9] = 5;
|
|
this.__indexBufferData[10] = 0;
|
|
this.__indexBufferData[11] = 2;
|
|
this.__indexBufferData[12] = 6;
|
|
this.__indexBufferData[13] = 4;
|
|
this.__indexBufferData[14] = 7;
|
|
this.__indexBufferData[15] = 7;
|
|
this.__indexBufferData[16] = 4;
|
|
this.__indexBufferData[17] = 5;
|
|
this.__indexBuffer = context.createIndexBuffer(18);
|
|
}
|
|
} else {
|
|
this.__indexBufferGrid = null;
|
|
}
|
|
if(this.__indexBuffer == null) {
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = null;
|
|
var len = null;
|
|
var this1 = new Uint16Array(6);
|
|
this.__indexBufferData = this1;
|
|
this.__indexBufferData[0] = 0;
|
|
this.__indexBufferData[1] = 1;
|
|
this.__indexBufferData[2] = 2;
|
|
this.__indexBufferData[3] = 2;
|
|
this.__indexBufferData[4] = 1;
|
|
this.__indexBufferData[5] = 3;
|
|
this.__indexBuffer = context.createIndexBuffer(6);
|
|
}
|
|
this.__indexBuffer.uploadFromTypedArray(this.__indexBufferData);
|
|
}
|
|
return this.__indexBuffer;
|
|
}
|
|
,getVertexBuffer: function(context,scale9Grid,targetObject) {
|
|
var gl = context.gl;
|
|
if(this.__vertexBuffer == null || this.__vertexBufferContext != context.__context || scale9Grid != null && this.__vertexBufferGrid == null || this.__vertexBufferGrid != null && !this.__vertexBufferGrid.equals(scale9Grid) || targetObject != null && (this.__vertexBufferWidth != targetObject.get_width() || this.__vertexBufferHeight != targetObject.get_height() || this.__vertexBufferScaleX != targetObject.get_scaleX() || this.__vertexBufferScaleY != targetObject.get_scaleY())) {
|
|
this.__uvRect = new openfl_geom_Rectangle(0,0,this.width,this.height);
|
|
var uvWidth = 1;
|
|
var uvHeight = 1;
|
|
this.__vertexBufferContext = context.__context;
|
|
this.__vertexBuffer = null;
|
|
if(targetObject != null) {
|
|
this.__vertexBufferWidth = targetObject.get_width();
|
|
this.__vertexBufferHeight = targetObject.get_height();
|
|
this.__vertexBufferScaleX = targetObject.get_scaleX();
|
|
this.__vertexBufferScaleY = targetObject.get_scaleY();
|
|
}
|
|
if(scale9Grid != null && targetObject != null) {
|
|
if(this.__vertexBufferGrid == null) {
|
|
this.__vertexBufferGrid = new openfl_geom_Rectangle();
|
|
}
|
|
this.__vertexBufferGrid.copyFrom(scale9Grid);
|
|
this.__vertexBufferWidth = targetObject.get_width();
|
|
this.__vertexBufferHeight = targetObject.get_height();
|
|
this.__vertexBufferScaleX = targetObject.get_scaleX();
|
|
this.__vertexBufferScaleY = targetObject.get_scaleY();
|
|
var centerX = scale9Grid.width;
|
|
var centerY = scale9Grid.height;
|
|
if(centerX != 0 && centerY != 0) {
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = null;
|
|
var len = null;
|
|
var this1 = new Float32Array(224);
|
|
this.__vertexBufferData = this1;
|
|
var left = scale9Grid.x;
|
|
var top = scale9Grid.y;
|
|
var right = this.width - centerX - left;
|
|
var bottom = this.height - centerY - top;
|
|
var uvLeft = left / this.width;
|
|
var uvTop = top / this.height;
|
|
var uvCenterX = centerX / this.width;
|
|
var uvCenterY = centerY / this.height;
|
|
var uvRight = right / this.width;
|
|
var uvBottom = bottom / this.height;
|
|
var renderedLeft = left / targetObject.get_scaleX();
|
|
var renderedTop = top / targetObject.get_scaleY();
|
|
var renderedRight = right / targetObject.get_scaleX();
|
|
var renderedBottom = bottom / targetObject.get_scaleY();
|
|
var renderedCenterX = targetObject.get_width() / targetObject.get_scaleX() - renderedLeft - renderedRight;
|
|
var renderedCenterY = targetObject.get_height() / targetObject.get_scaleY() - renderedTop - renderedBottom;
|
|
this.__vertexBufferData[0] = renderedLeft;
|
|
this.__vertexBufferData[1] = renderedTop;
|
|
this.__vertexBufferData[3] = uvWidth * uvLeft;
|
|
this.__vertexBufferData[4] = uvHeight * uvTop;
|
|
this.__vertexBufferData[15] = renderedTop;
|
|
this.__vertexBufferData[18] = uvHeight * uvTop;
|
|
this.__vertexBufferData[28] = renderedLeft;
|
|
this.__vertexBufferData[31] = uvWidth * uvLeft;
|
|
this.__vertexBufferData[56] = renderedLeft + renderedCenterX;
|
|
this.__vertexBufferData[57] = renderedTop;
|
|
this.__vertexBufferData[59] = uvWidth * (uvLeft + uvCenterX);
|
|
this.__vertexBufferData[60] = uvHeight * uvTop;
|
|
this.__vertexBufferData[70] = renderedLeft + renderedCenterX;
|
|
this.__vertexBufferData[73] = uvWidth * (uvLeft + uvCenterX);
|
|
this.__vertexBufferData[84] = this.width;
|
|
this.__vertexBufferData[85] = renderedTop;
|
|
this.__vertexBufferData[87] = uvWidth;
|
|
this.__vertexBufferData[88] = uvHeight * uvTop;
|
|
this.__vertexBufferData[98] = this.width;
|
|
this.__vertexBufferData[101] = uvWidth;
|
|
this.__vertexBufferData[112] = renderedLeft;
|
|
this.__vertexBufferData[113] = renderedTop + renderedCenterY;
|
|
this.__vertexBufferData[115] = uvWidth * uvLeft;
|
|
this.__vertexBufferData[116] = uvHeight * (uvTop + uvCenterY);
|
|
this.__vertexBufferData[127] = renderedTop + renderedCenterY;
|
|
this.__vertexBufferData[130] = uvHeight * (uvTop + uvCenterY);
|
|
this.__vertexBufferData[140] = renderedLeft + renderedCenterX;
|
|
this.__vertexBufferData[141] = renderedTop + renderedCenterY;
|
|
this.__vertexBufferData[143] = uvWidth * (uvLeft + uvCenterX);
|
|
this.__vertexBufferData[144] = uvHeight * (uvTop + uvCenterY);
|
|
this.__vertexBufferData[154] = this.width;
|
|
this.__vertexBufferData[155] = renderedTop + renderedCenterY;
|
|
this.__vertexBufferData[157] = uvWidth;
|
|
this.__vertexBufferData[158] = uvHeight * (uvTop + uvCenterY);
|
|
this.__vertexBufferData[168] = renderedLeft;
|
|
this.__vertexBufferData[169] = this.height;
|
|
this.__vertexBufferData[171] = uvWidth * uvLeft;
|
|
this.__vertexBufferData[172] = uvHeight;
|
|
this.__vertexBufferData[183] = this.height;
|
|
this.__vertexBufferData[186] = uvHeight;
|
|
this.__vertexBufferData[196] = renderedLeft + renderedCenterX;
|
|
this.__vertexBufferData[197] = this.height;
|
|
this.__vertexBufferData[199] = uvWidth * (uvLeft + uvCenterX);
|
|
this.__vertexBufferData[200] = uvHeight;
|
|
this.__vertexBufferData[210] = this.width;
|
|
this.__vertexBufferData[211] = this.height;
|
|
this.__vertexBufferData[213] = uvWidth;
|
|
this.__vertexBufferData[214] = uvHeight;
|
|
this.__vertexBuffer = context.createVertexBuffer(16,14);
|
|
} else if(centerX == 0 && centerY != 0) {
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = null;
|
|
var len = null;
|
|
var this1 = new Float32Array(112);
|
|
this.__vertexBufferData = this1;
|
|
var top = scale9Grid.y;
|
|
var bottom = this.height - centerY - top;
|
|
var uvTop = top / this.height;
|
|
var uvCenterY = centerY / this.height;
|
|
var uvBottom = bottom / this.height;
|
|
var renderedTop = top / targetObject.get_scaleY();
|
|
var renderedBottom = bottom / targetObject.get_scaleY();
|
|
var renderedCenterY = targetObject.get_height() / targetObject.get_scaleY() - renderedTop - renderedBottom;
|
|
var renderedWidth = targetObject.get_width() / targetObject.get_scaleX();
|
|
this.__vertexBufferData[0] = renderedWidth;
|
|
this.__vertexBufferData[1] = renderedTop;
|
|
this.__vertexBufferData[3] = uvWidth;
|
|
this.__vertexBufferData[4] = uvHeight * uvTop;
|
|
this.__vertexBufferData[15] = renderedTop;
|
|
this.__vertexBufferData[18] = uvHeight * uvTop;
|
|
this.__vertexBufferData[28] = renderedWidth;
|
|
this.__vertexBufferData[31] = uvWidth;
|
|
this.__vertexBufferData[56] = renderedWidth;
|
|
this.__vertexBufferData[57] = renderedTop + renderedCenterY;
|
|
this.__vertexBufferData[59] = uvWidth;
|
|
this.__vertexBufferData[60] = uvHeight * (uvTop + uvCenterY);
|
|
this.__vertexBufferData[71] = renderedTop + renderedCenterY;
|
|
this.__vertexBufferData[74] = uvHeight * (uvTop + uvCenterY);
|
|
this.__vertexBufferData[84] = renderedWidth;
|
|
this.__vertexBufferData[85] = this.height;
|
|
this.__vertexBufferData[87] = uvWidth;
|
|
this.__vertexBufferData[88] = uvHeight;
|
|
this.__vertexBufferData[99] = this.height;
|
|
this.__vertexBufferData[102] = uvHeight;
|
|
this.__vertexBuffer = context.createVertexBuffer(8,14);
|
|
} else if(centerY == 0 && centerX != 0) {
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = null;
|
|
var len = null;
|
|
var this1 = new Float32Array(112);
|
|
this.__vertexBufferData = this1;
|
|
var left = scale9Grid.x;
|
|
var right = this.width - centerX - left;
|
|
var uvLeft = left / this.width;
|
|
var uvCenterX = centerX / this.width;
|
|
var uvRight = right / this.width;
|
|
var renderedLeft = left / targetObject.get_scaleX();
|
|
var renderedRight = right / targetObject.get_scaleX();
|
|
var renderedCenterX = targetObject.get_width() / targetObject.get_scaleX() - renderedLeft - renderedRight;
|
|
var renderedHeight = targetObject.get_height() / targetObject.get_scaleY();
|
|
this.__vertexBufferData[0] = renderedLeft;
|
|
this.__vertexBufferData[1] = renderedHeight;
|
|
this.__vertexBufferData[3] = uvWidth * uvLeft;
|
|
this.__vertexBufferData[4] = uvHeight;
|
|
this.__vertexBufferData[15] = renderedHeight;
|
|
this.__vertexBufferData[18] = uvHeight;
|
|
this.__vertexBufferData[28] = renderedLeft;
|
|
this.__vertexBufferData[31] = uvWidth * uvLeft;
|
|
this.__vertexBufferData[56] = renderedLeft + renderedCenterX;
|
|
this.__vertexBufferData[57] = renderedHeight;
|
|
this.__vertexBufferData[59] = uvWidth * (uvLeft + uvCenterX);
|
|
this.__vertexBufferData[60] = uvHeight;
|
|
this.__vertexBufferData[70] = renderedLeft + renderedCenterX;
|
|
this.__vertexBufferData[73] = uvWidth * (uvLeft + uvCenterX);
|
|
this.__vertexBufferData[84] = this.width;
|
|
this.__vertexBufferData[85] = renderedHeight;
|
|
this.__vertexBufferData[87] = uvWidth;
|
|
this.__vertexBufferData[88] = uvHeight;
|
|
this.__vertexBufferData[98] = this.width;
|
|
this.__vertexBufferData[101] = uvWidth;
|
|
this.__vertexBuffer = context.createVertexBuffer(8,14);
|
|
}
|
|
} else {
|
|
this.__vertexBufferGrid = null;
|
|
}
|
|
if(this.__vertexBuffer == null) {
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = null;
|
|
var len = null;
|
|
var this1 = new Float32Array(56);
|
|
this.__vertexBufferData = this1;
|
|
this.__vertexBufferData[0] = this.width;
|
|
this.__vertexBufferData[1] = this.height;
|
|
this.__vertexBufferData[3] = uvWidth;
|
|
this.__vertexBufferData[4] = uvHeight;
|
|
this.__vertexBufferData[15] = this.height;
|
|
this.__vertexBufferData[18] = uvHeight;
|
|
this.__vertexBufferData[28] = this.width;
|
|
this.__vertexBufferData[31] = uvWidth;
|
|
this.__vertexBuffer = context.createVertexBuffer(3,14);
|
|
}
|
|
this.__vertexBuffer.uploadFromTypedArray(lime_utils_Float32Array.toArrayBufferView(this.__vertexBufferData));
|
|
}
|
|
return this.__vertexBuffer;
|
|
}
|
|
,getColorBoundsRect: function(mask,color,findColor) {
|
|
if(findColor == null) {
|
|
findColor = true;
|
|
}
|
|
if(!this.readable) {
|
|
return new openfl_geom_Rectangle(0,0,this.width,this.height);
|
|
}
|
|
if(!this.transparent || (mask >> 24 & 255) > 0) {
|
|
var color1 = color;
|
|
if((color1 >>> 24 & 255) == 0) {
|
|
color1 = 0;
|
|
}
|
|
}
|
|
var rect = this.image.getColorBoundsRect(mask,color,findColor,1);
|
|
return new openfl_geom_Rectangle(rect.x,rect.y,rect.width,rect.height);
|
|
}
|
|
,getPixel: function(x,y) {
|
|
if(!this.readable) {
|
|
return 0;
|
|
}
|
|
return this.image.getPixel(x,y,1);
|
|
}
|
|
,getPixel32: function(x,y) {
|
|
if(!this.readable) {
|
|
return 0;
|
|
}
|
|
return this.image.getPixel32(x,y,1);
|
|
}
|
|
,getPixels: function(rect) {
|
|
if(!this.readable) {
|
|
return null;
|
|
}
|
|
if(rect == null) {
|
|
rect = this.rect;
|
|
}
|
|
var byteArray = openfl_utils_ByteArray.fromBytes(this.image.getPixels(rect.__toLimeRectangle(),1));
|
|
byteArray.__endian = 0;
|
|
return byteArray;
|
|
}
|
|
,getSurface: function() {
|
|
if(!this.readable) {
|
|
return null;
|
|
}
|
|
if(this.__surface == null) {
|
|
this.__surface = lime_graphics_cairo_CairoImageSurface.fromImage(this.image);
|
|
}
|
|
return this.__surface;
|
|
}
|
|
,getTexture: function(context) {
|
|
if(!this.__isValid) {
|
|
return null;
|
|
}
|
|
if(this.__texture == null || this.__textureContext != context.__context) {
|
|
this.__textureContext = context.__context;
|
|
this.__texture = context.createRectangleTexture(this.width,this.height,1,false);
|
|
this.__textureVersion = -1;
|
|
}
|
|
lime__$internal_graphics_ImageCanvasUtil.sync(this.image,false);
|
|
if(this.image != null && this.image.version > this.__textureVersion) {
|
|
if(this.__surface != null) {
|
|
lime_graphics_cairo_CairoSurface.flush(this.__surface);
|
|
}
|
|
var textureImage = this.image;
|
|
if(!openfl_display3D_textures_TextureBase.__supportsBGRA && textureImage.get_format() != 0) {
|
|
textureImage = textureImage.clone();
|
|
textureImage.set_format(0);
|
|
}
|
|
this.__texture.__uploadFromImage(textureImage);
|
|
this.__textureVersion = this.image.version;
|
|
this.__textureWidth = textureImage.buffer.width;
|
|
this.__textureHeight = textureImage.buffer.height;
|
|
}
|
|
if(!this.readable && this.image != null) {
|
|
this.__surface = null;
|
|
this.image = null;
|
|
}
|
|
return this.__texture;
|
|
}
|
|
,getVector: function(rect) {
|
|
var pixels = this.getPixels(rect);
|
|
var length = UInt.toFloat(openfl_utils_ByteArray.get_length(pixels)) / UInt.toFloat(4) | 0;
|
|
var result = openfl_Vector.toIntVector(null,length,true);
|
|
var _g = 0;
|
|
var _g1 = length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
result.set(i,pixels.readUnsignedInt());
|
|
}
|
|
return result;
|
|
}
|
|
,histogram: function(hRect) {
|
|
var rect = hRect != null ? hRect : new openfl_geom_Rectangle(0,0,this.width,this.height);
|
|
var pixels = this.getPixels(rect);
|
|
var _g = [];
|
|
var _g1 = [];
|
|
var _g2 = 0;
|
|
while(_g2 < 256) {
|
|
var j = _g2++;
|
|
_g1.push(0);
|
|
}
|
|
_g.push(_g1);
|
|
var _g1 = [];
|
|
var _g2 = 0;
|
|
while(_g2 < 256) {
|
|
var j = _g2++;
|
|
_g1.push(0);
|
|
}
|
|
_g.push(_g1);
|
|
var _g1 = [];
|
|
var _g2 = 0;
|
|
while(_g2 < 256) {
|
|
var j = _g2++;
|
|
_g1.push(0);
|
|
}
|
|
_g.push(_g1);
|
|
var _g1 = [];
|
|
var _g2 = 0;
|
|
while(_g2 < 256) {
|
|
var j = _g2++;
|
|
_g1.push(0);
|
|
}
|
|
_g.push(_g1);
|
|
var result = _g;
|
|
var _g = 0;
|
|
var _g1 = openfl_utils_ByteArray.get_length(pixels);
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var result1 = result[i % 4];
|
|
++result1[pixels.readUnsignedByte()];
|
|
}
|
|
return result;
|
|
}
|
|
,hitTest: function(firstPoint,firstAlphaThreshold,secondObject,secondBitmapDataPoint,secondAlphaThreshold) {
|
|
if(secondAlphaThreshold == null) {
|
|
secondAlphaThreshold = 1;
|
|
}
|
|
if(!this.readable) {
|
|
return false;
|
|
}
|
|
if(((secondObject) instanceof openfl_display_Bitmap)) {
|
|
secondObject = (js_Boot.__cast(secondObject , openfl_display_Bitmap)).__bitmapData;
|
|
}
|
|
if(((secondObject) instanceof openfl_geom_Point)) {
|
|
var secondPoint = secondObject;
|
|
var x = secondPoint.x - firstPoint.x | 0;
|
|
var y = secondPoint.y - firstPoint.y | 0;
|
|
if(this.rect.contains(x,y)) {
|
|
var pixel = this.getPixel32(x,y);
|
|
if((pixel >> 24 & 255) > firstAlphaThreshold) {
|
|
return true;
|
|
}
|
|
}
|
|
} else if(((secondObject) instanceof openfl_display_BitmapData)) {
|
|
var secondBitmapData = secondObject;
|
|
var x;
|
|
var y;
|
|
if(secondBitmapDataPoint == null) {
|
|
x = 0;
|
|
y = 0;
|
|
} else {
|
|
x = Math.round(secondBitmapDataPoint.x - firstPoint.x);
|
|
y = Math.round(secondBitmapDataPoint.y - firstPoint.y);
|
|
}
|
|
var hitRect = openfl_geom_Rectangle.__pool.get();
|
|
hitRect.setTo(x,y,secondBitmapData.width,secondBitmapData.height);
|
|
if(this.rect.intersects(hitRect)) {
|
|
if(x < 0) {
|
|
hitRect.x = 0;
|
|
hitRect.width = Math.min(secondBitmapData.width + x,this.width);
|
|
} else {
|
|
hitRect.width = Math.min(secondBitmapData.width,this.width - x);
|
|
}
|
|
if(y < 0) {
|
|
hitRect.y = 0;
|
|
hitRect.height = Math.min(secondBitmapData.height + y,this.height);
|
|
} else {
|
|
hitRect.height = Math.min(secondBitmapData.height,this.height - y);
|
|
}
|
|
var pixels = this.getPixels(hitRect);
|
|
hitRect.x = x < 0 ? -x : 0;
|
|
hitRect.y = y < 0 ? -y : 0;
|
|
var testPixels = secondBitmapData.getPixels(hitRect);
|
|
var length = hitRect.width * hitRect.height | 0;
|
|
var pixel;
|
|
var testPixel;
|
|
var _g = 0;
|
|
var _g1 = length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
pixel = pixels.readUnsignedInt();
|
|
testPixel = testPixels.readUnsignedInt();
|
|
if(UInt.gt(pixel >>> 24 & 255,firstAlphaThreshold) && UInt.gt(testPixel >>> 24 & 255,secondAlphaThreshold)) {
|
|
openfl_geom_Rectangle.__pool.release(hitRect);
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
openfl_geom_Rectangle.__pool.release(hitRect);
|
|
} else if(((secondObject) instanceof openfl_geom_Rectangle)) {
|
|
var secondRectangle = openfl_geom_Rectangle.__pool.get();
|
|
secondRectangle.copyFrom(secondObject);
|
|
secondRectangle.offset(-firstPoint.x,-firstPoint.y);
|
|
secondRectangle.__contract(0,0,this.width,this.height);
|
|
if(secondRectangle.width > 0 && secondRectangle.height > 0) {
|
|
var pixels = this.getPixels(secondRectangle);
|
|
var length = UInt.toFloat(openfl_utils_ByteArray.get_length(pixels)) / UInt.toFloat(4) | 0;
|
|
var pixel;
|
|
var _g = 0;
|
|
var _g1 = length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
pixel = pixels.readUnsignedInt();
|
|
if(UInt.gt(pixel >>> 24 & 255,firstAlphaThreshold)) {
|
|
openfl_geom_Rectangle.__pool.release(secondRectangle);
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
openfl_geom_Rectangle.__pool.release(secondRectangle);
|
|
}
|
|
return false;
|
|
}
|
|
,lock: function() {
|
|
}
|
|
,merge: function(sourceBitmapData,sourceRect,destPoint,redMultiplier,greenMultiplier,blueMultiplier,alphaMultiplier) {
|
|
if(!this.readable || sourceBitmapData == null || !sourceBitmapData.readable || sourceRect == null || destPoint == null) {
|
|
return;
|
|
}
|
|
this.image.merge(sourceBitmapData.image,sourceRect.__toLimeRectangle(),destPoint.__toLimeVector2(),redMultiplier,greenMultiplier,blueMultiplier,alphaMultiplier);
|
|
}
|
|
,noise: function(randomSeed,low,high,channelOptions,grayScale) {
|
|
if(grayScale == null) {
|
|
grayScale = false;
|
|
}
|
|
if(channelOptions == null) {
|
|
channelOptions = 7;
|
|
}
|
|
if(high == null) {
|
|
high = 255;
|
|
}
|
|
if(low == null) {
|
|
low = 0;
|
|
}
|
|
if(!this.readable) {
|
|
return;
|
|
}
|
|
var func = function() {
|
|
randomSeed = randomSeed * 1103515245 + 12345;
|
|
return (Math.abs(randomSeed / 65536) | 0) % 32768;
|
|
};
|
|
var rand = func;
|
|
rand();
|
|
var range = high - low;
|
|
var redChannel = (channelOptions & 1) == 1;
|
|
var greenChannel = (channelOptions & 2) >> 1 == 1;
|
|
var blueChannel = (channelOptions & 4) >> 2 == 1;
|
|
var alphaChannel = (channelOptions & 8) >> 3 == 1;
|
|
var _g = 0;
|
|
var _g1 = this.height;
|
|
while(_g < _g1) {
|
|
var y = _g++;
|
|
var _g2 = 0;
|
|
var _g3 = this.width;
|
|
while(_g2 < _g3) {
|
|
var x = _g2++;
|
|
var red = 0;
|
|
var blue = 0;
|
|
var green = 0;
|
|
var alpha = 255;
|
|
if(grayScale) {
|
|
blue = low + rand() % range;
|
|
green = blue;
|
|
red = green;
|
|
alpha = 255;
|
|
} else {
|
|
if(redChannel) {
|
|
red = low + rand() % range;
|
|
}
|
|
if(greenChannel) {
|
|
green = low + rand() % range;
|
|
}
|
|
if(blueChannel) {
|
|
blue = low + rand() % range;
|
|
}
|
|
if(alphaChannel) {
|
|
alpha = low + rand() % range;
|
|
}
|
|
}
|
|
var rgb = alpha;
|
|
rgb = (rgb << 8) + red;
|
|
rgb = (rgb << 8) + green;
|
|
rgb = (rgb << 8) + blue;
|
|
this.setPixel32(x,y,rgb);
|
|
}
|
|
}
|
|
}
|
|
,paletteMap: function(sourceBitmapData,sourceRect,destPoint,redArray,greenArray,blueArray,alphaArray) {
|
|
var sw = sourceRect.width | 0;
|
|
var sh = sourceRect.height | 0;
|
|
var pixels = sourceBitmapData.getPixels(sourceRect);
|
|
var pixelValue;
|
|
var r;
|
|
var g;
|
|
var b;
|
|
var a;
|
|
var color;
|
|
var _g = 0;
|
|
var _g1 = sh * sw;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
pixelValue = pixels.readUnsignedInt();
|
|
a = alphaArray == null ? pixelValue & -16777216 : alphaArray[pixelValue >> 24 & 255];
|
|
r = redArray == null ? pixelValue & 16711680 : redArray[pixelValue >> 16 & 255];
|
|
g = greenArray == null ? pixelValue & 65280 : greenArray[pixelValue >> 8 & 255];
|
|
b = blueArray == null ? pixelValue & 255 : blueArray[pixelValue & 255];
|
|
color = a + r + g + b;
|
|
pixels.position = i * 4;
|
|
pixels.writeUnsignedInt(color);
|
|
}
|
|
pixels.position = 0;
|
|
var destRect = openfl_geom_Rectangle.__pool.get();
|
|
destRect.setTo(destPoint.x,destPoint.y,sw,sh);
|
|
this.setPixels(destRect,pixels);
|
|
openfl_geom_Rectangle.__pool.release(destRect);
|
|
}
|
|
,perlinNoise: function(baseX,baseY,numOctaves,randomSeed,stitch,fractalNoise,channelOptions,grayScale,offsets) {
|
|
if(grayScale == null) {
|
|
grayScale = false;
|
|
}
|
|
if(channelOptions == null) {
|
|
channelOptions = 7;
|
|
}
|
|
if(!this.readable) {
|
|
return;
|
|
}
|
|
var noise = new openfl_display__$internal_PerlinNoise(randomSeed,numOctaves,channelOptions,grayScale,0.5,stitch,0.15);
|
|
noise.fill(this,baseX,baseY,0);
|
|
}
|
|
,scroll: function(x,y) {
|
|
if(!this.readable) {
|
|
return;
|
|
}
|
|
this.image.scroll(x,y);
|
|
}
|
|
,setPixel: function(x,y,color) {
|
|
if(!this.readable) {
|
|
return;
|
|
}
|
|
this.image.setPixel(x,y,color,1);
|
|
}
|
|
,setPixel32: function(x,y,color) {
|
|
if(!this.readable) {
|
|
return;
|
|
}
|
|
this.image.setPixel32(x,y,color,1);
|
|
}
|
|
,setPixels: function(rect,byteArray) {
|
|
if(!this.readable || rect == null) {
|
|
return;
|
|
}
|
|
var length = rect.width * rect.height * 4;
|
|
if(UInt.toFloat(byteArray.length - byteArray.position) < length) {
|
|
throw haxe_Exception.thrown(new openfl_errors_Error("End of file was encountered.",2030));
|
|
}
|
|
this.image.setPixels(rect.__toLimeRectangle(),openfl_utils_ByteArray.toBytePointer(byteArray),1,openfl_utils_Endian.toLimeEndian(byteArray.__endian));
|
|
}
|
|
,setVector: function(rect,inputVector) {
|
|
var this1 = new openfl_utils_ByteArrayData(0);
|
|
var byteArray = this1;
|
|
openfl_utils_ByteArray.set_length(byteArray,inputVector.get_length() * 4);
|
|
var color = inputVector.iterator();
|
|
while(color.hasNext()) {
|
|
var color1 = color.next();
|
|
byteArray.writeUnsignedInt(color1);
|
|
}
|
|
byteArray.position = 0;
|
|
this.setPixels(rect,byteArray);
|
|
}
|
|
,threshold: function(sourceBitmapData,sourceRect,destPoint,operation,threshold,color,mask,copySource) {
|
|
if(copySource == null) {
|
|
copySource = false;
|
|
}
|
|
if(mask == null) {
|
|
mask = -1;
|
|
}
|
|
if(color == null) {
|
|
color = 0;
|
|
}
|
|
if(sourceBitmapData == null || sourceRect == null || destPoint == null || sourceRect.x > sourceBitmapData.width || sourceRect.y > sourceBitmapData.height || destPoint.x > this.width || destPoint.y > this.height) {
|
|
return 0;
|
|
}
|
|
return this.image.threshold(sourceBitmapData.image,sourceRect.__toLimeRectangle(),destPoint.__toLimeVector2(),operation,threshold,color,mask,copySource,1);
|
|
}
|
|
,unlock: function(changeRect) {
|
|
}
|
|
,__applyAlpha: function(alpha) {
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(this.image);
|
|
lime__$internal_graphics_ImageCanvasUtil.createImageData(this.image);
|
|
var data = this.image.buffer.data;
|
|
var _g = 0;
|
|
var _g1 = openfl_utils_ByteArray.get_length(alpha);
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
data[i * 4 + 3] = alpha.readUnsignedByte();
|
|
}
|
|
this.image.version++;
|
|
}
|
|
,__drawCairo: function(source,renderer) {
|
|
}
|
|
,__drawCanvas: function(source,renderer) {
|
|
var buffer = this.image.buffer;
|
|
if(!renderer.__allowSmoothing) {
|
|
renderer.applySmoothing(buffer.__srcContext,false);
|
|
}
|
|
renderer.__render(source);
|
|
if(!renderer.__allowSmoothing) {
|
|
renderer.applySmoothing(buffer.__srcContext,true);
|
|
}
|
|
buffer.__srcContext.setTransform(1,0,0,1,0,0);
|
|
buffer.__srcImageData = null;
|
|
buffer.data = null;
|
|
this.image.dirty = true;
|
|
this.image.version++;
|
|
}
|
|
,__drawGL: function(source,renderer) {
|
|
var context = renderer.__context3D;
|
|
var cacheRTT = context.__state.renderToTexture;
|
|
var cacheRTTDepthStencil = context.__state.renderToTextureDepthStencil;
|
|
var cacheRTTAntiAlias = context.__state.renderToTextureAntiAlias;
|
|
var cacheRTTSurfaceSelector = context.__state.renderToTextureSurfaceSelector;
|
|
context.setRenderToTexture(this.getTexture(context),true);
|
|
renderer.__render(source);
|
|
if(cacheRTT != null) {
|
|
context.setRenderToTexture(cacheRTT,cacheRTTDepthStencil,cacheRTTAntiAlias,cacheRTTSurfaceSelector);
|
|
} else {
|
|
context.setRenderToBackBuffer();
|
|
}
|
|
}
|
|
,__fillRect: function(rect,color,allowFramebuffer) {
|
|
if(rect == null) {
|
|
return;
|
|
}
|
|
if(this.transparent && (color & -16777216) == 0) {
|
|
color = 0;
|
|
}
|
|
if(allowFramebuffer && this.__texture != null && this.__texture.__glFramebuffer != null && openfl_Lib.get_current().stage.__renderer.__type == "opengl") {
|
|
var renderer = openfl_Lib.get_current().stage.__renderer;
|
|
var context = renderer.__context3D;
|
|
var color1 = color;
|
|
var useScissor = !this.rect.equals(rect);
|
|
var cacheRTT = context.__state.renderToTexture;
|
|
var cacheRTTDepthStencil = context.__state.renderToTextureDepthStencil;
|
|
var cacheRTTAntiAlias = context.__state.renderToTextureAntiAlias;
|
|
var cacheRTTSurfaceSelector = context.__state.renderToTextureSurfaceSelector;
|
|
context.setRenderToTexture(this.__texture);
|
|
if(useScissor) {
|
|
context.setScissorRectangle(rect);
|
|
}
|
|
context.clear((color1 >>> 16 & 255) / 255,(color1 >>> 8 & 255) / 255,(color1 & 255) / 255,this.transparent ? (color1 >>> 24 & 255) / 255 : 1,0,0,1);
|
|
if(useScissor) {
|
|
context.setScissorRectangle(null);
|
|
}
|
|
if(cacheRTT != null) {
|
|
context.setRenderToTexture(cacheRTT,cacheRTTDepthStencil,cacheRTTAntiAlias,cacheRTTSurfaceSelector);
|
|
} else {
|
|
context.setRenderToBackBuffer();
|
|
}
|
|
} else if(this.readable) {
|
|
this.image.fillRect(rect.__toLimeRectangle(),color,1);
|
|
}
|
|
}
|
|
,__fromBase64: function(base64,type) {
|
|
var image = lime_graphics_Image.fromBase64(base64,type);
|
|
this.__fromImage(image);
|
|
}
|
|
,__fromBytes: function(bytes,rawAlpha) {
|
|
var image = lime_graphics_Image.fromBytes(openfl_utils_ByteArray.toBytes(bytes));
|
|
this.__fromImage(image);
|
|
if(rawAlpha != null) {
|
|
this.__applyAlpha(rawAlpha);
|
|
}
|
|
}
|
|
,__fromFile: function(path) {
|
|
var image = lime_graphics_Image.fromFile(path);
|
|
this.__fromImage(image);
|
|
}
|
|
,__fromImage: function(image) {
|
|
if(image != null && image.buffer != null) {
|
|
this.image = image;
|
|
this.width = image.width;
|
|
this.height = image.height;
|
|
this.rect = new openfl_geom_Rectangle(0,0,image.width,image.height);
|
|
this.__textureWidth = this.width;
|
|
this.__textureHeight = this.height;
|
|
this.readable = true;
|
|
this.__isValid = true;
|
|
}
|
|
}
|
|
,__getBounds: function(rect,matrix) {
|
|
var bounds = openfl_geom_Rectangle.__pool.get();
|
|
this.rect.__transform(bounds,matrix);
|
|
rect.__expand(bounds.x,bounds.y,bounds.width,bounds.height);
|
|
openfl_geom_Rectangle.__pool.release(bounds);
|
|
}
|
|
,__loadFromBase64: function(base64,type) {
|
|
var _gthis = this;
|
|
return lime_graphics_Image.loadFromBase64(base64,type).then(function(image) {
|
|
_gthis.__fromImage(image);
|
|
return lime_app_Future.withValue(_gthis);
|
|
});
|
|
}
|
|
,__loadFromBytes: function(bytes,rawAlpha) {
|
|
var _gthis = this;
|
|
return lime_graphics_Image.loadFromBytes(openfl_utils_ByteArray.toBytes(bytes)).then(function(image) {
|
|
_gthis.__fromImage(image);
|
|
if(rawAlpha != null) {
|
|
_gthis.__applyAlpha(rawAlpha);
|
|
}
|
|
return lime_app_Future.withValue(_gthis);
|
|
});
|
|
}
|
|
,__loadFromFile: function(path) {
|
|
var _gthis = this;
|
|
return lime_graphics_Image.loadFromFile(path).then(function(image) {
|
|
_gthis.__fromImage(image);
|
|
return lime_app_Future.withValue(_gthis);
|
|
});
|
|
}
|
|
,__renderCairo: function(renderer) {
|
|
}
|
|
,__renderCairoMask: function(renderer) {
|
|
}
|
|
,__renderCanvas: function(renderer) {
|
|
if(!this.readable) {
|
|
return;
|
|
}
|
|
if(this.image.type == lime_graphics_ImageType.DATA) {
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(this.image);
|
|
}
|
|
var context = renderer.context;
|
|
context.globalAlpha = 1;
|
|
renderer.setTransform(this.__renderTransform,context);
|
|
context.drawImage(this.image.get_src(),0,0,this.image.width,this.image.height);
|
|
}
|
|
,__renderCanvasMask: function(renderer) {
|
|
}
|
|
,__renderDOM: function(renderer) {
|
|
}
|
|
,__renderGL: function(renderer) {
|
|
var context = renderer.__context3D;
|
|
var gl = context.gl;
|
|
renderer.__setBlendMode(10);
|
|
var shader = renderer.__defaultDisplayShader;
|
|
renderer.setShader(shader);
|
|
renderer.applyBitmapData(this,renderer.__upscaled);
|
|
renderer.applyMatrix(renderer.__getMatrix(this.__worldTransform,1));
|
|
renderer.applyAlpha(this.__worldAlpha);
|
|
renderer.applyColorTransform(this.__worldColorTransform);
|
|
renderer.updateShader();
|
|
var vertexBuffer = this.getVertexBuffer(context);
|
|
if(shader.__position != null) {
|
|
context.setVertexBufferAt(shader.__position.index,vertexBuffer,0,3);
|
|
}
|
|
if(shader.__textureCoord != null) {
|
|
context.setVertexBufferAt(shader.__textureCoord.index,vertexBuffer,3,2);
|
|
}
|
|
var indexBuffer = this.getIndexBuffer(context);
|
|
context.drawTriangles(indexBuffer);
|
|
renderer.__clearShader();
|
|
}
|
|
,__renderGLMask: function(renderer) {
|
|
var context = renderer.__context3D;
|
|
var gl = context.gl;
|
|
var shader = renderer.__maskShader;
|
|
renderer.setShader(shader);
|
|
renderer.applyBitmapData(this,renderer.__upscaled);
|
|
renderer.applyMatrix(renderer.__getMatrix(this.__worldTransform,1));
|
|
renderer.updateShader();
|
|
var vertexBuffer = this.getVertexBuffer(context);
|
|
if(shader.__position != null) {
|
|
context.setVertexBufferAt(shader.__position.index,vertexBuffer,0,3);
|
|
}
|
|
if(shader.__textureCoord != null) {
|
|
context.setVertexBufferAt(shader.__textureCoord.index,vertexBuffer,3,2);
|
|
}
|
|
var indexBuffer = this.getIndexBuffer(context);
|
|
context.drawTriangles(indexBuffer);
|
|
renderer.__clearShader();
|
|
}
|
|
,__resize: function(width,height) {
|
|
this.width = width;
|
|
this.height = height;
|
|
this.rect.width = width;
|
|
this.rect.height = height;
|
|
this.__textureWidth = width;
|
|
this.__textureHeight = height;
|
|
}
|
|
,__setUVRect: function(context,x,y,width,height) {
|
|
var buffer = this.getVertexBuffer(context);
|
|
if(buffer != null && (width != this.__uvRect.width || height != this.__uvRect.height || x != this.__uvRect.x || y != this.__uvRect.y)) {
|
|
var gl = context.gl;
|
|
if(this.__uvRect == null) {
|
|
this.__uvRect = new openfl_geom_Rectangle();
|
|
}
|
|
this.__uvRect.setTo(x,y,width,height);
|
|
var uvX = this.__textureWidth > 0 ? x / this.__textureWidth : 0;
|
|
var uvY = this.__textureHeight > 0 ? y / this.__textureHeight : 0;
|
|
var uvWidth = this.__textureWidth > 0 ? width / this.__textureWidth : 0;
|
|
var uvHeight = this.__textureHeight > 0 ? height / this.__textureHeight : 0;
|
|
this.__vertexBufferData[0] = width;
|
|
this.__vertexBufferData[1] = height;
|
|
this.__vertexBufferData[3] = uvX + uvWidth;
|
|
this.__vertexBufferData[4] = uvY + uvHeight;
|
|
this.__vertexBufferData[15] = height;
|
|
this.__vertexBufferData[17] = uvX;
|
|
this.__vertexBufferData[18] = uvY + uvHeight;
|
|
this.__vertexBufferData[28] = width;
|
|
this.__vertexBufferData[31] = uvX + uvWidth;
|
|
this.__vertexBufferData[32] = uvY;
|
|
this.__vertexBufferData[45] = uvX;
|
|
this.__vertexBufferData[46] = uvY;
|
|
this.__vertexBuffer.uploadFromTypedArray(lime_utils_Float32Array.toArrayBufferView(this.__vertexBufferData));
|
|
}
|
|
}
|
|
,__sync: function() {
|
|
lime__$internal_graphics_ImageCanvasUtil.sync(this.image,false);
|
|
}
|
|
,__update: function(transformOnly,updateChildren) {
|
|
this.__updateTransforms();
|
|
}
|
|
,__updateTransforms: function(overrideTransform) {
|
|
if(overrideTransform == null) {
|
|
this.__worldTransform.identity();
|
|
} else {
|
|
this.__worldTransform.copyFrom(overrideTransform);
|
|
}
|
|
this.__renderTransform.copyFrom(this.__worldTransform);
|
|
}
|
|
,__class__: openfl_display_BitmapData
|
|
};
|
|
var flixel_addons_transition_GraphicTransTileCircle = function(width,height,transparent,fillRGBA,onload) {
|
|
if(fillRGBA == null) {
|
|
fillRGBA = -1;
|
|
}
|
|
if(transparent == null) {
|
|
transparent = true;
|
|
}
|
|
openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA);
|
|
if(flixel_addons_transition_GraphicTransTileCircle.preload != null) {
|
|
this.__fromImage(flixel_addons_transition_GraphicTransTileCircle.preload);
|
|
} else {
|
|
var _gthis = this;
|
|
lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_addons_transition_GraphicTransTileCircle.resourceName),flixel_addons_transition_GraphicTransTileCircle.resourceType).then(function(image) {
|
|
_gthis.__fromImage(image);
|
|
return lime_app_Future.withValue(_gthis);
|
|
}).onComplete(function(b) {
|
|
if(flixel_addons_transition_GraphicTransTileCircle.preload == null) {
|
|
flixel_addons_transition_GraphicTransTileCircle.preload = b.image;
|
|
}
|
|
if(onload != null && Reflect.isFunction(onload)) {
|
|
onload(b);
|
|
}
|
|
});
|
|
}
|
|
};
|
|
$hxClasses["flixel.addons.transition.GraphicTransTileCircle"] = flixel_addons_transition_GraphicTransTileCircle;
|
|
flixel_addons_transition_GraphicTransTileCircle.__name__ = "flixel.addons.transition.GraphicTransTileCircle";
|
|
flixel_addons_transition_GraphicTransTileCircle.preload = null;
|
|
flixel_addons_transition_GraphicTransTileCircle.__super__ = openfl_display_BitmapData;
|
|
flixel_addons_transition_GraphicTransTileCircle.prototype = $extend(openfl_display_BitmapData.prototype,{
|
|
__class__: flixel_addons_transition_GraphicTransTileCircle
|
|
});
|
|
var flixel_addons_transition_GraphicTransTileDiamond = function(width,height,transparent,fillRGBA,onload) {
|
|
if(fillRGBA == null) {
|
|
fillRGBA = -1;
|
|
}
|
|
if(transparent == null) {
|
|
transparent = true;
|
|
}
|
|
openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA);
|
|
if(flixel_addons_transition_GraphicTransTileDiamond.preload != null) {
|
|
this.__fromImage(flixel_addons_transition_GraphicTransTileDiamond.preload);
|
|
} else {
|
|
var _gthis = this;
|
|
lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_addons_transition_GraphicTransTileDiamond.resourceName),flixel_addons_transition_GraphicTransTileDiamond.resourceType).then(function(image) {
|
|
_gthis.__fromImage(image);
|
|
return lime_app_Future.withValue(_gthis);
|
|
}).onComplete(function(b) {
|
|
if(flixel_addons_transition_GraphicTransTileDiamond.preload == null) {
|
|
flixel_addons_transition_GraphicTransTileDiamond.preload = b.image;
|
|
}
|
|
if(onload != null && Reflect.isFunction(onload)) {
|
|
onload(b);
|
|
}
|
|
});
|
|
}
|
|
};
|
|
$hxClasses["flixel.addons.transition.GraphicTransTileDiamond"] = flixel_addons_transition_GraphicTransTileDiamond;
|
|
flixel_addons_transition_GraphicTransTileDiamond.__name__ = "flixel.addons.transition.GraphicTransTileDiamond";
|
|
flixel_addons_transition_GraphicTransTileDiamond.preload = null;
|
|
flixel_addons_transition_GraphicTransTileDiamond.__super__ = openfl_display_BitmapData;
|
|
flixel_addons_transition_GraphicTransTileDiamond.prototype = $extend(openfl_display_BitmapData.prototype,{
|
|
__class__: flixel_addons_transition_GraphicTransTileDiamond
|
|
});
|
|
var flixel_addons_transition_GraphicTransTileSquare = function(width,height,transparent,fillRGBA,onload) {
|
|
if(fillRGBA == null) {
|
|
fillRGBA = -1;
|
|
}
|
|
if(transparent == null) {
|
|
transparent = true;
|
|
}
|
|
openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA);
|
|
if(flixel_addons_transition_GraphicTransTileSquare.preload != null) {
|
|
this.__fromImage(flixel_addons_transition_GraphicTransTileSquare.preload);
|
|
} else {
|
|
var _gthis = this;
|
|
lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_addons_transition_GraphicTransTileSquare.resourceName),flixel_addons_transition_GraphicTransTileSquare.resourceType).then(function(image) {
|
|
_gthis.__fromImage(image);
|
|
return lime_app_Future.withValue(_gthis);
|
|
}).onComplete(function(b) {
|
|
if(flixel_addons_transition_GraphicTransTileSquare.preload == null) {
|
|
flixel_addons_transition_GraphicTransTileSquare.preload = b.image;
|
|
}
|
|
if(onload != null && Reflect.isFunction(onload)) {
|
|
onload(b);
|
|
}
|
|
});
|
|
}
|
|
};
|
|
$hxClasses["flixel.addons.transition.GraphicTransTileSquare"] = flixel_addons_transition_GraphicTransTileSquare;
|
|
flixel_addons_transition_GraphicTransTileSquare.__name__ = "flixel.addons.transition.GraphicTransTileSquare";
|
|
flixel_addons_transition_GraphicTransTileSquare.preload = null;
|
|
flixel_addons_transition_GraphicTransTileSquare.__super__ = openfl_display_BitmapData;
|
|
flixel_addons_transition_GraphicTransTileSquare.prototype = $extend(openfl_display_BitmapData.prototype,{
|
|
__class__: flixel_addons_transition_GraphicTransTileSquare
|
|
});
|
|
var flixel_addons_transition_FlxTransitionSprite = function(X,Y,Delay,Graphic,GraphicWidth,GraphicHeight,FrameRate) {
|
|
if(FrameRate == null) {
|
|
FrameRate = 40;
|
|
}
|
|
if(GraphicHeight == null) {
|
|
GraphicHeight = 32;
|
|
}
|
|
if(GraphicWidth == null) {
|
|
GraphicWidth = 32;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
this._newStatus = -1;
|
|
this.status = 0;
|
|
this._finished = false;
|
|
this._starting = true;
|
|
flixel_FlxSprite.call(this,X,Y);
|
|
if(Graphic == null) {
|
|
Graphic = flixel_graphics_FlxGraphic.fromClass(flixel_addons_transition_GraphicTransTileDiamond);
|
|
GraphicWidth = 32;
|
|
GraphicHeight = 32;
|
|
}
|
|
this._delay = Delay;
|
|
this.loadGraphic(Graphic,true,GraphicWidth,GraphicHeight);
|
|
this.graphic.persist = true;
|
|
this.graphic.set_destroyOnNoUse(false);
|
|
var inArray = [];
|
|
var outArray = [];
|
|
var _g = 1;
|
|
var _g1 = this.numFrames - 1;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
inArray.push(i);
|
|
}
|
|
outArray = inArray.slice();
|
|
outArray.reverse();
|
|
this.animation.add("empty",[0],0,false);
|
|
this.animation.add("in",inArray,FrameRate,false);
|
|
this.animation.add("full",[this.numFrames - 1],0,false);
|
|
this.animation.add("out",outArray,FrameRate,false);
|
|
this.setStatus(3);
|
|
};
|
|
$hxClasses["flixel.addons.transition.FlxTransitionSprite"] = flixel_addons_transition_FlxTransitionSprite;
|
|
flixel_addons_transition_FlxTransitionSprite.__name__ = "flixel.addons.transition.FlxTransitionSprite";
|
|
flixel_addons_transition_FlxTransitionSprite.__super__ = flixel_FlxSprite;
|
|
flixel_addons_transition_FlxTransitionSprite.prototype = $extend(flixel_FlxSprite.prototype,{
|
|
_delay: null
|
|
,_count: null
|
|
,_starting: null
|
|
,_finished: null
|
|
,status: null
|
|
,_newStatus: null
|
|
,start: function(NewStatus) {
|
|
this._starting = true;
|
|
this._finished = false;
|
|
this._count = 0;
|
|
this._newStatus = NewStatus;
|
|
}
|
|
,startStatus: function(NewStatus) {
|
|
this.setStatus(NewStatus);
|
|
}
|
|
,setStatus: function(Status) {
|
|
var anim;
|
|
switch(Status) {
|
|
case -1:case 2:
|
|
anim = "empty";
|
|
break;
|
|
case 0:
|
|
anim = "in";
|
|
break;
|
|
case 1:
|
|
anim = "out";
|
|
break;
|
|
case 3:
|
|
anim = "full";
|
|
break;
|
|
}
|
|
this.animation.play(anim);
|
|
this.animation.finishCallback = $bind(this,this.onFinishAnim);
|
|
this.status = Status;
|
|
}
|
|
,onFinishAnim: function(str) {
|
|
if(!this._finished) {
|
|
this._finished = true;
|
|
switch(this.status) {
|
|
case 0:
|
|
this.setStatus(3);
|
|
break;
|
|
case 1:
|
|
this.setStatus(2);
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
}
|
|
,update: function(elapsed) {
|
|
flixel_FlxSprite.prototype.update.call(this,elapsed);
|
|
if(this._starting) {
|
|
this._count += elapsed;
|
|
if(this._count >= this._delay) {
|
|
this.onTime();
|
|
}
|
|
}
|
|
}
|
|
,onTime: function() {
|
|
this._starting = false;
|
|
this._count = 0;
|
|
this.setStatus(this._newStatus);
|
|
this._newStatus = -1;
|
|
}
|
|
,__class__: flixel_addons_transition_FlxTransitionSprite
|
|
});
|
|
var flixel_addons_transition_Transition = function(data) {
|
|
flixel_FlxSubState.call(this,0);
|
|
this._effect = this.createEffect(data);
|
|
this._effect.scrollFactor.set(0,0);
|
|
this.add(this._effect);
|
|
};
|
|
$hxClasses["flixel.addons.transition.Transition"] = flixel_addons_transition_Transition;
|
|
flixel_addons_transition_Transition.__name__ = "flixel.addons.transition.Transition";
|
|
flixel_addons_transition_Transition.__super__ = flixel_FlxSubState;
|
|
flixel_addons_transition_Transition.prototype = $extend(flixel_FlxSubState.prototype,{
|
|
_effect: null
|
|
,update: function(elapsed) {
|
|
flixel_FlxSubState.prototype.update.call(this,elapsed);
|
|
this._effect.update(elapsed);
|
|
}
|
|
,destroy: function() {
|
|
flixel_FlxSubState.prototype.destroy.call(this);
|
|
this.set_finishCallback(null);
|
|
this._effect.destroy();
|
|
this._effect = null;
|
|
}
|
|
,start: function(NewStatus) {
|
|
this._effect.start(NewStatus);
|
|
}
|
|
,setStatus: function(NewStatus) {
|
|
this._effect.setStatus(NewStatus);
|
|
}
|
|
,createEffect: function(Data) {
|
|
switch(Data.type) {
|
|
case "fade":
|
|
return new flixel_addons_transition_TransitionFade(Data);
|
|
case "tiles":
|
|
return new flixel_addons_transition_TransitionTiles(Data);
|
|
default:
|
|
return null;
|
|
}
|
|
}
|
|
,get_finishCallback: function() {
|
|
if(this._effect != null) {
|
|
return this._effect.finishCallback;
|
|
}
|
|
return null;
|
|
}
|
|
,set_finishCallback: function(f) {
|
|
if(this._effect != null) {
|
|
this._effect.finishCallback = f;
|
|
return f;
|
|
}
|
|
return null;
|
|
}
|
|
,__class__: flixel_addons_transition_Transition
|
|
,__properties__: $extend(flixel_FlxSubState.prototype.__properties__,{set_finishCallback:"set_finishCallback",get_finishCallback:"get_finishCallback"})
|
|
});
|
|
var flixel_addons_transition_TransitionData = function(TransType,Color,Duration,Direction,TileData,Region) {
|
|
if(Duration == null) {
|
|
Duration = 1.0;
|
|
}
|
|
if(Color == null) {
|
|
Color = -1;
|
|
}
|
|
if(TransType == null) {
|
|
TransType = "fade";
|
|
}
|
|
this.duration = 1.0;
|
|
this.type = TransType;
|
|
this.tileData = TileData;
|
|
this.duration = Duration;
|
|
this.color = Color;
|
|
this.direction = Direction;
|
|
if(this.direction == null) {
|
|
this.direction = new flixel_math_FlxPoint(0,0);
|
|
}
|
|
var Value = this.direction.x;
|
|
var lowerBound = Value < -1 ? -1 : Value;
|
|
var tmp = lowerBound > 1;
|
|
var Value = this.direction.y;
|
|
var lowerBound = Value < -1 ? -1 : Value;
|
|
var tmp = lowerBound > 1;
|
|
this.tweenOptions = { onComplete : null};
|
|
this.region = Region;
|
|
if(Region == null) {
|
|
this.region = new flixel_math_FlxRect(0,0,flixel_FlxG.width,flixel_FlxG.height);
|
|
}
|
|
};
|
|
$hxClasses["flixel.addons.transition.TransitionData"] = flixel_addons_transition_TransitionData;
|
|
flixel_addons_transition_TransitionData.__name__ = "flixel.addons.transition.TransitionData";
|
|
flixel_addons_transition_TransitionData.__interfaces__ = [flixel_util_IFlxDestroyable];
|
|
flixel_addons_transition_TransitionData.prototype = {
|
|
type: null
|
|
,tileData: null
|
|
,color: null
|
|
,duration: null
|
|
,direction: null
|
|
,tweenOptions: null
|
|
,region: null
|
|
,destroy: function() {
|
|
this.tileData = null;
|
|
this.direction = null;
|
|
this.tweenOptions.onComplete = null;
|
|
this.tweenOptions.ease = null;
|
|
this.tweenOptions = null;
|
|
this.region = null;
|
|
this.direction = null;
|
|
}
|
|
,__class__: flixel_addons_transition_TransitionData
|
|
};
|
|
var flixel_addons_transition_TransitionEffect = function(data) {
|
|
this._finalDelayTime = 0.0;
|
|
this._started = false;
|
|
this.finished = false;
|
|
this._data = data;
|
|
flixel_group_FlxTypedSpriteGroup.call(this);
|
|
};
|
|
$hxClasses["flixel.addons.transition.TransitionEffect"] = flixel_addons_transition_TransitionEffect;
|
|
flixel_addons_transition_TransitionEffect.__name__ = "flixel.addons.transition.TransitionEffect";
|
|
flixel_addons_transition_TransitionEffect.__super__ = flixel_group_FlxTypedSpriteGroup;
|
|
flixel_addons_transition_TransitionEffect.prototype = $extend(flixel_group_FlxTypedSpriteGroup.prototype,{
|
|
finishCallback: null
|
|
,finished: null
|
|
,_started: null
|
|
,_endStatus: null
|
|
,_finalDelayTime: null
|
|
,_data: null
|
|
,destroy: function() {
|
|
flixel_group_FlxTypedSpriteGroup.prototype.destroy.call(this);
|
|
this.finishCallback = null;
|
|
}
|
|
,start: function(NewStatus) {
|
|
this._started = true;
|
|
if(NewStatus == 0) {
|
|
this._endStatus = 3;
|
|
} else {
|
|
this._endStatus = 2;
|
|
}
|
|
}
|
|
,setStatus: function(NewStatus) {
|
|
}
|
|
,delayThenFinish: function() {
|
|
new flixel_util_FlxTimer().start(this._finalDelayTime,$bind(this,this.onFinish));
|
|
}
|
|
,onFinish: function(f) {
|
|
this.finished = true;
|
|
if(this.finishCallback != null) {
|
|
this.finishCallback();
|
|
this.finishCallback = null;
|
|
}
|
|
}
|
|
,__class__: flixel_addons_transition_TransitionEffect
|
|
});
|
|
var flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient = function(width,height,transparent,fillRGBA,onload) {
|
|
if(fillRGBA == null) {
|
|
fillRGBA = -1;
|
|
}
|
|
if(transparent == null) {
|
|
transparent = true;
|
|
}
|
|
openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA);
|
|
if(flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient.preload != null) {
|
|
this.__fromImage(flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient.preload);
|
|
} else {
|
|
var _gthis = this;
|
|
lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient.resourceName),flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient.resourceType).then(function(image) {
|
|
_gthis.__fromImage(image);
|
|
return lime_app_Future.withValue(_gthis);
|
|
}).onComplete(function(b) {
|
|
if(flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient.preload == null) {
|
|
flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient.preload = b.image;
|
|
}
|
|
if(onload != null && Reflect.isFunction(onload)) {
|
|
onload(b);
|
|
}
|
|
});
|
|
}
|
|
};
|
|
$hxClasses["flixel.addons.transition._TransitionFade.GraphicDiagonalGradient"] = flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient;
|
|
flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient.__name__ = "flixel.addons.transition._TransitionFade.GraphicDiagonalGradient";
|
|
flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient.preload = null;
|
|
flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient.__super__ = openfl_display_BitmapData;
|
|
flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient.prototype = $extend(openfl_display_BitmapData.prototype,{
|
|
__class__: flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient
|
|
});
|
|
var flixel_addons_transition_TransitionFade = function(data) {
|
|
this.tweenValEnd2 = 0;
|
|
this.tweenValEnd = 0;
|
|
this.tweenValStart2 = 0;
|
|
this.tweenValStart = 0;
|
|
this.tweenStr2 = "";
|
|
this.tweenStr = "";
|
|
flixel_addons_transition_TransitionEffect.call(this,data);
|
|
this.back = this.makeSprite(data.direction.x,data.direction.y);
|
|
this.back.scrollFactor.set(0,0);
|
|
this.add(this.back);
|
|
};
|
|
$hxClasses["flixel.addons.transition.TransitionFade"] = flixel_addons_transition_TransitionFade;
|
|
flixel_addons_transition_TransitionFade.__name__ = "flixel.addons.transition.TransitionFade";
|
|
flixel_addons_transition_TransitionFade.__super__ = flixel_addons_transition_TransitionEffect;
|
|
flixel_addons_transition_TransitionFade.prototype = $extend(flixel_addons_transition_TransitionEffect.prototype,{
|
|
back: null
|
|
,tweenStr: null
|
|
,tweenStr2: null
|
|
,tweenValStart: null
|
|
,tweenValStart2: null
|
|
,tweenValEnd: null
|
|
,tweenValEnd2: null
|
|
,destroy: function() {
|
|
flixel_addons_transition_TransitionEffect.prototype.destroy.call(this);
|
|
this.back = null;
|
|
}
|
|
,start: function(NewStatus) {
|
|
flixel_addons_transition_TransitionEffect.prototype.start.call(this,NewStatus);
|
|
this.setTweenValues(NewStatus,this._data.direction.x,this._data.direction.y);
|
|
switch(this.tweenStr) {
|
|
case "alpha":
|
|
this.back.set_alpha(this.tweenValStart);
|
|
break;
|
|
case "x":
|
|
this.back.set_x(this.tweenValStart);
|
|
break;
|
|
case "y":
|
|
this.back.set_y(this.tweenValStart);
|
|
break;
|
|
}
|
|
switch(this.tweenStr2) {
|
|
case "alpha":
|
|
this.back.set_alpha(this.tweenValStart2);
|
|
break;
|
|
case "x":
|
|
this.back.set_x(this.tweenValStart2);
|
|
break;
|
|
case "y":
|
|
this.back.set_y(this.tweenValStart2);
|
|
break;
|
|
}
|
|
var Values = { };
|
|
Values[this.tweenStr] = this.tweenValEnd;
|
|
if(this.tweenStr2 != "") {
|
|
Values[this.tweenStr2] = this.tweenValEnd2;
|
|
}
|
|
this._data.tweenOptions.onComplete = $bind(this,this.finishTween);
|
|
flixel_tweens_FlxTween.tween(this.back,Values,this._data.duration,this._data.tweenOptions);
|
|
}
|
|
,setTweenValues: function(NewStatus,DirX,DirY) {
|
|
if(DirX == 0 && DirY == 0) {
|
|
this.tweenStr = "alpha";
|
|
this.tweenValStart = NewStatus == 0 ? 0.0 : 1.0;
|
|
this.tweenValEnd = NewStatus == 0 ? 1.0 : 0.0;
|
|
} else if(Math.abs(DirX) > 0 && DirY == 0) {
|
|
this.tweenStr = "x";
|
|
if(DirX > 0) {
|
|
this.tweenValStart = NewStatus == 0 ? -this.back.get_width() : 0;
|
|
this.tweenValEnd = NewStatus == 0 ? 0 : -this.back.get_width();
|
|
} else {
|
|
this.tweenValStart = NewStatus == 0 ? flixel_FlxG.width : -this.back.get_width() / 2;
|
|
this.tweenValEnd = NewStatus == 0 ? -this.back.get_width() / 2 : flixel_FlxG.width;
|
|
}
|
|
} else if(DirX == 0 && Math.abs(DirY) > 0) {
|
|
this.tweenStr = "y";
|
|
if(DirY > 0) {
|
|
this.tweenValStart = NewStatus == 0 ? -this.back.get_height() : 0;
|
|
this.tweenValEnd = NewStatus == 0 ? 0 : -this.back.get_height();
|
|
} else {
|
|
this.tweenValStart = NewStatus == 0 ? flixel_FlxG.height : -this.back.get_height() / 2;
|
|
this.tweenValEnd = NewStatus == 0 ? -this.back.get_height() / 2 : flixel_FlxG.height;
|
|
}
|
|
} else if(Math.abs(DirX) > 0 && Math.abs(DirY) > 0) {
|
|
this.tweenStr = "x";
|
|
this.tweenStr2 = "y";
|
|
if(DirX > 0) {
|
|
this.tweenValStart = NewStatus == 0 ? -this.back.get_width() : 0;
|
|
this.tweenValEnd = NewStatus == 0 ? 0 : -this.back.get_width();
|
|
} else {
|
|
this.tweenValStart = NewStatus == 0 ? flixel_FlxG.width : -this.back.get_width() * 0.66666666666666663;
|
|
this.tweenValEnd = NewStatus == 0 ? -this.back.get_width() * 0.66666666666666663 : flixel_FlxG.width;
|
|
}
|
|
if(DirY > 0) {
|
|
this.tweenValStart2 = NewStatus == 0 ? -this.back.get_height() : 0;
|
|
this.tweenValEnd2 = NewStatus == 0 ? 0 : -this.back.get_height();
|
|
} else {
|
|
this.tweenValStart2 = NewStatus == 0 ? flixel_FlxG.height : -this.back.get_height() * 0.66666666666666663;
|
|
this.tweenValEnd2 = NewStatus == 0 ? -this.back.get_height() * 0.66666666666666663 : flixel_FlxG.height;
|
|
}
|
|
}
|
|
}
|
|
,makeSprite: function(DirX,DirY) {
|
|
var s = new flixel_FlxSprite(0,0);
|
|
var locX = 0;
|
|
var locY = 0;
|
|
var angle = 0;
|
|
var pixels = null;
|
|
if(DirX == 0 && DirY == 0) {
|
|
s.makeGraphic(flixel_FlxG.width,flixel_FlxG.height,this._data.color);
|
|
} else if(DirX == 0 && Math.abs(DirY) > 0) {
|
|
locY = DirY > 0 ? flixel_FlxG.height : 0;
|
|
angle = DirY > 0 ? 90 : 270;
|
|
s.makeGraphic(1,flixel_FlxG.height * 2,this._data.color);
|
|
pixels = s.get_pixels();
|
|
var gvert = flixel_util_FlxGradient.createGradientBitmapData(1,flixel_FlxG.height,[this._data.color,0],1,angle);
|
|
pixels.copyPixels(gvert,gvert.rect,new openfl_geom_Point(0,locY));
|
|
s.set_pixels(pixels);
|
|
s.scale.set(flixel_FlxG.width,1.0);
|
|
s.updateHitbox();
|
|
} else if(Math.abs(DirX) > 0 && DirY == 0) {
|
|
locX = DirX > 0 ? flixel_FlxG.width : 0;
|
|
angle = DirX > 0 ? 0 : 180;
|
|
s.makeGraphic(flixel_FlxG.width * 2,1,this._data.color);
|
|
pixels = s.get_pixels();
|
|
var ghorz = flixel_util_FlxGradient.createGradientBitmapData(flixel_FlxG.width,1,[this._data.color,0],1,angle);
|
|
pixels.copyPixels(ghorz,ghorz.rect,new openfl_geom_Point(locX,0));
|
|
s.set_pixels(pixels);
|
|
s.scale.set(1.0,flixel_FlxG.height);
|
|
s.updateHitbox();
|
|
} else if(Math.abs(DirX) > 0 && Math.abs(DirY) > 0) {
|
|
locY = DirY > 0 ? flixel_FlxG.height : 0;
|
|
s.loadGraphic(this.getGradient());
|
|
s.set_flipX(DirX < 0);
|
|
s.set_flipY(DirY < 0);
|
|
}
|
|
return s;
|
|
}
|
|
,getGradient: function() {
|
|
var rawBmp = new flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient(0,0);
|
|
var gdiag = rawBmp;
|
|
var gdiag_scaled = new openfl_display_BitmapData(flixel_FlxG.width * 2,flixel_FlxG.height * 2,true);
|
|
var m = new openfl_geom_Matrix();
|
|
m.scale(gdiag_scaled.width / gdiag.width,gdiag_scaled.height / gdiag.height);
|
|
gdiag_scaled.draw(gdiag,m,null,null,null,true);
|
|
var theColor = this._data.color;
|
|
var final_pixels = new openfl_display_BitmapData(flixel_FlxG.width * 3,flixel_FlxG.height * 3,true,theColor);
|
|
final_pixels.copyChannel(gdiag_scaled,gdiag_scaled.rect,new openfl_geom_Point(final_pixels.width - gdiag_scaled.width,final_pixels.height - gdiag_scaled.height),1,8);
|
|
gdiag.dispose();
|
|
gdiag_scaled.dispose();
|
|
return final_pixels;
|
|
}
|
|
,finishTween: function(f) {
|
|
this.delayThenFinish();
|
|
}
|
|
,__class__: flixel_addons_transition_TransitionFade
|
|
});
|
|
var flixel_addons_transition_TransitionTiles = function(data) {
|
|
this._isCenter = false;
|
|
flixel_addons_transition_TransitionEffect.call(this,data);
|
|
this._grpSprites = new flixel_group_FlxTypedSpriteGroup();
|
|
var delay = 0;
|
|
if(data.tileData == null) {
|
|
data.tileData = { asset : null, width : 32, height : 32};
|
|
}
|
|
var region = data.region;
|
|
var tilesX = Math.ceil(region.width / data.tileData.width);
|
|
var tilesY = Math.ceil(region.height / data.tileData.height);
|
|
var maxTiles = tilesX > tilesY ? tilesX : tilesY;
|
|
var dTime = data.duration / maxTiles;
|
|
var xDelay = dTime * Math.abs(data.direction.x);
|
|
var yDelay = dTime * Math.abs(data.direction.y);
|
|
var addX = data.tileData.width;
|
|
var addY = data.tileData.height;
|
|
var tx = 0;
|
|
var ty = 0;
|
|
var startX = region.x | 0;
|
|
var startY = region.y | 0;
|
|
if(data.direction.x < 0) {
|
|
addX *= -1;
|
|
startX += region.width + addX | 0;
|
|
}
|
|
if(data.direction.y < 0) {
|
|
addY *= -1;
|
|
startY += region.height + addY | 0;
|
|
}
|
|
tx = startX;
|
|
ty = startY;
|
|
var _g = 0;
|
|
var _g1 = tilesY;
|
|
while(_g < _g1) {
|
|
var iy = _g++;
|
|
var _g2 = 0;
|
|
var _g3 = tilesX;
|
|
while(_g2 < _g3) {
|
|
var ix = _g2++;
|
|
var frameRate = 40;
|
|
if(data.tileData.frameRate != null) {
|
|
frameRate = data.tileData.frameRate;
|
|
}
|
|
var ts = new flixel_addons_transition_FlxTransitionSprite(tx,ty,delay,data.tileData.asset,data.tileData.width,data.tileData.height,frameRate);
|
|
ts.set_color(data.color);
|
|
ts.scrollFactor.set(0,0);
|
|
this._grpSprites.add(ts);
|
|
tx += addX;
|
|
delay += xDelay;
|
|
}
|
|
ty += addY;
|
|
tx = startX;
|
|
delay = (iy + 1) * yDelay;
|
|
}
|
|
this.add(this._grpSprites);
|
|
this._isCenter = data.direction.x == 0 && data.direction.y == 0;
|
|
};
|
|
$hxClasses["flixel.addons.transition.TransitionTiles"] = flixel_addons_transition_TransitionTiles;
|
|
flixel_addons_transition_TransitionTiles.__name__ = "flixel.addons.transition.TransitionTiles";
|
|
flixel_addons_transition_TransitionTiles.__super__ = flixel_addons_transition_TransitionEffect;
|
|
flixel_addons_transition_TransitionTiles.prototype = $extend(flixel_addons_transition_TransitionEffect.prototype,{
|
|
_grpSprites: null
|
|
,_isCenter: null
|
|
,destroy: function() {
|
|
flixel_addons_transition_TransitionEffect.prototype.destroy.call(this);
|
|
this._grpSprites = null;
|
|
}
|
|
,start: function(NewStatus) {
|
|
flixel_addons_transition_TransitionEffect.prototype.start.call(this,NewStatus);
|
|
this._grpSprites.group.forEach(function(t) {
|
|
t.start(NewStatus);
|
|
},false);
|
|
}
|
|
,setStatus: function(NewStatus) {
|
|
flixel_addons_transition_TransitionEffect.prototype.setStatus.call(this,NewStatus);
|
|
this._grpSprites.group.forEach(function(t) {
|
|
t.setStatus(NewStatus);
|
|
},false);
|
|
}
|
|
,update: function(elapsed) {
|
|
flixel_addons_transition_TransitionEffect.prototype.update.call(this,elapsed);
|
|
if(this._started) {
|
|
var allDone = true;
|
|
var _g = 0;
|
|
var _g1 = this._grpSprites.group.members;
|
|
while(_g < _g1.length) {
|
|
var sprite = _g1[_g];
|
|
++_g;
|
|
if(sprite.status != -1 && sprite.status != this._endStatus) {
|
|
allDone = false;
|
|
break;
|
|
}
|
|
}
|
|
if(allDone) {
|
|
this._started = false;
|
|
this.delayThenFinish();
|
|
}
|
|
}
|
|
}
|
|
,__class__: flixel_addons_transition_TransitionTiles
|
|
});
|
|
var flixel_addons_ui_Anchor = function(XOff,YOff,XSide,YSide,XFlush,YFlush) {
|
|
this.x = new flixel_addons_ui_AnchorPoint(XOff,XSide,XFlush);
|
|
this.y = new flixel_addons_ui_AnchorPoint(YOff,YSide,YFlush);
|
|
};
|
|
$hxClasses["flixel.addons.ui.Anchor"] = flixel_addons_ui_Anchor;
|
|
flixel_addons_ui_Anchor.__name__ = "flixel.addons.ui.Anchor";
|
|
flixel_addons_ui_Anchor.__interfaces__ = [flixel_util_IFlxDestroyable];
|
|
flixel_addons_ui_Anchor.prototype = {
|
|
x: null
|
|
,y: null
|
|
,destroy: function() {
|
|
this.x = null;
|
|
this.y = null;
|
|
}
|
|
,anchorThing: function(thing,destination) {
|
|
var destX = 0;
|
|
var destY = 0;
|
|
switch(this.x.side) {
|
|
case "center":
|
|
destX = destination.x + destination.get_width() / 2;
|
|
break;
|
|
case "left":
|
|
destX = destination.x;
|
|
break;
|
|
case "right":
|
|
destX = destination.x + destination.get_width();
|
|
break;
|
|
default:
|
|
destX = destination.x;
|
|
}
|
|
switch(this.y.side) {
|
|
case "bottom":
|
|
destY = destination.y + destination.get_height();
|
|
break;
|
|
case "center":
|
|
destY = destination.y + destination.get_height() / 2;
|
|
break;
|
|
case "top":
|
|
destY = destination.y;
|
|
break;
|
|
default:
|
|
destY = destination.y;
|
|
}
|
|
switch(this.x.flush) {
|
|
case "center":
|
|
destX -= thing.get_width() / 2;
|
|
break;
|
|
case "left":
|
|
break;
|
|
case "right":
|
|
destX -= thing.get_width();
|
|
break;
|
|
default:
|
|
}
|
|
switch(this.y.flush) {
|
|
case "bottom":
|
|
destY -= thing.get_height();
|
|
break;
|
|
case "center":
|
|
destY -= thing.get_height() / 2;
|
|
break;
|
|
case "top":
|
|
break;
|
|
default:
|
|
}
|
|
thing.set_x(destX + this.x.offset);
|
|
thing.set_y(destY + this.y.offset);
|
|
}
|
|
,getFlipped: function(FlipX,FlipY,AnchorObject) {
|
|
var xoff = FlipX ? -1 * this.x.offset : this.x.offset;
|
|
var yoff = FlipY ? -1 * this.y.offset : this.y.offset;
|
|
var xside = FlipX ? this.flipAnchorSide(this.x.side) : this.x.side;
|
|
var yside = FlipY ? this.flipAnchorSide(this.y.side) : this.y.side;
|
|
var xflush = FlipX ? this.flipAnchorSide(this.x.flush) : this.x.flush;
|
|
var yflush = FlipY ? this.flipAnchorSide(this.y.flush) : this.y.flush;
|
|
if(AnchorObject == null) {
|
|
AnchorObject = new flixel_addons_ui_Anchor(xoff,yoff,xside,yside,xflush,yflush);
|
|
} else {
|
|
AnchorObject.x.offset = xoff;
|
|
AnchorObject.y.offset = yoff;
|
|
AnchorObject.x.side = xside;
|
|
AnchorObject.y.side = yside;
|
|
AnchorObject.x.flush = xflush;
|
|
AnchorObject.y.flush = yflush;
|
|
}
|
|
return AnchorObject;
|
|
}
|
|
,clone: function() {
|
|
return new flixel_addons_ui_Anchor(this.x.offset,this.y.offset,this.x.side,this.y.side,this.x.flush,this.y.flush);
|
|
}
|
|
,flipAnchorSide: function(str) {
|
|
if(str == "left") {
|
|
return "right";
|
|
}
|
|
if(str == "right") {
|
|
return "left";
|
|
}
|
|
if(str == "top") {
|
|
return "bottom";
|
|
}
|
|
if(str == "bottom") {
|
|
return "top";
|
|
}
|
|
return str;
|
|
}
|
|
,__class__: flixel_addons_ui_Anchor
|
|
};
|
|
var flixel_addons_ui_AnchorPoint = function(Offset,Side,Flush) {
|
|
this.flush = "center";
|
|
this.side = "center";
|
|
this.offset = 0;
|
|
this.offset = Offset;
|
|
this.side = Side;
|
|
this.flush = Flush;
|
|
};
|
|
$hxClasses["flixel.addons.ui.AnchorPoint"] = flixel_addons_ui_AnchorPoint;
|
|
flixel_addons_ui_AnchorPoint.__name__ = "flixel.addons.ui.AnchorPoint";
|
|
flixel_addons_ui_AnchorPoint.prototype = {
|
|
offset: null
|
|
,side: null
|
|
,flush: null
|
|
,__class__: flixel_addons_ui_AnchorPoint
|
|
};
|
|
var flixel_addons_ui_BorderDef = function(Style,Color,Size,Quality) {
|
|
if(Quality == null) {
|
|
Quality = 1;
|
|
}
|
|
if(Size == null) {
|
|
Size = 1;
|
|
}
|
|
this.style = Style;
|
|
this.color = Color;
|
|
this.size = Size;
|
|
this.quality = Quality;
|
|
};
|
|
$hxClasses["flixel.addons.ui.BorderDef"] = flixel_addons_ui_BorderDef;
|
|
flixel_addons_ui_BorderDef.__name__ = "flixel.addons.ui.BorderDef";
|
|
flixel_addons_ui_BorderDef.fromXML = function(data) {
|
|
var border_str = flixel_addons_ui_U.xml_str(data,"border");
|
|
var border_style = flixel_text_FlxTextBorderStyle.NONE;
|
|
var border_color = flixel_addons_ui_U.xml_color(data,"border_color",true,0);
|
|
var border_size = flixel_addons_ui_U.xml_f(data,"border_size",1);
|
|
var border_quality = flixel_addons_ui_U.xml_f(data,"border_quality",0);
|
|
var borderDef = new flixel_addons_ui_BorderDef(border_style,border_color,border_size,border_quality);
|
|
switch(border_str) {
|
|
case "":
|
|
border_str = flixel_addons_ui_U.xml_str(data,"shadow",true,"");
|
|
if(border_str != "" && border_str != "false" && border_str != "none") {
|
|
borderDef.style = flixel_text_FlxTextBorderStyle.SHADOW;
|
|
var safe = true;
|
|
if(safe == null) {
|
|
safe = false;
|
|
}
|
|
var return_val = flixel_util_FlxColor.fromString(border_str);
|
|
if(return_val == null) {
|
|
if(!safe) {
|
|
throw haxe_Exception.thrown("U.parseHex() unable to parse hex String " + border_str);
|
|
} else {
|
|
return_val = 0;
|
|
}
|
|
}
|
|
borderDef.color = return_val;
|
|
} else {
|
|
border_str = flixel_addons_ui_U.xml_str(data,"outline",true,"");
|
|
if(border_str != "" && border_str != "false" && border_str != "none") {
|
|
borderDef.style = flixel_text_FlxTextBorderStyle.OUTLINE;
|
|
var safe = true;
|
|
if(safe == null) {
|
|
safe = false;
|
|
}
|
|
var return_val = flixel_util_FlxColor.fromString(border_str);
|
|
if(return_val == null) {
|
|
if(!safe) {
|
|
throw haxe_Exception.thrown("U.parseHex() unable to parse hex String " + border_str);
|
|
} else {
|
|
return_val = 0;
|
|
}
|
|
}
|
|
borderDef.color = return_val;
|
|
} else {
|
|
border_str = flixel_addons_ui_U.xml_str(data,"outline_fast");
|
|
if(border_str != "" && border_str != "false" && border_str != "none") {
|
|
borderDef.style = flixel_text_FlxTextBorderStyle.OUTLINE_FAST;
|
|
var safe = true;
|
|
if(safe == null) {
|
|
safe = false;
|
|
}
|
|
var return_val = flixel_util_FlxColor.fromString(border_str);
|
|
if(return_val == null) {
|
|
if(!safe) {
|
|
throw haxe_Exception.thrown("U.parseHex() unable to parse hex String " + border_str);
|
|
} else {
|
|
return_val = 0;
|
|
}
|
|
}
|
|
borderDef.color = return_val;
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
case "false":case "none":
|
|
borderDef.style = flixel_text_FlxTextBorderStyle.NONE;
|
|
break;
|
|
case "outline":
|
|
borderDef.style = flixel_text_FlxTextBorderStyle.OUTLINE;
|
|
break;
|
|
case "outline_fast":
|
|
borderDef.style = flixel_text_FlxTextBorderStyle.OUTLINE_FAST;
|
|
break;
|
|
case "shadow":
|
|
borderDef.style = flixel_text_FlxTextBorderStyle.SHADOW;
|
|
break;
|
|
}
|
|
return borderDef;
|
|
};
|
|
flixel_addons_ui_BorderDef.prototype = {
|
|
style: null
|
|
,color: null
|
|
,size: null
|
|
,quality: null
|
|
,clone: function() {
|
|
return new flixel_addons_ui_BorderDef(this.style,this.color,this.size,this.quality);
|
|
}
|
|
,apply: function(f) {
|
|
var Color = this.color;
|
|
var Size = this.size;
|
|
var Quality = this.quality;
|
|
if(Quality == null) {
|
|
Quality = 1;
|
|
}
|
|
if(Size == null) {
|
|
Size = 1;
|
|
}
|
|
if(Color == null) {
|
|
Color = 0;
|
|
}
|
|
f.set_borderStyle(this.style);
|
|
f.set_borderColor(Color);
|
|
f.set_borderSize(Size);
|
|
f.set_borderQuality(Quality);
|
|
return f;
|
|
}
|
|
,__class__: flixel_addons_ui_BorderDef
|
|
};
|
|
var flixel_addons_ui_ButtonLabelStyle = function(Font,Align,Color,Border) {
|
|
this.align = null;
|
|
this.color = null;
|
|
this.border = null;
|
|
this.font = null;
|
|
this.font = Font;
|
|
this.border = Border;
|
|
this.color = Color;
|
|
this.align = Align;
|
|
};
|
|
$hxClasses["flixel.addons.ui.ButtonLabelStyle"] = flixel_addons_ui_ButtonLabelStyle;
|
|
flixel_addons_ui_ButtonLabelStyle.__name__ = "flixel.addons.ui.ButtonLabelStyle";
|
|
flixel_addons_ui_ButtonLabelStyle.prototype = {
|
|
font: null
|
|
,border: null
|
|
,color: null
|
|
,align: null
|
|
,apply: function(f) {
|
|
if(this.font != null) {
|
|
this.font.apply(null,f);
|
|
}
|
|
if(this.border != null) {
|
|
this.border.apply(f);
|
|
}
|
|
if(this.color != null) {
|
|
f.set_color(this.color);
|
|
}
|
|
if(this.align != null) {
|
|
f.set_alignment(this.align);
|
|
}
|
|
}
|
|
,__class__: flixel_addons_ui_ButtonLabelStyle
|
|
};
|
|
var flixel_addons_ui_FlxBaseMultiInput = function() {
|
|
};
|
|
$hxClasses["flixel.addons.ui.FlxBaseMultiInput"] = flixel_addons_ui_FlxBaseMultiInput;
|
|
flixel_addons_ui_FlxBaseMultiInput.__name__ = "flixel.addons.ui.FlxBaseMultiInput";
|
|
flixel_addons_ui_FlxBaseMultiInput.__interfaces__ = [flixel_util_IFlxDestroyable];
|
|
flixel_addons_ui_FlxBaseMultiInput.prototype = {
|
|
input: null
|
|
,combos: null
|
|
,forbiddens: null
|
|
,destroy: function() {
|
|
this.combos = null;
|
|
this.forbiddens = null;
|
|
}
|
|
,checkJustPressed: function() {
|
|
return false;
|
|
}
|
|
,checkJustReleased: function() {
|
|
return false;
|
|
}
|
|
,checkPressed: function() {
|
|
return false;
|
|
}
|
|
,justPressed: function() {
|
|
if(this.checkJustPressed()) {
|
|
return this.passCombosAndForbiddens();
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,justReleased: function() {
|
|
if(this.checkJustReleased()) {
|
|
if(this.forbiddens != null) {
|
|
return this.checkForbiddens(false);
|
|
} else {
|
|
return true;
|
|
}
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,pressed: function() {
|
|
if(this.checkPressed()) {
|
|
return this.passCombosAndForbiddens();
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,equals: function(other) {
|
|
if(other == null) {
|
|
return false;
|
|
}
|
|
if(Type.typeof(other) != Type.typeof(this)) {
|
|
return false;
|
|
}
|
|
if(this.input != other.input) {
|
|
return false;
|
|
}
|
|
if(this.combos == null != (other.combos == null)) {
|
|
return false;
|
|
}
|
|
if(this.forbiddens == null != (other.forbiddens == null)) {
|
|
return false;
|
|
}
|
|
if(this.combos != null && other.combos != null) {
|
|
var _g = 0;
|
|
var _g1 = this.combos;
|
|
while(_g < _g1.length) {
|
|
var i = _g1[_g];
|
|
++_g;
|
|
if(other.combos.indexOf(i) == -1) {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
if(this.forbiddens != null && other.forbiddens != null) {
|
|
var _g = 0;
|
|
var _g1 = this.forbiddens;
|
|
while(_g < _g1.length) {
|
|
var i = _g1[_g];
|
|
++_g;
|
|
if(other.forbiddens.indexOf(i) == -1) {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
,passCombosAndForbiddens: function(comboValue,forbiddenValue) {
|
|
if(forbiddenValue == null) {
|
|
forbiddenValue = false;
|
|
}
|
|
if(comboValue == null) {
|
|
comboValue = true;
|
|
}
|
|
var passCombos = this.combos == null || this.checkCombos(comboValue);
|
|
var passForbiddens = this.forbiddens == null || this.checkForbiddens(forbiddenValue);
|
|
if(passCombos) {
|
|
return passForbiddens;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,checkCombos: function(value) {
|
|
return false;
|
|
}
|
|
,checkForbiddens: function(value) {
|
|
return false;
|
|
}
|
|
,__class__: flixel_addons_ui_FlxBaseMultiInput
|
|
};
|
|
var flixel_addons_ui_FlxInputText = function(X,Y,Width,Text1,size,TextColor,BackgroundColor,EmbeddedFont) {
|
|
if(EmbeddedFont == null) {
|
|
EmbeddedFont = true;
|
|
}
|
|
if(BackgroundColor == null) {
|
|
BackgroundColor = -1;
|
|
}
|
|
if(TextColor == null) {
|
|
TextColor = -16777216;
|
|
}
|
|
if(size == null) {
|
|
size = 8;
|
|
}
|
|
if(Width == null) {
|
|
Width = 150;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
this._scrollBoundIndeces = { left : 0, right : 0};
|
|
this.backgroundColor = -1;
|
|
this.fieldBorderThickness = 1;
|
|
this.fieldBorderColor = -16777216;
|
|
this.filterMode = 0;
|
|
this.maxLength = 0;
|
|
this.forceCase = 0;
|
|
this.caretIndex = 0;
|
|
this.hasFocus = false;
|
|
this.caretWidth = 1;
|
|
this.background = false;
|
|
flixel_text_FlxText.call(this,X,Y,Width,Text1,size,EmbeddedFont);
|
|
this.set_backgroundColor(BackgroundColor);
|
|
if(BackgroundColor != 0) {
|
|
this.background = true;
|
|
}
|
|
this.set_color(TextColor);
|
|
this.set_caretColor(TextColor);
|
|
this.caret = new flixel_FlxSprite();
|
|
this.caret.makeGraphic(this.caretWidth,size + 2 | 0);
|
|
this._caretTimer = new flixel_util_FlxTimer();
|
|
this.set_caretIndex(0);
|
|
this.set_hasFocus(false);
|
|
if(this.background) {
|
|
this.fieldBorderSprite = new flixel_FlxSprite(X,Y);
|
|
this.backgroundSprite = new flixel_FlxSprite(X,Y);
|
|
}
|
|
this.set_lines(1);
|
|
openfl_Lib.get_current().stage.addEventListener("keyDown",$bind(this,this.onKeyDown));
|
|
if(Text1 == null) {
|
|
Text1 = "";
|
|
}
|
|
this.set_text(Text1);
|
|
this.calcFrame();
|
|
};
|
|
$hxClasses["flixel.addons.ui.FlxInputText"] = flixel_addons_ui_FlxInputText;
|
|
flixel_addons_ui_FlxInputText.__name__ = "flixel.addons.ui.FlxInputText";
|
|
flixel_addons_ui_FlxInputText.__super__ = flixel_text_FlxText;
|
|
flixel_addons_ui_FlxInputText.prototype = $extend(flixel_text_FlxText.prototype,{
|
|
customFilterPattern: null
|
|
,set_customFilterPattern: function(cfp) {
|
|
this.customFilterPattern = cfp;
|
|
this.set_filterMode(4);
|
|
return this.customFilterPattern;
|
|
}
|
|
,callback: null
|
|
,background: null
|
|
,caretColor: null
|
|
,set_caretColor: function(i) {
|
|
this.caretColor = i;
|
|
this.dirty = true;
|
|
return this.caretColor;
|
|
}
|
|
,caretWidth: null
|
|
,set_caretWidth: function(i) {
|
|
this.caretWidth = i;
|
|
this.dirty = true;
|
|
return this.caretWidth;
|
|
}
|
|
,params: null
|
|
,hasFocus: null
|
|
,caretIndex: null
|
|
,focusGained: null
|
|
,focusLost: null
|
|
,forceCase: null
|
|
,maxLength: null
|
|
,lines: null
|
|
,filterMode: null
|
|
,fieldBorderColor: null
|
|
,fieldBorderThickness: null
|
|
,backgroundColor: null
|
|
,backgroundSprite: null
|
|
,_caretTimer: null
|
|
,caret: null
|
|
,fieldBorderSprite: null
|
|
,_scrollBoundIndeces: null
|
|
,_charBoundaries: null
|
|
,lastScroll: null
|
|
,destroy: function() {
|
|
openfl_Lib.get_current().stage.removeEventListener("keyDown",$bind(this,this.onKeyDown));
|
|
this.backgroundSprite = flixel_util_FlxDestroyUtil.destroy(this.backgroundSprite);
|
|
this.fieldBorderSprite = flixel_util_FlxDestroyUtil.destroy(this.fieldBorderSprite);
|
|
this.callback = null;
|
|
flixel_text_FlxText.prototype.destroy.call(this);
|
|
}
|
|
,draw: function() {
|
|
this.drawSprite(this.fieldBorderSprite);
|
|
this.drawSprite(this.backgroundSprite);
|
|
flixel_text_FlxText.prototype.draw.call(this);
|
|
if(this.caretColor != this.caret.color || this.caret.get_height() != (this._defaultFormat.size | 0) + 2) {
|
|
this.caret.set_color(this.caretColor);
|
|
}
|
|
this.drawSprite(this.caret);
|
|
}
|
|
,drawSprite: function(Sprite) {
|
|
if(Sprite != null && Sprite.visible) {
|
|
Sprite.scrollFactor = this.scrollFactor;
|
|
Sprite.set_cameras(this.get_cameras());
|
|
Sprite.draw();
|
|
}
|
|
}
|
|
,update: function(elapsed) {
|
|
flixel_text_FlxText.prototype.update.call(this,elapsed);
|
|
if(flixel_FlxG.mouse._leftButton.current == 2) {
|
|
var hadFocus = this.hasFocus;
|
|
if(flixel_FlxG.mouse.overlaps(this)) {
|
|
this.set_caretIndex(this.getCaretIndex());
|
|
this.set_hasFocus(true);
|
|
if(!hadFocus && this.focusGained != null) {
|
|
this.focusGained();
|
|
}
|
|
} else {
|
|
this.set_hasFocus(false);
|
|
if(hadFocus && this.focusLost != null) {
|
|
this.focusLost();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,onKeyDown: function(e) {
|
|
var key = e.keyCode;
|
|
if(this.hasFocus) {
|
|
if(key == 16 || key == 17 || key == 220 || key == 27) {
|
|
return;
|
|
} else if(key == 37) {
|
|
if(this.caretIndex > 0) {
|
|
var _g = this;
|
|
_g.set_caretIndex(_g.caretIndex - 1);
|
|
this.set_text(this.text);
|
|
}
|
|
} else if(key == 39) {
|
|
if(this.caretIndex < this.text.length) {
|
|
var _g = this;
|
|
_g.set_caretIndex(_g.caretIndex + 1);
|
|
this.set_text(this.text);
|
|
}
|
|
} else if(key == 35) {
|
|
this.set_caretIndex(this.text.length);
|
|
this.set_text(this.text);
|
|
} else if(key == 36) {
|
|
this.set_caretIndex(0);
|
|
this.set_text(this.text);
|
|
} else if(key == 8) {
|
|
if(this.caretIndex > 0) {
|
|
var _g = this;
|
|
_g.set_caretIndex(_g.caretIndex - 1);
|
|
this.set_text(this.text.substring(0,this.caretIndex) + this.text.substring(this.caretIndex + 1));
|
|
this.onChange("backspace");
|
|
}
|
|
} else if(key == 46) {
|
|
if(this.text.length > 0 && this.caretIndex < this.text.length) {
|
|
this.set_text(this.text.substring(0,this.caretIndex) + this.text.substring(this.caretIndex + 1));
|
|
this.onChange("delete");
|
|
}
|
|
} else if(key == 13) {
|
|
this.onChange("enter");
|
|
} else {
|
|
if(e.charCode == 0) {
|
|
return;
|
|
}
|
|
var code = e.charCode;
|
|
var newText = this.filter(String.fromCodePoint(code));
|
|
if(newText.length > 0 && (this.maxLength == 0 || this.text.length + newText.length < this.maxLength)) {
|
|
this.set_text(this.insertSubstring(this.text,newText,this.caretIndex));
|
|
var _g = this;
|
|
_g.set_caretIndex(_g.caretIndex + 1);
|
|
this.onChange("input");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,onChange: function(action) {
|
|
if(this.callback != null) {
|
|
this.callback(this.text,action);
|
|
}
|
|
}
|
|
,insertSubstring: function(Original,Insert,Index) {
|
|
if(Index != Original.length) {
|
|
Original = Original.substring(0,Index) + Insert + Original.substring(Index);
|
|
} else {
|
|
Original += Insert;
|
|
}
|
|
return Original;
|
|
}
|
|
,getCaretIndex: function() {
|
|
var X = flixel_FlxG.mouse.x - this.x;
|
|
var Y = flixel_FlxG.mouse.y - this.y;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
var hit = point;
|
|
return this.getCharIndexAtPoint(hit.x,hit.y);
|
|
}
|
|
,getCharBoundaries: function(charIndex) {
|
|
if(this._charBoundaries != null && charIndex >= 0 && this._charBoundaries.length > 0) {
|
|
var r = new openfl_geom_Rectangle();
|
|
if(charIndex >= this._charBoundaries.length) {
|
|
var _this = this._charBoundaries[this._charBoundaries.length - 1];
|
|
var FlashRect = r;
|
|
if(FlashRect == null) {
|
|
FlashRect = new openfl_geom_Rectangle();
|
|
}
|
|
FlashRect.x = _this.x;
|
|
FlashRect.y = _this.y;
|
|
FlashRect.width = _this.width;
|
|
FlashRect.height = _this.height;
|
|
} else {
|
|
var _this = this._charBoundaries[charIndex];
|
|
var FlashRect = r;
|
|
if(FlashRect == null) {
|
|
FlashRect = new openfl_geom_Rectangle();
|
|
}
|
|
FlashRect.x = _this.x;
|
|
FlashRect.y = _this.y;
|
|
FlashRect.width = _this.width;
|
|
FlashRect.height = _this.height;
|
|
}
|
|
return r;
|
|
}
|
|
return null;
|
|
}
|
|
,set_text: function(Text1) {
|
|
var return_text = flixel_text_FlxText.prototype.set_text.call(this,Text1);
|
|
if(this.textField == null) {
|
|
return return_text;
|
|
}
|
|
var numChars = Text1.length;
|
|
this.prepareCharBoundaries(numChars);
|
|
this.textField.set_text("");
|
|
var textH = 0;
|
|
var textW = 0;
|
|
var lastW = 0;
|
|
var magicX = 2;
|
|
var magicY = 2;
|
|
var _g = 0;
|
|
var _g1 = numChars;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
this.textField.appendText(HxOverrides.substr(Text1,i,1));
|
|
textW = this.textField.get_textWidth();
|
|
if(i == 0) {
|
|
textH = this.textField.get_textHeight();
|
|
}
|
|
this._charBoundaries[i].x = magicX + lastW;
|
|
this._charBoundaries[i].y = magicY;
|
|
this._charBoundaries[i].width = textW - lastW;
|
|
this._charBoundaries[i].height = textH;
|
|
lastW = textW;
|
|
}
|
|
this.textField.set_text(Text1);
|
|
this.onSetTextCheck();
|
|
return return_text;
|
|
}
|
|
,getCharIndexAtPoint: function(X,Y) {
|
|
var i = 0;
|
|
if(this._charBoundaries != null && this._charBoundaries.length > 0) {
|
|
if(this.textField.get_textWidth() <= this.textField.get_width()) {
|
|
switch(this.getAlignStr()) {
|
|
case "center":
|
|
X = X - this.textField.get_width() / 2 + this.textField.get_textWidth() / 2;
|
|
break;
|
|
case "right":
|
|
X = X - this.textField.get_width() + this.textField.get_textWidth();
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
}
|
|
if(this._charBoundaries != null) {
|
|
var _g = 0;
|
|
var _g1 = this._charBoundaries;
|
|
while(_g < _g1.length) {
|
|
var r = _g1[_g];
|
|
++_g;
|
|
if(X >= r.x && X <= r.x + r.width) {
|
|
return i;
|
|
}
|
|
++i;
|
|
}
|
|
}
|
|
if(this._charBoundaries != null && this._charBoundaries.length > 0) {
|
|
if(X > this.textField.get_textWidth()) {
|
|
return this._charBoundaries.length;
|
|
}
|
|
}
|
|
return 0;
|
|
}
|
|
,prepareCharBoundaries: function(numChars) {
|
|
if(this._charBoundaries == null) {
|
|
this._charBoundaries = [];
|
|
}
|
|
if(this._charBoundaries.length > numChars) {
|
|
var diff = this._charBoundaries.length - numChars;
|
|
var _g = 0;
|
|
var _g1 = diff;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
this._charBoundaries.pop();
|
|
}
|
|
}
|
|
var _g = 0;
|
|
var _g1 = numChars;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(this._charBoundaries.length - 1 < i) {
|
|
var tmp = this._charBoundaries;
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = 0;
|
|
var Height = 0;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
_this.x = X1;
|
|
_this.y = Y1;
|
|
_this.width = Width1;
|
|
_this.height = Height1;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
tmp.push(rect);
|
|
}
|
|
}
|
|
}
|
|
,onSetTextCheck: function() {
|
|
}
|
|
,calcFrame: function(RunOnCpp) {
|
|
if(RunOnCpp == null) {
|
|
RunOnCpp = false;
|
|
}
|
|
flixel_text_FlxText.prototype.calcFrame.call(this,RunOnCpp);
|
|
if(this.fieldBorderSprite != null) {
|
|
if(this.fieldBorderThickness > 0) {
|
|
this.fieldBorderSprite.makeGraphic(this.get_width() + this.fieldBorderThickness * 2 | 0,this.get_height() + this.fieldBorderThickness * 2 | 0,this.fieldBorderColor);
|
|
this.fieldBorderSprite.set_x(this.x - this.fieldBorderThickness);
|
|
this.fieldBorderSprite.set_y(this.y - this.fieldBorderThickness);
|
|
} else if(this.fieldBorderThickness == 0) {
|
|
this.fieldBorderSprite.set_visible(false);
|
|
}
|
|
}
|
|
if(this.backgroundSprite != null) {
|
|
if(this.background) {
|
|
this.backgroundSprite.makeGraphic(this.get_width() | 0,this.get_height() | 0,this.backgroundColor);
|
|
this.backgroundSprite.set_x(this.x);
|
|
this.backgroundSprite.set_y(this.y);
|
|
} else {
|
|
this.backgroundSprite.set_visible(false);
|
|
}
|
|
}
|
|
if(this.caret != null) {
|
|
var cw = this.caretWidth;
|
|
var ch = (this._defaultFormat.size | 0) + 2 | 0;
|
|
var borderC = -16777216 | this.borderColor & 16777215;
|
|
var caretC = -16777216 | this.caretColor & 16777215;
|
|
var caretKey = "caret" + cw + "x" + ch + "c:" + caretC + "b:" + Std.string(this.borderStyle) + "," + this.borderSize + "," + borderC;
|
|
switch(this.borderStyle._hx_index) {
|
|
case 0:
|
|
this.caret.makeGraphic(cw,ch,caretC,false,caretKey);
|
|
this.caret.offset.set_x(this.caret.offset.set_y(0));
|
|
break;
|
|
case 1:
|
|
cw += this.borderSize | 0;
|
|
ch += this.borderSize | 0;
|
|
this.caret.makeGraphic(cw,ch,0,false,caretKey);
|
|
var r = new openfl_geom_Rectangle(this.borderSize,this.borderSize,this.caretWidth,(this._defaultFormat.size | 0) + 2 | 0);
|
|
this.caret.get_pixels().fillRect(r,borderC);
|
|
r.x = r.y = 0;
|
|
this.caret.get_pixels().fillRect(r,caretC);
|
|
this.caret.offset.set_x(this.caret.offset.set_y(0));
|
|
break;
|
|
case 2:case 3:
|
|
cw += this.borderSize * 2 | 0;
|
|
ch += this.borderSize * 2 | 0;
|
|
this.caret.makeGraphic(cw,ch,borderC,false,caretKey);
|
|
var r = new openfl_geom_Rectangle(this.borderSize,this.borderSize,this.caretWidth,(this._defaultFormat.size | 0) + 2 | 0);
|
|
this.caret.get_pixels().fillRect(r,caretC);
|
|
this.caret.offset.set_x(this.caret.offset.set_y(this.borderSize));
|
|
break;
|
|
}
|
|
this.caret.set_width(cw);
|
|
this.caret.set_height(ch);
|
|
this.set_caretIndex(this.caretIndex);
|
|
}
|
|
}
|
|
,toggleCaret: function(timer) {
|
|
this.caret.set_visible(!this.caret.visible);
|
|
}
|
|
,filter: function(text) {
|
|
if(this.forceCase == 1) {
|
|
text = text.toUpperCase();
|
|
} else if(this.forceCase == 2) {
|
|
text = text.toLowerCase();
|
|
}
|
|
if(this.filterMode != 0) {
|
|
var pattern;
|
|
switch(this.filterMode) {
|
|
case 1:
|
|
pattern = new EReg("[^a-zA-Z]*","g");
|
|
break;
|
|
case 2:
|
|
pattern = new EReg("[^0-9]*","g");
|
|
break;
|
|
case 3:
|
|
pattern = new EReg("[^a-zA-Z0-9]*","g");
|
|
break;
|
|
case 4:
|
|
pattern = this.customFilterPattern;
|
|
break;
|
|
default:
|
|
throw haxe_Exception.thrown(new openfl_errors_Error("FlxInputText: Unknown filterMode (" + this.filterMode + ")"));
|
|
}
|
|
text = text.replace(pattern.r,"");
|
|
}
|
|
return text;
|
|
}
|
|
,set_params: function(p) {
|
|
this.params = p;
|
|
if(this.params == null) {
|
|
this.params = [];
|
|
}
|
|
var namedValue = { name : "value", value : this.text};
|
|
this.params.push(namedValue);
|
|
return p;
|
|
}
|
|
,set_x: function(X) {
|
|
if(this.fieldBorderSprite != null && this.fieldBorderThickness > 0) {
|
|
this.fieldBorderSprite.set_x(X - this.fieldBorderThickness);
|
|
}
|
|
if(this.backgroundSprite != null && this.background) {
|
|
this.backgroundSprite.set_x(X);
|
|
}
|
|
return flixel_text_FlxText.prototype.set_x.call(this,X);
|
|
}
|
|
,set_y: function(Y) {
|
|
if(this.fieldBorderSprite != null && this.fieldBorderThickness > 0) {
|
|
this.fieldBorderSprite.set_y(Y - this.fieldBorderThickness);
|
|
}
|
|
if(this.backgroundSprite != null && this.background) {
|
|
this.backgroundSprite.set_y(Y);
|
|
}
|
|
return flixel_text_FlxText.prototype.set_y.call(this,Y);
|
|
}
|
|
,set_hasFocus: function(newFocus) {
|
|
if(newFocus) {
|
|
if(this.hasFocus != newFocus) {
|
|
this._caretTimer = new flixel_util_FlxTimer().start(0.5,$bind(this,this.toggleCaret),0);
|
|
this.caret.set_visible(true);
|
|
this.set_caretIndex(this.text.length);
|
|
}
|
|
} else {
|
|
this.caret.set_visible(false);
|
|
if(this._caretTimer != null) {
|
|
this._caretTimer.cancel();
|
|
}
|
|
}
|
|
if(newFocus != this.hasFocus) {
|
|
this.calcFrame();
|
|
}
|
|
return this.hasFocus = newFocus;
|
|
}
|
|
,getAlignStr: function() {
|
|
var alignStr = "left";
|
|
if(this._defaultFormat != null && this._defaultFormat.align != null) {
|
|
alignStr = flixel_text_FlxTextAlign.fromOpenFL(this._defaultFormat.align);
|
|
}
|
|
return alignStr;
|
|
}
|
|
,set_caretIndex: function(newCaretIndex) {
|
|
var offx = 0;
|
|
var alignStr = this.getAlignStr();
|
|
switch(alignStr) {
|
|
case "center":
|
|
if(offx <= 1) {
|
|
offx = 0;
|
|
}
|
|
break;
|
|
case "right":
|
|
offx = this.textField.get_width() - 2 - this.textField.get_textWidth() - 2;
|
|
if(offx < 0) {
|
|
offx = 0;
|
|
}
|
|
break;
|
|
default:
|
|
offx = 0;
|
|
}
|
|
this.caretIndex = newCaretIndex;
|
|
if(this.caretIndex > this.text.length + 1) {
|
|
this.caretIndex = -1;
|
|
}
|
|
if(this.caretIndex != -1) {
|
|
var boundaries = null;
|
|
if(this.caretIndex < this.text.length) {
|
|
boundaries = this.getCharBoundaries(this.caretIndex);
|
|
if(boundaries != null) {
|
|
this.caret.set_x(offx + boundaries.get_left() + this.x);
|
|
this.caret.set_y(boundaries.get_top() + this.y);
|
|
}
|
|
} else {
|
|
boundaries = this.getCharBoundaries(this.caretIndex - 1);
|
|
if(boundaries != null) {
|
|
this.caret.set_x(offx + boundaries.get_right() + this.x);
|
|
this.caret.set_y(boundaries.get_top() + this.y);
|
|
} else if(this.text.length == 0) {
|
|
this.caret.set_x(this.x + offx + 2);
|
|
this.caret.set_y(this.y + 2);
|
|
}
|
|
}
|
|
}
|
|
if(this.lines == 1 && this.caret.x + this.caret.get_width() > this.x + this.get_width()) {
|
|
this.caret.set_x(this.x + this.get_width() - 2);
|
|
}
|
|
return this.caretIndex;
|
|
}
|
|
,set_forceCase: function(Value) {
|
|
this.forceCase = Value;
|
|
this.set_text(this.filter(this.text));
|
|
return this.forceCase;
|
|
}
|
|
,set_size: function(Value) {
|
|
flixel_text_FlxText.prototype.set_size.call(this,Value);
|
|
this.caret.makeGraphic(1,(this._defaultFormat.size | 0) + 2 | 0);
|
|
return Value;
|
|
}
|
|
,set_maxLength: function(Value) {
|
|
this.maxLength = Value;
|
|
if(this.text.length > this.maxLength) {
|
|
this.set_text(this.text.substring(0,this.maxLength));
|
|
}
|
|
return this.maxLength;
|
|
}
|
|
,set_lines: function(Value) {
|
|
if(Value == 0) {
|
|
return 0;
|
|
}
|
|
if(Value > 1) {
|
|
this.textField.set_wordWrap(true);
|
|
this.textField.set_multiline(true);
|
|
} else {
|
|
this.textField.set_wordWrap(false);
|
|
this.textField.set_multiline(false);
|
|
}
|
|
this.lines = Value;
|
|
this.calcFrame();
|
|
return this.lines;
|
|
}
|
|
,get_passwordMode: function() {
|
|
return this.textField.get_displayAsPassword();
|
|
}
|
|
,set_passwordMode: function(value) {
|
|
this.textField.set_displayAsPassword(value);
|
|
this.calcFrame();
|
|
return value;
|
|
}
|
|
,set_filterMode: function(Value) {
|
|
this.filterMode = Value;
|
|
this.set_text(this.filter(this.text));
|
|
return this.filterMode;
|
|
}
|
|
,set_fieldBorderColor: function(Value) {
|
|
this.fieldBorderColor = Value;
|
|
this.calcFrame();
|
|
return this.fieldBorderColor;
|
|
}
|
|
,set_fieldBorderThickness: function(Value) {
|
|
this.fieldBorderThickness = Value;
|
|
this.calcFrame();
|
|
return this.fieldBorderThickness;
|
|
}
|
|
,set_backgroundColor: function(Value) {
|
|
this.backgroundColor = Value;
|
|
this.calcFrame();
|
|
return this.backgroundColor;
|
|
}
|
|
,__class__: flixel_addons_ui_FlxInputText
|
|
,__properties__: $extend(flixel_text_FlxText.prototype.__properties__,{set_backgroundColor:"set_backgroundColor",set_fieldBorderThickness:"set_fieldBorderThickness",set_fieldBorderColor:"set_fieldBorderColor",set_filterMode:"set_filterMode",set_lines:"set_lines",set_maxLength:"set_maxLength",set_forceCase:"set_forceCase",set_caretIndex:"set_caretIndex",set_hasFocus:"set_hasFocus",set_passwordMode:"set_passwordMode",get_passwordMode:"get_passwordMode",set_params:"set_params",set_caretWidth:"set_caretWidth",set_caretColor:"set_caretColor",set_customFilterPattern:"set_customFilterPattern"})
|
|
});
|
|
var flixel_addons_ui_FlxMultiGamepad = function(Gamepad1,Input,Combos,Forbiddens) {
|
|
flixel_addons_ui_FlxBaseMultiInput.call(this);
|
|
this.input = Input;
|
|
this.gamepad = Gamepad1;
|
|
this.combos = Combos;
|
|
this.forbiddens = Forbiddens;
|
|
};
|
|
$hxClasses["flixel.addons.ui.FlxMultiGamepad"] = flixel_addons_ui_FlxMultiGamepad;
|
|
flixel_addons_ui_FlxMultiGamepad.__name__ = "flixel.addons.ui.FlxMultiGamepad";
|
|
flixel_addons_ui_FlxMultiGamepad.__super__ = flixel_addons_ui_FlxBaseMultiInput;
|
|
flixel_addons_ui_FlxMultiGamepad.prototype = $extend(flixel_addons_ui_FlxBaseMultiInput.prototype,{
|
|
gamepad: null
|
|
,destroy: function() {
|
|
flixel_addons_ui_FlxBaseMultiInput.prototype.destroy.call(this);
|
|
this.gamepad = null;
|
|
}
|
|
,checkJustPressed: function() {
|
|
if(this.gamepad == null) {
|
|
return false;
|
|
}
|
|
var _this = this.gamepad;
|
|
var ID = this.input;
|
|
var Status = 2;
|
|
switch(ID) {
|
|
case -2:
|
|
return _this.anyButton(Status);
|
|
case -1:
|
|
return !_this.anyButton(Status);
|
|
default:
|
|
var RawID = _this.mapping.getRawID(ID);
|
|
var button = _this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,checkJustReleased: function() {
|
|
if(this.gamepad == null) {
|
|
return false;
|
|
}
|
|
var _this = this.gamepad;
|
|
var ID = this.input;
|
|
var Status = -1;
|
|
switch(ID) {
|
|
case -2:
|
|
return _this.anyButton(Status);
|
|
case -1:
|
|
return !_this.anyButton(Status);
|
|
default:
|
|
var RawID = _this.mapping.getRawID(ID);
|
|
var button = _this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,checkPressed: function() {
|
|
if(this.gamepad == null) {
|
|
return false;
|
|
}
|
|
var _this = this.gamepad;
|
|
var ID = this.input;
|
|
var Status = 1;
|
|
switch(ID) {
|
|
case -2:
|
|
return _this.anyButton(Status);
|
|
case -1:
|
|
return !_this.anyButton(Status);
|
|
default:
|
|
var RawID = _this.mapping.getRawID(ID);
|
|
var button = _this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,checkCombos: function(value) {
|
|
if(this.gamepad == null) {
|
|
return false;
|
|
}
|
|
return this.gamepad.checkButtonArrayState(this.combos,1) == value;
|
|
}
|
|
,checkForbiddens: function(value) {
|
|
if(this.gamepad == null) {
|
|
return false;
|
|
}
|
|
return this.gamepad.checkButtonArrayState(this.forbiddens,1) == value;
|
|
}
|
|
,__class__: flixel_addons_ui_FlxMultiGamepad
|
|
});
|
|
var flixel_addons_ui_FlxMultiGamepadAnalogStick = function(Gamepad1,Input,Combos,Forbiddens) {
|
|
this.sInput = Input;
|
|
flixel_addons_ui_FlxMultiGamepad.call(this,Gamepad1,Input.id,Combos,Forbiddens);
|
|
};
|
|
$hxClasses["flixel.addons.ui.FlxMultiGamepadAnalogStick"] = flixel_addons_ui_FlxMultiGamepadAnalogStick;
|
|
flixel_addons_ui_FlxMultiGamepadAnalogStick.__name__ = "flixel.addons.ui.FlxMultiGamepadAnalogStick";
|
|
flixel_addons_ui_FlxMultiGamepadAnalogStick.getStickInput = function(str) {
|
|
str = str.toLowerCase();
|
|
switch(str) {
|
|
case "left_analog_stick_x_minus":
|
|
return { id : 19, axis : flixel_addons_ui_XY.X, positive : false};
|
|
case "left_analog_stick_x_plus":
|
|
return { id : 19, axis : flixel_addons_ui_XY.X, positive : true};
|
|
case "left_analog_stick_y_minus":
|
|
return { id : 19, axis : flixel_addons_ui_XY.Y, positive : false};
|
|
case "left_analog_stick_y_plus":
|
|
return { id : 19, axis : flixel_addons_ui_XY.Y, positive : true};
|
|
case "right_analog_stick_x_minus":
|
|
return { id : 20, axis : flixel_addons_ui_XY.X, positive : false};
|
|
case "right_analog_stick_x_plus":
|
|
return { id : 20, axis : flixel_addons_ui_XY.X, positive : true};
|
|
case "right_analog_stick_y_minus":
|
|
return { id : 20, axis : flixel_addons_ui_XY.Y, positive : false};
|
|
case "right_analog_stick_y_plus":
|
|
return { id : 20, axis : flixel_addons_ui_XY.Y, positive : true};
|
|
}
|
|
return null;
|
|
};
|
|
flixel_addons_ui_FlxMultiGamepadAnalogStick.__super__ = flixel_addons_ui_FlxMultiGamepad;
|
|
flixel_addons_ui_FlxMultiGamepadAnalogStick.prototype = $extend(flixel_addons_ui_FlxMultiGamepad.prototype,{
|
|
sInput: null
|
|
,destroy: function() {
|
|
flixel_addons_ui_FlxMultiGamepad.prototype.destroy.call(this);
|
|
this.sInput = null;
|
|
}
|
|
,checkJustPressed: function() {
|
|
if(this.gamepad == null) {
|
|
return false;
|
|
}
|
|
var dz = this.gamepad.get_deadZone();
|
|
switch(this.sInput.id) {
|
|
case 19:
|
|
if(this.sInput.axis == flixel_addons_ui_XY.X) {
|
|
var _this = this.gamepad.analog.justMoved;
|
|
var stick = _this.gamepad.mapping.getAnalogStick(19);
|
|
var tmp;
|
|
if(stick == null) {
|
|
tmp = false;
|
|
} else {
|
|
var button = _this.gamepad.buttons[stick.x];
|
|
tmp = button != null && button.hasState(_this.status);
|
|
}
|
|
if(tmp) {
|
|
if(this.sInput.positive) {
|
|
var _this = this.gamepad.analog.value.gamepad;
|
|
return _this.getAnalogXAxisValue(_this.mapping.getAnalogStick(19)) > dz;
|
|
} else {
|
|
var _this = this.gamepad.analog.value.gamepad;
|
|
return _this.getAnalogXAxisValue(_this.mapping.getAnalogStick(19)) < -dz;
|
|
}
|
|
} else {
|
|
return false;
|
|
}
|
|
} else {
|
|
var _this = this.gamepad.analog.justMoved;
|
|
var stick = _this.gamepad.mapping.getAnalogStick(19);
|
|
var tmp;
|
|
if(stick == null) {
|
|
tmp = false;
|
|
} else {
|
|
var button = _this.gamepad.buttons[stick.y];
|
|
tmp = button != null && button.hasState(_this.status);
|
|
}
|
|
if(tmp) {
|
|
if(this.sInput.positive) {
|
|
var _this = this.gamepad.analog.value.gamepad;
|
|
return _this.getYAxisRaw(_this.mapping.getAnalogStick(19)) > dz;
|
|
} else {
|
|
var _this = this.gamepad.analog.value.gamepad;
|
|
return _this.getYAxisRaw(_this.mapping.getAnalogStick(19)) < -dz;
|
|
}
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
break;
|
|
case 20:
|
|
if(this.sInput.axis == flixel_addons_ui_XY.X) {
|
|
var _this = this.gamepad.analog.justMoved;
|
|
var stick = _this.gamepad.mapping.getAnalogStick(20);
|
|
var tmp;
|
|
if(stick == null) {
|
|
tmp = false;
|
|
} else {
|
|
var button = _this.gamepad.buttons[stick.x];
|
|
tmp = button != null && button.hasState(_this.status);
|
|
}
|
|
if(tmp) {
|
|
if(this.sInput.positive) {
|
|
var _this = this.gamepad.analog.value.gamepad;
|
|
return _this.getAnalogXAxisValue(_this.mapping.getAnalogStick(20)) > dz;
|
|
} else {
|
|
var _this = this.gamepad.analog.value.gamepad;
|
|
return _this.getAnalogXAxisValue(_this.mapping.getAnalogStick(20)) < -dz;
|
|
}
|
|
} else {
|
|
return false;
|
|
}
|
|
} else {
|
|
var _this = this.gamepad.analog.justMoved;
|
|
var stick = _this.gamepad.mapping.getAnalogStick(20);
|
|
var tmp;
|
|
if(stick == null) {
|
|
tmp = false;
|
|
} else {
|
|
var button = _this.gamepad.buttons[stick.y];
|
|
tmp = button != null && button.hasState(_this.status);
|
|
}
|
|
if(tmp) {
|
|
if(this.sInput.positive) {
|
|
var _this = this.gamepad.analog.value.gamepad;
|
|
return _this.getYAxisRaw(_this.mapping.getAnalogStick(20)) > dz;
|
|
} else {
|
|
var _this = this.gamepad.analog.value.gamepad;
|
|
return _this.getYAxisRaw(_this.mapping.getAnalogStick(20)) < -dz;
|
|
}
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
}
|
|
,checkJustReleased: function() {
|
|
if(this.gamepad == null) {
|
|
return false;
|
|
}
|
|
switch(this.sInput.id) {
|
|
case 19:
|
|
if(this.sInput.axis == flixel_addons_ui_XY.X) {
|
|
var _this = this.gamepad.analog.justReleased;
|
|
var stick = _this.gamepad.mapping.getAnalogStick(19);
|
|
if(stick == null) {
|
|
return false;
|
|
} else {
|
|
var button = _this.gamepad.buttons[stick.x];
|
|
if(button != null) {
|
|
return button.hasState(_this.status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
} else {
|
|
var _this = this.gamepad.analog.justReleased;
|
|
var stick = _this.gamepad.mapping.getAnalogStick(19);
|
|
if(stick == null) {
|
|
return false;
|
|
} else {
|
|
var button = _this.gamepad.buttons[stick.y];
|
|
if(button != null) {
|
|
return button.hasState(_this.status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
case 20:
|
|
if(this.sInput.axis == flixel_addons_ui_XY.X) {
|
|
var _this = this.gamepad.analog.justReleased;
|
|
var stick = _this.gamepad.mapping.getAnalogStick(20);
|
|
if(stick == null) {
|
|
return false;
|
|
} else {
|
|
var button = _this.gamepad.buttons[stick.x];
|
|
if(button != null) {
|
|
return button.hasState(_this.status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
} else {
|
|
var _this = this.gamepad.analog.justReleased;
|
|
var stick = _this.gamepad.mapping.getAnalogStick(20);
|
|
if(stick == null) {
|
|
return false;
|
|
} else {
|
|
var button = _this.gamepad.buttons[stick.y];
|
|
if(button != null) {
|
|
return button.hasState(_this.status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
}
|
|
,checkPressed: function() {
|
|
if(this.gamepad == null) {
|
|
return false;
|
|
}
|
|
var value = false;
|
|
var dz = this.gamepad.get_deadZone();
|
|
switch(this.sInput.id) {
|
|
case 19:
|
|
if(this.sInput.axis == flixel_addons_ui_XY.X) {
|
|
if(this.sInput.positive) {
|
|
var _this = this.gamepad.analog.value.gamepad;
|
|
return _this.getAnalogXAxisValue(_this.mapping.getAnalogStick(19)) > dz;
|
|
} else {
|
|
var _this = this.gamepad.analog.value.gamepad;
|
|
return _this.getAnalogXAxisValue(_this.mapping.getAnalogStick(19)) < -dz;
|
|
}
|
|
} else if(this.sInput.positive) {
|
|
var _this = this.gamepad.analog.value.gamepad;
|
|
return _this.getYAxisRaw(_this.mapping.getAnalogStick(19)) > dz;
|
|
} else {
|
|
var _this = this.gamepad.analog.value.gamepad;
|
|
return _this.getYAxisRaw(_this.mapping.getAnalogStick(19)) < -dz;
|
|
}
|
|
break;
|
|
case 20:
|
|
if(this.sInput.axis == flixel_addons_ui_XY.X) {
|
|
if(this.sInput.positive) {
|
|
var _this = this.gamepad.analog.value.gamepad;
|
|
return _this.getAnalogXAxisValue(_this.mapping.getAnalogStick(20)) > dz;
|
|
} else {
|
|
var _this = this.gamepad.analog.value.gamepad;
|
|
return _this.getAnalogXAxisValue(_this.mapping.getAnalogStick(20)) < -dz;
|
|
}
|
|
} else if(this.sInput.positive) {
|
|
var _this = this.gamepad.analog.value.gamepad;
|
|
return _this.getYAxisRaw(_this.mapping.getAnalogStick(20)) > dz;
|
|
} else {
|
|
var _this = this.gamepad.analog.value.gamepad;
|
|
return _this.getYAxisRaw(_this.mapping.getAnalogStick(20)) < -dz;
|
|
}
|
|
break;
|
|
default:
|
|
value = false;
|
|
return value;
|
|
}
|
|
}
|
|
,checkCombos: function(value) {
|
|
if(this.gamepad == null) {
|
|
return false;
|
|
}
|
|
return this.gamepad.checkButtonArrayState(this.combos,1) == value;
|
|
}
|
|
,checkForbiddens: function(value) {
|
|
if(this.gamepad == null) {
|
|
return false;
|
|
}
|
|
return this.gamepad.checkButtonArrayState(this.forbiddens,1) == value;
|
|
}
|
|
,__class__: flixel_addons_ui_FlxMultiGamepadAnalogStick
|
|
});
|
|
var flixel_addons_ui_XY = $hxEnums["flixel.addons.ui.XY"] = { __ename__ : "flixel.addons.ui.XY", __constructs__ : ["X","Y"]
|
|
,X: {_hx_index:0,__enum__:"flixel.addons.ui.XY",toString:$estr}
|
|
,Y: {_hx_index:1,__enum__:"flixel.addons.ui.XY",toString:$estr}
|
|
};
|
|
var flixel_addons_ui_FlxMultiKey = function(Input,Combos,Forbiddens) {
|
|
flixel_addons_ui_FlxBaseMultiInput.call(this);
|
|
this.input = Input;
|
|
this.combos = Combos;
|
|
this.forbiddens = Forbiddens;
|
|
};
|
|
$hxClasses["flixel.addons.ui.FlxMultiKey"] = flixel_addons_ui_FlxMultiKey;
|
|
flixel_addons_ui_FlxMultiKey.__name__ = "flixel.addons.ui.FlxMultiKey";
|
|
flixel_addons_ui_FlxMultiKey.__super__ = flixel_addons_ui_FlxBaseMultiInput;
|
|
flixel_addons_ui_FlxMultiKey.prototype = $extend(flixel_addons_ui_FlxBaseMultiInput.prototype,{
|
|
checkJustPressed: function() {
|
|
return flixel_FlxG.keys.checkStatus(this.input,2);
|
|
}
|
|
,checkJustReleased: function() {
|
|
return flixel_FlxG.keys.checkStatus(this.input,-1);
|
|
}
|
|
,checkPressed: function() {
|
|
return flixel_FlxG.keys.checkStatus(this.input,1);
|
|
}
|
|
,checkCombos: function(value) {
|
|
return flixel_FlxG.keys.checkKeyArrayState(this.combos,1) == value;
|
|
}
|
|
,checkForbiddens: function(value) {
|
|
return flixel_FlxG.keys.checkKeyArrayState(this.forbiddens,1) == value;
|
|
}
|
|
,__class__: flixel_addons_ui_FlxMultiKey
|
|
});
|
|
var flixel_addons_ui_interfaces_IFlxUIWidget = function() { };
|
|
$hxClasses["flixel.addons.ui.interfaces.IFlxUIWidget"] = flixel_addons_ui_interfaces_IFlxUIWidget;
|
|
flixel_addons_ui_interfaces_IFlxUIWidget.__name__ = "flixel.addons.ui.interfaces.IFlxUIWidget";
|
|
flixel_addons_ui_interfaces_IFlxUIWidget.__isInterface__ = true;
|
|
flixel_addons_ui_interfaces_IFlxUIWidget.__interfaces__ = [flixel_IFlxSprite];
|
|
flixel_addons_ui_interfaces_IFlxUIWidget.prototype = {
|
|
get_width: null
|
|
,set_width: null
|
|
,get_height: null
|
|
,set_height: null
|
|
,name: null
|
|
,broadcastToFlxUI: null
|
|
,__class__: flixel_addons_ui_interfaces_IFlxUIWidget
|
|
,__properties__: {set_height:"set_height",get_height:"get_height",set_width:"set_width",get_width:"get_width"}
|
|
};
|
|
var flixel_addons_ui_FlxUIGroup = function(X,Y) {
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
this.autoBounds = true;
|
|
this.broadcastToFlxUI = true;
|
|
flixel_group_FlxTypedSpriteGroup.call(this,X,Y);
|
|
};
|
|
$hxClasses["flixel.addons.ui.FlxUIGroup"] = flixel_addons_ui_FlxUIGroup;
|
|
flixel_addons_ui_FlxUIGroup.__name__ = "flixel.addons.ui.FlxUIGroup";
|
|
flixel_addons_ui_FlxUIGroup.__interfaces__ = [flixel_addons_ui_interfaces_IFlxUIWidget];
|
|
flixel_addons_ui_FlxUIGroup.__super__ = flixel_group_FlxTypedSpriteGroup;
|
|
flixel_addons_ui_FlxUIGroup.prototype = $extend(flixel_group_FlxTypedSpriteGroup.prototype,{
|
|
name: null
|
|
,broadcastToFlxUI: null
|
|
,autoBounds: null
|
|
,destroy: function() {
|
|
flixel_group_FlxTypedSpriteGroup.prototype.destroy.call(this);
|
|
}
|
|
,add: function(Object1) {
|
|
var obj = flixel_group_FlxTypedSpriteGroup.prototype.add.call(this,Object1);
|
|
if(this.autoBounds) {
|
|
this.calcBounds();
|
|
}
|
|
return obj;
|
|
}
|
|
,remove: function(Object1,Splice) {
|
|
if(Splice == null) {
|
|
Splice = false;
|
|
}
|
|
var obj = flixel_group_FlxTypedSpriteGroup.prototype.remove.call(this,Object1,Splice);
|
|
if(this.autoBounds) {
|
|
this.calcBounds();
|
|
}
|
|
return obj;
|
|
}
|
|
,setScrollFactor: function(X,Y) {
|
|
var _g = 0;
|
|
var _g1 = this.group.members;
|
|
while(_g < _g1.length) {
|
|
var obj = _g1[_g];
|
|
++_g;
|
|
if(obj != null) {
|
|
obj.scrollFactor.set(X,Y);
|
|
}
|
|
}
|
|
}
|
|
,hasThis: function(Object1) {
|
|
var _g = 0;
|
|
var _g1 = this.group.members;
|
|
while(_g < _g1.length) {
|
|
var obj = _g1[_g];
|
|
++_g;
|
|
if(obj == Object1) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,calcBounds: function(rect) {
|
|
if(this.group.members != null && this.group.members.length > 0) {
|
|
var left = Infinity;
|
|
var right = -Infinity;
|
|
var top = Infinity;
|
|
var bottom = -Infinity;
|
|
var _g = 0;
|
|
var _g1 = this.group.members;
|
|
while(_g < _g1.length) {
|
|
var fb = _g1[_g];
|
|
++_g;
|
|
if(fb != null) {
|
|
if(js_Boot.__implements(fb,flixel_addons_ui_interfaces_IFlxUIWidget)) {
|
|
var flui = fb;
|
|
if(flui.x < left) {
|
|
left = flui.x;
|
|
}
|
|
if(flui.x + flui.get_width() > right) {
|
|
right = flui.x + flui.get_width();
|
|
}
|
|
if(flui.y < top) {
|
|
top = flui.y;
|
|
}
|
|
if(flui.y + flui.get_height() > bottom) {
|
|
bottom = flui.y + flui.get_height();
|
|
}
|
|
} else if(((fb) instanceof flixel_FlxSprite)) {
|
|
var flxi = fb;
|
|
if(flxi.x < left) {
|
|
left = flxi.x;
|
|
}
|
|
if(flxi.x > right) {
|
|
right = flxi.x;
|
|
}
|
|
if(flxi.y < top) {
|
|
top = flxi.y;
|
|
}
|
|
if(flxi.y > bottom) {
|
|
bottom = flxi.y;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
this.set_width(right - left);
|
|
this.set_height(bottom - top);
|
|
if(rect != null) {
|
|
rect.x = left;
|
|
rect.y = top;
|
|
rect.width = this.get_width();
|
|
rect.height = this.get_height();
|
|
}
|
|
} else {
|
|
this.set_width(this.set_height(0));
|
|
}
|
|
}
|
|
,floorAll: function() {
|
|
var fs = null;
|
|
var _g = 0;
|
|
var _g1 = this.group.members;
|
|
while(_g < _g1.length) {
|
|
var fb = _g1[_g];
|
|
++_g;
|
|
fs = fb;
|
|
fs.set_x(Math.floor(fs.x));
|
|
fs.set_y(Math.floor(fs.y));
|
|
}
|
|
}
|
|
,__class__: flixel_addons_ui_FlxUIGroup
|
|
});
|
|
var flixel_addons_ui_FlxUI = function(data,ptr,superIndex_,tongue_,liveFilePath_,uiVars_) {
|
|
if(liveFilePath_ == null) {
|
|
liveFilePath_ = "";
|
|
}
|
|
this._scaledAssets = [];
|
|
this._assetsToCleanUp = [];
|
|
this._safe_input_delay_elapsed = 0.0;
|
|
this._curr_mode = "";
|
|
this._pointY = 1;
|
|
this._pointX = 1;
|
|
this._postLoaded = false;
|
|
this.cursorLists = null;
|
|
this.getTextFallback = null;
|
|
this.failed_by = 0;
|
|
this.failed = false;
|
|
this.safe_input_delay_time = 0.01;
|
|
this.do_safe_input_delay = true;
|
|
flixel_addons_ui_FlxUIGroup.call(this);
|
|
this._ptr_tongue = tongue_;
|
|
this._ptr = ptr;
|
|
if(superIndex_ != null) {
|
|
this.setSuperIndex(superIndex_);
|
|
}
|
|
if(uiVars_ != null) {
|
|
this._variable_index = new haxe_ds_StringMap();
|
|
var key = haxe_ds_StringMap.keysIterator(uiVars_.h);
|
|
while(key.hasNext()) {
|
|
var key1 = key.next();
|
|
this._variable_index.h[key1] = uiVars_.h[key1];
|
|
}
|
|
}
|
|
if(data != null) {
|
|
this.load(data);
|
|
}
|
|
};
|
|
$hxClasses["flixel.addons.ui.FlxUI"] = flixel_addons_ui_FlxUI;
|
|
flixel_addons_ui_FlxUI.__name__ = "flixel.addons.ui.FlxUI";
|
|
flixel_addons_ui_FlxUI.__interfaces__ = [flixel_addons_ui_interfaces_IEventGetter];
|
|
flixel_addons_ui_FlxUI.event = function(name,sender,data,params) {
|
|
var currState = flixel_addons_ui_FlxUI.getLeafUIState();
|
|
if(currState != null) {
|
|
currState.getEvent(name,sender,data,params);
|
|
}
|
|
};
|
|
flixel_addons_ui_FlxUI.fontStr = function(str,style) {
|
|
if(style == null) {
|
|
style = "";
|
|
}
|
|
var currState = flixel_addons_ui_FlxUI.getLeafUIState();
|
|
var tongue = currState._tongue;
|
|
var t = tongue != null ? tongue : null;
|
|
if(t != null) {
|
|
str = t.getFont(str);
|
|
}
|
|
var style1 = style;
|
|
if(style1 == null) {
|
|
style1 = "";
|
|
}
|
|
var style = style1;
|
|
if(style == null) {
|
|
style = "";
|
|
}
|
|
style = style.toLowerCase();
|
|
var suffix = "";
|
|
switch(style) {
|
|
case "b":case "bold":
|
|
suffix = "b";
|
|
break;
|
|
case "bi":case "bold-italic":case "boldi":case "bolditalic":case "ib":case "ibold":case "italic-bold":case "italicbold":case "z":
|
|
suffix = "z";
|
|
break;
|
|
case "i":case "italic":
|
|
suffix = "i";
|
|
break;
|
|
case "":case "none":case "normal":case "regular":
|
|
suffix = "";
|
|
break;
|
|
}
|
|
if(str.indexOf("assets/fonts/") != 0) {
|
|
return "assets/fonts/" + str + suffix;
|
|
} else {
|
|
return str + suffix;
|
|
}
|
|
};
|
|
flixel_addons_ui_FlxUI.fontSize = function(str,size) {
|
|
var currState = flixel_addons_ui_FlxUI.getLeafUIState();
|
|
var tongue = currState._tongue;
|
|
var t = tongue != null ? tongue : null;
|
|
if(t != null) {
|
|
size = t.getFontSize(str,size);
|
|
}
|
|
return size;
|
|
};
|
|
flixel_addons_ui_FlxUI.font = function(str,style,extension) {
|
|
if(extension == null) {
|
|
extension = ".ttf";
|
|
}
|
|
if(style == null) {
|
|
style = "";
|
|
}
|
|
var currState = flixel_addons_ui_FlxUI.getLeafUIState();
|
|
var tongue = currState._tongue;
|
|
var t = tongue != null ? tongue : null;
|
|
if(t != null) {
|
|
str = t.getFont(str);
|
|
}
|
|
return flixel_addons_ui_U.font(str,style,extension);
|
|
};
|
|
flixel_addons_ui_FlxUI.__getTongue = function() {
|
|
var currState = flixel_addons_ui_FlxUI.getLeafUIState();
|
|
var tongue = currState._tongue;
|
|
if(tongue != null) {
|
|
return tongue;
|
|
}
|
|
return null;
|
|
};
|
|
flixel_addons_ui_FlxUI.forceFocus = function(b,thing) {
|
|
var currState = flixel_addons_ui_FlxUI.getLeafUIState();
|
|
if(currState != null) {
|
|
currState.forceFocus(b,thing);
|
|
}
|
|
};
|
|
flixel_addons_ui_FlxUI.getLeafUIState = function() {
|
|
var state = flixel_FlxG.game._state;
|
|
if(state != null) {
|
|
while(state.subState != null) state = state.subState;
|
|
}
|
|
if(js_Boot.__implements(state,flixel_addons_ui_interfaces_IFlxUIState)) {
|
|
return state;
|
|
}
|
|
return null;
|
|
};
|
|
flixel_addons_ui_FlxUI.request = function(name,sender,data,params) {
|
|
var currState = flixel_addons_ui_FlxUI.getLeafUIState();
|
|
if(currState != null) {
|
|
return currState.getRequest(name,sender,data,params);
|
|
}
|
|
return null;
|
|
};
|
|
flixel_addons_ui_FlxUI._delta = function(thing,X,Y) {
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _g = thing;
|
|
_g.set_x(_g.x + X);
|
|
var _g = thing;
|
|
_g.set_y(_g.y + Y);
|
|
};
|
|
flixel_addons_ui_FlxUI._center = function(thing,X,Y) {
|
|
if(Y == null) {
|
|
Y = true;
|
|
}
|
|
if(X == null) {
|
|
X = true;
|
|
}
|
|
if(X) {
|
|
thing.set_x((flixel_FlxG.width - thing.get_width()) / 2);
|
|
}
|
|
if(Y) {
|
|
thing.set_y((flixel_FlxG.height - thing.get_height()) / 2);
|
|
}
|
|
return thing;
|
|
};
|
|
flixel_addons_ui_FlxUI.consolidateData = function(data,definition,combineUniqueChildren) {
|
|
if(combineUniqueChildren == null) {
|
|
combineUniqueChildren = false;
|
|
}
|
|
if(data == null && definition != null) {
|
|
return definition;
|
|
}
|
|
if(definition == null) {
|
|
return data;
|
|
} else {
|
|
var new_data = Xml.parse(haxe_xml_Printer.print(definition)).firstElement();
|
|
var att = data.attributes();
|
|
while(att.hasNext()) {
|
|
var att1 = att.next();
|
|
var val = haxe_xml__$Access_AttribAccess.resolve(data,att1);
|
|
new_data.set(att1,val);
|
|
}
|
|
var v;
|
|
if(data.nodeType == Xml.Document) {
|
|
v = "Document";
|
|
} else {
|
|
if(data.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element but found " + (data.nodeType == null ? "null" : XmlType.toString(data.nodeType)));
|
|
}
|
|
v = data.nodeName;
|
|
}
|
|
if(new_data.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element but found " + (new_data.nodeType == null ? "null" : XmlType.toString(new_data.nodeType)));
|
|
}
|
|
new_data.nodeName = v;
|
|
if(haxe_xml__$Access_HasAttribAccess.resolve(data,"name") || haxe_xml__$Access_HasAttribAccess.resolve(data,"id")) {
|
|
new_data.set("name",flixel_addons_ui_U.xml_name(data));
|
|
} else {
|
|
new_data.set("name","");
|
|
}
|
|
var element = data.elements();
|
|
while(element.hasNext()) {
|
|
var element1 = element.next();
|
|
if(element1.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element but found " + (element1.nodeType == null ? "null" : XmlType.toString(element1.nodeType)));
|
|
}
|
|
var nodeName = element1.nodeName;
|
|
var notCombine = !combineUniqueChildren;
|
|
if(combineUniqueChildren) {
|
|
var new_els = new_data.elementsNamed(nodeName);
|
|
var new_el = new_els.next();
|
|
if(haxe_xml__$Access_NodeListAccess.resolve(data,nodeName).length == 1 && new_el != null && new_els.hasNext() == false) {
|
|
var att = element1.attributes();
|
|
while(att.hasNext()) {
|
|
var att1 = att.next();
|
|
new_el.set(att1,element1.get(att1));
|
|
}
|
|
} else {
|
|
notCombine = true;
|
|
}
|
|
}
|
|
if(notCombine) {
|
|
new_data.insertChild(Xml.parse(haxe_xml_Printer.print(element1)).firstElement(),0);
|
|
}
|
|
}
|
|
if(new_data.nodeType != Xml.Document && new_data.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Invalid nodeType " + (new_data.nodeType == null ? "null" : XmlType.toString(new_data.nodeType)));
|
|
}
|
|
var this1 = new_data;
|
|
return this1;
|
|
}
|
|
};
|
|
flixel_addons_ui_FlxUI._loadBitmapRect = function(source,rect_str) {
|
|
var b1 = openfl_utils_Assets.getBitmapData(flixel_addons_ui_U.gfx(source));
|
|
var coords = rect_str.split(",");
|
|
var rect = null;
|
|
if(coords != null && coords.length == 4) {
|
|
var x_ = Std.parseInt(coords[0]);
|
|
var y_ = Std.parseInt(coords[1]);
|
|
var w_ = Std.parseInt(coords[2]);
|
|
var h_ = Std.parseInt(coords[3]);
|
|
rect = new openfl_geom_Rectangle(x_,y_,w_,h_);
|
|
}
|
|
var r = rect;
|
|
var b2 = new openfl_display_BitmapData(r.width | 0,r.height | 0,true,16777215);
|
|
b2.copyPixels(b1,r,new openfl_geom_Point(0,0));
|
|
return b2;
|
|
};
|
|
flixel_addons_ui_FlxUI.getParams = function(data) {
|
|
var params = null;
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(data,"param")) {
|
|
params = [];
|
|
var _g = 0;
|
|
var _g1 = haxe_xml__$Access_NodeListAccess.resolve(data,"param");
|
|
while(_g < _g1.length) {
|
|
var param = _g1[_g];
|
|
++_g;
|
|
if(haxe_xml__$Access_HasAttribAccess.resolve(param,"type") && haxe_xml__$Access_HasAttribAccess.resolve(param,"value")) {
|
|
var type = haxe_xml__$Access_AttribAccess.resolve(param,"type");
|
|
type = type.toLowerCase();
|
|
var valueStr = haxe_xml__$Access_AttribAccess.resolve(param,"value");
|
|
var value = valueStr;
|
|
var sort = flixel_addons_ui_U.xml_i(param,"sort",-1);
|
|
switch(type) {
|
|
case "bool":case "boolean":
|
|
var str = new String(valueStr);
|
|
str = str.toLowerCase();
|
|
if(str == "true" || str == "1") {
|
|
value = true;
|
|
} else {
|
|
value = false;
|
|
}
|
|
break;
|
|
case "color":case "hex":
|
|
var return_val = flixel_util_FlxColor.fromString(valueStr);
|
|
if(return_val == null) {
|
|
throw haxe_Exception.thrown("U.parseHex() unable to parse hex String " + valueStr);
|
|
}
|
|
value = return_val;
|
|
break;
|
|
case "float":
|
|
value = parseFloat(valueStr);
|
|
break;
|
|
case "int":
|
|
value = Std.parseInt(valueStr);
|
|
break;
|
|
case "string":
|
|
value = new String(valueStr);
|
|
break;
|
|
}
|
|
params.push({ sort : sort, value : value});
|
|
}
|
|
}
|
|
params.sort(flixel_addons_ui_FlxUI.sortParams);
|
|
var _g = 0;
|
|
var _g1 = params.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
params[i] = params[i].value;
|
|
}
|
|
}
|
|
return params;
|
|
};
|
|
flixel_addons_ui_FlxUI.sortParams = function(a,b) {
|
|
if(a.sort < b.sort) {
|
|
return -1;
|
|
}
|
|
if(a.sort > b.sort) {
|
|
return 1;
|
|
}
|
|
return 0;
|
|
};
|
|
flixel_addons_ui_FlxUI.__super__ = flixel_addons_ui_FlxUIGroup;
|
|
flixel_addons_ui_FlxUI.prototype = $extend(flixel_addons_ui_FlxUIGroup.prototype,{
|
|
do_safe_input_delay: null
|
|
,safe_input_delay_time: null
|
|
,failed: null
|
|
,failed_by: null
|
|
,get_isRoot: function() {
|
|
if(this._ptr != null) {
|
|
return this._ptr == flixel_addons_ui_FlxUI.getLeafUIState();
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,liveFilePath: null
|
|
,get_tongue: function() {
|
|
return this._ptr_tongue;
|
|
}
|
|
,set_tongue: function(t) {
|
|
this._ptr_tongue = t;
|
|
this._tongueSet(this.group.members,t);
|
|
return this._ptr_tongue;
|
|
}
|
|
,focus: null
|
|
,set_focus: function(widget) {
|
|
if(this.focus != null) {
|
|
this.onFocusLost(this.focus);
|
|
}
|
|
this.focus = widget;
|
|
if(this.focus != null) {
|
|
this.onFocus(this.focus);
|
|
}
|
|
return widget;
|
|
}
|
|
,getTextFallback: null
|
|
,cursorLists: null
|
|
,_ptr_tongue: null
|
|
,_data: null
|
|
,_tongueSet: function(list,tongue) {
|
|
var _g = 0;
|
|
while(_g < list.length) {
|
|
var fs = list[_g];
|
|
++_g;
|
|
if(((fs) instanceof flixel_addons_ui_FlxUIGroup)) {
|
|
var g = js_Boot.__cast(fs , flixel_addons_ui_FlxUIGroup);
|
|
this._tongueSet(g.group.members,tongue);
|
|
} else if(((fs) instanceof flixel_addons_ui_FlxUI)) {
|
|
var fu = js_Boot.__cast(fs , flixel_addons_ui_FlxUI);
|
|
fu.set_tongue(tongue);
|
|
}
|
|
}
|
|
}
|
|
,callEvent: function(name,sender,data,params) {
|
|
this.getEvent(name,sender,data,params);
|
|
}
|
|
,getEvent: function(name,sender,data,params) {
|
|
if(this._ptr != null) {
|
|
this._ptr.getEvent(name,sender,data,params);
|
|
if(name == "post_load") {
|
|
var key = haxe_ds_StringMap.keysIterator(this._asset_index.h);
|
|
while(key.hasNext()) {
|
|
var key1 = key.next();
|
|
var thing = this._asset_index.h[key1];
|
|
if(((thing) instanceof flixel_addons_ui_FlxUI)) {
|
|
var fui = thing;
|
|
fui.getEvent("post_load",sender,data);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,getRequest: function(name,sender,data,params) {
|
|
if(this._ptr != null) {
|
|
return this._ptr.getRequest(name,sender,data,params);
|
|
}
|
|
return null;
|
|
}
|
|
,onFocus: function(widget) {
|
|
if(((widget) instanceof flixel_addons_ui_FlxUIDropDownMenu)) {
|
|
var _g = 0;
|
|
var _g1 = this.group.members;
|
|
while(_g < _g1.length) {
|
|
var asset = _g1[_g];
|
|
++_g;
|
|
this.setWidgetSuppression(asset,widget);
|
|
}
|
|
}
|
|
}
|
|
,setWidgetSuppression: function(asset,butNotThisOne,suppressed) {
|
|
if(suppressed == null) {
|
|
suppressed = true;
|
|
}
|
|
if(js_Boot.__implements(asset,flixel_addons_ui_interfaces_IFlxUIClickable)) {
|
|
var skip = false;
|
|
if(((asset) instanceof flixel_addons_ui_FlxUIDropDownMenu)) {
|
|
var ddasset = asset;
|
|
if(ddasset == butNotThisOne) {
|
|
skip = true;
|
|
}
|
|
}
|
|
if(!skip) {
|
|
var ibtn = asset;
|
|
ibtn.set_skipButtonUpdate(suppressed);
|
|
}
|
|
} else if(((asset) instanceof flixel_addons_ui_FlxUIGroup)) {
|
|
var g = asset;
|
|
var _g = 0;
|
|
var _g1 = g.group.members;
|
|
while(_g < _g1.length) {
|
|
var groupAsset = _g1[_g];
|
|
++_g;
|
|
this.setWidgetSuppression(groupAsset,butNotThisOne,suppressed);
|
|
}
|
|
}
|
|
}
|
|
,onFocusLost: function(widget) {
|
|
if(((widget) instanceof flixel_addons_ui_FlxUIDropDownMenu)) {
|
|
var _g = 0;
|
|
var _g1 = this.group.members;
|
|
while(_g < _g1.length) {
|
|
var asset = _g1[_g];
|
|
++_g;
|
|
this.setWidgetSuppression(asset,null,false);
|
|
}
|
|
}
|
|
}
|
|
,setSuperIndex: function(flxUI) {
|
|
this._superIndexUI = flxUI;
|
|
}
|
|
,update: function(elapsed) {
|
|
if(this.do_safe_input_delay) {
|
|
this._safe_input_delay_elapsed += flixel_FlxG.elapsed;
|
|
if(this._safe_input_delay_elapsed > this.safe_input_delay_time) {
|
|
this.do_safe_input_delay = false;
|
|
} else {
|
|
return;
|
|
}
|
|
}
|
|
flixel_addons_ui_FlxUIGroup.prototype.update.call(this,elapsed);
|
|
}
|
|
,toggleShow: function(key) {
|
|
var thing = this.getAsset(key,false);
|
|
if(thing == null) {
|
|
var group = this.getGroup(key,false);
|
|
if(group != null) {
|
|
group.set_visible(!group.visible);
|
|
return group.visible;
|
|
}
|
|
} else {
|
|
thing.set_visible(!thing.visible);
|
|
return thing.visible;
|
|
}
|
|
return false;
|
|
}
|
|
,showGroup: function(key,Show,Active) {
|
|
var group = this.getGroup(key,false);
|
|
if(group != null) {
|
|
group.set_visible(Show);
|
|
if(Active == null) {
|
|
group.set_active(Show);
|
|
} else {
|
|
group.set_active(Active);
|
|
}
|
|
}
|
|
}
|
|
,showAsset: function(key,Show,Active) {
|
|
var asset = this.getAsset(key,false);
|
|
if(asset != null) {
|
|
asset.set_visible(Show);
|
|
if(Active == null) {
|
|
asset.set_active(Show);
|
|
} else {
|
|
asset.set_active(Active);
|
|
}
|
|
}
|
|
}
|
|
,removeAsset: function(key,destroy) {
|
|
if(destroy == null) {
|
|
destroy = true;
|
|
}
|
|
var asset = this.getAsset(key,false);
|
|
if(asset != null) {
|
|
this.replaceInGroup(asset,null,true);
|
|
var _this = this._asset_index;
|
|
if(Object.prototype.hasOwnProperty.call(_this.h,key)) {
|
|
delete(_this.h[key]);
|
|
}
|
|
}
|
|
if(destroy && asset != null) {
|
|
asset.destroy();
|
|
asset = null;
|
|
}
|
|
return asset;
|
|
}
|
|
,addAsset: function(asset,key,group_name,recursive) {
|
|
if(recursive == null) {
|
|
recursive = false;
|
|
}
|
|
if(group_name == null) {
|
|
group_name = "";
|
|
}
|
|
if(Object.prototype.hasOwnProperty.call(this._asset_index.h,key)) {
|
|
var tmp = key == "screen";
|
|
return false;
|
|
}
|
|
var g = this.getGroup(group_name,recursive);
|
|
if(g != null) {
|
|
g.add(asset);
|
|
} else {
|
|
this.add(asset);
|
|
}
|
|
this._asset_index.h[key] = asset;
|
|
return true;
|
|
}
|
|
,replaceAsset: function(key,replace,center_x,center_y,destroy_old) {
|
|
if(destroy_old == null) {
|
|
destroy_old = true;
|
|
}
|
|
if(center_y == null) {
|
|
center_y = true;
|
|
}
|
|
if(center_x == null) {
|
|
center_x = true;
|
|
}
|
|
var original = this.getAsset(key,false);
|
|
if(original != null) {
|
|
if(!center_x) {
|
|
replace.set_x(original.x);
|
|
} else {
|
|
replace.set_x(original.x + (original.get_width() - replace.get_width()) / 2);
|
|
}
|
|
if(!center_y) {
|
|
replace.set_y(original.y);
|
|
} else {
|
|
replace.set_y(original.y + (original.get_height() - replace.get_height()) / 2);
|
|
}
|
|
this.replaceInGroup(original,replace);
|
|
var _this = this._asset_index;
|
|
if(Object.prototype.hasOwnProperty.call(_this.h,key)) {
|
|
delete(_this.h[key]);
|
|
}
|
|
this._asset_index.h[key] = replace;
|
|
if(destroy_old) {
|
|
original.destroy();
|
|
original = null;
|
|
}
|
|
}
|
|
return original;
|
|
}
|
|
,destroy: function() {
|
|
if(this._group_index != null) {
|
|
var key = haxe_ds_StringMap.keysIterator(this._group_index.h);
|
|
while(key.hasNext()) {
|
|
var key1 = key.next();
|
|
var _this = this._group_index;
|
|
if(Object.prototype.hasOwnProperty.call(_this.h,key1)) {
|
|
delete(_this.h[key1]);
|
|
}
|
|
}
|
|
this._group_index = null;
|
|
}
|
|
if(this._asset_index != null) {
|
|
var key = haxe_ds_StringMap.keysIterator(this._asset_index.h);
|
|
while(key.hasNext()) {
|
|
var key1 = key.next();
|
|
var _this = this._asset_index;
|
|
if(Object.prototype.hasOwnProperty.call(_this.h,key1)) {
|
|
delete(_this.h[key1]);
|
|
}
|
|
}
|
|
this._asset_index = null;
|
|
}
|
|
if(this._tag_index != null) {
|
|
var key = haxe_ds_StringMap.keysIterator(this._tag_index.h);
|
|
while(key.hasNext()) {
|
|
var key1 = key.next();
|
|
flixel_util_FlxArrayUtil.clearArray(this._tag_index.h[key1]);
|
|
var _this = this._tag_index;
|
|
if(Object.prototype.hasOwnProperty.call(_this.h,key1)) {
|
|
delete(_this.h[key1]);
|
|
}
|
|
}
|
|
this._tag_index = null;
|
|
}
|
|
if(this._definition_index != null) {
|
|
var key = haxe_ds_StringMap.keysIterator(this._definition_index.h);
|
|
while(key.hasNext()) {
|
|
var key1 = key.next();
|
|
var _this = this._definition_index;
|
|
if(Object.prototype.hasOwnProperty.call(_this.h,key1)) {
|
|
delete(_this.h[key1]);
|
|
}
|
|
}
|
|
this._definition_index = null;
|
|
}
|
|
if(this._variable_index != null) {
|
|
var key = haxe_ds_StringMap.keysIterator(this._variable_index.h);
|
|
while(key.hasNext()) {
|
|
var key1 = key.next();
|
|
var _this = this._variable_index;
|
|
if(Object.prototype.hasOwnProperty.call(_this.h,key1)) {
|
|
delete(_this.h[key1]);
|
|
}
|
|
}
|
|
this._variable_index = null;
|
|
}
|
|
if(this._mode_index != null) {
|
|
var key = haxe_ds_StringMap.keysIterator(this._mode_index.h);
|
|
while(key.hasNext()) {
|
|
var key1 = key.next();
|
|
var _this = this._mode_index;
|
|
if(Object.prototype.hasOwnProperty.call(_this.h,key1)) {
|
|
delete(_this.h[key1]);
|
|
}
|
|
}
|
|
this._mode_index = null;
|
|
}
|
|
this._ptr = null;
|
|
this._superIndexUI = null;
|
|
this._ptr_tongue = null;
|
|
if(this.cursorLists != null) {
|
|
var _g = 0;
|
|
var _g1 = this.cursorLists;
|
|
while(_g < _g1.length) {
|
|
var arr = _g1[_g];
|
|
++_g;
|
|
flixel_util_FlxArrayUtil.clearArray(arr);
|
|
}
|
|
flixel_util_FlxArrayUtil.clearArray(this.cursorLists);
|
|
}
|
|
this.cursorLists = null;
|
|
flixel_util_FlxArrayUtil.clearArray(this._failure_checks);
|
|
this._failure_checks = null;
|
|
flixel_util_FlxArrayUtil.clearArray(this._assetsToCleanUp);
|
|
this._assetsToCleanUp = null;
|
|
flixel_util_FlxArrayUtil.clearArray(this._scaledAssets);
|
|
this._scaledAssets = null;
|
|
flixel_addons_ui_FlxUIGroup.prototype.destroy.call(this);
|
|
}
|
|
,load: function(data) {
|
|
this._group_index = new haxe_ds_StringMap();
|
|
this._asset_index = new haxe_ds_StringMap();
|
|
this._tag_index = new haxe_ds_StringMap();
|
|
this._definition_index = new haxe_ds_StringMap();
|
|
if(this._variable_index == null) {
|
|
this._variable_index = new haxe_ds_StringMap();
|
|
}
|
|
this._mode_index = new haxe_ds_StringMap();
|
|
if(data != null) {
|
|
if(this._superIndexUI == null) {
|
|
var screenRegion = new flixel_addons_ui_FlxUIRegion(0,0,flixel_FlxG.width,flixel_FlxG.height);
|
|
screenRegion.name = "screen";
|
|
this.addAsset(screenRegion,"screen");
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(data,"screen_override")) {
|
|
if(this._loadTest(haxe_xml__$Access_NodeAccess.resolve(data,"screen_override"))) {
|
|
var screenNode = haxe_xml__$Access_NodeAccess.resolve(data,"screen_override");
|
|
this._loadPosition(screenNode,screenRegion);
|
|
screenRegion.set_width(this._loadWidth(screenNode,flixel_FlxG.width));
|
|
screenRegion.set_height(this._loadHeight(screenNode,flixel_FlxG.height));
|
|
}
|
|
}
|
|
}
|
|
this._data = data;
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(data,"inject")) {
|
|
while(haxe_xml__$Access_HasNodeAccess.resolve(data,"inject")) {
|
|
var inj_data = haxe_xml__$Access_NodeAccess.resolve(data,"inject");
|
|
var inj_name = flixel_addons_ui_U.xml_name(inj_data);
|
|
var payload = flixel_addons_ui_U.xml(inj_name,"xml",false);
|
|
if(payload != null) {
|
|
var parent = inj_data.parent;
|
|
var i = 0;
|
|
var _g = 0;
|
|
var _g1 = parent.children;
|
|
while(_g < _g1.length) {
|
|
var child = _g1[_g];
|
|
++_g;
|
|
if(child == inj_data) {
|
|
break;
|
|
}
|
|
++i;
|
|
}
|
|
if(parent.removeChild(inj_data)) {
|
|
var j = 0;
|
|
var e = payload.elements();
|
|
while(e.hasNext()) {
|
|
var e1 = e.next();
|
|
parent.insertChild(e1,i + j);
|
|
++j;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(data,"include")) {
|
|
var _g = 0;
|
|
var _g1 = haxe_xml__$Access_NodeListAccess.resolve(data,"include");
|
|
while(_g < _g1.length) {
|
|
var inc_data = _g1[_g];
|
|
++_g;
|
|
var inc_name = flixel_addons_ui_U.xml_name(inc_data);
|
|
var liveFile = null;
|
|
var inc_xml = null;
|
|
if(liveFile == null) {
|
|
inc_xml = flixel_addons_ui_U.xml(inc_name);
|
|
} else {
|
|
inc_xml = liveFile;
|
|
}
|
|
if(inc_xml != null) {
|
|
var _g2 = 0;
|
|
var _g3 = haxe_xml__$Access_NodeListAccess.resolve(inc_xml,"definition");
|
|
while(_g2 < _g3.length) {
|
|
var def_data = _g3[_g2];
|
|
++_g2;
|
|
var def_name = "include:" + flixel_addons_ui_U.xml_name(def_data);
|
|
this.unparentXML(def_data);
|
|
this._definition_index.h[def_name] = def_data;
|
|
}
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(inc_xml,"point_size")) {
|
|
this._loadPointSize(inc_xml);
|
|
}
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(inc_xml,"default")) {
|
|
var _g4 = 0;
|
|
var _g5 = haxe_xml__$Access_NodeListAccess.resolve(inc_xml,"default");
|
|
while(_g4 < _g5.length) {
|
|
var defaultNode = _g5[_g4];
|
|
++_g4;
|
|
if(this._loadTest(defaultNode)) {
|
|
var defaultName = flixel_addons_ui_U.xml_name(defaultNode);
|
|
this.unparentXML(defaultNode);
|
|
this._definition_index.h["default:" + defaultName] = defaultNode;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(data,"point_size")) {
|
|
this._loadPointSize(data);
|
|
}
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(data,"definition")) {
|
|
var _g = 0;
|
|
var _g1 = haxe_xml__$Access_NodeListAccess.resolve(data,"definition");
|
|
while(_g < _g1.length) {
|
|
var def_data = _g1[_g];
|
|
++_g;
|
|
if(this._loadTest(def_data)) {
|
|
var def_name = flixel_addons_ui_U.xml_name(def_data);
|
|
var error = "";
|
|
if(def_name.indexOf("default:") != -1) {
|
|
error = "'default:'";
|
|
}
|
|
if(def_name.indexOf("include:") != -1) {
|
|
error = "'include:'";
|
|
}
|
|
if(error == "") {
|
|
this.unparentXML(def_data);
|
|
this._definition_index.h[def_name] = def_data;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(data,"default")) {
|
|
var _g = 0;
|
|
var _g1 = haxe_xml__$Access_NodeListAccess.resolve(data,"default");
|
|
while(_g < _g1.length) {
|
|
var defaultNode = _g1[_g];
|
|
++_g;
|
|
if(this._loadTest(defaultNode)) {
|
|
var defaultName = flixel_addons_ui_U.xml_name(defaultNode);
|
|
this.unparentXML(defaultNode);
|
|
this._definition_index.h["default:" + defaultName] = defaultNode;
|
|
}
|
|
}
|
|
}
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(data,"variable")) {
|
|
var _g = 0;
|
|
var _g1 = haxe_xml__$Access_NodeListAccess.resolve(data,"variable");
|
|
while(_g < _g1.length) {
|
|
var var_data = _g1[_g];
|
|
++_g;
|
|
if(this._loadTest(var_data)) {
|
|
var var_name = flixel_addons_ui_U.xml_name(var_data);
|
|
var var_value = flixel_addons_ui_U.xml_str(var_data,"value");
|
|
if(var_name != "") {
|
|
this._variable_index.h[var_name] = var_value;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(data,"mode")) {
|
|
var _g = 0;
|
|
var _g1 = haxe_xml__$Access_NodeListAccess.resolve(data,"mode");
|
|
while(_g < _g1.length) {
|
|
var mode_data = _g1[_g];
|
|
++_g;
|
|
if(this._loadTest(mode_data)) {
|
|
var mode_data2 = this.applyNodeConditionals(mode_data);
|
|
var mode_name = flixel_addons_ui_U.xml_name(mode_data);
|
|
this.unparentXML(mode_data2);
|
|
this._mode_index.h[mode_name] = mode_data2;
|
|
}
|
|
}
|
|
}
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(data,"group")) {
|
|
var _g = 0;
|
|
var _g1 = haxe_xml__$Access_NodeListAccess.resolve(data,"group");
|
|
while(_g < _g1.length) {
|
|
var group_data = _g1[_g];
|
|
++_g;
|
|
if(this._loadTest(group_data)) {
|
|
var name = flixel_addons_ui_U.xml_name(group_data);
|
|
var custom = flixel_addons_ui_U.xml_str(group_data,"custom");
|
|
var tempGroup = null;
|
|
if(custom != "") {
|
|
var result = this._ptr.getRequest("ui_get_group:",this,custom);
|
|
if(result != null && ((result) instanceof flixel_addons_ui_FlxUIGroup)) {
|
|
tempGroup = result;
|
|
}
|
|
}
|
|
if(tempGroup == null) {
|
|
tempGroup = new flixel_addons_ui_FlxUIGroup();
|
|
}
|
|
tempGroup.name = name;
|
|
this._group_index.h[name] = tempGroup;
|
|
this.add(tempGroup);
|
|
}
|
|
}
|
|
}
|
|
if(data.firstElement() != null) {
|
|
var node = data.elements();
|
|
while(node.hasNext()) {
|
|
var node1 = node.next();
|
|
this._loadSub(node1);
|
|
}
|
|
}
|
|
this._postLoad(data);
|
|
} else {
|
|
this._onFinishLoad();
|
|
}
|
|
}
|
|
,unparentXML: function(f) {
|
|
return flixel_addons_ui_U.unparentXML(f);
|
|
}
|
|
,_loadPointSize: function(data) {
|
|
var data1 = haxe_xml__$Access_NodeAccess.resolve(data,"point_size");
|
|
var default_ = -1.0;
|
|
if(default_ == null) {
|
|
default_ = 0;
|
|
}
|
|
var ptx = this._loadWidth(data1,default_,"x");
|
|
var data1 = haxe_xml__$Access_NodeAccess.resolve(data,"point_size");
|
|
var default_ = -1.0;
|
|
if(default_ == null) {
|
|
default_ = 0;
|
|
}
|
|
var pty = this._loadHeight(data1,default_,"y");
|
|
if(pty < 1 && ptx < 1) {
|
|
pty = this._loadHeight(haxe_xml__$Access_NodeAccess.resolve(data,"point_size"),-1,"value");
|
|
ptx = pty;
|
|
}
|
|
if(pty > 0) {
|
|
this._pointX = ptx;
|
|
}
|
|
if(ptx > 0) {
|
|
this._pointY = pty;
|
|
}
|
|
}
|
|
,_loadSub: function(node,iteration) {
|
|
if(iteration == null) {
|
|
iteration = 0;
|
|
}
|
|
if(node.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element but found " + (node.nodeType == null ? "null" : XmlType.toString(node.nodeType)));
|
|
}
|
|
var type = node.nodeName;
|
|
if(node.nodeType != Xml.Document && node.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Invalid nodeType " + (node.nodeType == null ? "null" : XmlType.toString(node.nodeType)));
|
|
}
|
|
var this1 = node;
|
|
var obj = this1;
|
|
if(type == "load_if") {
|
|
if(this._loadTest(obj)) {
|
|
if(node.firstElement() != null) {
|
|
var subNode = node.elements();
|
|
while(subNode.hasNext()) {
|
|
var subNode1 = subNode.next();
|
|
this._loadSub(subNode1,iteration + 1);
|
|
}
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
var group_name = "";
|
|
var tempGroup = null;
|
|
var thing_name = flixel_addons_ui_U.xml_name(obj);
|
|
if(haxe_xml__$Access_HasAttribAccess.resolve(obj,"group")) {
|
|
group_name = haxe_xml__$Access_AttribAccess.resolve(obj,"group");
|
|
tempGroup = this.getGroup(group_name);
|
|
}
|
|
var thing = this._loadThing(type,obj);
|
|
if(thing != null) {
|
|
this._loadGlobals(obj,thing);
|
|
if(thing_name != null && thing_name != "") {
|
|
this._asset_index.h[thing_name] = thing;
|
|
thing.name = thing_name;
|
|
var thing_tags = flixel_addons_ui_U.xml_str(obj,"tags");
|
|
if(thing_tags != "") {
|
|
var tagArr = thing_tags.split(",");
|
|
this._addTags(tagArr,thing_name);
|
|
}
|
|
}
|
|
this._loadTooltip(thing,obj);
|
|
if(tempGroup != null) {
|
|
tempGroup.add(thing);
|
|
} else {
|
|
this.add(thing);
|
|
}
|
|
this._loadPosition(obj,thing);
|
|
}
|
|
}
|
|
,_addTags: function(arr,thingName) {
|
|
var _g = 0;
|
|
while(_g < arr.length) {
|
|
var tag = arr[_g];
|
|
++_g;
|
|
var list = null;
|
|
if(!Object.prototype.hasOwnProperty.call(this._tag_index.h,tag)) {
|
|
this._tag_index.h[tag] = [];
|
|
}
|
|
list = this._tag_index.h[tag];
|
|
if(list.indexOf(thingName) == -1) {
|
|
list.push(thingName);
|
|
}
|
|
}
|
|
}
|
|
,_loadGlobals: function(data,thing) {
|
|
if(((thing) instanceof flixel_FlxBasic)) {
|
|
var isVis = flixel_addons_ui_U.xml_bool(data,"visible",true);
|
|
var isActive = flixel_addons_ui_U.xml_bool(data,"active",true);
|
|
var numID = flixel_addons_ui_U.xml_i(data,"num_id");
|
|
thing.visible = isVis;
|
|
thing.active = isActive;
|
|
thing.ID = numID;
|
|
if(((thing) instanceof flixel_FlxSprite)) {
|
|
var alpha = flixel_addons_ui_U.xml_f(data,"alpha",1.0);
|
|
var s = thing;
|
|
s.set_alpha(alpha);
|
|
}
|
|
}
|
|
}
|
|
,_postLoad: function(data) {
|
|
this._postLoaded = true;
|
|
if(data.firstElement() != null) {
|
|
var node = data.elements();
|
|
while(node.hasNext()) {
|
|
var node1 = node.next();
|
|
if(node1.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element but found " + (node1.nodeType == null ? "null" : XmlType.toString(node1.nodeType)));
|
|
}
|
|
var tmp = node1.nodeName.toLowerCase();
|
|
if(node1.nodeType != Xml.Document && node1.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Invalid nodeType " + (node1.nodeType == null ? "null" : XmlType.toString(node1.nodeType)));
|
|
}
|
|
var this1 = node1;
|
|
this._postLoadThing(tmp,this1);
|
|
}
|
|
}
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(data,"mode")) {
|
|
var _g = 0;
|
|
var _g1 = haxe_xml__$Access_NodeListAccess.resolve(data,"mode");
|
|
while(_g < _g1.length) {
|
|
var mode_node = _g1[_g];
|
|
++_g;
|
|
var is_default = flixel_addons_ui_U.xml_bool(mode_node,"is_default");
|
|
if(is_default) {
|
|
var mode_name = flixel_addons_ui_U.xml_name(mode_node);
|
|
this.setMode(mode_name);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
if(this._failure_checks != null) {
|
|
var _g = 0;
|
|
var _g1 = this._failure_checks;
|
|
while(_g < _g1.length) {
|
|
var data = _g1[_g];
|
|
++_g;
|
|
if(this._checkFailure(data)) {
|
|
this.failed = true;
|
|
break;
|
|
}
|
|
}
|
|
flixel_addons_ui_U.clearArraySoft(this._failure_checks);
|
|
this._failure_checks = null;
|
|
}
|
|
this._onFinishLoad();
|
|
}
|
|
,_sendTo: function(thing,dir) {
|
|
var group = this.getAssetGroup(null,thing);
|
|
if(group == null) {
|
|
if(this.group.members.indexOf(thing) != -1) {
|
|
group = this;
|
|
} else {
|
|
return;
|
|
}
|
|
}
|
|
if(dir != -1 && dir != 1) {
|
|
return;
|
|
}
|
|
HxOverrides.remove(group.group.members,thing);
|
|
switch(dir) {
|
|
case -1:
|
|
group.group.members.splice(0,0,thing);
|
|
break;
|
|
case 1:
|
|
group.group.members.push(thing);
|
|
break;
|
|
}
|
|
}
|
|
,sendToFront: function(name,recursive) {
|
|
if(recursive == null) {
|
|
recursive = true;
|
|
}
|
|
var thing = this.getAsset(name,recursive);
|
|
if(thing != null) {
|
|
this._sendTo(thing,1);
|
|
}
|
|
}
|
|
,sendToBack: function(name,recursive) {
|
|
if(recursive == null) {
|
|
recursive = true;
|
|
}
|
|
var thing = this.getAsset(name,recursive);
|
|
if(thing != null) {
|
|
this._sendTo(thing,-1);
|
|
}
|
|
}
|
|
,get_currMode: function() {
|
|
return this._curr_mode;
|
|
}
|
|
,set_currMode: function(m) {
|
|
this.setMode(m);
|
|
return this._curr_mode;
|
|
}
|
|
,setMode: function(mode_name,target_name) {
|
|
if(target_name == null) {
|
|
target_name = "";
|
|
}
|
|
if(this._curr_mode == mode_name) {
|
|
return;
|
|
}
|
|
var mode = this.getMode(mode_name);
|
|
this._curr_mode = mode_name;
|
|
var name = "";
|
|
var thing;
|
|
if(target_name == "") {
|
|
if(mode != null) {
|
|
var xml;
|
|
var node = mode.elements();
|
|
while(node.hasNext()) {
|
|
var node1 = node.next();
|
|
var node2 = this.applyNodeConditionals(node1);
|
|
xml = node2;
|
|
if(xml.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element but found " + (xml.nodeType == null ? "null" : XmlType.toString(xml.nodeType)));
|
|
}
|
|
var nodeName = xml.nodeName;
|
|
var activeStatus = flixel_addons_ui_U.xml_str(xml,"active") == "" ? null : true;
|
|
if(activeStatus != null) {
|
|
activeStatus = flixel_addons_ui_U.xml_bool(xml,"active");
|
|
}
|
|
if(this._loadTest(node2)) {
|
|
switch(nodeName) {
|
|
case "align":
|
|
this._alignThing(node2);
|
|
break;
|
|
case "change":
|
|
this._changeThing(node2);
|
|
break;
|
|
case "hide":
|
|
this.showThing(flixel_addons_ui_U.xml_name(xml),false,activeStatus);
|
|
break;
|
|
case "position":
|
|
name = flixel_addons_ui_U.xml_name(xml);
|
|
thing = this.getAsset(name);
|
|
if(thing != null) {
|
|
this._loadPosition(node2,thing);
|
|
}
|
|
break;
|
|
case "show":
|
|
this.showThing(flixel_addons_ui_U.xml_name(xml),true,activeStatus);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
var target = this.getAsset(target_name);
|
|
if(target != null && ((target) instanceof flixel_addons_ui_FlxUI)) {
|
|
var targetUI = js_Boot.__cast(target , flixel_addons_ui_FlxUI);
|
|
targetUI.setMode(mode_name,"");
|
|
}
|
|
}
|
|
}
|
|
,showThing: function(name,visibleStatus,activeStatus) {
|
|
if(visibleStatus == null) {
|
|
visibleStatus = true;
|
|
}
|
|
if(name.indexOf(",") != -1) {
|
|
var names = name.split(",");
|
|
var _g = 0;
|
|
while(_g < names.length) {
|
|
var each_name = names[_g];
|
|
++_g;
|
|
var thing = this.getAsset(each_name);
|
|
if(thing != null) {
|
|
thing.set_visible(visibleStatus);
|
|
if(activeStatus != null) {
|
|
thing.set_active(activeStatus);
|
|
}
|
|
} else {
|
|
var group = this.getGroup(each_name);
|
|
if(group != null) {
|
|
group.set_visible(visibleStatus);
|
|
if(activeStatus != null) {
|
|
group.set_active(activeStatus);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else if(name != "*") {
|
|
var thing = this.getAsset(name);
|
|
if(thing != null) {
|
|
thing.set_visible(visibleStatus);
|
|
if(activeStatus != null) {
|
|
thing.set_active(activeStatus);
|
|
}
|
|
} else {
|
|
var group = this.getGroup(name);
|
|
if(group != null) {
|
|
group.set_visible(visibleStatus);
|
|
if(activeStatus != null) {
|
|
group.set_active(activeStatus);
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
var asset_name = haxe_ds_StringMap.keysIterator(this._asset_index.h);
|
|
while(asset_name.hasNext()) {
|
|
var asset_name1 = asset_name.next();
|
|
if(asset_name1 != "*") {
|
|
this.showThing(asset_name1,visibleStatus,activeStatus);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,getGroup: function(key,recursive) {
|
|
if(recursive == null) {
|
|
recursive = true;
|
|
}
|
|
var tempGroup = this._group_index.h[key];
|
|
if(tempGroup == null && recursive && this._superIndexUI != null) {
|
|
return this._superIndexUI.getGroup(key,recursive);
|
|
}
|
|
return tempGroup;
|
|
}
|
|
,getFlxText: function(key,recursive) {
|
|
if(recursive == null) {
|
|
recursive = true;
|
|
}
|
|
var asset = this.getAsset(key,recursive);
|
|
if(asset != null) {
|
|
if(((asset) instanceof flixel_text_FlxText)) {
|
|
return js_Boot.__cast(asset , flixel_text_FlxText);
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
,getAllAssets: function() {
|
|
var arr = [];
|
|
var key = haxe_ds_StringMap.keysIterator(this._asset_index.h);
|
|
while(key.hasNext()) {
|
|
var key1 = key.next();
|
|
arr.push(this.getAsset(key1));
|
|
}
|
|
return arr;
|
|
}
|
|
,getAssetKeys: function() {
|
|
var arr = [];
|
|
var key = haxe_ds_StringMap.keysIterator(this._asset_index.h);
|
|
while(key.hasNext()) {
|
|
var key1 = key.next();
|
|
arr.push(key1);
|
|
}
|
|
return arr;
|
|
}
|
|
,hasAsset: function(key,recursive) {
|
|
if(recursive == null) {
|
|
recursive = true;
|
|
}
|
|
if(Object.prototype.hasOwnProperty.call(this._asset_index.h,key)) {
|
|
return true;
|
|
}
|
|
if(recursive && this._superIndexUI != null) {
|
|
return this._superIndexUI.hasAsset(key,recursive);
|
|
}
|
|
return false;
|
|
}
|
|
,getAsset: function(key,recursive) {
|
|
if(recursive == null) {
|
|
recursive = true;
|
|
}
|
|
var asset = this._asset_index.h[key];
|
|
if(asset == null && recursive && this._superIndexUI != null) {
|
|
return this._superIndexUI.getAsset(key,recursive);
|
|
}
|
|
return asset;
|
|
}
|
|
,getAssetsWithTag: function(tag) {
|
|
if(Object.prototype.hasOwnProperty.call(this._tag_index.h,tag)) {
|
|
var list = this._tag_index.h[tag];
|
|
if(list == null || list.length == 0) {
|
|
return null;
|
|
}
|
|
var arr = [];
|
|
var _g = 0;
|
|
while(_g < list.length) {
|
|
var key = list[_g];
|
|
++_g;
|
|
var widget = this.getAsset(key);
|
|
if(widget != null) {
|
|
arr.push(widget);
|
|
}
|
|
}
|
|
return arr;
|
|
}
|
|
return null;
|
|
}
|
|
,getAssetGroup: function(key,thing) {
|
|
if(thing == null && (key == null || key == "")) {
|
|
return null;
|
|
}
|
|
if(thing == null) {
|
|
thing = this.getAsset(key);
|
|
}
|
|
if(thing == null) {
|
|
return null;
|
|
}
|
|
var key = haxe_ds_StringMap.keysIterator(this._group_index.h);
|
|
while(key.hasNext()) {
|
|
var key1 = key.next();
|
|
var g = this._group_index.h[key1];
|
|
if(g.group.members.indexOf(thing) != -1) {
|
|
return g;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
,getMode: function(key,recursive) {
|
|
if(recursive == null) {
|
|
recursive = true;
|
|
}
|
|
var mode = this._mode_index.h[key];
|
|
if(mode == null && recursive && this._superIndexUI != null) {
|
|
return this._superIndexUI.getMode(key,recursive);
|
|
}
|
|
return mode;
|
|
}
|
|
,getLabelStyleFromDefinition: function(key,recursive) {
|
|
if(recursive == null) {
|
|
recursive = true;
|
|
}
|
|
var definition = this.getDefinition(key,recursive);
|
|
if(definition != null) {
|
|
var fontDef = this._loadFontDef(definition);
|
|
var align = flixel_addons_ui_U.xml_str(definition,"align");
|
|
if(align == "") {
|
|
align = null;
|
|
}
|
|
var color = this._loadColor(definition);
|
|
var border = this._loadBorder(definition);
|
|
return new flixel_addons_ui_ButtonLabelStyle(fontDef,align,color,border);
|
|
}
|
|
return null;
|
|
}
|
|
,getLabelStyleFromData: function(data) {
|
|
var fontDef = this._loadFontDef(data);
|
|
var align = flixel_addons_ui_U.xml_str(data,"align");
|
|
if(align == "") {
|
|
align = null;
|
|
}
|
|
var color = this._loadColor(data);
|
|
var border = this._loadBorder(data);
|
|
return new flixel_addons_ui_ButtonLabelStyle(fontDef,align,color,border);
|
|
}
|
|
,checkVariable: function(key,otherValue,type,op,recursive) {
|
|
if(recursive == null) {
|
|
recursive = true;
|
|
}
|
|
if(op == null) {
|
|
op = "==";
|
|
}
|
|
var variable = this.getVariable(key,recursive);
|
|
if(variable != null) {
|
|
return flixel_addons_ui_U.compareStringVars(variable,otherValue,type,op);
|
|
} else {
|
|
return flixel_addons_ui_U.compareStringVars("",otherValue,type,op);
|
|
}
|
|
}
|
|
,setVariable: function(key,value) {
|
|
this._variable_index.h[key] = value;
|
|
}
|
|
,getVariable: function(key,recursive) {
|
|
if(recursive == null) {
|
|
recursive = true;
|
|
}
|
|
var variable = this._variable_index.h[key];
|
|
if(variable == null && recursive && this._superIndexUI != null) {
|
|
variable = this._superIndexUI.getVariable(key,recursive);
|
|
}
|
|
return variable;
|
|
}
|
|
,getDefinition: function(key,recursive) {
|
|
if(recursive == null) {
|
|
recursive = true;
|
|
}
|
|
var definition = this._definition_index.h[key];
|
|
if(definition == null && recursive && this._superIndexUI != null) {
|
|
definition = this._superIndexUI.getDefinition(key,recursive);
|
|
}
|
|
if(definition == null) {
|
|
if(key.indexOf("include:") == -1) {
|
|
definition = this.getDefinition("include:" + key,recursive);
|
|
}
|
|
}
|
|
return definition;
|
|
}
|
|
,screenWidth: function() {
|
|
if(this.hasAsset("screen")) {
|
|
return this.getAsset("screen").get_width() | 0;
|
|
}
|
|
return flixel_FlxG.width;
|
|
}
|
|
,screenHeight: function() {
|
|
if(this.hasAsset("height")) {
|
|
return this.getAsset("screen").get_height() | 0;
|
|
}
|
|
return flixel_FlxG.height;
|
|
}
|
|
,_postLoaded: null
|
|
,_pointX: null
|
|
,_pointY: null
|
|
,_group_index: null
|
|
,_asset_index: null
|
|
,_tag_index: null
|
|
,_definition_index: null
|
|
,_variable_index: null
|
|
,_mode_index: null
|
|
,_curr_mode: null
|
|
,_ptr: null
|
|
,_superIndexUI: null
|
|
,_safe_input_delay_elapsed: null
|
|
,_failure_checks: null
|
|
,_assetsToCleanUp: null
|
|
,_scaledAssets: null
|
|
,replaceInGroup: function(original,replace,splice) {
|
|
if(splice == null) {
|
|
splice = false;
|
|
}
|
|
if(this._group_index != null) {
|
|
var key = haxe_ds_StringMap.keysIterator(this._group_index.h);
|
|
while(key.hasNext()) {
|
|
var key1 = key.next();
|
|
var tempGroup = this._group_index.h[key1];
|
|
if(tempGroup.group.members != null) {
|
|
var i = 0;
|
|
var _g = 0;
|
|
var _g1 = tempGroup.group.members;
|
|
while(_g < _g1.length) {
|
|
var member = _g1[_g];
|
|
++_g;
|
|
if(member != null) {
|
|
if(member == original) {
|
|
tempGroup.group.members[i] = replace;
|
|
if(replace == null) {
|
|
if(splice) {
|
|
tempGroup.group.members.splice(i,1);
|
|
--i;
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
++i;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if(this.group.members != null) {
|
|
var i = 0;
|
|
var _g = 0;
|
|
var _g1 = this.group.members;
|
|
while(_g < _g1.length) {
|
|
var member = _g1[_g];
|
|
++_g;
|
|
if(member != null) {
|
|
if(member == original) {
|
|
this.group.members[i] = replace;
|
|
if(replace == null) {
|
|
if(splice) {
|
|
this.group.members.splice(i,1);
|
|
--i;
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
}
|
|
++i;
|
|
}
|
|
}
|
|
}
|
|
,applyNodeConditionals: function(info) {
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(info,"locale") || haxe_xml__$Access_HasNodeAccess.resolve(info,"haxedef")) {
|
|
var x = Xml.parse(haxe_xml_Printer.print(info)).firstElement();
|
|
if(x.nodeType != Xml.Document && x.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Invalid nodeType " + (x.nodeType == null ? "null" : XmlType.toString(x.nodeType)));
|
|
}
|
|
var this1 = x;
|
|
info = this1;
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(info,"locale")) {
|
|
info = this.applyNodeChanges(info,"locale");
|
|
}
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(info,"haxedef")) {
|
|
info = this.applyNodeChanges(info,"haxedef");
|
|
}
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(info,"window")) {
|
|
info = this.applyNodeChanges(info,"window");
|
|
}
|
|
}
|
|
return info;
|
|
}
|
|
,applyNodeChanges: function(data,nodeName) {
|
|
var nodeValue = "";
|
|
if(nodeName == "locale") {
|
|
if(this._ptr_tongue == null) {
|
|
return data;
|
|
}
|
|
nodeValue = this._ptr_tongue.locale.toLowerCase();
|
|
}
|
|
var haxedef = false;
|
|
if(nodeName == "haxedef") {
|
|
haxedef = true;
|
|
}
|
|
if(nodeName == "window") {
|
|
nodeValue = flixel_FlxG.width + "," + flixel_FlxG.height;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = haxe_xml__$Access_NodeListAccess.resolve(data,nodeName);
|
|
while(_g < _g1.length) {
|
|
var cNode = _g1[_g];
|
|
++_g;
|
|
var cname = flixel_addons_ui_U.xml_name(cNode);
|
|
if(haxedef) {
|
|
nodeValue = "";
|
|
if(flixel_addons_ui_U.checkHaxedef(cname)) {
|
|
nodeValue = cname;
|
|
}
|
|
}
|
|
if(cname == nodeValue) {
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(cNode,"change")) {
|
|
var _g2 = 0;
|
|
var _g3 = haxe_xml__$Access_NodeListAccess.resolve(cNode,"change");
|
|
while(_g2 < _g3.length) {
|
|
var change = _g3[_g2];
|
|
++_g2;
|
|
var att = change.attributes();
|
|
while(att.hasNext()) {
|
|
var att1 = att.next();
|
|
var value = change.get(att1);
|
|
data.set(att1,value);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return data;
|
|
}
|
|
,loadThing: function(type,data) {
|
|
return this._loadThing(type,data);
|
|
}
|
|
,_loadThingGetInfo: function(data) {
|
|
var _this = data;
|
|
if(_this.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element but found " + (_this.nodeType == null ? "null" : XmlType.toString(_this.nodeType)));
|
|
}
|
|
var nodeName = _this.nodeName;
|
|
var defaultDef = this.getDefinition("default:" + nodeName);
|
|
var info = null;
|
|
if(defaultDef != null) {
|
|
info = flixel_addons_ui_FlxUI.consolidateData(data,defaultDef,true);
|
|
}
|
|
if(info == null) {
|
|
info = data;
|
|
}
|
|
var use_def = flixel_addons_ui_U.xml_str(info,"use_def",true);
|
|
var definition = null;
|
|
if(use_def != "") {
|
|
definition = this.getDefinition(use_def);
|
|
}
|
|
info = flixel_addons_ui_FlxUI.consolidateData(info,definition);
|
|
info = this.applyNodeConditionals(info);
|
|
if(this._loadTest(info) == false) {
|
|
return null;
|
|
}
|
|
return info;
|
|
}
|
|
,_loadTooltip: function(thing,data) {
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(data,"tooltip")) {
|
|
var tt = this._loadTooltipData(haxe_xml__$Access_NodeAccess.resolve(data,"tooltip"));
|
|
var state = flixel_addons_ui_FlxUI.getLeafUIState();
|
|
if(((thing) instanceof flixel_addons_ui_FlxUICheckBox)) {
|
|
var check = thing;
|
|
state.tooltips.add(check.button,tt);
|
|
} else {
|
|
state.tooltips.add(thing,tt);
|
|
}
|
|
}
|
|
}
|
|
,_loadTooltipData: function(tNode) {
|
|
var tt = { title : "", body : "", anchor : null, style : { titleFormat : null, bodyFormat : null, titleBorder : null, bodyBorder : null, titleOffset : null, bodyOffset : null, titleWidth : -1, bodyWidth : -1, background : null, borderSize : -1, borderColor : null, arrow : null, autoSizeVertical : null, autoSizeHorizontal : null, leftPadding : -1, rightPadding : -1, topPadding : -1, bottomPadding : -1}};
|
|
var defaultDef = this.getDefinition("default:tooltip");
|
|
if(defaultDef != null) {
|
|
tNode = flixel_addons_ui_FlxUI.consolidateData(tNode,defaultDef,true);
|
|
}
|
|
if(haxe_xml__$Access_HasAttribAccess.resolve(tNode,"use_def")) {
|
|
var defStr = flixel_addons_ui_U.xml_str(tNode,"use_def",true);
|
|
var def = this.getDefinition(defStr);
|
|
if(def != null) {
|
|
tNode = flixel_addons_ui_FlxUI.consolidateData(tNode,def,true);
|
|
}
|
|
}
|
|
if(haxe_xml__$Access_HasAttribAccess.resolve(tNode,"text")) {
|
|
this._loadTooltipText(tNode,"text",tt);
|
|
}
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(tNode,"title")) {
|
|
this._loadTooltipText(haxe_xml__$Access_NodeAccess.resolve(tNode,"title"),"text",tt);
|
|
}
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(tNode,"body")) {
|
|
this._loadTooltipText(haxe_xml__$Access_NodeAccess.resolve(tNode,"body"),"text",tt);
|
|
}
|
|
tt.anchor = this._loadAnchor(tNode);
|
|
this._loadTooltipStyle(tNode,tt);
|
|
return tt;
|
|
}
|
|
,_loadTooltipStyle: function(node,tt) {
|
|
tt.style.background = flixel_addons_ui_U.xml_color(node,"background");
|
|
tt.style.borderSize = flixel_addons_ui_U.xml_i(node,"border",-1);
|
|
tt.style.borderColor = flixel_addons_ui_U.xml_color(node,"border_color");
|
|
var tmp;
|
|
if(haxe_xml__$Access_HasAttribAccess.resolve(node,"arrow")) {
|
|
var data = node;
|
|
var str = "";
|
|
if(data.get("arrow") != null) {
|
|
str = data.get("arrow");
|
|
if(str == "" || str == null) {
|
|
str = "";
|
|
} else {
|
|
str = flixel_addons_ui_U.gfx(str);
|
|
try {
|
|
if(!openfl_utils_Assets.exists(str,"IMAGE")) {
|
|
throw haxe_Exception.thrown("couldn't load bmp \"" + "arrow" + "\"");
|
|
}
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
if(typeof(haxe_Exception.caught(_g).unwrap()) != "string") {
|
|
throw _g;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
tmp = str;
|
|
} else {
|
|
tmp = null;
|
|
}
|
|
tt.style.arrow = tmp;
|
|
tt.style.autoSizeHorizontal = flixel_addons_ui_U.xml_bool(node,"auto_size_horizontal",true);
|
|
tt.style.autoSizeVertical = flixel_addons_ui_U.xml_bool(node,"auto_size_vertical",true);
|
|
var padAll = this._loadHeight(node,-1,"pad_all") | 0;
|
|
if(padAll != -1) {
|
|
tt.style.leftPadding = tt.style.rightPadding = tt.style.topPadding = tt.style.bottomPadding = padAll;
|
|
} else {
|
|
var tmp = this._loadWidth(node,0,"pad_left") | 0;
|
|
tt.style.leftPadding = tmp;
|
|
var tmp = this._loadWidth(node,0,"pad_right") | 0;
|
|
tt.style.rightPadding = tmp;
|
|
var tmp = this._loadHeight(node,0,"pad_top") | 0;
|
|
tt.style.topPadding = tmp;
|
|
var tmp = this._loadHeight(node,0,"pad_bottom") | 0;
|
|
tt.style.bottomPadding = tmp;
|
|
}
|
|
}
|
|
,_loadTooltipText: function(node,fieldName,tt) {
|
|
var nodeName;
|
|
if(node.nodeType == Xml.Document) {
|
|
nodeName = "Document";
|
|
} else {
|
|
if(node.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element but found " + (node.nodeType == null ? "null" : XmlType.toString(node.nodeType)));
|
|
}
|
|
nodeName = node.nodeName;
|
|
}
|
|
var text = this._loadString(node,fieldName);
|
|
var offset = new flixel_math_FlxPoint(this._loadWidth(node,0,"x"),this._loadHeight(node,0,"y"));
|
|
if(haxe_xml__$Access_HasAttribAccess.resolve(node,"use_def")) {
|
|
var use_def = flixel_addons_ui_U.xml_str(node,"use_def",true);
|
|
var the_def = this.getDefinition(use_def);
|
|
if(the_def != null) {
|
|
node = flixel_addons_ui_FlxUI.consolidateData(node,the_def);
|
|
}
|
|
}
|
|
var border = this._loadBorder(node);
|
|
var format = this._loadFontDef(node);
|
|
var color = flixel_addons_ui_U.xml_color(node,"color",true,-16777216);
|
|
format.format.color = color;
|
|
var W = this._loadWidth(node,-1,"width") | 0;
|
|
switch(nodeName) {
|
|
case "body":
|
|
if(text != "") {
|
|
tt.body = text;
|
|
}
|
|
tt.style.bodyOffset = offset;
|
|
tt.style.bodyFormat = format;
|
|
tt.style.bodyWidth = W;
|
|
tt.style.bodyBorder = border;
|
|
break;
|
|
case "title":case "tooltip":
|
|
if(text != "") {
|
|
tt.title = text;
|
|
}
|
|
tt.style.titleOffset = offset;
|
|
tt.style.titleFormat = format;
|
|
tt.style.titleWidth = W;
|
|
tt.style.titleBorder = border;
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
,_loadAnchor: function(data) {
|
|
var xOff = this._loadWidth(data,0,"x");
|
|
var yOff = this._loadHeight(data,0,"y");
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(data,"anchor")) {
|
|
var xSide = flixel_addons_ui_U.xml_str(haxe_xml__$Access_NodeAccess.resolve(data,"anchor"),"x",true,"right");
|
|
var ySide = flixel_addons_ui_U.xml_str(haxe_xml__$Access_NodeAccess.resolve(data,"anchor"),"y",true,"top");
|
|
var xFlush = flixel_addons_ui_U.xml_str(haxe_xml__$Access_NodeAccess.resolve(data,"anchor"),"x-flush",true,"left");
|
|
var yFlush = flixel_addons_ui_U.xml_str(haxe_xml__$Access_NodeAccess.resolve(data,"anchor"),"y-flush",true,"top");
|
|
return new flixel_addons_ui_Anchor(xOff,yOff,xSide,ySide,xFlush,yFlush);
|
|
}
|
|
return null;
|
|
}
|
|
,_loadThing: function(type,data) {
|
|
var info = this._loadThingGetInfo(data);
|
|
if(info == null) {
|
|
return null;
|
|
}
|
|
switch(type) {
|
|
case "align":
|
|
this._alignThing(info,true);
|
|
return null;
|
|
case "bar":
|
|
return this._loadBar(info);
|
|
case "box":
|
|
return this._loadBox(info);
|
|
case "button":
|
|
return this._loadButton(info);
|
|
case "button_toggle":
|
|
return this._loadButton(info,true,true);
|
|
case "change":
|
|
this._changeThing(info);
|
|
return null;
|
|
case "checkbox":
|
|
return this._loadCheckBox(info);
|
|
case "failure":
|
|
if(this._failure_checks == null) {
|
|
this._failure_checks = [];
|
|
}
|
|
this.unparentXML(info);
|
|
this._failure_checks.push(info);
|
|
return null;
|
|
case "input_text":
|
|
return this._loadInputText(info);
|
|
case "line":
|
|
return this._loadLine(info);
|
|
case "default":case "group":case "include":case "inject":case "load_if":case "mode":
|
|
return null;
|
|
case "chrome":case "nine_slice":case "nine_slice_sprite":case "nineslice":case "nineslicesprite":
|
|
return this._load9SliceSprite(info);
|
|
case "num_stepper":case "numeric_stepper":case "numstepper":
|
|
return this._loadNumericStepper(info);
|
|
case "position":
|
|
this.name = flixel_addons_ui_U.xml_name(info);
|
|
var thing = this.getAsset(this.name);
|
|
if(thing != null) {
|
|
this._loadPosition(info,thing);
|
|
}
|
|
return null;
|
|
case "dropdown":case "dropdown_menu":case "pulldown":case "pulldown_menu":
|
|
return this._loadDropDownMenu(info);
|
|
case "radio_group":
|
|
return this._loadRadioGroup(info);
|
|
case "region":
|
|
return this._loadRegion(info);
|
|
case "sprite":
|
|
return this._loadSprite(info);
|
|
case "tab_menu":
|
|
return this._loadTabMenu(info);
|
|
case "text":
|
|
return this._loadText(info);
|
|
case "tile_test":
|
|
return this._loadTileTest(info);
|
|
case "layout":case "ui":
|
|
return this._loadLayout(info);
|
|
default:
|
|
var result = this._ptr.getRequest("ui_get:" + type,this,info,[data]);
|
|
return result;
|
|
}
|
|
}
|
|
,_loadX: function(data,default_) {
|
|
if(default_ == null) {
|
|
default_ = 0;
|
|
}
|
|
return this._loadWidth(data,default_,"x");
|
|
}
|
|
,_loadY: function(data,default_) {
|
|
if(default_ == null) {
|
|
default_ = 0;
|
|
}
|
|
return this._loadHeight(data,default_,"y");
|
|
}
|
|
,_loadScale: function(data,default_,str) {
|
|
if(str == null) {
|
|
str = "scale";
|
|
}
|
|
if(default_ == null) {
|
|
default_ = 1.0;
|
|
}
|
|
return this._loadHeight(data,default_,str,"none");
|
|
}
|
|
,_loadScaleX: function(data,default_) {
|
|
if(default_ == null) {
|
|
default_ = 1.0;
|
|
}
|
|
return this._loadWidth(data,default_,"scale_x","none");
|
|
}
|
|
,_loadScaleY: function(data,default_) {
|
|
if(default_ == null) {
|
|
default_ = 1.0;
|
|
}
|
|
return this._loadHeight(data,default_,"scale_y","none");
|
|
}
|
|
,_loadWidth: function(data,default_,str,defaultRound) {
|
|
if(defaultRound == null) {
|
|
defaultRound = "";
|
|
}
|
|
if(str == null) {
|
|
str = "width";
|
|
}
|
|
if(default_ == null) {
|
|
default_ = 10;
|
|
}
|
|
var ws = flixel_addons_ui_U.xml_str(data,str,true,default_ == null ? "null" : "" + default_);
|
|
var round = this.getRound(data,defaultRound);
|
|
return this.doRound(this._getDataSize("w",ws,default_),round);
|
|
}
|
|
,_loadHeight: function(data,default_,str,defaultRound) {
|
|
if(defaultRound == null) {
|
|
defaultRound = "";
|
|
}
|
|
if(str == null) {
|
|
str = "height";
|
|
}
|
|
if(default_ == null) {
|
|
default_ = 10;
|
|
}
|
|
var hs = flixel_addons_ui_U.xml_str(data,str,true,default_ == null ? "null" : "" + default_);
|
|
var round = this.getRound(data,defaultRound);
|
|
return this.doRound(this._getDataSize("h",hs,default_),round);
|
|
}
|
|
,_loadCompass: function(data,str) {
|
|
if(str == null) {
|
|
str = "resize_point";
|
|
}
|
|
var cs = flixel_addons_ui_U.xml_str(data,str,true,"nw");
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
var fp = point;
|
|
switch(cs) {
|
|
case "c":case "center":case "m":case "mid":
|
|
fp.set_x(0.5);
|
|
fp.set_y(0.5);
|
|
break;
|
|
case "ll":case "sw":
|
|
fp.set_x(0);
|
|
fp.set_y(1);
|
|
break;
|
|
case "n":case "u":
|
|
fp.set_x(0.5);
|
|
fp.set_y(0);
|
|
break;
|
|
case "nw":case "ul":
|
|
fp.set_x(0);
|
|
fp.set_y(0);
|
|
break;
|
|
case "e":case "r":
|
|
fp.set_x(1);
|
|
fp.set_y(0.5);
|
|
break;
|
|
case "s":
|
|
fp.set_x(0.5);
|
|
fp.set_y(1);
|
|
break;
|
|
case "lr":case "se":
|
|
fp.set_x(1);
|
|
fp.set_y(1);
|
|
break;
|
|
case "ne":case "ur":
|
|
fp.set_x(1);
|
|
fp.set_y(0);
|
|
break;
|
|
case "w":
|
|
fp.set_x(0.5);
|
|
fp.set_y(0);
|
|
break;
|
|
}
|
|
return fp;
|
|
}
|
|
,_changeParamsThing: function(data) {
|
|
var name = flixel_addons_ui_U.xml_name(data);
|
|
var thing = this.getAsset(name);
|
|
if(thing == null) {
|
|
return;
|
|
}
|
|
if(!js_Boot.__implements(thing,flixel_addons_ui_interfaces_IHasParams)) {
|
|
return;
|
|
}
|
|
var ihp = thing;
|
|
var params = null;
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(data,"param")) {
|
|
params = [];
|
|
var _g = 0;
|
|
var _g1 = haxe_xml__$Access_NodeListAccess.resolve(data,"param");
|
|
while(_g < _g1.length) {
|
|
var param = _g1[_g];
|
|
++_g;
|
|
if(haxe_xml__$Access_HasAttribAccess.resolve(param,"type") && haxe_xml__$Access_HasAttribAccess.resolve(param,"value")) {
|
|
var type = haxe_xml__$Access_AttribAccess.resolve(param,"type");
|
|
type = type.toLowerCase();
|
|
var valueStr = haxe_xml__$Access_AttribAccess.resolve(param,"value");
|
|
var value = valueStr;
|
|
var sort = flixel_addons_ui_U.xml_i(param,"sort",-1);
|
|
switch(type) {
|
|
case "bool":case "boolean":
|
|
var str = new String(valueStr);
|
|
str = str.toLowerCase();
|
|
if(str == "true" || str == "1") {
|
|
value = true;
|
|
} else {
|
|
value = false;
|
|
}
|
|
break;
|
|
case "color":case "hex":
|
|
var return_val = flixel_util_FlxColor.fromString(valueStr);
|
|
if(return_val == null) {
|
|
throw haxe_Exception.thrown("U.parseHex() unable to parse hex String " + valueStr);
|
|
}
|
|
value = return_val;
|
|
break;
|
|
case "float":
|
|
value = parseFloat(valueStr);
|
|
break;
|
|
case "int":
|
|
value = Std.parseInt(valueStr);
|
|
break;
|
|
case "string":
|
|
value = new String(valueStr);
|
|
break;
|
|
}
|
|
params.push({ sort : sort, value : value});
|
|
}
|
|
}
|
|
params.sort(flixel_addons_ui_FlxUI.sortParams);
|
|
var _g = 0;
|
|
var _g1 = params.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
params[i] = params[i].value;
|
|
}
|
|
}
|
|
ihp.set_params(params);
|
|
}
|
|
,_changeThing: function(data) {
|
|
var name = flixel_addons_ui_U.xml_name(data);
|
|
var thing = this.getAsset(name);
|
|
if(thing == null) {
|
|
return;
|
|
}
|
|
var new_width = -1;
|
|
var new_height = -1;
|
|
var context = "";
|
|
var code = "";
|
|
var attribute = data.attributes();
|
|
while(attribute.hasNext()) {
|
|
var attribute1 = attribute.next();
|
|
switch(attribute1) {
|
|
case "height":
|
|
new_height = this._loadHeight(data);
|
|
break;
|
|
case "label":
|
|
var label = flixel_addons_ui_U.xml_str(data,"label");
|
|
context = flixel_addons_ui_U.xml_str(data,"context",true,"ui");
|
|
code = flixel_addons_ui_U.xml_str(data,"code",true,"");
|
|
label = this.getText(label,context,true,code);
|
|
if(js_Boot.__implements(thing,flixel_addons_ui_interfaces_ILabeled)) {
|
|
var b = thing;
|
|
b.getLabel().set_text(label);
|
|
}
|
|
break;
|
|
case "text":
|
|
if(((thing) instanceof flixel_addons_ui_FlxUIText)) {
|
|
var text = flixel_addons_ui_U.xml_str(data,"text");
|
|
context = flixel_addons_ui_U.xml_str(data,"context",true,"ui");
|
|
var t = thing;
|
|
code = flixel_addons_ui_U.xml_str(data,"code",true,"");
|
|
t.set_text(this.getText(text,context,true,code));
|
|
}
|
|
break;
|
|
case "width":
|
|
new_width = this._loadWidth(data);
|
|
break;
|
|
}
|
|
}
|
|
if(js_Boot.__implements(thing,flixel_addons_ui_interfaces_IResizable)) {
|
|
var ir = thing;
|
|
if(new_width != -1 || new_height != -1) {
|
|
if(new_width == -1) {
|
|
new_width = ir.get_width();
|
|
}
|
|
if(new_height == -1) {
|
|
new_height = ir.get_height();
|
|
}
|
|
ir.resize(new_width,new_height);
|
|
}
|
|
}
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(data,"param")) {
|
|
if(js_Boot.__implements(thing,flixel_addons_ui_interfaces_IHasParams)) {
|
|
var ihp = thing;
|
|
var params = null;
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(data,"param")) {
|
|
params = [];
|
|
var _g = 0;
|
|
var _g1 = haxe_xml__$Access_NodeListAccess.resolve(data,"param");
|
|
while(_g < _g1.length) {
|
|
var param = _g1[_g];
|
|
++_g;
|
|
if(haxe_xml__$Access_HasAttribAccess.resolve(param,"type") && haxe_xml__$Access_HasAttribAccess.resolve(param,"value")) {
|
|
var type = haxe_xml__$Access_AttribAccess.resolve(param,"type");
|
|
type = type.toLowerCase();
|
|
var valueStr = haxe_xml__$Access_AttribAccess.resolve(param,"value");
|
|
var value = valueStr;
|
|
var sort = flixel_addons_ui_U.xml_i(param,"sort",-1);
|
|
switch(type) {
|
|
case "bool":case "boolean":
|
|
var str = new String(valueStr);
|
|
str = str.toLowerCase();
|
|
if(str == "true" || str == "1") {
|
|
value = true;
|
|
} else {
|
|
value = false;
|
|
}
|
|
break;
|
|
case "color":case "hex":
|
|
var return_val = flixel_util_FlxColor.fromString(valueStr);
|
|
if(return_val == null) {
|
|
throw haxe_Exception.thrown("U.parseHex() unable to parse hex String " + valueStr);
|
|
}
|
|
value = return_val;
|
|
break;
|
|
case "float":
|
|
value = parseFloat(valueStr);
|
|
break;
|
|
case "int":
|
|
value = Std.parseInt(valueStr);
|
|
break;
|
|
case "string":
|
|
value = new String(valueStr);
|
|
break;
|
|
}
|
|
params.push({ sort : sort, value : value});
|
|
}
|
|
}
|
|
params.sort(flixel_addons_ui_FlxUI.sortParams);
|
|
var _g = 0;
|
|
var _g1 = params.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
params[i] = params[i].value;
|
|
}
|
|
}
|
|
ihp.set_params(params);
|
|
}
|
|
}
|
|
}
|
|
,_alignThing: function(data,suppressError) {
|
|
if(suppressError == null) {
|
|
suppressError = false;
|
|
}
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(data,"objects")) {
|
|
var _g = 0;
|
|
var _g1 = haxe_xml__$Access_NodeListAccess.resolve(data,"objects");
|
|
while(_g < _g1.length) {
|
|
var objectNode = _g1[_g];
|
|
++_g;
|
|
var objects = flixel_addons_ui_U.xml_str(objectNode,"value",true,"").split(",");
|
|
var axis = flixel_addons_ui_U.xml_str(data,"axis",true);
|
|
if(axis != "horizontal" && axis != "vertical") {
|
|
throw haxe_Exception.thrown(new openfl_errors_Error("FlxUI._alignThing(): axis must be \"horizontal\" or \"vertical\"!"));
|
|
}
|
|
var spacing = -1;
|
|
if(axis == "horizontal") {
|
|
spacing = this._getDataSize("w",flixel_addons_ui_U.xml_str(data,"spacing",true),-1);
|
|
} else {
|
|
spacing = this._getDataSize("h",flixel_addons_ui_U.xml_str(data,"spacing",true),-1);
|
|
}
|
|
var resize = flixel_addons_ui_U.xml_bool(data,"resize");
|
|
var grow = flixel_addons_ui_U.xml_bool(data,"grow",true);
|
|
var shrink = flixel_addons_ui_U.xml_bool(data,"shrink",true);
|
|
var X = -1;
|
|
var Y = -1;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
var bounds = point;
|
|
var boundsError = "";
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(data,"bounds")) {
|
|
if(axis == "horizontal") {
|
|
bounds.set_x(this._getDataSize("w",flixel_addons_ui_U.xml_str(haxe_xml__$Access_NodeAccess.resolve(data,"bounds"),"left"),-1));
|
|
bounds.set_y(this._getDataSize("w",flixel_addons_ui_U.xml_str(haxe_xml__$Access_NodeAccess.resolve(data,"bounds"),"right"),-1));
|
|
} else if(axis == "vertical") {
|
|
bounds.set_x(this._getDataSize("h",flixel_addons_ui_U.xml_str(haxe_xml__$Access_NodeAccess.resolve(data,"bounds"),"top"),-1));
|
|
bounds.set_y(this._getDataSize("h",flixel_addons_ui_U.xml_str(haxe_xml__$Access_NodeAccess.resolve(data,"bounds"),"bottom"),-1));
|
|
}
|
|
}
|
|
if(bounds.x != -1 && bounds.y != -1) {
|
|
if(bounds.y <= bounds.x) {
|
|
boundsError = "bounds max must be > bounds min! (max=" + bounds.y + " min=" + bounds.x + ")";
|
|
}
|
|
} else {
|
|
boundsError = "missing bound!";
|
|
}
|
|
if(boundsError == "") {
|
|
this._doAlign(objects,axis,spacing,resize,bounds,grow,shrink);
|
|
}
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(data,"anchor") || haxe_xml__$Access_HasAttribAccess.resolve(data,"x") || haxe_xml__$Access_HasAttribAccess.resolve(data,"y")) {
|
|
var _g2 = 0;
|
|
while(_g2 < objects.length) {
|
|
var object = objects[_g2];
|
|
++_g2;
|
|
var thing = this.getAsset(object);
|
|
this._loadPosition(data,thing);
|
|
}
|
|
} else {
|
|
var tmp = boundsError != "";
|
|
}
|
|
}
|
|
} else {
|
|
throw haxe_Exception.thrown(new openfl_errors_Error("FlxUI._alignThing(): <objects> node not found!"));
|
|
}
|
|
}
|
|
,_doAlign: function(objects,axis,spacing,resize,bounds,allowGrow,allowShrink) {
|
|
if(allowShrink == null) {
|
|
allowShrink = true;
|
|
}
|
|
if(allowGrow == null) {
|
|
allowGrow = true;
|
|
}
|
|
var total_spacing = 0;
|
|
var total_size = 0;
|
|
var bound_range = bounds.y - bounds.x;
|
|
var spaces = objects.length - 1;
|
|
var space_size = 0;
|
|
var object_size = 0;
|
|
var size_prop = "width";
|
|
var pos_prop = "x";
|
|
if(axis == "vertical") {
|
|
size_prop = "height";
|
|
pos_prop = "y";
|
|
}
|
|
var _g = 0;
|
|
while(_g < objects.length) {
|
|
var nameStr = objects[_g];
|
|
++_g;
|
|
var widget = this.getAsset(nameStr);
|
|
if(widget != null) {
|
|
var theval = 0;
|
|
switch(size_prop) {
|
|
case "height":
|
|
theval = widget.get_height();
|
|
break;
|
|
case "width":
|
|
theval = widget.get_width();
|
|
break;
|
|
}
|
|
total_size += theval;
|
|
}
|
|
}
|
|
if(resize == false) {
|
|
total_spacing = bound_range - total_size;
|
|
space_size = total_spacing / spaces;
|
|
} else {
|
|
space_size = spacing;
|
|
total_spacing = spacing * spaces;
|
|
object_size = (bound_range - total_spacing) / objects.length;
|
|
}
|
|
object_size = object_size | 0;
|
|
space_size = space_size | 0;
|
|
var last_pos = bounds.x;
|
|
var _g = 0;
|
|
while(_g < objects.length) {
|
|
var nameStr = objects[_g];
|
|
++_g;
|
|
var widget = this.getAsset(nameStr);
|
|
if(widget != null) {
|
|
var pos = last_pos;
|
|
if(!resize) {
|
|
switch(size_prop) {
|
|
case "height":
|
|
object_size = widget.get_height();
|
|
break;
|
|
case "width":
|
|
object_size = widget.get_width();
|
|
break;
|
|
}
|
|
} else if(js_Boot.__implements(widget,flixel_addons_ui_interfaces_IResizable)) {
|
|
var allow = true;
|
|
var widgetr = widget;
|
|
if(axis == "vertical") {
|
|
if(object_size > widgetr.get_width()) {
|
|
allow = allowGrow;
|
|
} else if(object_size < widgetr.get_width()) {
|
|
allow = allowShrink;
|
|
}
|
|
if(allow) {
|
|
widgetr.resize(widgetr.get_width(),object_size);
|
|
}
|
|
} else if(axis == "horizontal") {
|
|
if(object_size > widgetr.get_height()) {
|
|
allow = allowGrow;
|
|
} else if(object_size < widgetr.get_height()) {
|
|
allow = allowShrink;
|
|
}
|
|
if(allow) {
|
|
widgetr.resize(object_size,widgetr.get_height());
|
|
}
|
|
}
|
|
}
|
|
last_pos = pos + object_size + space_size;
|
|
switch(pos_prop) {
|
|
case "x":
|
|
widget.set_x(pos);
|
|
break;
|
|
case "y":
|
|
widget.set_y(pos);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,_checkFailure: function(data) {
|
|
var target = flixel_addons_ui_U.xml_str(data,"target",true);
|
|
var property = flixel_addons_ui_U.xml_str(data,"property",true);
|
|
var compare = flixel_addons_ui_U.xml_str(data,"compare",true);
|
|
var value = flixel_addons_ui_U.xml_str(data,"value",true);
|
|
var thing = this.getAsset(target);
|
|
if(thing == null) {
|
|
return false;
|
|
}
|
|
var prop_f = 0;
|
|
var val_f = 0;
|
|
var p = flixel_addons_ui_U.perc_to_float(value);
|
|
switch(property) {
|
|
case "h":case "height":
|
|
prop_f = thing.get_height();
|
|
break;
|
|
case "w":case "width":
|
|
prop_f = thing.get_width();
|
|
break;
|
|
}
|
|
if(isNaN(p)) {
|
|
if(flixel_addons_ui_U.isStrNum(value)) {
|
|
val_f = parseFloat(value);
|
|
} else {
|
|
return false;
|
|
}
|
|
} else {
|
|
switch(property) {
|
|
case "h":case "height":
|
|
val_f = p * this.screenHeight();
|
|
break;
|
|
case "w":case "width":
|
|
val_f = p * this.screenWidth();
|
|
break;
|
|
}
|
|
}
|
|
var return_val = false;
|
|
switch(compare) {
|
|
case "<":
|
|
if(prop_f < val_f) {
|
|
this.failed_by = val_f - prop_f;
|
|
return_val = true;
|
|
}
|
|
break;
|
|
case "<=":
|
|
if(prop_f <= val_f) {
|
|
this.failed_by = val_f - prop_f;
|
|
return_val = true;
|
|
}
|
|
break;
|
|
case "=":case "==":
|
|
if(prop_f == val_f) {
|
|
this.failed_by = Math.abs(prop_f - val_f);
|
|
return_val = true;
|
|
}
|
|
break;
|
|
case ">":
|
|
if(prop_f > val_f) {
|
|
this.failed_by = prop_f - val_f;
|
|
return_val = true;
|
|
}
|
|
break;
|
|
case ">=":
|
|
if(prop_f >= val_f) {
|
|
this.failed_by = prop_f - val_f;
|
|
return_val = true;
|
|
}
|
|
break;
|
|
}
|
|
return return_val;
|
|
}
|
|
,_resizeThing: function(fo_r,bounds) {
|
|
var do_resize = false;
|
|
var ww = fo_r.get_width();
|
|
var hh = fo_r.get_height();
|
|
if(ww < bounds.min_width) {
|
|
do_resize = true;
|
|
ww = bounds.min_width;
|
|
} else if(ww > bounds.max_width) {
|
|
do_resize = true;
|
|
ww = bounds.max_width;
|
|
}
|
|
if(hh < bounds.min_height) {
|
|
do_resize = true;
|
|
hh = bounds.min_height;
|
|
} else if(hh > bounds.max_height) {
|
|
do_resize = true;
|
|
hh = bounds.max_height;
|
|
}
|
|
if(do_resize) {
|
|
fo_r.resize(ww,hh);
|
|
}
|
|
}
|
|
,_postLoadThing: function(type,data) {
|
|
if(type == "load_if") {
|
|
if(this._loadTest(data)) {
|
|
if(data.firstElement() != null) {
|
|
var subNode = data.elements();
|
|
while(subNode.hasNext()) {
|
|
var subNode1 = subNode.next();
|
|
if(subNode1.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element but found " + (subNode1.nodeType == null ? "null" : XmlType.toString(subNode1.nodeType)));
|
|
}
|
|
var nodeType = subNode1.nodeName.toLowerCase();
|
|
if(subNode1.nodeType != Xml.Document && subNode1.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Invalid nodeType " + (subNode1.nodeType == null ? "null" : XmlType.toString(subNode1.nodeType)));
|
|
}
|
|
var this1 = subNode1;
|
|
this._postLoadThing(nodeType,this1);
|
|
}
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
if(this._loadTest(data) == false) {
|
|
return;
|
|
}
|
|
var name = flixel_addons_ui_U.xml_name(data);
|
|
var thing = this.getAsset(name);
|
|
var isGroup = type == "group";
|
|
if(isGroup) {
|
|
thing = this.getGroup(name);
|
|
}
|
|
if(type == "align") {
|
|
this._alignThing(data);
|
|
}
|
|
if(type == "change") {
|
|
this._changeThing(data);
|
|
}
|
|
if(type == "position") {
|
|
this._loadPosition(data,thing);
|
|
return;
|
|
}
|
|
if(type == "cursor") {
|
|
this._loadCursor(data);
|
|
}
|
|
if(thing == null && !isGroup) {
|
|
return;
|
|
}
|
|
if(!isGroup) {
|
|
var use_def = flixel_addons_ui_U.xml_str(data,"use_def",true);
|
|
var definition = null;
|
|
if(use_def != "") {
|
|
definition = this.getDefinition(use_def);
|
|
}
|
|
if(js_Boot.__implements(thing,flixel_addons_ui_interfaces_IResizable)) {
|
|
var ww = this._getDataSize("w",flixel_addons_ui_U.xml_str(data,"width"));
|
|
var hh = this._getDataSize("h",flixel_addons_ui_U.xml_str(data,"height"));
|
|
if(ww == 0 || ww == thing.get_width()) {
|
|
ww = null;
|
|
}
|
|
if(hh == 0 || hh == thing.get_height()) {
|
|
hh = null;
|
|
}
|
|
var bounds = this.calcMaxMinSize(data);
|
|
if(bounds != null) {
|
|
if(ww != null) {
|
|
if(ww < bounds.min_width) {
|
|
ww = bounds.min_width;
|
|
}
|
|
if(ww > bounds.max_width) {
|
|
ww = bounds.max_width;
|
|
}
|
|
bounds.min_width = bounds.max_width = ww;
|
|
}
|
|
if(hh != null) {
|
|
if(hh < bounds.min_height) {
|
|
hh = bounds.min_height;
|
|
}
|
|
if(hh > bounds.max_height) {
|
|
hh = bounds.max_height;
|
|
}
|
|
bounds.min_height = bounds.max_height = hh;
|
|
}
|
|
this._resizeThing(js_Boot.__cast(thing , flixel_addons_ui_interfaces_IResizable),bounds);
|
|
}
|
|
}
|
|
var X = -thing.x;
|
|
var Y = -thing.y;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _g = thing;
|
|
_g.set_x(_g.x + X);
|
|
var _g = thing;
|
|
_g.set_y(_g.y + Y);
|
|
this._loadPosition(data,thing);
|
|
}
|
|
var send_to = flixel_addons_ui_U.xml_str(data,"send_to",true,"");
|
|
if(send_to != "") {
|
|
switch(send_to) {
|
|
case "back":case "bottom":
|
|
this._sendTo(thing,-1);
|
|
break;
|
|
case "front":case "top":
|
|
this._sendTo(thing,1);
|
|
break;
|
|
}
|
|
}
|
|
if(!isGroup && ((thing) instanceof flixel_addons_ui_FlxUI)) {
|
|
var fui_thing = thing;
|
|
if(fui_thing._postLoaded == false) {
|
|
fui_thing.getEvent("post_load",this,null);
|
|
}
|
|
}
|
|
}
|
|
,_loadTileTest: function(data) {
|
|
var tiles_w = flixel_addons_ui_U.xml_i(data,"tiles_w",2);
|
|
var tiles_h = flixel_addons_ui_U.xml_i(data,"tiles_h",2);
|
|
var w = this._loadWidth(data);
|
|
var h = this._loadHeight(data);
|
|
var bounds = this.calcMaxMinSize(data);
|
|
if(w < bounds.min_width) {
|
|
w = bounds.min_width;
|
|
}
|
|
if(h < bounds.min_height) {
|
|
h = bounds.min_height;
|
|
}
|
|
var tileWidth = w / tiles_w | 0;
|
|
var tileHeight = h / tiles_h | 0;
|
|
if(tileWidth < tileHeight) {
|
|
tileHeight = tileWidth;
|
|
} else if(tileHeight < tileWidth) {
|
|
tileWidth = tileHeight;
|
|
}
|
|
var totalw = tileWidth * tiles_w;
|
|
var totalh = tileHeight * tiles_h;
|
|
if(totalw > bounds.max_width) {
|
|
tileWidth = bounds.max_width / tiles_w | 0;
|
|
}
|
|
if(totalh > bounds.max_height) {
|
|
tileHeight = bounds.max_height / tiles_h | 0;
|
|
}
|
|
if(tileWidth < tileHeight) {
|
|
tileHeight = tileWidth;
|
|
} else if(tileHeight < tileWidth) {
|
|
tileWidth = tileHeight;
|
|
}
|
|
if(tileWidth < 2) {
|
|
tileWidth = 2;
|
|
}
|
|
if(tileHeight < 2) {
|
|
tileHeight = 2;
|
|
}
|
|
var color1 = flixel_util_FlxColor.fromString(flixel_addons_ui_U.xml_str(data,"color1",true,"0x808080"));
|
|
var color2 = flixel_util_FlxColor.fromString(flixel_addons_ui_U.xml_str(data,"color2",true,"0xc4c4c4"));
|
|
var baseTileSize = flixel_addons_ui_U.xml_i(data,"base_tile_size",-1);
|
|
var floorToEven = flixel_addons_ui_U.xml_bool(data,"floor_to_even",false);
|
|
var ftt = new flixel_addons_ui_FlxUITileTest(0,0,tileWidth,tileHeight,tiles_w,tiles_h,color1,color2,floorToEven);
|
|
ftt.baseTileSize = baseTileSize;
|
|
return ftt;
|
|
}
|
|
,_loadString: function(data,attributeName) {
|
|
var string = flixel_addons_ui_U.xml_str(data,attributeName);
|
|
var context = flixel_addons_ui_U.xml_str(data,"context",true,"ui");
|
|
var code = flixel_addons_ui_U.xml_str(data,"code",true,"");
|
|
string = this.getText(string,context,true,code);
|
|
return string;
|
|
}
|
|
,_loadText: function(data) {
|
|
var text = flixel_addons_ui_U.xml_str(data,"text");
|
|
var context = flixel_addons_ui_U.xml_str(data,"context",true,"ui");
|
|
var code = flixel_addons_ui_U.xml_str(data,"code",true,"");
|
|
text = this.getText(text,context,true,code);
|
|
var W = this._loadWidth(data,100) | 0;
|
|
var H = this._loadHeight(data,-1) | 0;
|
|
var the_font = this._loadFontFace(data);
|
|
var input = flixel_addons_ui_U.xml_bool(data,"input");
|
|
if(input) {
|
|
throw haxe_Exception.thrown(new openfl_errors_Error("FlxUI._loadText(): <text> with input has been deprecated. Use <input_text> instead."));
|
|
}
|
|
var align = flixel_addons_ui_U.xml_str(data,"align");
|
|
if(align == "") {
|
|
align = null;
|
|
}
|
|
var size = this._loadHeight(data,8,"size","floor") | 0;
|
|
var color = this._loadColor(data);
|
|
var border = this._loadBorder(data);
|
|
var ftu = new flixel_addons_ui_FlxUIText(0,0,W,text,size);
|
|
ftu.setFormat(the_font,size,color,align);
|
|
border.apply(ftu);
|
|
ftu.drawFrame();
|
|
var ft = ftu;
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(data,"param")) {
|
|
var params = null;
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(data,"param")) {
|
|
params = [];
|
|
var _g = 0;
|
|
var _g1 = haxe_xml__$Access_NodeListAccess.resolve(data,"param");
|
|
while(_g < _g1.length) {
|
|
var param = _g1[_g];
|
|
++_g;
|
|
if(haxe_xml__$Access_HasAttribAccess.resolve(param,"type") && haxe_xml__$Access_HasAttribAccess.resolve(param,"value")) {
|
|
var type = haxe_xml__$Access_AttribAccess.resolve(param,"type");
|
|
type = type.toLowerCase();
|
|
var valueStr = haxe_xml__$Access_AttribAccess.resolve(param,"value");
|
|
var value = valueStr;
|
|
var sort = flixel_addons_ui_U.xml_i(param,"sort",-1);
|
|
switch(type) {
|
|
case "bool":case "boolean":
|
|
var str = new String(valueStr);
|
|
str = str.toLowerCase();
|
|
if(str == "true" || str == "1") {
|
|
value = true;
|
|
} else {
|
|
value = false;
|
|
}
|
|
break;
|
|
case "color":case "hex":
|
|
var return_val = flixel_util_FlxColor.fromString(valueStr);
|
|
if(return_val == null) {
|
|
throw haxe_Exception.thrown("U.parseHex() unable to parse hex String " + valueStr);
|
|
}
|
|
value = return_val;
|
|
break;
|
|
case "float":
|
|
value = parseFloat(valueStr);
|
|
break;
|
|
case "int":
|
|
value = Std.parseInt(valueStr);
|
|
break;
|
|
case "string":
|
|
value = new String(valueStr);
|
|
break;
|
|
}
|
|
params.push({ sort : sort, value : value});
|
|
}
|
|
}
|
|
params.sort(flixel_addons_ui_FlxUI.sortParams);
|
|
var _g = 0;
|
|
var _g1 = params.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
params[i] = params[i].value;
|
|
}
|
|
}
|
|
var params1 = params;
|
|
var ihp = ft;
|
|
ihp.set_params(params1);
|
|
}
|
|
if(H > 0 && ft.get_height() != H) {
|
|
if(js_Boot.__implements(ft,flixel_addons_ui_interfaces_IResizable)) {
|
|
var r = ft;
|
|
r.resize(r.get_width(),H);
|
|
}
|
|
}
|
|
ftu.set_text(" ");
|
|
ftu.set_text(text);
|
|
return ft;
|
|
}
|
|
,_loadInputText: function(data) {
|
|
var text = flixel_addons_ui_U.xml_str(data,"text");
|
|
var context = flixel_addons_ui_U.xml_str(data,"context",true,"ui");
|
|
var code = flixel_addons_ui_U.xml_str(data,"code",true,"");
|
|
text = this.getText(text,context,true,code);
|
|
var W = this._loadWidth(data,100) | 0;
|
|
var H = this._loadHeight(data,-1) | 0;
|
|
var the_font = this._loadFontFace(data);
|
|
var align = flixel_addons_ui_U.xml_str(data,"align");
|
|
if(align == "") {
|
|
align = null;
|
|
}
|
|
var size = this._loadHeight(data,8,"size") | 0;
|
|
var color = this._loadColor(data);
|
|
var border = this._loadBorder(data);
|
|
var str = flixel_addons_ui_U.xml_str(data,"background",true,"0x00000000");
|
|
var safe = true;
|
|
var default_color = 0;
|
|
if(default_color == null) {
|
|
default_color = 0;
|
|
}
|
|
if(safe == null) {
|
|
safe = false;
|
|
}
|
|
var return_val = flixel_util_FlxColor.fromString(str);
|
|
if(return_val == null) {
|
|
if(!safe) {
|
|
throw haxe_Exception.thrown("U.parseHex() unable to parse hex String " + str);
|
|
} else {
|
|
return_val = default_color;
|
|
}
|
|
}
|
|
var backgroundColor = return_val;
|
|
var passwordMode = flixel_addons_ui_U.xml_bool(data,"password_mode");
|
|
var fti = new flixel_addons_ui_FlxUIInputText(0,0,W,text,size,color,backgroundColor);
|
|
fti.set_passwordMode(passwordMode);
|
|
var force_case = flixel_addons_ui_U.xml_str(data,"force_case",true,"");
|
|
var forceCase;
|
|
switch(force_case) {
|
|
case "lower":case "lower_case":case "lowercase":
|
|
forceCase = 2;
|
|
break;
|
|
case "l":case "u":
|
|
throw haxe_Exception.thrown(new openfl_errors_Error("FlxUI._loadInputText(): 1 letter values have been deprecated (force_case attribute)."));
|
|
case "upper":case "upper_case":case "uppercase":
|
|
forceCase = 1;
|
|
break;
|
|
default:
|
|
forceCase = 0;
|
|
}
|
|
var filter = flixel_addons_ui_U.xml_str(data,"filter",true,"");
|
|
var filterMode;
|
|
while(filter.indexOf("_") != -1) filter = StringTools.replace(filter,"_","");
|
|
switch(filter) {
|
|
case "a":case "an":case "n":
|
|
throw haxe_Exception.thrown(new openfl_errors_Error("FlxUI._loadInputText(): 1 letter values have been deprecated (filter attribute)."));
|
|
case "alpha":case "onlyalpha":
|
|
filterMode = 1;
|
|
break;
|
|
case "alphanum":case "alphanumeric":case "onlyalphanumeric":
|
|
filterMode = 3;
|
|
break;
|
|
case "num":case "numeric":case "onlynumeric":
|
|
filterMode = 2;
|
|
break;
|
|
default:
|
|
filterMode = 0;
|
|
}
|
|
fti.setFormat(the_font,size,color,align);
|
|
fti.set_forceCase(forceCase);
|
|
fti.set_filterMode(filterMode);
|
|
border.apply(fti);
|
|
fti.drawFrame();
|
|
var ft = fti;
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(data,"param")) {
|
|
var params = null;
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(data,"param")) {
|
|
params = [];
|
|
var _g = 0;
|
|
var _g1 = haxe_xml__$Access_NodeListAccess.resolve(data,"param");
|
|
while(_g < _g1.length) {
|
|
var param = _g1[_g];
|
|
++_g;
|
|
if(haxe_xml__$Access_HasAttribAccess.resolve(param,"type") && haxe_xml__$Access_HasAttribAccess.resolve(param,"value")) {
|
|
var type = haxe_xml__$Access_AttribAccess.resolve(param,"type");
|
|
type = type.toLowerCase();
|
|
var valueStr = haxe_xml__$Access_AttribAccess.resolve(param,"value");
|
|
var value = valueStr;
|
|
var sort = flixel_addons_ui_U.xml_i(param,"sort",-1);
|
|
switch(type) {
|
|
case "bool":case "boolean":
|
|
var str = new String(valueStr);
|
|
str = str.toLowerCase();
|
|
if(str == "true" || str == "1") {
|
|
value = true;
|
|
} else {
|
|
value = false;
|
|
}
|
|
break;
|
|
case "color":case "hex":
|
|
var return_val = flixel_util_FlxColor.fromString(valueStr);
|
|
if(return_val == null) {
|
|
throw haxe_Exception.thrown("U.parseHex() unable to parse hex String " + valueStr);
|
|
}
|
|
value = return_val;
|
|
break;
|
|
case "float":
|
|
value = parseFloat(valueStr);
|
|
break;
|
|
case "int":
|
|
value = Std.parseInt(valueStr);
|
|
break;
|
|
case "string":
|
|
value = new String(valueStr);
|
|
break;
|
|
}
|
|
params.push({ sort : sort, value : value});
|
|
}
|
|
}
|
|
params.sort(flixel_addons_ui_FlxUI.sortParams);
|
|
var _g = 0;
|
|
var _g1 = params.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
params[i] = params[i].value;
|
|
}
|
|
}
|
|
var params1 = params;
|
|
var ihp = ft;
|
|
ihp.set_params(params1);
|
|
}
|
|
if(H > 0 && ft.get_height() != H) {
|
|
if(js_Boot.__implements(ft,flixel_addons_ui_interfaces_IResizable)) {
|
|
var r = ft;
|
|
r.resize(r.get_width(),H);
|
|
}
|
|
}
|
|
return ft;
|
|
}
|
|
,_loadRadioGroup: function(data) {
|
|
var frg = null;
|
|
var dot_src = flixel_addons_ui_U.xml_str(data,"dot_src",true);
|
|
var radio_src = flixel_addons_ui_U.xml_str(data,"radio_src",true);
|
|
var labels = [];
|
|
var names = [];
|
|
var W = this._loadWidth(data,11,"radio_width");
|
|
var H = this._loadHeight(data,11,"radio_height");
|
|
var scrollH = this._loadHeight(data,0,"height");
|
|
var scrollW = this._loadHeight(data,0,"width");
|
|
var labelW = this._loadWidth(data,100,"label_width");
|
|
var _g = 0;
|
|
var _g1 = haxe_xml__$Access_NodeListAccess.resolve(data,"radio");
|
|
while(_g < _g1.length) {
|
|
var radioNode = _g1[_g];
|
|
++_g;
|
|
var name = flixel_addons_ui_U.xml_name(radioNode);
|
|
var label = flixel_addons_ui_U.xml_str(radioNode,"label");
|
|
var context = flixel_addons_ui_U.xml_str(radioNode,"context",true,"ui");
|
|
var code = flixel_addons_ui_U.xml_str(radioNode,"code",true,"");
|
|
label = this.getText(label,context,true,code);
|
|
names.push(name);
|
|
labels.push(label);
|
|
}
|
|
names.reverse();
|
|
labels.reverse();
|
|
var y_space = this._loadHeight(data,25,"y_space");
|
|
var params = null;
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(data,"param")) {
|
|
params = [];
|
|
var _g = 0;
|
|
var _g1 = haxe_xml__$Access_NodeListAccess.resolve(data,"param");
|
|
while(_g < _g1.length) {
|
|
var param = _g1[_g];
|
|
++_g;
|
|
if(haxe_xml__$Access_HasAttribAccess.resolve(param,"type") && haxe_xml__$Access_HasAttribAccess.resolve(param,"value")) {
|
|
var type = haxe_xml__$Access_AttribAccess.resolve(param,"type");
|
|
type = type.toLowerCase();
|
|
var valueStr = haxe_xml__$Access_AttribAccess.resolve(param,"value");
|
|
var value = valueStr;
|
|
var sort = flixel_addons_ui_U.xml_i(param,"sort",-1);
|
|
switch(type) {
|
|
case "bool":case "boolean":
|
|
var str = new String(valueStr);
|
|
str = str.toLowerCase();
|
|
if(str == "true" || str == "1") {
|
|
value = true;
|
|
} else {
|
|
value = false;
|
|
}
|
|
break;
|
|
case "color":case "hex":
|
|
var return_val = flixel_util_FlxColor.fromString(valueStr);
|
|
if(return_val == null) {
|
|
throw haxe_Exception.thrown("U.parseHex() unable to parse hex String " + valueStr);
|
|
}
|
|
value = return_val;
|
|
break;
|
|
case "float":
|
|
value = parseFloat(valueStr);
|
|
break;
|
|
case "int":
|
|
value = Std.parseInt(valueStr);
|
|
break;
|
|
case "string":
|
|
value = new String(valueStr);
|
|
break;
|
|
}
|
|
params.push({ sort : sort, value : value});
|
|
}
|
|
}
|
|
params.sort(flixel_addons_ui_FlxUI.sortParams);
|
|
var _g = 0;
|
|
var _g1 = params.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
params[i] = params[i].value;
|
|
}
|
|
}
|
|
var params1 = params;
|
|
var radio_asset = null;
|
|
if(radio_src != "") {
|
|
radio_asset = flixel_addons_ui_U.gfx(radio_src);
|
|
} else if(haxe_xml__$Access_HasNodeAccess.resolve(data,"box")) {
|
|
if(flixel_addons_ui_U.xml_str(haxe_xml__$Access_NodeAccess.resolve(data,"box"),"slice9") != "") {
|
|
radio_asset = this._load9SliceSprite(haxe_xml__$Access_NodeAccess.resolve(data,"box"));
|
|
} else {
|
|
radio_asset = this._loadSprite(haxe_xml__$Access_NodeAccess.resolve(data,"box"));
|
|
}
|
|
}
|
|
var dot_asset = null;
|
|
if(dot_src != "") {
|
|
dot_asset = flixel_addons_ui_U.gfx(dot_src);
|
|
} else if(haxe_xml__$Access_HasNodeAccess.resolve(data,"dot")) {
|
|
if(flixel_addons_ui_U.xml_str(haxe_xml__$Access_NodeAccess.resolve(data,"dot"),"slice9") != "") {
|
|
dot_asset = this._load9SliceSprite(haxe_xml__$Access_NodeAccess.resolve(data,"dot"));
|
|
} else {
|
|
dot_asset = this._loadSprite(haxe_xml__$Access_NodeAccess.resolve(data,"dot"));
|
|
}
|
|
}
|
|
var prevOffset = null;
|
|
var nextOffset = null;
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(data,"button")) {
|
|
var _g = 0;
|
|
var _g1 = haxe_xml__$Access_NodeListAccess.resolve(data,"button");
|
|
while(_g < _g1.length) {
|
|
var btnNode = _g1[_g];
|
|
++_g;
|
|
var name = flixel_addons_ui_U.xml_name(btnNode);
|
|
if(name == "previous" || name == "prev") {
|
|
var X = flixel_addons_ui_U.xml_f(btnNode,"x");
|
|
var Y = flixel_addons_ui_U.xml_f(btnNode,"y");
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
prevOffset = point;
|
|
} else if(name == "next") {
|
|
var X1 = flixel_addons_ui_U.xml_f(btnNode,"x");
|
|
var Y1 = flixel_addons_ui_U.xml_f(btnNode,"y");
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
var point1 = flixel_math_FlxPoint._pool.get().set(X1,Y1);
|
|
point1._inPool = false;
|
|
nextOffset = point1;
|
|
}
|
|
}
|
|
}
|
|
frg = new flixel_addons_ui_FlxUIRadioGroup(0,0,names,labels,null,y_space,W,H,labelW,null,prevOffset,nextOffset);
|
|
frg.set_params(params1);
|
|
if(radio_asset != "" && radio_asset != null) {
|
|
frg.loadGraphics(radio_asset,dot_asset);
|
|
}
|
|
var text_x = this._loadWidth(data,0,"text_x") | 0;
|
|
var text_y = this._loadHeight(data,0,"text_y") | 0;
|
|
var radios = frg.getRadios();
|
|
var i = 0;
|
|
var styleSet = false;
|
|
var radioList = data.elementsNamed("radio");
|
|
var radioNode = null;
|
|
var _g = 0;
|
|
var _g1 = radios.length;
|
|
while(_g < _g1) {
|
|
var k = _g++;
|
|
var fo = radios[radios.length - 1 - k];
|
|
radioNode = radioList.hasNext() ? radioList.next() : null;
|
|
if(fo != null) {
|
|
if(((fo) instanceof flixel_addons_ui_FlxUICheckBox)) {
|
|
var fc = js_Boot.__cast(fo , flixel_addons_ui_FlxUICheckBox);
|
|
var t = this.formatButtonText(data,fc);
|
|
if(t != null && styleSet == false) {
|
|
var fd = flixel_addons_ui_FontDef.copyFromFlxText(t);
|
|
var bd = new flixel_addons_ui_BorderDef(t.borderStyle,t.borderColor,t.borderSize,t.borderQuality);
|
|
frg.set_activeStyle(new flixel_addons_ui_CheckStyle(16777215,fd,flixel_text_FlxTextAlign.fromOpenFL(t._defaultFormat.align),t.color,bd));
|
|
styleSet = true;
|
|
}
|
|
fc.set_textX(text_x);
|
|
fc.set_textY(text_y);
|
|
++i;
|
|
if(radioNode != null) {
|
|
if(radioNode.nodeType != Xml.Document && radioNode.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Invalid nodeType " + (radioNode.nodeType == null ? "null" : XmlType.toString(radioNode.nodeType)));
|
|
}
|
|
var this1 = radioNode;
|
|
this._loadTooltip(fc,this1);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if(scrollW != 0) {
|
|
frg.fixedSize = true;
|
|
frg.set_width(scrollW);
|
|
}
|
|
if(scrollH != 0) {
|
|
frg.fixedSize = true;
|
|
frg.set_height(scrollH);
|
|
}
|
|
return frg;
|
|
}
|
|
,_loadCheckBox: function(data) {
|
|
var fc = null;
|
|
var label = flixel_addons_ui_U.xml_str(data,"label");
|
|
var context = flixel_addons_ui_U.xml_str(data,"context",true,"ui");
|
|
var code = flixel_addons_ui_U.xml_str(data,"code",true,"");
|
|
var checked = flixel_addons_ui_U.xml_bool(data,"checked",false);
|
|
label = this.getText(label,context,true,code);
|
|
var labelW = this._loadWidth(data,100,"label_width");
|
|
var check_src = flixel_addons_ui_U.xml_str(data,"check_src",true);
|
|
var box_src = flixel_addons_ui_U.xml_str(data,"box_src",true);
|
|
var params = null;
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(data,"param")) {
|
|
params = [];
|
|
var _g = 0;
|
|
var _g1 = haxe_xml__$Access_NodeListAccess.resolve(data,"param");
|
|
while(_g < _g1.length) {
|
|
var param = _g1[_g];
|
|
++_g;
|
|
if(haxe_xml__$Access_HasAttribAccess.resolve(param,"type") && haxe_xml__$Access_HasAttribAccess.resolve(param,"value")) {
|
|
var type = haxe_xml__$Access_AttribAccess.resolve(param,"type");
|
|
type = type.toLowerCase();
|
|
var valueStr = haxe_xml__$Access_AttribAccess.resolve(param,"value");
|
|
var value = valueStr;
|
|
var sort = flixel_addons_ui_U.xml_i(param,"sort",-1);
|
|
switch(type) {
|
|
case "bool":case "boolean":
|
|
var str = new String(valueStr);
|
|
str = str.toLowerCase();
|
|
if(str == "true" || str == "1") {
|
|
value = true;
|
|
} else {
|
|
value = false;
|
|
}
|
|
break;
|
|
case "color":case "hex":
|
|
var return_val = flixel_util_FlxColor.fromString(valueStr);
|
|
if(return_val == null) {
|
|
throw haxe_Exception.thrown("U.parseHex() unable to parse hex String " + valueStr);
|
|
}
|
|
value = return_val;
|
|
break;
|
|
case "float":
|
|
value = parseFloat(valueStr);
|
|
break;
|
|
case "int":
|
|
value = Std.parseInt(valueStr);
|
|
break;
|
|
case "string":
|
|
value = new String(valueStr);
|
|
break;
|
|
}
|
|
params.push({ sort : sort, value : value});
|
|
}
|
|
}
|
|
params.sort(flixel_addons_ui_FlxUI.sortParams);
|
|
var _g = 0;
|
|
var _g1 = params.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
params[i] = params[i].value;
|
|
}
|
|
}
|
|
var params1 = params;
|
|
var box_asset = null;
|
|
var check_asset = null;
|
|
if(box_src != "") {
|
|
box_asset = flixel_addons_ui_U.gfx(box_src);
|
|
} else if(haxe_xml__$Access_HasNodeAccess.resolve(data,"box")) {
|
|
if(flixel_addons_ui_U.xml_str(haxe_xml__$Access_NodeAccess.resolve(data,"box"),"slice9") != "") {
|
|
box_asset = this._load9SliceSprite(haxe_xml__$Access_NodeAccess.resolve(data,"box"));
|
|
} else {
|
|
box_asset = this._loadSprite(haxe_xml__$Access_NodeAccess.resolve(data,"box"));
|
|
}
|
|
}
|
|
if(check_src != "") {
|
|
check_asset = flixel_addons_ui_U.gfx(check_src);
|
|
} else if(haxe_xml__$Access_HasNodeAccess.resolve(data,"check")) {
|
|
if(flixel_addons_ui_U.xml_str(haxe_xml__$Access_NodeAccess.resolve(data,"check"),"slice9") != "") {
|
|
check_asset = this._load9SliceSprite(haxe_xml__$Access_NodeAccess.resolve(data,"check"));
|
|
} else {
|
|
check_asset = this._loadSprite(haxe_xml__$Access_NodeAccess.resolve(data,"check"));
|
|
}
|
|
}
|
|
fc = new flixel_addons_ui_FlxUICheckBox(0,0,box_asset,check_asset,label,labelW,params1);
|
|
this.formatButtonText(data,fc);
|
|
var text_x = this._loadWidth(data,0,"text_x") | 0;
|
|
var text_y = this._loadHeight(data,0,"text_y") | 0;
|
|
fc.set_textX(text_x);
|
|
fc.set_textY(text_y);
|
|
fc.set_text(label);
|
|
fc.set_checked(checked);
|
|
return fc;
|
|
}
|
|
,_loadDropDownMenu: function(data) {
|
|
var fud = null;
|
|
var label = flixel_addons_ui_U.xml_str(data,"label");
|
|
var context = flixel_addons_ui_U.xml_str(data,"context",true,"ui");
|
|
var code = flixel_addons_ui_U.xml_str(data,"code",true,"");
|
|
label = this.getText(label,context,true,code);
|
|
var back_def = flixel_addons_ui_U.xml_str(data,"back_def",true);
|
|
var panel_def = flixel_addons_ui_U.xml_str(data,"panel_def",true);
|
|
var button_def = flixel_addons_ui_U.xml_str(data,"button_def",true);
|
|
var label_def = flixel_addons_ui_U.xml_str(data,"label_def",true);
|
|
var back_asset = null;
|
|
var panel_asset = null;
|
|
var button_asset = null;
|
|
var label_asset = null;
|
|
if(back_def != "") {
|
|
back_asset = this._loadSprite(this.getDefinition(back_def));
|
|
}
|
|
if(panel_def != "") {
|
|
panel_asset = this._load9SliceSprite(this.getDefinition(panel_def));
|
|
}
|
|
if(button_def != "") {
|
|
try {
|
|
button_asset = this._loadButton(this.getDefinition(button_def),false,false);
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
if(((haxe_Exception.caught(_g).unwrap()) instanceof openfl_errors_Error)) {
|
|
button_asset = null;
|
|
} else {
|
|
throw _g;
|
|
}
|
|
}
|
|
}
|
|
if(label_def != "") {
|
|
try {
|
|
label_asset = this._loadText(this.getDefinition(label_def));
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
if(((haxe_Exception.caught(_g).unwrap()) instanceof openfl_errors_Error)) {
|
|
label_asset = null;
|
|
} else {
|
|
throw _g;
|
|
}
|
|
}
|
|
if(label_asset != null && label != "") {
|
|
label_asset.set_text(label);
|
|
}
|
|
}
|
|
var asset_list = null;
|
|
var data_list = null;
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(data,"data")) {
|
|
var _g = 0;
|
|
var _g1 = haxe_xml__$Access_NodeListAccess.resolve(data,"data");
|
|
while(_g < _g1.length) {
|
|
var dataNode = _g1[_g];
|
|
++_g;
|
|
if(data_list == null) {
|
|
data_list = [];
|
|
}
|
|
var namel = new flixel_addons_ui_StrNameLabel(flixel_addons_ui_U.xml_str(dataNode,"name",true),flixel_addons_ui_U.xml_str(dataNode,"label"));
|
|
data_list.push(namel);
|
|
}
|
|
} else if(haxe_xml__$Access_HasNodeAccess.resolve(data,"asset")) {
|
|
var _g = 0;
|
|
var _g1 = haxe_xml__$Access_NodeListAccess.resolve(data,"asset");
|
|
while(_g < _g1.length) {
|
|
var assetNode = _g1[_g];
|
|
++_g;
|
|
if(asset_list == null) {
|
|
asset_list = [];
|
|
}
|
|
var def_name = flixel_addons_ui_U.xml_str(assetNode,"def",true);
|
|
var name = flixel_addons_ui_U.xml_name(assetNode);
|
|
var asset = null;
|
|
try {
|
|
asset = this._loadButton(this.getDefinition(def_name),false);
|
|
} catch( _g2 ) {
|
|
haxe_NativeStackTrace.lastError = _g2;
|
|
if(!((haxe_Exception.caught(_g2).unwrap()) instanceof openfl_errors_Error)) {
|
|
throw _g2;
|
|
}
|
|
}
|
|
if(asset != null) {
|
|
asset.name = name;
|
|
if(asset_list == null) {
|
|
asset_list = [];
|
|
}
|
|
asset_list.push(asset);
|
|
}
|
|
}
|
|
}
|
|
var header = new flixel_addons_ui_FlxUIDropDownHeader(120,back_asset,label_asset,button_asset);
|
|
fud = new flixel_addons_ui_FlxUIDropDownMenu(0,0,data_list,null,header,panel_asset,asset_list);
|
|
return fud;
|
|
}
|
|
,_loadTest: function(data) {
|
|
var result = true;
|
|
var tmp;
|
|
if(data.nodeType == Xml.Document) {
|
|
tmp = "Document";
|
|
} else {
|
|
if(data.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element but found " + (data.nodeType == null ? "null" : XmlType.toString(data.nodeType)));
|
|
}
|
|
tmp = data.nodeName;
|
|
}
|
|
if(tmp == "load_if") {
|
|
result = this._loadTestSub(data);
|
|
if(result == false) {
|
|
return false;
|
|
}
|
|
}
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(data,"load_if")) {
|
|
var _g = 0;
|
|
var _g1 = haxe_xml__$Access_NodeListAccess.resolve(data,"load_if");
|
|
while(_g < _g1.length) {
|
|
var node = _g1[_g];
|
|
++_g;
|
|
var _this = node;
|
|
if(_this.nodeType != Xml.Document && _this.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element or Document but found " + (_this.nodeType == null ? "null" : XmlType.toString(_this.nodeType)));
|
|
}
|
|
if(_this.children[0] == null) {
|
|
result = this._loadTestSub(node);
|
|
if(result == false) {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
,_loadTestSub: function(node) {
|
|
var matchValue = flixel_addons_ui_U.xml_bool(node,"is",true);
|
|
var match = matchValue;
|
|
var aspect_ratio = flixel_addons_ui_U.xml_f(node,"aspect_ratio",-1);
|
|
if(aspect_ratio != -1) {
|
|
match = true;
|
|
var screen_ratio = js_Boot.__cast(flixel_FlxG.width , Float) / js_Boot.__cast(flixel_FlxG.height , Float);
|
|
var diff = Math.abs(screen_ratio - aspect_ratio);
|
|
if(haxe_xml__$Access_HasAttribAccess.resolve(node,"tolerance")) {
|
|
var tolerance = flixel_addons_ui_U.xml_f(node,"tolerance",0.1);
|
|
if(diff > tolerance) {
|
|
match = false;
|
|
}
|
|
} else if(haxe_xml__$Access_HasAttribAccess.resolve(node,"tolerance_plus") || haxe_xml__$Access_HasAttribAccess.resolve(node,"tolerance_minus")) {
|
|
var tolerance_minus = flixel_addons_ui_U.xml_f(node,"tolerance_minus",-1);
|
|
var tolerance_plus = flixel_addons_ui_U.xml_f(node,"tolerance_plus",-1);
|
|
if(screen_ratio > aspect_ratio && tolerance_plus != -1) {
|
|
if(diff > tolerance_plus) {
|
|
match = false;
|
|
}
|
|
}
|
|
if(screen_ratio < aspect_ratio && tolerance_minus != -1) {
|
|
if(diff > tolerance_minus) {
|
|
match = false;
|
|
}
|
|
}
|
|
}
|
|
if(match != matchValue) {
|
|
return false;
|
|
}
|
|
}
|
|
var resolution = flixel_addons_ui_U.xml_pt(node,"resolution",null);
|
|
if(resolution != null) {
|
|
match = true;
|
|
var toleranceRes = flixel_addons_ui_U.xml_pt(node,"tolerance",null);
|
|
if(toleranceRes == null) {
|
|
toleranceRes = new flixel_math_FlxPoint(0,0);
|
|
}
|
|
var diffX = Math.abs(resolution.x - flixel_FlxG.width);
|
|
var diffY = Math.abs(resolution.y - flixel_FlxG.height);
|
|
if(diffX > toleranceRes.x || diffY > toleranceRes.y) {
|
|
match = false;
|
|
}
|
|
if(match != matchValue) {
|
|
return false;
|
|
}
|
|
}
|
|
var haxeDef = flixel_addons_ui_U.xml_str(node,"haxedef",true,"");
|
|
var haxeVal = flixel_addons_ui_U.xml_bool(node,"value",true);
|
|
if(haxeDef != "") {
|
|
match = true;
|
|
var defValue = flixel_addons_ui_U.checkHaxedef(haxeDef);
|
|
match = defValue == haxeVal;
|
|
if(match != matchValue) {
|
|
return false;
|
|
}
|
|
}
|
|
var variable = flixel_addons_ui_U.xml_str(node,"variable",false,"");
|
|
var variableType = flixel_addons_ui_U.xml_str(node,"type",true,"string");
|
|
if(variable != "") {
|
|
match = true;
|
|
var varData = this.parseVarValue(variable);
|
|
if(varData != null) {
|
|
match = this.checkVariable(varData.variable,varData.value,variableType,varData.op);
|
|
}
|
|
if(match != matchValue) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
,parseVarValue: function(varString) {
|
|
var arr = ["==","=","!=","!==","<",">","<=",">="];
|
|
var temp;
|
|
var _g = 0;
|
|
while(_g < arr.length) {
|
|
var op = arr[_g];
|
|
++_g;
|
|
if(varString.indexOf(op) != -1) {
|
|
temp = varString.split(op);
|
|
if(temp != null && temp.length == 2) {
|
|
return { variable : temp[0], value : temp[1], op : op};
|
|
}
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
,_loadLayout: function(data) {
|
|
var name = flixel_addons_ui_U.xml_str(data,"name",true);
|
|
var X = this._loadWidth(data,0,"x");
|
|
var Y = this._loadHeight(data,0,"y");
|
|
var _ui = this.createUI(data);
|
|
_ui.set_x(X);
|
|
_ui.set_y(Y);
|
|
_ui.name = name;
|
|
return _ui;
|
|
}
|
|
,addToCleanup: function(str) {
|
|
if(this._assetsToCleanUp == null) {
|
|
return;
|
|
}
|
|
if(this._assetsToCleanUp.indexOf(str) == -1) {
|
|
this._assetsToCleanUp.push(str);
|
|
}
|
|
}
|
|
,addToScaledAssets: function(str) {
|
|
if(this._scaledAssets != null && this._scaledAssets.indexOf(str) == -1) {
|
|
this._scaledAssets.push(str);
|
|
}
|
|
}
|
|
,cleanup: function() {
|
|
var _g = 0;
|
|
var _g1 = this._assetsToCleanUp;
|
|
while(_g < _g1.length) {
|
|
var key = _g1[_g];
|
|
++_g;
|
|
flixel_FlxG.bitmap.removeByKey(key);
|
|
}
|
|
this._assetsToCleanUp = null;
|
|
this._scaledAssets = null;
|
|
}
|
|
,createUI: function(data) {
|
|
return new flixel_addons_ui_FlxUI(data,this,this,this._ptr_tongue,this.liveFilePath);
|
|
}
|
|
,_loadTabMenu: function(data) {
|
|
var back_def_str = flixel_addons_ui_U.xml_str(data,"back_def");
|
|
var back_def = this.getDefinition(back_def_str);
|
|
if(back_def == null) {
|
|
back_def = data;
|
|
}
|
|
back_def = flixel_addons_ui_FlxUI.consolidateData(back_def,data);
|
|
var back_type = flixel_addons_ui_U.xml_str(data,"back_type",true,"chrome");
|
|
var backSprite;
|
|
switch(back_type) {
|
|
case "region":
|
|
backSprite = new flixel_addons_ui_FlxUIRegion();
|
|
break;
|
|
case "sprite":
|
|
backSprite = this._loadSprite(back_def);
|
|
break;
|
|
default:
|
|
backSprite = this._load9SliceSprite(back_def,"tab_menu");
|
|
}
|
|
var tab_def = null;
|
|
var stretch_tabs = flixel_addons_ui_U.xml_bool(data,"stretch_tabs",false);
|
|
var stackToggled = "front";
|
|
var stackUntoggled = "back";
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(data,"stacking")) {
|
|
stackToggled = flixel_addons_ui_U.xml_str(haxe_xml__$Access_NodeAccess.resolve(data,"stacking"),"toggled",true,"front");
|
|
stackUntoggled = flixel_addons_ui_U.xml_str(haxe_xml__$Access_NodeAccess.resolve(data,"stacking"),"untoggled",true,"back");
|
|
}
|
|
var tab_spacing_str = flixel_addons_ui_U.xml_str(data,"spacing",true,"");
|
|
var tab_spacing = null;
|
|
if(tab_spacing_str != "") {
|
|
tab_spacing = this._loadWidth(data,0,"spacing");
|
|
}
|
|
var tab_x = this._loadWidth(data,0,"tab_x");
|
|
var tab_y = this._loadHeight(data,0,"tab_y");
|
|
var X = tab_x;
|
|
var Y = tab_y;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
var tab_offset = point;
|
|
var tab_def_str = "";
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(data,"tab")) {
|
|
var _g = 0;
|
|
var _g1 = haxe_xml__$Access_NodeListAccess.resolve(data,"tab");
|
|
while(_g < _g1.length) {
|
|
var tabNode = _g1[_g];
|
|
++_g;
|
|
var temp = flixel_addons_ui_U.xml_str(tabNode,"use_def");
|
|
if(temp != "") {
|
|
tab_def_str = temp;
|
|
}
|
|
}
|
|
if(tab_def_str != "") {
|
|
tab_def = this.getDefinition(tab_def_str);
|
|
} else {
|
|
tab_def = haxe_xml__$Access_NodeAccess.resolve(data,"tab");
|
|
}
|
|
}
|
|
var list_tabs = [];
|
|
var name = "";
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(data,"tab")) {
|
|
var _g = 0;
|
|
var _g1 = haxe_xml__$Access_NodeListAccess.resolve(data,"tab");
|
|
while(_g < _g1.length) {
|
|
var tab_node = _g1[_g];
|
|
++_g;
|
|
name = flixel_addons_ui_U.xml_name(tab_node);
|
|
if(name != "") {
|
|
var label = flixel_addons_ui_U.xml_str(tab_node,"label");
|
|
var context = flixel_addons_ui_U.xml_str(tab_node,"context",true,"ui");
|
|
var code = flixel_addons_ui_U.xml_str(tab_node,"code",true,"");
|
|
label = this.getText(label,context,true,code);
|
|
label = this.getText(label,context,true,code);
|
|
var tab_info = flixel_addons_ui_FlxUI.consolidateData(tab_node,tab_def);
|
|
var tab = this._loadButton(tab_info,true,true,"tab_menu");
|
|
tab.name = name;
|
|
list_tabs.push(tab);
|
|
this._loadTooltip(tab,tab_info);
|
|
}
|
|
}
|
|
}
|
|
if(list_tabs.length > 0) {
|
|
if(tab_def == null || !haxe_xml__$Access_HasNodeAccess.resolve(tab_def,"text")) {
|
|
var _g = 0;
|
|
while(_g < list_tabs.length) {
|
|
var t = list_tabs[_g];
|
|
++_g;
|
|
if(((t) instanceof flixel_addons_ui_FlxUITypedButton)) {
|
|
var tb = t;
|
|
tb.label.set_color(16777215);
|
|
if(((tb.label) instanceof flixel_addons_ui_FlxUIText)) {
|
|
var labelText = tb.label;
|
|
labelText.set_borderStyle(flixel_text_FlxTextBorderStyle.OUTLINE);
|
|
labelText.set_borderColor(0);
|
|
labelText.set_borderSize(1);
|
|
labelText.set_borderQuality(1);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if(tab_def == null || !haxe_xml__$Access_HasAttribAccess.resolve(tab_def,"width")) {
|
|
stretch_tabs = true;
|
|
}
|
|
}
|
|
var tab_stacking = [stackToggled,stackUntoggled];
|
|
var fg = new flixel_addons_ui_FlxUITabMenu(backSprite,list_tabs,null,tab_offset,stretch_tabs,tab_spacing,tab_stacking);
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(data,"group")) {
|
|
var _g = 0;
|
|
var _g1 = haxe_xml__$Access_NodeListAccess.resolve(data,"group");
|
|
while(_g < _g1.length) {
|
|
var group_node = _g1[_g];
|
|
++_g;
|
|
name = flixel_addons_ui_U.xml_name(group_node);
|
|
var _ui = new flixel_addons_ui_FlxUI(group_node,fg,this,this._ptr_tongue);
|
|
if(list_tabs != null && list_tabs.length > 0) {
|
|
var _g2 = _ui;
|
|
_g2.set_y(_g2.y + list_tabs[0].get_height());
|
|
}
|
|
_ui.name = name;
|
|
fg.addGroup(_ui);
|
|
}
|
|
}
|
|
return fg;
|
|
}
|
|
,_loadNumericStepper: function(data,setCallback) {
|
|
if(setCallback == null) {
|
|
setCallback = true;
|
|
}
|
|
var stepSize = flixel_addons_ui_U.xml_f(data,"step",1);
|
|
var defaultValue = flixel_addons_ui_U.xml_f(data,"value",0);
|
|
var min = flixel_addons_ui_U.xml_f(data,"min",0);
|
|
var max = flixel_addons_ui_U.xml_f(data,"max",10);
|
|
var decimals = flixel_addons_ui_U.xml_i(data,"decimals",0);
|
|
var percent = flixel_addons_ui_U.xml_bool(data,"percent");
|
|
var stack = flixel_addons_ui_U.xml_str(data,"stack",true,"");
|
|
if(stack == "") {
|
|
stack = flixel_addons_ui_U.xml_str(data,"stacking",true,"");
|
|
}
|
|
stack = stack.toLowerCase();
|
|
var stacking;
|
|
switch(stack) {
|
|
case "h":case "horizontal":case "horz":
|
|
stacking = 1;
|
|
break;
|
|
case "v":case "vert":case "vertical":
|
|
stacking = 0;
|
|
break;
|
|
default:
|
|
stacking = 1;
|
|
}
|
|
var theText = null;
|
|
var buttPlus = null;
|
|
var buttMinus = null;
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(data,"text")) {
|
|
theText = this._loadThing("text",haxe_xml__$Access_NodeAccess.resolve(data,"text"));
|
|
}
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(data,"plus")) {
|
|
buttPlus = this._loadThing("button",haxe_xml__$Access_NodeAccess.resolve(data,"plus"));
|
|
}
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(data,"minus")) {
|
|
buttMinus = this._loadThing("button",haxe_xml__$Access_NodeAccess.resolve(data,"minus"));
|
|
}
|
|
var ns = new flixel_addons_ui_FlxUINumericStepper(0,0,stepSize,defaultValue,min,max,decimals,stacking,theText,buttPlus,buttMinus,percent);
|
|
if(setCallback) {
|
|
var params = null;
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(data,"param")) {
|
|
params = [];
|
|
var _g = 0;
|
|
var _g1 = haxe_xml__$Access_NodeListAccess.resolve(data,"param");
|
|
while(_g < _g1.length) {
|
|
var param = _g1[_g];
|
|
++_g;
|
|
if(haxe_xml__$Access_HasAttribAccess.resolve(param,"type") && haxe_xml__$Access_HasAttribAccess.resolve(param,"value")) {
|
|
var type = haxe_xml__$Access_AttribAccess.resolve(param,"type");
|
|
type = type.toLowerCase();
|
|
var valueStr = haxe_xml__$Access_AttribAccess.resolve(param,"value");
|
|
var value = valueStr;
|
|
var sort = flixel_addons_ui_U.xml_i(param,"sort",-1);
|
|
switch(type) {
|
|
case "bool":case "boolean":
|
|
var str = new String(valueStr);
|
|
str = str.toLowerCase();
|
|
if(str == "true" || str == "1") {
|
|
value = true;
|
|
} else {
|
|
value = false;
|
|
}
|
|
break;
|
|
case "color":case "hex":
|
|
var return_val = flixel_util_FlxColor.fromString(valueStr);
|
|
if(return_val == null) {
|
|
throw haxe_Exception.thrown("U.parseHex() unable to parse hex String " + valueStr);
|
|
}
|
|
value = return_val;
|
|
break;
|
|
case "float":
|
|
value = parseFloat(valueStr);
|
|
break;
|
|
case "int":
|
|
value = Std.parseInt(valueStr);
|
|
break;
|
|
case "string":
|
|
value = new String(valueStr);
|
|
break;
|
|
}
|
|
params.push({ sort : sort, value : value});
|
|
}
|
|
}
|
|
params.sort(flixel_addons_ui_FlxUI.sortParams);
|
|
var _g = 0;
|
|
var _g1 = params.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
params[i] = params[i].value;
|
|
}
|
|
}
|
|
var params1 = params;
|
|
ns.set_params(params1);
|
|
}
|
|
return ns;
|
|
}
|
|
,getResizeRatio: function(data,defaultAxis) {
|
|
if(defaultAxis == null) {
|
|
defaultAxis = 1;
|
|
}
|
|
var str = flixel_addons_ui_U.xml_str(data,"resize_ratio_x",true);
|
|
if(str == "") {
|
|
str = flixel_addons_ui_U.xml_str(data,"resize_ratio_y",true);
|
|
if(str == "") {
|
|
var resize_ratio = flixel_addons_ui_U.xml_f(data,"resize_ratio",-1);
|
|
return new flixel_math_FlxPoint(resize_ratio,defaultAxis);
|
|
} else {
|
|
return new flixel_math_FlxPoint(parseFloat(str),1);
|
|
}
|
|
} else {
|
|
return new flixel_math_FlxPoint(parseFloat(str),0);
|
|
}
|
|
}
|
|
,_loadButton: function(data,setCallback,isToggle,load_code) {
|
|
if(load_code == null) {
|
|
load_code = "";
|
|
}
|
|
if(isToggle == null) {
|
|
isToggle = false;
|
|
}
|
|
if(setCallback == null) {
|
|
setCallback = true;
|
|
}
|
|
var fb = null;
|
|
var color = this._loadColor(data);
|
|
var resize_ratio = flixel_addons_ui_U.xml_f(data,"resize_ratio",-1);
|
|
var resize_point = this._loadCompass(data,"resize_point");
|
|
var resize_label = flixel_addons_ui_U.xml_bool(data,"resize_label",false);
|
|
var label = flixel_addons_ui_U.xml_str(data,"label");
|
|
var sprite = null;
|
|
var toggleSprite = null;
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(data,"sprite")) {
|
|
var _g = 0;
|
|
var _g1 = haxe_xml__$Access_NodeListAccess.resolve(data,"sprite");
|
|
while(_g < _g1.length) {
|
|
var spriteNode = _g1[_g];
|
|
++_g;
|
|
var forToggle = isToggle && flixel_addons_ui_U.xml_bool(spriteNode,"toggle");
|
|
if(forToggle) {
|
|
toggleSprite = this._loadThing("sprite",spriteNode);
|
|
} else {
|
|
sprite = this._loadThing("sprite",spriteNode);
|
|
}
|
|
}
|
|
}
|
|
var context = flixel_addons_ui_U.xml_str(data,"context",true,"ui");
|
|
var code = flixel_addons_ui_U.xml_str(data,"code",true,"");
|
|
label = this.getText(label,context,true,code);
|
|
var W = this._loadWidth(data,0,"width") | 0;
|
|
var H = this._loadHeight(data,0,"height") | 0;
|
|
var params = null;
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(data,"param")) {
|
|
params = [];
|
|
var _g = 0;
|
|
var _g1 = haxe_xml__$Access_NodeListAccess.resolve(data,"param");
|
|
while(_g < _g1.length) {
|
|
var param = _g1[_g];
|
|
++_g;
|
|
if(haxe_xml__$Access_HasAttribAccess.resolve(param,"type") && haxe_xml__$Access_HasAttribAccess.resolve(param,"value")) {
|
|
var type = haxe_xml__$Access_AttribAccess.resolve(param,"type");
|
|
type = type.toLowerCase();
|
|
var valueStr = haxe_xml__$Access_AttribAccess.resolve(param,"value");
|
|
var value = valueStr;
|
|
var sort = flixel_addons_ui_U.xml_i(param,"sort",-1);
|
|
switch(type) {
|
|
case "bool":case "boolean":
|
|
var str = new String(valueStr);
|
|
str = str.toLowerCase();
|
|
if(str == "true" || str == "1") {
|
|
value = true;
|
|
} else {
|
|
value = false;
|
|
}
|
|
break;
|
|
case "color":case "hex":
|
|
var return_val = flixel_util_FlxColor.fromString(valueStr);
|
|
if(return_val == null) {
|
|
throw haxe_Exception.thrown("U.parseHex() unable to parse hex String " + valueStr);
|
|
}
|
|
value = return_val;
|
|
break;
|
|
case "float":
|
|
value = parseFloat(valueStr);
|
|
break;
|
|
case "int":
|
|
value = Std.parseInt(valueStr);
|
|
break;
|
|
case "string":
|
|
value = new String(valueStr);
|
|
break;
|
|
}
|
|
params.push({ sort : sort, value : value});
|
|
}
|
|
}
|
|
params.sort(flixel_addons_ui_FlxUI.sortParams);
|
|
var _g = 0;
|
|
var _g1 = params.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
params[i] = params[i].value;
|
|
}
|
|
}
|
|
var params1 = params;
|
|
if(sprite == null) {
|
|
var useDefaultGraphic = haxe_xml__$Access_HasNodeAccess.resolve(data,"graphic") == false;
|
|
fb = new flixel_addons_ui_FlxUIButton(0,0,label,null,useDefaultGraphic,false,color);
|
|
var fuib = fb;
|
|
fuib._autoCleanup = false;
|
|
} else {
|
|
var tempGroup = null;
|
|
if(label != "") {
|
|
var labelTxt = new flixel_addons_ui_FlxUIText(0,0,80,label,8);
|
|
labelTxt.setFormat(null,8,3355443,"center");
|
|
tempGroup = new flixel_group_FlxTypedSpriteGroup();
|
|
tempGroup.add(sprite);
|
|
tempGroup.add(labelTxt);
|
|
fb = new flixel_addons_ui_FlxUISpriteButton(0,0,tempGroup);
|
|
} else {
|
|
fb = new flixel_addons_ui_FlxUISpriteButton(0,0,sprite);
|
|
}
|
|
}
|
|
fb.resize_ratio = resize_ratio;
|
|
fb.resize_point = resize_point;
|
|
fb.autoResizeLabel = resize_label;
|
|
if(setCallback) {
|
|
fb.set_params(params1);
|
|
}
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(data,"graphic")) {
|
|
var blank = flixel_addons_ui_U.xml_bool(haxe_xml__$Access_NodeAccess.resolve(data,"graphic"),"blank");
|
|
if(blank) {
|
|
fb.loadGraphicSlice9(["","",""],W,H,null,0,resize_ratio);
|
|
} else {
|
|
var graphic_names = null;
|
|
var slice9_names = null;
|
|
var frames = null;
|
|
if(isToggle) {
|
|
graphic_names = ["","","","","",""];
|
|
slice9_names = [null,null,null,null,null,null];
|
|
} else {
|
|
graphic_names = ["","",""];
|
|
slice9_names = [null,null,null];
|
|
}
|
|
var src_w = flixel_addons_ui_U.xml_i(haxe_xml__$Access_NodeAccess.resolve(data,"graphic"),"src_w",0);
|
|
var src_h = flixel_addons_ui_U.xml_i(haxe_xml__$Access_NodeAccess.resolve(data,"graphic"),"src_h",0);
|
|
var tileStr = flixel_addons_ui_U.xml_str(haxe_xml__$Access_NodeAccess.resolve(data,"graphic"),"tile",true,"");
|
|
var tile = 0;
|
|
switch(tileStr) {
|
|
case "h":case "horizontal":
|
|
tile = 16;
|
|
break;
|
|
case "v":case "vertical":
|
|
tile = 1;
|
|
break;
|
|
case "all":case "both":case "hv":case "true":case "vh":
|
|
tile = 17;
|
|
break;
|
|
}
|
|
var tile1 = tile;
|
|
var frame_str = flixel_addons_ui_U.xml_str(haxe_xml__$Access_NodeAccess.resolve(data,"graphic"),"frames",true);
|
|
if(frame_str != "") {
|
|
frames = [];
|
|
var arr = frame_str.split(",");
|
|
var _g = 0;
|
|
while(_g < arr.length) {
|
|
var numstr = arr[_g];
|
|
++_g;
|
|
frames.push(Std.parseInt(numstr));
|
|
}
|
|
}
|
|
var _g = 0;
|
|
var _g1 = haxe_xml__$Access_NodeListAccess.resolve(data,"graphic");
|
|
while(_g < _g1.length) {
|
|
var graphicNode = _g1[_g];
|
|
++_g;
|
|
var graphic_name = flixel_addons_ui_U.xml_name(graphicNode);
|
|
var image = flixel_addons_ui_U.xml_str(graphicNode,"image");
|
|
var slice9 = flixel_util_FlxStringUtil.toIntArray(flixel_addons_ui_U.xml_str(graphicNode,"slice9"));
|
|
var tileStr = flixel_addons_ui_U.xml_str(graphicNode,"tile",true,"");
|
|
var tile = 0;
|
|
switch(tileStr) {
|
|
case "h":case "horizontal":
|
|
tile = 16;
|
|
break;
|
|
case "v":case "vertical":
|
|
tile = 1;
|
|
break;
|
|
case "all":case "both":case "hv":case "true":case "vh":
|
|
tile = 17;
|
|
break;
|
|
}
|
|
tile1 = tile;
|
|
var toggleState = flixel_addons_ui_U.xml_bool(graphicNode,"toggle");
|
|
toggleState = toggleState && isToggle;
|
|
var igfx = flixel_addons_ui_U.gfx(image);
|
|
switch(graphic_name) {
|
|
case "all":
|
|
var tilesTall = isToggle ? 6 : 3;
|
|
var temp = null;
|
|
if(src_h != 0) {
|
|
var temp1 = flixel_addons_ui_U.getBmp(igfx);
|
|
tilesTall = temp1.height / src_h | 0;
|
|
}
|
|
if(image != "") {
|
|
graphic_names = [this.loadScaledSrc(graphicNode,"image","scale_src",1,tilesTall)];
|
|
}
|
|
slice9_names = [this.load9SliceSprite_scaleSub(slice9,graphicNode,graphic_names[0],"image")];
|
|
temp = flixel_addons_ui_U.getBmp(graphic_names[0]);
|
|
src_w = temp.width;
|
|
src_h = temp.height / tilesTall | 0;
|
|
break;
|
|
case "active":case "highlight":case "hilight":case "hover":case "over":
|
|
if(image != "") {
|
|
if(!toggleState) {
|
|
graphic_names[1] = this.loadScaledSrc(graphicNode,"image","scale_src");
|
|
} else {
|
|
graphic_names[4] = this.loadScaledSrc(graphicNode,"image","scale_src");
|
|
}
|
|
}
|
|
if(!toggleState) {
|
|
slice9_names[1] = this.load9SliceSprite_scaleSub(slice9,graphicNode,graphic_names[1],"image");
|
|
} else {
|
|
slice9_names[4] = this.load9SliceSprite_scaleSub(slice9,graphicNode,graphic_names[4],"image");
|
|
}
|
|
break;
|
|
case "down":case "pressed":case "pushed":
|
|
if(image != "") {
|
|
if(!toggleState) {
|
|
graphic_names[2] = this.loadScaledSrc(graphicNode,"image","scale_src");
|
|
} else {
|
|
graphic_names[5] = this.loadScaledSrc(graphicNode,"image","scale_src");
|
|
}
|
|
}
|
|
if(!toggleState) {
|
|
slice9_names[2] = this.load9SliceSprite_scaleSub(slice9,graphicNode,graphic_names[2],"image");
|
|
} else {
|
|
slice9_names[5] = this.load9SliceSprite_scaleSub(slice9,graphicNode,graphic_names[5],"image");
|
|
}
|
|
break;
|
|
case "":case "inactive":case "normal":case "up":
|
|
if(image != "") {
|
|
if(!toggleState) {
|
|
graphic_names[0] = this.loadScaledSrc(graphicNode,"image","scale_src");
|
|
} else {
|
|
graphic_names[3] = this.loadScaledSrc(graphicNode,"image","scale_src");
|
|
}
|
|
}
|
|
if(!toggleState) {
|
|
slice9_names[0] = this.load9SliceSprite_scaleSub(slice9,graphicNode,graphic_names[0],"image");
|
|
} else {
|
|
slice9_names[3] = this.load9SliceSprite_scaleSub(slice9,graphicNode,graphic_names[3],"image");
|
|
}
|
|
break;
|
|
}
|
|
if(graphic_names[0] != "") {
|
|
if(graphic_names.length >= 3) {
|
|
if(graphic_names[1] == "") {
|
|
graphic_names[1] = graphic_names[0];
|
|
}
|
|
if(graphic_names[2] == "") {
|
|
graphic_names[2] = graphic_names[1];
|
|
}
|
|
if(graphic_names.length >= 6) {
|
|
if(graphic_names[3] == "") {
|
|
graphic_names[3] = graphic_names[0];
|
|
}
|
|
if(graphic_names[4] == "") {
|
|
graphic_names[4] = graphic_names[1];
|
|
}
|
|
if(graphic_names[5] == "") {
|
|
graphic_names[5] = graphic_names[2];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
fb.loadGraphicSlice9(graphic_names,W,H,slice9_names,tile1,resize_ratio,isToggle,src_w,src_h,frames);
|
|
}
|
|
} else if(load_code == "tab_menu") {
|
|
var graphic_names = ["flixel/flixel-ui/img/tab_back.png","flixel/flixel-ui/img/tab_back.png","flixel/flixel-ui/img/tab_back.png","flixel/flixel-ui/img/tab.png","flixel/flixel-ui/img/tab.png","flixel/flixel-ui/img/tab.png"];
|
|
var slice9_tab = flixel_util_FlxStringUtil.toIntArray("6,6,11,11");
|
|
var slice9_names = [slice9_tab,slice9_tab,slice9_tab,slice9_tab,slice9_tab,slice9_tab];
|
|
if(((fb) instanceof flixel_addons_ui_FlxUIButton)) {
|
|
var fbui = fb;
|
|
fbui.loadGraphicSlice9(graphic_names,W,H,slice9_names,0,resize_ratio,isToggle);
|
|
} else if(((fb) instanceof flixel_addons_ui_FlxUISpriteButton)) {
|
|
var fbuis = fb;
|
|
fbuis.loadGraphicSlice9(graphic_names,W,H,slice9_names,0,resize_ratio,isToggle);
|
|
} else {
|
|
fb.loadGraphicSlice9(graphic_names,W,H,slice9_names,0,resize_ratio,isToggle);
|
|
}
|
|
} else {
|
|
if(W <= 0) {
|
|
W = 80;
|
|
}
|
|
if(H <= 0) {
|
|
H = 20;
|
|
}
|
|
fb.loadGraphicSlice9(null,W,H,null,0,resize_ratio,isToggle);
|
|
}
|
|
if(sprite == null) {
|
|
if(data != null && haxe_xml__$Access_HasNodeAccess.resolve(data,"text")) {
|
|
this.formatButtonText(data,fb);
|
|
} else if(load_code == "tab_menu") {
|
|
fb.up_color = 16777215;
|
|
fb.down_color = 16777215;
|
|
fb.over_color = 16777215;
|
|
fb.up_toggle_color = 16777215;
|
|
fb.down_toggle_color = 16777215;
|
|
fb.over_toggle_color = 16777215;
|
|
} else {
|
|
fb.autoCenterLabel();
|
|
}
|
|
} else {
|
|
fb.autoCenterLabel();
|
|
}
|
|
if(sprite != null && label != "") {
|
|
if(data != null && haxe_xml__$Access_HasNodeAccess.resolve(data,"text")) {
|
|
this.formatButtonText(data,fb);
|
|
}
|
|
}
|
|
var text_x = 0;
|
|
var text_y = 0;
|
|
if(data.get("text_x") != null) {
|
|
text_x = this._loadWidth(data,0,"text_x") | 0;
|
|
} else if(data.get("label_x") != null) {
|
|
text_x = this._loadWidth(data,0,"label_x") | 0;
|
|
}
|
|
if(data.get("text_y") != null) {
|
|
text_y = this._loadHeight(data,0,"text_y") | 0;
|
|
} else if(data.get("label_y") != null) {
|
|
text_y = this._loadHeight(data,0,"label_y") | 0;
|
|
}
|
|
if(((fb) instanceof flixel_addons_ui_FlxUISpriteButton)) {
|
|
var fbs = fb;
|
|
if(((fbs.label) instanceof flixel_group_FlxTypedSpriteGroup)) {
|
|
var g = fbs.label;
|
|
var _g = 0;
|
|
var _g1 = g.group.members;
|
|
while(_g < _g1.length) {
|
|
var sprite1 = _g1[_g];
|
|
++_g;
|
|
if(((sprite1) instanceof flixel_addons_ui_FlxUIText)) {
|
|
var _g2 = sprite1.offset;
|
|
_g2.set_x(_g2.x - text_x);
|
|
var _g3 = sprite1.offset;
|
|
_g3.set_y(_g3.y - text_y);
|
|
break;
|
|
}
|
|
}
|
|
} else {
|
|
var _g = fbs.label.offset;
|
|
_g.set_x(_g.x - text_x);
|
|
var _g = fbs.label.offset;
|
|
_g.set_y(_g.y - text_y);
|
|
if(toggleSprite != null) {
|
|
var _g = toggleSprite.offset;
|
|
_g.set_x(_g.x - text_x);
|
|
var _g = toggleSprite.offset;
|
|
_g.set_y(_g.y - text_y);
|
|
}
|
|
}
|
|
} else {
|
|
var fbu = fb;
|
|
var _g = fbu.label.offset;
|
|
_g.set_x(_g.x - text_x);
|
|
var _g = fbu.label.offset;
|
|
_g.set_y(_g.y - text_y);
|
|
}
|
|
if(sprite != null && toggleSprite != null) {
|
|
fb.set_toggle_label(toggleSprite);
|
|
}
|
|
if(((fb) instanceof flixel_addons_ui_FlxUITypedButton)) {
|
|
var fuitb = fb;
|
|
if(fuitb._assetsToCleanup != null) {
|
|
var _g = 0;
|
|
var _g1 = fuitb._assetsToCleanup;
|
|
while(_g < _g1.length) {
|
|
var key = _g1[_g];
|
|
++_g;
|
|
this.addToCleanup(key);
|
|
}
|
|
}
|
|
}
|
|
return fb;
|
|
}
|
|
,_loadRegion: function(data) {
|
|
var bounds = this.calcMaxMinSize(data);
|
|
var w = this._loadWidth(data) | 0;
|
|
var h = this._loadHeight(data) | 0;
|
|
if(bounds != null) {
|
|
var pt = flixel_addons_ui_U.conformToBounds(new openfl_geom_Point(w,h),bounds);
|
|
w = pt.x | 0;
|
|
h = pt.y | 0;
|
|
}
|
|
var vis = flixel_addons_ui_U.xml_bool(data,"visible",true);
|
|
var reg = new flixel_addons_ui_FlxUIRegion(0,0,w,h);
|
|
reg.set_visible(vis);
|
|
return reg;
|
|
}
|
|
,_load9SliceSprite: function(data,load_code) {
|
|
if(load_code == null) {
|
|
load_code = "";
|
|
}
|
|
var src = "";
|
|
var f9s = null;
|
|
var resize = this.getResizeRatio(data);
|
|
var color = this._loadColor(data);
|
|
var resize_ratio = resize.x;
|
|
var resize_point = this._loadCompass(data,"resize_point");
|
|
var resize_ratio_axis = resize.y | 0;
|
|
var bounds = this.calcMaxMinSize(data);
|
|
var data1 = data;
|
|
var str = "";
|
|
if(data1.get("src") != null) {
|
|
str = data1.get("src");
|
|
if(str == "" || str == null) {
|
|
str = "";
|
|
} else {
|
|
str = flixel_addons_ui_U.gfx(str);
|
|
try {
|
|
if(!openfl_utils_Assets.exists(str,"IMAGE")) {
|
|
throw haxe_Exception.thrown("couldn't load bmp \"" + "src" + "\"");
|
|
}
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
if(typeof(haxe_Exception.caught(_g).unwrap()) != "string") {
|
|
throw _g;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
src = str;
|
|
var hasScaledSrc = haxe_xml__$Access_HasNodeAccess.resolve(data,"scale_src");
|
|
if(hasScaledSrc) {
|
|
var origSrc = src;
|
|
src = this.loadScaledSrc(data,"src","scale_src");
|
|
if(src != origSrc) {
|
|
this.addToCleanup(origSrc);
|
|
}
|
|
}
|
|
if(src == "") {
|
|
src = null;
|
|
}
|
|
if(src == null) {
|
|
if(load_code == "tab_menu") {
|
|
src = "flixel/flixel-ui/img/chrome_flat.png";
|
|
}
|
|
}
|
|
var rect_w = this._loadWidth(data) | 0;
|
|
var rect_h = this._loadHeight(data) | 0;
|
|
if(bounds != null) {
|
|
if(rect_w < bounds.min_width) {
|
|
rect_w = bounds.min_width | 0;
|
|
} else if(rect_w > bounds.max_width) {
|
|
rect_w = bounds.max_width;
|
|
}
|
|
if(rect_h < bounds.min_height) {
|
|
rect_h = bounds.min_height | 0;
|
|
} else if(rect_h > bounds.max_height) {
|
|
rect_h = bounds.max_height | 0;
|
|
}
|
|
}
|
|
if(rect_w == 0 || rect_h == 0) {
|
|
return null;
|
|
}
|
|
var rc = new openfl_geom_Rectangle(0,0,rect_w,rect_h);
|
|
var slice9 = flixel_util_FlxStringUtil.toIntArray(flixel_addons_ui_U.xml_str(data,"slice9"));
|
|
var srcId = "";
|
|
var srcGraphic = src;
|
|
if(hasScaledSrc) {
|
|
slice9 = this.load9SliceSprite_scaleSub(slice9,data,src);
|
|
srcId = src;
|
|
srcGraphic = flixel_FlxG.bitmap._cache.h[src];
|
|
}
|
|
var smooth = flixel_addons_ui_U.xml_bool(data,"smooth",false);
|
|
var tileStr = flixel_addons_ui_U.xml_str(data,"tile",true,"");
|
|
var tile = 0;
|
|
switch(tileStr) {
|
|
case "h":case "horizontal":
|
|
tile = 16;
|
|
break;
|
|
case "v":case "vertical":
|
|
tile = 1;
|
|
break;
|
|
case "all":case "both":case "hv":case "true":case "vh":
|
|
tile = 17;
|
|
break;
|
|
}
|
|
var tile1 = tile;
|
|
f9s = new flixel_addons_ui_FlxUI9SliceSprite(0,0,srcGraphic,rc,slice9,tile1,smooth,srcId,resize_ratio,resize_point,resize_ratio_axis,false,color);
|
|
return f9s;
|
|
}
|
|
,load9SliceSprite_scaleSub: function(slice9,data,src,srcString) {
|
|
if(srcString == null) {
|
|
srcString = "src";
|
|
}
|
|
var data1 = data;
|
|
var str = "";
|
|
if(data1.get(srcString) != null) {
|
|
str = data1.get(srcString);
|
|
if(str == "" || str == null) {
|
|
str = "";
|
|
} else {
|
|
str = flixel_addons_ui_U.gfx(str);
|
|
try {
|
|
if(!openfl_utils_Assets.exists(str,"IMAGE")) {
|
|
throw haxe_Exception.thrown("couldn't load bmp \"" + srcString + "\"");
|
|
}
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
if(typeof(haxe_Exception.caught(_g).unwrap()) != "string") {
|
|
throw _g;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
var origSrc = str;
|
|
if(src == origSrc) {
|
|
return slice9;
|
|
}
|
|
var srcAsset = flixel_FlxG.bitmap._cache.h[src] != null ? flixel_FlxG.bitmap._cache.h[src].bitmap : null;
|
|
if(srcAsset == null) {
|
|
srcAsset = openfl_utils_Assets.getBitmapData(origSrc);
|
|
}
|
|
var origAsset = openfl_utils_Assets.getBitmapData(origSrc,false);
|
|
var srcScaleFactorX = srcAsset.width / origAsset.width;
|
|
var srcScaleFactorY = srcAsset.height / origAsset.height;
|
|
if(Math.abs(1.0 - srcScaleFactorX) <= 0.001 && Math.abs(1.0 - srcScaleFactorY) <= 0.001) {
|
|
return slice9;
|
|
}
|
|
if(slice9 != null) {
|
|
slice9[0] = slice9[0] * srcScaleFactorX | 0;
|
|
slice9[1] = slice9[1] * srcScaleFactorY | 0;
|
|
var widthDiff = origAsset.width - slice9[2];
|
|
var heightDiff = origAsset.height - slice9[3];
|
|
widthDiff = widthDiff * srcScaleFactorX | 0;
|
|
heightDiff = heightDiff * srcScaleFactorY | 0;
|
|
slice9[2] = srcAsset.width - widthDiff | 0;
|
|
slice9[3] = srcAsset.height - heightDiff | 0;
|
|
}
|
|
return slice9;
|
|
}
|
|
,_loadTileRule: function(data) {
|
|
var tileStr = flixel_addons_ui_U.xml_str(data,"tile",true,"");
|
|
var tile = 0;
|
|
switch(tileStr) {
|
|
case "h":case "horizontal":
|
|
tile = 16;
|
|
break;
|
|
case "v":case "vertical":
|
|
tile = 1;
|
|
break;
|
|
case "all":case "both":case "hv":case "true":case "vh":
|
|
tile = 17;
|
|
break;
|
|
}
|
|
return tile;
|
|
}
|
|
,_loadBox: function(data) {
|
|
var fs = null;
|
|
var thickness = this._loadWidth(data,1,"thickness") | 0;
|
|
var bounds = this.calcMaxMinSize(data);
|
|
if(bounds == null) {
|
|
bounds = { min_width : -Infinity, min_height : -Infinity, max_width : Infinity, max_height : Infinity};
|
|
}
|
|
var W = this._loadWidth(data) | 0;
|
|
var H = this._loadHeight(data) | 0;
|
|
if(bounds != null) {
|
|
if(W < bounds.min_width) {
|
|
W = bounds.min_width | 0;
|
|
} else if(W > bounds.max_width) {
|
|
W = bounds.max_width | 0;
|
|
}
|
|
if(H < bounds.min_height) {
|
|
H = bounds.max_height | 0;
|
|
} else if(H > bounds.max_height) {
|
|
H = bounds.max_height | 0;
|
|
}
|
|
}
|
|
var cstr = flixel_addons_ui_U.xml_str(data,"color",true,"0xff000000");
|
|
var C = 0;
|
|
if(cstr != "") {
|
|
var return_val = flixel_util_FlxColor.fromString(cstr);
|
|
if(return_val == null) {
|
|
throw haxe_Exception.thrown("U.parseHex() unable to parse hex String " + cstr);
|
|
}
|
|
C = return_val;
|
|
}
|
|
fs = new flixel_addons_ui_FlxUISprite(0,0);
|
|
var key = W + "x" + H + ":" + C + ":" + thickness;
|
|
if(flixel_FlxG.bitmap._cache.h[key] != null) {
|
|
fs.loadGraphic(key);
|
|
} else {
|
|
fs.makeGraphic(W,H,C,false,key);
|
|
var r = new openfl_geom_Rectangle(thickness,thickness,W - thickness * 2,H - thickness * 2);
|
|
fs.graphic.bitmap.fillRect(r,0);
|
|
}
|
|
return fs;
|
|
}
|
|
,_loadLine: function(data) {
|
|
var axis = flixel_addons_ui_U.xml_str(data,"axis",true,"horizontal");
|
|
var thickness = this._loadWidth(data,-1,"thickness") | 0;
|
|
var bounds = this.calcMaxMinSize(data);
|
|
if(bounds == null) {
|
|
bounds = { min_width : 1, min_height : 1, max_width : Infinity, max_height : Infinity};
|
|
}
|
|
switch(axis) {
|
|
case "h":case "horizontal":case "horz":
|
|
bounds.max_height = thickness;
|
|
bounds.min_height = thickness;
|
|
break;
|
|
case "v":case "vert":case "vertical":
|
|
bounds.max_width = thickness;
|
|
bounds.min_width = thickness;
|
|
break;
|
|
}
|
|
var W = this._loadWidth(data) | 0;
|
|
var H = this._loadHeight(data) | 0;
|
|
if(bounds != null) {
|
|
if(W < bounds.min_width) {
|
|
W = bounds.min_width | 0;
|
|
} else if(W > bounds.max_width) {
|
|
W = bounds.max_width | 0;
|
|
}
|
|
if(H < bounds.min_height) {
|
|
H = bounds.max_height | 0;
|
|
} else if(H > bounds.max_height) {
|
|
H = bounds.max_height | 0;
|
|
}
|
|
}
|
|
var cstr = flixel_addons_ui_U.xml_str(data,"color",true,"0xff000000");
|
|
var C = 0;
|
|
if(cstr != "") {
|
|
var return_val = flixel_util_FlxColor.fromString(cstr);
|
|
if(return_val == null) {
|
|
throw haxe_Exception.thrown("U.parseHex() unable to parse hex String " + cstr);
|
|
}
|
|
C = return_val;
|
|
}
|
|
var lineAxis = axis == "horizontal" ? flixel_addons_ui_LineAxis.HORIZONTAL : flixel_addons_ui_LineAxis.VERTICAL;
|
|
var lineLength = lineAxis == flixel_addons_ui_LineAxis.HORIZONTAL ? W : H;
|
|
var lineThickness = thickness != -1 ? thickness : lineAxis == flixel_addons_ui_LineAxis.HORIZONTAL ? H : W;
|
|
var fl = new flixel_addons_ui_FlxUILine(0,0,lineAxis,lineLength,lineThickness,C);
|
|
return fl;
|
|
}
|
|
,_loadBar: function(data) {
|
|
var fb = null;
|
|
var style = { filledColors : null, emptyColors : null, chunkSize : null, gradRotation : null, filledColor : null, emptyColor : null, borderColor : null, filledImgSrc : "", emptyImgSrc : ""};
|
|
var W = this._loadWidth(data,-1) | 0;
|
|
var H = this._loadHeight(data,-1) | 0;
|
|
var direction = flixel_addons_ui_U.xml_str(data,"fill_direction",true);
|
|
var fillDir = flixel_ui_FlxBarFillDirection.TOP_TO_BOTTOM;
|
|
switch(direction) {
|
|
case "bottom_to_top":
|
|
fillDir = flixel_ui_FlxBarFillDirection.BOTTOM_TO_TOP;
|
|
break;
|
|
case "horizontal_inside_out":
|
|
fillDir = flixel_ui_FlxBarFillDirection.HORIZONTAL_INSIDE_OUT;
|
|
break;
|
|
case "horizontal_outside_in":
|
|
fillDir = flixel_ui_FlxBarFillDirection.HORIZONTAL_OUTSIDE_IN;
|
|
break;
|
|
case "left_to_right":
|
|
fillDir = flixel_ui_FlxBarFillDirection.LEFT_TO_RIGHT;
|
|
break;
|
|
case "right_to_left":
|
|
fillDir = flixel_ui_FlxBarFillDirection.RIGHT_TO_LEFT;
|
|
break;
|
|
case "top_to_bottom":
|
|
fillDir = flixel_ui_FlxBarFillDirection.TOP_TO_BOTTOM;
|
|
break;
|
|
case "vertical_inside_out":
|
|
fillDir = flixel_ui_FlxBarFillDirection.VERTICAL_INSIDE_OUT;
|
|
break;
|
|
case "vertical_outside_in":
|
|
fillDir = flixel_ui_FlxBarFillDirection.VERTICAL_OUTSIDE_IN;
|
|
break;
|
|
default:
|
|
fillDir = flixel_ui_FlxBarFillDirection.LEFT_TO_RIGHT;
|
|
}
|
|
var parentRefStr = flixel_addons_ui_U.xml_str(data,"parent_ref",true);
|
|
var parentRef = parentRefStr != "" ? this.getAsset(parentRefStr) : null;
|
|
var variableName = flixel_addons_ui_U.xml_str(data,"variable");
|
|
var value = flixel_addons_ui_U.xml_f(data,"value",-1);
|
|
var min = flixel_addons_ui_U.xml_f(data,"min",0);
|
|
var max = flixel_addons_ui_U.xml_f(data,"max",100);
|
|
if(value == -1) {
|
|
value = max;
|
|
}
|
|
style.borderColor = flixel_addons_ui_U.xml_color(data,"border_color");
|
|
var showBorder = style.borderColor != null;
|
|
style.filledColor = flixel_addons_ui_U.xml_color(data,"filled_color");
|
|
if(style.filledColor == null) {
|
|
style.filledColor = flixel_addons_ui_U.xml_color(data,"color");
|
|
}
|
|
style.emptyColor = flixel_addons_ui_U.xml_color(data,"empty_color");
|
|
style.filledColors = flixel_addons_ui_U.xml_colorArray(data,"filled_colors");
|
|
style.emptyColors = flixel_addons_ui_U.xml_colorArray(data,"empty_colors");
|
|
if(style.filledColors == null) {
|
|
style.filledColors = flixel_addons_ui_U.xml_colorArray(data,"colors");
|
|
}
|
|
style.filledImgSrc = this.loadScaledSrc(data,"src_filled");
|
|
style.emptyImgSrc = this.loadScaledSrc(data,"src_empty");
|
|
if(style.filledImgSrc == "") {
|
|
style.filledImgSrc = this.loadScaledSrc(data,"src");
|
|
}
|
|
style.chunkSize = flixel_addons_ui_U.xml_i(data,"chunk_size",1);
|
|
style.gradRotation = flixel_addons_ui_U.xml_i(data,"rotation",90);
|
|
if(style.filledImgSrc == "" && style.filledColor == null && style.filledColors == null) {
|
|
style.filledColor = -65536;
|
|
}
|
|
if(W == -1 && H == -1) {
|
|
fb = new flixel_addons_ui_FlxUIBar(0,0,fillDir,100,10,parentRef,variableName,min,max,showBorder);
|
|
} else {
|
|
fb = new flixel_addons_ui_FlxUIBar(0,0,fillDir,W,H,parentRef,variableName,min,max,showBorder);
|
|
}
|
|
fb.set_style(style);
|
|
fb.resize(fb.barWidth,fb.barHeight);
|
|
fb.set_value(value);
|
|
return fb;
|
|
}
|
|
,_loadSprite: function(data) {
|
|
var src = "";
|
|
var fs = null;
|
|
src = this.loadScaledSrc(data);
|
|
var bounds = this.calcMaxMinSize(data);
|
|
var resize = this.getResizeRatio(data,-1);
|
|
var resize_ratio = resize.x;
|
|
var resize_ratio_axis = resize.y | 0;
|
|
var resize_point = this._loadCompass(data,"resize_point");
|
|
var W = this._loadWidth(data,-1) | 0;
|
|
var H = this._loadHeight(data,-1) | 0;
|
|
if(bounds != null) {
|
|
if(W < bounds.min_width) {
|
|
W = bounds.min_width | 0;
|
|
} else if(W > bounds.max_width) {
|
|
W = bounds.max_width | 0;
|
|
}
|
|
if(H < bounds.min_height) {
|
|
H = bounds.max_height | 0;
|
|
} else if(H > bounds.max_height) {
|
|
H = bounds.max_height | 0;
|
|
}
|
|
}
|
|
if(src != "") {
|
|
if(W == -1 && H == -1) {
|
|
fs = new flixel_addons_ui_FlxUISprite(0,0,src);
|
|
} else {
|
|
if(resize_ratio != -1 && (W == -1 || H == -1)) {
|
|
if(resize_ratio_axis == -1) {
|
|
if(W == -1) {
|
|
resize_ratio_axis = 0;
|
|
}
|
|
if(H == -1) {
|
|
resize_ratio_axis = 1;
|
|
}
|
|
}
|
|
if(resize_ratio_axis == 1) {
|
|
H = W * (1 / resize_ratio);
|
|
} else if(resize_ratio_axis == 0) {
|
|
W = H * (1 / resize_ratio);
|
|
}
|
|
}
|
|
var smooth = this.loadSmooth(data,true);
|
|
fs = new flixel_addons_ui_FlxUISprite(0,0,flixel_addons_ui_U.loadScaledImage(flixel_addons_ui_U.xml_str(data,"src"),W,H,smooth));
|
|
}
|
|
} else {
|
|
var cstr = flixel_addons_ui_U.xml_str(data,"color");
|
|
var C = 0;
|
|
if(cstr != "") {
|
|
var return_val = flixel_util_FlxColor.fromString(cstr);
|
|
if(return_val == null) {
|
|
throw haxe_Exception.thrown("U.parseHex() unable to parse hex String " + cstr);
|
|
}
|
|
C = return_val;
|
|
}
|
|
fs = new flixel_addons_ui_FlxUISprite(0,0);
|
|
fs.makeGraphic(W,H,C);
|
|
}
|
|
fs.set_resize_point(resize_point);
|
|
fs.set_resize_ratio(resize_ratio);
|
|
fs.resize_ratio_axis = resize_ratio_axis;
|
|
return fs;
|
|
}
|
|
,loadSmooth: function(scaleNode,defaultValue) {
|
|
var defaultStr = defaultValue ? "true" : "false";
|
|
var smoothStr = flixel_addons_ui_U.xml_str(scaleNode,"smooth",true,defaultStr);
|
|
if(smoothStr == "") {
|
|
smoothStr = flixel_addons_ui_U.xml_str(scaleNode,"antialias",true,defaultStr);
|
|
}
|
|
return flixel_addons_ui_U.boolify(smoothStr);
|
|
}
|
|
,loadScaledSrc: function(data,attName,scaleName,tilesWide,tilesTall) {
|
|
if(tilesTall == null) {
|
|
tilesTall = 1;
|
|
}
|
|
if(tilesWide == null) {
|
|
tilesWide = 1;
|
|
}
|
|
if(scaleName == null) {
|
|
scaleName = "scale";
|
|
}
|
|
if(attName == null) {
|
|
attName = "src";
|
|
}
|
|
var src = flixel_addons_ui_U.xml_str(data,attName);
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(data,scaleName)) {
|
|
var _g = 0;
|
|
var _g1 = haxe_xml__$Access_NodeListAccess.resolve(data,scaleName);
|
|
while(_g < _g1.length) {
|
|
var scaleNode = _g1[_g];
|
|
++_g;
|
|
var ratio = flixel_addons_ui_U.xml_f(scaleNode,"screen_ratio",-1);
|
|
var tolerance = flixel_addons_ui_U.xml_f(scaleNode,"tolerance",0.1);
|
|
var actualRatio = flixel_FlxG.width / flixel_FlxG.height;
|
|
if(ratio < 0 || ratio > 0 && Math.abs(ratio - actualRatio) <= tolerance) {
|
|
var suffix = flixel_addons_ui_U.xml_str(scaleNode,"suffix");
|
|
var srcSuffix = src + suffix;
|
|
var testAsset = null;
|
|
var scale_ = -1;
|
|
var smooth = this.loadSmooth(scaleNode,true);
|
|
var to_height = this._loadHeight(scaleNode,-1,"to_height");
|
|
if(to_height != -1) {
|
|
var testAsset1 = flixel_addons_ui_U.getBmp(flixel_addons_ui_U.gfx(src));
|
|
if(testAsset1 != null) {
|
|
scale_ = to_height / testAsset1.height;
|
|
}
|
|
} else {
|
|
scale_ = this._loadScale(scaleNode,-1);
|
|
if(scale_ == -1) {
|
|
scale_ = this._loadScale(scaleNode,-1,"value");
|
|
}
|
|
}
|
|
var scale_x = scale_ != -1 ? scale_ : this._loadScaleX(scaleNode,-1);
|
|
var scale_y = scale_ != -1 ? scale_ : this._loadScaleY(scaleNode,-1);
|
|
var sw = 0;
|
|
var sh = 0;
|
|
if(scale_x > 0 && scale_y > 0) {
|
|
if(scale_x <= 0) {
|
|
scale_x = 1.0;
|
|
}
|
|
if(scale_y <= 0) {
|
|
scale_y = 1.0;
|
|
}
|
|
sw = this._loadWidth(scaleNode,-1);
|
|
sh = this._loadHeight(scaleNode,-1);
|
|
if(sw == -1 || sh == -1) {
|
|
testAsset = openfl_utils_Assets.getBitmapData(flixel_addons_ui_U.gfx(src));
|
|
sw = testAsset.width;
|
|
sh = testAsset.height;
|
|
}
|
|
sw *= scale_x;
|
|
sh *= scale_y;
|
|
} else {
|
|
sw = this._loadWidth(scaleNode,-1);
|
|
sh = this._loadHeight(scaleNode,-1);
|
|
}
|
|
if(sw != 0 && sh != 0) {
|
|
if(tilesTall > 1 || tilesWide > 1) {
|
|
testAsset = openfl_utils_Assets.getBitmapData(flixel_addons_ui_U.gfx(src));
|
|
var str = flixel_addons_ui_U.scaleAndStoreTileset(flixel_addons_ui_U.gfx(srcSuffix),scale_y,testAsset.width / tilesWide | 0,testAsset.height / tilesTall | 0,sw | 0,sh / tilesTall | 0,smooth);
|
|
this.addToScaledAssets(str);
|
|
return str;
|
|
} else {
|
|
var str1 = flixel_addons_ui_U.loadScaledImage(srcSuffix,sw,sh,smooth);
|
|
this.addToScaledAssets(str1);
|
|
return str1;
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
var data1 = data;
|
|
var str = "";
|
|
if(data1.get(attName) != null) {
|
|
str = data1.get(attName);
|
|
if(str == "" || str == null) {
|
|
str = "";
|
|
} else {
|
|
str = flixel_addons_ui_U.gfx(str);
|
|
try {
|
|
if(!openfl_utils_Assets.exists(str,"IMAGE")) {
|
|
throw haxe_Exception.thrown("couldn't load bmp \"" + attName + "\"");
|
|
}
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
if(typeof(haxe_Exception.caught(_g).unwrap()) != "string") {
|
|
throw _g;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return str;
|
|
}
|
|
,thisWidth: function() {
|
|
return flixel_FlxG.width;
|
|
}
|
|
,thisHeight: function() {
|
|
return flixel_FlxG.height;
|
|
}
|
|
,_getAnchorPos: function(thing,axis,str) {
|
|
switch(str) {
|
|
case "":
|
|
return 0;
|
|
case "bottom":case "down":
|
|
return this.screenHeight();
|
|
case "center":
|
|
if(axis == "x") {
|
|
return this.screenWidth() / 2;
|
|
} else if(axis == "y") {
|
|
return this.screenHeight() / 2;
|
|
}
|
|
break;
|
|
case "left":
|
|
return 0;
|
|
case "right":
|
|
return this.screenWidth();
|
|
case "top":case "up":
|
|
return 0;
|
|
default:
|
|
var perc = flixel_addons_ui_U.perc_to_float(str);
|
|
if(!isNaN(perc)) {
|
|
if(axis == "x") {
|
|
return perc * this.screenWidth();
|
|
} else if(axis == "y") {
|
|
return perc * this.screenHeight();
|
|
}
|
|
} else {
|
|
var r = new EReg("[\\w]+\\.[\\w]+","");
|
|
if(r.match(str)) {
|
|
var wh = "";
|
|
if(axis == "x") {
|
|
wh = "w";
|
|
}
|
|
if(axis == "y") {
|
|
wh = "h";
|
|
}
|
|
var assetValue = this._getStretch(1,wh,str);
|
|
return assetValue;
|
|
}
|
|
}
|
|
}
|
|
return 0;
|
|
}
|
|
,getRound: function(node,defaultStr) {
|
|
if(defaultStr == null) {
|
|
defaultStr = "";
|
|
}
|
|
var roundStr = flixel_addons_ui_U.xml_str(node,"round",true,defaultStr);
|
|
switch(roundStr) {
|
|
case "-1":case "down":case "floor":
|
|
return flixel_addons_ui_Rounding.Floor;
|
|
case "1":case "ceil":case "ceiling":case "up":
|
|
return flixel_addons_ui_Rounding.Ceil;
|
|
case "0":case "round":case "true":
|
|
return flixel_addons_ui_Rounding.Round;
|
|
}
|
|
return flixel_addons_ui_Rounding.None;
|
|
}
|
|
,doRound: function(f,round) {
|
|
switch(round._hx_index) {
|
|
case 0:
|
|
return Math.floor(f);
|
|
case 1:
|
|
return Math.ceil(f);
|
|
case 2:
|
|
return Math.round(f);
|
|
case 3:
|
|
return f;
|
|
}
|
|
}
|
|
,calcMaxMinSize: function(data,width,height) {
|
|
var min_w = 0;
|
|
var min_h = 0;
|
|
var max_w = Infinity;
|
|
var max_h = Infinity;
|
|
var temp_min_w = 0;
|
|
var temp_min_h = 0;
|
|
var temp_max_w = Infinity;
|
|
var temp_max_h = Infinity;
|
|
var round = flixel_addons_ui_Rounding.None;
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(data,"exact_size")) {
|
|
var _g = 0;
|
|
var _g1 = haxe_xml__$Access_NodeListAccess.resolve(data,"exact_size");
|
|
while(_g < _g1.length) {
|
|
var exactNode = _g1[_g];
|
|
++_g;
|
|
var exact_w_str = flixel_addons_ui_U.xml_str(exactNode,"width");
|
|
var exact_h_str = flixel_addons_ui_U.xml_str(exactNode,"height");
|
|
round = this.getRound(exactNode);
|
|
min_w = this.doRound(this._getDataSize("w",exact_w_str,0),round);
|
|
min_h = this.doRound(this._getDataSize("h",exact_h_str,0),round);
|
|
max_w = this.doRound(min_w,round);
|
|
max_h = this.doRound(min_h,round);
|
|
}
|
|
} else if(haxe_xml__$Access_HasNodeAccess.resolve(data,"min_size")) {
|
|
var _g = 0;
|
|
var _g1 = haxe_xml__$Access_NodeListAccess.resolve(data,"min_size");
|
|
while(_g < _g1.length) {
|
|
var minNode = _g1[_g];
|
|
++_g;
|
|
var min_w_str = flixel_addons_ui_U.xml_str(minNode,"width");
|
|
var min_h_str = flixel_addons_ui_U.xml_str(minNode,"height");
|
|
round = this.getRound(minNode);
|
|
temp_min_w = this.doRound(this._getDataSize("w",min_w_str,0),round);
|
|
temp_min_h = this.doRound(this._getDataSize("h",min_h_str,0),round);
|
|
if(temp_min_w > min_w) {
|
|
min_w = temp_min_w;
|
|
}
|
|
if(temp_min_h > min_h) {
|
|
min_h = temp_min_h;
|
|
}
|
|
}
|
|
} else if(haxe_xml__$Access_HasNodeAccess.resolve(data,"max_size")) {
|
|
var _g = 0;
|
|
var _g1 = haxe_xml__$Access_NodeListAccess.resolve(data,"max_size");
|
|
while(_g < _g1.length) {
|
|
var maxNode = _g1[_g];
|
|
++_g;
|
|
var max_w_str = flixel_addons_ui_U.xml_str(maxNode,"width");
|
|
var max_h_str = flixel_addons_ui_U.xml_str(maxNode,"height");
|
|
round = this.getRound(maxNode);
|
|
temp_max_w = this.doRound(this._getDataSize("w",max_w_str,Infinity),round);
|
|
temp_max_h = this.doRound(this._getDataSize("h",max_h_str,Infinity),round);
|
|
if(temp_max_w < max_w) {
|
|
max_w = temp_max_w;
|
|
}
|
|
if(temp_max_h < max_h) {
|
|
max_h = temp_max_h;
|
|
}
|
|
}
|
|
} else {
|
|
return null;
|
|
}
|
|
if(width != null) {
|
|
if(width > min_w) {
|
|
min_w = width;
|
|
}
|
|
if(width < max_w) {
|
|
max_w = width;
|
|
}
|
|
}
|
|
if(height != null) {
|
|
if(height > min_h) {
|
|
min_h = height;
|
|
}
|
|
if(height < max_h) {
|
|
max_h = height;
|
|
}
|
|
}
|
|
if(max_w <= 0) {
|
|
max_w = Infinity;
|
|
}
|
|
if(max_h <= 0) {
|
|
max_h = Infinity;
|
|
}
|
|
return { min_width : min_w, min_height : min_h, max_width : max_w, max_height : max_h};
|
|
}
|
|
,_getDataSize: function(target,str,default_) {
|
|
if(default_ == null) {
|
|
default_ = 0;
|
|
}
|
|
if(flixel_addons_ui_U.isStrNum(str)) {
|
|
return parseFloat(str);
|
|
}
|
|
var percf = flixel_addons_ui_U.perc_to_float(str);
|
|
if(!isNaN(percf)) {
|
|
switch(target) {
|
|
case "h":case "height":
|
|
return this.screenHeight() * percf;
|
|
case "scale":case "scale_x":case "scale_y":
|
|
return percf;
|
|
case "w":case "width":
|
|
return this.screenWidth() * percf;
|
|
}
|
|
} else {
|
|
if(str.indexOf("stretch:") == 0) {
|
|
str = StringTools.replace(str,"stretch:","");
|
|
var arr = str.split(",");
|
|
var stretch_0 = this._getStretch(0,target,arr[0]);
|
|
var stretch_1 = this._getStretch(1,target,arr[1]);
|
|
if(stretch_0 != -1 && stretch_1 != -1) {
|
|
return stretch_1 - stretch_0;
|
|
} else {
|
|
return default_;
|
|
}
|
|
} else if(str.indexOf("asset:") == 0) {
|
|
str = StringTools.replace(str,"asset:","");
|
|
var assetValue = this._getStretch(1,target,str);
|
|
return assetValue;
|
|
} else {
|
|
var r = new EReg("[\\w]+\\.[\\w]+","");
|
|
if(r.match(str)) {
|
|
var assetValue = this._getStretch(1,target,str);
|
|
return assetValue;
|
|
}
|
|
}
|
|
var ptStr = "";
|
|
if(str.indexOf("pt") == str.length - 2) {
|
|
ptStr = HxOverrides.substr(str,0,str.length - 2);
|
|
}
|
|
if(ptStr != "" && flixel_addons_ui_U.isStrNum(ptStr)) {
|
|
var tempNum = parseFloat(ptStr);
|
|
switch(target) {
|
|
case "h":case "height":
|
|
return this._pointY * tempNum;
|
|
case "w":case "width":
|
|
return this._pointX * tempNum;
|
|
}
|
|
}
|
|
}
|
|
return default_;
|
|
}
|
|
,_getOperation: function(str) {
|
|
var list = ["+","-","*","/","^"];
|
|
var op = "";
|
|
var besti = Infinity;
|
|
var _g = 0;
|
|
while(_g < list.length) {
|
|
var item = list[_g];
|
|
++_g;
|
|
var i = str.indexOf(item);
|
|
if(i != -1) {
|
|
if(i < besti) {
|
|
besti = i;
|
|
op = item;
|
|
}
|
|
}
|
|
}
|
|
var hasPoint = false;
|
|
if(op != "") {
|
|
if(str.indexOf(op) != -1) {
|
|
var opindex = str.indexOf(op);
|
|
if(opindex != str.length - 1) {
|
|
var firstBit = HxOverrides.substr(str,0,opindex);
|
|
var secondBit = HxOverrides.substr(str,opindex + 1,str.length - (opindex + 1));
|
|
var f = 0;
|
|
var ptIndex = secondBit.indexOf("pt");
|
|
if(ptIndex != -1 && ptIndex == secondBit.length - 2) {
|
|
var sansPt = StringTools.replace(secondBit,"pt","");
|
|
f = parseFloat(sansPt);
|
|
hasPoint = true;
|
|
} else {
|
|
f = parseFloat(secondBit);
|
|
}
|
|
if(isNaN(f)) {
|
|
f = this.getAssetProperty(1,"",secondBit);
|
|
}
|
|
if(f == 0 && secondBit != "0") {
|
|
return null;
|
|
} else {
|
|
return [firstBit,op,f,hasPoint];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
,_doOperation: function(value,op,operand) {
|
|
switch(op) {
|
|
case "*":
|
|
return value * operand;
|
|
case "+":
|
|
return value + operand;
|
|
case "-":
|
|
return value - operand;
|
|
case "/":
|
|
return value / operand;
|
|
case "^":
|
|
return Math.pow(value,operand);
|
|
}
|
|
return value;
|
|
}
|
|
,_getStretch: function(index,target,str) {
|
|
var arr = null;
|
|
var op = "";
|
|
var operand = 0;
|
|
var hasPoint = false;
|
|
arr = this._getOperation(str);
|
|
if(arr != null) {
|
|
str = arr[0];
|
|
op = arr[1];
|
|
operand = arr[2];
|
|
hasPoint = arr[3];
|
|
if(hasPoint) {
|
|
switch(target) {
|
|
case "h":case "height":
|
|
operand *= this._pointY;
|
|
break;
|
|
case "w":case "width":
|
|
operand *= this._pointX;
|
|
break;
|
|
default:
|
|
operand *= this._pointY;
|
|
}
|
|
}
|
|
}
|
|
var return_val = this.getAssetProperty(index,target,str);
|
|
if(return_val != -1 && op != "") {
|
|
return_val = this._doOperation(return_val,op,operand);
|
|
}
|
|
return return_val;
|
|
}
|
|
,getAssetProperty: function(index,target,str) {
|
|
var prop = "";
|
|
if(str.indexOf(".") != -1) {
|
|
var arr = null;
|
|
arr = str.split(".");
|
|
str = arr[0];
|
|
prop = arr[1];
|
|
}
|
|
var other = this.getAsset(str);
|
|
var return_val = 0;
|
|
if(other == null) {
|
|
switch(str) {
|
|
case "bottom":case "down":
|
|
return_val = this.screenHeight();
|
|
break;
|
|
case "left":
|
|
return_val = 0;
|
|
break;
|
|
case "right":
|
|
return_val = this.screenWidth();
|
|
break;
|
|
case "top":case "up":
|
|
return_val = 0;
|
|
break;
|
|
default:
|
|
if(flixel_addons_ui_U.isStrNum(str)) {
|
|
return_val = parseFloat(str);
|
|
} else {
|
|
return_val = -1;
|
|
}
|
|
}
|
|
} else {
|
|
switch(target) {
|
|
case "h":case "height":
|
|
if(prop == "") {
|
|
if(index == 0) {
|
|
return_val = other.y + other.get_height();
|
|
}
|
|
if(index == 1) {
|
|
return_val = other.y;
|
|
}
|
|
} else {
|
|
switch(prop) {
|
|
case "bottom":case "down":
|
|
return_val = other.y + other.get_height();
|
|
break;
|
|
case "center":
|
|
return_val = other.y + other.get_height() / 2;
|
|
break;
|
|
case "halfheight":
|
|
return_val = other.get_height() / 2;
|
|
break;
|
|
case "halfwidth":
|
|
return_val = other.get_width() / 2;
|
|
break;
|
|
case "height":
|
|
return_val = other.get_height();
|
|
break;
|
|
case "right":
|
|
return_val = other.x + other.get_width();
|
|
break;
|
|
case "top":case "up":case "y":
|
|
return_val = other.y;
|
|
break;
|
|
case "width":
|
|
return_val = other.get_width();
|
|
break;
|
|
case "left":case "x":
|
|
return_val = other.x;
|
|
break;
|
|
}
|
|
}
|
|
break;
|
|
case "w":case "width":
|
|
if(prop == "") {
|
|
if(index == 0) {
|
|
return_val = other.x + other.get_width();
|
|
}
|
|
if(index == 1) {
|
|
return_val = other.x;
|
|
}
|
|
} else {
|
|
switch(prop) {
|
|
case "bottom":case "down":
|
|
return_val = other.y + other.get_height();
|
|
break;
|
|
case "center":
|
|
return_val = other.x + other.get_width() / 2;
|
|
break;
|
|
case "halfheight":
|
|
return_val = other.get_height() / 2;
|
|
break;
|
|
case "halfwidth":
|
|
return_val = other.get_width() / 2;
|
|
break;
|
|
case "height":
|
|
return_val = other.get_height();
|
|
break;
|
|
case "right":
|
|
return_val = other.x + other.get_width();
|
|
break;
|
|
case "top":case "up":case "y":
|
|
return_val = other.y;
|
|
break;
|
|
case "width":
|
|
return_val = other.get_width();
|
|
break;
|
|
case "left":case "x":
|
|
return_val = other.x;
|
|
break;
|
|
}
|
|
}
|
|
break;
|
|
default:
|
|
switch(prop) {
|
|
case "bottom":case "down":
|
|
return_val = other.y + other.get_height();
|
|
break;
|
|
case "centerx":
|
|
return_val = other.x + other.get_width() / 2;
|
|
break;
|
|
case "centery":
|
|
return_val = other.y + other.get_height() / 2;
|
|
break;
|
|
case "halfheight":
|
|
return_val = other.get_height() / 2;
|
|
break;
|
|
case "halfwidth":
|
|
return_val = other.get_width() / 2;
|
|
break;
|
|
case "height":
|
|
return_val = other.get_height();
|
|
break;
|
|
case "right":
|
|
return_val = other.x + other.get_width();
|
|
break;
|
|
case "top":case "up":case "y":
|
|
return_val = other.y;
|
|
break;
|
|
case "width":
|
|
return_val = other.get_width();
|
|
break;
|
|
case "left":case "x":
|
|
return_val = other.x;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
return return_val;
|
|
}
|
|
,_loadCursor: function(data) {
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(data,"list")) {
|
|
if(this.cursorLists == null) {
|
|
this.cursorLists = [];
|
|
}
|
|
var _g = 0;
|
|
var _g1 = haxe_xml__$Access_NodeListAccess.resolve(data,"list");
|
|
while(_g < _g1.length) {
|
|
var lNode = _g1[_g];
|
|
++_g;
|
|
var ids = flixel_addons_ui_U.xml_str(lNode,"ids");
|
|
var arr = ids.split(",");
|
|
if(arr != null && arr.length > 0) {
|
|
var list = [];
|
|
var _g2 = 0;
|
|
while(_g2 < arr.length) {
|
|
var str = arr[_g2];
|
|
++_g2;
|
|
var widget = this.getAsset(str);
|
|
if(widget != null) {
|
|
list.push(widget);
|
|
}
|
|
}
|
|
this.cursorLists.push(list);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,_loadPosition: function(data,thing) {
|
|
var X = this._loadWidth(data,0,"x");
|
|
var Y = this._loadHeight(data,0,"y");
|
|
var ctrX = flixel_addons_ui_U.xml_bool(data,"center_x");
|
|
var ctrY = flixel_addons_ui_U.xml_bool(data,"center_y");
|
|
var center_on = flixel_addons_ui_U.xml_str(data,"center_on");
|
|
var center_on_x = flixel_addons_ui_U.xml_str(data,"center_on_x");
|
|
var center_on_y = flixel_addons_ui_U.xml_str(data,"center_on_y");
|
|
var anchor_x_str = "";
|
|
var anchor_y_str = "";
|
|
var anchor_x = 0;
|
|
var anchor_y = 0;
|
|
var anchor_x_flush = "";
|
|
var anchor_y_flush = "";
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(data,"anchor")) {
|
|
anchor_x_str = flixel_addons_ui_U.xml_str(haxe_xml__$Access_NodeAccess.resolve(data,"anchor"),"x");
|
|
anchor_y_str = flixel_addons_ui_U.xml_str(haxe_xml__$Access_NodeAccess.resolve(data,"anchor"),"y");
|
|
var rounding = this.getRound(haxe_xml__$Access_NodeAccess.resolve(data,"anchor"));
|
|
anchor_x = this._getAnchorPos(thing,"x",anchor_x_str);
|
|
anchor_y = this._getAnchorPos(thing,"y",anchor_y_str);
|
|
anchor_x = this.doRound(anchor_x,rounding);
|
|
anchor_y = this.doRound(anchor_y,rounding);
|
|
anchor_x_flush = flixel_addons_ui_U.xml_str(haxe_xml__$Access_NodeAccess.resolve(data,"anchor"),"x-flush",true);
|
|
anchor_y_flush = flixel_addons_ui_U.xml_str(haxe_xml__$Access_NodeAccess.resolve(data,"anchor"),"y-flush",true);
|
|
}
|
|
if(anchor_x_str != "" || anchor_y_str != "") {
|
|
switch(anchor_x_flush) {
|
|
case "center":
|
|
anchor_x -= thing.get_width() / 2;
|
|
break;
|
|
case "left":
|
|
break;
|
|
case "right":
|
|
anchor_x -= thing.get_width();
|
|
break;
|
|
}
|
|
switch(anchor_y_flush) {
|
|
case "bottom":case "down":
|
|
anchor_y -= thing.get_height();
|
|
break;
|
|
case "center":
|
|
anchor_y -= thing.get_height() / 2;
|
|
break;
|
|
case "top":case "up":
|
|
break;
|
|
}
|
|
if(anchor_x_str != "") {
|
|
thing.set_x(anchor_x);
|
|
}
|
|
if(anchor_y_str != "") {
|
|
thing.set_y(anchor_y);
|
|
}
|
|
}
|
|
if(ctrX || ctrY) {
|
|
var X1 = ctrX;
|
|
var Y1 = ctrY;
|
|
if(Y1 == null) {
|
|
Y1 = true;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = true;
|
|
}
|
|
if(X1) {
|
|
thing.set_x((flixel_FlxG.width - thing.get_width()) / 2);
|
|
}
|
|
if(Y1) {
|
|
thing.set_y((flixel_FlxG.height - thing.get_height()) / 2);
|
|
}
|
|
}
|
|
if(center_on != "") {
|
|
var other = this.getAsset(center_on);
|
|
if(other != null) {
|
|
var fb1 = js_Boot.__cast(other , flixel_FlxObject);
|
|
var fb2 = js_Boot.__cast(thing , flixel_FlxObject);
|
|
fb2.set_x(fb1.x + (fb1.get_width() - fb2.get_width()) / 2);
|
|
fb2.set_y(fb1.y + (fb1.get_height() - fb2.get_height()) / 2);
|
|
}
|
|
} else {
|
|
if(center_on_x != "") {
|
|
var other = this.getAsset(center_on_x);
|
|
if(other != null) {
|
|
var fb1 = js_Boot.__cast(other , flixel_FlxObject);
|
|
var fb2 = js_Boot.__cast(thing , flixel_FlxObject);
|
|
var centerX = true;
|
|
var centerY = false;
|
|
if(centerY == null) {
|
|
centerY = true;
|
|
}
|
|
if(centerX == null) {
|
|
centerX = true;
|
|
}
|
|
if(centerX) {
|
|
fb2.set_x(fb1.x + (fb1.get_width() - fb2.get_width()) / 2);
|
|
}
|
|
if(centerY) {
|
|
fb2.set_y(fb1.y + (fb1.get_height() - fb2.get_height()) / 2);
|
|
}
|
|
}
|
|
}
|
|
if(center_on_y != "") {
|
|
var other = this.getAsset(center_on_y);
|
|
if(other != null) {
|
|
var fb1 = js_Boot.__cast(other , flixel_FlxObject);
|
|
var fb2 = js_Boot.__cast(thing , flixel_FlxObject);
|
|
var centerX = false;
|
|
var centerY = true;
|
|
if(centerY == null) {
|
|
centerY = true;
|
|
}
|
|
if(centerX == null) {
|
|
centerX = true;
|
|
}
|
|
if(centerX) {
|
|
fb2.set_x(fb1.x + (fb1.get_width() - fb2.get_width()) / 2);
|
|
}
|
|
if(centerY) {
|
|
fb2.set_y(fb1.y + (fb1.get_height() - fb2.get_height()) / 2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
var _g = thing;
|
|
_g.set_x(_g.x + X1);
|
|
var _g = thing;
|
|
_g.set_y(_g.y + Y1);
|
|
}
|
|
,_loadBorder: function(data) {
|
|
var borderDef = flixel_addons_ui_BorderDef.fromXML(data);
|
|
var round = this.getRound(data,"floor");
|
|
var dataSize = this._getDataSize("h",flixel_addons_ui_U.xml_str(data,"border_size"),1);
|
|
var border_size = this.doRound(dataSize,round) | 0;
|
|
borderDef.size = border_size;
|
|
return borderDef;
|
|
}
|
|
,_loadColor: function(data,colorName,_default) {
|
|
if(_default == null) {
|
|
_default = -1;
|
|
}
|
|
if(colorName == null) {
|
|
colorName = "color";
|
|
}
|
|
var colorStr = flixel_addons_ui_U.xml_str(data,colorName);
|
|
var tmp;
|
|
if(colorStr == "") {
|
|
var _this = data;
|
|
if(_this.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element but found " + (_this.nodeType == null ? "null" : XmlType.toString(_this.nodeType)));
|
|
}
|
|
tmp = _this.nodeName == colorName;
|
|
} else {
|
|
tmp = false;
|
|
}
|
|
if(tmp) {
|
|
colorStr = flixel_addons_ui_U.xml_str(data,"value");
|
|
}
|
|
var color = _default;
|
|
if(colorStr != "") {
|
|
var return_val = flixel_util_FlxColor.fromString(colorStr);
|
|
if(return_val == null) {
|
|
throw haxe_Exception.thrown("U.parseHex() unable to parse hex String " + colorStr);
|
|
}
|
|
color = return_val;
|
|
}
|
|
return color;
|
|
}
|
|
,_loadFontDef: function(data) {
|
|
var fd = flixel_addons_ui_FontDef.fromXML(data);
|
|
var fontSize = this._loadHeight(data,8,"size") | 0;
|
|
fd.format.size = flixel_addons_ui_FlxUI.fontSize(fd.file,fontSize);
|
|
fd.set_size(fontSize);
|
|
return fd;
|
|
}
|
|
,_loadFontFace: function(data) {
|
|
var fontFace = flixel_addons_ui_U.xml_str(data,"font");
|
|
var fontStyle = flixel_addons_ui_U.xml_str(data,"style");
|
|
var the_font = null;
|
|
if(fontFace != "") {
|
|
the_font = flixel_addons_ui_FlxUI.font(fontFace,fontStyle);
|
|
}
|
|
return the_font;
|
|
}
|
|
,_onFinishLoad: function() {
|
|
if(this._ptr != null) {
|
|
this._ptr.getEvent("finish_load",this,null);
|
|
}
|
|
}
|
|
,getText: function(flag,context,safe,code) {
|
|
if(code == null) {
|
|
code = "";
|
|
}
|
|
if(safe == null) {
|
|
safe = true;
|
|
}
|
|
if(context == null) {
|
|
context = "data";
|
|
}
|
|
var str = "";
|
|
if(this._ptr_tongue != null) {
|
|
str = this._ptr_tongue.get(flag,context,safe);
|
|
return this.formatFromCode(str,code);
|
|
} else if(this.getTextFallback != null) {
|
|
str = this.getTextFallback(flag,context,safe);
|
|
return this.formatFromCode(str,code);
|
|
}
|
|
return flag;
|
|
}
|
|
,formatFromCode: function(str,code) {
|
|
switch(code) {
|
|
case "fu":
|
|
return flixel_addons_ui_U.FU(str);
|
|
case "fu_":
|
|
return flixel_addons_ui_U.FU_(str);
|
|
case "l":
|
|
return str.toLowerCase();
|
|
case "u":
|
|
return str.toUpperCase();
|
|
}
|
|
return str;
|
|
}
|
|
,formatButtonText: function(data,button) {
|
|
if(data != null && haxe_xml__$Access_HasNodeAccess.resolve(data,"text")) {
|
|
var textNode = haxe_xml__$Access_NodeAccess.resolve(data,"text");
|
|
var use_def = flixel_addons_ui_U.xml_str(textNode,"use_def",true);
|
|
var text_def = null;
|
|
if(use_def != "") {
|
|
text_def = this.getDefinition(use_def);
|
|
}
|
|
var info = flixel_addons_ui_FlxUI.consolidateData(textNode,text_def);
|
|
var the_font = this._loadFontFace(info);
|
|
var size = this._loadHeight(info,8,"size","floor") | 0;
|
|
var color = this._loadColor(info);
|
|
var labelWidth = flixel_addons_ui_U.xml_f(info,"width");
|
|
var border = this._loadBorder(info);
|
|
var align = flixel_addons_ui_U.xml_str(info,"align",true);
|
|
if(align == "") {
|
|
align = null;
|
|
}
|
|
var the_label = null;
|
|
var fb = null;
|
|
var fsb = null;
|
|
var ifb = null;
|
|
if(((button) instanceof flixel_addons_ui_FlxUICheckBox) == false) {
|
|
ifb = button;
|
|
if(align == "" || align == null) {
|
|
align = "center";
|
|
}
|
|
} else {
|
|
var cb = button;
|
|
ifb = cb.button;
|
|
align = "left";
|
|
}
|
|
if(ifb != null) {
|
|
if(((ifb) instanceof flixel_addons_ui_FlxUIButton)) {
|
|
fb = ifb;
|
|
the_label = fb.label;
|
|
} else if(((ifb) instanceof flixel_addons_ui_FlxUISpriteButton)) {
|
|
fsb = ifb;
|
|
if(((fsb.label) instanceof flixel_text_FlxText)) {
|
|
the_label = fsb.label;
|
|
} else if(((fsb.label) instanceof flixel_group_FlxTypedSpriteGroup)) {
|
|
var fsg = fsb.label;
|
|
var _g = 0;
|
|
var _g1 = fsg.group.members;
|
|
while(_g < _g1.length) {
|
|
var fs = _g1[_g];
|
|
++_g;
|
|
if(((fs) instanceof flixel_text_FlxText)) {
|
|
the_label = fs;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
ifb.up_color = color;
|
|
ifb.down_color = 0;
|
|
ifb.over_color = 0;
|
|
}
|
|
if(the_label != null) {
|
|
if(labelWidth != 0) {
|
|
the_label.set_width(labelWidth);
|
|
the_label.resetHelpers();
|
|
}
|
|
if(fb != null) {
|
|
fb.setLabelFormat(the_font,size,color,align);
|
|
} else {
|
|
the_label.setFormat(the_font,size,color,align);
|
|
}
|
|
the_label.set_borderStyle(border.style);
|
|
the_label.set_borderColor(border.color);
|
|
the_label.set_borderSize(border.size);
|
|
the_label.set_borderQuality(border.quality);
|
|
if(((the_label) instanceof flixel_addons_ui_FlxUIText)) {
|
|
var ftu = the_label;
|
|
ftu.drawFrame();
|
|
}
|
|
if(fb != null) {
|
|
fb.autoCenterLabel();
|
|
}
|
|
if(fsb != null) {
|
|
fsb.autoCenterLabel();
|
|
}
|
|
}
|
|
var _g = 0;
|
|
var _g1 = haxe_xml__$Access_NodeListAccess.resolve(info,"color");
|
|
while(_g < _g1.length) {
|
|
var textColorNode = _g1[_g];
|
|
++_g;
|
|
var color = this._loadColor(textColorNode);
|
|
var vis = flixel_addons_ui_U.xml_bool(textColorNode,"visible",true);
|
|
var state_name = flixel_addons_ui_U.xml_name(textColorNode);
|
|
var toggle = flixel_addons_ui_U.xml_bool(textColorNode,"toggle");
|
|
switch(state_name) {
|
|
case "active":case "hilight":case "hover":case "over":
|
|
if(!toggle) {
|
|
ifb.over_color = color;
|
|
ifb.over_visible = vis;
|
|
} else {
|
|
ifb.over_toggle_color = color;
|
|
ifb.over_toggle_visible = vis;
|
|
}
|
|
break;
|
|
case "down":case "pressed":case "pushed":
|
|
if(!toggle) {
|
|
ifb.down_color = color;
|
|
ifb.down_visible = vis;
|
|
} else {
|
|
ifb.down_toggle_color = color;
|
|
ifb.down_toggle_visible = vis;
|
|
}
|
|
break;
|
|
case "":case "inactive":case "normal":case "up":
|
|
if(!toggle) {
|
|
ifb.up_color = color;
|
|
ifb.up_visible = vis;
|
|
} else {
|
|
ifb.up_toggle_color = color;
|
|
ifb.up_toggle_visible = vis;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
if(ifb.over_color == 0) {
|
|
ifb.over_color = ifb.up_color;
|
|
}
|
|
if(ifb.down_color == 0) {
|
|
ifb.down_color = ifb.over_color;
|
|
}
|
|
if(ifb.up_toggle_color == 0) {
|
|
ifb.up_toggle_color = ifb.up_color;
|
|
}
|
|
if(ifb.over_toggle_color == 0) {
|
|
ifb.over_toggle_color = ifb.over_color;
|
|
}
|
|
if(ifb.down_toggle_color == 0) {
|
|
ifb.down_toggle_color = ifb.down_color;
|
|
}
|
|
if(the_label != null) {
|
|
the_label.set_visible(ifb.up_visible);
|
|
the_label.set_color(ifb.up_color);
|
|
}
|
|
return the_label;
|
|
}
|
|
return null;
|
|
}
|
|
,__class__: flixel_addons_ui_FlxUI
|
|
,__properties__: $extend(flixel_addons_ui_FlxUIGroup.prototype.__properties__,{set_currMode:"set_currMode",get_currMode:"get_currMode",set_focus:"set_focus",set_tongue:"set_tongue",get_tongue:"get_tongue",get_isRoot:"get_isRoot"})
|
|
});
|
|
var flixel_addons_ui_Rounding = $hxEnums["flixel.addons.ui.Rounding"] = { __ename__ : "flixel.addons.ui.Rounding", __constructs__ : ["Floor","Ceil","Round","None"]
|
|
,Floor: {_hx_index:0,__enum__:"flixel.addons.ui.Rounding",toString:$estr}
|
|
,Ceil: {_hx_index:1,__enum__:"flixel.addons.ui.Rounding",toString:$estr}
|
|
,Round: {_hx_index:2,__enum__:"flixel.addons.ui.Rounding",toString:$estr}
|
|
,None: {_hx_index:3,__enum__:"flixel.addons.ui.Rounding",toString:$estr}
|
|
};
|
|
var flixel_addons_ui_interfaces_IResizable = function() { };
|
|
$hxClasses["flixel.addons.ui.interfaces.IResizable"] = flixel_addons_ui_interfaces_IResizable;
|
|
flixel_addons_ui_interfaces_IResizable.__name__ = "flixel.addons.ui.interfaces.IResizable";
|
|
flixel_addons_ui_interfaces_IResizable.__isInterface__ = true;
|
|
flixel_addons_ui_interfaces_IResizable.prototype = {
|
|
get_width: null
|
|
,set_width: null
|
|
,get_height: null
|
|
,set_height: null
|
|
,resize: null
|
|
,__class__: flixel_addons_ui_interfaces_IResizable
|
|
,__properties__: {set_height:"set_height",get_height:"get_height",set_width:"set_width",get_width:"get_width"}
|
|
};
|
|
var flixel_addons_ui_FlxUISprite = function(X,Y,SimpleGraphic) {
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
this._originalKey = "";
|
|
this.resize_ratio_axis = 1;
|
|
this.recycled = false;
|
|
this.ptr_owner = null;
|
|
this.broadcastToFlxUI = true;
|
|
flixel_FlxSprite.call(this,X,Y,SimpleGraphic);
|
|
};
|
|
$hxClasses["flixel.addons.ui.FlxUISprite"] = flixel_addons_ui_FlxUISprite;
|
|
flixel_addons_ui_FlxUISprite.__name__ = "flixel.addons.ui.FlxUISprite";
|
|
flixel_addons_ui_FlxUISprite.__interfaces__ = [flixel_addons_ui_interfaces_IResizable,flixel_addons_ui_interfaces_IFlxUIWidget];
|
|
flixel_addons_ui_FlxUISprite.__super__ = flixel_FlxSprite;
|
|
flixel_addons_ui_FlxUISprite.prototype = $extend(flixel_FlxSprite.prototype,{
|
|
broadcastToFlxUI: null
|
|
,name: null
|
|
,ptr_owner: null
|
|
,recycled: null
|
|
,resize_ratio: null
|
|
,resize_ratio_axis: null
|
|
,set_resize_ratio: function(r) {
|
|
this.resize_ratio = r;
|
|
return r;
|
|
}
|
|
,resize_point: null
|
|
,set_resize_point: function(r) {
|
|
if(r != null) {
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
this.resize_point = point;
|
|
this.resize_point.set_x(r.x);
|
|
this.resize_point.set_y(r.y);
|
|
}
|
|
return this.resize_point;
|
|
}
|
|
,recycle: function(data) {
|
|
this.recycled = true;
|
|
}
|
|
,resize: function(w,h) {
|
|
var old_width = this.get_width();
|
|
var old_height = this.get_height();
|
|
if(this.resize_ratio > 0) {
|
|
var effective_ratio = w / h;
|
|
if(Math.abs(effective_ratio - this.resize_ratio) > 0.0001) {
|
|
if(this.resize_ratio_axis == 1) {
|
|
h = w * (1 / this.resize_ratio);
|
|
} else {
|
|
w = h * (1 / this.resize_ratio);
|
|
}
|
|
}
|
|
}
|
|
if(this._originalKey != "" && this._originalKey != null) {
|
|
var newKey = flixel_addons_ui_U.loadScaledImage(this._originalKey,w,h);
|
|
if(newKey != "" && newKey != null) {
|
|
this.loadFromScaledGraphic(newKey);
|
|
}
|
|
}
|
|
var diff_w = this.get_width() - old_width;
|
|
var diff_h = this.get_height() - old_height;
|
|
if(this.resize_point != null) {
|
|
var delta_x = diff_w * this.resize_point.x;
|
|
var delta_y = diff_h * this.resize_point.y;
|
|
var _g = this;
|
|
_g.set_x(_g.x - delta_x);
|
|
var _g = this;
|
|
_g.set_y(_g.y - delta_y);
|
|
}
|
|
}
|
|
,loadGraphicAtScale: function(GraphicKey,W,H) {
|
|
this.loadGraphic(GraphicKey,false);
|
|
this.resize(W,H);
|
|
}
|
|
,loadGraphic: function(Graphic,Animated,Width,Height,Unique,Key) {
|
|
if(Unique == null) {
|
|
Unique = false;
|
|
}
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Animated == null) {
|
|
Animated = false;
|
|
}
|
|
var sprite = flixel_FlxSprite.prototype.loadGraphic.call(this,Graphic,Animated,Width,Height,Unique,Key);
|
|
this._originalKey = this.graphic.assetsKey;
|
|
if(this._originalKey == null) {
|
|
this._originalKey = this.graphic.key;
|
|
}
|
|
return sprite;
|
|
}
|
|
,destroy: function() {
|
|
this.ptr_owner = null;
|
|
flixel_FlxSprite.prototype.destroy.call(this);
|
|
}
|
|
,loadFromScaledGraphic: function(Graphic,Animated,Width,Height,Unique,Key) {
|
|
if(Unique == null) {
|
|
Unique = false;
|
|
}
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Animated == null) {
|
|
Animated = false;
|
|
}
|
|
flixel_FlxSprite.prototype.loadGraphic.call(this,Graphic,Animated,Width,Height,Unique,Key);
|
|
}
|
|
,_originalKey: null
|
|
,__class__: flixel_addons_ui_FlxUISprite
|
|
,__properties__: $extend(flixel_FlxSprite.prototype.__properties__,{set_resize_point:"set_resize_point",set_resize_ratio:"set_resize_ratio"})
|
|
});
|
|
var openfl_geom_Point = function(x,y) {
|
|
if(y == null) {
|
|
y = 0;
|
|
}
|
|
if(x == null) {
|
|
x = 0;
|
|
}
|
|
this.x = x;
|
|
this.y = y;
|
|
};
|
|
$hxClasses["openfl.geom.Point"] = openfl_geom_Point;
|
|
openfl_geom_Point.__name__ = "openfl.geom.Point";
|
|
openfl_geom_Point.__limeVector2 = null;
|
|
openfl_geom_Point.distance = function(pt1,pt2) {
|
|
var dx = pt1.x - pt2.x;
|
|
var dy = pt1.y - pt2.y;
|
|
return Math.sqrt(dx * dx + dy * dy);
|
|
};
|
|
openfl_geom_Point.interpolate = function(pt1,pt2,f) {
|
|
return new openfl_geom_Point(pt2.x + f * (pt1.x - pt2.x),pt2.y + f * (pt1.y - pt2.y));
|
|
};
|
|
openfl_geom_Point.polar = function(len,angle) {
|
|
return new openfl_geom_Point(len * Math.cos(angle),len * Math.sin(angle));
|
|
};
|
|
openfl_geom_Point.prototype = {
|
|
x: null
|
|
,y: null
|
|
,add: function(v) {
|
|
return new openfl_geom_Point(v.x + this.x,v.y + this.y);
|
|
}
|
|
,clone: function() {
|
|
return new openfl_geom_Point(this.x,this.y);
|
|
}
|
|
,copyFrom: function(sourcePoint) {
|
|
this.x = sourcePoint.x;
|
|
this.y = sourcePoint.y;
|
|
}
|
|
,equals: function(toCompare) {
|
|
if(toCompare != null && toCompare.x == this.x) {
|
|
return toCompare.y == this.y;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,normalize: function(thickness) {
|
|
if(this.x == 0 && this.y == 0) {
|
|
return;
|
|
} else {
|
|
var norm = thickness / Math.sqrt(this.x * this.x + this.y * this.y);
|
|
this.x *= norm;
|
|
this.y *= norm;
|
|
}
|
|
}
|
|
,offset: function(dx,dy) {
|
|
this.x += dx;
|
|
this.y += dy;
|
|
}
|
|
,setTo: function(xa,ya) {
|
|
this.x = xa;
|
|
this.y = ya;
|
|
}
|
|
,subtract: function(v) {
|
|
return new openfl_geom_Point(this.x - v.x,this.y - v.y);
|
|
}
|
|
,toString: function() {
|
|
return "(x=" + this.x + ", y=" + this.y + ")";
|
|
}
|
|
,__toLimeVector2: function() {
|
|
if(openfl_geom_Point.__limeVector2 == null) {
|
|
openfl_geom_Point.__limeVector2 = new lime_math_Vector2();
|
|
}
|
|
var _this = openfl_geom_Point.__limeVector2;
|
|
_this.x = this.x;
|
|
_this.y = this.y;
|
|
return openfl_geom_Point.__limeVector2;
|
|
}
|
|
,get_length: function() {
|
|
return Math.sqrt(this.x * this.x + this.y * this.y);
|
|
}
|
|
,__class__: openfl_geom_Point
|
|
,__properties__: {get_length:"get_length"}
|
|
};
|
|
var openfl_geom_Rectangle = function(x,y,width,height) {
|
|
if(height == null) {
|
|
height = 0;
|
|
}
|
|
if(width == null) {
|
|
width = 0;
|
|
}
|
|
if(y == null) {
|
|
y = 0;
|
|
}
|
|
if(x == null) {
|
|
x = 0;
|
|
}
|
|
this.x = x;
|
|
this.y = y;
|
|
this.width = width;
|
|
this.height = height;
|
|
};
|
|
$hxClasses["openfl.geom.Rectangle"] = openfl_geom_Rectangle;
|
|
openfl_geom_Rectangle.__name__ = "openfl.geom.Rectangle";
|
|
openfl_geom_Rectangle.__limeRectangle = null;
|
|
openfl_geom_Rectangle.prototype = {
|
|
height: null
|
|
,width: null
|
|
,x: null
|
|
,y: null
|
|
,clone: function() {
|
|
return new openfl_geom_Rectangle(this.x,this.y,this.width,this.height);
|
|
}
|
|
,contains: function(x,y) {
|
|
if(x >= this.x && y >= this.y && x < this.get_right()) {
|
|
return y < this.get_bottom();
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,containsPoint: function(point) {
|
|
return this.contains(point.x,point.y);
|
|
}
|
|
,containsRect: function(rect) {
|
|
if(rect.width <= 0 || rect.height <= 0) {
|
|
if(rect.x > this.x && rect.y > this.y && rect.get_right() < this.get_right()) {
|
|
return rect.get_bottom() < this.get_bottom();
|
|
} else {
|
|
return false;
|
|
}
|
|
} else if(rect.x >= this.x && rect.y >= this.y && rect.get_right() <= this.get_right()) {
|
|
return rect.get_bottom() <= this.get_bottom();
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,copyFrom: function(sourceRect) {
|
|
this.x = sourceRect.x;
|
|
this.y = sourceRect.y;
|
|
this.width = sourceRect.width;
|
|
this.height = sourceRect.height;
|
|
}
|
|
,equals: function(toCompare) {
|
|
if(toCompare == this) {
|
|
return true;
|
|
} else if(toCompare != null && this.x == toCompare.x && this.y == toCompare.y && this.width == toCompare.width) {
|
|
return this.height == toCompare.height;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,inflate: function(dx,dy) {
|
|
this.x -= dx;
|
|
this.width += dx * 2;
|
|
this.y -= dy;
|
|
this.height += dy * 2;
|
|
}
|
|
,inflatePoint: function(point) {
|
|
this.inflate(point.x,point.y);
|
|
}
|
|
,intersection: function(toIntersect) {
|
|
var x0 = this.x < toIntersect.x ? toIntersect.x : this.x;
|
|
var x1 = this.get_right() > toIntersect.get_right() ? toIntersect.get_right() : this.get_right();
|
|
if(x1 <= x0) {
|
|
return new openfl_geom_Rectangle();
|
|
}
|
|
var y0 = this.y < toIntersect.y ? toIntersect.y : this.y;
|
|
var y1 = this.get_bottom() > toIntersect.get_bottom() ? toIntersect.get_bottom() : this.get_bottom();
|
|
if(y1 <= y0) {
|
|
return new openfl_geom_Rectangle();
|
|
}
|
|
return new openfl_geom_Rectangle(x0,y0,x1 - x0,y1 - y0);
|
|
}
|
|
,intersects: function(toIntersect) {
|
|
var x0 = this.x < toIntersect.x ? toIntersect.x : this.x;
|
|
var x1 = this.get_right() > toIntersect.get_right() ? toIntersect.get_right() : this.get_right();
|
|
if(x1 <= x0) {
|
|
return false;
|
|
}
|
|
var y0 = this.y < toIntersect.y ? toIntersect.y : this.y;
|
|
var y1 = this.get_bottom() > toIntersect.get_bottom() ? toIntersect.get_bottom() : this.get_bottom();
|
|
return y1 > y0;
|
|
}
|
|
,isEmpty: function() {
|
|
if(!(this.width <= 0)) {
|
|
return this.height <= 0;
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
,offset: function(dx,dy) {
|
|
this.x += dx;
|
|
this.y += dy;
|
|
}
|
|
,offsetPoint: function(point) {
|
|
this.x += point.x;
|
|
this.y += point.y;
|
|
}
|
|
,setEmpty: function() {
|
|
this.x = this.y = this.width = this.height = 0;
|
|
}
|
|
,setTo: function(xa,ya,widtha,heighta) {
|
|
this.x = xa;
|
|
this.y = ya;
|
|
this.width = widtha;
|
|
this.height = heighta;
|
|
}
|
|
,toString: function() {
|
|
return "(x=" + this.x + ", y=" + this.y + ", width=" + this.width + ", height=" + this.height + ")";
|
|
}
|
|
,union: function(toUnion) {
|
|
if(this.width == 0 || this.height == 0) {
|
|
return toUnion.clone();
|
|
} else if(toUnion.width == 0 || toUnion.height == 0) {
|
|
return this.clone();
|
|
}
|
|
var x0 = this.x > toUnion.x ? toUnion.x : this.x;
|
|
var x1 = this.get_right() < toUnion.get_right() ? toUnion.get_right() : this.get_right();
|
|
var y0 = this.y > toUnion.y ? toUnion.y : this.y;
|
|
var y1 = this.get_bottom() < toUnion.get_bottom() ? toUnion.get_bottom() : this.get_bottom();
|
|
return new openfl_geom_Rectangle(x0,y0,x1 - x0,y1 - y0);
|
|
}
|
|
,__contract: function(x,y,width,height) {
|
|
if(this.width == 0 && this.height == 0) {
|
|
return;
|
|
}
|
|
var offsetX = 0.0;
|
|
var offsetY = 0.0;
|
|
var offsetRight = 0.0;
|
|
var offsetBottom = 0.0;
|
|
if(this.x < x) {
|
|
offsetX = x - this.x;
|
|
}
|
|
if(this.y < y) {
|
|
offsetY = y - this.y;
|
|
}
|
|
if(this.get_right() > x + width) {
|
|
offsetRight = x + width - this.get_right();
|
|
}
|
|
if(this.get_bottom() > y + height) {
|
|
offsetBottom = y + height - this.get_bottom();
|
|
}
|
|
this.x += offsetX;
|
|
this.y += offsetY;
|
|
this.width += offsetRight - offsetX;
|
|
this.height += offsetBottom - offsetY;
|
|
}
|
|
,__expand: function(x,y,width,height) {
|
|
if(this.width == 0 && this.height == 0) {
|
|
this.x = x;
|
|
this.y = y;
|
|
this.width = width;
|
|
this.height = height;
|
|
return;
|
|
}
|
|
var cacheRight = this.get_right();
|
|
var cacheBottom = this.get_bottom();
|
|
if(this.x > x) {
|
|
this.x = x;
|
|
this.width = cacheRight - x;
|
|
}
|
|
if(this.y > y) {
|
|
this.y = y;
|
|
this.height = cacheBottom - y;
|
|
}
|
|
if(cacheRight < x + width) {
|
|
this.width = x + width - this.x;
|
|
}
|
|
if(cacheBottom < y + height) {
|
|
this.height = y + height - this.y;
|
|
}
|
|
}
|
|
,__toLimeRectangle: function() {
|
|
if(openfl_geom_Rectangle.__limeRectangle == null) {
|
|
openfl_geom_Rectangle.__limeRectangle = new lime_math_Rectangle();
|
|
}
|
|
openfl_geom_Rectangle.__limeRectangle.setTo(this.x,this.y,this.width,this.height);
|
|
return openfl_geom_Rectangle.__limeRectangle;
|
|
}
|
|
,__transform: function(rect,m) {
|
|
var tx0 = m.a * this.x + m.c * this.y;
|
|
var tx1 = tx0;
|
|
var ty0 = m.b * this.x + m.d * this.y;
|
|
var ty1 = ty0;
|
|
var tx = m.a * (this.x + this.width) + m.c * this.y;
|
|
var ty = m.b * (this.x + this.width) + m.d * this.y;
|
|
if(tx < tx0) {
|
|
tx0 = tx;
|
|
}
|
|
if(ty < ty0) {
|
|
ty0 = ty;
|
|
}
|
|
if(tx > tx1) {
|
|
tx1 = tx;
|
|
}
|
|
if(ty > ty1) {
|
|
ty1 = ty;
|
|
}
|
|
tx = m.a * (this.x + this.width) + m.c * (this.y + this.height);
|
|
ty = m.b * (this.x + this.width) + m.d * (this.y + this.height);
|
|
if(tx < tx0) {
|
|
tx0 = tx;
|
|
}
|
|
if(ty < ty0) {
|
|
ty0 = ty;
|
|
}
|
|
if(tx > tx1) {
|
|
tx1 = tx;
|
|
}
|
|
if(ty > ty1) {
|
|
ty1 = ty;
|
|
}
|
|
tx = m.a * this.x + m.c * (this.y + this.height);
|
|
ty = m.b * this.x + m.d * (this.y + this.height);
|
|
if(tx < tx0) {
|
|
tx0 = tx;
|
|
}
|
|
if(ty < ty0) {
|
|
ty0 = ty;
|
|
}
|
|
if(tx > tx1) {
|
|
tx1 = tx;
|
|
}
|
|
if(ty > ty1) {
|
|
ty1 = ty;
|
|
}
|
|
rect.setTo(tx0 + m.tx,ty0 + m.ty,tx1 - tx0,ty1 - ty0);
|
|
}
|
|
,get_bottom: function() {
|
|
return this.y + this.height;
|
|
}
|
|
,set_bottom: function(b) {
|
|
this.height = b - this.y;
|
|
return b;
|
|
}
|
|
,get_bottomRight: function() {
|
|
return new openfl_geom_Point(this.x + this.width,this.y + this.height);
|
|
}
|
|
,set_bottomRight: function(p) {
|
|
this.width = p.x - this.x;
|
|
this.height = p.y - this.y;
|
|
return p.clone();
|
|
}
|
|
,get_left: function() {
|
|
return this.x;
|
|
}
|
|
,set_left: function(l) {
|
|
this.width -= l - this.x;
|
|
this.x = l;
|
|
return l;
|
|
}
|
|
,get_right: function() {
|
|
return this.x + this.width;
|
|
}
|
|
,set_right: function(r) {
|
|
this.width = r - this.x;
|
|
return r;
|
|
}
|
|
,get_size: function() {
|
|
return new openfl_geom_Point(this.width,this.height);
|
|
}
|
|
,set_size: function(p) {
|
|
this.width = p.x;
|
|
this.height = p.y;
|
|
return p.clone();
|
|
}
|
|
,get_top: function() {
|
|
return this.y;
|
|
}
|
|
,set_top: function(t) {
|
|
this.height -= t - this.y;
|
|
this.y = t;
|
|
return t;
|
|
}
|
|
,get_topLeft: function() {
|
|
return new openfl_geom_Point(this.x,this.y);
|
|
}
|
|
,set_topLeft: function(p) {
|
|
this.x = p.x;
|
|
this.y = p.y;
|
|
return p.clone();
|
|
}
|
|
,__class__: openfl_geom_Rectangle
|
|
,__properties__: {set_topLeft:"set_topLeft",get_topLeft:"get_topLeft",set_top:"set_top",get_top:"get_top",set_size:"set_size",get_size:"get_size",set_right:"set_right",get_right:"get_right",set_left:"set_left",get_left:"get_left",set_bottomRight:"set_bottomRight",get_bottomRight:"get_bottomRight",set_bottom:"set_bottom",get_bottom:"get_bottom"}
|
|
};
|
|
var flixel_addons_ui_FlxUI9SliceSprite = function(X,Y,Graphic,Rect,Slice9,Tile,Smooth,Id,Ratio,Resize_point,Resize_axis,DeferResize,Color) {
|
|
if(Color == null) {
|
|
Color = -1;
|
|
}
|
|
if(DeferResize == null) {
|
|
DeferResize = false;
|
|
}
|
|
if(Resize_axis == null) {
|
|
Resize_axis = 1;
|
|
}
|
|
if(Ratio == null) {
|
|
Ratio = -1;
|
|
}
|
|
if(Id == null) {
|
|
Id = "";
|
|
}
|
|
if(Smooth == null) {
|
|
Smooth = false;
|
|
}
|
|
if(Tile == null) {
|
|
Tile = 0;
|
|
}
|
|
this._asset_id = "";
|
|
this._smooth = false;
|
|
this._tile = 0;
|
|
this._slice9 = null;
|
|
this.paintScale9_id = "";
|
|
flixel_addons_ui_FlxUISprite.call(this,X,Y,null);
|
|
this.set_color(Color);
|
|
this._slice9 = Slice9;
|
|
this._tile = Tile;
|
|
this._smooth = Smooth;
|
|
this._asset_id = "";
|
|
if(Graphic == null) {
|
|
Graphic = "flixel/flixel-ui/img/chrome.png";
|
|
}
|
|
if(typeof(Graphic) == "string") {
|
|
this._asset_id = Graphic;
|
|
this._raw_pixels = null;
|
|
} else if(((Graphic) instanceof openfl_display_BitmapData)) {
|
|
this._asset_id = Id;
|
|
this._raw_pixels = Graphic;
|
|
} else if(((Graphic) instanceof flixel_graphics_FlxGraphic)) {
|
|
var fg = Graphic;
|
|
this._asset_id = fg.key;
|
|
this._raw_pixels = fg.bitmap;
|
|
}
|
|
this.set_resize_ratio(Ratio);
|
|
this.resize_ratio_axis = Resize_axis;
|
|
if(Resize_point != null) {
|
|
this.set_resize_point(Resize_point);
|
|
}
|
|
if(DeferResize) {
|
|
var pt = flixel_addons_ui_U.applyResize(this.resize_ratio,this.resize_ratio_axis,Rect.width,Rect.height);
|
|
this.set_width(pt.x);
|
|
this.set_height(pt.y);
|
|
} else {
|
|
this.resize(Rect.width,Rect.height);
|
|
}
|
|
};
|
|
$hxClasses["flixel.addons.ui.FlxUI9SliceSprite"] = flixel_addons_ui_FlxUI9SliceSprite;
|
|
flixel_addons_ui_FlxUI9SliceSprite.__name__ = "flixel.addons.ui.FlxUI9SliceSprite";
|
|
flixel_addons_ui_FlxUI9SliceSprite.__interfaces__ = [flixel_addons_ui_interfaces_IFlxUIWidget,flixel_addons_ui_interfaces_IResizable];
|
|
flixel_addons_ui_FlxUI9SliceSprite.sectionCache = null;
|
|
flixel_addons_ui_FlxUI9SliceSprite.cacheCounter = null;
|
|
flixel_addons_ui_FlxUI9SliceSprite._staticRects = null;
|
|
flixel_addons_ui_FlxUI9SliceSprite.getRectFromString = function(str) {
|
|
var coords = str.split(",");
|
|
var rect = null;
|
|
if(coords != null && coords.length == 4) {
|
|
var x_ = Std.parseInt(coords[0]);
|
|
var y_ = Std.parseInt(coords[1]);
|
|
var w_ = Std.parseInt(coords[2]);
|
|
var h_ = Std.parseInt(coords[3]);
|
|
rect = new openfl_geom_Rectangle(x_,y_,w_,h_);
|
|
}
|
|
return rect;
|
|
};
|
|
flixel_addons_ui_FlxUI9SliceSprite.getRectIntsFromString = function(str) {
|
|
var coords = str.split(",");
|
|
if(coords != null && coords.length == 4) {
|
|
var x1 = Std.parseInt(coords[0]);
|
|
var y1 = Std.parseInt(coords[1]);
|
|
var x2 = Std.parseInt(coords[2]);
|
|
var y2 = Std.parseInt(coords[3]);
|
|
return [x1,y1,x2,y2];
|
|
}
|
|
return null;
|
|
};
|
|
flixel_addons_ui_FlxUI9SliceSprite.paintScale9 = function(g,assetID,scale9,rc,tile,smooth,raw) {
|
|
if(smooth == null) {
|
|
smooth = false;
|
|
}
|
|
if(tile == null) {
|
|
tile = 0;
|
|
}
|
|
if(scale9 != null) {
|
|
var w;
|
|
var h;
|
|
if(raw == null) {
|
|
var assetBmp = flixel_addons_ui_U.getBmp(assetID);
|
|
if(assetBmp != null) {
|
|
w = assetBmp.width;
|
|
h = assetBmp.height;
|
|
} else {
|
|
var assetFlx = flixel_FlxG.bitmap._cache.h[assetID];
|
|
w = assetFlx.width;
|
|
h = assetFlx.height;
|
|
}
|
|
} else {
|
|
w = raw.width;
|
|
h = raw.height;
|
|
}
|
|
var x1 = scale9[0];
|
|
var y1 = scale9[1];
|
|
var x2 = scale9[2];
|
|
var y2 = scale9[3];
|
|
if(flixel_addons_ui_FlxUI9SliceSprite._staticRects == null) {
|
|
flixel_addons_ui_FlxUI9SliceSprite._staticRects = new haxe_ds_StringMap();
|
|
var this1 = flixel_addons_ui_FlxUI9SliceSprite._staticRects;
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = 0;
|
|
var Height = 0;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
this1.h["top.left"] = rect;
|
|
var this1 = flixel_addons_ui_FlxUI9SliceSprite._staticRects;
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = 0;
|
|
var Height = 0;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
this1.h["top"] = rect;
|
|
var this1 = flixel_addons_ui_FlxUI9SliceSprite._staticRects;
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = 0;
|
|
var Height = 0;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
this1.h["top.right"] = rect;
|
|
var this1 = flixel_addons_ui_FlxUI9SliceSprite._staticRects;
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = 0;
|
|
var Height = 0;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
this1.h["left"] = rect;
|
|
var this1 = flixel_addons_ui_FlxUI9SliceSprite._staticRects;
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = 0;
|
|
var Height = 0;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
this1.h["middle"] = rect;
|
|
var this1 = flixel_addons_ui_FlxUI9SliceSprite._staticRects;
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = 0;
|
|
var Height = 0;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
this1.h["right"] = rect;
|
|
var this1 = flixel_addons_ui_FlxUI9SliceSprite._staticRects;
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = 0;
|
|
var Height = 0;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
this1.h["bottom.left"] = rect;
|
|
var this1 = flixel_addons_ui_FlxUI9SliceSprite._staticRects;
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = 0;
|
|
var Height = 0;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
this1.h["bottom"] = rect;
|
|
var this1 = flixel_addons_ui_FlxUI9SliceSprite._staticRects;
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = 0;
|
|
var Height = 0;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
this1.h["bottom.right"] = rect;
|
|
}
|
|
var _this = flixel_addons_ui_FlxUI9SliceSprite._staticRects.h["top.left"];
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = x1;
|
|
var Height = y1;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var _this = flixel_addons_ui_FlxUI9SliceSprite._staticRects.h["top"];
|
|
var X = x1;
|
|
var Y = 0;
|
|
var Width = x2 - x1;
|
|
var Height = y1;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var _this = flixel_addons_ui_FlxUI9SliceSprite._staticRects.h["top.right"];
|
|
var X = x2;
|
|
var Y = 0;
|
|
var Width = w - x2;
|
|
var Height = y1;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var _this = flixel_addons_ui_FlxUI9SliceSprite._staticRects.h["left"];
|
|
var X = 0;
|
|
var Y = y1;
|
|
var Width = x1;
|
|
var Height = y2 - y1;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var _this = flixel_addons_ui_FlxUI9SliceSprite._staticRects.h["middle"];
|
|
var X = x1;
|
|
var Y = y1;
|
|
var Width = x2 - x1;
|
|
var Height = y2 - y1;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var _this = flixel_addons_ui_FlxUI9SliceSprite._staticRects.h["right"];
|
|
var X = x2;
|
|
var Y = y1;
|
|
var Width = w - x2;
|
|
var Height = y2 - y1;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var _this = flixel_addons_ui_FlxUI9SliceSprite._staticRects.h["bottom.left"];
|
|
var X = 0;
|
|
var Y = y2;
|
|
var Width = x1;
|
|
var Height = h - y2;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var _this = flixel_addons_ui_FlxUI9SliceSprite._staticRects.h["bottom"];
|
|
var X = x1;
|
|
var Y = y2;
|
|
var Width = x2 - x1;
|
|
var Height = h - y2;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var _this = flixel_addons_ui_FlxUI9SliceSprite._staticRects.h["bottom.right"];
|
|
var X = x2;
|
|
var Y = y2;
|
|
var Width = w - x2;
|
|
var Height = h - y2;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
if(flixel_addons_ui_FlxUI9SliceSprite.cacheCounter == null) {
|
|
flixel_addons_ui_FlxUI9SliceSprite.cacheCounter = new haxe_ds_StringMap();
|
|
}
|
|
var uniqueID = flixel_addons_ui_FlxUI9SliceSprite.makePaintScale9Id(assetID,scale9,rc);
|
|
var sectionCounter = flixel_addons_ui_FlxUI9SliceSprite.cacheCounter.h[uniqueID];
|
|
if(sectionCounter == null) {
|
|
sectionCounter = { useCount : 0, subKeys : []};
|
|
var _g = 0;
|
|
while(_g < 9) {
|
|
var i = _g++;
|
|
var rect;
|
|
switch(i) {
|
|
case 0:
|
|
rect = flixel_addons_ui_FlxUI9SliceSprite._staticRects.h["top.left"];
|
|
break;
|
|
case 1:
|
|
rect = flixel_addons_ui_FlxUI9SliceSprite._staticRects.h["top"];
|
|
break;
|
|
case 2:
|
|
rect = flixel_addons_ui_FlxUI9SliceSprite._staticRects.h["top.right"];
|
|
break;
|
|
case 3:
|
|
rect = flixel_addons_ui_FlxUI9SliceSprite._staticRects.h["left"];
|
|
break;
|
|
case 4:
|
|
rect = flixel_addons_ui_FlxUI9SliceSprite._staticRects.h["middle"];
|
|
break;
|
|
case 5:
|
|
rect = flixel_addons_ui_FlxUI9SliceSprite._staticRects.h["right"];
|
|
break;
|
|
case 6:
|
|
rect = flixel_addons_ui_FlxUI9SliceSprite._staticRects.h["bottom.left"];
|
|
break;
|
|
case 7:
|
|
rect = flixel_addons_ui_FlxUI9SliceSprite._staticRects.h["bottom"];
|
|
break;
|
|
case 8:
|
|
rect = flixel_addons_ui_FlxUI9SliceSprite._staticRects.h["bottom.right"];
|
|
break;
|
|
default:
|
|
rect = flixel_addons_ui_FlxUI9SliceSprite._staticRects.h["top.left"];
|
|
}
|
|
var cacheId = assetID + "_" + rect.x + "_" + rect.y + "_" + rect.width + "_" + rect.height + "_";
|
|
sectionCounter.subKeys.push(cacheId);
|
|
}
|
|
flixel_addons_ui_FlxUI9SliceSprite.cacheCounter.h[uniqueID] = sectionCounter;
|
|
}
|
|
flixel_addons_ui_FlxUI9SliceSprite.paintCompoundBitmap(g,assetID,flixel_addons_ui_FlxUI9SliceSprite._staticRects,rc,tile,smooth,raw);
|
|
return uniqueID;
|
|
}
|
|
return "";
|
|
};
|
|
flixel_addons_ui_FlxUI9SliceSprite.makePaintScale9Id = function(assetId,slice9,rect) {
|
|
var tmp = assetId + "_" + slice9.join(",") + "_";
|
|
var value = rect.x;
|
|
var _this = flixel_util_LabelValuePair._pool.get();
|
|
_this.label = "x";
|
|
_this.value = value;
|
|
var value = rect.y;
|
|
var _this1 = flixel_util_LabelValuePair._pool.get();
|
|
_this1.label = "y";
|
|
_this1.value = value;
|
|
var value = rect.width;
|
|
var _this2 = flixel_util_LabelValuePair._pool.get();
|
|
_this2.label = "w";
|
|
_this2.value = value;
|
|
var value = rect.height;
|
|
var _this3 = flixel_util_LabelValuePair._pool.get();
|
|
_this3.label = "h";
|
|
_this3.value = value;
|
|
return tmp + flixel_util_FlxStringUtil.getDebugString([_this,_this1,_this2,_this3]);
|
|
};
|
|
flixel_addons_ui_FlxUI9SliceSprite.paintCompoundBitmap = function(g,assetID,sourceRects,targetRect,tile,smooth,raw) {
|
|
if(smooth == null) {
|
|
smooth = false;
|
|
}
|
|
if(tile == null) {
|
|
tile = 0;
|
|
}
|
|
targetRect.x = targetRect.x | 0;
|
|
targetRect.y = targetRect.y | 0;
|
|
targetRect.width = targetRect.width | 0;
|
|
targetRect.height = targetRect.height | 0;
|
|
var tl = sourceRects.h["top.left"];
|
|
if(tl != null) {
|
|
var _this = flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect2;
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = tl.width;
|
|
var Height = tl.height;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
flixel_addons_ui_FlxUI9SliceSprite.paintBitmapSection(g,assetID,tl,flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect2,null,0,smooth,raw);
|
|
}
|
|
var tr = sourceRects.h["top.right"];
|
|
if(tr != null) {
|
|
var _this = flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect2;
|
|
var X = targetRect.width - tr.width;
|
|
var Y = 0;
|
|
var Width = tr.width;
|
|
var Height = tr.height;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
flixel_addons_ui_FlxUI9SliceSprite.paintBitmapSection(g,assetID,tr,flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect2,null,0,smooth,raw);
|
|
}
|
|
var t = sourceRects.h["top"];
|
|
if(t != null) {
|
|
var _this = flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect2;
|
|
var X = tl.width;
|
|
var Y = 0;
|
|
var Width = targetRect.width - tl.width - tr.width;
|
|
var Height = t.height;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
flixel_addons_ui_FlxUI9SliceSprite.paintBitmapSection(g,assetID,t,flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect2,null,tile & 16,smooth,raw);
|
|
}
|
|
var bl = sourceRects.h["bottom.left"];
|
|
if(bl != null) {
|
|
var _this = flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect2;
|
|
var X = 0;
|
|
var Y = targetRect.height - bl.height;
|
|
var Width = bl.width;
|
|
var Height = bl.height;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
flixel_addons_ui_FlxUI9SliceSprite.paintBitmapSection(g,assetID,bl,flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect2,null,0,smooth,raw);
|
|
}
|
|
var br = sourceRects.h["bottom.right"];
|
|
if(br != null) {
|
|
var _this = flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect2;
|
|
var X = targetRect.width - br.width;
|
|
var Y = targetRect.height - br.height;
|
|
var Width = br.width;
|
|
var Height = br.height;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
flixel_addons_ui_FlxUI9SliceSprite.paintBitmapSection(g,assetID,br,flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect2,null,0,smooth,raw);
|
|
}
|
|
var b = sourceRects.h["bottom"];
|
|
if(b != null) {
|
|
var _this = flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect2;
|
|
var X = bl.width;
|
|
var Y = targetRect.height - b.height;
|
|
var Width = targetRect.width - bl.width - br.width;
|
|
var Height = b.height;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
flixel_addons_ui_FlxUI9SliceSprite.paintBitmapSection(g,assetID,b,flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect2,null,tile & 16,smooth,raw);
|
|
}
|
|
var l = sourceRects.h["left"];
|
|
if(l != null) {
|
|
var _this = flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect2;
|
|
var X = 0;
|
|
var Y = tl.height;
|
|
var Width = l.width;
|
|
var Height = targetRect.height - tl.height - bl.height;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
flixel_addons_ui_FlxUI9SliceSprite.paintBitmapSection(g,assetID,l,flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect2,null,tile & 1,smooth,raw);
|
|
}
|
|
var r = sourceRects.h["right"];
|
|
if(r != null) {
|
|
var _this = flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect2;
|
|
var X = targetRect.width - r.width;
|
|
var Y = tr.height;
|
|
var Width = r.width;
|
|
var Height = targetRect.height - tl.height - bl.height;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
flixel_addons_ui_FlxUI9SliceSprite.paintBitmapSection(g,assetID,r,flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect2,null,tile & 1,smooth,raw);
|
|
}
|
|
var m = sourceRects.h["middle"];
|
|
if(m != null) {
|
|
var _this = flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect2;
|
|
var X = l.width;
|
|
var Y = t.height;
|
|
var Width = targetRect.width - l.width - r.width;
|
|
var Height = targetRect.height - t.height - b.height;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
flixel_addons_ui_FlxUI9SliceSprite.paintBitmapSection(g,assetID,m,flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect2,null,tile,smooth,raw);
|
|
}
|
|
};
|
|
flixel_addons_ui_FlxUI9SliceSprite.paintBitmapSection = function(g,assetId,src,dst,srcData,tile,smooth,raw) {
|
|
if(smooth == null) {
|
|
smooth = false;
|
|
}
|
|
if(tile == null) {
|
|
tile = 0;
|
|
}
|
|
if(srcData == null) {
|
|
if(raw != null) {
|
|
srcData = raw;
|
|
} else {
|
|
srcData = flixel_addons_ui_U.getBmp(assetId);
|
|
}
|
|
}
|
|
src.x = src.x | 0;
|
|
src.y = src.y | 0;
|
|
src.width = src.width | 0;
|
|
src.height = src.height | 0;
|
|
dst.x = dst.x | 0;
|
|
dst.y = dst.y | 0;
|
|
dst.width = dst.width | 0;
|
|
dst.height = dst.height | 0;
|
|
var section = null;
|
|
var cacheId = null;
|
|
if(flixel_addons_ui_FlxUI9SliceSprite.useSectionCache == true && assetId != null) {
|
|
if(flixel_addons_ui_FlxUI9SliceSprite.sectionCache == null) {
|
|
flixel_addons_ui_FlxUI9SliceSprite.sectionCache = new haxe_ds_StringMap();
|
|
}
|
|
cacheId = assetId + "_" + src.x + "_" + src.y + "_" + src.width + "_" + src.height + "_";
|
|
section = flixel_addons_ui_FlxUI9SliceSprite.sectionCache.h[cacheId];
|
|
}
|
|
if(section == null) {
|
|
var fillcolor = 16777215;
|
|
section = new openfl_display_BitmapData(src.width | 0,src.height | 0,true,fillcolor);
|
|
flixel_addons_ui_FlxUI9SliceSprite._staticRect2.x = src.x;
|
|
flixel_addons_ui_FlxUI9SliceSprite._staticRect2.y = src.y;
|
|
flixel_addons_ui_FlxUI9SliceSprite._staticRect2.width = src.width;
|
|
flixel_addons_ui_FlxUI9SliceSprite._staticRect2.height = src.height;
|
|
section.copyPixels(srcData,flixel_addons_ui_FlxUI9SliceSprite._staticRect2,flixel_addons_ui_FlxUI9SliceSprite._staticPointZero);
|
|
if(flixel_addons_ui_FlxUI9SliceSprite.useSectionCache == true && cacheId != null) {
|
|
flixel_addons_ui_FlxUI9SliceSprite.sectionCache.h[cacheId] = section;
|
|
}
|
|
flixel_addons_ui_FlxUI9SliceSprite.bitmapsCreated++;
|
|
}
|
|
if(dst.width > 0 && dst.height > 0) {
|
|
flixel_addons_ui_FlxUI9SliceSprite._staticRect2.x = dst.x;
|
|
flixel_addons_ui_FlxUI9SliceSprite._staticRect2.y = dst.y;
|
|
flixel_addons_ui_FlxUI9SliceSprite._staticRect2.width = dst.width;
|
|
flixel_addons_ui_FlxUI9SliceSprite._staticRect2.height = dst.height;
|
|
flixel_addons_ui_FlxUI9SliceSprite.bitmapFillRect(g,flixel_addons_ui_FlxUI9SliceSprite._staticRect2,section,tile,smooth);
|
|
}
|
|
};
|
|
flixel_addons_ui_FlxUI9SliceSprite.bitmapFillRect = function(g,dst,section,tile,smooth_) {
|
|
if(smooth_ == null) {
|
|
smooth_ = false;
|
|
}
|
|
if(tile == null) {
|
|
tile = 0;
|
|
}
|
|
var final_pixels = new openfl_display_BitmapData(dst.width | 0,dst.height | 0,true,0);
|
|
flixel_addons_ui_FlxUI9SliceSprite._staticMatrix.identity();
|
|
flixel_addons_ui_FlxUI9SliceSprite._staticRect.x = 0;
|
|
flixel_addons_ui_FlxUI9SliceSprite._staticRect.y = 0;
|
|
flixel_addons_ui_FlxUI9SliceSprite._staticRect.width = section.width;
|
|
flixel_addons_ui_FlxUI9SliceSprite._staticRect.height = section.height;
|
|
if((tile & 16) == 0) {
|
|
flixel_addons_ui_FlxUI9SliceSprite._staticMatrix.scale(dst.width / section.width,1.0);
|
|
flixel_addons_ui_FlxUI9SliceSprite._staticRect.width = dst.width;
|
|
}
|
|
if((tile & 1) == 0) {
|
|
flixel_addons_ui_FlxUI9SliceSprite._staticMatrix.scale(1.0,dst.height / section.height);
|
|
flixel_addons_ui_FlxUI9SliceSprite._staticRect.height = dst.height;
|
|
}
|
|
if(section.width == dst.width && section.height == dst.height) {
|
|
flixel_addons_ui_FlxUI9SliceSprite._staticPoint.x = 0;
|
|
flixel_addons_ui_FlxUI9SliceSprite._staticPoint.y = 0;
|
|
final_pixels.copyPixels(section,section.rect,flixel_addons_ui_FlxUI9SliceSprite._staticPoint);
|
|
} else if(smooth_) {
|
|
final_pixels.draw(section,flixel_addons_ui_FlxUI9SliceSprite._staticMatrix,null,null,null,true);
|
|
} else {
|
|
final_pixels.draw(section,flixel_addons_ui_FlxUI9SliceSprite._staticMatrix,null,null,null,false);
|
|
}
|
|
if(tile != 0) {
|
|
if((tile & 16) == 16) {
|
|
flixel_addons_ui_FlxUI9SliceSprite._staticPoint.x = 0;
|
|
flixel_addons_ui_FlxUI9SliceSprite._staticPoint.y = 0;
|
|
while(flixel_addons_ui_FlxUI9SliceSprite._staticPoint.x < dst.width) {
|
|
flixel_addons_ui_FlxUI9SliceSprite._staticPoint.x += flixel_addons_ui_FlxUI9SliceSprite._staticRect.width;
|
|
final_pixels.copyPixels(final_pixels,flixel_addons_ui_FlxUI9SliceSprite._staticRect,flixel_addons_ui_FlxUI9SliceSprite._staticPoint);
|
|
}
|
|
}
|
|
if((tile & 1) == 1) {
|
|
flixel_addons_ui_FlxUI9SliceSprite._staticPoint.x = 0;
|
|
flixel_addons_ui_FlxUI9SliceSprite._staticPoint.y = 0;
|
|
flixel_addons_ui_FlxUI9SliceSprite._staticRect.width = final_pixels.width;
|
|
while(flixel_addons_ui_FlxUI9SliceSprite._staticPoint.y < dst.height) {
|
|
flixel_addons_ui_FlxUI9SliceSprite._staticPoint.y += flixel_addons_ui_FlxUI9SliceSprite._staticRect.height;
|
|
final_pixels.copyPixels(final_pixels,flixel_addons_ui_FlxUI9SliceSprite._staticRect,flixel_addons_ui_FlxUI9SliceSprite._staticPoint);
|
|
}
|
|
}
|
|
}
|
|
flixel_addons_ui_FlxUI9SliceSprite._staticPoint.x = dst.x;
|
|
flixel_addons_ui_FlxUI9SliceSprite._staticPoint.y = dst.y;
|
|
g.copyPixels(final_pixels,final_pixels.rect,flixel_addons_ui_FlxUI9SliceSprite._staticPoint);
|
|
final_pixels = flixel_util_FlxDestroyUtil.dispose(final_pixels);
|
|
};
|
|
flixel_addons_ui_FlxUI9SliceSprite.__super__ = flixel_addons_ui_FlxUISprite;
|
|
flixel_addons_ui_FlxUI9SliceSprite.prototype = $extend(flixel_addons_ui_FlxUISprite.prototype,{
|
|
_bmpCanvas: null
|
|
,paintScale9_id: null
|
|
,_slice9: null
|
|
,_tile: null
|
|
,_smooth: null
|
|
,_asset_id: null
|
|
,_raw_pixels: null
|
|
,destroy: function() {
|
|
this.noLongerUsingCachedID(this.paintScale9_id);
|
|
flixel_addons_ui_FlxUISprite.prototype.destroy.call(this);
|
|
}
|
|
,resize: function(w,h) {
|
|
if((w | 0) < 1) {
|
|
w = 1;
|
|
}
|
|
if((h | 0) < 1) {
|
|
h = 1;
|
|
}
|
|
var old_width = this.get_width();
|
|
var old_height = this.get_height();
|
|
var pt = flixel_addons_ui_U.applyResize(this.resize_ratio,this.resize_ratio_axis,w,h);
|
|
w = pt.x;
|
|
h = pt.y;
|
|
var iw = pt.x | 0;
|
|
var ih = pt.y | 0;
|
|
if(this._slice9 == null || this._slice9 == []) {
|
|
this._slice9 = [4,4,7,7];
|
|
}
|
|
var key = this._asset_id + "_" + this._slice9.join(",") + "_" + iw + "x" + ih + "_" + this._tile + "_" + Std.string(this._smooth);
|
|
if(flixel_FlxG.bitmap._cache.h[key] != null) {
|
|
this.loadGraphic(key,false,iw,ih);
|
|
} else {
|
|
var bmpCanvas = new openfl_display_BitmapData(w | 0,h | 0);
|
|
flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect.x = 0;
|
|
flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect.y = 0;
|
|
flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect.width = w;
|
|
flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect.height = h;
|
|
var oldID = this.paintScale9_id;
|
|
var newID = flixel_addons_ui_FlxUI9SliceSprite.makePaintScale9Id(this._asset_id,this._slice9,flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect);
|
|
if(newID != oldID) {
|
|
this.paintScale9_id = flixel_addons_ui_FlxUI9SliceSprite.paintScale9(bmpCanvas,this._asset_id,this._slice9,flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect,this._tile,this._smooth,this._raw_pixels);
|
|
var sectionCounter = flixel_addons_ui_FlxUI9SliceSprite.cacheCounter.h[this.paintScale9_id];
|
|
sectionCounter.useCount++;
|
|
this.noLongerUsingCachedID(oldID);
|
|
}
|
|
this.loadGraphic(bmpCanvas,false,bmpCanvas.width,bmpCanvas.height,false,key);
|
|
}
|
|
var diff_w = this.get_width() - old_width;
|
|
var diff_h = this.get_height() - old_height;
|
|
if(this.resize_point != null) {
|
|
var delta_x = diff_w * this.resize_point.x;
|
|
var delta_y = diff_h * this.resize_point.y;
|
|
var _g = this;
|
|
_g.set_x(_g.x - delta_x);
|
|
var _g = this;
|
|
_g.set_y(_g.y - delta_y);
|
|
}
|
|
}
|
|
,noLongerUsingCachedID: function(id) {
|
|
if(Object.prototype.hasOwnProperty.call(flixel_addons_ui_FlxUI9SliceSprite.cacheCounter.h,id)) {
|
|
var oldCounter = flixel_addons_ui_FlxUI9SliceSprite.cacheCounter.h[id];
|
|
oldCounter.useCount--;
|
|
if(oldCounter.useCount <= 0) {
|
|
this.purgeSections(id);
|
|
}
|
|
}
|
|
}
|
|
,purgeSections: function(id) {
|
|
var counter = flixel_addons_ui_FlxUI9SliceSprite.cacheCounter.h[id];
|
|
if(counter != null) {
|
|
var _g = 0;
|
|
var _g1 = counter.subKeys;
|
|
while(_g < _g1.length) {
|
|
var key = _g1[_g];
|
|
++_g;
|
|
var _this = flixel_addons_ui_FlxUI9SliceSprite.sectionCache;
|
|
if(Object.prototype.hasOwnProperty.call(_this.h,key)) {
|
|
delete(_this.h[key]);
|
|
}
|
|
}
|
|
counter.subKeys = null;
|
|
var _this = flixel_addons_ui_FlxUI9SliceSprite.cacheCounter;
|
|
if(Object.prototype.hasOwnProperty.call(_this.h,id)) {
|
|
delete(_this.h[id]);
|
|
}
|
|
}
|
|
}
|
|
,__class__: flixel_addons_ui_FlxUI9SliceSprite
|
|
});
|
|
var flixel_addons_ui_FlxUIAssets = function() { };
|
|
$hxClasses["flixel.addons.ui.FlxUIAssets"] = flixel_addons_ui_FlxUIAssets;
|
|
flixel_addons_ui_FlxUIAssets.__name__ = "flixel.addons.ui.FlxUIAssets";
|
|
var flixel_ui_FlxBar = function(x,y,direction,width,height,parentRef,variable,min,max,showBorder) {
|
|
if(showBorder == null) {
|
|
showBorder = false;
|
|
}
|
|
if(max == null) {
|
|
max = 100;
|
|
}
|
|
if(min == null) {
|
|
min = 0;
|
|
}
|
|
if(variable == null) {
|
|
variable = "";
|
|
}
|
|
if(height == null) {
|
|
height = 10;
|
|
}
|
|
if(width == null) {
|
|
width = 100;
|
|
}
|
|
if(y == null) {
|
|
y = 0;
|
|
}
|
|
if(x == null) {
|
|
x = 0;
|
|
}
|
|
this._maxPercent = 100;
|
|
this.numDivisions = 100;
|
|
this.killOnEmpty = false;
|
|
this.fixedPosition = true;
|
|
flixel_FlxSprite.call(this,x,y);
|
|
if(direction == null) {
|
|
direction = flixel_ui_FlxBarFillDirection.LEFT_TO_RIGHT;
|
|
}
|
|
this.barWidth = width;
|
|
this.barHeight = height;
|
|
this._filledBarPoint = new openfl_geom_Point();
|
|
this._filledBarRect = new openfl_geom_Rectangle();
|
|
if(flixel_FlxG.renderBlit) {
|
|
this._zeroOffset = new openfl_geom_Point();
|
|
this._emptyBarRect = new openfl_geom_Rectangle();
|
|
this.makeGraphic(width,height,0,true);
|
|
} else {
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = 0;
|
|
var Height = 0;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
this._filledFlxRect = rect;
|
|
}
|
|
if(parentRef != null) {
|
|
this.parent = parentRef;
|
|
this.parentVariable = variable;
|
|
}
|
|
this.set_fillDirection(direction);
|
|
this.createFilledBar(-16756480,-16714752,showBorder);
|
|
this.setRange(min,max);
|
|
};
|
|
$hxClasses["flixel.ui.FlxBar"] = flixel_ui_FlxBar;
|
|
flixel_ui_FlxBar.__name__ = "flixel.ui.FlxBar";
|
|
flixel_ui_FlxBar.__super__ = flixel_FlxSprite;
|
|
flixel_ui_FlxBar.prototype = $extend(flixel_FlxSprite.prototype,{
|
|
fixedPosition: null
|
|
,pxPerPercent: null
|
|
,positionOffset: null
|
|
,killOnEmpty: null
|
|
,value: null
|
|
,min: null
|
|
,max: null
|
|
,range: null
|
|
,pct: null
|
|
,numDivisions: null
|
|
,emptyCallback: null
|
|
,filledCallback: null
|
|
,parent: null
|
|
,parentVariable: null
|
|
,barWidth: null
|
|
,barHeight: null
|
|
,frontFrames: null
|
|
,fillDirection: null
|
|
,_fillHorizontal: null
|
|
,_frontFrame: null
|
|
,_filledFlxRect: null
|
|
,_emptyBar: null
|
|
,_emptyBarRect: null
|
|
,_filledBar: null
|
|
,_zeroOffset: null
|
|
,_filledBarRect: null
|
|
,_filledBarPoint: null
|
|
,_maxPercent: null
|
|
,destroy: function() {
|
|
this.positionOffset = flixel_util_FlxDestroyUtil.put(this.positionOffset);
|
|
if(flixel_FlxG.renderBlit) {
|
|
this._frontFrame = null;
|
|
this._filledFlxRect = flixel_util_FlxDestroyUtil.put(this._filledFlxRect);
|
|
} else {
|
|
this._emptyBarRect = null;
|
|
this._zeroOffset = null;
|
|
this._emptyBar = flixel_util_FlxDestroyUtil.dispose(this._emptyBar);
|
|
this._filledBar = flixel_util_FlxDestroyUtil.dispose(this._filledBar);
|
|
}
|
|
this._filledBarRect = null;
|
|
this._filledBarPoint = null;
|
|
this.parent = null;
|
|
this.positionOffset = null;
|
|
this.emptyCallback = null;
|
|
this.filledCallback = null;
|
|
flixel_FlxSprite.prototype.destroy.call(this);
|
|
}
|
|
,trackParent: function(offsetX,offsetY) {
|
|
this.fixedPosition = false;
|
|
var X = offsetX;
|
|
var Y = offsetY;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
this.positionOffset = point;
|
|
if(Object.prototype.hasOwnProperty.call(this.parent,"scrollFactor")) {
|
|
this.scrollFactor.set_x(this.parent.scrollFactor.x);
|
|
this.scrollFactor.set_y(this.parent.scrollFactor.y);
|
|
}
|
|
}
|
|
,setParent: function(parentRef,variable,track,offsetX,offsetY) {
|
|
if(offsetY == null) {
|
|
offsetY = 0;
|
|
}
|
|
if(offsetX == null) {
|
|
offsetX = 0;
|
|
}
|
|
if(track == null) {
|
|
track = false;
|
|
}
|
|
this.parent = parentRef;
|
|
this.parentVariable = variable;
|
|
if(track) {
|
|
this.trackParent(offsetX,offsetY);
|
|
}
|
|
this.updateValueFromParent();
|
|
}
|
|
,stopTrackingParent: function(posX,posY) {
|
|
this.fixedPosition = true;
|
|
this.set_x(posX);
|
|
this.set_y(posY);
|
|
}
|
|
,setCallbacks: function(onEmpty,onFilled,killOnEmpty) {
|
|
if(killOnEmpty == null) {
|
|
killOnEmpty = false;
|
|
}
|
|
this.emptyCallback = onEmpty != null ? onEmpty : this.emptyCallback;
|
|
this.filledCallback = onFilled != null ? onFilled : this.filledCallback;
|
|
this.killOnEmpty = killOnEmpty;
|
|
}
|
|
,setRange: function(min,max) {
|
|
if(max <= min) {
|
|
throw haxe_Exception.thrown("FlxBar: max cannot be less than or equal to min");
|
|
}
|
|
this.min = min;
|
|
this.max = max;
|
|
this.range = max - min;
|
|
this.pct = this.range / this._maxPercent;
|
|
this.pxPerPercent = this._fillHorizontal ? this.barWidth / this._maxPercent : this.barHeight / this._maxPercent;
|
|
var f = this.get_value();
|
|
if(!isNaN(f)) {
|
|
this.set_value(Math.max(min,Math.min(this.get_value(),max)));
|
|
} else {
|
|
this.set_value(min);
|
|
}
|
|
}
|
|
,createFilledBar: function(empty,fill,showBorder,border) {
|
|
if(border == null) {
|
|
border = -1;
|
|
}
|
|
if(showBorder == null) {
|
|
showBorder = false;
|
|
}
|
|
this.createColoredEmptyBar(empty,showBorder,border);
|
|
this.createColoredFilledBar(fill,showBorder,border);
|
|
return this;
|
|
}
|
|
,createColoredEmptyBar: function(empty,showBorder,border) {
|
|
if(border == null) {
|
|
border = -1;
|
|
}
|
|
if(showBorder == null) {
|
|
showBorder = false;
|
|
}
|
|
if(flixel_FlxG.renderTile) {
|
|
var emptyKey = "empty: " + this.barWidth + "x" + this.barHeight + ":" + ("0x" + StringTools.hex(empty >> 24 & 255,2) + StringTools.hex(empty >> 16 & 255,2) + StringTools.hex(empty >> 8 & 255,2) + StringTools.hex(empty & 255,2));
|
|
if(showBorder) {
|
|
emptyKey += ",border: " + ("0x" + StringTools.hex(border >> 24 & 255,2) + StringTools.hex(border >> 16 & 255,2) + StringTools.hex(border >> 8 & 255,2) + StringTools.hex(border & 255,2));
|
|
}
|
|
if(flixel_FlxG.bitmap._cache.h[emptyKey] == null) {
|
|
var emptyBar = null;
|
|
if(showBorder) {
|
|
emptyBar = new openfl_display_BitmapData(this.barWidth,this.barHeight,true,border);
|
|
emptyBar.fillRect(new openfl_geom_Rectangle(1,1,this.barWidth - 2,this.barHeight - 2),empty);
|
|
} else {
|
|
emptyBar = new openfl_display_BitmapData(this.barWidth,this.barHeight,true,empty);
|
|
}
|
|
flixel_FlxG.bitmap.add(emptyBar,false,emptyKey);
|
|
}
|
|
this.set_frames(flixel_FlxG.bitmap._cache.h[emptyKey].get_imageFrame());
|
|
} else {
|
|
if(showBorder) {
|
|
this._emptyBar = new openfl_display_BitmapData(this.barWidth,this.barHeight,true,border);
|
|
this._emptyBar.fillRect(new openfl_geom_Rectangle(1,1,this.barWidth - 2,this.barHeight - 2),empty);
|
|
} else {
|
|
this._emptyBar = new openfl_display_BitmapData(this.barWidth,this.barHeight,true,empty);
|
|
}
|
|
this._emptyBarRect.setTo(0,0,this.barWidth,this.barHeight);
|
|
this.updateEmptyBar();
|
|
}
|
|
return this;
|
|
}
|
|
,createColoredFilledBar: function(fill,showBorder,border) {
|
|
if(border == null) {
|
|
border = -1;
|
|
}
|
|
if(showBorder == null) {
|
|
showBorder = false;
|
|
}
|
|
if(flixel_FlxG.renderTile) {
|
|
var filledKey = "filled: " + this.barWidth + "x" + this.barHeight + ":" + ("0x" + StringTools.hex(fill >> 24 & 255,2) + StringTools.hex(fill >> 16 & 255,2) + StringTools.hex(fill >> 8 & 255,2) + StringTools.hex(fill & 255,2));
|
|
if(showBorder) {
|
|
filledKey += ",border: " + ("0x" + StringTools.hex(border >> 24 & 255,2) + StringTools.hex(border >> 16 & 255,2) + StringTools.hex(border >> 8 & 255,2) + StringTools.hex(border & 255,2));
|
|
}
|
|
if(flixel_FlxG.bitmap._cache.h[filledKey] == null) {
|
|
var filledBar = null;
|
|
if(showBorder) {
|
|
filledBar = new openfl_display_BitmapData(this.barWidth,this.barHeight,true,border);
|
|
filledBar.fillRect(new openfl_geom_Rectangle(1,1,this.barWidth - 2,this.barHeight - 2),fill);
|
|
} else {
|
|
filledBar = new openfl_display_BitmapData(this.barWidth,this.barHeight,true,fill);
|
|
}
|
|
flixel_FlxG.bitmap.add(filledBar,false,filledKey);
|
|
}
|
|
this.set_frontFrames(flixel_FlxG.bitmap._cache.h[filledKey].get_imageFrame());
|
|
} else {
|
|
if(showBorder) {
|
|
this._filledBar = new openfl_display_BitmapData(this.barWidth,this.barHeight,true,border);
|
|
this._filledBar.fillRect(new openfl_geom_Rectangle(1,1,this.barWidth - 2,this.barHeight - 2),fill);
|
|
} else {
|
|
this._filledBar = new openfl_display_BitmapData(this.barWidth,this.barHeight,true,fill);
|
|
}
|
|
this._filledBarRect.setTo(0,0,this.barWidth,this.barHeight);
|
|
this.updateFilledBar();
|
|
}
|
|
return this;
|
|
}
|
|
,createGradientBar: function(empty,fill,chunkSize,rotation,showBorder,border) {
|
|
if(border == null) {
|
|
border = -1;
|
|
}
|
|
if(showBorder == null) {
|
|
showBorder = false;
|
|
}
|
|
if(rotation == null) {
|
|
rotation = 180;
|
|
}
|
|
if(chunkSize == null) {
|
|
chunkSize = 1;
|
|
}
|
|
this.createGradientEmptyBar(empty,chunkSize,rotation,showBorder,border);
|
|
this.createGradientFilledBar(fill,chunkSize,rotation,showBorder,border);
|
|
return this;
|
|
}
|
|
,createGradientEmptyBar: function(empty,chunkSize,rotation,showBorder,border) {
|
|
if(border == null) {
|
|
border = -1;
|
|
}
|
|
if(showBorder == null) {
|
|
showBorder = false;
|
|
}
|
|
if(rotation == null) {
|
|
rotation = 180;
|
|
}
|
|
if(chunkSize == null) {
|
|
chunkSize = 1;
|
|
}
|
|
if(flixel_FlxG.renderTile) {
|
|
var emptyKey = "Gradient:" + this.barWidth + "x" + this.barHeight + ",colors:[";
|
|
var _g = 0;
|
|
while(_g < empty.length) {
|
|
var col = empty[_g];
|
|
++_g;
|
|
emptyKey += "0x" + StringTools.hex(col >> 24 & 255,2) + StringTools.hex(col >> 16 & 255,2) + StringTools.hex(col >> 8 & 255,2) + StringTools.hex(col & 255,2) + ",";
|
|
}
|
|
emptyKey += "],chunkSize: " + chunkSize + ",rotation: " + rotation;
|
|
if(showBorder) {
|
|
emptyKey += ",border: " + ("0x" + StringTools.hex(border >> 24 & 255,2) + StringTools.hex(border >> 16 & 255,2) + StringTools.hex(border >> 8 & 255,2) + StringTools.hex(border & 255,2));
|
|
}
|
|
if(flixel_FlxG.bitmap._cache.h[emptyKey] == null) {
|
|
var emptyBar = null;
|
|
if(showBorder) {
|
|
emptyBar = new openfl_display_BitmapData(this.barWidth,this.barHeight,true,border);
|
|
flixel_util_FlxGradient.overlayGradientOnBitmapData(emptyBar,this.barWidth - 2,this.barHeight - 2,empty,1,1,chunkSize,rotation);
|
|
} else {
|
|
emptyBar = flixel_util_FlxGradient.createGradientBitmapData(this.barWidth,this.barHeight,empty,chunkSize,rotation);
|
|
}
|
|
flixel_FlxG.bitmap.add(emptyBar,false,emptyKey);
|
|
}
|
|
this.set_frames(flixel_FlxG.bitmap._cache.h[emptyKey].get_imageFrame());
|
|
} else {
|
|
if(showBorder) {
|
|
this._emptyBar = new openfl_display_BitmapData(this.barWidth,this.barHeight,true,border);
|
|
flixel_util_FlxGradient.overlayGradientOnBitmapData(this._emptyBar,this.barWidth - 2,this.barHeight - 2,empty,1,1,chunkSize,rotation);
|
|
} else {
|
|
this._emptyBar = flixel_util_FlxGradient.createGradientBitmapData(this.barWidth,this.barHeight,empty,chunkSize,rotation);
|
|
}
|
|
this._emptyBarRect.setTo(0,0,this.barWidth,this.barHeight);
|
|
this.updateEmptyBar();
|
|
}
|
|
return this;
|
|
}
|
|
,createGradientFilledBar: function(fill,chunkSize,rotation,showBorder,border) {
|
|
if(border == null) {
|
|
border = -1;
|
|
}
|
|
if(showBorder == null) {
|
|
showBorder = false;
|
|
}
|
|
if(rotation == null) {
|
|
rotation = 180;
|
|
}
|
|
if(chunkSize == null) {
|
|
chunkSize = 1;
|
|
}
|
|
if(flixel_FlxG.renderTile) {
|
|
var filledKey = "Gradient:" + this.barWidth + "x" + this.barHeight + ",colors:[";
|
|
var _g = 0;
|
|
while(_g < fill.length) {
|
|
var col = fill[_g];
|
|
++_g;
|
|
filledKey += "0x" + StringTools.hex(col >> 24 & 255,2) + StringTools.hex(col >> 16 & 255,2) + StringTools.hex(col >> 8 & 255,2) + StringTools.hex(col & 255,2) + ",";
|
|
}
|
|
filledKey += "],chunkSize: " + chunkSize + ",rotation: " + rotation;
|
|
if(showBorder) {
|
|
filledKey += ",border: " + ("0x" + StringTools.hex(border >> 24 & 255,2) + StringTools.hex(border >> 16 & 255,2) + StringTools.hex(border >> 8 & 255,2) + StringTools.hex(border & 255,2));
|
|
}
|
|
if(flixel_FlxG.bitmap._cache.h[filledKey] == null) {
|
|
var filledBar = null;
|
|
if(showBorder) {
|
|
filledBar = new openfl_display_BitmapData(this.barWidth,this.barHeight,true,border);
|
|
flixel_util_FlxGradient.overlayGradientOnBitmapData(filledBar,this.barWidth - 2,this.barHeight - 2,fill,1,1,chunkSize,rotation);
|
|
} else {
|
|
filledBar = flixel_util_FlxGradient.createGradientBitmapData(this.barWidth,this.barHeight,fill,chunkSize,rotation);
|
|
}
|
|
flixel_FlxG.bitmap.add(filledBar,false,filledKey);
|
|
}
|
|
this.set_frontFrames(flixel_FlxG.bitmap._cache.h[filledKey].get_imageFrame());
|
|
} else {
|
|
if(showBorder) {
|
|
this._filledBar = new openfl_display_BitmapData(this.barWidth,this.barHeight,true,border);
|
|
flixel_util_FlxGradient.overlayGradientOnBitmapData(this._filledBar,this.barWidth - 2,this.barHeight - 2,fill,1,1,chunkSize,rotation);
|
|
} else {
|
|
this._filledBar = flixel_util_FlxGradient.createGradientBitmapData(this.barWidth,this.barHeight,fill,chunkSize,rotation);
|
|
}
|
|
this._filledBarRect.setTo(0,0,this.barWidth,this.barHeight);
|
|
this.updateFilledBar();
|
|
}
|
|
return this;
|
|
}
|
|
,createImageBar: function(empty,fill,emptyBackground,fillBackground) {
|
|
if(fillBackground == null) {
|
|
fillBackground = -16711936;
|
|
}
|
|
if(emptyBackground == null) {
|
|
emptyBackground = -16777216;
|
|
}
|
|
this.createImageEmptyBar(empty,emptyBackground);
|
|
this.createImageFilledBar(fill,fillBackground);
|
|
return this;
|
|
}
|
|
,createImageEmptyBar: function(empty,emptyBackground) {
|
|
if(emptyBackground == null) {
|
|
emptyBackground = -16777216;
|
|
}
|
|
if(empty != null) {
|
|
var emptyGraphic = flixel_FlxG.bitmap.add(empty);
|
|
if(flixel_FlxG.renderTile) {
|
|
this.set_frames(emptyGraphic.get_imageFrame());
|
|
} else {
|
|
this._emptyBar = emptyGraphic.bitmap.clone();
|
|
this.barWidth = this._emptyBar.width;
|
|
this.barHeight = this._emptyBar.height;
|
|
this._emptyBarRect.setTo(0,0,this.barWidth,this.barHeight);
|
|
if(this.graphic == null || (this.frame.sourceSize.x != this.barWidth || this.frame.sourceSize.y != this.barHeight)) {
|
|
this.makeGraphic(this.barWidth,this.barHeight,0,true);
|
|
}
|
|
this.updateEmptyBar();
|
|
}
|
|
} else {
|
|
this.createColoredEmptyBar(emptyBackground);
|
|
}
|
|
return this;
|
|
}
|
|
,createImageFilledBar: function(fill,fillBackground) {
|
|
if(fillBackground == null) {
|
|
fillBackground = -16711936;
|
|
}
|
|
if(fill != null) {
|
|
var filledGraphic = flixel_FlxG.bitmap.add(fill);
|
|
if(flixel_FlxG.renderTile) {
|
|
this.set_frontFrames(filledGraphic.get_imageFrame());
|
|
} else {
|
|
this._filledBar = filledGraphic.bitmap.clone();
|
|
this._filledBarRect.setTo(0,0,this.barWidth,this.barHeight);
|
|
if(this.graphic == null || (this.frame.sourceSize.x != this.barWidth || this.frame.sourceSize.y != this.barHeight)) {
|
|
this.makeGraphic(this.barWidth,this.barHeight,0,true);
|
|
}
|
|
this.pxPerPercent = this._fillHorizontal ? this.barWidth / this._maxPercent : this.barHeight / this._maxPercent;
|
|
this.updateFilledBar();
|
|
}
|
|
} else {
|
|
this.createColoredFilledBar(fillBackground);
|
|
}
|
|
return this;
|
|
}
|
|
,set_fillDirection: function(direction) {
|
|
this.fillDirection = direction;
|
|
switch(direction._hx_index) {
|
|
case 2:case 3:case 6:case 7:
|
|
this._fillHorizontal = false;
|
|
break;
|
|
case 0:case 1:case 4:case 5:
|
|
this._fillHorizontal = true;
|
|
break;
|
|
}
|
|
return this.fillDirection;
|
|
}
|
|
,updateValueFromParent: function() {
|
|
this.set_value(Reflect.getProperty(this.parent,this.parentVariable));
|
|
}
|
|
,updateBar: function() {
|
|
this.updateEmptyBar();
|
|
this.updateFilledBar();
|
|
}
|
|
,updateEmptyBar: function() {
|
|
if(flixel_FlxG.renderBlit) {
|
|
this.get_pixels().copyPixels(this._emptyBar,this._emptyBarRect,this._zeroOffset);
|
|
this.dirty = true;
|
|
}
|
|
}
|
|
,updateFilledBar: function() {
|
|
this._filledBarRect.width = this.barWidth;
|
|
this._filledBarRect.height = this.barHeight;
|
|
var fraction = (this.get_value() - this.min) / this.range;
|
|
var percent = fraction * this._maxPercent;
|
|
var maxScale = this._fillHorizontal ? this.barWidth : this.barHeight;
|
|
var scaleInterval = maxScale / this.numDivisions;
|
|
var interval = Math.round((fraction * maxScale / scaleInterval | 0) * scaleInterval);
|
|
if(this._fillHorizontal) {
|
|
this._filledBarRect.width = interval | 0;
|
|
} else {
|
|
this._filledBarRect.height = interval | 0;
|
|
}
|
|
if(percent > 0) {
|
|
switch(this.fillDirection._hx_index) {
|
|
case 1:
|
|
this._filledBarRect.x = this.barWidth - this._filledBarRect.width;
|
|
this._filledBarPoint.x = this.barWidth - this._filledBarRect.width;
|
|
break;
|
|
case 0:case 2:
|
|
break;
|
|
case 3:
|
|
this._filledBarRect.y = this.barHeight - this._filledBarRect.height;
|
|
this._filledBarPoint.y = this.barHeight - this._filledBarRect.height;
|
|
break;
|
|
case 4:
|
|
this._filledBarRect.x = this.barWidth / 2 - this._filledBarRect.width / 2 | 0;
|
|
this._filledBarPoint.x = this.barWidth / 2 - this._filledBarRect.width / 2 | 0;
|
|
break;
|
|
case 5:
|
|
this._filledBarRect.width = maxScale - interval | 0;
|
|
this._filledBarPoint.x = (this.barWidth - this._filledBarRect.width) / 2 | 0;
|
|
break;
|
|
case 6:
|
|
this._filledBarRect.y = this.barHeight / 2 - this._filledBarRect.height / 2 | 0;
|
|
this._filledBarPoint.y = this.barHeight / 2 - this._filledBarRect.height / 2 | 0;
|
|
break;
|
|
case 7:
|
|
this._filledBarRect.height = maxScale - interval | 0;
|
|
this._filledBarPoint.y = (this.barHeight - this._filledBarRect.height) / 2 | 0;
|
|
break;
|
|
}
|
|
if(flixel_FlxG.renderBlit) {
|
|
this.get_pixels().copyPixels(this._filledBar,this._filledBarRect,this._filledBarPoint,null,null,true);
|
|
} else if(this.get_frontFrames() != null) {
|
|
var _this = this._filledFlxRect;
|
|
var FlashRect = this._filledBarRect;
|
|
_this.x = FlashRect.x;
|
|
_this.y = FlashRect.y;
|
|
_this.width = FlashRect.width;
|
|
_this.height = FlashRect.height;
|
|
var _this1 = _this;
|
|
_this1.x = Math.round(_this1.x);
|
|
_this1.y = Math.round(_this1.y);
|
|
_this1.width = Math.round(_this1.width);
|
|
_this1.height = Math.round(_this1.height);
|
|
if((percent | 0) > 0) {
|
|
this._frontFrame = this.get_frontFrames().get_frame().clipTo(this._filledFlxRect,this._frontFrame);
|
|
}
|
|
}
|
|
}
|
|
if(flixel_FlxG.renderBlit) {
|
|
this.dirty = true;
|
|
}
|
|
}
|
|
,update: function(elapsed) {
|
|
if(this.parent != null) {
|
|
if(Reflect.getProperty(this.parent,this.parentVariable) != this.get_value()) {
|
|
this.updateValueFromParent();
|
|
}
|
|
if(!this.fixedPosition) {
|
|
this.set_x(this.parent.x + this.positionOffset.x);
|
|
this.set_y(this.parent.y + this.positionOffset.y);
|
|
}
|
|
}
|
|
flixel_FlxSprite.prototype.update.call(this,elapsed);
|
|
}
|
|
,draw: function() {
|
|
flixel_FlxSprite.prototype.draw.call(this);
|
|
if(!flixel_FlxG.renderTile) {
|
|
return;
|
|
}
|
|
if(this.alpha == 0) {
|
|
return;
|
|
}
|
|
if(this.get_percent() > 0 && this._frontFrame.type != 2) {
|
|
var _g = 0;
|
|
var _g1 = this.get_cameras();
|
|
while(_g < _g1.length) {
|
|
var camera = _g1[_g];
|
|
++_g;
|
|
if(!camera.visible || !camera.exists || !this.isOnScreen(camera)) {
|
|
continue;
|
|
}
|
|
this.getScreenPosition(this._point,camera).subtractPoint(this.offset);
|
|
this._frontFrame.prepareMatrix(this._matrix,0,this.flipX,this.flipY);
|
|
this._matrix.translate(-this.origin.x,-this.origin.y);
|
|
this._matrix.scale(this.scale.x,this.scale.y);
|
|
if(this.angle != 0) {
|
|
var _this = this._matrix;
|
|
var cos = this._cosAngle;
|
|
var sin = this._sinAngle;
|
|
var a1 = _this.a * cos - _this.b * sin;
|
|
_this.b = _this.a * sin + _this.b * cos;
|
|
_this.a = a1;
|
|
var c1 = _this.c * cos - _this.d * sin;
|
|
_this.d = _this.c * sin + _this.d * cos;
|
|
_this.c = c1;
|
|
var tx1 = _this.tx * cos - _this.ty * sin;
|
|
_this.ty = _this.tx * sin + _this.ty * cos;
|
|
_this.tx = tx1;
|
|
}
|
|
var _this1 = this._point;
|
|
var X = this.origin.x;
|
|
var Y = this.origin.y;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _g2 = _this1;
|
|
_g2.set_x(_g2.x + X);
|
|
var _g3 = _this1;
|
|
_g3.set_y(_g3.y + Y);
|
|
if(this.isPixelPerfectRender(camera)) {
|
|
var _this2 = this._point;
|
|
_this2.set_x(Math.floor(_this2.x));
|
|
_this2.set_y(Math.floor(_this2.y));
|
|
}
|
|
this._matrix.translate(this._point.x,this._point.y);
|
|
camera.drawPixels(this._frontFrame,null,this._matrix,this.colorTransform,this.blend,this.antialiasing,this.shader);
|
|
}
|
|
}
|
|
}
|
|
,set_pixels: function(Pixels) {
|
|
if(flixel_FlxG.renderTile) {
|
|
return Pixels;
|
|
} else {
|
|
return flixel_FlxSprite.prototype.set_pixels.call(this,Pixels);
|
|
}
|
|
}
|
|
,toString: function() {
|
|
var value = this.min;
|
|
var _this = flixel_util_LabelValuePair._pool.get();
|
|
_this.label = "min";
|
|
_this.value = value;
|
|
var value = this.max;
|
|
var _this1 = flixel_util_LabelValuePair._pool.get();
|
|
_this1.label = "max";
|
|
_this1.value = value;
|
|
var value = this.range;
|
|
var _this2 = flixel_util_LabelValuePair._pool.get();
|
|
_this2.label = "range";
|
|
_this2.value = value;
|
|
var value = this.pct;
|
|
var _this3 = flixel_util_LabelValuePair._pool.get();
|
|
_this3.label = "%";
|
|
_this3.value = value;
|
|
var value = this.pxPerPercent;
|
|
var _this4 = flixel_util_LabelValuePair._pool.get();
|
|
_this4.label = "px/%";
|
|
_this4.value = value;
|
|
var value = this.get_value();
|
|
var _this5 = flixel_util_LabelValuePair._pool.get();
|
|
_this5.label = "value";
|
|
_this5.value = value;
|
|
return flixel_util_FlxStringUtil.getDebugString([_this,_this1,_this2,_this3,_this4,_this5]);
|
|
}
|
|
,get_percent: function() {
|
|
if(this.get_value() > this.max) {
|
|
return this._maxPercent;
|
|
}
|
|
return Math.floor((this.get_value() - this.min) / this.range * this._maxPercent);
|
|
}
|
|
,set_percent: function(newPct) {
|
|
if(newPct >= 0 && newPct <= this._maxPercent) {
|
|
this.set_value(this.pct * newPct);
|
|
}
|
|
return newPct;
|
|
}
|
|
,set_value: function(newValue) {
|
|
this.value = Math.max(this.min,Math.min(newValue,this.max));
|
|
if(this.get_value() == this.min && this.emptyCallback != null) {
|
|
this.emptyCallback();
|
|
}
|
|
if(this.get_value() == this.max && this.filledCallback != null) {
|
|
this.filledCallback();
|
|
}
|
|
if(this.get_value() == this.min && this.killOnEmpty) {
|
|
this.kill();
|
|
}
|
|
this.updateBar();
|
|
return newValue;
|
|
}
|
|
,get_value: function() {
|
|
return this.value;
|
|
}
|
|
,set_numDivisions: function(newValue) {
|
|
this.numDivisions = newValue > 0 ? newValue : 100;
|
|
this.updateFilledBar();
|
|
return newValue;
|
|
}
|
|
,get_frontFrames: function() {
|
|
if(flixel_FlxG.renderTile) {
|
|
return this.frontFrames;
|
|
}
|
|
return null;
|
|
}
|
|
,set_frontFrames: function(value) {
|
|
if(flixel_FlxG.renderTile) {
|
|
this.frontFrames = value;
|
|
this._frontFrame = value != null ? value.get_frame().copyTo(this._frontFrame) : null;
|
|
} else {
|
|
this.createImageFilledBar(value.get_frame().paint());
|
|
}
|
|
return value;
|
|
}
|
|
,get_backFrames: function() {
|
|
if(flixel_FlxG.renderTile) {
|
|
return this.frames;
|
|
}
|
|
return null;
|
|
}
|
|
,set_backFrames: function(value) {
|
|
if(flixel_FlxG.renderTile) {
|
|
this.set_frames(value);
|
|
} else {
|
|
this.createImageEmptyBar(value.get_frame().paint());
|
|
}
|
|
return value;
|
|
}
|
|
,__class__: flixel_ui_FlxBar
|
|
,__properties__: $extend(flixel_FlxSprite.prototype.__properties__,{set_fillDirection:"set_fillDirection",set_backFrames:"set_backFrames",get_backFrames:"get_backFrames",set_frontFrames:"set_frontFrames",get_frontFrames:"get_frontFrames",set_numDivisions:"set_numDivisions",set_value:"set_value",get_value:"get_value",set_percent:"set_percent",get_percent:"get_percent"})
|
|
});
|
|
var flixel_addons_ui_interfaces_IHasParams = function() { };
|
|
$hxClasses["flixel.addons.ui.interfaces.IHasParams"] = flixel_addons_ui_interfaces_IHasParams;
|
|
flixel_addons_ui_interfaces_IHasParams.__name__ = "flixel.addons.ui.interfaces.IHasParams";
|
|
flixel_addons_ui_interfaces_IHasParams.__isInterface__ = true;
|
|
flixel_addons_ui_interfaces_IHasParams.prototype = {
|
|
params: null
|
|
,set_params: null
|
|
,__class__: flixel_addons_ui_interfaces_IHasParams
|
|
,__properties__: {set_params:"set_params"}
|
|
};
|
|
var flixel_addons_ui_FlxUIBar = function(x,y,direction,width,height,parentRef,variable,min,max,showBorder) {
|
|
if(showBorder == null) {
|
|
showBorder = false;
|
|
}
|
|
if(max == null) {
|
|
max = 100;
|
|
}
|
|
if(min == null) {
|
|
min = 0;
|
|
}
|
|
if(variable == null) {
|
|
variable = "";
|
|
}
|
|
if(height == null) {
|
|
height = 10;
|
|
}
|
|
if(width == null) {
|
|
width = 100;
|
|
}
|
|
if(y == null) {
|
|
y = 0;
|
|
}
|
|
if(x == null) {
|
|
x = 0;
|
|
}
|
|
flixel_ui_FlxBar.call(this,x,y,direction,width,height,parentRef,variable,min,max,showBorder);
|
|
};
|
|
$hxClasses["flixel.addons.ui.FlxUIBar"] = flixel_addons_ui_FlxUIBar;
|
|
flixel_addons_ui_FlxUIBar.__name__ = "flixel.addons.ui.FlxUIBar";
|
|
flixel_addons_ui_FlxUIBar.__interfaces__ = [flixel_addons_ui_interfaces_IHasParams,flixel_addons_ui_interfaces_IFlxUIWidget,flixel_addons_ui_interfaces_IResizable];
|
|
flixel_addons_ui_FlxUIBar.__super__ = flixel_ui_FlxBar;
|
|
flixel_addons_ui_FlxUIBar.prototype = $extend(flixel_ui_FlxBar.prototype,{
|
|
name: null
|
|
,style: null
|
|
,params: null
|
|
,broadcastToFlxUI: null
|
|
,clone: function() {
|
|
var w = this.get_width() | 0;
|
|
var h = this.get_height() | 0;
|
|
var showBorder = this.style != null && this.style.borderColor != null;
|
|
if(showBorder) {
|
|
w -= 2;
|
|
h -= 2;
|
|
}
|
|
var b = new flixel_addons_ui_FlxUIBar(this.x,this.y,this.fillDirection,w,h,this.parent,this.parentVariable,this.min,this.max,showBorder);
|
|
b.set_style(this.style);
|
|
b.set_value(this.get_value());
|
|
return b;
|
|
}
|
|
,set_style: function(Style) {
|
|
this.style = Style;
|
|
this.resize(this.barWidth,this.barHeight);
|
|
return this.style;
|
|
}
|
|
,resize: function(w,h) {
|
|
this.set_width(w);
|
|
this.set_height(h);
|
|
this.barWidth = this.get_width() | 0;
|
|
this.barHeight = this.get_height() | 0;
|
|
if(flixel_FlxG.renderBlit) {
|
|
this.makeGraphic(this.barWidth,this.barHeight,0,true);
|
|
}
|
|
var showBorder = this.style.borderColor != null;
|
|
var ec = this.style.emptyColor == null ? -16777216 : this.style.emptyColor;
|
|
var fc = this.style.filledColor == null ? -65536 : this.style.filledColor;
|
|
var bc = this.style.borderColor == null ? -16777216 : this.style.borderColor;
|
|
if(this.style.filledColor != null) {
|
|
this.createFilledBar(ec,fc,showBorder,bc);
|
|
}
|
|
if(this.style.filledColors != null) {
|
|
var ecs = this.style.emptyColors == null ? [-16777216] : this.style.emptyColors;
|
|
var fcs = this.style.filledColors == null ? [-65536] : this.style.filledColors;
|
|
var chunk = this.style.chunkSize == null ? 1 : this.style.chunkSize;
|
|
var gradRot = this.style.emptyImgSrc == null ? 180 : this.style.gradRotation;
|
|
this.createGradientBar(ecs,fcs,chunk,gradRot,showBorder,bc);
|
|
}
|
|
if(this.style.filledImgSrc != "") {
|
|
this.createImageBar(this.style.emptyImgSrc,this.style.filledImgSrc,ec,fc);
|
|
}
|
|
this.setRange(this.min,this.max);
|
|
this.set_value(this.get_value());
|
|
}
|
|
,set_params: function(p) {
|
|
this.params = p;
|
|
return this.params;
|
|
}
|
|
,__class__: flixel_addons_ui_FlxUIBar
|
|
,__properties__: $extend(flixel_ui_FlxBar.prototype.__properties__,{set_params:"set_params",set_style:"set_style"})
|
|
});
|
|
var flixel_input_IFlxInput = function() { };
|
|
$hxClasses["flixel.input.IFlxInput"] = flixel_input_IFlxInput;
|
|
flixel_input_IFlxInput.__name__ = "flixel.input.IFlxInput";
|
|
flixel_input_IFlxInput.__isInterface__ = true;
|
|
flixel_input_IFlxInput.prototype = {
|
|
get_justReleased: null
|
|
,get_released: null
|
|
,get_pressed: null
|
|
,get_justPressed: null
|
|
,__class__: flixel_input_IFlxInput
|
|
,__properties__: {get_justPressed:"get_justPressed",get_pressed:"get_pressed",get_released:"get_released",get_justReleased:"get_justReleased"}
|
|
};
|
|
var flixel_ui_FlxTypedButton = function(X,Y,OnClick) {
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
this.lastStatus = -1;
|
|
this.maxInputMovement = Infinity;
|
|
this.mouseButtons = [-1];
|
|
this.allowSwiping = true;
|
|
this.statusAnimations = ["normal","highlight","pressed"];
|
|
this.labelAlphas = [0.8,1.0,0.5];
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
var point1 = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point1._inPool = false;
|
|
var point2 = flixel_math_FlxPoint._pool.get().set(0,1);
|
|
point2._inPool = false;
|
|
this.labelOffsets = [point,point1,point2];
|
|
flixel_FlxSprite.call(this,X,Y);
|
|
this.loadDefaultGraphic();
|
|
this.onUp = new flixel_ui__$FlxButton_FlxButtonEvent(OnClick);
|
|
this.onDown = new flixel_ui__$FlxButton_FlxButtonEvent();
|
|
this.onOver = new flixel_ui__$FlxButton_FlxButtonEvent();
|
|
this.onOut = new flixel_ui__$FlxButton_FlxButtonEvent();
|
|
this.set_status(0);
|
|
this.scrollFactor.set();
|
|
openfl_Lib.get_current().stage.addEventListener("mouseUp",$bind(this,this.onUpEventListener));
|
|
this.input = new flixel_input_FlxInput(0);
|
|
};
|
|
$hxClasses["flixel.ui.FlxTypedButton"] = flixel_ui_FlxTypedButton;
|
|
flixel_ui_FlxTypedButton.__name__ = "flixel.ui.FlxTypedButton";
|
|
flixel_ui_FlxTypedButton.__interfaces__ = [flixel_input_IFlxInput];
|
|
flixel_ui_FlxTypedButton.__super__ = flixel_FlxSprite;
|
|
flixel_ui_FlxTypedButton.prototype = $extend(flixel_FlxSprite.prototype,{
|
|
label: null
|
|
,labelOffsets: null
|
|
,labelAlphas: null
|
|
,statusAnimations: null
|
|
,allowSwiping: null
|
|
,mouseButtons: null
|
|
,maxInputMovement: null
|
|
,status: null
|
|
,onUp: null
|
|
,onDown: null
|
|
,onOver: null
|
|
,onOut: null
|
|
,_spriteLabel: null
|
|
,input: null
|
|
,currentInput: null
|
|
,lastStatus: null
|
|
,graphicLoaded: function() {
|
|
flixel_FlxSprite.prototype.graphicLoaded.call(this);
|
|
this.setupAnimation("normal",0);
|
|
this.setupAnimation("highlight",1);
|
|
this.setupAnimation("pressed",2);
|
|
}
|
|
,loadDefaultGraphic: function() {
|
|
this.loadGraphic("flixel/images/ui/button.png",true,80,20);
|
|
}
|
|
,setupAnimation: function(animationName,frameIndex) {
|
|
frameIndex = Math.min(frameIndex,this.animation._sprite.numFrames - 1) | 0;
|
|
this.animation.add(animationName,[frameIndex]);
|
|
}
|
|
,destroy: function() {
|
|
this.set_label(flixel_util_FlxDestroyUtil.destroy(this.label));
|
|
this._spriteLabel = null;
|
|
this.onUp = flixel_util_FlxDestroyUtil.destroy(this.onUp);
|
|
this.onDown = flixel_util_FlxDestroyUtil.destroy(this.onDown);
|
|
this.onOver = flixel_util_FlxDestroyUtil.destroy(this.onOver);
|
|
this.onOut = flixel_util_FlxDestroyUtil.destroy(this.onOut);
|
|
this.labelOffsets = flixel_util_FlxDestroyUtil.putArray(this.labelOffsets);
|
|
this.labelAlphas = null;
|
|
this.currentInput = null;
|
|
this.input = null;
|
|
openfl_Lib.get_current().stage.removeEventListener("mouseUp",$bind(this,this.onUpEventListener));
|
|
flixel_FlxSprite.prototype.destroy.call(this);
|
|
}
|
|
,update: function(elapsed) {
|
|
flixel_FlxSprite.prototype.update.call(this,elapsed);
|
|
if(this.visible) {
|
|
this.updateButton();
|
|
if(this.lastStatus != this.status) {
|
|
this.updateStatusAnimation();
|
|
this.lastStatus = this.status;
|
|
}
|
|
}
|
|
this.input.update();
|
|
}
|
|
,updateStatusAnimation: function() {
|
|
this.animation.play(this.statusAnimations[this.status]);
|
|
}
|
|
,draw: function() {
|
|
flixel_FlxSprite.prototype.draw.call(this);
|
|
if(this._spriteLabel != null && this._spriteLabel.visible) {
|
|
this._spriteLabel.set_cameras(this.get_cameras());
|
|
this._spriteLabel.draw();
|
|
}
|
|
}
|
|
,stampOnAtlas: function(atlas) {
|
|
var buttonNode = atlas.addNode(this.graphic.bitmap,this.graphic.key);
|
|
var result = buttonNode != null;
|
|
if(buttonNode != null) {
|
|
var buttonFrames = this.frames;
|
|
var X = buttonFrames.tileSize.x;
|
|
var Y = buttonFrames.tileSize.y;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
var tileSize = point;
|
|
var tileFrames = buttonNode.getTileFrames(tileSize);
|
|
this.set_frames(tileFrames);
|
|
}
|
|
if(result && this.label != null) {
|
|
var labelNode = atlas.addNode(this.label.graphic.bitmap,this.label.graphic.key);
|
|
result = result && labelNode != null;
|
|
if(labelNode != null) {
|
|
this.label.set_frames(labelNode.getImageFrame());
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
,updateButton: function() {
|
|
var overlapFound = this.checkMouseOverlap();
|
|
if(!overlapFound) {
|
|
overlapFound = this.checkTouchOverlap();
|
|
}
|
|
if(this.currentInput != null && this.currentInput.get_justReleased() && overlapFound) {
|
|
this.onUpHandler();
|
|
}
|
|
if(this.status != 0 && (!overlapFound || this.currentInput != null && this.currentInput.get_justReleased())) {
|
|
this.onOutHandler();
|
|
}
|
|
}
|
|
,checkMouseOverlap: function() {
|
|
var overlap = false;
|
|
var _g = 0;
|
|
var _g1 = this.get_cameras();
|
|
while(_g < _g1.length) {
|
|
var camera = _g1[_g];
|
|
++_g;
|
|
var _g2 = 0;
|
|
var _g3 = this.mouseButtons;
|
|
while(_g2 < _g3.length) {
|
|
var buttonID = _g3[_g2];
|
|
++_g2;
|
|
var button = flixel_input_mouse_FlxMouseButton.getByID(buttonID);
|
|
if(button != null && this.checkInput(flixel_FlxG.mouse,button,button.justPressedPosition,camera)) {
|
|
overlap = true;
|
|
}
|
|
}
|
|
}
|
|
return overlap;
|
|
}
|
|
,checkTouchOverlap: function() {
|
|
var overlap = false;
|
|
var _g = 0;
|
|
var _g1 = this.get_cameras();
|
|
while(_g < _g1.length) {
|
|
var camera = _g1[_g];
|
|
++_g;
|
|
var _g2 = 0;
|
|
var _g3 = flixel_FlxG.touches.list;
|
|
while(_g2 < _g3.length) {
|
|
var touch = _g3[_g2];
|
|
++_g2;
|
|
if(this.checkInput(touch,touch,touch.justPressedPosition,camera)) {
|
|
overlap = true;
|
|
}
|
|
}
|
|
}
|
|
return overlap;
|
|
}
|
|
,checkInput: function(pointer,input,justPressedPosition,camera) {
|
|
var tmp;
|
|
if(this.maxInputMovement != Infinity) {
|
|
var X = 0;
|
|
var Y = 0;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
var point1 = point;
|
|
point1._weak = true;
|
|
tmp = justPressedPosition.distanceTo(pointer.getScreenPosition(null,point1)) > this.maxInputMovement;
|
|
} else {
|
|
tmp = false;
|
|
}
|
|
if(tmp && input == this.currentInput) {
|
|
this.currentInput = null;
|
|
} else if(this.overlapsPoint(pointer.getWorldPosition(camera,this._point),true,camera)) {
|
|
this.updateStatus(input);
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
,updateStatus: function(input) {
|
|
if(input.get_justPressed()) {
|
|
this.currentInput = input;
|
|
this.onDownHandler();
|
|
} else if(this.status == 0) {
|
|
if(this.allowSwiping && input.get_pressed()) {
|
|
this.onDownHandler();
|
|
} else {
|
|
this.onOverHandler();
|
|
}
|
|
}
|
|
}
|
|
,updateLabelPosition: function() {
|
|
if(this._spriteLabel != null) {
|
|
this._spriteLabel.set_x((this.pixelPerfectPosition ? Math.floor(this.x) : this.x) + this.labelOffsets[this.status].x);
|
|
this._spriteLabel.set_y((this.pixelPerfectPosition ? Math.floor(this.y) : this.y) + this.labelOffsets[this.status].y);
|
|
}
|
|
}
|
|
,updateLabelAlpha: function() {
|
|
if(this._spriteLabel != null && this.labelAlphas.length > this.status) {
|
|
this._spriteLabel.set_alpha(this.alpha * this.labelAlphas[this.status]);
|
|
}
|
|
}
|
|
,onUpEventListener: function(_) {
|
|
if(this.visible && this.exists && this.active && this.status == 2) {
|
|
this.onUpHandler();
|
|
}
|
|
}
|
|
,onUpHandler: function() {
|
|
this.set_status(0);
|
|
this.input.release();
|
|
this.currentInput = null;
|
|
var _this = this.onUp;
|
|
if(_this.callback != null) {
|
|
_this.callback();
|
|
}
|
|
if(_this.sound != null) {
|
|
_this.sound.play(true);
|
|
}
|
|
}
|
|
,onDownHandler: function() {
|
|
this.set_status(2);
|
|
this.input.press();
|
|
var _this = this.onDown;
|
|
if(_this.callback != null) {
|
|
_this.callback();
|
|
}
|
|
if(_this.sound != null) {
|
|
_this.sound.play(true);
|
|
}
|
|
}
|
|
,onOverHandler: function() {
|
|
if(!flixel_FlxG.mouse.enabled) {
|
|
this.set_status(0);
|
|
return;
|
|
}
|
|
this.set_status(1);
|
|
var _this = this.onOver;
|
|
if(_this.callback != null) {
|
|
_this.callback();
|
|
}
|
|
if(_this.sound != null) {
|
|
_this.sound.play(true);
|
|
}
|
|
}
|
|
,onOutHandler: function() {
|
|
this.set_status(0);
|
|
this.input.release();
|
|
var _this = this.onOut;
|
|
if(_this.callback != null) {
|
|
_this.callback();
|
|
}
|
|
if(_this.sound != null) {
|
|
_this.sound.play(true);
|
|
}
|
|
}
|
|
,set_label: function(Value) {
|
|
if(Value != null) {
|
|
Value.scrollFactor.put();
|
|
Value.scrollFactor = this.scrollFactor;
|
|
}
|
|
this.label = Value;
|
|
this._spriteLabel = this.label;
|
|
this.updateLabelPosition();
|
|
return Value;
|
|
}
|
|
,set_status: function(Value) {
|
|
this.status = Value;
|
|
this.updateLabelAlpha();
|
|
return this.status;
|
|
}
|
|
,set_alpha: function(Value) {
|
|
flixel_FlxSprite.prototype.set_alpha.call(this,Value);
|
|
this.updateLabelAlpha();
|
|
return this.alpha;
|
|
}
|
|
,set_x: function(Value) {
|
|
flixel_FlxSprite.prototype.set_x.call(this,Value);
|
|
this.updateLabelPosition();
|
|
return this.x;
|
|
}
|
|
,set_y: function(Value) {
|
|
flixel_FlxSprite.prototype.set_y.call(this,Value);
|
|
this.updateLabelPosition();
|
|
return this.y;
|
|
}
|
|
,get_justReleased: function() {
|
|
return this.input.current == -1;
|
|
}
|
|
,get_released: function() {
|
|
var _this = this.input;
|
|
if(_this.current != 0) {
|
|
return _this.current == -1;
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
,get_pressed: function() {
|
|
var _this = this.input;
|
|
if(_this.current != 1) {
|
|
return _this.current == 2;
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
,get_justPressed: function() {
|
|
return this.input.current == 2;
|
|
}
|
|
,__class__: flixel_ui_FlxTypedButton
|
|
,__properties__: $extend(flixel_FlxSprite.prototype.__properties__,{get_justPressed:"get_justPressed",get_pressed:"get_pressed",get_released:"get_released",get_justReleased:"get_justReleased",set_status:"set_status",set_label:"set_label"})
|
|
});
|
|
var flixel_addons_ui_interfaces_ICursorPointable = function() { };
|
|
$hxClasses["flixel.addons.ui.interfaces.ICursorPointable"] = flixel_addons_ui_interfaces_ICursorPointable;
|
|
flixel_addons_ui_interfaces_ICursorPointable.__name__ = "flixel.addons.ui.interfaces.ICursorPointable";
|
|
flixel_addons_ui_interfaces_ICursorPointable.__isInterface__ = true;
|
|
var flixel_addons_ui_interfaces_IFlxUIClickable = function() { };
|
|
$hxClasses["flixel.addons.ui.interfaces.IFlxUIClickable"] = flixel_addons_ui_interfaces_IFlxUIClickable;
|
|
flixel_addons_ui_interfaces_IFlxUIClickable.__name__ = "flixel.addons.ui.interfaces.IFlxUIClickable";
|
|
flixel_addons_ui_interfaces_IFlxUIClickable.__isInterface__ = true;
|
|
flixel_addons_ui_interfaces_IFlxUIClickable.prototype = {
|
|
set_skipButtonUpdate: null
|
|
,skipButtonUpdate: null
|
|
,__class__: flixel_addons_ui_interfaces_IFlxUIClickable
|
|
,__properties__: {set_skipButtonUpdate:"set_skipButtonUpdate"}
|
|
};
|
|
var flixel_addons_ui_interfaces_IFlxUIButton = function() { };
|
|
$hxClasses["flixel.addons.ui.interfaces.IFlxUIButton"] = flixel_addons_ui_interfaces_IFlxUIButton;
|
|
flixel_addons_ui_interfaces_IFlxUIButton.__name__ = "flixel.addons.ui.interfaces.IFlxUIButton";
|
|
flixel_addons_ui_interfaces_IFlxUIButton.__isInterface__ = true;
|
|
flixel_addons_ui_interfaces_IFlxUIButton.__interfaces__ = [flixel_util_IFlxDestroyable,flixel_addons_ui_interfaces_IHasParams,flixel_addons_ui_interfaces_IFlxUIWidget];
|
|
flixel_addons_ui_interfaces_IFlxUIButton.prototype = {
|
|
set_toggled: null
|
|
,set_toggle_label: null
|
|
,get_justMousedOver: null
|
|
,get_mouseIsOver: null
|
|
,get_mouseIsOut: null
|
|
,get_justMousedOut: null
|
|
,set_status: null
|
|
,up_color: null
|
|
,over_color: null
|
|
,down_color: null
|
|
,up_toggle_color: null
|
|
,over_toggle_color: null
|
|
,down_toggle_color: null
|
|
,up_visible: null
|
|
,over_visible: null
|
|
,down_visible: null
|
|
,up_toggle_visible: null
|
|
,over_toggle_visible: null
|
|
,down_toggle_visible: null
|
|
,resize_ratio: null
|
|
,resize_point: null
|
|
,has_toggle: null
|
|
,toggled: null
|
|
,toggle_label: null
|
|
,autoResizeLabel: null
|
|
,autoCenterLabel: null
|
|
,loadGraphicSlice9: null
|
|
,loadGraphicsMultiple: null
|
|
,loadGraphicsUpOverDown: null
|
|
,forceStateHandler: null
|
|
,status: null
|
|
,__class__: flixel_addons_ui_interfaces_IFlxUIButton
|
|
,__properties__: {set_status:"set_status",get_justMousedOut:"get_justMousedOut",get_mouseIsOut:"get_mouseIsOut",get_mouseIsOver:"get_mouseIsOver",get_justMousedOver:"get_justMousedOver",set_toggle_label:"set_toggle_label",set_toggled:"set_toggled"}
|
|
};
|
|
var flixel_addons_ui_FlxUITypedButton = function(X,Y,OnClick) {
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
this._centerLabelOffset = null;
|
|
this._src_h = 0;
|
|
this._src_w = 0;
|
|
this._no_graphic = false;
|
|
this._assetsToCleanup = [];
|
|
this._autoCleanup = true;
|
|
this.autoResizeLabel = false;
|
|
this.skipButtonUpdate = false;
|
|
this.round_labels = true;
|
|
this.down_toggle_visible = true;
|
|
this.over_toggle_visible = true;
|
|
this.up_toggle_visible = true;
|
|
this.down_visible = true;
|
|
this.over_visible = true;
|
|
this.up_visible = true;
|
|
this.down_toggle_color = null;
|
|
this.over_toggle_color = null;
|
|
this.up_toggle_color = null;
|
|
this.down_color = null;
|
|
this.over_color = null;
|
|
this.up_color = null;
|
|
this.broadcastToFlxUI = true;
|
|
this.toggled = false;
|
|
this.has_toggle = false;
|
|
this.tile = 0;
|
|
this.resize_point = null;
|
|
this.resize_ratio_axis = 1;
|
|
this.resize_ratio = -1;
|
|
flixel_ui_FlxTypedButton.call(this,X,Y,OnClick);
|
|
var X = 0;
|
|
var Y = 0;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
this._centerLabelOffset = point;
|
|
this.statusAnimations[3] = "normal_toggled";
|
|
this.statusAnimations[4] = "highlight_toggled";
|
|
this.statusAnimations[5] = "pressed_toggled";
|
|
var _g = [];
|
|
_g.push(1);
|
|
_g.push(1);
|
|
_g.push(1);
|
|
this.labelAlphas = _g;
|
|
this.inputOver = new flixel_input_FlxInput(0);
|
|
};
|
|
$hxClasses["flixel.addons.ui.FlxUITypedButton"] = flixel_addons_ui_FlxUITypedButton;
|
|
flixel_addons_ui_FlxUITypedButton.__name__ = "flixel.addons.ui.FlxUITypedButton";
|
|
flixel_addons_ui_FlxUITypedButton.__interfaces__ = [flixel_addons_ui_interfaces_ICursorPointable,flixel_addons_ui_interfaces_IHasParams,flixel_addons_ui_interfaces_IFlxUIClickable,flixel_addons_ui_interfaces_IFlxUIWidget,flixel_addons_ui_interfaces_IResizable,flixel_addons_ui_interfaces_IFlxUIButton];
|
|
flixel_addons_ui_FlxUITypedButton.__super__ = flixel_ui_FlxTypedButton;
|
|
flixel_addons_ui_FlxUITypedButton.prototype = $extend(flixel_ui_FlxTypedButton.prototype,{
|
|
name: null
|
|
,resize_ratio: null
|
|
,resize_ratio_axis: null
|
|
,resize_point: null
|
|
,tile: null
|
|
,has_toggle: null
|
|
,toggled: null
|
|
,set_toggled: function(b) {
|
|
this.toggled = b;
|
|
this.updateStatusAnimation();
|
|
return this.toggled;
|
|
}
|
|
,broadcastToFlxUI: null
|
|
,inputOver: null
|
|
,get_justMousedOver: function() {
|
|
return this.inputOver.current == 2;
|
|
}
|
|
,get_justMousedOut: function() {
|
|
return this.inputOver.current == -1;
|
|
}
|
|
,get_mouseIsOver: function() {
|
|
var _this = this.inputOver;
|
|
if(_this.current != 1) {
|
|
return _this.current == 2;
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
,get_mouseIsOut: function() {
|
|
var _this = this.inputOver;
|
|
if(_this.current != 0) {
|
|
return _this.current == -1;
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
,up_color: null
|
|
,over_color: null
|
|
,down_color: null
|
|
,up_toggle_color: null
|
|
,over_toggle_color: null
|
|
,down_toggle_color: null
|
|
,up_visible: null
|
|
,over_visible: null
|
|
,down_visible: null
|
|
,up_toggle_visible: null
|
|
,over_toggle_visible: null
|
|
,down_toggle_visible: null
|
|
,toggle_label: null
|
|
,set_toggle_label: function(f) {
|
|
if(this.label != null) {
|
|
this.toggle_label = f;
|
|
return this.toggle_label;
|
|
}
|
|
return null;
|
|
}
|
|
,set_visible: function(Value) {
|
|
if(this.visible && Value == false) {
|
|
this.inputOver.release();
|
|
}
|
|
return flixel_ui_FlxTypedButton.prototype.set_visible.call(this,Value);
|
|
}
|
|
,round_labels: null
|
|
,skipButtonUpdate: null
|
|
,set_skipButtonUpdate: function(b) {
|
|
this.skipButtonUpdate = b;
|
|
return this.skipButtonUpdate;
|
|
}
|
|
,params: null
|
|
,set_params: function(p) {
|
|
this.params = p;
|
|
return this.params;
|
|
}
|
|
,destroy: function() {
|
|
this.resize_point = flixel_util_FlxDestroyUtil.put(this.resize_point);
|
|
flixel_ui_FlxTypedButton.prototype.destroy.call(this);
|
|
}
|
|
,autoResizeLabel: null
|
|
,graphicLoaded: function() {
|
|
flixel_ui_FlxTypedButton.prototype.graphicLoaded.call(this);
|
|
this.setupAnimation("normal_toggled",3);
|
|
this.setupAnimation("highlight_toggled",4);
|
|
this.setupAnimation("pressed_toggled",5);
|
|
if(this._autoCleanup) {
|
|
this.cleanup();
|
|
}
|
|
}
|
|
,copyGraphic: function(other) {
|
|
this._src_w = other._src_w;
|
|
this._src_h = other._src_h;
|
|
this._frame_indeces = flixel_addons_ui_U.copy_shallow_arr_i(other._frame_indeces);
|
|
this.tile = other.tile;
|
|
this.resize_ratio = other.resize_ratio;
|
|
if(other._centerLabelOffset == null) {
|
|
this._centerLabelOffset = null;
|
|
} else {
|
|
this._centerLabelOffset = new flixel_math_FlxPoint(other._centerLabelOffset.x,other._centerLabelOffset.y);
|
|
}
|
|
this._no_graphic = other._no_graphic;
|
|
if(other._slice9_arrays != null) {
|
|
this._slice9_arrays = other._slice9_arrays.slice();
|
|
}
|
|
if(other._slice9_assets != null) {
|
|
this._slice9_assets = other._slice9_assets.slice();
|
|
}
|
|
if(this._slice9_arrays == null || this._slice9_assets == null) {
|
|
this.loadGraphic(other.graphic,true,other.get_width(),other.get_height());
|
|
} else {
|
|
this.resize(other.get_width(),other.get_height());
|
|
}
|
|
}
|
|
,copyStyle: function(other) {
|
|
this.up_color = other.up_color;
|
|
this.over_color = other.over_color;
|
|
this.down_color = other.down_color;
|
|
this.up_toggle_color = other.up_toggle_color;
|
|
this.over_toggle_color = other.over_toggle_color;
|
|
this.down_toggle_color = other.over_toggle_color;
|
|
this.up_visible = other.up_visible;
|
|
this.over_visible = other.over_visible;
|
|
this.down_visible = other.down_visible;
|
|
this.up_toggle_visible = other.up_toggle_visible;
|
|
this.over_toggle_visible = other.over_toggle_visible;
|
|
this.down_toggle_visible = other.down_toggle_visible;
|
|
var ctPt = other.getCenterLabelOffset();
|
|
this.setCenterLabelOffset(ctPt.x,ctPt.y);
|
|
var i = 0;
|
|
var _g = 0;
|
|
var _g1 = other.labelOffsets;
|
|
while(_g < _g1.length) {
|
|
var flxPt = _g1[_g];
|
|
++_g;
|
|
this.labelOffsets[i].set_x(flxPt.x);
|
|
this.labelOffsets[i].set_y(flxPt.y);
|
|
++i;
|
|
}
|
|
i = 0;
|
|
var _g = 0;
|
|
var _g1 = other.labelAlphas;
|
|
while(_g < _g1.length) {
|
|
var alpha = _g1[_g];
|
|
++_g;
|
|
this.labelAlphas[i] = alpha;
|
|
++i;
|
|
}
|
|
}
|
|
,setAllLabelOffsets: function(X,Y) {
|
|
var _g = 0;
|
|
var _g1 = this.labelOffsets;
|
|
while(_g < _g1.length) {
|
|
var labelOffset = _g1[_g];
|
|
++_g;
|
|
labelOffset.set(X,Y);
|
|
}
|
|
}
|
|
,update: function(elapsed) {
|
|
flixel_ui_FlxTypedButton.prototype.update.call(this,elapsed);
|
|
var tmp;
|
|
if(this.status == 0) {
|
|
var _this = this.inputOver;
|
|
tmp = _this.current == 1 || _this.current == 2;
|
|
} else {
|
|
tmp = false;
|
|
}
|
|
if(tmp && this.input.current == -1 == false) {
|
|
this.inputOver.release();
|
|
}
|
|
this.inputOver.update();
|
|
if(this.label != null) {
|
|
var theLabel = this.fetchAndShowCorrectLabel();
|
|
theLabel.set_x(this.x + this._centerLabelOffset.x + this.labelOffsets[this.status].x);
|
|
theLabel.set_y(this.y + this._centerLabelOffset.y + this.labelOffsets[this.status].y);
|
|
if(this.round_labels) {
|
|
theLabel.set_x(theLabel.x + 0.5 | 0);
|
|
theLabel.set_y(theLabel.y + 0.5 | 0);
|
|
}
|
|
theLabel.scrollFactor = this.scrollFactor;
|
|
}
|
|
}
|
|
,updateStatusAnimation: function() {
|
|
if(this.has_toggle && this.toggled) {
|
|
this.animation.play(this.statusAnimations[this.status + 3]);
|
|
} else {
|
|
flixel_ui_FlxTypedButton.prototype.updateStatusAnimation.call(this);
|
|
}
|
|
}
|
|
,draw: function() {
|
|
flixel_ui_FlxTypedButton.prototype.draw.call(this);
|
|
if(this.has_toggle && this.toggled && this.toggle_label != null && this.toggle_label.visible == true) {
|
|
this.toggle_label.set_cameras(this.get_cameras());
|
|
this.toggle_label.draw();
|
|
}
|
|
}
|
|
,resize: function(W,H) {
|
|
this.doResize(W,H);
|
|
}
|
|
,doResize: function(W,H,Redraw) {
|
|
if(Redraw == null) {
|
|
Redraw = true;
|
|
}
|
|
var old_width = this.get_width();
|
|
var old_height = this.get_height();
|
|
var label_diffx = 0;
|
|
var label_diffy = 0;
|
|
if(this.label != null) {
|
|
label_diffx = this.get_width() - this._spriteLabel.get_width();
|
|
label_diffy = this.get_height() - this._spriteLabel.get_height();
|
|
}
|
|
if(W <= 0) {
|
|
W = 80;
|
|
}
|
|
if(H <= 0) {
|
|
H = 20;
|
|
}
|
|
if(Redraw) {
|
|
if(this._slice9_assets != null) {
|
|
this.loadGraphicSlice9(this._slice9_assets,W | 0,H | 0,this._slice9_arrays,this.tile,this.resize_ratio,this.has_toggle,this._src_w,this._src_h,this._frame_indeces);
|
|
} else if(this._no_graphic) {
|
|
var upB;
|
|
if(!this.has_toggle) {
|
|
upB = new openfl_display_BitmapData(W | 0,H * 3 | 0,true,0);
|
|
} else {
|
|
upB = new openfl_display_BitmapData(W | 0,H * 6 | 0,true,0);
|
|
}
|
|
this.loadGraphicsUpOverDown(upB);
|
|
} else {
|
|
this.loadGraphicSlice9(null,W | 0,H | 0,null,this.tile);
|
|
}
|
|
}
|
|
if(this.label != null && this.autoResizeLabel) {
|
|
if(js_Boot.__implements(this.label,flixel_addons_ui_interfaces_IResizable)) {
|
|
var targetW = W - label_diffx;
|
|
var targetH = H - label_diffy;
|
|
var ir = this.label;
|
|
ir.resize(targetW,targetH);
|
|
}
|
|
}
|
|
this.autoCenterLabel();
|
|
var diff_w = this.get_width() - old_width;
|
|
var diff_h = this.get_height() - old_height;
|
|
if(this.resize_point != null) {
|
|
var delta_x = diff_w * this.resize_point.x;
|
|
var delta_y = diff_h * this.resize_point.y;
|
|
var _g = this;
|
|
_g.set_x(_g.x - delta_x);
|
|
var _g = this;
|
|
_g.set_y(_g.y - delta_y);
|
|
}
|
|
}
|
|
,getBmp: function(asset) {
|
|
return flixel_addons_ui_U.getBmp(asset);
|
|
}
|
|
,loadGraphicsMultiple: function(assets,Key) {
|
|
if(Key == null) {
|
|
Key = "";
|
|
}
|
|
this._slice9_assets = null;
|
|
this._slice9_arrays = null;
|
|
this.resize_ratio = -1;
|
|
var key = "";
|
|
if(assets.length <= 3) {
|
|
while(assets.length < 3) assets.push(null);
|
|
if(assets[1] == null) {
|
|
assets[1] = assets[0];
|
|
}
|
|
if(assets[2] == null) {
|
|
assets[2] = assets[1];
|
|
}
|
|
key = assets.join(",");
|
|
if(Key != "") {
|
|
key = Key;
|
|
}
|
|
if(flixel_FlxG.bitmap._cache.h[key] != null) {
|
|
this.loadGraphicsUpOverDown(key,false,key);
|
|
} else {
|
|
var pixels = this.assembleButtonFrames(this.getBmp(assets[0]),this.getBmp(assets[1]),this.getBmp(assets[2]));
|
|
this.loadGraphicsUpOverDown(pixels,false,key);
|
|
}
|
|
} else if(assets.length <= 6) {
|
|
while(assets.length < 6) assets.push(null);
|
|
if(assets[4] == null) {
|
|
assets[4] = assets[3];
|
|
}
|
|
if(assets[5] == null) {
|
|
assets[5] = assets[4];
|
|
}
|
|
key = assets.join(",");
|
|
if(Key != "") {
|
|
key = Key;
|
|
}
|
|
if(flixel_FlxG.bitmap._cache.h[key] != null) {
|
|
this.loadGraphicsUpOverDown(key,true,key);
|
|
} else {
|
|
var pixels_normal = this.assembleButtonFrames(this.getBmp(assets[0]),this.getBmp(assets[1]),this.getBmp(assets[2]));
|
|
var pixels_toggle = this.assembleButtonFrames(this.getBmp(assets[3]),this.getBmp(assets[4]),this.getBmp(assets[5]));
|
|
var pixels = this.combineToggleBitmaps(pixels_normal,pixels_toggle);
|
|
this.loadGraphicsUpOverDown(pixels,true,key);
|
|
pixels_normal.dispose();
|
|
pixels_toggle.dispose();
|
|
}
|
|
}
|
|
}
|
|
,loadGraphicsUpOverDown: function(asset,for_toggle,key) {
|
|
if(for_toggle == null) {
|
|
for_toggle = false;
|
|
}
|
|
this._slice9_assets = null;
|
|
this._slice9_arrays = null;
|
|
this.resize_ratio = -1;
|
|
if(for_toggle) {
|
|
this.has_toggle = true;
|
|
}
|
|
var upB = null;
|
|
var overB = null;
|
|
var downB = null;
|
|
var bd = null;
|
|
if(((asset) instanceof openfl_display_BitmapData)) {
|
|
bd = asset;
|
|
} else if(typeof(asset) == "string") {
|
|
bd = this.getBmp(asset);
|
|
}
|
|
upB = this.grabButtonFrame(bd,0,this.has_toggle,0,0,key);
|
|
overB = this.grabButtonFrame(bd,1,this.has_toggle,0,0,key);
|
|
downB = this.grabButtonFrame(bd,2,this.has_toggle,0,0,key);
|
|
var normalGraphic = key;
|
|
if(key == null || key == "" || flixel_FlxG.bitmap._cache.h[key] != null == false) {
|
|
normalGraphic = this.assembleButtonFrames(upB,overB,downB);
|
|
}
|
|
if(this.has_toggle) {
|
|
var normalPixels = this.assembleButtonFrames(upB,overB,downB);
|
|
upB = this.grabButtonFrame(bd,3,true,0,0,key);
|
|
overB = this.grabButtonFrame(bd,4,true,0,0,key);
|
|
downB = this.grabButtonFrame(bd,5,true,0,0,key);
|
|
var togglePixels = this.assembleButtonFrames(upB,overB,downB);
|
|
var combinedPixels = this.combineToggleBitmaps(normalPixels,togglePixels);
|
|
normalPixels = flixel_util_FlxDestroyUtil.dispose(normalPixels);
|
|
togglePixels = flixel_util_FlxDestroyUtil.dispose(togglePixels);
|
|
this.loadGraphic(combinedPixels,true,upB.width,upB.height,false,key);
|
|
} else {
|
|
this.loadGraphic(normalGraphic,true,upB.width,upB.height,false,key);
|
|
}
|
|
}
|
|
,loadGraphicSlice9: function(assets,W,H,slice9,Tile,Resize_Ratio,isToggle,src_w,src_h,frame_indeces) {
|
|
if(src_h == null) {
|
|
src_h = 0;
|
|
}
|
|
if(src_w == null) {
|
|
src_w = 0;
|
|
}
|
|
if(isToggle == null) {
|
|
isToggle = false;
|
|
}
|
|
if(Resize_Ratio == null) {
|
|
Resize_Ratio = -1;
|
|
}
|
|
if(Tile == null) {
|
|
Tile = 0;
|
|
}
|
|
if(H == null) {
|
|
H = 20;
|
|
}
|
|
if(W == null) {
|
|
W = 80;
|
|
}
|
|
if(src_w != 0) {
|
|
this._src_w = src_w;
|
|
}
|
|
if(src_h != 0) {
|
|
this._src_h = src_h;
|
|
}
|
|
this.tile = Tile;
|
|
this.has_toggle = isToggle;
|
|
this.resize_ratio = Resize_Ratio;
|
|
this._slice9_assets = assets;
|
|
this._slice9_arrays = slice9;
|
|
var key = "";
|
|
var arr_bmpData = [];
|
|
var arr_flx9 = [];
|
|
if(frame_indeces == null) {
|
|
if(this.has_toggle) {
|
|
frame_indeces = [0,1,2,3,4,5];
|
|
} else {
|
|
frame_indeces = [0,1,2];
|
|
}
|
|
} else {
|
|
var max_index = 2;
|
|
if(this.has_toggle) {
|
|
max_index = 5;
|
|
}
|
|
while(frame_indeces.length < max_index + 1) frame_indeces.push(frame_indeces.length - 1);
|
|
var _g = 0;
|
|
var _g1 = frame_indeces.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(frame_indeces[i] > 5) {
|
|
frame_indeces[i] = 5;
|
|
} else if(frame_indeces[i] < 0) {
|
|
frame_indeces[i] = 0;
|
|
}
|
|
}
|
|
}
|
|
this._frame_indeces = frame_indeces;
|
|
if(W == 0) {
|
|
W = 80;
|
|
}
|
|
if(H == 0) {
|
|
H = 20;
|
|
}
|
|
var pt = flixel_addons_ui_U.applyResize(this.resize_ratio,this.resize_ratio_axis,W,H);
|
|
W = pt.x | 0;
|
|
H = pt.y | 0;
|
|
if(assets == null) {
|
|
var temp;
|
|
if(!isToggle) {
|
|
assets = ["flixel/flixel-ui/img/button.png"];
|
|
slice9 = [flixel_util_FlxStringUtil.toIntArray("6,6,11,11")];
|
|
temp = this.getBmp(assets[0]);
|
|
this._src_w = temp.width | 0;
|
|
this._src_h = temp.height / 3 | 0;
|
|
} else {
|
|
assets = ["flixel/flixel-ui/img/button_toggle.png"];
|
|
slice9 = [flixel_util_FlxStringUtil.toIntArray("6,6,11,11")];
|
|
temp = this.getBmp(assets[0]);
|
|
this._src_w = temp.width | 0;
|
|
this._src_h = temp.height / 6 | 0;
|
|
}
|
|
temp = null;
|
|
}
|
|
if(!this.has_toggle && assets.length <= 3) {
|
|
arr_bmpData = [null,null,null];
|
|
arr_flx9 = [null,null,null];
|
|
} else {
|
|
this.has_toggle = true;
|
|
arr_bmpData = [null,null,null,null,null,null];
|
|
arr_flx9 = [null,null,null,null,null,null];
|
|
}
|
|
this._flashRect2.width = W;
|
|
this._flashRect2.height = H;
|
|
var midKey = key += Std.string(assets) + "_slice9=" + Std.string(slice9) + "_src=" + this._src_w + "x" + this._src_h;
|
|
key += "_final=" + W + "x" + H + "_fi=" + Std.string(this._frame_indeces);
|
|
if(assets.length == 1) {
|
|
var all = this.getBmp(assets[0]);
|
|
var keySuffix = "_all";
|
|
if(this._src_w == 0 || this._src_h == 0) {
|
|
throw haxe_Exception.thrown(new openfl_errors_Error("Ambiguous situation! If you only provide one asset, you MUST provide src_w and src_h. Otherwise I can't tell if it's a stacked set of frames or a single frame."));
|
|
}
|
|
var multiFrame = all.height > this._src_h;
|
|
keySuffix += multiFrame ? "_multiframe" : "";
|
|
key += keySuffix;
|
|
midKey += keySuffix;
|
|
if(flixel_FlxG.bitmap._cache.h[key] != null) {
|
|
this.loadGraphic(key,true,W,H);
|
|
return;
|
|
}
|
|
if(multiFrame) {
|
|
var _g = 0;
|
|
var _g1 = arr_bmpData.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
arr_bmpData[i] = this.grabButtonFrame(all,i,this.has_toggle,this._src_w,this._src_h,midKey);
|
|
}
|
|
if(slice9 != null && slice9[0] != []) {
|
|
var _g = 0;
|
|
var _g1 = arr_bmpData.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
arr_flx9[i] = new flixel_addons_ui_FlxUI9SliceSprite(0,0,arr_bmpData[i],this._flashRect2,slice9[0],this.tile,false,assets[0] + ":" + i,this.resize_ratio);
|
|
arr_flx9[i].set_resize_point(this.resize_point);
|
|
}
|
|
var _g = 0;
|
|
var _g1 = arr_bmpData.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
arr_bmpData[i] = arr_flx9[i].get_pixels();
|
|
}
|
|
W = arr_bmpData[0].width;
|
|
H = arr_bmpData[0].height;
|
|
}
|
|
} else {
|
|
arr_bmpData[0] = all;
|
|
}
|
|
} else {
|
|
if(flixel_FlxG.bitmap._cache.h[key] != null) {
|
|
this.loadGraphic(key,true,W,H);
|
|
return;
|
|
}
|
|
if(!this.has_toggle) {
|
|
while(assets.length < 3) assets.push("");
|
|
} else {
|
|
while(assets.length < 6) assets.push("");
|
|
}
|
|
if(assets[0] != "") {
|
|
if(slice9 != null && slice9.length > 0 && slice9[0] != null && slice9[0].length > 0) {
|
|
while(slice9.length < assets.length) slice9.push(null);
|
|
if(slice9[0] != null) {
|
|
arr_flx9[0] = new flixel_addons_ui_FlxUI9SliceSprite(0,0,assets[0],this._flashRect2,slice9[0],this.tile,false,"",this.resize_ratio);
|
|
} else {
|
|
arr_flx9[0] = new flixel_addons_ui_FlxUISprite(0,0,assets[0]);
|
|
}
|
|
arr_bmpData[0] = arr_flx9[0].get_pixels();
|
|
var _g = 1;
|
|
var _g1 = assets.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(assets[i] != "") {
|
|
if(slice9[i] != null) {
|
|
arr_flx9[i] = new flixel_addons_ui_FlxUI9SliceSprite(0,0,assets[i],this._flashRect2,slice9[i],this.tile,false,"",this.resize_ratio);
|
|
} else {
|
|
arr_flx9[i] = new flixel_addons_ui_FlxUISprite(0,0,assets[i]);
|
|
}
|
|
arr_bmpData[i] = arr_flx9[i].get_pixels();
|
|
}
|
|
}
|
|
W = arr_bmpData[0].width;
|
|
H = arr_bmpData[0].height;
|
|
} else {
|
|
var _g = 0;
|
|
var _g1 = assets.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
arr_bmpData[i] = this.getBmp(assets[i]);
|
|
}
|
|
W = arr_bmpData[0].width;
|
|
H = arr_bmpData[0].height;
|
|
}
|
|
} else {
|
|
if(W == 0) {
|
|
W = 80;
|
|
}
|
|
if(H == 0) {
|
|
H = 20;
|
|
}
|
|
arr_bmpData[0] = new openfl_display_BitmapData(W,H * 3,true,0);
|
|
this._no_graphic = true;
|
|
}
|
|
}
|
|
var normalPixels = null;
|
|
if(!this.has_toggle) {
|
|
normalPixels = this.assembleButtonFrames(arr_bmpData[frame_indeces[0]],arr_bmpData[frame_indeces[1]],arr_bmpData[frame_indeces[2]]);
|
|
flixel_FlxG.bitmap.add(normalPixels,true,key);
|
|
this.loadGraphic(key,true,W,H);
|
|
} else {
|
|
var normalPixels = this.assembleButtonFrames(arr_bmpData[frame_indeces[0]],arr_bmpData[frame_indeces[1]],arr_bmpData[frame_indeces[2]]);
|
|
var togglePixels = this.assembleButtonFrames(arr_bmpData[frame_indeces[3]],arr_bmpData[frame_indeces[4]],arr_bmpData[frame_indeces[5]]);
|
|
var combinedPixels = this.combineToggleBitmaps(normalPixels,togglePixels);
|
|
normalPixels = flixel_util_FlxDestroyUtil.dispose(normalPixels);
|
|
togglePixels = flixel_util_FlxDestroyUtil.dispose(togglePixels);
|
|
flixel_FlxG.bitmap.add(combinedPixels,true,key);
|
|
this.loadGraphic(key,true,W,H);
|
|
}
|
|
var _g = 0;
|
|
var _g1 = arr_flx9.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(arr_flx9[i] != null) {
|
|
arr_flx9[i].destroy();
|
|
arr_flx9[i] = null;
|
|
}
|
|
}
|
|
while(arr_flx9.length > 0) arr_flx9.pop();
|
|
arr_flx9 = null;
|
|
while(arr_bmpData.length > 0) arr_bmpData.pop();
|
|
arr_bmpData = null;
|
|
}
|
|
,autoCenterLabel: function() {
|
|
if(this.label != null) {
|
|
var offX = 0;
|
|
var offY = 0;
|
|
offX = this.get_width() - this._spriteLabel.get_width();
|
|
if(((this.label) instanceof flixel_addons_ui_FlxUIText)) {
|
|
var tlabel = this.label;
|
|
offX = (this.get_width() - tlabel.get_fieldWidth()) / 2;
|
|
offY = (this.get_height() - tlabel.get_height()) / 2;
|
|
} else {
|
|
offX = (this.get_width() - this._spriteLabel.get_width()) / 2;
|
|
offY = (this.get_height() - this._spriteLabel.get_height()) / 2;
|
|
}
|
|
this._centerLabelOffset.set_x(offX);
|
|
this._centerLabelOffset.set_y(offY);
|
|
}
|
|
}
|
|
,setCenterLabelOffset: function(X,Y) {
|
|
this._centerLabelOffset.set_x(X);
|
|
this._centerLabelOffset.set_y(Y);
|
|
}
|
|
,getCenterLabelOffset: function() {
|
|
var X = this._centerLabelOffset.x;
|
|
var Y = this._centerLabelOffset.y;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
return point;
|
|
}
|
|
,forceStateHandler: function(event) {
|
|
switch(event) {
|
|
case "click_button":
|
|
this.onUpHandler();
|
|
break;
|
|
case "down_button":
|
|
this.onDownHandler();
|
|
break;
|
|
case "out_button":
|
|
this.onOutHandler();
|
|
break;
|
|
case "over_button":
|
|
this.onOverHandler();
|
|
break;
|
|
}
|
|
}
|
|
,grabButtonFrame: function(all_frames,button_state,for_toggle,src_w,src_h,key) {
|
|
if(src_h == null) {
|
|
src_h = 0;
|
|
}
|
|
if(src_w == null) {
|
|
src_w = 0;
|
|
}
|
|
if(for_toggle == null) {
|
|
for_toggle = false;
|
|
}
|
|
var h = src_h;
|
|
if(h == 0) {
|
|
if(!for_toggle) {
|
|
h = all_frames.height / 3 | 0;
|
|
} else {
|
|
h = all_frames.height / 6 | 0;
|
|
}
|
|
}
|
|
var w = src_w;
|
|
if(w == 0) {
|
|
w = all_frames.width;
|
|
}
|
|
this._flashRect.x = 0;
|
|
this._flashRect.y = button_state * h;
|
|
this._flashRect.width = w;
|
|
this._flashRect.height = h;
|
|
if(this._flashRect.y >= all_frames.height) {
|
|
var framesHigh = all_frames.height / h | 0;
|
|
if(framesHigh == 4) {
|
|
if(button_state == 4) {
|
|
this._flashRect.y = 3 * h;
|
|
} else if(button_state == 5) {
|
|
this._flashRect.y = 2 * h;
|
|
}
|
|
}
|
|
}
|
|
var frameKey = key + "{x:" + this._flashRect.x + "y:" + this._flashRect.y + "w:" + this._flashRect.width + "h:" + this._flashRect.height + "}";
|
|
if(frameKey != null) {
|
|
if(flixel_FlxG.bitmap._cache.h[frameKey] != null) {
|
|
return flixel_FlxG.bitmap._cache.h[frameKey].bitmap;
|
|
}
|
|
}
|
|
var pixels = new openfl_display_BitmapData(w,h);
|
|
pixels.copyPixels(all_frames,this._flashRect,this._flashPointZero);
|
|
if(key != null) {
|
|
flixel_FlxG.bitmap.add(pixels,true,frameKey);
|
|
this.addToCleanup(frameKey);
|
|
}
|
|
return pixels;
|
|
}
|
|
,combineToggleBitmaps: function(normal,toggle) {
|
|
var combined = new openfl_display_BitmapData(normal.width,normal.height + toggle.height);
|
|
combined.copyPixels(normal,normal.rect,this._flashPointZero);
|
|
this._flashPoint.x = 0;
|
|
this._flashPoint.y = normal.height;
|
|
combined.copyPixels(toggle,toggle.rect,this._flashPoint);
|
|
return combined;
|
|
}
|
|
,assembleButtonFrames: function(upB,overB,downB) {
|
|
var pixels;
|
|
if(overB != null) {
|
|
if(downB != null) {
|
|
pixels = new openfl_display_BitmapData(upB.width,upB.height * 3);
|
|
} else {
|
|
pixels = new openfl_display_BitmapData(upB.width,upB.height * 2);
|
|
}
|
|
} else {
|
|
pixels = new openfl_display_BitmapData(upB.width,upB.height);
|
|
}
|
|
pixels.copyPixels(upB,upB.rect,this._flashPointZero);
|
|
if(overB != null) {
|
|
this._flashPoint.x = 0;
|
|
this._flashPoint.y = upB.height;
|
|
pixels.copyPixels(overB,overB.rect,this._flashPoint);
|
|
if(downB != null) {
|
|
this._flashPoint.y = upB.height * 2;
|
|
pixels.copyPixels(downB,downB.rect,this._flashPoint);
|
|
}
|
|
}
|
|
return pixels;
|
|
}
|
|
,updateButton: function() {
|
|
if(!this.skipButtonUpdate) {
|
|
flixel_ui_FlxTypedButton.prototype.updateButton.call(this);
|
|
}
|
|
}
|
|
,addToCleanup: function(str) {
|
|
if(this._assetsToCleanup == null) {
|
|
this._assetsToCleanup = [];
|
|
}
|
|
if(this._assetsToCleanup.indexOf(str) == -1) {
|
|
this._assetsToCleanup.push(str);
|
|
}
|
|
}
|
|
,cleanup: function() {
|
|
if(this._assetsToCleanup == null) {
|
|
return;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this._assetsToCleanup;
|
|
while(_g < _g1.length) {
|
|
var key = _g1[_g];
|
|
++_g;
|
|
flixel_FlxG.bitmap.removeByKey(key);
|
|
}
|
|
this._assetsToCleanup = null;
|
|
}
|
|
,fetchAndShowCorrectLabel: function() {
|
|
if(this.has_toggle) {
|
|
if(this.toggled && this.toggle_label != null) {
|
|
this._spriteLabel.set_visible(false);
|
|
this.toggle_label.set_visible(true);
|
|
return this.toggle_label;
|
|
} else {
|
|
if(this.toggle_label != null) {
|
|
this.toggle_label.set_visible(false);
|
|
}
|
|
this._spriteLabel.set_visible(true);
|
|
return this.label;
|
|
}
|
|
}
|
|
return this.label;
|
|
}
|
|
,onUpHandler: function() {
|
|
if(this.has_toggle) {
|
|
this.set_toggled(!this.toggled);
|
|
}
|
|
flixel_ui_FlxTypedButton.prototype.onUpHandler.call(this);
|
|
if(this.label != null) {
|
|
var theLabel = this.fetchAndShowCorrectLabel();
|
|
theLabel.set_visible(this.toggled ? this.up_toggle_visible : this.up_visible);
|
|
var thecol = this.toggled ? this.up_toggle_color : this.up_color;
|
|
if(thecol != null) {
|
|
theLabel.set_color(thecol);
|
|
}
|
|
}
|
|
if(this.broadcastToFlxUI) {
|
|
flixel_addons_ui_FlxUI.event("click_button",this,null,this.params);
|
|
}
|
|
}
|
|
,onDownHandler: function() {
|
|
flixel_ui_FlxTypedButton.prototype.onDownHandler.call(this);
|
|
if(this.label != null) {
|
|
var theLabel = this.fetchAndShowCorrectLabel();
|
|
theLabel.set_visible(this.toggled ? this.down_toggle_visible : this.down_visible);
|
|
var thecol = this.toggled ? this.down_toggle_color : this.down_color;
|
|
if(thecol != null) {
|
|
theLabel.set_color(thecol);
|
|
}
|
|
}
|
|
if(this.broadcastToFlxUI) {
|
|
flixel_addons_ui_FlxUI.event("down_button",this,null,this.params);
|
|
}
|
|
}
|
|
,onOverHandler: function() {
|
|
flixel_ui_FlxTypedButton.prototype.onOverHandler.call(this);
|
|
this.inputOver.press();
|
|
if(this.label != null) {
|
|
var theLabel = this.fetchAndShowCorrectLabel();
|
|
theLabel.set_visible(this.toggled ? this.over_toggle_visible : this.over_visible);
|
|
var thecol = this.toggled ? this.over_toggle_color : this.over_color;
|
|
if(thecol != null) {
|
|
theLabel.set_color(thecol);
|
|
}
|
|
}
|
|
if(this.broadcastToFlxUI) {
|
|
flixel_addons_ui_FlxUI.event("over_button",this,null,this.params);
|
|
}
|
|
}
|
|
,onOutHandler: function() {
|
|
flixel_ui_FlxTypedButton.prototype.onOutHandler.call(this);
|
|
this.inputOver.release();
|
|
if(this.label != null) {
|
|
var theLabel = this.fetchAndShowCorrectLabel();
|
|
theLabel.set_visible(this.toggled ? this.up_toggle_visible : this.up_visible);
|
|
var thecol = this.toggled ? this.up_toggle_color : this.up_color;
|
|
if(thecol != null) {
|
|
theLabel.set_color(thecol);
|
|
}
|
|
}
|
|
if(this.broadcastToFlxUI) {
|
|
flixel_addons_ui_FlxUI.event("out_button",this,null,this.params);
|
|
}
|
|
}
|
|
,set_x: function(NewX) {
|
|
flixel_ui_FlxTypedButton.prototype.set_x.call(this,NewX);
|
|
if(this._spriteLabel != null) {
|
|
this._spriteLabel.set_x(this.x + this._centerLabelOffset.x + this.labelOffsets[this.status].x);
|
|
if(this.round_labels) {
|
|
this._spriteLabel.set_x(this._spriteLabel.x + 0.5 | 0);
|
|
}
|
|
if(this.has_toggle && this.toggle_label != null) {
|
|
this.toggle_label.set_x(this._spriteLabel.x);
|
|
}
|
|
}
|
|
return NewX;
|
|
}
|
|
,set_y: function(NewY) {
|
|
flixel_ui_FlxTypedButton.prototype.set_y.call(this,NewY);
|
|
if(this.label != null) {
|
|
this._spriteLabel.set_y(this.y + this._centerLabelOffset.y + this.labelOffsets[this.status].y);
|
|
if(this.round_labels) {
|
|
this._spriteLabel.set_y(this._spriteLabel.y + 0.5 | 0);
|
|
}
|
|
if(this.has_toggle && this.toggle_label != null) {
|
|
this.toggle_label.set_y(this._spriteLabel.y);
|
|
}
|
|
}
|
|
return NewY;
|
|
}
|
|
,_autoCleanup: null
|
|
,_assetsToCleanup: null
|
|
,_no_graphic: null
|
|
,_src_w: null
|
|
,_src_h: null
|
|
,_frame_indeces: null
|
|
,_slice9_arrays: null
|
|
,_slice9_assets: null
|
|
,_centerLabelOffset: null
|
|
,__class__: flixel_addons_ui_FlxUITypedButton
|
|
,__properties__: $extend(flixel_ui_FlxTypedButton.prototype.__properties__,{set_params:"set_params",set_skipButtonUpdate:"set_skipButtonUpdate",set_toggle_label:"set_toggle_label",get_justMousedOut:"get_justMousedOut",get_mouseIsOut:"get_mouseIsOut",get_mouseIsOver:"get_mouseIsOver",get_justMousedOver:"get_justMousedOver",set_toggled:"set_toggled"})
|
|
});
|
|
var flixel_addons_ui_interfaces_ILabeled = function() { };
|
|
$hxClasses["flixel.addons.ui.interfaces.ILabeled"] = flixel_addons_ui_interfaces_ILabeled;
|
|
flixel_addons_ui_interfaces_ILabeled.__name__ = "flixel.addons.ui.interfaces.ILabeled";
|
|
flixel_addons_ui_interfaces_ILabeled.__isInterface__ = true;
|
|
flixel_addons_ui_interfaces_ILabeled.prototype = {
|
|
getLabel: null
|
|
,setLabel: null
|
|
,__class__: flixel_addons_ui_interfaces_ILabeled
|
|
};
|
|
var flixel_addons_ui_FlxUIButton = function(X,Y,Label,OnClick,LoadDefaultGraphics,LoadBlank,Color) {
|
|
if(Color == null) {
|
|
Color = -1;
|
|
}
|
|
if(LoadBlank == null) {
|
|
LoadBlank = false;
|
|
}
|
|
if(LoadDefaultGraphics == null) {
|
|
LoadDefaultGraphics = true;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
this.down_toggle_style = null;
|
|
this.over_toggle_style = null;
|
|
this.up_toggle_style = null;
|
|
this.down_style = null;
|
|
this.over_style = null;
|
|
this.up_style = null;
|
|
flixel_addons_ui_FlxUITypedButton.call(this,X,Y,OnClick);
|
|
this.set_color(Color);
|
|
if(Label != null) {
|
|
this.set_label(new flixel_addons_ui_FlxUIText(0,0,80,Label,8));
|
|
this.label.setFormat(null,8,3355443,"center");
|
|
}
|
|
if(LoadBlank) {
|
|
this._no_graphic = true;
|
|
}
|
|
if(LoadDefaultGraphics) {
|
|
this.resize(this.get_width(),this.get_height());
|
|
} else if(this._no_graphic == false) {
|
|
this.doResize(this.get_width(),this.get_height(),false);
|
|
} else {
|
|
this.doResize(this.get_width(),this.get_height(),true);
|
|
}
|
|
};
|
|
$hxClasses["flixel.addons.ui.FlxUIButton"] = flixel_addons_ui_FlxUIButton;
|
|
flixel_addons_ui_FlxUIButton.__name__ = "flixel.addons.ui.FlxUIButton";
|
|
flixel_addons_ui_FlxUIButton.__interfaces__ = [flixel_addons_ui_interfaces_IFlxUIButton,flixel_addons_ui_interfaces_ILabeled];
|
|
flixel_addons_ui_FlxUIButton.__super__ = flixel_addons_ui_FlxUITypedButton;
|
|
flixel_addons_ui_FlxUIButton.prototype = $extend(flixel_addons_ui_FlxUITypedButton.prototype,{
|
|
_noIconGraphicsBkup: null
|
|
,up_style: null
|
|
,over_style: null
|
|
,down_style: null
|
|
,up_toggle_style: null
|
|
,over_toggle_style: null
|
|
,down_toggle_style: null
|
|
,setLabelFormat: function(Font,Size,Color,Alignment,BorderStyle,BorderColor,Embedded) {
|
|
if(Embedded == null) {
|
|
Embedded = true;
|
|
}
|
|
if(BorderColor == null) {
|
|
BorderColor = 0;
|
|
}
|
|
if(Color == null) {
|
|
Color = -1;
|
|
}
|
|
if(Size == null) {
|
|
Size = 8;
|
|
}
|
|
if(this.label != null) {
|
|
this.label.setFormat(Font,Size,Color,Alignment,BorderStyle,BorderColor,Embedded);
|
|
return this.label;
|
|
}
|
|
return null;
|
|
}
|
|
,autoCenterLabel: function() {
|
|
flixel_addons_ui_FlxUITypedButton.prototype.autoCenterLabel.call(this);
|
|
}
|
|
,clone: function() {
|
|
var newButton = new flixel_addons_ui_FlxUIButton(0,0,this.label == null ? null : this.label.text,this.onUp.callback,false);
|
|
newButton.copyGraphic(this);
|
|
newButton.copyStyle(this);
|
|
return newButton;
|
|
}
|
|
,copyStyle: function(other) {
|
|
flixel_addons_ui_FlxUITypedButton.prototype.copyStyle.call(this,other);
|
|
if(((other) instanceof flixel_addons_ui_FlxUIButton)) {
|
|
var fuib = other;
|
|
this.up_style = fuib.up_style;
|
|
this.over_style = fuib.over_style;
|
|
this.down_style = fuib.down_style;
|
|
this.up_toggle_style = fuib.up_toggle_style;
|
|
this.over_toggle_style = fuib.over_toggle_style;
|
|
this.down_toggle_style = fuib.down_toggle_style;
|
|
var t = fuib.label;
|
|
var tf = t.textField.get_defaultTextFormat();
|
|
if(t._font.indexOf(flixel_system_FlxAssets.FONT_DEFAULT) == -1) {
|
|
var fd = flixel_addons_ui_FontDef.copyFromFlxText(t);
|
|
fd.apply(null,this.label);
|
|
} else {
|
|
var flxAlign = flixel_text_FlxTextAlign.fromOpenFL(tf.align);
|
|
this.label.setFormat(null,tf.size | 0,tf.color,flxAlign,t.borderStyle,t.borderColor,t.textField.set_embedFonts(true));
|
|
}
|
|
}
|
|
}
|
|
,setLabel: function(t) {
|
|
this.set_label(t);
|
|
return this.label;
|
|
}
|
|
,getLabel: function() {
|
|
return this.label;
|
|
}
|
|
,resize: function(W,H) {
|
|
flixel_addons_ui_FlxUITypedButton.prototype.resize.call(this,W,H);
|
|
}
|
|
,addIcon: function(icon,X,Y,center) {
|
|
if(center == null) {
|
|
center = true;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
this._noIconGraphicsBkup = this.graphic.bitmap.clone();
|
|
var newBmp = this._noIconGraphicsBkup.clone();
|
|
var key = this.graphic.key + ",icon:" + icon.graphic.key;
|
|
var newGraphic = flixel_FlxG.bitmap.add(newBmp,false,key);
|
|
this.loadGraphic(newGraphic,true,this.get_width() | 0,this.get_height() | 0);
|
|
var sx = X;
|
|
var sy = Y;
|
|
if(center) {
|
|
sx = (this.get_width() - icon.get_width()) / 2 | 0;
|
|
sy = (this.get_height() - icon.get_height()) / 2 | 0;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.numFrames;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
this.stamp(icon,sx + (this.labelOffsets[i > 2 ? 2 : i].x | 0),sy + (i * this.get_height() | 0) + (this.labelOffsets[i > 2 ? 2 : i].y | 0));
|
|
}
|
|
}
|
|
,removeIcon: function() {
|
|
if(this._noIconGraphicsBkup != null) {
|
|
this.graphic.bitmap.fillRect(this.graphic.bitmap.rect,0);
|
|
this.graphic.bitmap.copyPixels(this._noIconGraphicsBkup,new openfl_geom_Rectangle(0,0,this._noIconGraphicsBkup.width,this._noIconGraphicsBkup.height),new openfl_geom_Point());
|
|
this.dirty = true;
|
|
}
|
|
}
|
|
,changeIcon: function(newIcon) {
|
|
this.removeIcon();
|
|
this.addIcon(newIcon);
|
|
}
|
|
,destroy: function() {
|
|
this._noIconGraphicsBkup = flixel_util_FlxDestroyUtil.dispose(this._noIconGraphicsBkup);
|
|
flixel_addons_ui_FlxUITypedButton.prototype.destroy.call(this);
|
|
}
|
|
,loadDefaultGraphic: function() {
|
|
}
|
|
,resetHelpers: function() {
|
|
flixel_addons_ui_FlxUITypedButton.prototype.resetHelpers.call(this);
|
|
if(this.label != null) {
|
|
var tmp = this.label;
|
|
var tmp1 = this.get_width() | 0;
|
|
tmp.set_width(this.label.frameWidth = tmp1);
|
|
this.label.set_fieldWidth(this.label.get_width());
|
|
this.label.set_size(this.label._defaultFormat.size | 0);
|
|
}
|
|
}
|
|
,onDownHandler: function() {
|
|
flixel_addons_ui_FlxUITypedButton.prototype.onDownHandler.call(this);
|
|
if(this.label != null) {
|
|
if(this.toggled && this.down_toggle_style != null) {
|
|
this.label.set_color(this.down_toggle_style.color);
|
|
if(this.down_toggle_style.border != null) {
|
|
this.label.set_borderStyle(this.down_toggle_style.border.style);
|
|
this.label.set_borderColor(this.down_toggle_style.border.color);
|
|
this.label.set_borderSize(this.down_toggle_style.border.size);
|
|
this.label.set_borderQuality(this.down_toggle_style.border.quality);
|
|
}
|
|
} else if(!this.toggled && this.down_style != null) {
|
|
this.label.set_color(this.down_style.color);
|
|
if(this.down_style.border != null) {
|
|
this.label.set_borderStyle(this.down_style.border.style);
|
|
this.label.set_borderColor(this.down_style.border.color);
|
|
this.label.set_borderSize(this.down_style.border.size);
|
|
this.label.set_borderQuality(this.down_style.border.quality);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,onOverHandler: function() {
|
|
flixel_addons_ui_FlxUITypedButton.prototype.onOverHandler.call(this);
|
|
if(this.label != null) {
|
|
if(this.toggled && this.over_toggle_style != null) {
|
|
this.label.set_color(this.over_toggle_style.color);
|
|
if(this.over_toggle_style.border != null) {
|
|
this.label.set_borderStyle(this.over_toggle_style.border.style);
|
|
this.label.set_borderColor(this.over_toggle_style.border.color);
|
|
this.label.set_borderSize(this.over_toggle_style.border.size);
|
|
this.label.set_borderQuality(this.over_toggle_style.border.quality);
|
|
}
|
|
} else if(!this.toggled && this.over_style != null) {
|
|
this.label.set_color(this.over_style.color);
|
|
if(this.over_style.border != null) {
|
|
this.label.set_borderStyle(this.over_style.border.style);
|
|
this.label.set_borderColor(this.over_style.border.color);
|
|
this.label.set_borderSize(this.over_style.border.size);
|
|
this.label.set_borderQuality(this.over_style.border.quality);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,onOutHandler: function() {
|
|
flixel_addons_ui_FlxUITypedButton.prototype.onOutHandler.call(this);
|
|
if(this.label != null) {
|
|
if(this.toggled && this.up_toggle_style != null) {
|
|
this.label.set_color(this.up_toggle_style.color);
|
|
if(this.up_toggle_style.border != null) {
|
|
this.label.set_borderStyle(this.up_toggle_style.border.style);
|
|
this.label.set_borderColor(this.up_toggle_style.border.color);
|
|
this.label.set_borderSize(this.up_toggle_style.border.size);
|
|
this.label.set_borderQuality(this.up_toggle_style.border.quality);
|
|
}
|
|
} else if(!this.toggled && this.up_style != null) {
|
|
this.label.set_color(this.up_style.color);
|
|
if(this.up_style.border != null) {
|
|
this.label.set_borderStyle(this.up_style.border.style);
|
|
this.label.set_borderColor(this.up_style.border.color);
|
|
this.label.set_borderSize(this.up_style.border.size);
|
|
this.label.set_borderQuality(this.up_style.border.quality);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,onUpHandler: function() {
|
|
flixel_addons_ui_FlxUITypedButton.prototype.onUpHandler.call(this);
|
|
if(this.label != null) {
|
|
if(this.toggled && this.up_toggle_style != null) {
|
|
this.label.set_color(this.up_toggle_style.color);
|
|
if(this.up_toggle_style.border != null) {
|
|
this.label.set_borderStyle(this.up_toggle_style.border.style);
|
|
this.label.set_borderColor(this.up_toggle_style.border.color);
|
|
this.label.set_borderSize(this.up_toggle_style.border.size);
|
|
this.label.set_borderQuality(this.up_toggle_style.border.quality);
|
|
}
|
|
} else if(!this.toggled && this.up_style != null) {
|
|
this.label.set_color(this.up_style.color);
|
|
if(this.up_style.border != null) {
|
|
this.label.set_borderStyle(this.up_style.border.style);
|
|
this.label.set_borderColor(this.up_style.border.color);
|
|
this.label.set_borderSize(this.up_style.border.size);
|
|
this.label.set_borderQuality(this.up_style.border.quality);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,__class__: flixel_addons_ui_FlxUIButton
|
|
});
|
|
var flixel_addons_ui_FlxUICheckBox = function(X,Y,Box,Check,Label,LabelW,Params,Callback) {
|
|
if(LabelW == null) {
|
|
LabelW = 100;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
this.skipButtonUpdate = false;
|
|
this.box_space = 2;
|
|
this.textY = 0;
|
|
this.textX = 0;
|
|
this.checkbox_dirty = false;
|
|
this.textIsClickable = true;
|
|
this.checked = false;
|
|
this.max_width = -1;
|
|
flixel_addons_ui_FlxUIGroup.call(this);
|
|
this.callback = Callback;
|
|
this.set_params(Params);
|
|
if(Box == null) {
|
|
Box = "flixel/flixel-ui/img/check_box.png";
|
|
}
|
|
if(((Box) instanceof flixel_FlxSprite)) {
|
|
this.box = Box;
|
|
} else {
|
|
this.box = new flixel_FlxSprite();
|
|
this.box.loadGraphic(Box,true);
|
|
}
|
|
this.button = new flixel_addons_ui_FlxUIButton(0,0,Label,$bind(this,this._clickCheck));
|
|
this.button.label.setFormat(null,8,16777215,"left",flixel_text_FlxTextBorderStyle.OUTLINE);
|
|
this.button.label.set_fieldWidth(LabelW);
|
|
this.button.up_color = 16777215;
|
|
this.button.down_color = 16777215;
|
|
this.button.over_color = 16777215;
|
|
this.button.up_toggle_color = 16777215;
|
|
this.button.down_toggle_color = 16777215;
|
|
this.button.over_toggle_color = 16777215;
|
|
this.button.loadGraphicSlice9(["","",""],this.box.get_width() + this.box_space + LabelW | 0,this.box.get_height() | 0);
|
|
this.max_width = this.box.get_width() + this.box_space + LabelW | 0;
|
|
this.button.onUp.callback = $bind(this,this._clickCheck);
|
|
if(Check == null) {
|
|
Check = "flixel/flixel-ui/img/check_mark.png";
|
|
}
|
|
if(((Check) instanceof flixel_FlxSprite)) {
|
|
this.mark = Check;
|
|
} else {
|
|
this.mark = new flixel_FlxSprite();
|
|
this.mark.loadGraphic(Check);
|
|
}
|
|
this.add(this.box);
|
|
this.add(this.mark);
|
|
this.add(this.button);
|
|
this.anchorLabelX();
|
|
this.anchorLabelY();
|
|
this.set_checked(false);
|
|
this.button.setAllLabelOffsets(0,0);
|
|
this.set_x(X);
|
|
this.set_y(Y);
|
|
this.set_textX(0);
|
|
this.set_textY(0);
|
|
};
|
|
$hxClasses["flixel.addons.ui.FlxUICheckBox"] = flixel_addons_ui_FlxUICheckBox;
|
|
flixel_addons_ui_FlxUICheckBox.__name__ = "flixel.addons.ui.FlxUICheckBox";
|
|
flixel_addons_ui_FlxUICheckBox.__interfaces__ = [flixel_addons_ui_interfaces_ICursorPointable,flixel_addons_ui_interfaces_IHasParams,flixel_addons_ui_interfaces_IFlxUIClickable,flixel_addons_ui_interfaces_ILabeled];
|
|
flixel_addons_ui_FlxUICheckBox.__super__ = flixel_addons_ui_FlxUIGroup;
|
|
flixel_addons_ui_FlxUICheckBox.prototype = $extend(flixel_addons_ui_FlxUIGroup.prototype,{
|
|
box: null
|
|
,mark: null
|
|
,button: null
|
|
,max_width: null
|
|
,checked: null
|
|
,params: null
|
|
,textIsClickable: null
|
|
,checkbox_dirty: null
|
|
,textX: null
|
|
,textY: null
|
|
,box_space: null
|
|
,skipButtonUpdate: null
|
|
,callback: null
|
|
,set_skipButtonUpdate: function(b) {
|
|
this.skipButtonUpdate = b;
|
|
this.button.set_skipButtonUpdate(this.skipButtonUpdate);
|
|
return this.skipButtonUpdate;
|
|
}
|
|
,set_params: function(p) {
|
|
this.params = p;
|
|
if(this.params == null) {
|
|
this.params = [];
|
|
}
|
|
var nb = { name : "checked", value : false};
|
|
this.params.push(nb);
|
|
return this.params;
|
|
}
|
|
,set_color: function(Value) {
|
|
if(this.button != null) {
|
|
this.button.label.set_color(Value);
|
|
}
|
|
return flixel_addons_ui_FlxUIGroup.prototype.set_color.call(this,Value);
|
|
}
|
|
,setLabel: function(t) {
|
|
if(this.button == null) {
|
|
return null;
|
|
}
|
|
this.button.set_label(t);
|
|
return this.button.label;
|
|
}
|
|
,getLabel: function() {
|
|
if(this.button == null) {
|
|
return null;
|
|
}
|
|
return this.button.label;
|
|
}
|
|
,set_visible: function(Value) {
|
|
this.visible = Value;
|
|
return this.visible;
|
|
}
|
|
,anchorTime: function(f) {
|
|
this.anchorLabelY();
|
|
}
|
|
,set_textX: function(n) {
|
|
this.textX = n;
|
|
this.anchorLabelX();
|
|
return this.textX;
|
|
}
|
|
,set_textY: function(n) {
|
|
this.textY = n;
|
|
this.anchorLabelY();
|
|
return this.textY;
|
|
}
|
|
,anchorLabelX: function() {
|
|
if(this.button != null) {
|
|
this.button.label.offset.set_x(-(this.box.get_width() + this.box_space + this.textX));
|
|
}
|
|
}
|
|
,anchorLabelY: function() {
|
|
if(this.button != null) {
|
|
this.button.set_y(this.box.y + (this.box.get_height() - this.button.get_height()) / 2 + this.textY);
|
|
}
|
|
}
|
|
,destroy: function() {
|
|
flixel_addons_ui_FlxUIGroup.prototype.destroy.call(this);
|
|
if(this.mark != null) {
|
|
this.mark.destroy();
|
|
this.mark = null;
|
|
}
|
|
if(this.box != null) {
|
|
this.box.destroy();
|
|
this.box = null;
|
|
}
|
|
if(this.button != null) {
|
|
this.button.destroy();
|
|
this.button = null;
|
|
}
|
|
}
|
|
,get_text: function() {
|
|
return this.button.label.text;
|
|
}
|
|
,set_text: function(value) {
|
|
this.button.label.set_text(value);
|
|
this.checkbox_dirty = true;
|
|
return value;
|
|
}
|
|
,update: function(elapsed) {
|
|
flixel_addons_ui_FlxUIGroup.prototype.update.call(this,elapsed);
|
|
if(this.checkbox_dirty) {
|
|
if(this.button.label != null) {
|
|
if(((this.button.label) instanceof flixel_addons_ui_FlxUIText)) {
|
|
var ftu = this.button.label;
|
|
ftu.drawFrame();
|
|
}
|
|
this.anchorLabelX();
|
|
this.anchorLabelY();
|
|
this.button.set_width(this.box.frameWidth + this.box_space + this.button.label.textField.get_textWidth());
|
|
this.checkbox_dirty = false;
|
|
}
|
|
}
|
|
}
|
|
,set_checked: function(b) {
|
|
this.mark.set_visible(b);
|
|
return this.checked = b;
|
|
}
|
|
,_clickCheck: function() {
|
|
if(!this.visible) {
|
|
return;
|
|
}
|
|
this.set_checked(!this.checked);
|
|
if(this.callback != null) {
|
|
this.callback();
|
|
}
|
|
if(this.broadcastToFlxUI) {
|
|
flixel_addons_ui_FlxUI.event("click_check_box",this,this.checked,this.params);
|
|
}
|
|
}
|
|
,__class__: flixel_addons_ui_FlxUICheckBox
|
|
,__properties__: $extend(flixel_addons_ui_FlxUIGroup.prototype.__properties__,{set_text:"set_text",get_text:"get_text",set_skipButtonUpdate:"set_skipButtonUpdate",set_textY:"set_textY",set_textX:"set_textX",set_params:"set_params",set_checked:"set_checked"})
|
|
});
|
|
var flixel_addons_ui_FlxUICursor = function(Callback,InputMethod,DefaultKeys,Asset) {
|
|
if(DefaultKeys == null) {
|
|
DefaultKeys = 1;
|
|
}
|
|
if(InputMethod == null) {
|
|
InputMethod = 1;
|
|
}
|
|
this._clickTime = 0;
|
|
this._clickPressed = false;
|
|
this.lastMouseY = 0;
|
|
this.lastMouseX = 0;
|
|
this.inputMethod = 0;
|
|
this.dispatchEvents = true;
|
|
this.gamepadAutoConnect = flixel_addons_ui_GamepadAutoConnectPreference.FirstActive;
|
|
this.listIndex = 0;
|
|
this.location = -1;
|
|
this.wrap = true;
|
|
if(Asset == null) {
|
|
if(flixel_FlxG.height < 400) {
|
|
Asset = "flixel/flixel-ui/img/finger_small.png";
|
|
} else {
|
|
Asset = "flixel/flixel-ui/img/finger_big.png";
|
|
}
|
|
}
|
|
flixel_addons_ui_FlxUISprite.call(this,0,0,Asset);
|
|
this.inputMethod = InputMethod;
|
|
this._lists = [{ x : 0, y : 0, width : 0, height : 0, widgets : []}];
|
|
this._widgets = this._lists[0].widgets;
|
|
this.anchor = new flixel_addons_ui_Anchor(-2,0,"left","center","right","center");
|
|
this.setDefaultKeys(DefaultKeys);
|
|
this.callback = Callback;
|
|
this.scrollFactor.set(0,0);
|
|
if(flixel_FlxG.mouse != null && ((flixel_FlxG.mouse) instanceof flixel_addons_ui_FlxUIMouse) == false) {
|
|
this._newMouse = new flixel_addons_ui_FlxUIMouse(flixel_FlxG.mouse.cursorContainer);
|
|
flixel_FlxG.set_mouse(this._newMouse);
|
|
} else {
|
|
this._newMouse = flixel_FlxG.mouse;
|
|
}
|
|
};
|
|
$hxClasses["flixel.addons.ui.FlxUICursor"] = flixel_addons_ui_FlxUICursor;
|
|
flixel_addons_ui_FlxUICursor.__name__ = "flixel.addons.ui.FlxUICursor";
|
|
flixel_addons_ui_FlxUICursor.__super__ = flixel_addons_ui_FlxUISprite;
|
|
flixel_addons_ui_FlxUICursor.prototype = $extend(flixel_addons_ui_FlxUISprite.prototype,{
|
|
callback: null
|
|
,wrap: null
|
|
,location: null
|
|
,listIndex: null
|
|
,ignoreNextInput: null
|
|
,findVisibleLocation: function(loc,forwardIfInvisible,wrap) {
|
|
if(wrap == null) {
|
|
wrap = true;
|
|
}
|
|
if(forwardIfInvisible == null) {
|
|
forwardIfInvisible = true;
|
|
}
|
|
this.set_location(loc);
|
|
if(this.location == -1) {
|
|
return;
|
|
}
|
|
var wrapped = false;
|
|
while(this._widgets[this.location] == null || this._widgets[this.location].visible == false) if(forwardIfInvisible) {
|
|
if(this.location == this._widgets.length - 1) {
|
|
if(wrap) {
|
|
if(!wrapped) {
|
|
wrapped = true;
|
|
this.set_location(0);
|
|
} else {
|
|
this.set_location(-1);
|
|
return;
|
|
}
|
|
} else {
|
|
this.set_location(-1);
|
|
return;
|
|
}
|
|
} else {
|
|
var _g = this;
|
|
_g.set_location(_g.location + 1);
|
|
}
|
|
} else if(this.location == 0) {
|
|
if(wrap) {
|
|
if(!wrapped) {
|
|
wrapped = true;
|
|
this.set_location(this._widgets.length - 1);
|
|
} else {
|
|
this.set_location(-1);
|
|
return;
|
|
}
|
|
} else {
|
|
this.set_location(-1);
|
|
return;
|
|
}
|
|
} else {
|
|
var _g1 = this;
|
|
_g1.set_location(_g1.location - 1);
|
|
}
|
|
}
|
|
,getCurrentWidget: function() {
|
|
if(this._widgets != null && this.location >= 0 && this.location < this._widgets.length) {
|
|
return this._widgets[this.location];
|
|
}
|
|
return null;
|
|
}
|
|
,set_listIndex: function(i) {
|
|
if(i >= this._lists.length) {
|
|
i = this._lists.length - 1;
|
|
} else if(i < 0) {
|
|
i = 0;
|
|
}
|
|
this.listIndex = i;
|
|
this.set_location(0);
|
|
this._updateCursor();
|
|
return this.listIndex;
|
|
}
|
|
,set_visible: function(b) {
|
|
b = flixel_addons_ui_FlxUISprite.prototype.set_visible.call(this,b);
|
|
return b;
|
|
}
|
|
,set_location: function(i) {
|
|
if(i >= this._widgets.length) {
|
|
i = this._widgets.length - 1;
|
|
}
|
|
this.location = i;
|
|
this._updateCursor();
|
|
return this.location;
|
|
}
|
|
,gamepadAutoConnect: null
|
|
,set_gamepad: function(g) {
|
|
this._gamepad = g;
|
|
this.setDefaultKeys(this._defaultCode);
|
|
var arr = [this.keysUp,this.keysDown,this.keysLeft,this.keysRight,this.keysClick];
|
|
var _g = 0;
|
|
while(_g < arr.length) {
|
|
var list = arr[_g];
|
|
++_g;
|
|
if(list != null) {
|
|
var _g1 = 0;
|
|
while(_g1 < list.length) {
|
|
var keys = list[_g1];
|
|
++_g1;
|
|
if(((keys) instanceof flixel_addons_ui_FlxMultiGamepad)) {
|
|
var fmg = keys;
|
|
fmg.gamepad = this._gamepad;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return g;
|
|
}
|
|
,get_gamepad: function() {
|
|
return this._gamepad;
|
|
}
|
|
,_gamepad: null
|
|
,keysUp: null
|
|
,keysDown: null
|
|
,keysLeft: null
|
|
,keysRight: null
|
|
,keysClick: null
|
|
,anchor: null
|
|
,dispatchEvents: null
|
|
,inputMethod: null
|
|
,destroy: function() {
|
|
flixel_addons_ui_FlxUISprite.prototype.destroy.call(this);
|
|
if(flixel_FlxG.mouse == this._newMouse) {
|
|
this._newMouse = null;
|
|
}
|
|
this.keysUp = flixel_util_FlxDestroyUtil.destroyArray(this.keysUp);
|
|
this.keysDown = flixel_util_FlxDestroyUtil.destroyArray(this.keysDown);
|
|
this.keysLeft = flixel_util_FlxDestroyUtil.destroyArray(this.keysLeft);
|
|
this.keysRight = flixel_util_FlxDestroyUtil.destroyArray(this.keysRight);
|
|
this.keysClick = flixel_util_FlxDestroyUtil.destroyArray(this.keysClick);
|
|
this.anchor = flixel_util_FlxDestroyUtil.destroy(this.anchor);
|
|
var _g = 0;
|
|
var _g1 = this._lists;
|
|
while(_g < _g1.length) {
|
|
var l = _g1[_g];
|
|
++_g;
|
|
flixel_addons_ui_U.clearArraySoft(l.widgets);
|
|
}
|
|
flixel_addons_ui_U.clearArraySoft(this._lists);
|
|
this._widgets = null;
|
|
}
|
|
,update: function(elapsed) {
|
|
if(this.get_gamepad() == null) {
|
|
var g = this.getGamepad(false);
|
|
if(g != null) {
|
|
this.set_gamepad(g);
|
|
}
|
|
}
|
|
if(this.lastMouseX != flixel_FlxG.mouse.x || this.lastMouseY != flixel_FlxG.mouse.y) {
|
|
var oldVis = this.visible;
|
|
this.jumpToXY(flixel_FlxG.mouse.x,flixel_FlxG.mouse.y);
|
|
this.set_visible(oldVis);
|
|
this.lastMouseX = flixel_FlxG.mouse.x;
|
|
this.lastMouseY = flixel_FlxG.mouse.y;
|
|
}
|
|
this._checkKeys();
|
|
this._clickTime += elapsed;
|
|
flixel_addons_ui_FlxUISprite.prototype.update.call(this,elapsed);
|
|
}
|
|
,addWidgetsFromUI: function(ui) {
|
|
if(ui.cursorLists != null) {
|
|
var _g = 0;
|
|
var _g1 = ui.cursorLists;
|
|
while(_g < _g1.length) {
|
|
var list = _g1[_g];
|
|
++_g;
|
|
this.addWidgetList(list);
|
|
}
|
|
this._widgets = this._lists[0].widgets;
|
|
this.set_location(0);
|
|
this.set_listIndex(0);
|
|
} else {
|
|
var _g = 0;
|
|
var _g1 = ui.group.members;
|
|
while(_g < _g1.length) {
|
|
var widget = _g1[_g];
|
|
++_g;
|
|
if(js_Boot.__implements(widget,flixel_addons_ui_interfaces_ICursorPointable) || ((widget) instanceof flixel_addons_ui_FlxUIGroup)) {
|
|
this.addWidget(widget);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,jumpTo: function(widget) {
|
|
var listi = 0;
|
|
var i = 0;
|
|
if(this._lists != null) {
|
|
var _g = 0;
|
|
var _g1 = this._lists;
|
|
while(_g < _g1.length) {
|
|
var list = _g1[_g];
|
|
++_g;
|
|
i = list.widgets.indexOf(widget);
|
|
if(i != -1) {
|
|
this.set_listIndex(listi);
|
|
this.set_location(i);
|
|
return true;
|
|
}
|
|
++listi;
|
|
}
|
|
} else {
|
|
i = this._widgets.indexOf(widget);
|
|
this.set_location(i);
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
,jumpToXY: function(X,Y) {
|
|
var listi = 0;
|
|
var bestd2 = Infinity;
|
|
var bestli = -1;
|
|
var besti = -1;
|
|
if(this._lists != null) {
|
|
var _g = 0;
|
|
var _g1 = this._lists;
|
|
while(_g < _g1.length) {
|
|
var list = _g1[_g];
|
|
++_g;
|
|
var _g2 = 0;
|
|
var _g3 = list.widgets.length;
|
|
while(_g2 < _g3) {
|
|
var i = _g2++;
|
|
var w = list.widgets[i];
|
|
if(w.visible == true && X >= w.x && Y >= w.y && X <= w.x + w.get_width() && Y <= w.y + w.get_height()) {
|
|
var dx = w.x + w.get_width() / 2 - X;
|
|
var dy = w.y + w.get_height() / 2 - Y;
|
|
var d2 = dx * dx + dy * dy;
|
|
if(d2 < bestd2) {
|
|
bestd2 = d2;
|
|
bestli = listi;
|
|
besti = i;
|
|
}
|
|
}
|
|
}
|
|
++listi;
|
|
}
|
|
if(bestli != -1 && besti != -1) {
|
|
this.set_listIndex(bestli);
|
|
this.set_location(besti);
|
|
return true;
|
|
}
|
|
} else {
|
|
var _g = 0;
|
|
var _g1 = this._widgets.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var w = this._widgets[i];
|
|
if(w.visible == true && X >= w.x && Y >= w.y && X <= w.x + w.get_width() && Y <= w.y + w.get_height()) {
|
|
var dx = w.x + w.get_width() / 2 - X;
|
|
var dy = w.y + w.get_height() / 2 - Y;
|
|
var d2 = dx * dx + dy * dy;
|
|
if(d2 < bestd2) {
|
|
bestd2 = d2;
|
|
besti = i;
|
|
}
|
|
}
|
|
}
|
|
if(besti != -1) {
|
|
this.set_location(besti);
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,addWidgetList: function(list) {
|
|
var _g = 0;
|
|
var _g1 = this._lists;
|
|
while(_g < _g1.length) {
|
|
var l = _g1[_g];
|
|
++_g;
|
|
if(flixel_util_FlxArrayUtil.equals(l.widgets,list)) {
|
|
return;
|
|
}
|
|
}
|
|
var x1 = Infinity;
|
|
var y1 = Infinity;
|
|
var x2 = -Infinity;
|
|
var y2 = -Infinity;
|
|
var _g = 0;
|
|
while(_g < list.length) {
|
|
var w = list[_g];
|
|
++_g;
|
|
if(w.x < x1) {
|
|
x1 = w.x;
|
|
}
|
|
if(w.y < y1) {
|
|
y1 = w.y;
|
|
}
|
|
if(w.x + w.get_width() > x2) {
|
|
x2 = w.x;
|
|
}
|
|
if(w.y + w.get_height() > y2) {
|
|
y2 = w.y;
|
|
}
|
|
}
|
|
var theList = null;
|
|
if(this._lists.length == 1 && this._lists[0].widgets != null && this._lists[0].widgets.length == 0) {
|
|
this._lists[0].widgets = [];
|
|
this._lists[0].x = x1 | 0;
|
|
this._lists[0].y = y1 | 0;
|
|
this._lists[0].width = x2 - x1 | 0;
|
|
this._lists[0].height = y2 - y1 | 0;
|
|
theList = this._lists[0];
|
|
} else {
|
|
this._lists.push({ x : x1 | 0, y : y1 | 0, width : x2 - x1 | 0, height : y2 - y1 | 0, widgets : []});
|
|
theList = this._lists[this._lists.length - 1];
|
|
}
|
|
var oldWidgets = this._widgets;
|
|
this._widgets = theList.widgets;
|
|
var _g = 0;
|
|
while(_g < list.length) {
|
|
var ifw = list[_g];
|
|
++_g;
|
|
this.addWidget(ifw);
|
|
}
|
|
this._widgets = oldWidgets;
|
|
this._lists.sort($bind(this,this._sortXYWidgetList));
|
|
var _g = 0;
|
|
var _g1 = this._lists;
|
|
while(_g < _g1.length) {
|
|
var widgetList = _g1[_g];
|
|
++_g;
|
|
widgetList.widgets.sort($bind(this,this._sortXYVisible));
|
|
}
|
|
}
|
|
,addWidget: function(widget) {
|
|
if(js_Boot.__implements(widget,flixel_addons_ui_interfaces_ICursorPointable)) {
|
|
this._widgets.push(widget);
|
|
} else if(((widget) instanceof flixel_addons_ui_FlxUIGroup)) {
|
|
var g = widget;
|
|
var _g = 0;
|
|
var _g1 = g.group.members;
|
|
while(_g < _g1.length) {
|
|
var member = _g1[_g];
|
|
++_g;
|
|
if(js_Boot.__implements(member,flixel_addons_ui_interfaces_IFlxUIWidget)) {
|
|
this.addWidget(member);
|
|
}
|
|
}
|
|
}
|
|
this._widgets.sort($bind(this,this._sortXYVisible));
|
|
}
|
|
,sortWidgets: function(method,list) {
|
|
if(list == null) {
|
|
list = this._widgets;
|
|
}
|
|
switch(method._hx_index) {
|
|
case 0:
|
|
list.sort($bind(this,this._sortXYVisible));
|
|
break;
|
|
case 1:
|
|
list.sort($bind(this,this._sortIDVisible));
|
|
break;
|
|
}
|
|
}
|
|
,clearWidgets: function() {
|
|
flixel_util_FlxArrayUtil.clearArray(this._widgets);
|
|
}
|
|
,removeWidget: function(widget,list) {
|
|
if(list == null) {
|
|
list = this._widgets;
|
|
}
|
|
var value = false;
|
|
if(list != null) {
|
|
if(list.indexOf(widget) != -1) {
|
|
value = HxOverrides.remove(list,widget);
|
|
list.sort($bind(this,this._sortXYVisible));
|
|
}
|
|
}
|
|
return value;
|
|
}
|
|
,setDefaultKeys: function(code) {
|
|
this._defaultCode = code;
|
|
this._clearKeys();
|
|
this._newKeys();
|
|
if((code & 1) == 1) {
|
|
this._addToKeys(this.keysRight,new flixel_addons_ui_FlxMultiKey(9,null,[16]));
|
|
this._addToKeys(this.keysLeft,new flixel_addons_ui_FlxMultiKey(9,[16]));
|
|
this._addToKeys(this.keysClick,new flixel_addons_ui_FlxMultiKey(13));
|
|
}
|
|
if((code & 256) == 256) {
|
|
this._addToKeys(this.keysRight,new flixel_addons_ui_FlxMultiKey(39));
|
|
this._addToKeys(this.keysLeft,new flixel_addons_ui_FlxMultiKey(37));
|
|
this._addToKeys(this.keysDown,new flixel_addons_ui_FlxMultiKey(40));
|
|
this._addToKeys(this.keysUp,new flixel_addons_ui_FlxMultiKey(38));
|
|
this._addToKeys(this.keysClick,new flixel_addons_ui_FlxMultiKey(13));
|
|
}
|
|
if((code & 16) == 16) {
|
|
this._addToKeys(this.keysRight,new flixel_addons_ui_FlxMultiKey(68));
|
|
this._addToKeys(this.keysLeft,new flixel_addons_ui_FlxMultiKey(65));
|
|
this._addToKeys(this.keysDown,new flixel_addons_ui_FlxMultiKey(83));
|
|
this._addToKeys(this.keysUp,new flixel_addons_ui_FlxMultiKey(87));
|
|
this._addToKeys(this.keysClick,new flixel_addons_ui_FlxMultiKey(13));
|
|
}
|
|
if((code & 4096) == 4096) {
|
|
this._addToKeys(this.keysRight,new flixel_addons_ui_FlxMultiKey(102));
|
|
this._addToKeys(this.keysLeft,new flixel_addons_ui_FlxMultiKey(100));
|
|
this._addToKeys(this.keysDown,new flixel_addons_ui_FlxMultiKey(98));
|
|
this._addToKeys(this.keysUp,new flixel_addons_ui_FlxMultiKey(104));
|
|
this._addToKeys(this.keysClick,new flixel_addons_ui_FlxMultiKey(13));
|
|
}
|
|
if(this.get_gamepad() == null) {
|
|
this._gamepad = this.getGamepad();
|
|
}
|
|
if((code & 65536) == 65536) {
|
|
this._addToKeys(this.keysLeft,new flixel_addons_ui_FlxMultiGamepad(this.get_gamepad(),13));
|
|
this._addToKeys(this.keysRight,new flixel_addons_ui_FlxMultiGamepad(this.get_gamepad(),14));
|
|
this._addToKeys(this.keysDown,new flixel_addons_ui_FlxMultiGamepad(this.get_gamepad(),12));
|
|
this._addToKeys(this.keysUp,new flixel_addons_ui_FlxMultiGamepad(this.get_gamepad(),11));
|
|
this._addToKeys(this.keysClick,new flixel_addons_ui_FlxMultiGamepad(this.get_gamepad(),0));
|
|
}
|
|
if((code & 268435456) == 268435456) {
|
|
this._addToKeys(this.keysLeft,new flixel_addons_ui_FlxMultiGamepad(this.get_gamepad(),4));
|
|
this._addToKeys(this.keysRight,new flixel_addons_ui_FlxMultiGamepad(this.get_gamepad(),5));
|
|
this._addToKeys(this.keysClick,new flixel_addons_ui_FlxMultiGamepad(this.get_gamepad(),0));
|
|
}
|
|
if((code & 1048576) == 1048576) {
|
|
this._addToKeys(this.keysLeft,new flixel_addons_ui_FlxMultiGamepadAnalogStick(this.get_gamepad(),{ id : 19, axis : flixel_addons_ui_XY.X, positive : false}));
|
|
this._addToKeys(this.keysRight,new flixel_addons_ui_FlxMultiGamepadAnalogStick(this.get_gamepad(),{ id : 19, axis : flixel_addons_ui_XY.X, positive : true}));
|
|
this._addToKeys(this.keysUp,new flixel_addons_ui_FlxMultiGamepadAnalogStick(this.get_gamepad(),{ id : 19, axis : flixel_addons_ui_XY.Y, positive : false}));
|
|
this._addToKeys(this.keysDown,new flixel_addons_ui_FlxMultiGamepadAnalogStick(this.get_gamepad(),{ id : 19, axis : flixel_addons_ui_XY.Y, positive : true}));
|
|
this._addToKeys(this.keysClick,new flixel_addons_ui_FlxMultiGamepad(this.get_gamepad(),0));
|
|
}
|
|
if((code & 16777216) == 16777216) {
|
|
this._addToKeys(this.keysLeft,new flixel_addons_ui_FlxMultiGamepadAnalogStick(this.get_gamepad(),{ id : 20, axis : flixel_addons_ui_XY.X, positive : false}));
|
|
this._addToKeys(this.keysRight,new flixel_addons_ui_FlxMultiGamepadAnalogStick(this.get_gamepad(),{ id : 20, axis : flixel_addons_ui_XY.X, positive : true}));
|
|
this._addToKeys(this.keysUp,new flixel_addons_ui_FlxMultiGamepadAnalogStick(this.get_gamepad(),{ id : 20, axis : flixel_addons_ui_XY.Y, positive : false}));
|
|
this._addToKeys(this.keysDown,new flixel_addons_ui_FlxMultiGamepadAnalogStick(this.get_gamepad(),{ id : 20, axis : flixel_addons_ui_XY.Y, positive : true}));
|
|
this._addToKeys(this.keysClick,new flixel_addons_ui_FlxMultiGamepad(this.get_gamepad(),0));
|
|
}
|
|
}
|
|
,_lists: null
|
|
,_widgets: null
|
|
,_newMouse: null
|
|
,lastMouseX: null
|
|
,lastMouseY: null
|
|
,_clickPressed: null
|
|
,_defaultCode: null
|
|
,_rightAnchor: null
|
|
,_topAnchor: null
|
|
,_leftAnchor: null
|
|
,_bottomAnchor: null
|
|
,_clickTime: null
|
|
,getGamepad: function(exhaustive) {
|
|
if(exhaustive == null) {
|
|
exhaustive = true;
|
|
}
|
|
var gamepad;
|
|
var _g = this.gamepadAutoConnect;
|
|
switch(_g._hx_index) {
|
|
case 0:
|
|
gamepad = null;
|
|
break;
|
|
case 1:
|
|
gamepad = flixel_FlxG.gamepads.getFirstActiveGamepad();
|
|
break;
|
|
case 2:
|
|
gamepad = flixel_FlxG.gamepads.lastActive;
|
|
break;
|
|
case 3:
|
|
var i = _g.i;
|
|
gamepad = flixel_FlxG.gamepads._activeGamepads[i];
|
|
break;
|
|
}
|
|
if(gamepad == null && exhaustive) {
|
|
var _g = 0;
|
|
var _g1 = flixel_FlxG.gamepads.get_numActiveGamepads();
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
gamepad = flixel_FlxG.gamepads._activeGamepads[i];
|
|
if(gamepad != null) {
|
|
return gamepad;
|
|
}
|
|
}
|
|
}
|
|
return gamepad;
|
|
}
|
|
,_sortIDVisible: function(a,b) {
|
|
if(a.visible && !b.visible) {
|
|
return -1;
|
|
}
|
|
if(b.visible && !a.visible) {
|
|
return 1;
|
|
}
|
|
if(a.ID < b.ID) {
|
|
return -1;
|
|
}
|
|
if(a.ID > b.ID) {
|
|
return 1;
|
|
}
|
|
return 0;
|
|
}
|
|
,_sortXYWidgetList: function(a,b) {
|
|
if(a.y < b.y) {
|
|
return -1;
|
|
}
|
|
if(a.y > b.y) {
|
|
return 1;
|
|
}
|
|
if(a.x < b.x) {
|
|
return -1;
|
|
}
|
|
if(a.x > b.x) {
|
|
return 1;
|
|
}
|
|
return 0;
|
|
}
|
|
,_sortXYVisible: function(a,b) {
|
|
if(a.visible && !b.visible) {
|
|
return -1;
|
|
}
|
|
if(b.visible && !a.visible) {
|
|
return 1;
|
|
}
|
|
if(a.y < b.y) {
|
|
return -1;
|
|
}
|
|
if(a.y > b.y) {
|
|
return 1;
|
|
}
|
|
if(a.x < b.x) {
|
|
return -1;
|
|
}
|
|
if(a.x > b.x) {
|
|
return 1;
|
|
}
|
|
return 0;
|
|
}
|
|
,_addToKeys: function(keys,m) {
|
|
var exists = false;
|
|
var _g = 0;
|
|
while(_g < keys.length) {
|
|
var mk = keys[_g];
|
|
++_g;
|
|
if(m.equals(mk)) {
|
|
exists = true;
|
|
break;
|
|
}
|
|
}
|
|
if(!exists) {
|
|
keys.push(m);
|
|
}
|
|
}
|
|
,_clearKeys: function() {
|
|
flixel_addons_ui_U.clearArray(this.keysUp);
|
|
this.keysUp = null;
|
|
flixel_addons_ui_U.clearArray(this.keysDown);
|
|
this.keysDown = null;
|
|
flixel_addons_ui_U.clearArray(this.keysLeft);
|
|
this.keysLeft = null;
|
|
flixel_addons_ui_U.clearArray(this.keysRight);
|
|
this.keysRight = null;
|
|
flixel_addons_ui_U.clearArray(this.keysClick);
|
|
this.keysClick = null;
|
|
}
|
|
,_newKeys: function() {
|
|
this.keysUp = [];
|
|
this.keysDown = [];
|
|
this.keysLeft = [];
|
|
this.keysRight = [];
|
|
this.keysClick = [];
|
|
}
|
|
,_checkKeys: function() {
|
|
var wasInvisible = this.visible == false;
|
|
var lastLocation = this.location;
|
|
var _g = 0;
|
|
var _g1 = this.keysUp;
|
|
while(_g < _g1.length) {
|
|
var key = _g1[_g];
|
|
++_g;
|
|
if(key.justPressed()) {
|
|
this._doInput(0,-1);
|
|
break;
|
|
}
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.keysDown;
|
|
while(_g < _g1.length) {
|
|
var key = _g1[_g];
|
|
++_g;
|
|
if(key.justPressed()) {
|
|
this._doInput(0,1);
|
|
break;
|
|
}
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.keysLeft;
|
|
while(_g < _g1.length) {
|
|
var key = _g1[_g];
|
|
++_g;
|
|
if(key.justPressed()) {
|
|
this._doInput(-1,0);
|
|
break;
|
|
}
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.keysRight;
|
|
while(_g < _g1.length) {
|
|
var key = _g1[_g];
|
|
++_g;
|
|
if(key.justPressed()) {
|
|
this._doInput(1,0);
|
|
break;
|
|
}
|
|
}
|
|
if(wasInvisible && this.visible && lastLocation != -1) {
|
|
this.set_location(lastLocation);
|
|
}
|
|
if(this._clickKeysJustPressed()) {
|
|
if(!this.ignoreNextInput) {
|
|
this._clickPressed = true;
|
|
this._clickTime = 0;
|
|
this._doPress();
|
|
} else {
|
|
this.ignoreNextInput = false;
|
|
}
|
|
}
|
|
if(this._clickKeysPressed()) {
|
|
this._clickPressed = true;
|
|
this._doMouseMove();
|
|
} else if(this._clickTime > 0) {
|
|
if(this._clickPressed) {
|
|
this._doRelease();
|
|
this._clickPressed = false;
|
|
}
|
|
}
|
|
}
|
|
,_clickKeysJustPressed: function() {
|
|
var _g = 0;
|
|
var _g1 = this.keysClick;
|
|
while(_g < _g1.length) {
|
|
var key = _g1[_g];
|
|
++_g;
|
|
if(key.justPressed()) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,_clickKeysPressed: function() {
|
|
var _g = 0;
|
|
var _g1 = this.keysClick;
|
|
while(_g < _g1.length) {
|
|
var key = _g1[_g];
|
|
++_g;
|
|
if(key.pressed()) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,_getWidgetPoint: function(Camera) {
|
|
if(Camera == null) {
|
|
Camera = flixel_FlxG.camera;
|
|
}
|
|
var currWidget = this._widgets[this.location];
|
|
if(currWidget == null) {
|
|
return null;
|
|
}
|
|
var fo;
|
|
var widgetPoint = null;
|
|
if(((currWidget) instanceof flixel_FlxObject)) {
|
|
fo = currWidget;
|
|
widgetPoint = fo.getScreenPosition();
|
|
}
|
|
var _g = widgetPoint;
|
|
_g.set_x(_g.x * Camera.totalScaleX);
|
|
var _g = widgetPoint;
|
|
_g.set_y(_g.y * Camera.totalScaleY);
|
|
if(widgetPoint == null) {
|
|
var X = currWidget.x;
|
|
var Y = currWidget.y;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
widgetPoint = point;
|
|
}
|
|
var _g = widgetPoint;
|
|
_g.set_x(_g.x + currWidget.get_width() / 2);
|
|
var _g = widgetPoint;
|
|
_g.set_y(_g.y + currWidget.get_height() / 2);
|
|
return widgetPoint;
|
|
}
|
|
,_doMouseMove: function(pt) {
|
|
var dispose = false;
|
|
if(pt == null) {
|
|
pt = this._getWidgetPoint();
|
|
if(pt == null) {
|
|
return;
|
|
}
|
|
dispose = true;
|
|
}
|
|
if(this.dispatchEvents) {
|
|
var _this = flixel_FlxG.mouse;
|
|
_this._globalScreenX = pt.x / flixel_FlxG.scaleMode.scale.x | 0;
|
|
_this._globalScreenY = pt.y / flixel_FlxG.scaleMode.scale.y | 0;
|
|
_this.updatePositions();
|
|
if(this._newMouse != null) {
|
|
this._newMouse.updateGlobalScreenPosition = false;
|
|
}
|
|
var tmp = openfl_Lib.get_current().stage;
|
|
var pt1 = pt.x;
|
|
var pt2 = pt.y;
|
|
var tmp1 = openfl_Lib.get_current().stage;
|
|
var _this = flixel_FlxG.keys.pressed;
|
|
var tmp2 = _this.keyManager.checkStatus(17,_this.status);
|
|
var _this = flixel_FlxG.keys.pressed;
|
|
var tmp3 = _this.keyManager.checkStatus(18,_this.status);
|
|
var _this = flixel_FlxG.keys.pressed;
|
|
tmp.dispatchEvent(new openfl_events_MouseEvent("mouseMove",true,false,pt1,pt2,tmp1,tmp2,tmp3,_this.keyManager.checkStatus(16,_this.status)));
|
|
}
|
|
if(dispose) {
|
|
pt.put();
|
|
}
|
|
}
|
|
,_doPress: function(pt) {
|
|
var currWidget = this._widgets[this.location];
|
|
if(currWidget == null) {
|
|
return;
|
|
}
|
|
var dispose = false;
|
|
if(pt == null) {
|
|
pt = this._getWidgetPoint();
|
|
if(pt == null) {
|
|
return;
|
|
}
|
|
dispose = true;
|
|
}
|
|
if(this.dispatchEvents) {
|
|
var rawMouseX = pt.x * flixel_FlxG.camera.zoom;
|
|
var rawMouseY = pt.y * flixel_FlxG.camera.zoom;
|
|
var tmp = openfl_Lib.get_current().stage;
|
|
var tmp1 = openfl_Lib.get_current().stage;
|
|
var _this = flixel_FlxG.keys.pressed;
|
|
var tmp2 = _this.keyManager.checkStatus(17,_this.status);
|
|
var _this = flixel_FlxG.keys.pressed;
|
|
var tmp3 = _this.keyManager.checkStatus(18,_this.status);
|
|
var _this = flixel_FlxG.keys.pressed;
|
|
tmp.dispatchEvent(new openfl_events_MouseEvent("mouseDown",true,false,rawMouseX,rawMouseY,tmp1,tmp2,tmp3,_this.keyManager.checkStatus(16,_this.status)));
|
|
}
|
|
if(this.callback != null) {
|
|
this.callback("cursor_down",currWidget);
|
|
}
|
|
if(dispose) {
|
|
pt.put();
|
|
}
|
|
}
|
|
,_doRelease: function(pt) {
|
|
var currWidget = this._widgets[this.location];
|
|
if(currWidget == null) {
|
|
return;
|
|
}
|
|
var dispose = false;
|
|
if(pt == null) {
|
|
pt = this._getWidgetPoint();
|
|
if(pt == null) {
|
|
return;
|
|
}
|
|
dispose = true;
|
|
}
|
|
var rawMouseX = pt.x * flixel_FlxG.camera.zoom;
|
|
var rawMouseY = pt.y * flixel_FlxG.camera.zoom;
|
|
if(this.dispatchEvents) {
|
|
var tmp = openfl_Lib.get_current().stage;
|
|
var tmp1 = openfl_Lib.get_current().stage;
|
|
var _this = flixel_FlxG.keys.pressed;
|
|
var tmp2 = _this.keyManager.checkStatus(17,_this.status);
|
|
var _this = flixel_FlxG.keys.pressed;
|
|
var tmp3 = _this.keyManager.checkStatus(18,_this.status);
|
|
var _this = flixel_FlxG.keys.pressed;
|
|
tmp.dispatchEvent(new openfl_events_MouseEvent("mouseUp",true,false,rawMouseX,rawMouseY,tmp1,tmp2,tmp3,_this.keyManager.checkStatus(16,_this.status)));
|
|
if(this._clickPressed) {
|
|
var tmp = openfl_Lib.get_current().stage;
|
|
var tmp1 = openfl_Lib.get_current().stage;
|
|
var _this = flixel_FlxG.keys.pressed;
|
|
var tmp2 = _this.keyManager.checkStatus(17,_this.status);
|
|
var _this = flixel_FlxG.keys.pressed;
|
|
var tmp3 = _this.keyManager.checkStatus(18,_this.status);
|
|
var _this = flixel_FlxG.keys.pressed;
|
|
tmp.dispatchEvent(new openfl_events_MouseEvent("click",true,false,rawMouseX,rawMouseY,tmp1,tmp2,tmp3,_this.keyManager.checkStatus(16,_this.status)));
|
|
}
|
|
}
|
|
if(this.callback != null) {
|
|
this.callback("cursor_click",currWidget);
|
|
}
|
|
if(dispose) {
|
|
pt.put();
|
|
}
|
|
if(this._newMouse != null) {
|
|
this._newMouse.updateGlobalScreenPosition = true;
|
|
var _this = this._newMouse;
|
|
var newX = flixel_FlxG.game.get_mouseX() | 0;
|
|
var newY = flixel_FlxG.game.get_mouseY() | 0;
|
|
_this._globalScreenX = newX / flixel_FlxG.scaleMode.scale.x | 0;
|
|
_this._globalScreenY = newY / flixel_FlxG.scaleMode.scale.y | 0;
|
|
_this.updatePositions();
|
|
}
|
|
}
|
|
,_findNextY: function(Y,indexValue,listWidget,listLists) {
|
|
var currX = 0;
|
|
var currY = 0;
|
|
var length = 0;
|
|
if(listWidget != null) {
|
|
currX = listWidget[indexValue].x | 0;
|
|
currY = listWidget[indexValue].y | 0;
|
|
length = listWidget.length;
|
|
} else if(listLists != null) {
|
|
currX = listLists[indexValue].x;
|
|
currY = listLists[indexValue].y;
|
|
length = listLists.length;
|
|
}
|
|
var nextX = 0;
|
|
var nextY = 0;
|
|
var dx = Infinity;
|
|
var dy = Infinity;
|
|
var bestdx = dx;
|
|
var bestdy = dy;
|
|
var besti = -1;
|
|
var _g = 0;
|
|
var _g1 = length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(i != indexValue) {
|
|
if(listWidget != null) {
|
|
nextX = listWidget[i].x | 0;
|
|
nextY = listWidget[i].y | 0;
|
|
} else if(listLists != null) {
|
|
nextX = listLists[i].x;
|
|
nextY = listLists[i].y;
|
|
}
|
|
dy = nextY - currY;
|
|
if((dy < 0 ? -1 : 1) == (Y < 0 ? -1 : 1) && dy != 0) {
|
|
dy = Math.abs(dy);
|
|
if(dy < bestdy) {
|
|
bestdy = dy;
|
|
bestdx = Math.abs(currX - nextX);
|
|
besti = i;
|
|
} else if(dy == bestdy) {
|
|
dx = Math.abs(currX - nextX);
|
|
if(dx < bestdx) {
|
|
bestdx = dx;
|
|
besti = i;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return besti;
|
|
}
|
|
,_wrapX: function(X,indexValue,listLength) {
|
|
if(indexValue + X < 0) {
|
|
indexValue = indexValue + X + listLength;
|
|
} else if(indexValue + X >= listLength) {
|
|
indexValue = indexValue + X - listLength;
|
|
}
|
|
return indexValue;
|
|
}
|
|
,_wrapY: function(Y,indexValue,listWidget,listLists) {
|
|
var dx = Infinity;
|
|
var dy = Infinity;
|
|
var bestdx = dx;
|
|
var bestdy = dy;
|
|
var besti = -1;
|
|
bestdx = Infinity;
|
|
bestdy = 0;
|
|
var length = 0;
|
|
var currX = 0;
|
|
var currY = 0;
|
|
if(listWidget != null) {
|
|
length = listWidget.length;
|
|
currX = listWidget[indexValue].x | 0;
|
|
currY = listWidget[indexValue].y | 0;
|
|
}
|
|
if(listLists != null) {
|
|
length = listLists.length;
|
|
currX = listLists[indexValue].x;
|
|
currY = listLists[indexValue].y;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(i != this.location) {
|
|
var xx = 0;
|
|
var yy = 0;
|
|
if(listWidget != null) {
|
|
xx = listWidget[i].x | 0;
|
|
yy = listWidget[i].y | 0;
|
|
} else if(listLists != null) {
|
|
xx = listLists[i].x | 0;
|
|
yy = listLists[i].y | 0;
|
|
}
|
|
dy = yy - currY;
|
|
if((dy < 0 ? -1 : 1) == (Y < 0 ? -1 : 1) == false && dy != 0) {
|
|
dy = Math.abs(dy);
|
|
if(dy > bestdy) {
|
|
bestdy = dy;
|
|
bestdx = Math.abs(currX - xx);
|
|
besti = i;
|
|
} else if(dy == bestdy) {
|
|
dx = Math.abs(currX - xx);
|
|
if(dx < bestdx) {
|
|
bestdx = dx;
|
|
besti = i;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if(besti != -1) {
|
|
indexValue = besti;
|
|
}
|
|
return indexValue;
|
|
}
|
|
,_doInput: function(X,Y,recursion) {
|
|
if(recursion == null) {
|
|
recursion = 0;
|
|
}
|
|
if(this.ignoreNextInput) {
|
|
this.ignoreNextInput = false;
|
|
return;
|
|
}
|
|
var currWidget = null;
|
|
if(Y == 0) {
|
|
if(this.location + X >= 0 && this.location + X < this._widgets.length) {
|
|
this.set_location(this.location + X);
|
|
} else if(this.wrap) {
|
|
if(this._lists.length == 1) {
|
|
this.set_location(this._wrapX(X,this.location,this._widgets.length));
|
|
} else {
|
|
if(this.listIndex + X >= 0 && this.listIndex + X < this._lists.length) {
|
|
this.set_listIndex(this.listIndex + X);
|
|
} else {
|
|
this.set_listIndex(this._wrapX(X,this.listIndex,this._lists.length));
|
|
}
|
|
if(X == -1) {
|
|
this.set_location(this._widgets.length - 1);
|
|
}
|
|
}
|
|
}
|
|
currWidget = this._widgets[this.location];
|
|
} else {
|
|
var nextY = this._findNextY(Y,this.location,this._widgets,null);
|
|
if(nextY != -1) {
|
|
this.set_location(nextY);
|
|
currWidget = this._widgets[this.location];
|
|
} else if(this.wrap) {
|
|
if(this._lists.length == 1) {
|
|
this.set_location(this._wrapY(Y,this.location,this._widgets,null));
|
|
currWidget = this._widgets[this.location];
|
|
} else {
|
|
var nextListY = this._findNextY(Y,this.listIndex,null,this._lists);
|
|
if(nextListY != -1) {
|
|
this.set_listIndex(nextListY);
|
|
currWidget = this._widgets[this.location];
|
|
} else {
|
|
this.set_listIndex(this._wrapY(Y,this.listIndex,null,this._lists));
|
|
}
|
|
if(Y == -1) {
|
|
this.set_location(this._widgets.length - 1);
|
|
}
|
|
}
|
|
currWidget = this._widgets[this.location];
|
|
}
|
|
}
|
|
if(currWidget != null && this._widgets != null) {
|
|
if(currWidget.visible == false && recursion < this._widgets.length) {
|
|
this._doInput(X,Y,recursion + 1);
|
|
return;
|
|
}
|
|
}
|
|
if(this.callback != null) {
|
|
this.callback("cursor_jump",currWidget);
|
|
}
|
|
}
|
|
,_updateCursor: function() {
|
|
this._widgets = this._lists[this.listIndex].widgets;
|
|
if(this.location < 0 || this._lists == null || this._widgets == null) {
|
|
this.set_visible(false);
|
|
return;
|
|
}
|
|
this.set_visible(this.set_active(true));
|
|
var currWidget = this._widgets[this.location];
|
|
var flippedX = false;
|
|
var flippedY = false;
|
|
if(currWidget != null) {
|
|
var target = currWidget;
|
|
if(((target) instanceof flixel_FlxSprite)) {
|
|
var fs = target;
|
|
if(fs != null && fs.scrollFactor != null) {
|
|
this.scrollFactor.set(fs.scrollFactor.x,fs.scrollFactor.y);
|
|
}
|
|
}
|
|
if(((currWidget) instanceof flixel_addons_ui_FlxUICheckBox)) {
|
|
var check = target;
|
|
target = check.box;
|
|
}
|
|
this.anchor.anchorThing(this,target);
|
|
if(this.x < 0) {
|
|
this._flipAnchor("left",target);
|
|
flippedX = true;
|
|
} else if(this.x > flixel_FlxG.width + this.get_width()) {
|
|
this._flipAnchor("right",target);
|
|
flippedX = true;
|
|
}
|
|
if(this.y < 0) {
|
|
this._flipAnchor("top",target);
|
|
flippedY = true;
|
|
} else if(this.y > flixel_FlxG.height + this.get_height()) {
|
|
this._flipAnchor("bottom",target);
|
|
flippedY = true;
|
|
}
|
|
this.set_flipX(flippedX);
|
|
this.set_flipY(flippedY);
|
|
}
|
|
}
|
|
,_flipAnchor: function(AnchorDir,destination) {
|
|
var theAnchor = null;
|
|
switch(AnchorDir) {
|
|
case "bottom":
|
|
if(this.anchor.y.side == "bottom") {
|
|
this._bottomAnchor = this.anchor.getFlipped(true,false,this._bottomAnchor);
|
|
theAnchor = this._bottomAnchor;
|
|
}
|
|
break;
|
|
case "left":
|
|
if(this.anchor.x.side == "left") {
|
|
this._leftAnchor = this.anchor.getFlipped(true,false,this._leftAnchor);
|
|
theAnchor = this._leftAnchor;
|
|
}
|
|
break;
|
|
case "right":
|
|
if(this.anchor.x.side == "right") {
|
|
this._topAnchor = this.anchor.getFlipped(true,false,this._rightAnchor);
|
|
theAnchor = this._rightAnchor;
|
|
}
|
|
break;
|
|
case "top":
|
|
if(this.anchor.y.side == "top") {
|
|
this._topAnchor = this.anchor.getFlipped(true,false,this._topAnchor);
|
|
theAnchor = this._topAnchor;
|
|
}
|
|
break;
|
|
}
|
|
if(theAnchor != null) {
|
|
theAnchor.anchorThing(this,destination);
|
|
}
|
|
}
|
|
,__class__: flixel_addons_ui_FlxUICursor
|
|
,__properties__: $extend(flixel_addons_ui_FlxUISprite.prototype.__properties__,{set_gamepad:"set_gamepad",get_gamepad:"get_gamepad",set_listIndex:"set_listIndex",set_location:"set_location"})
|
|
});
|
|
var flixel_addons_ui_GamepadAutoConnectPreference = $hxEnums["flixel.addons.ui.GamepadAutoConnectPreference"] = { __ename__ : "flixel.addons.ui.GamepadAutoConnectPreference", __constructs__ : ["Never","FirstActive","LastActive","GamepadID"]
|
|
,Never: {_hx_index:0,__enum__:"flixel.addons.ui.GamepadAutoConnectPreference",toString:$estr}
|
|
,FirstActive: {_hx_index:1,__enum__:"flixel.addons.ui.GamepadAutoConnectPreference",toString:$estr}
|
|
,LastActive: {_hx_index:2,__enum__:"flixel.addons.ui.GamepadAutoConnectPreference",toString:$estr}
|
|
,GamepadID: ($_=function(i) { return {_hx_index:3,i:i,__enum__:"flixel.addons.ui.GamepadAutoConnectPreference",toString:$estr}; },$_.__params__ = ["i"],$_)
|
|
};
|
|
var flixel_addons_ui_SortMethod = $hxEnums["flixel.addons.ui.SortMethod"] = { __ename__ : "flixel.addons.ui.SortMethod", __constructs__ : ["XY","ID"]
|
|
,XY: {_hx_index:0,__enum__:"flixel.addons.ui.SortMethod",toString:$estr}
|
|
,ID: {_hx_index:1,__enum__:"flixel.addons.ui.SortMethod",toString:$estr}
|
|
};
|
|
var flixel_addons_ui_FlxUIDropDownMenu = function(X,Y,DataList,Callback,Header,DropPanel,ButtonList,UIControlCallback) {
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
this.dropDirection = flixel_addons_ui_FlxUIDropDownMenuDropDirection.Automatic;
|
|
this.list = [];
|
|
flixel_addons_ui_FlxUIGroup.call(this,X,Y);
|
|
this.callback = Callback;
|
|
this.header = Header;
|
|
this.dropPanel = DropPanel;
|
|
if(this.header == null) {
|
|
this.header = new flixel_addons_ui_FlxUIDropDownHeader();
|
|
}
|
|
if(this.dropPanel == null) {
|
|
var rect = new openfl_geom_Rectangle(0,0,this.header.background.get_width(),this.header.background.get_height());
|
|
this.dropPanel = new flixel_addons_ui_FlxUI9SliceSprite(0,0,"flixel/flixel-ui/img/box.png",rect,[1,1,14,14]);
|
|
}
|
|
if(DataList != null) {
|
|
var _g = 0;
|
|
var _g1 = DataList.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var data = DataList[i];
|
|
this.list.push(this.makeListButton(i,data.label,data.name));
|
|
}
|
|
this.selectSomething(DataList[0].name,DataList[0].label);
|
|
} else if(ButtonList != null) {
|
|
var _g = 0;
|
|
while(_g < ButtonList.length) {
|
|
var btn = ButtonList[_g];
|
|
++_g;
|
|
this.list.push(btn);
|
|
btn.resize(this.header.background.get_width(),this.header.background.get_height());
|
|
btn.set_x(1);
|
|
}
|
|
}
|
|
this.updateButtonPositions();
|
|
this.dropPanel.resize(this.header.background.get_width(),this.getPanelHeight());
|
|
this.dropPanel.set_visible(false);
|
|
this.add(this.dropPanel);
|
|
var _g = 0;
|
|
var _g1 = this.list;
|
|
while(_g < _g1.length) {
|
|
var btn = _g1[_g];
|
|
++_g;
|
|
this.add(btn);
|
|
btn.set_visible(false);
|
|
}
|
|
this.header.button.onUp.callback = $bind(this,this.onDropdown);
|
|
this.add(this.header);
|
|
};
|
|
$hxClasses["flixel.addons.ui.FlxUIDropDownMenu"] = flixel_addons_ui_FlxUIDropDownMenu;
|
|
flixel_addons_ui_FlxUIDropDownMenu.__name__ = "flixel.addons.ui.FlxUIDropDownMenu";
|
|
flixel_addons_ui_FlxUIDropDownMenu.__interfaces__ = [flixel_addons_ui_interfaces_IHasParams,flixel_addons_ui_interfaces_IFlxUIClickable,flixel_addons_ui_interfaces_IFlxUIWidget];
|
|
flixel_addons_ui_FlxUIDropDownMenu.makeStrIdLabelArray = function(StringArray,UseIndexID) {
|
|
if(UseIndexID == null) {
|
|
UseIndexID = false;
|
|
}
|
|
var strIdArray = [];
|
|
var _g = 0;
|
|
var _g1 = StringArray.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var ID = StringArray[i];
|
|
if(UseIndexID) {
|
|
ID = i == null ? "null" : "" + i;
|
|
}
|
|
strIdArray[i] = new flixel_addons_ui_StrNameLabel(ID,StringArray[i]);
|
|
}
|
|
return strIdArray;
|
|
};
|
|
flixel_addons_ui_FlxUIDropDownMenu.__super__ = flixel_addons_ui_FlxUIGroup;
|
|
flixel_addons_ui_FlxUIDropDownMenu.prototype = $extend(flixel_addons_ui_FlxUIGroup.prototype,{
|
|
skipButtonUpdate: null
|
|
,set_skipButtonUpdate: function(b) {
|
|
this.skipButtonUpdate = b;
|
|
this.header.button.set_skipButtonUpdate(b);
|
|
return b;
|
|
}
|
|
,_selectedId: null
|
|
,_selectedLabel: null
|
|
,get_selectedId: function() {
|
|
return this._selectedId;
|
|
}
|
|
,set_selectedId: function(str) {
|
|
if(this._selectedId == str) {
|
|
return str;
|
|
}
|
|
var i = 0;
|
|
var _g = 0;
|
|
var _g1 = this.list;
|
|
while(_g < _g1.length) {
|
|
var btn = _g1[_g];
|
|
++_g;
|
|
if(btn != null && btn.name == str) {
|
|
var item = this.list[i];
|
|
this._selectedId = str;
|
|
if(item.label != null) {
|
|
this._selectedLabel = item.label.text;
|
|
this.header.text.set_text(item.label.text);
|
|
} else {
|
|
this._selectedLabel = "";
|
|
this.header.text.set_text("");
|
|
}
|
|
return str;
|
|
}
|
|
++i;
|
|
}
|
|
return str;
|
|
}
|
|
,get_selectedLabel: function() {
|
|
return this._selectedLabel;
|
|
}
|
|
,set_selectedLabel: function(str) {
|
|
if(this._selectedLabel == str) {
|
|
return str;
|
|
}
|
|
var i = 0;
|
|
var _g = 0;
|
|
var _g1 = this.list;
|
|
while(_g < _g1.length) {
|
|
var btn = _g1[_g];
|
|
++_g;
|
|
if(btn.label.text == str) {
|
|
var item = this.list[i];
|
|
this._selectedId = item.name;
|
|
this._selectedLabel = str;
|
|
this.header.text.set_text(str);
|
|
return str;
|
|
}
|
|
++i;
|
|
}
|
|
return str;
|
|
}
|
|
,header: null
|
|
,list: null
|
|
,dropPanel: null
|
|
,params: null
|
|
,set_params: function(p) {
|
|
return this.params = p;
|
|
}
|
|
,dropDirection: null
|
|
,set_dropDirection: function(dropDirection) {
|
|
this.dropDirection = dropDirection;
|
|
this.updateButtonPositions();
|
|
return dropDirection;
|
|
}
|
|
,callback: null
|
|
,updateButtonPositions: function() {
|
|
var buttonHeight = this.header.background.get_height();
|
|
this.dropPanel.set_y(this.header.background.y);
|
|
if(this.dropsUp()) {
|
|
var _g = this.dropPanel;
|
|
_g.set_y(_g.y - this.getPanelHeight());
|
|
} else {
|
|
var _g = this.dropPanel;
|
|
_g.set_y(_g.y + buttonHeight);
|
|
}
|
|
var offset = this.dropPanel.y;
|
|
var _g = 0;
|
|
var _g1 = this.list;
|
|
while(_g < _g1.length) {
|
|
var button = _g1[_g];
|
|
++_g;
|
|
button.set_y(offset);
|
|
offset += buttonHeight;
|
|
}
|
|
}
|
|
,set_visible: function(Value) {
|
|
var vDropPanel = this.dropPanel.visible;
|
|
var vButtons = [];
|
|
var _g = 0;
|
|
var _g1 = this.list.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(this.list[i] != null) {
|
|
vButtons.push(this.list[i].visible);
|
|
} else {
|
|
vButtons.push(false);
|
|
}
|
|
}
|
|
flixel_addons_ui_FlxUIGroup.prototype.set_visible.call(this,Value);
|
|
this.dropPanel.set_visible(vDropPanel);
|
|
var _g = 0;
|
|
var _g1 = this.list.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(this.list[i] != null) {
|
|
this.list[i].set_visible(vButtons[i]);
|
|
}
|
|
}
|
|
return Value;
|
|
}
|
|
,dropsUp: function() {
|
|
if(this.dropDirection != flixel_addons_ui_FlxUIDropDownMenuDropDirection.Up) {
|
|
if(this.dropDirection == flixel_addons_ui_FlxUIDropDownMenuDropDirection.Automatic) {
|
|
return this.exceedsHeight();
|
|
} else {
|
|
return false;
|
|
}
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
,exceedsHeight: function() {
|
|
return this.y + this.getPanelHeight() + this.header.background.get_height() > flixel_FlxG.height;
|
|
}
|
|
,getPanelHeight: function() {
|
|
return this.list.length * this.header.background.get_height();
|
|
}
|
|
,setData: function(DataList) {
|
|
var i = 0;
|
|
if(DataList != null) {
|
|
var _g = 0;
|
|
while(_g < DataList.length) {
|
|
var data = DataList[_g];
|
|
++_g;
|
|
var recycled = false;
|
|
if(this.list != null) {
|
|
if(i <= this.list.length - 1) {
|
|
var btn = this.list[i];
|
|
if(btn != null) {
|
|
btn.label.set_text(data.label);
|
|
this.list[i].name = data.name;
|
|
recycled = true;
|
|
}
|
|
}
|
|
} else {
|
|
this.list = [];
|
|
}
|
|
if(!recycled) {
|
|
var t = this.makeListButton(i,data.label,data.name);
|
|
this.list.push(t);
|
|
this.add(t);
|
|
t.set_visible(false);
|
|
}
|
|
++i;
|
|
}
|
|
if(this.list.length > DataList.length) {
|
|
var _g = DataList.length;
|
|
var _g1 = this.list.length;
|
|
while(_g < _g1) {
|
|
var j = _g++;
|
|
var b = this.list.pop();
|
|
b.set_visible(false);
|
|
b.set_active(false);
|
|
this.remove(b,true);
|
|
b.destroy();
|
|
b = null;
|
|
}
|
|
}
|
|
this.selectSomething(DataList[0].name,DataList[0].label);
|
|
}
|
|
this.dropPanel.resize(this.header.background.get_width(),this.getPanelHeight());
|
|
this.updateButtonPositions();
|
|
}
|
|
,selectSomething: function(name,label) {
|
|
this.header.text.set_text(label);
|
|
this.set_selectedId(name);
|
|
this.set_selectedLabel(label);
|
|
}
|
|
,makeListButton: function(i,Label,Name) {
|
|
var t = new flixel_addons_ui_FlxUIButton(0,0,Label);
|
|
t.broadcastToFlxUI = false;
|
|
var _g = $bind(this,this.onClickItem);
|
|
var i1 = i;
|
|
var tmp = function() {
|
|
_g(i1);
|
|
};
|
|
t.onUp.callback = tmp;
|
|
t.name = Name;
|
|
t.loadGraphicSlice9(["flixel/flixel-ui/img/invis.png","flixel/flixel-ui/img/hilight.png","flixel/flixel-ui/img/hilight.png"],this.header.background.get_width() | 0,this.header.background.get_height() | 0,[[1,1,3,3],[1,1,3,3],[1,1,3,3]],0);
|
|
var _g1 = t.labelOffsets[2];
|
|
_g1.set_y(_g1.y - 1);
|
|
t.up_color = -16777216;
|
|
t.over_color = -1;
|
|
t.down_color = -1;
|
|
t.resize(this.header.background.get_width() - 2,this.header.background.get_height() - 1);
|
|
t.label.set_alignment("left");
|
|
t.autoCenterLabel();
|
|
t.set_x(1);
|
|
var _g1 = 0;
|
|
var _g2 = t.labelOffsets;
|
|
while(_g1 < _g2.length) {
|
|
var offset = _g2[_g1];
|
|
++_g1;
|
|
var _g3 = offset;
|
|
_g3.set_x(_g3.x + 2);
|
|
}
|
|
return t;
|
|
}
|
|
,changeLabelByIndex: function(i,NewLabel) {
|
|
var btn = this.getBtnByIndex(i);
|
|
if(btn != null && btn.label != null) {
|
|
btn.label.set_text(NewLabel);
|
|
}
|
|
}
|
|
,changeLabelById: function(name,NewLabel) {
|
|
var btn = this.getBtnById(name);
|
|
if(btn != null && btn.label != null) {
|
|
btn.label.set_text(NewLabel);
|
|
}
|
|
}
|
|
,getBtnByIndex: function(i) {
|
|
if(i >= 0 && i < this.list.length) {
|
|
return this.list[i];
|
|
}
|
|
return null;
|
|
}
|
|
,getBtnById: function(name) {
|
|
var _g = 0;
|
|
var _g1 = this.list;
|
|
while(_g < _g1.length) {
|
|
var btn = _g1[_g];
|
|
++_g;
|
|
if(btn.name == name) {
|
|
return btn;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
,update: function(elapsed) {
|
|
flixel_addons_ui_FlxUIGroup.prototype.update.call(this,elapsed);
|
|
if(this.dropPanel.visible && flixel_FlxG.mouse._leftButton.current == 2) {
|
|
if(!flixel_FlxG.mouse.overlaps(this)) {
|
|
this.showList(false);
|
|
}
|
|
}
|
|
}
|
|
,destroy: function() {
|
|
flixel_addons_ui_FlxUIGroup.prototype.destroy.call(this);
|
|
this.dropPanel = flixel_util_FlxDestroyUtil.destroy(this.dropPanel);
|
|
this.list = flixel_util_FlxDestroyUtil.destroyArray(this.list);
|
|
this.callback = null;
|
|
}
|
|
,showList: function(b) {
|
|
var _g = 0;
|
|
var _g1 = this.list;
|
|
while(_g < _g1.length) {
|
|
var button = _g1[_g];
|
|
++_g;
|
|
button.set_visible(b);
|
|
button.set_active(b);
|
|
}
|
|
this.dropPanel.set_visible(b);
|
|
flixel_addons_ui_FlxUI.forceFocus(b,this);
|
|
}
|
|
,onDropdown: function() {
|
|
if(this.dropPanel.visible) {
|
|
this.showList(false);
|
|
} else {
|
|
this.showList(true);
|
|
}
|
|
}
|
|
,onClickItem: function(i) {
|
|
var item = this.list[i];
|
|
this.selectSomething(item.name,item.label.text);
|
|
this.showList(false);
|
|
if(this.callback != null) {
|
|
this.callback(item.name);
|
|
}
|
|
if(this.broadcastToFlxUI) {
|
|
flixel_addons_ui_FlxUI.event("click_dropdown",this,item.name,this.params);
|
|
}
|
|
}
|
|
,__class__: flixel_addons_ui_FlxUIDropDownMenu
|
|
,__properties__: $extend(flixel_addons_ui_FlxUIGroup.prototype.__properties__,{set_dropDirection:"set_dropDirection",set_params:"set_params",set_selectedLabel:"set_selectedLabel",get_selectedLabel:"get_selectedLabel",set_selectedId:"set_selectedId",get_selectedId:"get_selectedId",set_skipButtonUpdate:"set_skipButtonUpdate"})
|
|
});
|
|
var flixel_addons_ui_FlxUIDropDownHeader = function(Width,Background,Text1,Button) {
|
|
if(Width == null) {
|
|
Width = 120;
|
|
}
|
|
flixel_addons_ui_FlxUIGroup.call(this);
|
|
this.background = Background;
|
|
this.text = Text1;
|
|
this.button = Button;
|
|
if(this.background == null) {
|
|
this.background = new flixel_addons_ui_FlxUI9SliceSprite(0,0,"flixel/flixel-ui/img/box.png",new openfl_geom_Rectangle(0,0,Width,20),[1,1,14,14]);
|
|
}
|
|
if(this.button == null) {
|
|
this.button = new flixel_addons_ui_FlxUISpriteButton(0,0,new flixel_FlxSprite(0,0,"flixel/flixel-ui/img/dropdown_mark.png"));
|
|
this.button.loadGraphicSlice9(["flixel/flixel-ui/img/button_thin.png"],80,20,[flixel_util_FlxStringUtil.toIntArray("6,6,11,11")],0,-1,false,18,18);
|
|
}
|
|
this.button.resize(this.background.get_height(),this.background.get_height());
|
|
this.button.set_x(this.background.x + this.background.get_width() - this.button.get_width());
|
|
this.button.set_width(Width);
|
|
var _g = this.button.offset;
|
|
_g.set_x(_g.x - (Width - this.button.frameWidth));
|
|
this.button.set_x(this.offset.x);
|
|
var _g = this.button.label.offset;
|
|
_g.set_x(_g.x + this.button.offset.x);
|
|
if(this.text == null) {
|
|
this.text = new flixel_addons_ui_FlxUIText(0,0,this.background.get_width() | 0);
|
|
}
|
|
this.text.setPosition(2,4);
|
|
this.text.set_color(-16777216);
|
|
this.add(this.background);
|
|
this.add(this.button);
|
|
this.add(this.text);
|
|
};
|
|
$hxClasses["flixel.addons.ui.FlxUIDropDownHeader"] = flixel_addons_ui_FlxUIDropDownHeader;
|
|
flixel_addons_ui_FlxUIDropDownHeader.__name__ = "flixel.addons.ui.FlxUIDropDownHeader";
|
|
flixel_addons_ui_FlxUIDropDownHeader.__super__ = flixel_addons_ui_FlxUIGroup;
|
|
flixel_addons_ui_FlxUIDropDownHeader.prototype = $extend(flixel_addons_ui_FlxUIGroup.prototype,{
|
|
background: null
|
|
,text: null
|
|
,button: null
|
|
,destroy: function() {
|
|
flixel_addons_ui_FlxUIGroup.prototype.destroy.call(this);
|
|
this.background = flixel_util_FlxDestroyUtil.destroy(this.background);
|
|
this.text = flixel_util_FlxDestroyUtil.destroy(this.text);
|
|
this.button = flixel_util_FlxDestroyUtil.destroy(this.button);
|
|
}
|
|
,__class__: flixel_addons_ui_FlxUIDropDownHeader
|
|
});
|
|
var flixel_addons_ui_FlxUIDropDownMenuDropDirection = $hxEnums["flixel.addons.ui.FlxUIDropDownMenuDropDirection"] = { __ename__ : "flixel.addons.ui.FlxUIDropDownMenuDropDirection", __constructs__ : ["Automatic","Down","Up"]
|
|
,Automatic: {_hx_index:0,__enum__:"flixel.addons.ui.FlxUIDropDownMenuDropDirection",toString:$estr}
|
|
,Down: {_hx_index:1,__enum__:"flixel.addons.ui.FlxUIDropDownMenuDropDirection",toString:$estr}
|
|
,Up: {_hx_index:2,__enum__:"flixel.addons.ui.FlxUIDropDownMenuDropDirection",toString:$estr}
|
|
};
|
|
var flixel_addons_ui_FlxUIInputText = function(X,Y,Width,Text1,size,TextColor,BackgroundColor,EmbeddedFont) {
|
|
this.broadcastToFlxUI = true;
|
|
flixel_addons_ui_FlxInputText.call(this,X,Y,Width,Text1,size,TextColor,BackgroundColor,EmbeddedFont);
|
|
};
|
|
$hxClasses["flixel.addons.ui.FlxUIInputText"] = flixel_addons_ui_FlxUIInputText;
|
|
flixel_addons_ui_FlxUIInputText.__name__ = "flixel.addons.ui.FlxUIInputText";
|
|
flixel_addons_ui_FlxUIInputText.__interfaces__ = [flixel_addons_ui_interfaces_IHasParams,flixel_addons_ui_interfaces_IFlxUIWidget,flixel_addons_ui_interfaces_IResizable];
|
|
flixel_addons_ui_FlxUIInputText.__super__ = flixel_addons_ui_FlxInputText;
|
|
flixel_addons_ui_FlxUIInputText.prototype = $extend(flixel_addons_ui_FlxInputText.prototype,{
|
|
name: null
|
|
,broadcastToFlxUI: null
|
|
,resize: function(w,h) {
|
|
this.set_width(w);
|
|
this.set_height(h);
|
|
this.calcFrame();
|
|
}
|
|
,onChange: function(action) {
|
|
flixel_addons_ui_FlxInputText.prototype.onChange.call(this,action);
|
|
if(this.broadcastToFlxUI) {
|
|
switch(action) {
|
|
case "backspace":case "delete":
|
|
flixel_addons_ui_FlxUI.event("delete_input_text",this,this.text,this.params);
|
|
flixel_addons_ui_FlxUI.event("change_input_text",this,this.text,this.params);
|
|
break;
|
|
case "enter":
|
|
flixel_addons_ui_FlxUI.event("enter_input_text",this,this.text,this.params);
|
|
break;
|
|
case "input":
|
|
flixel_addons_ui_FlxUI.event("input_input_text",this,this.text,this.params);
|
|
flixel_addons_ui_FlxUI.event("change_input_text",this,this.text,this.params);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
,__class__: flixel_addons_ui_FlxUIInputText
|
|
});
|
|
var flixel_addons_ui_FlxUILine = function(X,Y,Axis,Length,Thickness,Color) {
|
|
this.thickness = 1;
|
|
this.length = 10;
|
|
this.axis = flixel_addons_ui_LineAxis.HORIZONTAL;
|
|
flixel_addons_ui_FlxUISprite.call(this,X,Y);
|
|
this.makeGraphic(2,2,-1);
|
|
this.set_color(Color);
|
|
this.set_axis(Axis);
|
|
this.set_length(Length);
|
|
this.set_thickness(Thickness);
|
|
};
|
|
$hxClasses["flixel.addons.ui.FlxUILine"] = flixel_addons_ui_FlxUILine;
|
|
flixel_addons_ui_FlxUILine.__name__ = "flixel.addons.ui.FlxUILine";
|
|
flixel_addons_ui_FlxUILine.__interfaces__ = [flixel_addons_ui_interfaces_IResizable];
|
|
flixel_addons_ui_FlxUILine.__super__ = flixel_addons_ui_FlxUISprite;
|
|
flixel_addons_ui_FlxUILine.prototype = $extend(flixel_addons_ui_FlxUISprite.prototype,{
|
|
axis: null
|
|
,length: null
|
|
,thickness: null
|
|
,set_axis: function(a) {
|
|
this.axis = a;
|
|
this.refresh();
|
|
return a;
|
|
}
|
|
,set_length: function(l) {
|
|
this.length = l;
|
|
this.refresh();
|
|
return l;
|
|
}
|
|
,set_thickness: function(t) {
|
|
this.thickness = t;
|
|
this.refresh();
|
|
return t;
|
|
}
|
|
,refresh: function() {
|
|
if(this.axis == flixel_addons_ui_LineAxis.HORIZONTAL) {
|
|
this.scale.set(0.5 * this.length,0.5 * this.thickness);
|
|
} else {
|
|
this.scale.set(0.5 * this.thickness,0.5 * this.length);
|
|
}
|
|
this.updateHitbox();
|
|
}
|
|
,resize: function(width,height) {
|
|
if(this.axis == flixel_addons_ui_LineAxis.HORIZONTAL) {
|
|
this.set_length(width);
|
|
this.set_thickness(height);
|
|
} else {
|
|
this.set_length(height);
|
|
this.set_thickness(width);
|
|
}
|
|
}
|
|
,__class__: flixel_addons_ui_FlxUILine
|
|
,__properties__: $extend(flixel_addons_ui_FlxUISprite.prototype.__properties__,{set_thickness:"set_thickness",set_length:"set_length",set_axis:"set_axis"})
|
|
});
|
|
var flixel_addons_ui_LineAxis = $hxEnums["flixel.addons.ui.LineAxis"] = { __ename__ : "flixel.addons.ui.LineAxis", __constructs__ : ["HORIZONTAL","VERTICAL"]
|
|
,HORIZONTAL: {_hx_index:0,__enum__:"flixel.addons.ui.LineAxis",toString:$estr}
|
|
,VERTICAL: {_hx_index:1,__enum__:"flixel.addons.ui.LineAxis",toString:$estr}
|
|
};
|
|
var flixel_addons_ui_FlxUIList = function(X,Y,Widgets,W,H,MoreString,Stacking,Spacing,PrevButtonOffset,NextButtonOffset,PrevButton,NextButton) {
|
|
if(Spacing == null) {
|
|
Spacing = 0;
|
|
}
|
|
if(Stacking == null) {
|
|
Stacking = 1;
|
|
}
|
|
if(MoreString == null) {
|
|
MoreString = "<X> more...";
|
|
}
|
|
if(H == null) {
|
|
H = 0;
|
|
}
|
|
if(W == null) {
|
|
W = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
this._skipRefresh = false;
|
|
this.scrollIndex = 0;
|
|
this._skipRefresh = true;
|
|
flixel_addons_ui_FlxUIGroup.call(this,X,Y);
|
|
this.set_stacking(Stacking);
|
|
this.set_spacing(Spacing);
|
|
if(Widgets != null) {
|
|
var _g = 0;
|
|
while(_g < Widgets.length) {
|
|
var widget = Widgets[_g];
|
|
++_g;
|
|
this.add(widget);
|
|
}
|
|
}
|
|
this.prevButton = PrevButton;
|
|
this.nextButton = NextButton;
|
|
this.prevButtonOffset = PrevButtonOffset;
|
|
this.nextButtonOffset = NextButtonOffset;
|
|
this.set_moreString(MoreString);
|
|
if(this.prevButton == null) {
|
|
var _g = $bind(this,this.onClick);
|
|
var i = -1;
|
|
var pButton = new flixel_addons_ui_FlxUIButton(0,0," ",function() {
|
|
_g(i);
|
|
});
|
|
if(this.stacking == 0) {
|
|
pButton.loadGraphicsUpOverDown("flixel/flixel-ui/img/button_arrow_left.png");
|
|
pButton.label.set_width(pButton.label.set_fieldWidth(100));
|
|
pButton.label.set_text(this.getMoreString(0));
|
|
pButton.setAllLabelOffsets(pButton.get_width() - pButton.label.get_width(),pButton.get_height() + 2);
|
|
pButton.label.set_alignment("right");
|
|
} else {
|
|
pButton.loadGraphicsUpOverDown("flixel/flixel-ui/img/button_arrow_up.png");
|
|
pButton.label.set_width(pButton.label.set_fieldWidth(100));
|
|
pButton.label.set_text(this.getMoreString(0));
|
|
pButton.setAllLabelOffsets(0,0);
|
|
pButton.setCenterLabelOffset(pButton.get_width() + 2,pButton.get_height() - pButton.label.get_height());
|
|
pButton.label.set_alignment("left");
|
|
}
|
|
this.prevButton = pButton;
|
|
} else {
|
|
if(((this.prevButton) instanceof flixel_addons_ui_FlxUIButton)) {
|
|
var fuib = this.prevButton;
|
|
var _g1 = $bind(this,this.onClick);
|
|
var i1 = -1;
|
|
var tmp = function() {
|
|
_g1(i1);
|
|
};
|
|
fuib.onUp.callback = tmp;
|
|
}
|
|
if(((this.prevButton) instanceof flixel_addons_ui_FlxUISpriteButton)) {
|
|
var fusb = this.prevButton;
|
|
var _g2 = $bind(this,this.onClick);
|
|
var i2 = -1;
|
|
var tmp = function() {
|
|
_g2(i2);
|
|
};
|
|
fusb.onUp.callback = tmp;
|
|
}
|
|
}
|
|
if(this.nextButton == null) {
|
|
var _g3 = $bind(this,this.onClick);
|
|
var i3 = 1;
|
|
var nButton = new flixel_addons_ui_FlxUIButton(0,0," ",function() {
|
|
_g3(i3);
|
|
});
|
|
if(this.stacking == 0) {
|
|
nButton.loadGraphicsUpOverDown("flixel/flixel-ui/img/button_arrow_right.png");
|
|
nButton.label.set_width(nButton.label.set_fieldWidth(100));
|
|
nButton.label.set_text(this.getMoreString(0));
|
|
nButton.setAllLabelOffsets(0,nButton.get_height() + 2);
|
|
nButton.label.set_alignment("left");
|
|
} else {
|
|
nButton.loadGraphicsUpOverDown("flixel/flixel-ui/img/button_arrow_down.png");
|
|
nButton.label.set_width(nButton.label.set_fieldWidth(100));
|
|
nButton.label.set_text(this.getMoreString(0));
|
|
nButton.setAllLabelOffsets(0,0);
|
|
nButton.setCenterLabelOffset(nButton.get_width() + 2,0);
|
|
nButton.label.set_alignment("left");
|
|
}
|
|
this.nextButton = nButton;
|
|
} else {
|
|
if(((this.nextButton) instanceof flixel_addons_ui_FlxUIButton)) {
|
|
var fuib = this.nextButton;
|
|
var _g4 = $bind(this,this.onClick);
|
|
var i4 = 1;
|
|
var tmp = function() {
|
|
_g4(i4);
|
|
};
|
|
fuib.onUp.callback = tmp;
|
|
}
|
|
if(((this.nextButton) instanceof flixel_addons_ui_FlxUISpriteButton)) {
|
|
var fusb = this.nextButton;
|
|
var _g5 = $bind(this,this.onClick);
|
|
var i5 = 1;
|
|
var tmp = function() {
|
|
_g5(i5);
|
|
};
|
|
fusb.onUp.callback = tmp;
|
|
}
|
|
}
|
|
if(this.prevButtonOffset == null) {
|
|
var X = 0;
|
|
var Y = 0;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
this.prevButtonOffset = point;
|
|
}
|
|
if(this.nextButtonOffset == null) {
|
|
var X = 0;
|
|
var Y = 0;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
this.nextButtonOffset = point;
|
|
}
|
|
this._skipRefresh = false;
|
|
this.setSize(W,H);
|
|
};
|
|
$hxClasses["flixel.addons.ui.FlxUIList"] = flixel_addons_ui_FlxUIList;
|
|
flixel_addons_ui_FlxUIList.__name__ = "flixel.addons.ui.FlxUIList";
|
|
flixel_addons_ui_FlxUIList.__super__ = flixel_addons_ui_FlxUIGroup;
|
|
flixel_addons_ui_FlxUIList.prototype = $extend(flixel_addons_ui_FlxUIGroup.prototype,{
|
|
scrollIndex: null
|
|
,set_scrollIndex: function(i) {
|
|
this.scrollIndex = i;
|
|
this.refreshList();
|
|
return i;
|
|
}
|
|
,stacking: null
|
|
,set_stacking: function(Stacking) {
|
|
this.stacking = Stacking;
|
|
this.refreshList();
|
|
return Stacking;
|
|
}
|
|
,spacing: null
|
|
,set_spacing: function(Spacing) {
|
|
this.spacing = Spacing;
|
|
this.refreshList();
|
|
return Spacing;
|
|
}
|
|
,prevButtonOffset: null
|
|
,nextButtonOffset: null
|
|
,prevButton: null
|
|
,nextButton: null
|
|
,moreString: null
|
|
,set_moreString: function(str) {
|
|
this.moreString = str;
|
|
this.refreshList();
|
|
return this.moreString;
|
|
}
|
|
,amountPrevious: null
|
|
,amountNext: null
|
|
,destroy: function() {
|
|
this.prevButton = null;
|
|
this.nextButton = null;
|
|
this.prevButtonOffset.put();
|
|
this.nextButtonOffset.put();
|
|
this.prevButtonOffset = null;
|
|
this.nextButtonOffset = null;
|
|
flixel_addons_ui_FlxUIGroup.prototype.destroy.call(this);
|
|
}
|
|
,setSize: function(W,H) {
|
|
var flip = false;
|
|
if(this._skipRefresh == false) {
|
|
this._skipRefresh = true;
|
|
flip = true;
|
|
}
|
|
this.set_width(W);
|
|
this.set_height(H);
|
|
if(flip) {
|
|
this._skipRefresh = false;
|
|
}
|
|
this.refreshList();
|
|
}
|
|
,add: function(Object1) {
|
|
flixel_addons_ui_FlxUIGroup.prototype.add.call(this,Object1);
|
|
this.refreshList();
|
|
return Object1;
|
|
}
|
|
,safeAdd: function(Object1) {
|
|
return flixel_addons_ui_FlxUIGroup.prototype.add.call(this,Object1);
|
|
}
|
|
,_skipRefresh: null
|
|
,getMoreString: function(i) {
|
|
var newString = this.moreString;
|
|
while(newString.indexOf("<X>") != -1) newString = StringTools.replace(newString,"<X>",i == null ? "null" : "" + i);
|
|
return newString;
|
|
}
|
|
,set_visible: function(Value) {
|
|
flixel_addons_ui_FlxUIGroup.prototype.set_visible.call(this,Value);
|
|
this.refreshList();
|
|
return Value;
|
|
}
|
|
,onClick: function(i) {
|
|
var _g = this;
|
|
_g.set_scrollIndex(_g.scrollIndex + i);
|
|
this.refreshList();
|
|
}
|
|
,refreshList: function() {
|
|
if(this._skipRefresh) {
|
|
return;
|
|
}
|
|
this.autoBounds = false;
|
|
if(this.group.members.indexOf(this.prevButton) != -1) {
|
|
this.remove(this.prevButton,true);
|
|
}
|
|
if(this.group.members.indexOf(this.nextButton) != -1) {
|
|
this.remove(this.nextButton,true);
|
|
}
|
|
var XX = 0;
|
|
var YY = 0;
|
|
var i = 0;
|
|
var inBounds = true;
|
|
if(this.stacking == 0) {
|
|
this.prevButton.set_x(this.prevButtonOffset.x - this.prevButton.get_width() - 2);
|
|
this.prevButton.set_y(this.prevButtonOffset.y);
|
|
this.nextButton.set_x(this.nextButtonOffset.x + this.get_width() + 2);
|
|
this.nextButton.set_y(this.nextButtonOffset.y);
|
|
} else {
|
|
this.prevButton.set_x(this.prevButtonOffset.x);
|
|
this.prevButton.set_y(this.prevButtonOffset.y - this.prevButton.get_height() - 2);
|
|
this.nextButton.set_x(this.nextButtonOffset.x);
|
|
this.nextButton.set_y(this.nextButtonOffset.y + this.get_height() + 2);
|
|
}
|
|
this.prevButton.set_x(this.prevButton.x | 0);
|
|
this.prevButton.set_y(this.prevButton.y | 0);
|
|
this.nextButton.set_x(this.nextButton.x | 0);
|
|
this.nextButton.set_y(this.nextButton.y | 0);
|
|
var highestIndex = 0;
|
|
var _g = 0;
|
|
var _g1 = this.group.members;
|
|
while(_g < _g1.length) {
|
|
var widget = _g1[_g];
|
|
++_g;
|
|
inBounds = false;
|
|
if(i >= this.scrollIndex) {
|
|
if(this.stacking == 1) {
|
|
inBounds = YY + widget.get_height() <= this.get_height() || this.get_height() <= 0;
|
|
} else {
|
|
inBounds = XX + widget.get_width() <= this.get_width() || this.get_width() <= 0;
|
|
}
|
|
}
|
|
if(inBounds) {
|
|
highestIndex = i;
|
|
widget.set_visible(widget.set_active(true));
|
|
widget.set_x(this.x + XX);
|
|
widget.set_y(this.y + YY);
|
|
if(this.stacking == 1) {
|
|
YY += widget.get_height() + this.spacing;
|
|
} else {
|
|
XX += widget.get_width() + this.spacing;
|
|
}
|
|
} else {
|
|
widget.set_x(widget.set_y(0));
|
|
widget.set_visible(widget.set_active(false));
|
|
}
|
|
++i;
|
|
}
|
|
this.amountPrevious = this.scrollIndex;
|
|
this.amountNext = this.group.members.length - (highestIndex + 1);
|
|
var fuibutton;
|
|
if(this.amountPrevious > 0) {
|
|
this.safeAdd(this.prevButton);
|
|
if(((this.prevButton) instanceof flixel_addons_ui_FlxUIButton)) {
|
|
fuibutton = this.prevButton;
|
|
fuibutton.label.set_text(this.getMoreString(this.amountPrevious));
|
|
}
|
|
}
|
|
if(this.amountNext > 0) {
|
|
this.safeAdd(this.nextButton);
|
|
if(((this.nextButton) instanceof flixel_addons_ui_FlxUIButton)) {
|
|
fuibutton = this.nextButton;
|
|
fuibutton.label.set_text(this.getMoreString(this.amountNext));
|
|
}
|
|
}
|
|
}
|
|
,get_width: function() {
|
|
return this.width;
|
|
}
|
|
,get_height: function() {
|
|
return this.height;
|
|
}
|
|
,set_width: function(W) {
|
|
this.width = W;
|
|
this.refreshList();
|
|
return W;
|
|
}
|
|
,set_height: function(H) {
|
|
this.height = H;
|
|
this.refreshList();
|
|
return H;
|
|
}
|
|
,__class__: flixel_addons_ui_FlxUIList
|
|
,__properties__: $extend(flixel_addons_ui_FlxUIGroup.prototype.__properties__,{set_moreString:"set_moreString",set_spacing:"set_spacing",set_stacking:"set_stacking",set_scrollIndex:"set_scrollIndex"})
|
|
});
|
|
var flixel_input_FlxPointer = function() {
|
|
this._globalScreenY = 0;
|
|
this._globalScreenX = 0;
|
|
this.screenY = 0;
|
|
this.screenX = 0;
|
|
this.y = 0;
|
|
this.x = 0;
|
|
};
|
|
$hxClasses["flixel.input.FlxPointer"] = flixel_input_FlxPointer;
|
|
flixel_input_FlxPointer.__name__ = "flixel.input.FlxPointer";
|
|
flixel_input_FlxPointer.prototype = {
|
|
x: null
|
|
,y: null
|
|
,screenX: null
|
|
,screenY: null
|
|
,_globalScreenX: null
|
|
,_globalScreenY: null
|
|
,getWorldPosition: function(Camera,point) {
|
|
if(Camera == null) {
|
|
Camera = flixel_FlxG.camera;
|
|
}
|
|
if(point == null) {
|
|
var point1 = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point1._inPool = false;
|
|
point = point1;
|
|
}
|
|
this.getScreenPosition(Camera,flixel_input_FlxPointer._cachedPoint);
|
|
point.set_x(flixel_input_FlxPointer._cachedPoint.x + Camera.scroll.x);
|
|
point.set_y(flixel_input_FlxPointer._cachedPoint.y + Camera.scroll.y);
|
|
return point;
|
|
}
|
|
,getScreenPosition: function(Camera,point) {
|
|
if(Camera == null) {
|
|
Camera = flixel_FlxG.camera;
|
|
}
|
|
if(point == null) {
|
|
var point1 = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point1._inPool = false;
|
|
point = point1;
|
|
}
|
|
point.set_x((this._globalScreenX - Camera.x + 0.5 * Camera.width * (Camera.zoom - Camera.initialZoom)) / Camera.zoom);
|
|
point.set_y((this._globalScreenY - Camera.y + 0.5 * Camera.height * (Camera.zoom - Camera.initialZoom)) / Camera.zoom);
|
|
return point;
|
|
}
|
|
,getPositionInCameraView: function(Camera,point) {
|
|
if(Camera == null) {
|
|
Camera = flixel_FlxG.camera;
|
|
}
|
|
if(point == null) {
|
|
var point1 = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point1._inPool = false;
|
|
point = point1;
|
|
}
|
|
point.set_x((this._globalScreenX - Camera.x) / Camera.zoom + Camera.viewOffsetX);
|
|
point.set_y((this._globalScreenY - Camera.y) / Camera.zoom + Camera.viewOffsetY);
|
|
return point;
|
|
}
|
|
,getPosition: function(point) {
|
|
if(point == null) {
|
|
var point1 = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point1._inPool = false;
|
|
point = point1;
|
|
}
|
|
return point.set(this.x,this.y);
|
|
}
|
|
,overlaps: function(ObjectOrGroup,Camera) {
|
|
var _gthis = this;
|
|
var result = false;
|
|
var group = flixel_group_FlxTypedGroup.resolveGroup(ObjectOrGroup);
|
|
if(group != null) {
|
|
group.forEachExists(function(basic) {
|
|
if(_gthis.overlaps(basic,Camera)) {
|
|
result = true;
|
|
return;
|
|
}
|
|
});
|
|
} else {
|
|
this.getPosition(flixel_input_FlxPointer._cachedPoint);
|
|
var object = ObjectOrGroup;
|
|
result = object.overlapsPoint(flixel_input_FlxPointer._cachedPoint,true,Camera);
|
|
}
|
|
return result;
|
|
}
|
|
,setGlobalScreenPositionUnsafe: function(newX,newY) {
|
|
this._globalScreenX = newX / flixel_FlxG.scaleMode.scale.x | 0;
|
|
this._globalScreenY = newY / flixel_FlxG.scaleMode.scale.y | 0;
|
|
this.updatePositions();
|
|
}
|
|
,toString: function() {
|
|
var value = this.x;
|
|
var _this = flixel_util_LabelValuePair._pool.get();
|
|
_this.label = "x";
|
|
_this.value = value;
|
|
var value = this.y;
|
|
var _this1 = flixel_util_LabelValuePair._pool.get();
|
|
_this1.label = "y";
|
|
_this1.value = value;
|
|
return flixel_util_FlxStringUtil.getDebugString([_this,_this1]);
|
|
}
|
|
,updatePositions: function() {
|
|
this.getScreenPosition(flixel_FlxG.camera,flixel_input_FlxPointer._cachedPoint);
|
|
this.screenX = flixel_input_FlxPointer._cachedPoint.x | 0;
|
|
this.screenY = flixel_input_FlxPointer._cachedPoint.y | 0;
|
|
this.getWorldPosition(flixel_FlxG.camera,flixel_input_FlxPointer._cachedPoint);
|
|
this.x = flixel_input_FlxPointer._cachedPoint.x | 0;
|
|
this.y = flixel_input_FlxPointer._cachedPoint.y | 0;
|
|
}
|
|
,__class__: flixel_input_FlxPointer
|
|
};
|
|
var flixel_input_IFlxInputManager = function() { };
|
|
$hxClasses["flixel.input.IFlxInputManager"] = flixel_input_IFlxInputManager;
|
|
flixel_input_IFlxInputManager.__name__ = "flixel.input.IFlxInputManager";
|
|
flixel_input_IFlxInputManager.__isInterface__ = true;
|
|
flixel_input_IFlxInputManager.__interfaces__ = [flixel_util_IFlxDestroyable];
|
|
flixel_input_IFlxInputManager.prototype = {
|
|
reset: null
|
|
,update: null
|
|
,onFocus: null
|
|
,onFocusLost: null
|
|
,__class__: flixel_input_IFlxInputManager
|
|
};
|
|
var flixel_input_mouse_FlxMouse = function(cursorContainer) {
|
|
this._prevY = 0;
|
|
this._prevX = 0;
|
|
this._lastWheel = 0;
|
|
this._lastY = 0;
|
|
this._lastX = 0;
|
|
this._visibleWhenFocusLost = true;
|
|
this._wheelUsed = false;
|
|
this._cursor = null;
|
|
this.useSystemCursor = false;
|
|
this.visible = true;
|
|
this.wheel = 0;
|
|
this.enabled = true;
|
|
flixel_input_FlxPointer.call(this);
|
|
this.cursorContainer = cursorContainer;
|
|
this.cursorContainer.mouseChildren = false;
|
|
this.cursorContainer.mouseEnabled = false;
|
|
this._leftButton = new flixel_input_mouse_FlxMouseButton(-1);
|
|
this._stage = openfl_Lib.get_current().stage;
|
|
this._stage.addEventListener("mouseDown",($_=this._leftButton,$bind($_,$_.onDown)));
|
|
this._stage.addEventListener("mouseUp",($_=this._leftButton,$bind($_,$_.onUp)));
|
|
this._middleButton = new flixel_input_mouse_FlxMouseButton(-2);
|
|
this._rightButton = new flixel_input_mouse_FlxMouseButton(-3);
|
|
this._stage.addEventListener("middleMouseDown",($_=this._middleButton,$bind($_,$_.onDown)));
|
|
this._stage.addEventListener("middleMouseUp",($_=this._middleButton,$bind($_,$_.onUp)));
|
|
this._stage.addEventListener("rightMouseDown",($_=this._rightButton,$bind($_,$_.onDown)));
|
|
this._stage.addEventListener("rightMouseUp",($_=this._rightButton,$bind($_,$_.onUp)));
|
|
this._stage.addEventListener("mouseLeave",$bind(this,this.onMouseLeave));
|
|
this._stage.addEventListener("mouseWheel",$bind(this,this.onMouseWheel));
|
|
flixel_FlxG.signals.postGameStart.add($bind(this,this.onGameStart));
|
|
openfl_ui_Mouse.hide();
|
|
};
|
|
$hxClasses["flixel.input.mouse.FlxMouse"] = flixel_input_mouse_FlxMouse;
|
|
flixel_input_mouse_FlxMouse.__name__ = "flixel.input.mouse.FlxMouse";
|
|
flixel_input_mouse_FlxMouse.__interfaces__ = [flixel_input_IFlxInputManager];
|
|
flixel_input_mouse_FlxMouse.__super__ = flixel_input_FlxPointer;
|
|
flixel_input_mouse_FlxMouse.prototype = $extend(flixel_input_FlxPointer.prototype,{
|
|
enabled: null
|
|
,wheel: null
|
|
,cursorContainer: null
|
|
,visible: null
|
|
,useSystemCursor: null
|
|
,_leftButton: null
|
|
,_middleButton: null
|
|
,_rightButton: null
|
|
,_cursor: null
|
|
,_cursorBitmapData: null
|
|
,_wheelUsed: null
|
|
,_visibleWhenFocusLost: null
|
|
,_lastX: null
|
|
,_lastY: null
|
|
,_lastWheel: null
|
|
,_lastLeftButtonState: null
|
|
,_prevX: null
|
|
,_prevY: null
|
|
,_stage: null
|
|
,load: function(Graphic,Scale,XOffset,YOffset) {
|
|
if(YOffset == null) {
|
|
YOffset = 0;
|
|
}
|
|
if(XOffset == null) {
|
|
XOffset = 0;
|
|
}
|
|
if(Scale == null) {
|
|
Scale = 1;
|
|
}
|
|
if(this._cursor != null) {
|
|
flixel_util_FlxDestroyUtil.removeChild(this.cursorContainer,this._cursor);
|
|
}
|
|
if(Graphic == null) {
|
|
Graphic = new flixel_input_mouse__$FlxMouse_GraphicCursor(0,0);
|
|
}
|
|
if(js_Boot.__instanceof(Graphic,Class)) {
|
|
this._cursor = Type.createInstance(Graphic,[]);
|
|
} else if(((Graphic) instanceof openfl_display_BitmapData)) {
|
|
this._cursor = new openfl_display_Bitmap(Graphic);
|
|
} else if(typeof(Graphic) == "string") {
|
|
var id = Graphic;
|
|
this._cursor = new openfl_display_Bitmap(openfl_utils_Assets.exists(id) ? openfl_utils_Assets.getBitmapData(id,false) : null);
|
|
} else {
|
|
this._cursor = new openfl_display_Bitmap(new flixel_input_mouse__$FlxMouse_GraphicCursor(0,0));
|
|
}
|
|
this._cursor.set_x(XOffset);
|
|
this._cursor.set_y(YOffset);
|
|
this._cursor.set_scaleX(Scale);
|
|
this._cursor.set_scaleY(Scale);
|
|
this.cursorContainer.addChild(this._cursor);
|
|
}
|
|
,unload: function() {
|
|
if(this._cursor != null) {
|
|
if(this.cursorContainer.get_visible()) {
|
|
this.load();
|
|
} else {
|
|
this._cursor = flixel_util_FlxDestroyUtil.removeChild(this.cursorContainer,this._cursor);
|
|
}
|
|
}
|
|
}
|
|
,destroy: function() {
|
|
if(this._stage != null) {
|
|
this._stage.removeEventListener("mouseDown",($_=this._leftButton,$bind($_,$_.onDown)));
|
|
this._stage.removeEventListener("mouseUp",($_=this._leftButton,$bind($_,$_.onUp)));
|
|
this._stage.removeEventListener("middleMouseDown",($_=this._middleButton,$bind($_,$_.onDown)));
|
|
this._stage.removeEventListener("middleMouseUp",($_=this._middleButton,$bind($_,$_.onUp)));
|
|
this._stage.removeEventListener("rightMouseDown",($_=this._rightButton,$bind($_,$_.onDown)));
|
|
this._stage.removeEventListener("rightMouseUp",($_=this._rightButton,$bind($_,$_.onUp)));
|
|
this._stage.removeEventListener("mouseLeave",$bind(this,this.onMouseLeave));
|
|
this._stage.removeEventListener("mouseWheel",$bind(this,this.onMouseWheel));
|
|
}
|
|
this.cursorContainer = null;
|
|
this._cursor = null;
|
|
this._leftButton = flixel_util_FlxDestroyUtil.destroy(this._leftButton);
|
|
this._middleButton = flixel_util_FlxDestroyUtil.destroy(this._middleButton);
|
|
this._rightButton = flixel_util_FlxDestroyUtil.destroy(this._rightButton);
|
|
this._cursorBitmapData = flixel_util_FlxDestroyUtil.dispose(this._cursorBitmapData);
|
|
flixel_FlxG.signals.postGameStart.remove($bind(this,this.onGameStart));
|
|
}
|
|
,reset: function() {
|
|
this._leftButton.reset();
|
|
this._middleButton.reset();
|
|
this._rightButton.reset();
|
|
}
|
|
,update: function() {
|
|
this._prevX = this.x;
|
|
this._prevY = this.y;
|
|
var newX = flixel_FlxG.game.get_mouseX();
|
|
var newY = flixel_FlxG.game.get_mouseY();
|
|
this._globalScreenX = newX / flixel_FlxG.scaleMode.scale.x | 0;
|
|
this._globalScreenY = newY / flixel_FlxG.scaleMode.scale.y | 0;
|
|
this.updatePositions();
|
|
if(this.visible) {
|
|
this.cursorContainer.set_x(flixel_FlxG.game.get_mouseX());
|
|
this.cursorContainer.set_y(flixel_FlxG.game.get_mouseY());
|
|
}
|
|
this._leftButton.update();
|
|
this._middleButton.update();
|
|
this._rightButton.update();
|
|
if(!this._wheelUsed) {
|
|
this.wheel = 0;
|
|
}
|
|
this._wheelUsed = false;
|
|
}
|
|
,onFocus: function() {
|
|
this.reset();
|
|
this.set_useSystemCursor(this.useSystemCursor);
|
|
this.set_visible(this._visibleWhenFocusLost);
|
|
}
|
|
,onFocusLost: function() {
|
|
this._visibleWhenFocusLost = this.visible;
|
|
if(this.visible) {
|
|
this.set_visible(false);
|
|
}
|
|
openfl_ui_Mouse.show();
|
|
}
|
|
,onGameStart: function() {
|
|
this.set_visible(this.visible);
|
|
}
|
|
,onMouseWheel: function(flashEvent) {
|
|
if(this.enabled) {
|
|
this._wheelUsed = true;
|
|
this.wheel = flashEvent.delta;
|
|
}
|
|
}
|
|
,onMouseLeave: function(_) {
|
|
this._rightButton.onUp();
|
|
this._middleButton.onUp();
|
|
}
|
|
,get_justMoved: function() {
|
|
if(this._prevX == this.x) {
|
|
return this._prevY != this.y;
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
,get_pressed: function() {
|
|
var _this = this._leftButton;
|
|
if(_this.current != 1) {
|
|
return _this.current == 2;
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
,get_justPressed: function() {
|
|
return this._leftButton.current == 2;
|
|
}
|
|
,get_justReleased: function() {
|
|
return this._leftButton.current == -1;
|
|
}
|
|
,get_justPressedTimeInTicks: function() {
|
|
return this._leftButton.justPressedTimeInTicks;
|
|
}
|
|
,get_pressedRight: function() {
|
|
var _this = this._rightButton;
|
|
if(_this.current != 1) {
|
|
return _this.current == 2;
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
,get_justPressedRight: function() {
|
|
return this._rightButton.current == 2;
|
|
}
|
|
,get_justReleasedRight: function() {
|
|
return this._rightButton.current == -1;
|
|
}
|
|
,get_justPressedTimeInTicksRight: function() {
|
|
return this._rightButton.justPressedTimeInTicks;
|
|
}
|
|
,get_pressedMiddle: function() {
|
|
var _this = this._middleButton;
|
|
if(_this.current != 1) {
|
|
return _this.current == 2;
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
,get_justPressedMiddle: function() {
|
|
return this._middleButton.current == 2;
|
|
}
|
|
,get_justReleasedMiddle: function() {
|
|
return this._middleButton.current == -1;
|
|
}
|
|
,get_justPressedTimeInTicksMiddle: function() {
|
|
return this._middleButton.justPressedTimeInTicks;
|
|
}
|
|
,showSystemCursor: function() {
|
|
this.cursorContainer.set_visible(false);
|
|
openfl_ui_Mouse.show();
|
|
}
|
|
,hideSystemCursor: function() {
|
|
openfl_ui_Mouse.hide();
|
|
if(this.visible) {
|
|
this.cursorContainer.set_visible(true);
|
|
}
|
|
}
|
|
,set_useSystemCursor: function(value) {
|
|
if(value) {
|
|
this.showSystemCursor();
|
|
} else {
|
|
this.hideSystemCursor();
|
|
}
|
|
return this.useSystemCursor = value;
|
|
}
|
|
,showCursor: function() {
|
|
if(this.useSystemCursor) {
|
|
openfl_ui_Mouse.show();
|
|
} else {
|
|
if(this._cursor == null) {
|
|
this.load();
|
|
}
|
|
this.cursorContainer.set_visible(true);
|
|
openfl_ui_Mouse.hide();
|
|
}
|
|
}
|
|
,hideCursor: function() {
|
|
this.cursorContainer.set_visible(false);
|
|
openfl_ui_Mouse.hide();
|
|
}
|
|
,set_visible: function(value) {
|
|
if(value) {
|
|
this.showCursor();
|
|
} else {
|
|
this.hideCursor();
|
|
}
|
|
return this.visible = value;
|
|
}
|
|
,record: function() {
|
|
if(this._lastX == this._globalScreenX && this._lastY == this._globalScreenY && this._lastLeftButtonState == this._leftButton.current && this._lastWheel == this.wheel) {
|
|
return null;
|
|
}
|
|
this._lastX = this._globalScreenX;
|
|
this._lastY = this._globalScreenY;
|
|
this._lastLeftButtonState = this._leftButton.current;
|
|
this._lastWheel = this.wheel;
|
|
return new flixel_system_replay_MouseRecord(this._lastX,this._lastY,this._leftButton.current,this._lastWheel);
|
|
}
|
|
,playback: function(record) {
|
|
if((this._lastLeftButtonState == 1 || this._lastLeftButtonState == 2) && (record.button == 0 || record.button == -1)) {
|
|
this._stage.dispatchEvent(new openfl_events_MouseEvent("mouseUp",true,false,record.x,record.y));
|
|
}
|
|
this._lastLeftButtonState = this._leftButton.current = record.button;
|
|
this.wheel = record.wheel;
|
|
this._globalScreenX = record.x;
|
|
this._globalScreenY = record.y;
|
|
this.updatePositions();
|
|
}
|
|
,__class__: flixel_input_mouse_FlxMouse
|
|
,__properties__: {get_justPressedTimeInTicksMiddle:"get_justPressedTimeInTicksMiddle",get_justReleasedMiddle:"get_justReleasedMiddle",get_justPressedMiddle:"get_justPressedMiddle",get_pressedMiddle:"get_pressedMiddle",get_justPressedTimeInTicksRight:"get_justPressedTimeInTicksRight",get_justReleasedRight:"get_justReleasedRight",get_justPressedRight:"get_justPressedRight",get_pressedRight:"get_pressedRight",get_justPressedTimeInTicks:"get_justPressedTimeInTicks",get_justReleased:"get_justReleased",get_justPressed:"get_justPressed",get_pressed:"get_pressed",get_justMoved:"get_justMoved",set_useSystemCursor:"set_useSystemCursor",set_visible:"set_visible"}
|
|
});
|
|
var flixel_addons_ui_FlxUIMouse = function(CursorContainer) {
|
|
this.updateGlobalScreenPosition = true;
|
|
flixel_input_mouse_FlxMouse.call(this,CursorContainer);
|
|
};
|
|
$hxClasses["flixel.addons.ui.FlxUIMouse"] = flixel_addons_ui_FlxUIMouse;
|
|
flixel_addons_ui_FlxUIMouse.__name__ = "flixel.addons.ui.FlxUIMouse";
|
|
flixel_addons_ui_FlxUIMouse.__super__ = flixel_input_mouse_FlxMouse;
|
|
flixel_addons_ui_FlxUIMouse.prototype = $extend(flixel_input_mouse_FlxMouse.prototype,{
|
|
updateGlobalScreenPosition: null
|
|
,update: function() {
|
|
var oldScreenX = this._globalScreenX;
|
|
var oldScreenY = this._globalScreenY;
|
|
flixel_input_mouse_FlxMouse.prototype.update.call(this);
|
|
if(!this.updateGlobalScreenPosition) {
|
|
this._globalScreenX = oldScreenX;
|
|
this._globalScreenY = oldScreenY;
|
|
}
|
|
}
|
|
,__class__: flixel_addons_ui_FlxUIMouse
|
|
});
|
|
var flixel_addons_ui_FlxUINumericStepper = function(X,Y,StepSize,DefaultValue,Min,Max,Decimals,Stack,TextField,ButtonPlus,ButtonMinus,IsPercent) {
|
|
if(IsPercent == null) {
|
|
IsPercent = false;
|
|
}
|
|
if(Stack == null) {
|
|
Stack = 1;
|
|
}
|
|
if(Decimals == null) {
|
|
Decimals = 0;
|
|
}
|
|
if(Max == null) {
|
|
Max = 999;
|
|
}
|
|
if(Min == null) {
|
|
Min = -999;
|
|
}
|
|
if(DefaultValue == null) {
|
|
DefaultValue = 0;
|
|
}
|
|
if(StepSize == null) {
|
|
StepSize = 1;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
this.isPercent = false;
|
|
this.stack = 1;
|
|
this.value = 0;
|
|
this.max = 10;
|
|
this.min = 0;
|
|
this.decimals = 0;
|
|
this.stepSize = 0;
|
|
flixel_addons_ui_FlxUIGroup.call(this,X,Y);
|
|
if(TextField == null) {
|
|
TextField = new flixel_addons_ui_FlxUIInputText(0,0,25);
|
|
}
|
|
TextField.set_x(0);
|
|
TextField.set_y(0);
|
|
this.text_field = TextField;
|
|
this.text_field.set_text(DefaultValue == null ? "null" : "" + DefaultValue);
|
|
if(((this.text_field) instanceof flixel_addons_ui_FlxUIInputText)) {
|
|
var fuit = this.text_field;
|
|
fuit.set_lines(1);
|
|
fuit.callback = $bind(this,this._onInputTextEvent);
|
|
fuit.broadcastToFlxUI = false;
|
|
}
|
|
this.stepSize = StepSize;
|
|
this.set_decimals(Decimals);
|
|
this.set_min(Min);
|
|
this.set_max(Max);
|
|
this.set_value(DefaultValue);
|
|
this.set_isPercent(IsPercent);
|
|
var btnSize = 1 + TextField.get_height();
|
|
if(ButtonPlus == null) {
|
|
ButtonPlus = new flixel_addons_ui_FlxUITypedButton(0,0);
|
|
ButtonPlus.loadGraphicSlice9(["flixel/flixel-ui/img/button_thin.png"],btnSize,btnSize,[flixel_util_FlxStringUtil.toIntArray("2,2,15,15")],0,-1,false,18,18);
|
|
ButtonPlus.set_label(new flixel_FlxSprite(0,0,"flixel/flixel-ui/img/plus_mark.png"));
|
|
}
|
|
if(ButtonMinus == null) {
|
|
ButtonMinus = new flixel_addons_ui_FlxUITypedButton(0,0);
|
|
ButtonMinus.loadGraphicSlice9(["flixel/flixel-ui/img/button_thin.png"],btnSize,btnSize,[flixel_util_FlxStringUtil.toIntArray("2,2,15,15")],0,-1,false,18,18);
|
|
ButtonMinus.set_label(new flixel_FlxSprite(0,0,"flixel/flixel-ui/img/minus_mark.png"));
|
|
}
|
|
this.button_plus = ButtonPlus;
|
|
this.button_minus = ButtonMinus;
|
|
this.add(this.text_field);
|
|
this.add(this.button_plus);
|
|
this.add(this.button_minus);
|
|
this.button_plus.onUp.callback = $bind(this,this._onPlus);
|
|
this.button_plus.broadcastToFlxUI = false;
|
|
this.button_minus.onUp.callback = $bind(this,this._onMinus);
|
|
this.button_minus.broadcastToFlxUI = false;
|
|
this.set_stack(Stack);
|
|
};
|
|
$hxClasses["flixel.addons.ui.FlxUINumericStepper"] = flixel_addons_ui_FlxUINumericStepper;
|
|
flixel_addons_ui_FlxUINumericStepper.__name__ = "flixel.addons.ui.FlxUINumericStepper";
|
|
flixel_addons_ui_FlxUINumericStepper.__interfaces__ = [flixel_addons_ui_interfaces_IHasParams,flixel_addons_ui_interfaces_IFlxUIClickable,flixel_addons_ui_interfaces_IFlxUIWidget];
|
|
flixel_addons_ui_FlxUINumericStepper.__super__ = flixel_addons_ui_FlxUIGroup;
|
|
flixel_addons_ui_FlxUINumericStepper.prototype = $extend(flixel_addons_ui_FlxUIGroup.prototype,{
|
|
button_plus: null
|
|
,button_minus: null
|
|
,text_field: null
|
|
,stepSize: null
|
|
,decimals: null
|
|
,min: null
|
|
,max: null
|
|
,value: null
|
|
,stack: null
|
|
,isPercent: null
|
|
,params: null
|
|
,set_params: function(p) {
|
|
this.params = p;
|
|
return this.params;
|
|
}
|
|
,skipButtonUpdate: null
|
|
,set_skipButtonUpdate: function(b) {
|
|
this.skipButtonUpdate = b;
|
|
this.button_plus.set_skipButtonUpdate(b);
|
|
this.button_minus.set_skipButtonUpdate(b);
|
|
return b;
|
|
}
|
|
,set_color: function(Value) {
|
|
this.color = Value;
|
|
this.button_plus.set_color(Value);
|
|
this.button_minus.set_color(Value);
|
|
if(((this.text_field) instanceof flixel_addons_ui_FlxInputText)) {
|
|
var fit = this.text_field;
|
|
fit.set_backgroundColor(Value);
|
|
} else {
|
|
this.text_field.set_color(Value);
|
|
}
|
|
return Value;
|
|
}
|
|
,set_min: function(f) {
|
|
this.min = f;
|
|
if(this.value < this.min) {
|
|
this.set_value(this.min);
|
|
}
|
|
return this.min;
|
|
}
|
|
,set_max: function(f) {
|
|
this.max = f;
|
|
if(this.value > this.max) {
|
|
this.set_value(this.max);
|
|
}
|
|
return this.max;
|
|
}
|
|
,set_value: function(f) {
|
|
this.value = f;
|
|
if(this.value < this.min) {
|
|
this.value = this.min;
|
|
}
|
|
if(this.value > this.max) {
|
|
this.value = this.max;
|
|
}
|
|
if(this.text_field != null) {
|
|
var displayValue = this.value;
|
|
if(this.isPercent) {
|
|
displayValue *= 100;
|
|
var tens = Math.pow(10,this.decimals);
|
|
this.text_field.set_text(Std.string(Std.string(Math.round(displayValue * tens) / tens)) + "%");
|
|
} else {
|
|
var tens = Math.pow(10,this.decimals);
|
|
this.text_field.set_text(Std.string(Math.round(displayValue * tens) / tens));
|
|
}
|
|
}
|
|
return this.value;
|
|
}
|
|
,set_decimals: function(i) {
|
|
this.decimals = i;
|
|
if(i < 0) {
|
|
this.decimals = 0;
|
|
}
|
|
this.set_value(this.value);
|
|
return this.decimals;
|
|
}
|
|
,set_isPercent: function(b) {
|
|
this.isPercent = b;
|
|
this.set_value(this.value);
|
|
return this.isPercent;
|
|
}
|
|
,set_stack: function(s) {
|
|
this.stack = s;
|
|
var btnSize = 10;
|
|
var offsetX = 0;
|
|
var offsetY = 0;
|
|
if(((this.text_field) instanceof flixel_addons_ui_FlxUIInputText)) {
|
|
offsetX = 1;
|
|
offsetY = 1;
|
|
}
|
|
switch(this.stack) {
|
|
case 0:
|
|
btnSize = 1 + this.text_field.get_height() / 2;
|
|
if(this.button_plus.get_height() != btnSize) {
|
|
this.button_plus.resize(btnSize,btnSize);
|
|
}
|
|
if(this.button_minus.get_height() != btnSize) {
|
|
this.button_minus.resize(btnSize,btnSize);
|
|
}
|
|
this.button_plus.set_x(offsetX + this.text_field.x + this.text_field.get_width());
|
|
this.button_plus.set_y(-offsetY + this.text_field.y);
|
|
this.button_minus.set_x(offsetX + this.text_field.x + this.text_field.get_width());
|
|
this.button_minus.set_y(offsetY + this.text_field.y + (this.text_field.get_height() - this.button_minus.get_height()));
|
|
break;
|
|
case 1:
|
|
btnSize = 2 + this.text_field.get_height();
|
|
if(this.button_plus.get_height() != btnSize) {
|
|
this.button_plus.resize(btnSize,btnSize);
|
|
}
|
|
if(this.button_minus.get_height() != btnSize) {
|
|
this.button_minus.resize(btnSize,btnSize);
|
|
}
|
|
this.button_plus.set_x(offsetX + this.text_field.x + this.text_field.get_width());
|
|
this.button_plus.set_y(-offsetY + this.text_field.y);
|
|
this.button_minus.set_x(this.button_plus.x + this.button_plus.get_width());
|
|
this.button_minus.set_y(this.button_plus.y);
|
|
break;
|
|
}
|
|
return this.stack;
|
|
}
|
|
,decimalize: function(f,digits) {
|
|
var tens = Math.pow(10,digits);
|
|
return Std.string(Math.round(f * tens) / tens);
|
|
}
|
|
,_onInputTextEvent: function(text,action) {
|
|
if(text == "") {
|
|
text = Std.string(this.min);
|
|
}
|
|
var numDecimals = 0;
|
|
var _g = 0;
|
|
var _g1 = text.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var char = text.charAt(i);
|
|
if(char == ".") {
|
|
++numDecimals;
|
|
}
|
|
}
|
|
var justAddedDecimal = numDecimals == 1 && text.indexOf(".") == text.length - 1;
|
|
if(!justAddedDecimal) {
|
|
this.set_value(parseFloat(text));
|
|
this._doCallback("edit_numeric_stepper");
|
|
this._doCallback("change_numeric_stepper");
|
|
}
|
|
}
|
|
,_onPlus: function() {
|
|
var _g = this;
|
|
_g.set_value(_g.value + this.stepSize);
|
|
this._doCallback("click_numeric_stepper");
|
|
this._doCallback("change_numeric_stepper");
|
|
}
|
|
,_onMinus: function() {
|
|
var _g = this;
|
|
_g.set_value(_g.value - this.stepSize);
|
|
this._doCallback("click_numeric_stepper");
|
|
this._doCallback("change_numeric_stepper");
|
|
}
|
|
,_doCallback: function(event_name) {
|
|
if(this.broadcastToFlxUI) {
|
|
flixel_addons_ui_FlxUI.event(event_name,this,this.value,this.params);
|
|
}
|
|
}
|
|
,__class__: flixel_addons_ui_FlxUINumericStepper
|
|
,__properties__: $extend(flixel_addons_ui_FlxUIGroup.prototype.__properties__,{set_skipButtonUpdate:"set_skipButtonUpdate",set_params:"set_params",set_isPercent:"set_isPercent",set_stack:"set_stack",set_value:"set_value",set_max:"set_max",set_min:"set_min",set_decimals:"set_decimals"})
|
|
});
|
|
var flixel_addons_ui_FlxUIRadioGroup = function(X,Y,ids_,labels_,callback_,y_space_,width_,height_,label_width_,MoreString,PrevButtonOffset,NextButtonOffset,PrevButton,NextButton) {
|
|
if(MoreString == null) {
|
|
MoreString = "<X> more...";
|
|
}
|
|
if(label_width_ == null) {
|
|
label_width_ = 100;
|
|
}
|
|
if(height_ == null) {
|
|
height_ = 20;
|
|
}
|
|
if(width_ == null) {
|
|
width_ = 100;
|
|
}
|
|
if(y_space_ == null) {
|
|
y_space_ = 25;
|
|
}
|
|
this._clickable = true;
|
|
this._selected = 0;
|
|
this._y_space = 25;
|
|
this._height = 20;
|
|
this._width = 100;
|
|
this._label_width = 100;
|
|
this.fixedSize = false;
|
|
flixel_addons_ui_FlxUIGroup.call(this);
|
|
this._y_space = y_space_;
|
|
this._width = width_;
|
|
this._height = height_;
|
|
this._label_width = label_width_;
|
|
if(ids_ == null) {
|
|
ids_ = [];
|
|
}
|
|
if(labels_ == null) {
|
|
labels_ = [];
|
|
}
|
|
this.callback = callback_;
|
|
this._list_radios = [];
|
|
this._list_active = [];
|
|
this._list = new flixel_addons_ui_FlxUIList(0,0,null,0,0,MoreString,1,0,PrevButtonOffset,NextButtonOffset,PrevButton,NextButton);
|
|
this.add(this._list);
|
|
this.updateRadios(ids_,labels_);
|
|
this.loadGraphics(null,null);
|
|
this.set_x(X);
|
|
this.set_y(Y);
|
|
};
|
|
$hxClasses["flixel.addons.ui.FlxUIRadioGroup"] = flixel_addons_ui_FlxUIRadioGroup;
|
|
flixel_addons_ui_FlxUIRadioGroup.__name__ = "flixel.addons.ui.FlxUIRadioGroup";
|
|
flixel_addons_ui_FlxUIRadioGroup.__interfaces__ = [flixel_addons_ui_interfaces_IHasParams,flixel_addons_ui_interfaces_IFlxUIClickable];
|
|
flixel_addons_ui_FlxUIRadioGroup.__super__ = flixel_addons_ui_FlxUIGroup;
|
|
flixel_addons_ui_FlxUIRadioGroup.prototype = $extend(flixel_addons_ui_FlxUIGroup.prototype,{
|
|
activeStyle: null
|
|
,set_activeStyle: function(b) {
|
|
this.activeStyle = b;
|
|
this.updateActives();
|
|
return this.activeStyle;
|
|
}
|
|
,inactiveStyle: null
|
|
,set_inactiveStyle: function(b) {
|
|
this.inactiveStyle = b;
|
|
this.updateActives();
|
|
return this.inactiveStyle;
|
|
}
|
|
,get_numRadios: function() {
|
|
return this._list_radios.length;
|
|
}
|
|
,skipButtonUpdate: null
|
|
,set_skipButtonUpdate: function(b) {
|
|
this.skipButtonUpdate = b;
|
|
var _g = 0;
|
|
var _g1 = this._list_radios;
|
|
while(_g < _g1.length) {
|
|
var fcb = _g1[_g];
|
|
++_g;
|
|
fcb.set_skipButtonUpdate(b);
|
|
}
|
|
return this.skipButtonUpdate;
|
|
}
|
|
,callback: null
|
|
,params: null
|
|
,set_params: function(p) {
|
|
this.params = p;
|
|
return this.params;
|
|
}
|
|
,fixedSize: null
|
|
,set_width: function(Value) {
|
|
flixel_addons_ui_FlxUIGroup.prototype.set_width.call(this,Value);
|
|
if(this.fixedSize) {
|
|
if(this._list != null) {
|
|
this._list.set_width(Value);
|
|
}
|
|
}
|
|
return Value;
|
|
}
|
|
,set_height: function(Value) {
|
|
flixel_addons_ui_FlxUIGroup.prototype.set_height.call(this,Value);
|
|
if(this.fixedSize) {
|
|
if(this._list != null) {
|
|
this._list.set_height(Value);
|
|
}
|
|
}
|
|
return Value;
|
|
}
|
|
,loadGraphics: function(Box,Dot) {
|
|
if(Box != null) {
|
|
this._box_asset = Box;
|
|
} else {
|
|
this._box_asset = "flixel/flixel-ui/img/radio.png";
|
|
}
|
|
if(Dot != null) {
|
|
this._dot_asset = Dot;
|
|
} else {
|
|
this._dot_asset = "flixel/flixel-ui/img/radio_dot.png";
|
|
}
|
|
if(((this._box_asset) instanceof flixel_FlxSprite)) {
|
|
var fs = this._box_asset;
|
|
this._box_asset = fs.graphic.key;
|
|
}
|
|
if(((this._dot_asset) instanceof flixel_FlxSprite)) {
|
|
var fs = this._dot_asset;
|
|
this._dot_asset = fs.graphic.key;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this._list_radios;
|
|
while(_g < _g1.length) {
|
|
var c = _g1[_g];
|
|
++_g;
|
|
c.box.loadGraphic(this._box_asset,true);
|
|
c.mark.loadGraphic(this._dot_asset);
|
|
}
|
|
this._refreshRadios();
|
|
}
|
|
,destroy: function() {
|
|
if(this._list_radios != null) {
|
|
flixel_addons_ui_U.clearArray(this._list_radios);
|
|
}
|
|
if(this._list_active != null) {
|
|
flixel_addons_ui_U.clearArray(this._list_active);
|
|
}
|
|
this._list_active = null;
|
|
this._list_radios = null;
|
|
this._list = null;
|
|
this._ids = null;
|
|
this._labels = null;
|
|
flixel_addons_ui_FlxUIGroup.prototype.destroy.call(this);
|
|
}
|
|
,updateLabel: function(i,label_) {
|
|
if(i >= this._list_radios.length) {
|
|
return false;
|
|
}
|
|
this._labels[i] = label_;
|
|
var c = this._list_radios[i];
|
|
if(c != null) {
|
|
c.button.set_width(this._label_width);
|
|
c.set_text(label_);
|
|
}
|
|
return true;
|
|
}
|
|
,updateId: function(i,id_) {
|
|
if(i >= this._list_radios.length) {
|
|
return false;
|
|
}
|
|
this._ids[i] = id_;
|
|
return true;
|
|
}
|
|
,show: function(b) {
|
|
var _g = 0;
|
|
var _g1 = this._list.group.members;
|
|
while(_g < _g1.length) {
|
|
var fo = _g1[_g];
|
|
++_g;
|
|
fo.set_visible(b);
|
|
}
|
|
}
|
|
,updateRadios: function(ids_,labels_) {
|
|
this._ids = ids_;
|
|
this._labels = labels_;
|
|
var _g = 0;
|
|
var _g1 = this._list_radios;
|
|
while(_g < _g1.length) {
|
|
var c = _g1[_g];
|
|
++_g;
|
|
c.set_visible(false);
|
|
}
|
|
this._refreshRadios();
|
|
}
|
|
,getRadios: function() {
|
|
return this._list_radios;
|
|
}
|
|
,getLabel: function(i) {
|
|
if(i >= 0 && i < this._labels.length) {
|
|
return this._labels[i];
|
|
}
|
|
return null;
|
|
}
|
|
,getId: function(i) {
|
|
if(i >= 0 && i < this._ids.length) {
|
|
return this._ids[i];
|
|
}
|
|
return null;
|
|
}
|
|
,getIsVisible: function(i) {
|
|
if(i >= 0 && i < this._list_radios.length) {
|
|
return this._list_radios[i].visible;
|
|
}
|
|
return false;
|
|
}
|
|
,get_clickable: function() {
|
|
return this._clickable;
|
|
}
|
|
,set_clickable: function(b) {
|
|
this._clickable = b;
|
|
var _g = 0;
|
|
var _g1 = this._list_radios;
|
|
while(_g < _g1.length) {
|
|
var c = _g1[_g];
|
|
++_g;
|
|
c.set_active(b);
|
|
}
|
|
return this._clickable;
|
|
}
|
|
,get_selectedIndex: function() {
|
|
return this._selected;
|
|
}
|
|
,set_selectedIndex: function(i) {
|
|
this._selected = i;
|
|
var j = 0;
|
|
var _g = 0;
|
|
var _g1 = this._list_radios;
|
|
while(_g < _g1.length) {
|
|
var c = _g1[_g];
|
|
++_g;
|
|
c.set_checked(false);
|
|
if(j == i) {
|
|
c.set_checked(true);
|
|
}
|
|
++j;
|
|
}
|
|
if(this._selected < 0 || this._selected >= this._list_radios.length) {
|
|
this._selected = -1;
|
|
}
|
|
return this._selected;
|
|
}
|
|
,get_selectedLabel: function() {
|
|
return this._labels[this._selected];
|
|
}
|
|
,set_selectedLabel: function(str) {
|
|
var i = 0;
|
|
this._selected = -1;
|
|
var _g = 0;
|
|
var _g1 = this._list_radios;
|
|
while(_g < _g1.length) {
|
|
var c = _g1[_g];
|
|
++_g;
|
|
c.set_checked(false);
|
|
if(this._labels[i] == str) {
|
|
this._selected = i;
|
|
c.set_checked(true);
|
|
}
|
|
++i;
|
|
}
|
|
if(this._selected >= 0 && this._selected < this._labels.length) {
|
|
return this._labels[this._selected];
|
|
}
|
|
return null;
|
|
}
|
|
,get_selectedId: function() {
|
|
return this._ids[this._selected];
|
|
}
|
|
,set_selectedId: function(str) {
|
|
var i = 0;
|
|
this._selected = -1;
|
|
var _g = 0;
|
|
var _g1 = this._list_radios;
|
|
while(_g < _g1.length) {
|
|
var c = _g1[_g];
|
|
++_g;
|
|
c.set_checked(false);
|
|
if(this._ids[i] == str) {
|
|
this._selected = i;
|
|
c.set_checked(true);
|
|
}
|
|
++i;
|
|
}
|
|
if(this._selected >= 0 && this._selected < this._ids.length) {
|
|
return this._ids[this._selected];
|
|
}
|
|
return null;
|
|
}
|
|
,setLineScroll: function(scroll,max_items) {
|
|
this._list.set_scrollIndex(scroll);
|
|
if(max_items != null) {
|
|
if(this._list.stacking == 1) {
|
|
this.set_height(this._y_space * max_items + 1);
|
|
}
|
|
}
|
|
var X = this._list.amountPrevious;
|
|
var Y = this._list.amountNext;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
return point;
|
|
}
|
|
,setRadioActive: function(i,b) {
|
|
if(i >= 0 && i < this._list_active.length) {
|
|
this._list_active[i] = b;
|
|
}
|
|
this.updateActives();
|
|
}
|
|
,_list_active: null
|
|
,_list: null
|
|
,_box_asset: null
|
|
,_dot_asset: null
|
|
,_labels: null
|
|
,_ids: null
|
|
,_label_width: null
|
|
,_width: null
|
|
,_height: null
|
|
,_y_space: null
|
|
,_selected: null
|
|
,_clickable: null
|
|
,_list_radios: null
|
|
,_refreshRadios: function() {
|
|
var xx = this.x;
|
|
var yy = this.y;
|
|
var i = 0;
|
|
var maxX = 0;
|
|
var maxY = 0;
|
|
this._list._skipRefresh = true;
|
|
var _g = 0;
|
|
var _g1 = this._ids;
|
|
while(_g < _g1.length) {
|
|
var id = _g1[_g];
|
|
++_g;
|
|
var label = "";
|
|
if(this._labels != null && this._labels.length > i) {
|
|
label = this._labels[i];
|
|
} else {
|
|
label = "<" + id + ">";
|
|
}
|
|
var c;
|
|
if(this._list_radios.length > i) {
|
|
c = this._list_radios[i];
|
|
c.set_visible(true);
|
|
c.set_text(label);
|
|
if(i == 0) {
|
|
xx = c.x;
|
|
yy = c.y;
|
|
} else {
|
|
c.set_x(xx | 0);
|
|
c.set_y(yy | 0);
|
|
}
|
|
} else {
|
|
c = new flixel_addons_ui_FlxUICheckBox(0,0,this._box_asset,this._dot_asset,label,this._label_width,[id,false]);
|
|
c.broadcastToFlxUI = false;
|
|
c.callback = (function(_g,checkBox) {
|
|
return function() {
|
|
_g[0](checkBox[0]);
|
|
};
|
|
})([$bind(this,this._onCheckBoxEvent)],[c]);
|
|
this._list.add(c);
|
|
c.set_x(xx | 0);
|
|
c.set_y(yy | 0);
|
|
c.set_text(label);
|
|
if(this._list_radios.length > 0) {
|
|
c.button.copyStyle(this._list_radios[0].button);
|
|
if(this.activeStyle == null) {
|
|
this.set_activeStyle(this.makeActiveStyle());
|
|
}
|
|
c.button.set_width(this._list_radios[0].button.get_width());
|
|
c.button.set_height(this._list_radios[0].button.get_height());
|
|
c.set_textX(this._list_radios[0].textX);
|
|
c.set_textY(this._list_radios[0].textY);
|
|
}
|
|
this._list_radios.push(c);
|
|
this._list_active.push(true);
|
|
}
|
|
if(xx + c.get_width() > maxX) {
|
|
maxX = xx + c.get_width();
|
|
}
|
|
if(yy + c.get_height() > maxY) {
|
|
maxY = yy + c.get_height();
|
|
}
|
|
yy += this._y_space;
|
|
++i;
|
|
}
|
|
if(this.fixedSize == false) {
|
|
maxX += 5;
|
|
maxY += 5;
|
|
if(maxX > this._list.get_width()) {
|
|
this._list.set_width(maxX);
|
|
}
|
|
if(maxY > this._list.get_height()) {
|
|
this._list.set_height(maxY);
|
|
}
|
|
this.set_width(maxX);
|
|
this.set_height(maxY);
|
|
}
|
|
this._list._skipRefresh = false;
|
|
if(this.fixedSize == true) {
|
|
this._list.refreshList();
|
|
}
|
|
this.updateActives();
|
|
}
|
|
,updateActives: function() {
|
|
var i = 0;
|
|
var _g = 0;
|
|
var _g1 = this._list_radios;
|
|
while(_g < _g1.length) {
|
|
var r = _g1[_g];
|
|
++_g;
|
|
r.set_active(this._list_active[i]);
|
|
if(this._list_active[i] == false && this.inactiveStyle != null) {
|
|
this.inactiveStyle.applyToCheck(r);
|
|
} else if(this._list_active[i] == true && this.activeStyle != null) {
|
|
this.activeStyle.applyToCheck(r);
|
|
}
|
|
++i;
|
|
}
|
|
}
|
|
,makeActiveStyle: function() {
|
|
if(this._list_radios.length > 0) {
|
|
var btn = this._list_radios[0].button;
|
|
var t = btn.label;
|
|
var fd = flixel_addons_ui_FontDef.copyFromFlxText(t);
|
|
var bd = new flixel_addons_ui_BorderDef(t.borderStyle,t.borderColor,t.borderSize,t.borderQuality);
|
|
var cs = new flixel_addons_ui_CheckStyle(16777215,fd,flixel_text_FlxTextAlign.fromOpenFL(t._defaultFormat.align),t.color,bd);
|
|
return cs;
|
|
}
|
|
return null;
|
|
}
|
|
,_onCheckBoxEvent: function(checkBox) {
|
|
this._onClick(checkBox,true);
|
|
}
|
|
,_onClick: function(checkBox,doCallback) {
|
|
if(!this._clickable) {
|
|
return false;
|
|
}
|
|
var i = 0;
|
|
var _g = 0;
|
|
var _g1 = this._list_radios;
|
|
while(_g < _g1.length) {
|
|
var c = _g1[_g];
|
|
++_g;
|
|
c.set_checked(false);
|
|
if(checkBox == c) {
|
|
this._selected = i;
|
|
c.set_checked(true);
|
|
}
|
|
++i;
|
|
}
|
|
if(doCallback) {
|
|
if(this.callback != null) {
|
|
this.callback(this.get_selectedId());
|
|
}
|
|
if(this.broadcastToFlxUI) {
|
|
flixel_addons_ui_FlxUI.event("click_radio_group",this,this._ids[this._selected],this.params);
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
,__class__: flixel_addons_ui_FlxUIRadioGroup
|
|
,__properties__: $extend(flixel_addons_ui_FlxUIGroup.prototype.__properties__,{set_params:"set_params",set_skipButtonUpdate:"set_skipButtonUpdate",get_numRadios:"get_numRadios",set_inactiveStyle:"set_inactiveStyle",set_activeStyle:"set_activeStyle",set_selectedIndex:"set_selectedIndex",get_selectedIndex:"get_selectedIndex",set_selectedLabel:"set_selectedLabel",get_selectedLabel:"get_selectedLabel",set_selectedId:"set_selectedId",get_selectedId:"get_selectedId",set_clickable:"set_clickable",get_clickable:"get_clickable"})
|
|
});
|
|
var flixel_addons_ui_CheckStyle = function(CheckColor,Font,Align,Color,Border) {
|
|
this.checkColor = null;
|
|
this.checkColor = CheckColor;
|
|
flixel_addons_ui_ButtonLabelStyle.call(this,Font,Align,Color,Border);
|
|
};
|
|
$hxClasses["flixel.addons.ui.CheckStyle"] = flixel_addons_ui_CheckStyle;
|
|
flixel_addons_ui_CheckStyle.__name__ = "flixel.addons.ui.CheckStyle";
|
|
flixel_addons_ui_CheckStyle.__super__ = flixel_addons_ui_ButtonLabelStyle;
|
|
flixel_addons_ui_CheckStyle.prototype = $extend(flixel_addons_ui_ButtonLabelStyle.prototype,{
|
|
checkColor: null
|
|
,applyToCheck: function(c) {
|
|
if(this.checkColor != null) {
|
|
c.set_color(this.checkColor);
|
|
}
|
|
this.apply(c.button.label);
|
|
}
|
|
,__class__: flixel_addons_ui_CheckStyle
|
|
});
|
|
var flixel_addons_ui_FlxUIRegion = function(X,Y,W,H) {
|
|
if(H == null) {
|
|
H = 16;
|
|
}
|
|
if(W == null) {
|
|
W = 16;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
this.broadcastToFlxUI = true;
|
|
flixel_FlxSprite.call(this,X,Y);
|
|
this.makeGraphic(1,1,0);
|
|
if(H < 1) {
|
|
H = 1;
|
|
}
|
|
if(W < 1) {
|
|
W = 1;
|
|
}
|
|
this.resize(W,H);
|
|
};
|
|
$hxClasses["flixel.addons.ui.FlxUIRegion"] = flixel_addons_ui_FlxUIRegion;
|
|
flixel_addons_ui_FlxUIRegion.__name__ = "flixel.addons.ui.FlxUIRegion";
|
|
flixel_addons_ui_FlxUIRegion.__interfaces__ = [flixel_addons_ui_interfaces_IResizable,flixel_addons_ui_interfaces_IFlxUIWidget];
|
|
flixel_addons_ui_FlxUIRegion.__super__ = flixel_FlxSprite;
|
|
flixel_addons_ui_FlxUIRegion.prototype = $extend(flixel_FlxSprite.prototype,{
|
|
broadcastToFlxUI: null
|
|
,name: null
|
|
,resize: function(w,h) {
|
|
this.set_width(w);
|
|
this.set_height(h);
|
|
}
|
|
,__class__: flixel_addons_ui_FlxUIRegion
|
|
});
|
|
var flixel_addons_ui_FlxUISpriteButton = function(X,Y,Asset,OnClick) {
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
flixel_addons_ui_FlxUITypedButton.call(this,X,Y,OnClick);
|
|
this.up_color = this.over_color = this.down_color = this.up_toggle_color = this.over_toggle_color = this.down_toggle_color = -1;
|
|
if(Asset != null) {
|
|
this.set_label(Asset);
|
|
}
|
|
};
|
|
$hxClasses["flixel.addons.ui.FlxUISpriteButton"] = flixel_addons_ui_FlxUISpriteButton;
|
|
flixel_addons_ui_FlxUISpriteButton.__name__ = "flixel.addons.ui.FlxUISpriteButton";
|
|
flixel_addons_ui_FlxUISpriteButton.__interfaces__ = [flixel_addons_ui_interfaces_IFlxUIButton];
|
|
flixel_addons_ui_FlxUISpriteButton.__super__ = flixel_addons_ui_FlxUITypedButton;
|
|
flixel_addons_ui_FlxUISpriteButton.prototype = $extend(flixel_addons_ui_FlxUITypedButton.prototype,{
|
|
resize: function(W,H) {
|
|
flixel_addons_ui_FlxUITypedButton.prototype.resize.call(this,W,H);
|
|
this.autoCenterLabel();
|
|
}
|
|
,autoCenterLabel: function() {
|
|
if(this.label != null) {
|
|
if(((this.label) instanceof flixel_group_FlxTypedSpriteGroup)) {
|
|
var g = this.label;
|
|
var _g = 0;
|
|
var _g1 = g.group.members;
|
|
while(_g < _g1.length) {
|
|
var sprite = _g1[_g];
|
|
++_g;
|
|
sprite.set_x(-sprite.get_width() / 2);
|
|
sprite.set_y(-sprite.get_height() / 2);
|
|
}
|
|
var W = g.get_width();
|
|
var H = g.get_height();
|
|
var _g = 0;
|
|
var _g1 = g.group.members;
|
|
while(_g < _g1.length) {
|
|
var sprite = _g1[_g];
|
|
++_g;
|
|
sprite.set_x((W - sprite.get_width()) / 2);
|
|
sprite.set_y((H - sprite.get_height()) / 2);
|
|
}
|
|
}
|
|
flixel_addons_ui_FlxUITypedButton.prototype.autoCenterLabel.call(this);
|
|
}
|
|
}
|
|
,__class__: flixel_addons_ui_FlxUISpriteButton
|
|
});
|
|
var flixel_addons_ui_FlxUISubState = function(BGColor) {
|
|
if(BGColor == null) {
|
|
BGColor = 0;
|
|
}
|
|
this.getTextFallback = null;
|
|
this._reload_countdown = 0;
|
|
this._reload = false;
|
|
this.reload_ui_on_resize = false;
|
|
this._xml_id = "";
|
|
this.cursor = null;
|
|
flixel_FlxSubState.call(this,BGColor);
|
|
};
|
|
$hxClasses["flixel.addons.ui.FlxUISubState"] = flixel_addons_ui_FlxUISubState;
|
|
flixel_addons_ui_FlxUISubState.__name__ = "flixel.addons.ui.FlxUISubState";
|
|
flixel_addons_ui_FlxUISubState.__interfaces__ = [flixel_addons_ui_interfaces_IFlxUIState];
|
|
flixel_addons_ui_FlxUISubState.__super__ = flixel_FlxSubState;
|
|
flixel_addons_ui_FlxUISubState.prototype = $extend(flixel_FlxSubState.prototype,{
|
|
destroyed: null
|
|
,cursor: null
|
|
,_makeCursor: null
|
|
,tooltips: null
|
|
,_xml_id: null
|
|
,_ui: null
|
|
,_tongue: null
|
|
,reload_ui_on_resize: null
|
|
,_reload: null
|
|
,_reload_countdown: null
|
|
,getTextFallback: null
|
|
,forceScrollFactor: function(X,Y) {
|
|
if(this._ui != null) {
|
|
var _g = 0;
|
|
var _g1 = this._ui.group.members;
|
|
while(_g < _g1.length) {
|
|
var w = _g1[_g];
|
|
++_g;
|
|
w.scrollFactor.set(X,Y);
|
|
}
|
|
if(this._ui.scrollFactor != null) {
|
|
this._ui.scrollFactor.set(X,Y);
|
|
}
|
|
}
|
|
}
|
|
,forceFocus: function(b,thing) {
|
|
if(this._ui != null) {
|
|
if(b) {
|
|
this._ui.set_focus(thing);
|
|
} else {
|
|
this._ui.set_focus(null);
|
|
}
|
|
}
|
|
}
|
|
,create: function() {
|
|
if(flixel_addons_ui_FlxUIState.static_tongue != null) {
|
|
this._tongue = flixel_addons_ui_FlxUIState.static_tongue;
|
|
}
|
|
if(this._makeCursor == true) {
|
|
this.cursor = this.createCursor();
|
|
}
|
|
this.tooltips = new flixel_addons_ui_FlxUITooltipManager(null,this);
|
|
this._ui = this.createUI(null,this,null,this._tongue);
|
|
this.add(this._ui);
|
|
this._ui.getTextFallback = this.getTextFallback;
|
|
if(this._xml_id != "" && this._xml_id != null) {
|
|
var data = flixel_addons_ui_U.xml(this._xml_id);
|
|
if(data == null) {
|
|
data = flixel_addons_ui_U.xml(this._xml_id,"xml",true,"");
|
|
}
|
|
if(data != null) {
|
|
this._ui.load(data);
|
|
}
|
|
} else {
|
|
this._ui.load(null);
|
|
}
|
|
if(this.cursor != null && this._ui != null) {
|
|
this.add(this.cursor);
|
|
this.cursor.addWidgetsFromUI(this._ui);
|
|
this.cursor.findVisibleLocation(0);
|
|
}
|
|
flixel_FlxG.mouse.set_visible(true);
|
|
this.tooltips.init();
|
|
flixel_FlxSubState.prototype.create.call(this);
|
|
this.cleanup();
|
|
if(((this._parentState) instanceof flixel_addons_ui_FlxUIState)) {
|
|
this.reload_ui_on_resize = (js_Boot.__cast(this._parentState , flixel_addons_ui_FlxUIState)).reload_ui_on_resize;
|
|
}
|
|
}
|
|
,onCursorEvent: function(code,target) {
|
|
this.getEvent(code,target,null);
|
|
}
|
|
,onShowTooltip: function(t) {
|
|
}
|
|
,onResize: function(Width,Height) {
|
|
if(this.reload_ui_on_resize) {
|
|
flixel_FlxG.scaleMode.onMeasure(Width,Height);
|
|
this._reload_countdown = 5;
|
|
this._reload = true;
|
|
}
|
|
}
|
|
,update: function(elapsed) {
|
|
flixel_FlxSubState.prototype.update.call(this,elapsed);
|
|
this.tooltips.update(elapsed);
|
|
if(this._reload) {
|
|
if(this._reload_countdown > 0) {
|
|
this._reload_countdown--;
|
|
if(this._reload_countdown == 0) {
|
|
this.reloadUI();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,destroy: function() {
|
|
this.destroyed = true;
|
|
if(this.tooltips != null) {
|
|
this.tooltips.destroy();
|
|
this.tooltips = null;
|
|
}
|
|
if(this._ui != null) {
|
|
this._ui.destroy();
|
|
this.remove(this._ui,true);
|
|
this._ui = null;
|
|
}
|
|
flixel_FlxSubState.prototype.destroy.call(this);
|
|
}
|
|
,getEvent: function(id,sender,data,params) {
|
|
}
|
|
,getRequest: function(id,sender,data,params) {
|
|
return null;
|
|
}
|
|
,getText: function(Flag,Context,Safe) {
|
|
if(Safe == null) {
|
|
Safe = true;
|
|
}
|
|
if(Context == null) {
|
|
Context = "ui";
|
|
}
|
|
if(this._tongue != null) {
|
|
return this._tongue.get(Flag,Context,Safe);
|
|
}
|
|
if(this.getTextFallback != null) {
|
|
return this.getTextFallback(Flag,Context,Safe);
|
|
}
|
|
return Flag;
|
|
}
|
|
,cleanup: function() {
|
|
this._ui.cleanup();
|
|
}
|
|
,createCursor: function() {
|
|
return new flixel_addons_ui_FlxUICursor($bind(this,this.onCursorEvent));
|
|
}
|
|
,createUI: function(data,ptr,superIndex_,tongue_,liveFilePath_) {
|
|
if(liveFilePath_ == null) {
|
|
liveFilePath_ = "";
|
|
}
|
|
return new flixel_addons_ui_FlxUI(data,ptr,superIndex_,tongue_,liveFilePath_);
|
|
}
|
|
,reloadUI: function() {
|
|
if(this._ui != null) {
|
|
this.remove(this._ui,true);
|
|
this._ui.destroy();
|
|
this._ui = null;
|
|
}
|
|
this._ui = this.createUI(null,this,null,this._tongue);
|
|
this.add(this._ui);
|
|
var data = flixel_addons_ui_U.xml(this._xml_id);
|
|
this._ui.load(data);
|
|
this._reload = false;
|
|
this._reload_countdown = 0;
|
|
}
|
|
,__class__: flixel_addons_ui_FlxUISubState
|
|
});
|
|
var flixel_addons_ui_FlxUITabMenu = function(back_,tabs_,tab_names_and_labels_,tab_offset,stretch_tabs,tab_spacing,tab_stacking) {
|
|
if(stretch_tabs == null) {
|
|
stretch_tabs = false;
|
|
}
|
|
this._selected_tab = -1;
|
|
this._selected_tab_id = "";
|
|
this._tab_offset = null;
|
|
this._tab_stacking = null;
|
|
this._tab_spacing = null;
|
|
this._stretch_tabs = false;
|
|
flixel_addons_ui_FlxUIGroup.call(this);
|
|
if(back_ == null) {
|
|
back_ = new flixel_addons_ui_FlxUI9SliceSprite(0,0,"flixel/flixel-ui/img/chrome_flat.png",new openfl_geom_Rectangle(0,0,200,200));
|
|
}
|
|
this._back = back_;
|
|
this.add(this._back);
|
|
if(tabs_ == null) {
|
|
if(tab_names_and_labels_ != null) {
|
|
tabs_ = [];
|
|
var _g = 0;
|
|
while(_g < tab_names_and_labels_.length) {
|
|
var tdata = tab_names_and_labels_[_g];
|
|
++_g;
|
|
var fb = new flixel_addons_ui_FlxUIButton(0,0,tdata.label);
|
|
fb.up_color = 16777215;
|
|
fb.down_color = 16777215;
|
|
fb.over_color = 16777215;
|
|
fb.up_toggle_color = 16777215;
|
|
fb.down_toggle_color = 16777215;
|
|
fb.over_toggle_color = 16777215;
|
|
fb.label.set_color(16777215);
|
|
var _this = fb.label;
|
|
_this.set_borderStyle(flixel_text_FlxTextBorderStyle.OUTLINE);
|
|
_this.set_borderColor(0);
|
|
_this.set_borderSize(1);
|
|
_this.set_borderQuality(1);
|
|
fb.name = tdata.name;
|
|
var graphic_names = ["flixel/flixel-ui/img/tab_back.png","flixel/flixel-ui/img/tab_back.png","flixel/flixel-ui/img/tab_back.png","flixel/flixel-ui/img/tab.png","flixel/flixel-ui/img/tab.png","flixel/flixel-ui/img/tab.png"];
|
|
var slice9tab = flixel_util_FlxStringUtil.toIntArray("6,6,11,11");
|
|
var slice9_names = [slice9tab,slice9tab,slice9tab,slice9tab,slice9tab,slice9tab];
|
|
fb.loadGraphicSlice9(graphic_names,0,0,slice9_names,0,-1,true);
|
|
tabs_.push(fb);
|
|
}
|
|
}
|
|
}
|
|
this._tabs = tabs_;
|
|
this._stretch_tabs = stretch_tabs;
|
|
this._tab_spacing = tab_spacing;
|
|
this._tab_stacking = tab_stacking;
|
|
if(this._tab_stacking == null) {
|
|
this._tab_stacking = ["front","back"];
|
|
}
|
|
this._tab_offset = tab_offset;
|
|
var i = 0;
|
|
var tab = null;
|
|
var _g = 0;
|
|
var _g1 = this._tabs;
|
|
while(_g < _g1.length) {
|
|
var t = _g1[_g];
|
|
++_g;
|
|
tab = t;
|
|
this.add(tab);
|
|
var tmp = (function(_g,name) {
|
|
return function() {
|
|
_g[0](name[0]);
|
|
};
|
|
})([$bind(this,this._onTabEvent)],[tab.name]);
|
|
tab.onUp.callback = tmp;
|
|
++i;
|
|
}
|
|
this.distributeTabs();
|
|
this._tab_groups = [];
|
|
};
|
|
$hxClasses["flixel.addons.ui.FlxUITabMenu"] = flixel_addons_ui_FlxUITabMenu;
|
|
flixel_addons_ui_FlxUITabMenu.__name__ = "flixel.addons.ui.FlxUITabMenu";
|
|
flixel_addons_ui_FlxUITabMenu.__interfaces__ = [flixel_addons_ui_interfaces_IEventGetter,flixel_addons_ui_interfaces_IFlxUIClickable,flixel_addons_ui_interfaces_IResizable];
|
|
flixel_addons_ui_FlxUITabMenu.__super__ = flixel_addons_ui_FlxUIGroup;
|
|
flixel_addons_ui_FlxUITabMenu.prototype = $extend(flixel_addons_ui_FlxUIGroup.prototype,{
|
|
get_numTabs: function() {
|
|
if(this._tabs != null) {
|
|
return this._tabs.length;
|
|
}
|
|
return 0;
|
|
}
|
|
,getEvent: function(name,sender,data,params) {
|
|
}
|
|
,getRequest: function(name,sender,data,params) {
|
|
return null;
|
|
}
|
|
,skipButtonUpdate: null
|
|
,set_skipButtonUpdate: function(b) {
|
|
this.skipButtonUpdate = b;
|
|
var _g = 0;
|
|
var _g1 = this._tabs;
|
|
while(_g < _g1.length) {
|
|
var tab = _g1[_g];
|
|
++_g;
|
|
var tabtyped = tab;
|
|
tabtyped.set_skipButtonUpdate(b);
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this._tab_groups;
|
|
while(_g < _g1.length) {
|
|
var group = _g1[_g];
|
|
++_g;
|
|
var _g2 = 0;
|
|
var _g3 = group.group.members;
|
|
while(_g2 < _g3.length) {
|
|
var sprite = _g3[_g2];
|
|
++_g2;
|
|
if(js_Boot.__implements(sprite,flixel_addons_ui_interfaces_IFlxUIClickable)) {
|
|
var widget = sprite;
|
|
widget.set_skipButtonUpdate(b);
|
|
}
|
|
}
|
|
}
|
|
return b;
|
|
}
|
|
,get_width: function() {
|
|
return this._back.get_width();
|
|
}
|
|
,get_height: function() {
|
|
var fbt = this.getFirstTab();
|
|
if(fbt != null) {
|
|
return this._back.y + this._back.get_height() - fbt.y;
|
|
}
|
|
return this._back.get_height();
|
|
}
|
|
,resize: function(W,H) {
|
|
var ir;
|
|
if(js_Boot.__implements(this._back,flixel_addons_ui_interfaces_IResizable)) {
|
|
this.distributeTabs(W);
|
|
ir = this._back;
|
|
var fbt = this.getFirstTab();
|
|
if(fbt != null) {
|
|
ir.resize(W,H - fbt.get_height());
|
|
} else {
|
|
ir.resize(W,H);
|
|
}
|
|
} else {
|
|
this.distributeTabs();
|
|
}
|
|
}
|
|
,get_selected_tab: function() {
|
|
return this._selected_tab;
|
|
}
|
|
,set_selected_tab: function(i) {
|
|
this.showTabInt(i);
|
|
return this._selected_tab;
|
|
}
|
|
,get_selected_tab_id: function() {
|
|
return this._selected_tab_id;
|
|
}
|
|
,set_selected_tab_id: function(str) {
|
|
this.showTabId(str);
|
|
return this._selected_tab_id;
|
|
}
|
|
,destroy: function() {
|
|
flixel_addons_ui_FlxUIGroup.prototype.destroy.call(this);
|
|
flixel_addons_ui_U.clearArray(this._tab_groups);
|
|
flixel_addons_ui_U.clearArray(this._tabs);
|
|
this._back = null;
|
|
this._tabs = null;
|
|
this._tab_groups = null;
|
|
}
|
|
,getTab: function(name,index) {
|
|
if(name != null) {
|
|
var _g = 0;
|
|
var _g1 = this._tabs;
|
|
while(_g < _g1.length) {
|
|
var tab = _g1[_g];
|
|
++_g;
|
|
if(tab.name == name) {
|
|
return tab;
|
|
}
|
|
}
|
|
}
|
|
if(index != null) {
|
|
if(index < this._tabs.length) {
|
|
return this._tabs[index];
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
,getTabGroup: function(name,index) {
|
|
if(name != null) {
|
|
var _g = 0;
|
|
var _g1 = this._tab_groups;
|
|
while(_g < _g1.length) {
|
|
var tabGroup = _g1[_g];
|
|
++_g;
|
|
if(tabGroup.name == name) {
|
|
return tabGroup;
|
|
}
|
|
}
|
|
}
|
|
if(index != null) {
|
|
if(index < this._tab_groups.length) {
|
|
return this._tab_groups[index];
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
,getBack: function() {
|
|
return this._back;
|
|
}
|
|
,replaceBack: function(newBack) {
|
|
var i = this.group.members.indexOf(this._back);
|
|
if(i != -1) {
|
|
var oldBack = this._back;
|
|
if(js_Boot.__implements(newBack,flixel_addons_ui_interfaces_IResizable)) {
|
|
var ir = newBack;
|
|
ir.resize(oldBack.get_width(),oldBack.get_height());
|
|
}
|
|
this.group.members[i] = newBack;
|
|
newBack.set_x(oldBack.x);
|
|
newBack.set_y(oldBack.y);
|
|
oldBack.destroy();
|
|
}
|
|
}
|
|
,addGroup: function(g) {
|
|
if(g == this) {
|
|
return;
|
|
}
|
|
if(!this.hasThis(g)) {
|
|
g.set_y(this._back.y - this.y);
|
|
this.add(g);
|
|
this._tab_groups.push(g);
|
|
}
|
|
this._showOnlyGroup("");
|
|
if(this._tab_groups.length == 1) {
|
|
this.set_selected_tab(0);
|
|
}
|
|
if(this._selected_tab != -1) {
|
|
this.set_selected_tab(this._selected_tab);
|
|
}
|
|
}
|
|
,_onTabEvent: function(name) {
|
|
this.showTabId(name);
|
|
var tab = this.getTab(name);
|
|
var params = tab != null ? tab.params : null;
|
|
if(this.broadcastToFlxUI) {
|
|
flixel_addons_ui_FlxUI.event("tab_menu_click",this,name,params);
|
|
}
|
|
}
|
|
,stackTabs: function() {
|
|
var _backx = this._back.x;
|
|
var _backy = this._back.y;
|
|
this.group.remove(this._back,true);
|
|
var tab = null;
|
|
var _g = 0;
|
|
var _g1 = this._tabs;
|
|
while(_g < _g1.length) {
|
|
var t = _g1[_g];
|
|
++_g;
|
|
tab = t;
|
|
if(tab.toggled) {
|
|
this.group.remove(tab,true);
|
|
}
|
|
}
|
|
this.group.add(this._back);
|
|
var _g = 0;
|
|
var _g1 = this._tabs;
|
|
while(_g < _g1.length) {
|
|
var t = _g1[_g];
|
|
++_g;
|
|
tab = t;
|
|
if(tab.toggled) {
|
|
this.group.add(tab);
|
|
}
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this._tab_groups;
|
|
while(_g < _g1.length) {
|
|
var group = _g1[_g];
|
|
++_g;
|
|
var tempX = group.x;
|
|
var tempY = group.y;
|
|
this.remove(group,true);
|
|
this.add(group);
|
|
group.set_x(tempX);
|
|
group.set_y(tempY);
|
|
}
|
|
this._back.set_x(_backx);
|
|
this._back.set_y(_backy);
|
|
}
|
|
,showTabId: function(name) {
|
|
this._selected_tab = -1;
|
|
this._selected_tab_id = "";
|
|
var i = 0;
|
|
var _g = 0;
|
|
var _g1 = this._tabs;
|
|
while(_g < _g1.length) {
|
|
var tab = _g1[_g];
|
|
++_g;
|
|
tab.set_toggled(false);
|
|
tab.forceStateHandler("out_button");
|
|
if(tab.name == name) {
|
|
tab.set_toggled(true);
|
|
this._selected_tab_id = name;
|
|
this._selected_tab = i;
|
|
}
|
|
++i;
|
|
}
|
|
this._showOnlyGroup(name);
|
|
this.stackTabs();
|
|
}
|
|
,_back: null
|
|
,_tabs: null
|
|
,_tab_groups: null
|
|
,_stretch_tabs: null
|
|
,_tab_spacing: null
|
|
,_tab_stacking: null
|
|
,_tab_offset: null
|
|
,_selected_tab_id: null
|
|
,_selected_tab: null
|
|
,sortTabs: function(a,b) {
|
|
if(a.name < b.name) {
|
|
return -1;
|
|
} else if(a.name > b.name) {
|
|
return 1;
|
|
}
|
|
return -1;
|
|
}
|
|
,showTabInt: function(i) {
|
|
if(i >= 0 && this._tabs != null && this._tabs.length > i) {
|
|
var _tab = this._tabs[i];
|
|
var name = _tab.name;
|
|
this.showTabId(name);
|
|
} else {
|
|
this.showTabId("");
|
|
}
|
|
}
|
|
,_showOnlyGroup: function(name) {
|
|
var _g = 0;
|
|
var _g1 = this._tab_groups;
|
|
while(_g < _g1.length) {
|
|
var group = _g1[_g];
|
|
++_g;
|
|
if(group.name == name) {
|
|
group.set_visible(group.set_active(true));
|
|
} else {
|
|
group.set_visible(group.set_active(false));
|
|
}
|
|
}
|
|
}
|
|
,getFirstTab: function() {
|
|
var _the_tab = null;
|
|
if(this._tabs != null && this._tabs.length > 0) {
|
|
_the_tab = this._tabs[0];
|
|
}
|
|
return _the_tab;
|
|
}
|
|
,distributeTabs: function(W) {
|
|
if(W == null) {
|
|
W = -1;
|
|
}
|
|
var xx = 0;
|
|
var tab_width = 0;
|
|
if(W == -1) {
|
|
W = this._back.get_width();
|
|
}
|
|
var diff_size = 0;
|
|
if(this._stretch_tabs) {
|
|
tab_width = W / this._tabs.length;
|
|
var tot_size = (tab_width | 0) * this._tabs.length;
|
|
if(tot_size < W) {
|
|
diff_size = W - tot_size;
|
|
}
|
|
}
|
|
this._tabs.sort($bind(this,this.sortTabs));
|
|
var i = 0;
|
|
var firstHeight = 0;
|
|
var tab;
|
|
var _g = 0;
|
|
var _g1 = this._tabs;
|
|
while(_g < _g1.length) {
|
|
var t = _g1[_g];
|
|
++_g;
|
|
tab = t;
|
|
tab.set_x(this.x + xx);
|
|
tab.set_y(this.y);
|
|
if(this._tab_offset != null) {
|
|
var _g2 = tab;
|
|
_g2.set_x(_g2.x + this._tab_offset.x);
|
|
var _g3 = tab;
|
|
_g3.set_y(_g3.y + this._tab_offset.y);
|
|
}
|
|
if(this._stretch_tabs) {
|
|
var theHeight = tab.get_height();
|
|
if(i != 0) {
|
|
theHeight = firstHeight;
|
|
tab.resize_ratio = -1;
|
|
}
|
|
if(diff_size > 0) {
|
|
tab.resize(tab_width + 1,theHeight);
|
|
xx += (tab_width | 0) + 1;
|
|
--diff_size;
|
|
} else {
|
|
tab.resize(tab_width,theHeight);
|
|
xx += tab_width | 0;
|
|
}
|
|
} else if(this._tab_spacing != null) {
|
|
xx += tab.get_width() + this._tab_spacing;
|
|
} else {
|
|
xx += tab.get_width();
|
|
}
|
|
if(i == 0) {
|
|
firstHeight = tab.get_height();
|
|
}
|
|
++i;
|
|
}
|
|
if(this._tabs != null && this._tabs.length > 0 && this._tabs[0] != null) {
|
|
this._back.set_y(this._tabs[0].y + this._tabs[0].get_height() - 2);
|
|
if(this._tab_offset != null) {
|
|
var _g = this._back;
|
|
_g.set_y(_g.y - this._tab_offset.y);
|
|
}
|
|
}
|
|
this.calcBounds();
|
|
}
|
|
,__class__: flixel_addons_ui_FlxUITabMenu
|
|
,__properties__: $extend(flixel_addons_ui_FlxUIGroup.prototype.__properties__,{set_selected_tab_id:"set_selected_tab_id",get_selected_tab_id:"get_selected_tab_id",set_selected_tab:"set_selected_tab",get_selected_tab:"get_selected_tab",set_skipButtonUpdate:"set_skipButtonUpdate",get_numTabs:"get_numTabs"})
|
|
});
|
|
var flixel_addons_ui_FlxUIText = function(X,Y,FieldWidth,Text1,Size,EmbeddedFont) {
|
|
if(EmbeddedFont == null) {
|
|
EmbeddedFont = true;
|
|
}
|
|
if(Size == null) {
|
|
Size = 8;
|
|
}
|
|
if(FieldWidth == null) {
|
|
FieldWidth = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
this.minimumHeight = 1;
|
|
this.broadcastToFlxUI = true;
|
|
flixel_text_FlxText.call(this,X,Y,FieldWidth,Text1,Size,EmbeddedFont);
|
|
};
|
|
$hxClasses["flixel.addons.ui.FlxUIText"] = flixel_addons_ui_FlxUIText;
|
|
flixel_addons_ui_FlxUIText.__name__ = "flixel.addons.ui.FlxUIText";
|
|
flixel_addons_ui_FlxUIText.__interfaces__ = [flixel_addons_ui_interfaces_IHasParams,flixel_addons_ui_interfaces_IFlxUIWidget,flixel_addons_ui_interfaces_IResizable];
|
|
flixel_addons_ui_FlxUIText.__super__ = flixel_text_FlxText;
|
|
flixel_addons_ui_FlxUIText.prototype = $extend(flixel_text_FlxText.prototype,{
|
|
broadcastToFlxUI: null
|
|
,name: null
|
|
,params: null
|
|
,minimumHeight: null
|
|
,resize: function(w,h) {
|
|
var sign = 1;
|
|
if(h < this.minimumHeight) {
|
|
h = this.minimumHeight;
|
|
}
|
|
if(h < this.get_height()) {
|
|
sign = -1;
|
|
}
|
|
this.set_width(w);
|
|
this.set_height(h);
|
|
this.textField.set_width(this.get_width());
|
|
var old_size = this._defaultFormat.size | 0;
|
|
var diff = this.get_height() - this.graphic.bitmap.height;
|
|
var failsafe = 0;
|
|
var numLines = this.textField.get_numLines();
|
|
while(diff * sign > 0 && failsafe < 999) {
|
|
++failsafe;
|
|
var _g = this;
|
|
_g.set_size((_g._defaultFormat.size | 0) + sign);
|
|
if(sign > 0 && this.textField.get_numLines() > numLines) {
|
|
var _g1 = this;
|
|
_g1.set_size((_g1._defaultFormat.size | 0) - sign);
|
|
break;
|
|
}
|
|
this._regen = true;
|
|
this.calcFrame(true);
|
|
diff = h - this.graphic.bitmap.height;
|
|
diff = h - this.graphic.bitmap.height;
|
|
}
|
|
if(failsafe >= 999) {
|
|
this.set_size(old_size);
|
|
}
|
|
this.set_width(w);
|
|
this.set_height(h);
|
|
this._regen = true;
|
|
this.calcFrame(true);
|
|
}
|
|
,set_minimumHeight: function(H) {
|
|
if(H < 1) {
|
|
H = 1;
|
|
}
|
|
this.minimumHeight = H;
|
|
return this.minimumHeight;
|
|
}
|
|
,set_params: function(p) {
|
|
this.params = p;
|
|
return this.params;
|
|
}
|
|
,clone: function() {
|
|
var newText = new flixel_addons_ui_FlxUIText();
|
|
newText.set_width(this.get_width());
|
|
newText.set_height(this.get_height());
|
|
var theFont = this._font;
|
|
theFont = flixel_addons_ui_FontFixer.fix(this._font);
|
|
newText.setFormat(theFont,this._defaultFormat.size | 0,this.color);
|
|
if(this._defaultFormat != null && this._defaultFormat.align != null) {
|
|
newText.set_alignment(flixel_text_FlxTextAlign.fromOpenFL(this._defaultFormat.align));
|
|
}
|
|
var Color = this.borderColor;
|
|
var Size = this.borderSize;
|
|
var Quality = this.borderQuality;
|
|
if(Quality == null) {
|
|
Quality = 1;
|
|
}
|
|
if(Size == null) {
|
|
Size = 1;
|
|
}
|
|
if(Color == null) {
|
|
Color = 0;
|
|
}
|
|
newText.set_borderStyle(this.borderStyle);
|
|
newText.set_borderColor(Color);
|
|
newText.set_borderSize(Size);
|
|
newText.set_borderQuality(Quality);
|
|
newText.set_text(this.text);
|
|
return newText;
|
|
}
|
|
,__class__: flixel_addons_ui_FlxUIText
|
|
,__properties__: $extend(flixel_text_FlxText.prototype.__properties__,{set_minimumHeight:"set_minimumHeight",set_params:"set_params"})
|
|
});
|
|
var flixel_addons_ui_FlxUITileTest = function(X,Y,TileWidth,TileHeight,tilesWide,tilesTall,color1,color2,FloorToEven) {
|
|
if(FloorToEven == null) {
|
|
FloorToEven = false;
|
|
}
|
|
if(color2 == null) {
|
|
color2 = 12895428;
|
|
}
|
|
if(color1 == null) {
|
|
color1 = 8421504;
|
|
}
|
|
this.baseTileSize = -1;
|
|
this.floorToEven = false;
|
|
this._color2 = 0;
|
|
this._color1 = 0;
|
|
this._tilesTall = 2;
|
|
this._tilesWide = 2;
|
|
flixel_addons_ui_FlxUISprite.call(this,X,Y);
|
|
this.tileWidth = TileWidth;
|
|
this.tileHeight = TileHeight;
|
|
this._tilesWide = tilesWide;
|
|
this._tilesTall = tilesTall;
|
|
this._color1 = color1;
|
|
this._color2 = color2;
|
|
this.floorToEven = FloorToEven;
|
|
this.makeTiles(this.tileWidth,this.tileHeight,this._tilesWide,this._tilesTall,this._color1,this._color2);
|
|
};
|
|
$hxClasses["flixel.addons.ui.FlxUITileTest"] = flixel_addons_ui_FlxUITileTest;
|
|
flixel_addons_ui_FlxUITileTest.__name__ = "flixel.addons.ui.FlxUITileTest";
|
|
flixel_addons_ui_FlxUITileTest.__interfaces__ = [flixel_addons_ui_interfaces_IFlxUIWidget,flixel_addons_ui_interfaces_IResizable];
|
|
flixel_addons_ui_FlxUITileTest.__super__ = flixel_addons_ui_FlxUISprite;
|
|
flixel_addons_ui_FlxUITileTest.prototype = $extend(flixel_addons_ui_FlxUISprite.prototype,{
|
|
tileWidth: null
|
|
,tileHeight: null
|
|
,get_widthInTiles: function() {
|
|
return this._tilesWide;
|
|
}
|
|
,get_heightInTiles: function() {
|
|
return this._tilesTall;
|
|
}
|
|
,_tilesWide: null
|
|
,_tilesTall: null
|
|
,_color1: null
|
|
,_color2: null
|
|
,floorToEven: null
|
|
,baseTileSize: null
|
|
,makeTiles: function(tileWidth,tileHeight,tilesWide,tilesTall,color1,color2) {
|
|
if(color2 == null) {
|
|
color2 = -3881788;
|
|
}
|
|
if(color1 == null) {
|
|
color1 = -8355712;
|
|
}
|
|
var size = this.constrain(tileWidth * this._tilesWide,tileHeight * this._tilesTall);
|
|
tileWidth = size.x | 0;
|
|
tileHeight = size.y | 0;
|
|
this.makeGraphic(tilesWide,tilesTall,color1);
|
|
var canvas = this.get_pixels();
|
|
var j = 0;
|
|
var _g = 0;
|
|
var _g1 = tilesWide;
|
|
while(_g < _g1) {
|
|
var ix = _g++;
|
|
var _g2 = 0;
|
|
var _g3 = tilesTall;
|
|
while(_g2 < _g3) {
|
|
var iy = _g2++;
|
|
if(j % 2 == 0) {
|
|
canvas.setPixel(ix,iy,color2);
|
|
}
|
|
++j;
|
|
}
|
|
if(tilesWide % 2 != 0) {
|
|
++j;
|
|
}
|
|
}
|
|
this.set_pixels(canvas);
|
|
this.scale.set(tileWidth,tileHeight);
|
|
this.updateHitbox();
|
|
}
|
|
,constrain: function(w,h) {
|
|
var tileWidth = w / this._tilesWide | 0;
|
|
var tileHeight = h / this._tilesTall | 0;
|
|
if(tileWidth < tileHeight) {
|
|
tileHeight = tileWidth;
|
|
} else if(tileHeight < tileWidth) {
|
|
tileWidth = tileHeight;
|
|
}
|
|
if(this.floorToEven) {
|
|
if(tileWidth % 2 == 1) {
|
|
--tileWidth;
|
|
tileHeight = tileWidth;
|
|
}
|
|
}
|
|
if(this.baseTileSize > 0) {
|
|
tileWidth = (tileWidth / this.baseTileSize | 0) * this.baseTileSize;
|
|
tileHeight = tileWidth;
|
|
}
|
|
return new flixel_math_FlxPoint(tileWidth,tileHeight);
|
|
}
|
|
,resize: function(w,h) {
|
|
this.makeTiles(this.tileWidth,this.tileHeight,this._tilesWide,this._tilesTall,this._color1,this._color2);
|
|
}
|
|
,__class__: flixel_addons_ui_FlxUITileTest
|
|
,__properties__: $extend(flixel_addons_ui_FlxUISprite.prototype.__properties__,{get_heightInTiles:"get_heightInTiles",get_widthInTiles:"get_widthInTiles"})
|
|
});
|
|
var flixel_addons_ui_FlxUITooltip = function(Width,Height,Anchor_,Style) {
|
|
flixel_addons_ui_FlxUIGroup.call(this,0,0);
|
|
if(Anchor_ == null) {
|
|
Anchor_ = new flixel_addons_ui_Anchor(0,0,"left","top","right","top");
|
|
}
|
|
Style = flixel_addons_ui_FlxUITooltip.styleFix(Style);
|
|
this.refresh(Width,Height,"","",Anchor_,Style);
|
|
this.setScrollFactor(0,0);
|
|
};
|
|
$hxClasses["flixel.addons.ui.FlxUITooltip"] = flixel_addons_ui_FlxUITooltip;
|
|
flixel_addons_ui_FlxUITooltip.__name__ = "flixel.addons.ui.FlxUITooltip";
|
|
flixel_addons_ui_FlxUITooltip.styleFix = function(Style,DefaultStyle) {
|
|
if(Style == null) {
|
|
Style = { titleFormat : null, bodyFormat : null, titleBorder : null, bodyBorder : null, titleOffset : null, bodyOffset : null, background : null, borderSize : -1, borderColor : null, arrow : null, titleWidth : -1, bodyWidth : -1, autoSizeHorizontal : null, autoSizeVertical : null, leftPadding : -1, rightPadding : -1, topPadding : -1, bottomPadding : -1};
|
|
}
|
|
if(DefaultStyle != null) {
|
|
if(Style.titleFormat == null) {
|
|
Style.titleFormat = DefaultStyle.titleFormat;
|
|
}
|
|
if(Style.bodyFormat == null) {
|
|
Style.bodyFormat = DefaultStyle.bodyFormat;
|
|
}
|
|
if(Style.titleBorder == null) {
|
|
Style.titleBorder = DefaultStyle.titleBorder;
|
|
}
|
|
if(Style.bodyBorder == null) {
|
|
Style.bodyBorder = DefaultStyle.bodyBorder;
|
|
}
|
|
if(Style.titleOffset == null) {
|
|
Style.titleOffset = DefaultStyle.titleOffset;
|
|
}
|
|
if(Style.bodyOffset == null) {
|
|
Style.bodyOffset = DefaultStyle.bodyOffset;
|
|
}
|
|
if(Style.background == null) {
|
|
Style.background = DefaultStyle.background;
|
|
}
|
|
if(Style.borderColor == null) {
|
|
Style.borderColor = DefaultStyle.borderColor;
|
|
}
|
|
if(Style.arrow == null) {
|
|
Style.arrow = DefaultStyle.arrow;
|
|
}
|
|
if(Style.borderSize == null || Style.borderSize < 0) {
|
|
Style.borderSize = DefaultStyle.borderSize;
|
|
}
|
|
if(Style.titleWidth == null || Style.titleWidth < 0) {
|
|
Style.titleWidth = DefaultStyle.titleWidth;
|
|
}
|
|
if(Style.bodyWidth == null || Style.bodyWidth < 0) {
|
|
Style.bodyWidth = DefaultStyle.bodyWidth;
|
|
}
|
|
if(Style.autoSizeHorizontal == null) {
|
|
Style.autoSizeHorizontal = DefaultStyle.autoSizeHorizontal;
|
|
}
|
|
if(Style.autoSizeVertical == null) {
|
|
Style.autoSizeVertical = DefaultStyle.autoSizeVertical;
|
|
}
|
|
if(Style.leftPadding == null || Style.leftPadding < 0) {
|
|
Style.leftPadding = DefaultStyle.leftPadding;
|
|
}
|
|
if(Style.rightPadding == null || Style.rightPadding < 0) {
|
|
Style.rightPadding = DefaultStyle.rightPadding;
|
|
}
|
|
if(Style.topPadding == null || Style.topPadding < 0) {
|
|
Style.topPadding = DefaultStyle.topPadding;
|
|
}
|
|
if(Style.leftPadding == null || Style.bottomPadding < 0) {
|
|
Style.bottomPadding = DefaultStyle.bottomPadding;
|
|
}
|
|
}
|
|
if(DefaultStyle != null) {
|
|
if(Style.titleFormat != null) {
|
|
flixel_addons_ui_FlxUITooltip.fillFontDefNulls(Style.titleFormat,DefaultStyle.titleFormat);
|
|
if(Style.titleFormat.format != null && DefaultStyle.titleFormat.format != null) {
|
|
flixel_addons_ui_FlxUITooltip.fillFormatNulls(Style.titleFormat.format,DefaultStyle.titleFormat.format);
|
|
}
|
|
}
|
|
if(Style.bodyFormat != null) {
|
|
flixel_addons_ui_FlxUITooltip.fillFontDefNulls(Style.bodyFormat,DefaultStyle.bodyFormat);
|
|
if(Style.bodyFormat.format != null && DefaultStyle.bodyFormat.format != null) {
|
|
flixel_addons_ui_FlxUITooltip.fillFormatNulls(Style.bodyFormat.format,DefaultStyle.bodyFormat.format);
|
|
}
|
|
}
|
|
}
|
|
if(Style.titleFormat == null) {
|
|
Style.titleFormat = new flixel_addons_ui_FontDef(null,null,null,new openfl_text_TextFormat(null,8,-16777216),null);
|
|
}
|
|
if(Style.bodyFormat == null) {
|
|
Style.bodyFormat = new flixel_addons_ui_FontDef(null,null,null,new openfl_text_TextFormat(null,8,-16777216),null);
|
|
}
|
|
if(Style.titleBorder == null) {
|
|
Style.titleBorder = new flixel_addons_ui_BorderDef(flixel_text_FlxTextBorderStyle.NONE,0,0,1);
|
|
}
|
|
if(Style.bodyBorder == null) {
|
|
Style.bodyBorder = new flixel_addons_ui_BorderDef(flixel_text_FlxTextBorderStyle.NONE,0,0,1);
|
|
}
|
|
if(Style.titleOffset == null) {
|
|
Style.titleOffset = new flixel_math_FlxPoint(0,0);
|
|
}
|
|
if(Style.bodyOffset == null) {
|
|
Style.bodyOffset = new flixel_math_FlxPoint(0,0);
|
|
}
|
|
if(Style.background == null) {
|
|
Style.background = 16777162;
|
|
}
|
|
if(Style.borderColor == null) {
|
|
Style.borderColor = -16777216;
|
|
}
|
|
if(Style.arrow == null) {
|
|
Style.arrow = "flixel/flixel-ui/img/tooltip_arrow.png";
|
|
}
|
|
if(Style.borderSize == null || Style.borderSize < 0) {
|
|
Style.borderSize = 1;
|
|
}
|
|
if(Style.titleWidth == null || Style.titleWidth < 0) {
|
|
Style.titleWidth = 100;
|
|
}
|
|
if(Style.bodyWidth == null || Style.bodyWidth < 0) {
|
|
Style.bodyWidth = 100;
|
|
}
|
|
if(Style.autoSizeHorizontal == null) {
|
|
Style.autoSizeHorizontal = true;
|
|
}
|
|
if(Style.autoSizeVertical == null) {
|
|
Style.autoSizeVertical = true;
|
|
}
|
|
if(Style.leftPadding == null || Style.leftPadding < 0) {
|
|
Style.leftPadding = 0;
|
|
}
|
|
if(Style.rightPadding == null || Style.rightPadding < 0) {
|
|
Style.rightPadding = 0;
|
|
}
|
|
if(Style.topPadding == null || Style.topPadding < 0) {
|
|
Style.topPadding = 0;
|
|
}
|
|
if(Style.leftPadding == null || Style.bottomPadding < 0) {
|
|
Style.bottomPadding = 0;
|
|
}
|
|
return Style;
|
|
};
|
|
flixel_addons_ui_FlxUITooltip.cloneStyle = function(s) {
|
|
var tf = s.titleFormat != null ? s.titleFormat.clone() : null;
|
|
var bf = s.bodyFormat != null ? s.bodyFormat.clone() : null;
|
|
var obj = { titleFormat : tf, bodyFormat : bf, borderSize : s.borderSize, titleWidth : s.titleWidth, bodyWidth : s.bodyWidth, background : s.background, borderColor : s.borderColor, arrow : s.arrow, titleOffset : s.titleOffset.copyTo(), bodyOffset : s.bodyOffset.copyTo(), titleBorder : s.titleBorder.clone(), bodyBorder : s.bodyBorder.clone(), autoSizeVertical : s.autoSizeVertical, autoSizeHorizontal : s.autoSizeHorizontal, leftPadding : s.leftPadding, rightPadding : s.rightPadding, topPadding : s.topPadding, bottomPadding : s.bottomPadding};
|
|
return obj;
|
|
};
|
|
flixel_addons_ui_FlxUITooltip.fillFontDefNulls = function(a,b) {
|
|
if(a.get_size() == 0) {
|
|
a.set_size(b.get_size());
|
|
}
|
|
if(a.name == null || a.name == "") {
|
|
a.name = b.name;
|
|
}
|
|
if(a.file == null || a.file == "") {
|
|
a.file = b.file;
|
|
}
|
|
if(a.extension == null || a.extension == "") {
|
|
a.extension = b.extension;
|
|
}
|
|
if(a.border == null) {
|
|
a.border = b.border != null ? b.border.clone() : null;
|
|
}
|
|
};
|
|
flixel_addons_ui_FlxUITooltip.fillFormatNulls = function(a,b) {
|
|
if(a.align == null) {
|
|
a.align = b.align;
|
|
}
|
|
if(a.blockIndent == null) {
|
|
a.blockIndent = b.blockIndent;
|
|
}
|
|
if(a.bold == null) {
|
|
a.bold = b.bold;
|
|
}
|
|
if(a.bullet == null) {
|
|
a.bullet = b.bullet;
|
|
}
|
|
if(a.color == null) {
|
|
a.color = b.color;
|
|
}
|
|
if(a.font == null) {
|
|
a.font = b.font;
|
|
}
|
|
if(a.indent == null) {
|
|
a.indent = b.indent;
|
|
}
|
|
if(a.italic == null) {
|
|
a.italic = b.italic;
|
|
}
|
|
if(a.kerning == null) {
|
|
a.kerning = b.kerning;
|
|
}
|
|
if(a.leading == null) {
|
|
a.leading = b.leading;
|
|
}
|
|
if(a.leftMargin == null) {
|
|
a.leftMargin = b.leftMargin;
|
|
}
|
|
if(a.letterSpacing == null) {
|
|
a.letterSpacing = b.letterSpacing;
|
|
}
|
|
if(a.rightMargin == null) {
|
|
a.rightMargin = b.rightMargin;
|
|
}
|
|
if(a.size == null) {
|
|
a.size = b.size;
|
|
}
|
|
if(a.tabStops == null) {
|
|
a.tabStops = b.tabStops;
|
|
}
|
|
if(a.target == null) {
|
|
a.target = b.target;
|
|
}
|
|
if(a.underline == null) {
|
|
a.underline = b.underline;
|
|
}
|
|
if(a.url == null) {
|
|
a.url = b.url;
|
|
}
|
|
};
|
|
flixel_addons_ui_FlxUITooltip.__super__ = flixel_addons_ui_FlxUIGroup;
|
|
flixel_addons_ui_FlxUITooltip.prototype = $extend(flixel_addons_ui_FlxUIGroup.prototype,{
|
|
style: null
|
|
,anchor: null
|
|
,title: null
|
|
,body: null
|
|
,show: function(obj,Title,Body,AutoSizeVertical,AutoSizeHorizontal,ShowArrow) {
|
|
if(ShowArrow == null) {
|
|
ShowArrow = true;
|
|
}
|
|
if(AutoSizeHorizontal == null) {
|
|
AutoSizeHorizontal = true;
|
|
}
|
|
if(AutoSizeVertical == null) {
|
|
AutoSizeVertical = true;
|
|
}
|
|
if(Body == null) {
|
|
Body = "";
|
|
}
|
|
if(Title == null) {
|
|
Title = "";
|
|
}
|
|
this.set_visible(true);
|
|
this.set_active(true);
|
|
this.set_x(0);
|
|
this.set_y(0);
|
|
this._bkg.set_x(0);
|
|
this._bkg.set_y(0);
|
|
this._arrow.set_x(0);
|
|
this._arrow.set_y(0);
|
|
this._arrowBkg.set_x(0);
|
|
this._arrowBkg.set_y(0);
|
|
this._arrowBkg = this.makeArrowBkg(this._arrowBkg);
|
|
this._arrow.set_color(this.style.background);
|
|
this._arrow.set_visible(this._arrowBkg.set_visible(ShowArrow));
|
|
if(this.style.titleWidth > 0) {
|
|
this._titleText.set_width(this._titleText.textField.set_width(this.style.titleWidth) | 0);
|
|
}
|
|
if(this.style.bodyWidth > 0) {
|
|
this._bodyText.set_width(this._bodyText.textField.set_width(this.style.bodyWidth) | 0);
|
|
}
|
|
if(this.style.titleFormat != null) {
|
|
this.style.titleFormat.apply(null,this._titleText);
|
|
}
|
|
if(this.style.bodyFormat != null) {
|
|
this.style.bodyFormat.apply(null,this._bodyText);
|
|
}
|
|
if(this.style.titleBorder != null) {
|
|
this.style.titleBorder.apply(this._titleText);
|
|
}
|
|
if(this.style.bodyBorder != null) {
|
|
this.style.bodyBorder.apply(this._bodyText);
|
|
}
|
|
this._titleText.set_text(Title);
|
|
this._bodyText.set_text(Body);
|
|
this._titleText.update(0);
|
|
this._bodyText.update(0);
|
|
var titleHeight = this._titleText.textField.get_textHeight() + 4 | 0;
|
|
if(this.style.titleOffset != null) {
|
|
this._titleText.set_x(this.style.titleOffset.x | 0);
|
|
this._titleText.set_y(this.style.titleOffset.y | 0);
|
|
}
|
|
if(this.style.bodyOffset != null) {
|
|
this._bodyText.set_x(this.style.bodyOffset.x | 0);
|
|
this._bodyText.set_y(this._titleText.y + titleHeight + this.style.bodyOffset.y | 0);
|
|
}
|
|
var W = this._bkg.get_width() | 0;
|
|
var H = this._bkg.get_height() | 0;
|
|
if(AutoSizeHorizontal) {
|
|
var tw = this._titleText.text != "" ? this._titleText.x + this._titleText.get_width() : 0;
|
|
var bw = this._bodyText.text != "" ? this._bodyText.x + this._bodyText.get_width() : 0;
|
|
W = Math.max(tw,bw) | 0;
|
|
}
|
|
if(AutoSizeVertical) {
|
|
var th = this._titleText.text != "" ? this._titleText.y + this._titleText.get_height() : 0;
|
|
var bh = this._bodyText.text != "" ? this._bodyText.y + this._bodyText.get_height() : 0;
|
|
H = Math.max(th,bh) | 0;
|
|
H = Math.max(H,this._arrowBkg.get_height()) | 0;
|
|
}
|
|
if(this.style.leftPadding == null) {
|
|
this.style.leftPadding = 0;
|
|
}
|
|
if(this.style.rightPadding == null) {
|
|
this.style.rightPadding = 0;
|
|
}
|
|
if(this.style.topPadding == null) {
|
|
this.style.topPadding = 0;
|
|
}
|
|
if(this.style.bottomPadding == null) {
|
|
this.style.bottomPadding = 0;
|
|
}
|
|
W += this.style.leftPadding + this.style.rightPadding;
|
|
H += this.style.topPadding + this.style.bottomPadding;
|
|
W |= 0;
|
|
H |= 0;
|
|
this.refreshBkg(W,H,this.style);
|
|
var oldOffX = this._anchorArrow.x.offset | 0;
|
|
var oldOffY = this._anchorArrow.y.offset | 0;
|
|
this._anchorArrow.x.offset -= this.anchor.x.offset;
|
|
this._anchorArrow.y.offset += this.anchor.y.offset;
|
|
this._anchorArrow.x.offset = this._anchorArrow.x.offset | 0;
|
|
this._anchorArrow.y.offset = this._anchorArrow.y.offset | 0;
|
|
this._anchorArrow.anchorThing(this._arrow,this._bkg);
|
|
this._anchorArrow.x.offset = oldOffX;
|
|
this._anchorArrow.y.offset = oldOffY;
|
|
if(this._arrow.x < 0) {
|
|
var xx = Math.abs(this._arrow.x) | 0;
|
|
var _g = this._bkg;
|
|
_g.set_x(_g.x + xx);
|
|
var _g = this._titleText;
|
|
_g.set_x(_g.x + xx);
|
|
var _g = this._bodyText;
|
|
_g.set_x(_g.x + xx);
|
|
this._arrow.set_x(0);
|
|
}
|
|
if(this._arrow.y < 0) {
|
|
var yy = Math.abs(this._arrow.y) | 0;
|
|
var _g = this._bkg;
|
|
_g.set_y(_g.y + yy);
|
|
var _g = this._titleText;
|
|
_g.set_y(_g.y + yy);
|
|
var _g = this._bodyText;
|
|
_g.set_y(_g.y + yy);
|
|
this._arrow.set_y(0);
|
|
}
|
|
if(this._titleText.text != "" && this._bodyText.text == "") {
|
|
var tempH = H - (this.style.topPadding + this.style.bottomPadding);
|
|
var titleOnlyOffset = (tempH - titleHeight) / 2 | 0;
|
|
var _g = this._titleText;
|
|
_g.set_y(_g.y + titleOnlyOffset);
|
|
}
|
|
var _g = this._titleText;
|
|
_g.set_x(_g.x + this.style.leftPadding);
|
|
var _g = this._bodyText;
|
|
_g.set_x(_g.x + this.style.leftPadding);
|
|
var _g = this._titleText;
|
|
_g.set_y(_g.y + this.style.topPadding);
|
|
var _g = this._bodyText;
|
|
_g.set_y(_g.y + this.style.topPadding);
|
|
if(this._titleText.text == "") {
|
|
this._titleText.set_x(this._bkg.x);
|
|
this._titleText.set_y(this._bkg.y);
|
|
this._titleText.set_width(this._bkg.get_width());
|
|
}
|
|
if(this._bodyText.text == "") {
|
|
this._bodyText.set_x(this._bkg.x);
|
|
this._bodyText.set_y(this._bkg.y);
|
|
this._bodyText.set_width(this._bkg.get_width());
|
|
}
|
|
this.anchor.anchorThing(this,obj);
|
|
this.set_x(this.x | 0);
|
|
this.set_y(this.y | 0);
|
|
this._arrowBkg.set_x(this._arrow.x - this.style.borderSize | 0);
|
|
this._arrowBkg.set_y(this._arrow.y - this.style.borderSize | 0);
|
|
this._titleText.set_x(this._titleText.x | 0);
|
|
this._bodyText.set_x(this._bodyText.x | 0);
|
|
this._bkg.set_x(this._bkg.x | 0);
|
|
this._bkg.set_y(this._bkg.y | 0);
|
|
this._arrowBkg.set_x(this._arrowBkg.x | 0);
|
|
this._arrowBkg.set_y(this._arrowBkg.y | 0);
|
|
this._arrow.set_x(this._arrow.x | 0);
|
|
this._arrow.set_y(this._arrow.y | 0);
|
|
}
|
|
,get_height: function() {
|
|
if(this.group.length == 0) {
|
|
return 0;
|
|
}
|
|
var minY = Infinity;
|
|
var maxY = -Infinity;
|
|
var _g = 0;
|
|
var _g1 = this._sprites;
|
|
while(_g < _g1.length) {
|
|
var member = _g1[_g];
|
|
++_g;
|
|
if(member == null) {
|
|
continue;
|
|
}
|
|
if(((member) instanceof flixel_text_FlxText)) {
|
|
continue;
|
|
}
|
|
var minMemberY = member.y;
|
|
var maxMemberY = minMemberY + member.get_height();
|
|
if(maxMemberY > maxY) {
|
|
maxY = maxMemberY;
|
|
}
|
|
if(minMemberY < minY) {
|
|
minY = minMemberY;
|
|
}
|
|
}
|
|
return maxY - minY;
|
|
}
|
|
,hide: function() {
|
|
this.set_visible(false);
|
|
this.set_active(false);
|
|
}
|
|
,set_anchor: function(a) {
|
|
this.anchor = a;
|
|
this._anchorArrow = this.getArrowAnchor(a,this._anchorArrow);
|
|
if(this._arrowBkg != null) {
|
|
this.makeArrowBkg(this._arrowBkg);
|
|
}
|
|
return a;
|
|
}
|
|
,set_style: function(s) {
|
|
this.style = s;
|
|
return s;
|
|
}
|
|
,set_title: function(t) {
|
|
this.title = t;
|
|
return t;
|
|
}
|
|
,set_body: function(b) {
|
|
this.body = b;
|
|
return b;
|
|
}
|
|
,_bkg: null
|
|
,_titleText: null
|
|
,_bodyText: null
|
|
,_arrow: null
|
|
,_arrowBkg: null
|
|
,_anchorArrow: null
|
|
,refresh: function(Width,Height,Title,Body,Anchor_,Style) {
|
|
var newBkg = this._bkg == null;
|
|
var newArrow = this._arrow == null;
|
|
var newTitle = this._titleText == null;
|
|
var newBody = this._bodyText == null;
|
|
if(newBkg) {
|
|
this._bkg = new flixel_FlxSprite();
|
|
}
|
|
if(newArrow) {
|
|
this._arrow = new flixel_FlxSprite();
|
|
}
|
|
if(newTitle) {
|
|
this._titleText = new flixel_addons_ui_FlxUIText(0,0,Width);
|
|
if(Style.titleFormat != null) {
|
|
Style.titleFormat.apply(null,this._titleText);
|
|
}
|
|
if(Style.titleBorder != null) {
|
|
Style.titleBorder.apply(this._titleText);
|
|
}
|
|
}
|
|
if(newBody) {
|
|
this._bodyText = new flixel_addons_ui_FlxUIText(0,0,Width);
|
|
if(Style.bodyFormat != null) {
|
|
Style.bodyFormat.apply(null,this._bodyText);
|
|
}
|
|
if(Style.bodyBorder != null) {
|
|
Style.bodyBorder.apply(this._bodyText);
|
|
}
|
|
}
|
|
this._titleText.set_text(Title);
|
|
this._bodyText.set_text(Body);
|
|
this._arrow.set_color(Style.background);
|
|
var test = flixel_FlxG.bitmap.add(Style.arrow);
|
|
if(Style.arrow == null) {
|
|
Style.arrow = "flixel/flixel-ui/img/tooltip_arrow.png";
|
|
flixel_FlxG.bitmap.add(Style.arrow);
|
|
}
|
|
this._arrow.loadGraphic(Style.arrow,true,test.height,test.height);
|
|
if(newArrow) {
|
|
this._arrow.animation.add("right",[0],0,false);
|
|
this._arrow.animation.add("down",[1],0,false);
|
|
this._arrow.animation.add("left",[2],0,false);
|
|
this._arrow.animation.add("up",[3],0,false);
|
|
}
|
|
this.refreshBkg(Width,Height,Style);
|
|
this.set_style(Style);
|
|
if(newArrow && Style.borderSize > 0) {
|
|
this._arrowBkg = new flixel_FlxSprite();
|
|
this.add(this._arrowBkg);
|
|
}
|
|
this.set_anchor(Anchor_);
|
|
if(newBkg) {
|
|
this.add(this._bkg);
|
|
}
|
|
if(newArrow) {
|
|
this.add(this._arrow);
|
|
}
|
|
if(newTitle) {
|
|
this.add(this._titleText);
|
|
}
|
|
if(newBody) {
|
|
this.add(this._bodyText);
|
|
}
|
|
}
|
|
,refreshBkg: function(Width,Height,Style) {
|
|
var key = this.getStyleKey(Width,Height,Style);
|
|
if(flixel_FlxG.bitmap._cache.h[key] == null) {
|
|
var pix = null;
|
|
if(Style.borderSize > 0) {
|
|
pix = new openfl_display_BitmapData(Width,Height,false,Style.borderColor);
|
|
pix.fillRect(new openfl_geom_Rectangle(Style.borderSize,Style.borderSize,Width - Style.borderSize * 2,Height - Style.borderSize * 2),Style.background);
|
|
} else {
|
|
pix = new openfl_display_BitmapData(Width,Height,false,Style.background);
|
|
}
|
|
flixel_FlxG.bitmap.add(pix,true,key);
|
|
}
|
|
this._bkg.loadGraphic(key);
|
|
}
|
|
,getStyleKey: function(W,H,Style) {
|
|
var this1 = Style.background;
|
|
var tmp = W + "," + H + "," + ("0x" + StringTools.hex(this1 >> 24 & 255,2) + StringTools.hex(this1 >> 16 & 255,2) + StringTools.hex(this1 >> 8 & 255,2) + StringTools.hex(this1 & 255,2)) + "," + Style.borderSize + ",";
|
|
var this1 = Style.borderColor;
|
|
return tmp + ("0x" + StringTools.hex(this1 >> 24 & 255,2) + StringTools.hex(this1 >> 16 & 255,2) + StringTools.hex(this1 >> 8 & 255,2) + StringTools.hex(this1 & 255,2));
|
|
}
|
|
,makeArrowBkg: function(b) {
|
|
if(b == null) {
|
|
b = new flixel_FlxSprite();
|
|
}
|
|
var animName = this._arrow == null ? "null" : this._arrow.animation._curAnim == null ? "null" : this._arrow.animation._curAnim.name;
|
|
var key = "arrowBkg:" + this.style.background + "," + this.style.borderSize + "," + this.style.borderColor + "," + animName;
|
|
if(flixel_FlxG.bitmap._cache.h[key] == null) {
|
|
var bs = this.style.borderSize;
|
|
if(bs < 0 || bs == null) {
|
|
bs = 0;
|
|
}
|
|
var W = this._arrow.get_width() + bs | 0;
|
|
var H = this._arrow.get_height() + bs | 0;
|
|
var bd = new openfl_display_BitmapData(W,H,true,0);
|
|
flixel_FlxG.bitmap.add(bd,false,key);
|
|
b.loadGraphic(key);
|
|
var oldColor = this._arrow.color;
|
|
this._arrow.set_color(this.style.borderColor);
|
|
var m = new openfl_geom_Matrix();
|
|
m.identity();
|
|
b.stamp(this._arrow,0 * this.style.borderSize,0 * this.style.borderSize);
|
|
b.stamp(this._arrow,this.style.borderSize,0 * this.style.borderSize);
|
|
b.stamp(this._arrow,2 * this.style.borderSize,0 * this.style.borderSize);
|
|
b.stamp(this._arrow,0 * this.style.borderSize,this.style.borderSize);
|
|
b.stamp(this._arrow,2 * this.style.borderSize,this.style.borderSize);
|
|
b.stamp(this._arrow,0 * this.style.borderSize,2 * this.style.borderSize);
|
|
b.stamp(this._arrow,this.style.borderSize,2 * this.style.borderSize);
|
|
b.stamp(this._arrow,2 * this.style.borderSize,2 * this.style.borderSize);
|
|
this._arrow.set_color(oldColor);
|
|
}
|
|
b.loadGraphic(key);
|
|
return b;
|
|
}
|
|
,getArrowAnchor: function(a,result) {
|
|
var touchHorz = a.x.side == "left" && a.x.flush == "right" || a.x.side == "right" && a.x.flush == "left";
|
|
var touchVert = a.y.side == "top" && a.y.flush == "bottom" || a.y.side == "bottom" && a.y.flush == "top";
|
|
var matchHorz = a.x.side == "left" && a.x.flush == "left" || a.x.side == "right" && a.x.flush == "right";
|
|
var matchVert = a.y.side == "top" && a.y.flush == "top" || a.y.side == "bottom" && a.y.flush == "bottom";
|
|
var touchBoth = touchHorz && touchVert;
|
|
var matchBoth = matchHorz && matchVert;
|
|
var off = this.style.borderSize;
|
|
if(!touchBoth) {
|
|
if(touchHorz) {
|
|
result = a.getFlipped(true,false,result);
|
|
if(result.x.flush == "left") {
|
|
result.x.offset -= off;
|
|
this._arrow.animation.play("right");
|
|
}
|
|
if(result.x.flush == "right") {
|
|
result.x.offset += off;
|
|
this._arrow.animation.play("left");
|
|
}
|
|
}
|
|
if(touchVert) {
|
|
result = a.getFlipped(false,true,result);
|
|
if(result.y.flush == "top") {
|
|
result.y.offset -= off;
|
|
this._arrow.animation.play("down");
|
|
}
|
|
if(result.y.flush == "bottom") {
|
|
result.y.offset += off;
|
|
this._arrow.animation.play("up");
|
|
}
|
|
}
|
|
}
|
|
if(!matchBoth) {
|
|
if(matchHorz) {
|
|
if(result.x.flush == "left") {
|
|
result.x.offset += off;
|
|
}
|
|
if(result.x.flush == "right") {
|
|
result.x.offset -= off;
|
|
}
|
|
}
|
|
if(matchVert) {
|
|
if(result.y.flush == "top") {
|
|
result.y.offset += off;
|
|
}
|
|
if(result.y.flush == "bottom") {
|
|
result.y.offset -= off;
|
|
}
|
|
}
|
|
}
|
|
if(result != null) {
|
|
return result;
|
|
}
|
|
return a;
|
|
}
|
|
,__class__: flixel_addons_ui_FlxUITooltip
|
|
,__properties__: $extend(flixel_addons_ui_FlxUIGroup.prototype.__properties__,{set_body:"set_body",set_title:"set_title",set_anchor:"set_anchor",set_style:"set_style"})
|
|
});
|
|
var flixel_addons_ui_FlxUITooltipManager = function(State,SubState) {
|
|
this.current = -1;
|
|
this._init = false;
|
|
this.delay = 0.1;
|
|
this.showOnClick = false;
|
|
this.defaultStyle = null;
|
|
this.fixedPosition = null;
|
|
this.defaultAnchor = null;
|
|
this.autoFlipAnchor = true;
|
|
if(State != null) {
|
|
this.state = State;
|
|
} else if(SubState != null) {
|
|
this.subState = SubState;
|
|
}
|
|
this.list = [];
|
|
this.tooltip = new flixel_addons_ui_FlxUITooltip(100,50);
|
|
this.lastPosition = new flixel_math_FlxPoint(0,0);
|
|
this.defaultAnchor = this.tooltip.anchor.clone();
|
|
this.defaultStyle = flixel_addons_ui_FlxUITooltip.cloneStyle(this.tooltip.style);
|
|
};
|
|
$hxClasses["flixel.addons.ui.FlxUITooltipManager"] = flixel_addons_ui_FlxUITooltipManager;
|
|
flixel_addons_ui_FlxUITooltipManager.__name__ = "flixel.addons.ui.FlxUITooltipManager";
|
|
flixel_addons_ui_FlxUITooltipManager.__interfaces__ = [flixel_util_IFlxDestroyable];
|
|
flixel_addons_ui_FlxUITooltipManager.prototype = {
|
|
autoFlipAnchor: null
|
|
,defaultAnchor: null
|
|
,fixedPosition: null
|
|
,defaultStyle: null
|
|
,showOnClick: null
|
|
,delay: null
|
|
,showTooltipArrow: null
|
|
,cameras: null
|
|
,init: function() {
|
|
var ui = this.state != null ? this.state._ui : this.subState != null ? this.subState._ui : null;
|
|
if(ui == null) {
|
|
return;
|
|
}
|
|
if(ui != null && ui.getDefinition("default:tooltip") != null) {
|
|
var tt = ui._loadTooltipData(null);
|
|
this.defaultStyle = flixel_addons_ui_FlxUITooltip.cloneStyle(tt.style);
|
|
this.tooltip.set_style(this.defaultStyle);
|
|
}
|
|
}
|
|
,destroy: function() {
|
|
flixel_util_FlxDestroyUtil.destroyArray(this.list);
|
|
this.list = null;
|
|
this.tooltip = null;
|
|
this.lastPosition = null;
|
|
this.state = null;
|
|
this.subState = null;
|
|
this.defaultAnchor = null;
|
|
this.defaultStyle = null;
|
|
}
|
|
,clear: function() {
|
|
while(this.list.length > 0) {
|
|
var entry = this.list.pop();
|
|
if(entry != null) {
|
|
entry.destroy();
|
|
}
|
|
}
|
|
}
|
|
,hideCurrent: function() {
|
|
if(this.current > 0) {
|
|
this.hide(this.current);
|
|
}
|
|
}
|
|
,isVisible: function() {
|
|
return this.current > 0;
|
|
}
|
|
,doesCurrentTooltipBelongTo: function(thing,checkChildren) {
|
|
if(checkChildren == null) {
|
|
checkChildren = true;
|
|
}
|
|
if(((thing) instanceof flixel_addons_ui_FlxUIGroup)) {
|
|
var i = this.findObj(thing);
|
|
if(i != -1) {
|
|
return i == this.current;
|
|
}
|
|
if(checkChildren) {
|
|
var fuig = thing;
|
|
var _g = 0;
|
|
var _g1 = fuig.group.members;
|
|
while(_g < _g1.length) {
|
|
var member = _g1[_g];
|
|
++_g;
|
|
if(this.doesCurrentTooltipBelongTo(member)) {
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
} else if(((thing) instanceof flixel_addons_ui_FlxUIButton)) {
|
|
var i = this.findBtn(thing);
|
|
if(i == -1) {
|
|
return false;
|
|
}
|
|
return i == this.current;
|
|
} else if(((thing) instanceof flixel_FlxObject)) {
|
|
var i = this.findObj(thing);
|
|
if(i == -1) {
|
|
return false;
|
|
}
|
|
return i == this.current;
|
|
}
|
|
return false;
|
|
}
|
|
,stickyTooltipFor: function(thing,sticky) {
|
|
if(sticky == null) {
|
|
sticky = true;
|
|
}
|
|
var i = this.findThing(thing);
|
|
if(i != -1) {
|
|
this.list[i].sticky = sticky;
|
|
}
|
|
}
|
|
,showTooltipFor: function(thing,value) {
|
|
if(value == null) {
|
|
value = true;
|
|
}
|
|
var i = this.findThing(thing);
|
|
if(i != -1) {
|
|
this.current = -1;
|
|
if(value) {
|
|
this.show(i);
|
|
} else {
|
|
this.hide(i);
|
|
}
|
|
}
|
|
}
|
|
,enableTooltipFor: function(thing,enabled) {
|
|
var i = this.findThing(thing);
|
|
if(i >= 0 && i < this.list.length) {
|
|
var entry = this.list[i];
|
|
entry.enabled = enabled;
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
,add: function(thing,data) {
|
|
if(this._init) {
|
|
data.style = flixel_addons_ui_FlxUITooltip.styleFix(data.style,this.defaultStyle);
|
|
}
|
|
var btn = null;
|
|
var i = -1;
|
|
if(js_Boot.__implements(thing,flixel_addons_ui_interfaces_IFlxUIButton)) {
|
|
btn = thing;
|
|
i = this.findBtn(btn);
|
|
if(i == -1) {
|
|
this.list.push(new flixel_addons_ui__$FlxUITooltipManager_FlxUITooltipEntry(btn,data));
|
|
} else {
|
|
this.list[i].data = data;
|
|
this.list[i].count = 0;
|
|
}
|
|
} else {
|
|
i = this.findObj(thing);
|
|
if(i == -1) {
|
|
var b = new flixel_addons_ui_FlxUIButton(0,0,"",null,false,true);
|
|
b.resize(thing.get_width(),thing.get_height());
|
|
btn = b;
|
|
btn.set_x(thing.x);
|
|
btn.set_y(thing.y);
|
|
btn.set_width(thing.get_width());
|
|
btn.set_height(thing.get_height());
|
|
btn.scrollFactor.set(thing.scrollFactor.x,thing.scrollFactor.y);
|
|
if(this.state != null) {
|
|
this.state.add(btn);
|
|
} else if(this.subState != null) {
|
|
this.subState.add(btn);
|
|
}
|
|
this.list.push(new flixel_addons_ui__$FlxUITooltipManager_FlxUITooltipEntry(btn,data,thing));
|
|
} else {
|
|
this.list[i].data = data;
|
|
this.list[i].count = 0;
|
|
this.list[i].btn.set_x(thing.x);
|
|
this.list[i].btn.set_y(thing.y);
|
|
this.list[i].btn.set_width(thing.get_width());
|
|
this.list[i].btn.set_height(thing.get_height());
|
|
this.list[i].btn.scrollFactor.set(thing.scrollFactor.x,thing.scrollFactor.y);
|
|
}
|
|
}
|
|
}
|
|
,remove: function(thing) {
|
|
var btn = null;
|
|
var i = -1;
|
|
if(js_Boot.__implements(thing,flixel_addons_ui_interfaces_IFlxUIButton)) {
|
|
btn = thing;
|
|
i = this.findBtn(btn);
|
|
} else {
|
|
i = this.findObj(thing);
|
|
}
|
|
if(i != -1) {
|
|
if(this.current == i) {
|
|
this.hide(this.current);
|
|
}
|
|
var entry = this.list[i];
|
|
this.list.splice(i,1);
|
|
entry.destroy();
|
|
}
|
|
}
|
|
,update: function(elapsed) {
|
|
var _g = 0;
|
|
var _g1 = this.list.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var btn = this.list[i].btn;
|
|
var obj = this.list[i].obj;
|
|
if(this.list[i].enabled == false) {
|
|
if(this.current == i) {
|
|
this.hide(i);
|
|
}
|
|
this.list[i].count = 0;
|
|
continue;
|
|
}
|
|
if(obj != null) {
|
|
btn.set_x(obj.x);
|
|
btn.set_y(obj.y);
|
|
btn.set_width(obj.get_width());
|
|
btn.set_height(obj.get_height());
|
|
btn.set_visible(obj.visible);
|
|
}
|
|
if(this.list[i].sticky == false && (false == btn.visible || btn.get_justMousedOut() || btn.get_mouseIsOut())) {
|
|
this.list[i].count = 0;
|
|
this.hide(i);
|
|
} else if(btn.get_justMousedOver() || btn.get_mouseIsOver()) {
|
|
if(btn.get_mouseIsOver()) {
|
|
this.list[i].count += elapsed;
|
|
}
|
|
}
|
|
if(this.list[i].count > this.delay || this.list[i].data.delay >= 0 && this.list[i].count > this.list[i].data.delay) {
|
|
if(this.current != i) {
|
|
this.show(i);
|
|
} else if(this.list[i].data.moving) {
|
|
this.show(i);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,_init: null
|
|
,list: null
|
|
,tooltip: null
|
|
,current: null
|
|
,lastPosition: null
|
|
,state: null
|
|
,subState: null
|
|
,hide: function(i) {
|
|
if(this.current == i) {
|
|
this.tooltip.hide();
|
|
if(this.state != null) {
|
|
this.state.remove(this.tooltip,true);
|
|
}
|
|
if(this.subState != null) {
|
|
this.subState.remove(this.tooltip,true);
|
|
}
|
|
this.current = -1;
|
|
}
|
|
}
|
|
,findThing: function(thing) {
|
|
if(thing == null) {
|
|
return -1;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.list;
|
|
while(_g < _g1.length) {
|
|
var entry = _g1[_g];
|
|
++_g;
|
|
if(entry.obj == thing || js_Boot.__implements(thing,flixel_addons_ui_interfaces_IFlxUIButton) && js_Boot.__cast(thing , flixel_addons_ui_interfaces_IFlxUIButton) == entry.btn) {
|
|
return this.list.indexOf(entry);
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
,findBtn: function(btn) {
|
|
if(btn == null) {
|
|
return -1;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.list.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(this.list[i] != null && this.list[i].btn == btn) {
|
|
return i;
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
,findObj: function(obj) {
|
|
if(obj == null) {
|
|
return -1;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.list.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(this.list[i] != null && this.list[i].obj == obj) {
|
|
return i;
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
,set_fixedPosition: function(value) {
|
|
this.fixedPosition = value;
|
|
if(this.tooltip != null && this.tooltip.visible) {
|
|
this.show(this.current);
|
|
}
|
|
return this.fixedPosition;
|
|
}
|
|
,set_showTooltipArrow: function(b) {
|
|
this.showTooltipArrow = b;
|
|
if(this.tooltip != null && this.tooltip.visible) {
|
|
this.tooltip._arrow.set_visible(this.tooltip._arrowBkg.set_visible(b));
|
|
}
|
|
return this.showTooltipArrow;
|
|
}
|
|
,show: function(i) {
|
|
if(i < 0 || i >= this.list.length) {
|
|
return;
|
|
}
|
|
var btn = this.list[i].btn;
|
|
if(btn.visible == false || this.list[i].obj != null && this.list[i].obj.visible == false) {
|
|
return;
|
|
}
|
|
if(this.current == i) {
|
|
var deltaX = btn.x - this.lastPosition.x;
|
|
var deltaY = btn.y - this.lastPosition.y;
|
|
this.lastPosition.set_x(btn.x);
|
|
this.lastPosition.set_y(btn.y);
|
|
var _g = this.tooltip;
|
|
_g.set_x(_g.x + deltaX);
|
|
var _g = this.tooltip;
|
|
_g.set_y(_g.y + deltaY);
|
|
return;
|
|
}
|
|
this.current = i;
|
|
var data = this.list[i].data;
|
|
if(data.init != true) {
|
|
data.style = flixel_addons_ui_FlxUITooltip.styleFix(data.style,this.defaultStyle);
|
|
data.init = true;
|
|
}
|
|
var autoSizeVertical = true;
|
|
var autoSizeHorizontal = true;
|
|
if(data.style != null) {
|
|
this.tooltip.set_style(data.style);
|
|
autoSizeVertical = data.style.autoSizeVertical;
|
|
autoSizeHorizontal = data.style.autoSizeHorizontal;
|
|
}
|
|
if(data.anchor != null) {
|
|
this.tooltip.set_anchor(data.anchor);
|
|
} else if(this.defaultAnchor != null) {
|
|
this.tooltip.set_anchor(this.defaultAnchor);
|
|
}
|
|
if(this.state != null) {
|
|
this.state.add(this.tooltip);
|
|
}
|
|
if(this.subState != null) {
|
|
this.subState.add(this.tooltip);
|
|
}
|
|
this.tooltip.show(btn,data.title,data.body,autoSizeVertical,autoSizeHorizontal);
|
|
if(this.fixedPosition != null) {
|
|
this.fixedPosition.anchor.anchorThing(this.tooltip,this.fixedPosition.object);
|
|
}
|
|
if(this.autoFlipAnchor) {
|
|
if(this.checkAutoFlip(this.tooltip,this.fixedPosition != null ? this.fixedPosition.anchor : null)) {
|
|
if(this.fixedPosition != null) {
|
|
this.fixedPosition.anchor.anchorThing(this.tooltip,this.fixedPosition.object);
|
|
} else {
|
|
this.tooltip.show(btn,data.title,data.body,autoSizeVertical,autoSizeHorizontal,this.showTooltipArrow);
|
|
}
|
|
}
|
|
}
|
|
this.lastPosition.set(btn.x,btn.y);
|
|
if(this.state != null) {
|
|
this.state.onShowTooltip(this.tooltip);
|
|
} else if(this.subState != null) {
|
|
this.subState.onShowTooltip(this.tooltip);
|
|
}
|
|
}
|
|
,checkAutoFlip: function(tooltip,anchor) {
|
|
var flipX = tooltip.x < 0 || tooltip.x + tooltip.get_width() > flixel_FlxG.width;
|
|
var flipY = tooltip.y < 0 || tooltip.y + tooltip.get_height() > flixel_FlxG.height;
|
|
if(flipX || flipY) {
|
|
if(anchor == null) {
|
|
anchor = tooltip.anchor;
|
|
}
|
|
anchor.getFlipped(flipX,flipY,anchor);
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
,set_cameras: function(value) {
|
|
this.tooltip.set_cameras(value);
|
|
return this.cameras = value;
|
|
}
|
|
,__class__: flixel_addons_ui_FlxUITooltipManager
|
|
,__properties__: {set_cameras:"set_cameras",set_showTooltipArrow:"set_showTooltipArrow",set_fixedPosition:"set_fixedPosition"}
|
|
};
|
|
var flixel_addons_ui__$FlxUITooltipManager_FlxUITooltipEntry = function(Btn,Data,Obj) {
|
|
this.sticky = false;
|
|
this.btn = Btn;
|
|
this.data = Data;
|
|
this.obj = Obj;
|
|
this.count = 0;
|
|
this.enabled = true;
|
|
if(this.data != null) {
|
|
if(this.data.delay == null) {
|
|
this.data.delay = -1;
|
|
}
|
|
if(this.data.moving == null) {
|
|
this.data.moving = false;
|
|
}
|
|
}
|
|
};
|
|
$hxClasses["flixel.addons.ui._FlxUITooltipManager.FlxUITooltipEntry"] = flixel_addons_ui__$FlxUITooltipManager_FlxUITooltipEntry;
|
|
flixel_addons_ui__$FlxUITooltipManager_FlxUITooltipEntry.__name__ = "flixel.addons.ui._FlxUITooltipManager.FlxUITooltipEntry";
|
|
flixel_addons_ui__$FlxUITooltipManager_FlxUITooltipEntry.__interfaces__ = [flixel_util_IFlxDestroyable];
|
|
flixel_addons_ui__$FlxUITooltipManager_FlxUITooltipEntry.prototype = {
|
|
obj: null
|
|
,btn: null
|
|
,count: null
|
|
,data: null
|
|
,enabled: null
|
|
,sticky: null
|
|
,destroy: function() {
|
|
this.count = 0;
|
|
this.obj = null;
|
|
this.btn = null;
|
|
this.data.anchor = null;
|
|
this.data.style = null;
|
|
this.data = null;
|
|
}
|
|
,__class__: flixel_addons_ui__$FlxUITooltipManager_FlxUITooltipEntry
|
|
};
|
|
var flixel_addons_ui_FontDef = function(Name,Extension,File1,Format,Border) {
|
|
if(File1 == null) {
|
|
File1 = "";
|
|
}
|
|
if(Extension == null) {
|
|
Extension = ".ttf";
|
|
}
|
|
this._size = 0;
|
|
this.name = Name;
|
|
this.extension = Extension;
|
|
this.file = File1;
|
|
this.format = Format;
|
|
if(this.format == null) {
|
|
this.format = new openfl_text_TextFormat();
|
|
}
|
|
this.border = Border;
|
|
if(this.border == null) {
|
|
this.border = new flixel_addons_ui_BorderDef(flixel_text_FlxTextBorderStyle.NONE,0);
|
|
}
|
|
};
|
|
$hxClasses["flixel.addons.ui.FontDef"] = flixel_addons_ui_FontDef;
|
|
flixel_addons_ui_FontDef.__name__ = "flixel.addons.ui.FontDef";
|
|
flixel_addons_ui_FontDef.copyFromTextField = function(t) {
|
|
var dtf = t.get_defaultTextFormat();
|
|
var fd = new flixel_addons_ui_FontDef("");
|
|
fd.fromStr(dtf.font);
|
|
fd.format.font = dtf.font;
|
|
fd.format.size = dtf.size;
|
|
fd.format.color = dtf.color;
|
|
fd.format.bold = dtf.bold;
|
|
fd.format.italic = dtf.italic;
|
|
fd.format.underline = dtf.underline;
|
|
fd.format.url = dtf.url;
|
|
fd.format.letterSpacing = dtf.letterSpacing;
|
|
fd.format.leading = dtf.leading;
|
|
fd.format.target = dtf.target;
|
|
fd.format.align = dtf.align;
|
|
return fd;
|
|
};
|
|
flixel_addons_ui_FontDef.copyFromFlxText = function(t) {
|
|
var fd = flixel_addons_ui_FontDef.copyFromTextField(t.textField);
|
|
fd.fromStr(t._font);
|
|
fd.border.style = t.borderStyle;
|
|
fd.border.color = t.borderColor;
|
|
fd.border.quality = t.borderQuality;
|
|
fd.border.size = t.borderSize;
|
|
return fd;
|
|
};
|
|
flixel_addons_ui_FontDef.fromXML = function(data) {
|
|
var fontFace = flixel_addons_ui_U.xml_str(data,"font");
|
|
var fontStyle = flixel_addons_ui_U.xml_str(data,"style");
|
|
var fontFile = null;
|
|
if(fontFace != "") {
|
|
fontFile = flixel_addons_ui_FlxUI.font(fontFace,fontStyle);
|
|
}
|
|
var fontStyle = flixel_addons_ui_U.xml_str(data,"style");
|
|
var fontSize = flixel_addons_ui_FlxUI.fontSize(fontFile,flixel_addons_ui_U.xml_i(data,"size",8));
|
|
var fontColor = flixel_addons_ui_U.xml_color(data,"color",true,-1);
|
|
var fontAlign = flixel_addons_ui_U.xml_str(data,"align");
|
|
var align;
|
|
switch(fontAlign.toLowerCase()) {
|
|
case "center":
|
|
align = 0;
|
|
break;
|
|
case "justify":
|
|
align = 2;
|
|
break;
|
|
case "left":
|
|
align = 3;
|
|
break;
|
|
case "right":
|
|
align = 4;
|
|
break;
|
|
default:
|
|
align = 3;
|
|
}
|
|
var fd = new flixel_addons_ui_FontDef(flixel_addons_ui_U.xml_str(data,"font"),".ttf",fontFile);
|
|
fd.format.color = fontColor;
|
|
fd.format.size = fontSize;
|
|
fd.format.align = align;
|
|
fd.set_size(fontSize);
|
|
fd.setFontStyle(fontStyle);
|
|
fd.border = flixel_addons_ui_BorderDef.fromXML(data);
|
|
return fd;
|
|
};
|
|
flixel_addons_ui_FontDef.prototype = {
|
|
name: null
|
|
,extension: null
|
|
,file: null
|
|
,format: null
|
|
,border: null
|
|
,get_size: function() {
|
|
if(this.format != null) {
|
|
this._size = this.format.size | 0;
|
|
}
|
|
return this._size;
|
|
}
|
|
,set_size: function(i) {
|
|
if(this.format != null) {
|
|
this.format.size = i;
|
|
}
|
|
this._size = i;
|
|
return this._size;
|
|
}
|
|
,clone: function() {
|
|
var newBorder = this.border == null ? null : this.border.clone();
|
|
var newFormat = this.format == null ? null : new openfl_text_TextFormat(this.format.font,this.format.size,this.format.color,this.format.bold,this.format.italic,this.format.underline,this.format.url,this.format.target,this.format.align,this.format.leftMargin,this.format.rightMargin,this.format.indent,this.format.leading);
|
|
if(this.format != null) {
|
|
newFormat.letterSpacing = this.format.letterSpacing;
|
|
}
|
|
var newThis = new flixel_addons_ui_FontDef(this.name,this.extension,this.file,newFormat,newBorder);
|
|
newThis.set_size(this.get_size());
|
|
return newThis;
|
|
}
|
|
,applyTxt: function(textField) {
|
|
textField.setTextFormat(this.format);
|
|
return textField;
|
|
}
|
|
,applyFlx: function(flxText) {
|
|
var flxTxtAlign = null;
|
|
if(this.format.align != null) {
|
|
switch(this.format.align) {
|
|
case 0:
|
|
flxTxtAlign = "center";
|
|
break;
|
|
case 2:
|
|
flxTxtAlign = "justify";
|
|
break;
|
|
case 3:
|
|
flxTxtAlign = "left";
|
|
break;
|
|
case 4:
|
|
flxTxtAlign = "right";
|
|
break;
|
|
default:
|
|
flxTxtAlign = "left";
|
|
}
|
|
}
|
|
var font = this.file == "" || this.file == null ? null : this.file;
|
|
flxText.setFormat(font,this.format.size | 0,this.format.color,flxTxtAlign,this.border.style,this.border.color);
|
|
flxText.textField.get_defaultTextFormat().leading = this.format.leading;
|
|
flxText.textField.get_defaultTextFormat().letterSpacing = this.format.letterSpacing;
|
|
return flxText;
|
|
}
|
|
,apply: function(textField,flxText) {
|
|
if(textField != null) {
|
|
textField.setTextFormat(this.format);
|
|
}
|
|
if(flxText != null) {
|
|
this.applyFlx(flxText);
|
|
}
|
|
}
|
|
,fromStr: function(str,recursion) {
|
|
if(recursion == null) {
|
|
recursion = 0;
|
|
}
|
|
if(recursion > 3) {
|
|
return;
|
|
}
|
|
str = flixel_addons_ui_FontFixer.fix(str);
|
|
var style = this.getFontStyle(str);
|
|
this.setFontStyle(style);
|
|
var extension = "";
|
|
var _g = 0;
|
|
var _g1 = flixel_addons_ui_FontDef.EXTENSIONS;
|
|
while(_g < _g1.length) {
|
|
var ext = _g1[_g];
|
|
++_g;
|
|
if(str.indexOf(ext) != -1) {
|
|
if(openfl_utils_Assets.exists(str + extension,"FONT")) {
|
|
this.name = StringTools.replace(str,extension,"");
|
|
this.file = str;
|
|
extension = ext;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
if(extension == "") {
|
|
var _g = 0;
|
|
var _g1 = flixel_addons_ui_FontDef.EXTENSIONS;
|
|
while(_g < _g1.length) {
|
|
var ext = _g1[_g];
|
|
++_g;
|
|
if(openfl_utils_Assets.exists(str + ext,"FONT")) {
|
|
extension = ext;
|
|
this.name = str;
|
|
this.file = str + extension;
|
|
extension = ext;
|
|
break;
|
|
}
|
|
}
|
|
} else {
|
|
str = this.stripFontExtensions(str);
|
|
var fontStyle = this.getFontStyle(str);
|
|
if(fontStyle != "") {
|
|
str = HxOverrides.substr(str,str.length - 1,1);
|
|
this.fromStr(str,recursion + 1);
|
|
return;
|
|
} else {
|
|
this.fromStr(str,recursion + 1);
|
|
return;
|
|
}
|
|
}
|
|
this.setFontStyle(style);
|
|
}
|
|
,_size: null
|
|
,stripFontExtensions: function(str) {
|
|
if(str == null) {
|
|
return str;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = flixel_addons_ui_FontDef.EXTENSIONS;
|
|
while(_g < _g1.length) {
|
|
var ext = _g1[_g];
|
|
++_g;
|
|
if(str != null && str.indexOf(ext) != -1) {
|
|
str = StringTools.replace(str,ext,"");
|
|
}
|
|
}
|
|
return str;
|
|
}
|
|
,getFontExtension: function(str) {
|
|
if(str == null) {
|
|
return "";
|
|
}
|
|
var _g = 0;
|
|
var _g1 = flixel_addons_ui_FontDef.EXTENSIONS;
|
|
while(_g < _g1.length) {
|
|
var ext = _g1[_g];
|
|
++_g;
|
|
if(str.indexOf(ext) != -1) {
|
|
return ext;
|
|
}
|
|
}
|
|
return str;
|
|
}
|
|
,fixFontName: function() {
|
|
var fontStyle = this.getFontStyle(this.file);
|
|
var extension = this.getFontExtension(this.file);
|
|
var fontbase = this.stripFontExtensions(this.file);
|
|
if(fontStyle != "") {
|
|
fontbase = HxOverrides.substr(fontbase,0,fontbase.length - 1);
|
|
}
|
|
var styleStr = "";
|
|
if(this.format.bold && this.format.italic) {
|
|
styleStr = "z";
|
|
} else if(this.format.bold) {
|
|
styleStr = "b";
|
|
} else if(this.format.italic) {
|
|
styleStr = "i";
|
|
}
|
|
this.file = fontbase + styleStr + extension;
|
|
}
|
|
,getFontStyle: function(str) {
|
|
if(str == null) {
|
|
return "";
|
|
}
|
|
str = this.stripFontExtensions(str);
|
|
var lastChar = HxOverrides.substr(str,str.length - 1,1);
|
|
if(lastChar != "" && lastChar != null) {
|
|
lastChar = lastChar.toLowerCase();
|
|
switch(lastChar) {
|
|
case "b":
|
|
return "b";
|
|
case "i":
|
|
return "i";
|
|
case "z":
|
|
return "z";
|
|
default:
|
|
return "";
|
|
}
|
|
}
|
|
return "";
|
|
}
|
|
,setFontStyle: function(str) {
|
|
str = str.toLowerCase();
|
|
switch(str) {
|
|
case "b":case "bold":
|
|
this.format.bold = true;
|
|
this.format.italic = false;
|
|
break;
|
|
case "all":case "bi":case "bold-italic":case "bolditalic":case "both":case "ib":case "italicbold":case "z":
|
|
this.format.bold = true;
|
|
this.format.italic = true;
|
|
break;
|
|
case "i":case "italic":
|
|
this.format.bold = false;
|
|
this.format.italic = true;
|
|
break;
|
|
default:
|
|
this.format.bold = false;
|
|
this.format.italic = false;
|
|
}
|
|
this.fixFontName();
|
|
}
|
|
,toString: function() {
|
|
return "{name:" + this.name + ",size:" + this.get_size() + ",file:" + this.file + ",extension:" + this.extension + ",format:" + Std.string(this.format) + ",border:" + Std.string(this.border) + "}";
|
|
}
|
|
,__class__: flixel_addons_ui_FontDef
|
|
,__properties__: {set_size:"set_size",get_size:"get_size"}
|
|
};
|
|
var flixel_addons_ui_FontFixer = function() { };
|
|
$hxClasses["flixel.addons.ui.FontFixer"] = flixel_addons_ui_FontFixer;
|
|
flixel_addons_ui_FontFixer.__name__ = "flixel.addons.ui.FontFixer";
|
|
flixel_addons_ui_FontFixer.name2File = null;
|
|
flixel_addons_ui_FontFixer.init = function() {
|
|
if(flixel_addons_ui_FontFixer.name2File == null) {
|
|
flixel_addons_ui_FontFixer.name2File = new haxe_ds_StringMap();
|
|
}
|
|
};
|
|
flixel_addons_ui_FontFixer.fix = function(font) {
|
|
flixel_addons_ui_FontFixer.init();
|
|
if(font.indexOf(".ttf") == -1) {
|
|
if(Object.prototype.hasOwnProperty.call(flixel_addons_ui_FontFixer.name2File.h,font)) {
|
|
font = flixel_addons_ui_FontFixer.name2File.h[font];
|
|
}
|
|
}
|
|
return font;
|
|
};
|
|
flixel_addons_ui_FontFixer.add = function(file,name) {
|
|
if(name == null) {
|
|
name = "";
|
|
}
|
|
flixel_addons_ui_FontFixer.init();
|
|
if(name != "" && Object.prototype.hasOwnProperty.call(flixel_addons_ui_FontFixer.name2File.h,name)) {
|
|
return flixel_addons_ui_FontFixer.name2File.h[name];
|
|
}
|
|
if(!openfl_utils_Assets.exists(file,"FONT")) {
|
|
return file;
|
|
}
|
|
var font = openfl_utils_Assets.getFont(file);
|
|
if(font == null) {
|
|
return file;
|
|
}
|
|
if(name == "") {
|
|
name = font.name;
|
|
}
|
|
flixel_addons_ui_FontFixer.name2File.h[name] = file;
|
|
return flixel_addons_ui_FontFixer.fix(file);
|
|
};
|
|
var flixel_addons_ui_StrNameLabel = function(Name,Label) {
|
|
if(Label == null) {
|
|
Label = "";
|
|
}
|
|
if(Name == null) {
|
|
Name = "";
|
|
}
|
|
this.name = Name;
|
|
this.label = Label;
|
|
};
|
|
$hxClasses["flixel.addons.ui.StrNameLabel"] = flixel_addons_ui_StrNameLabel;
|
|
flixel_addons_ui_StrNameLabel.__name__ = "flixel.addons.ui.StrNameLabel";
|
|
flixel_addons_ui_StrNameLabel.sortByLabel = function(a,b) {
|
|
if(a.label < b.label) {
|
|
return -1;
|
|
}
|
|
if(a.label > b.label) {
|
|
return 1;
|
|
}
|
|
return 0;
|
|
};
|
|
flixel_addons_ui_StrNameLabel.sortByName = function(a,b) {
|
|
if(a.name < b.name) {
|
|
return -1;
|
|
}
|
|
if(a.name > b.name) {
|
|
return 1;
|
|
}
|
|
return 0;
|
|
};
|
|
flixel_addons_ui_StrNameLabel.prototype = {
|
|
name: null
|
|
,label: null
|
|
,copy: function() {
|
|
return new flixel_addons_ui_StrNameLabel(this.name,this.label);
|
|
}
|
|
,toString: function() {
|
|
var value = this.name;
|
|
var _this = flixel_util_LabelValuePair._pool.get();
|
|
_this.label = "name";
|
|
_this.value = value;
|
|
var value = this.label;
|
|
var _this1 = flixel_util_LabelValuePair._pool.get();
|
|
_this1.label = "label";
|
|
_this1.value = value;
|
|
return flixel_util_FlxStringUtil.getDebugString([_this,_this1]);
|
|
}
|
|
,__class__: flixel_addons_ui_StrNameLabel
|
|
};
|
|
var flixel_addons_ui_U = function() { };
|
|
$hxClasses["flixel.addons.ui.U"] = flixel_addons_ui_U;
|
|
flixel_addons_ui_U.__name__ = "flixel.addons.ui.U";
|
|
flixel_addons_ui_U.xml_str = function(data,att,lower_case,default_str) {
|
|
if(default_str == null) {
|
|
default_str = "";
|
|
}
|
|
if(lower_case == null) {
|
|
lower_case = false;
|
|
}
|
|
if(data.get(att) != null) {
|
|
if(lower_case) {
|
|
return data.get(att).toLowerCase();
|
|
} else {
|
|
return data.get(att);
|
|
}
|
|
}
|
|
return default_str;
|
|
};
|
|
flixel_addons_ui_U.xml_name = function(data) {
|
|
var name = flixel_addons_ui_U.xml_str(data,"name",true,"");
|
|
if(name == "") {
|
|
name = flixel_addons_ui_U.xml_str(data,"id",true,"");
|
|
}
|
|
return name;
|
|
};
|
|
flixel_addons_ui_U.xml_color = function(data,att,cast32Bit,defaultColor) {
|
|
if(cast32Bit == null) {
|
|
cast32Bit = true;
|
|
}
|
|
var col = null;
|
|
var str = flixel_addons_ui_U.xml_str(data,att,true);
|
|
if(str != "") {
|
|
var cast32Bit1 = cast32Bit;
|
|
var return_val = flixel_util_FlxColor.fromString(str);
|
|
if(return_val == null) {
|
|
throw haxe_Exception.thrown("U.parseHex() unable to parse hex String " + str);
|
|
}
|
|
col = return_val;
|
|
}
|
|
if(col == null && defaultColor != null) {
|
|
col = defaultColor;
|
|
}
|
|
return col;
|
|
};
|
|
flixel_addons_ui_U.xml_iArray = function(data,att) {
|
|
var arr = flixel_addons_ui_U.xml_strArray(data,att);
|
|
var ints = null;
|
|
if(arr != null && arr.length > 0) {
|
|
ints = [];
|
|
var _g = 0;
|
|
var _g1 = arr.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
ints[i] = Std.parseInt(arr[i]);
|
|
}
|
|
}
|
|
return ints;
|
|
};
|
|
flixel_addons_ui_U.xml_fArray = function(data,att) {
|
|
var arr = flixel_addons_ui_U.xml_strArray(data,att);
|
|
var fs = null;
|
|
if(arr != null && arr.length > 0) {
|
|
fs = [];
|
|
var _g = 0;
|
|
var _g1 = arr.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
fs[i] = parseFloat(arr[i]);
|
|
}
|
|
}
|
|
return fs;
|
|
};
|
|
flixel_addons_ui_U.xml_strArray = function(data,att,lowerCase,default_) {
|
|
if(lowerCase == null) {
|
|
lowerCase = true;
|
|
}
|
|
var str = flixel_addons_ui_U.xml_str(data,att,lowerCase);
|
|
if(str != "") {
|
|
var arr = str.split(",");
|
|
return arr;
|
|
} else {
|
|
return default_;
|
|
}
|
|
};
|
|
flixel_addons_ui_U.xml_colorArray = function(data,att,cast32Bit) {
|
|
if(cast32Bit == null) {
|
|
cast32Bit = true;
|
|
}
|
|
var arr = flixel_addons_ui_U.xml_strArray(data,att);
|
|
var cols = null;
|
|
if(arr != null && arr.length > 0) {
|
|
cols = [];
|
|
var _g = 0;
|
|
var _g1 = arr.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var str = arr[i];
|
|
var cast32Bit1 = cast32Bit;
|
|
var return_val = flixel_util_FlxColor.fromString(str);
|
|
if(return_val == null) {
|
|
throw haxe_Exception.thrown("U.parseHex() unable to parse hex String " + str);
|
|
}
|
|
cols[i] = return_val;
|
|
}
|
|
}
|
|
return cols;
|
|
};
|
|
flixel_addons_ui_U.perc_to_float = function(str) {
|
|
if(str.lastIndexOf("%") == str.length - 1) {
|
|
str = HxOverrides.substr(str,0,str.length - 1);
|
|
var r = new EReg("([0-9]+)?(\\.)?([0-9]*)?","");
|
|
if(r.match(str)) {
|
|
var match = r.matchedPos();
|
|
if(match.pos == 0 && match.len == str.length) {
|
|
var perc_float = parseFloat(str);
|
|
perc_float /= 100;
|
|
return perc_float;
|
|
}
|
|
}
|
|
}
|
|
return NaN;
|
|
};
|
|
flixel_addons_ui_U.isStrNum = function(str) {
|
|
if(str == null || str == "") {
|
|
return false;
|
|
}
|
|
var r = new EReg("-?([0-9]+)?(\\.)?([0-9]*)?","");
|
|
if(r.match(str)) {
|
|
var p = r.matchedPos();
|
|
if(p.pos == 0 && p.len == str.length) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
};
|
|
flixel_addons_ui_U.isStrInt = function(str) {
|
|
var r = new EReg("[0-9]+","");
|
|
if(r.match(str)) {
|
|
var p = r.matchedPos();
|
|
if(p.pos == 0 && p.len == str.length) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
};
|
|
flixel_addons_ui_U.isStrFloat = function(str) {
|
|
var r = new EReg("[0-9]+\\.[0-9]+","");
|
|
if(r.match(str)) {
|
|
var p = r.matchedPos();
|
|
if(p.pos == 0 && p.len == str.length) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
};
|
|
flixel_addons_ui_U.xml_f = function(data,att,default_) {
|
|
if(default_ == null) {
|
|
default_ = 0;
|
|
}
|
|
if(data.get(att) != null) {
|
|
return parseFloat(data.get(att));
|
|
}
|
|
return default_;
|
|
};
|
|
flixel_addons_ui_U.xml_i = function(data,att,default_) {
|
|
if(default_ == null) {
|
|
default_ = 0;
|
|
}
|
|
if(data.get(att) != null) {
|
|
return Std.parseInt(data.get(att));
|
|
}
|
|
return default_;
|
|
};
|
|
flixel_addons_ui_U.xml_pt = function(data,att,default_) {
|
|
if(data.get(att) != null) {
|
|
return flixel_addons_ui_U.pointify(data.get(att));
|
|
}
|
|
return default_;
|
|
};
|
|
flixel_addons_ui_U.boolify = function(str) {
|
|
str = str.toLowerCase();
|
|
if(str == "true" || str == "1") {
|
|
return true;
|
|
}
|
|
return false;
|
|
};
|
|
flixel_addons_ui_U.pointify = function(str) {
|
|
var pt = null;
|
|
if(str != null) {
|
|
var arr = ["(",")"," ","=",":"];
|
|
var _g = 0;
|
|
while(_g < arr.length) {
|
|
var thing = arr[_g];
|
|
++_g;
|
|
while(str.indexOf(thing) != -1) str = StringTools.replace(str,thing,"");
|
|
}
|
|
if(str.indexOf(",") == -1) {
|
|
if(str.indexOf("x") != -1) {
|
|
str = StringTools.replace(str,"x",",");
|
|
}
|
|
}
|
|
arr = str.split(",");
|
|
if(arr.length == 2) {
|
|
pt = new flixel_math_FlxPoint(parseFloat(arr[0]),parseFloat(arr[1]));
|
|
}
|
|
}
|
|
return pt;
|
|
};
|
|
flixel_addons_ui_U.compareStringVars = function(variable,otherValue,type,op) {
|
|
if(op == null) {
|
|
op = "==";
|
|
}
|
|
switch(type) {
|
|
case "bool":
|
|
var ba = flixel_addons_ui_U.boolify(variable);
|
|
var bb = flixel_addons_ui_U.boolify(otherValue);
|
|
if(op == "==" || op == "=") {
|
|
return ba == bb;
|
|
} else if(op == "!==" || op == "!=") {
|
|
return ba != bb;
|
|
}
|
|
break;
|
|
case "float":
|
|
var fa = parseFloat(variable);
|
|
var fb = parseFloat(otherValue);
|
|
if(op == "==" || op == "=") {
|
|
return fa == fb;
|
|
} else if(op == "!==" || op == "!=") {
|
|
return fa != fb;
|
|
} else if(op == "<") {
|
|
return fa < fb;
|
|
} else if(op == ">") {
|
|
return fa > fb;
|
|
} else if(op == "<=") {
|
|
return fa <= fb;
|
|
} else if(op == ">=") {
|
|
return fa >= fb;
|
|
}
|
|
break;
|
|
case "int":
|
|
var ia = Std.parseInt(variable);
|
|
var ib = Std.parseInt(otherValue);
|
|
if(op == "==" || op == "=") {
|
|
return ia == ib;
|
|
} else if(op == "!==" || op == "!=") {
|
|
return ia != ib;
|
|
} else if(op == "<") {
|
|
return ia < ib;
|
|
} else if(op == ">") {
|
|
return ia > ib;
|
|
} else if(op == "<=") {
|
|
return ia <= ib;
|
|
} else if(op == ">=") {
|
|
return ia >= ib;
|
|
}
|
|
break;
|
|
case "string":
|
|
if(op == "==" || op == "=") {
|
|
return variable == otherValue;
|
|
}
|
|
if(op == "!==" || op == "!=") {
|
|
return variable != otherValue;
|
|
}
|
|
break;
|
|
}
|
|
return false;
|
|
};
|
|
flixel_addons_ui_U.xml_bool = function(data,att,default_) {
|
|
if(default_ == null) {
|
|
default_ = false;
|
|
}
|
|
if(data.get(att) != null) {
|
|
var str = data.get(att);
|
|
str = str.toLowerCase();
|
|
if(str == "true" || str == "1") {
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
return default_;
|
|
};
|
|
flixel_addons_ui_U.xml_gfx = function(data,att,test) {
|
|
if(test == null) {
|
|
test = true;
|
|
}
|
|
var str = "";
|
|
if(data.get(att) != null) {
|
|
str = data.get(att);
|
|
if(str == "" || str == null) {
|
|
str = "";
|
|
} else {
|
|
str = flixel_addons_ui_U.gfx(str);
|
|
if(test) {
|
|
try {
|
|
if(!openfl_utils_Assets.exists(str,"IMAGE")) {
|
|
throw haxe_Exception.thrown("couldn't load bmp \"" + att + "\"");
|
|
}
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
if(typeof(haxe_Exception.caught(_g).unwrap()) != "string") {
|
|
throw _g;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return str;
|
|
};
|
|
flixel_addons_ui_U.center = function(fb1,fb2,centerX,centerY) {
|
|
if(centerY == null) {
|
|
centerY = true;
|
|
}
|
|
if(centerX == null) {
|
|
centerX = true;
|
|
}
|
|
if(centerX) {
|
|
fb2.set_x(fb1.x + (fb1.get_width() - fb2.get_width()) / 2);
|
|
}
|
|
if(centerY) {
|
|
fb2.set_y(fb1.y + (fb1.get_height() - fb2.get_height()) / 2);
|
|
}
|
|
};
|
|
flixel_addons_ui_U.test_int = function(i1,test,i2) {
|
|
switch(test) {
|
|
case "!=":
|
|
return i1 != i2;
|
|
case "<":
|
|
return i1 < i2;
|
|
case "<=":
|
|
return i1 <= i2;
|
|
case "==":
|
|
return i1 == i2;
|
|
case ">":
|
|
return i1 > i2;
|
|
case ">=":
|
|
return i1 >= i2;
|
|
default:
|
|
return false;
|
|
}
|
|
};
|
|
flixel_addons_ui_U.test_float = function(f1,test,f2) {
|
|
switch(test) {
|
|
case "!=":
|
|
return f1 != f2;
|
|
case "<":
|
|
return f1 < f2;
|
|
case "<=":
|
|
return f1 <= f2;
|
|
case "==":
|
|
return f1 == f2;
|
|
case ">":
|
|
return f1 > f2;
|
|
case ">=":
|
|
return f1 >= f2;
|
|
default:
|
|
return false;
|
|
}
|
|
};
|
|
flixel_addons_ui_U.padDigits = function(i,d,padChar) {
|
|
if(padChar == null) {
|
|
padChar = "0";
|
|
}
|
|
var f = i;
|
|
var str = "";
|
|
var num_digits = 0;
|
|
while(f >= 1) {
|
|
f /= 10;
|
|
++num_digits;
|
|
}
|
|
if(i == 0) {
|
|
num_digits = 1;
|
|
}
|
|
if(num_digits < d) {
|
|
var _g = 0;
|
|
var _g1 = d - num_digits;
|
|
while(_g < _g1) {
|
|
var temp = _g++;
|
|
str += padChar;
|
|
}
|
|
}
|
|
return str + (i == null ? "null" : "" + i);
|
|
};
|
|
flixel_addons_ui_U.conformToBounds = function(pt,maxMin) {
|
|
if(maxMin != null) {
|
|
if(pt.x < maxMin.min_width) {
|
|
pt.x = maxMin.min_width;
|
|
}
|
|
if(pt.y < maxMin.min_height) {
|
|
pt.y = maxMin.min_height;
|
|
}
|
|
if(pt.x > maxMin.max_width) {
|
|
pt.x = maxMin.max_width;
|
|
}
|
|
if(pt.x > maxMin.max_height) {
|
|
pt.y = maxMin.max_height;
|
|
}
|
|
}
|
|
return pt;
|
|
};
|
|
flixel_addons_ui_U.parseHex = function(str,cast32Bit,safe,default_color) {
|
|
if(default_color == null) {
|
|
default_color = 0;
|
|
}
|
|
if(safe == null) {
|
|
safe = false;
|
|
}
|
|
if(cast32Bit == null) {
|
|
cast32Bit = false;
|
|
}
|
|
var return_val = flixel_util_FlxColor.fromString(str);
|
|
if(return_val == null) {
|
|
if(!safe) {
|
|
throw haxe_Exception.thrown("U.parseHex() unable to parse hex String " + str);
|
|
} else {
|
|
return_val = default_color;
|
|
}
|
|
}
|
|
return return_val;
|
|
};
|
|
flixel_addons_ui_U.hexChar2dec = function(hex_char) {
|
|
switch(hex_char) {
|
|
case "0":case "1":case "10":case "2":case "3":case "4":case "5":case "6":case "7":case "8":case "9":
|
|
return Std.parseInt(hex_char);
|
|
case "A":case "a":
|
|
return 10;
|
|
case "C":case "c":
|
|
return 12;
|
|
case "E":case "e":
|
|
return 14;
|
|
case "B":case "b":
|
|
return 11;
|
|
case "D":case "d":
|
|
return 13;
|
|
case "F":case "f":
|
|
return 15;
|
|
default:
|
|
throw haxe_Exception.thrown("U.hexChar2dec() illegal char(" + hex_char + ")");
|
|
}
|
|
};
|
|
flixel_addons_ui_U.hex2dec = function(hex_str) {
|
|
var length = hex_str.length;
|
|
var place_mult = 1;
|
|
var sum = 0;
|
|
var i = length - 1;
|
|
while(i >= 0) {
|
|
var char_hex = HxOverrides.substr(hex_str,i,1);
|
|
var char_int;
|
|
switch(char_hex) {
|
|
case "0":case "1":case "10":case "2":case "3":case "4":case "5":case "6":case "7":case "8":case "9":
|
|
char_int = Std.parseInt(char_hex);
|
|
break;
|
|
case "A":case "a":
|
|
char_int = 10;
|
|
break;
|
|
case "C":case "c":
|
|
char_int = 12;
|
|
break;
|
|
case "E":case "e":
|
|
char_int = 14;
|
|
break;
|
|
case "B":case "b":
|
|
char_int = 11;
|
|
break;
|
|
case "D":case "d":
|
|
char_int = 13;
|
|
break;
|
|
case "F":case "f":
|
|
char_int = 15;
|
|
break;
|
|
default:
|
|
throw haxe_Exception.thrown("U.hexChar2dec() illegal char(" + char_hex + ")");
|
|
}
|
|
sum += char_int * place_mult;
|
|
place_mult *= 16;
|
|
--i;
|
|
}
|
|
return sum;
|
|
};
|
|
flixel_addons_ui_U.hex2rgb = function(hex) {
|
|
return [hex >> 16 & 255,hex >> 8 & 255,hex & 255];
|
|
};
|
|
flixel_addons_ui_U.applyResize = function(resize_ratio,resize_ratio_axis,w,h,pt) {
|
|
if(pt == null) {
|
|
pt = new flixel_math_FlxPoint();
|
|
}
|
|
if(resize_ratio > 0) {
|
|
var effective_ratio = w / h;
|
|
if(Math.abs(effective_ratio - resize_ratio) > 0.0001) {
|
|
if(resize_ratio_axis == 1) {
|
|
h = w * (1 / resize_ratio);
|
|
} else {
|
|
w = h * (1 / resize_ratio);
|
|
}
|
|
}
|
|
}
|
|
var iw = w | 0;
|
|
if(iw < 1) {
|
|
w = 1;
|
|
}
|
|
var ih = h | 0;
|
|
if(ih < 1) {
|
|
h = 1;
|
|
}
|
|
pt.set(w,h);
|
|
return pt;
|
|
};
|
|
flixel_addons_ui_U.rgb2hex = function(r,g,b) {
|
|
return r << 16 | g << 8 | b;
|
|
};
|
|
flixel_addons_ui_U.interpolate = function(hex1,hex2,amt) {
|
|
if(amt < 0) {
|
|
amt = 0;
|
|
} else if(amt > 1) {
|
|
amt = 1;
|
|
}
|
|
var a1 = 1 - amt;
|
|
var c1r = hex1 >> 16 & 255;
|
|
var c1g = hex1 >> 8 & 255;
|
|
var c1b = hex1 & 255;
|
|
var c2r = hex2 >> 16 & 255;
|
|
var c2g = hex2 >> 8 & 255;
|
|
var c2b = hex2 & 255;
|
|
var c3r = c1r * a1 + c2r * amt | 0;
|
|
var c3g = c1g * a1 + c2g * amt | 0;
|
|
var c3b = c1b * a1 + c2b * amt | 0;
|
|
return c3r << 16 | c3g << 8 | c3b;
|
|
};
|
|
flixel_addons_ui_U.getLocList = function(xmin,ymin,xmax,ymax) {
|
|
var list = [];
|
|
var _g = ymin;
|
|
var _g1 = ymax + 1;
|
|
while(_g < _g1) {
|
|
var yy = _g++;
|
|
var _g2 = xmin;
|
|
var _g3 = xmax + 1;
|
|
while(_g2 < _g3) {
|
|
var xx = _g2++;
|
|
var X = xx;
|
|
var Y = yy;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
list.push(point);
|
|
}
|
|
}
|
|
return list;
|
|
};
|
|
flixel_addons_ui_U.disposeXML = function(thing) {
|
|
};
|
|
flixel_addons_ui_U.copyAccess = function(fast) {
|
|
var x = Xml.parse(haxe_xml_Printer.print(fast)).firstElement();
|
|
if(x.nodeType != Xml.Document && x.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Invalid nodeType " + (x.nodeType == null ? "null" : XmlType.toString(x.nodeType)));
|
|
}
|
|
var this1 = x;
|
|
return this1;
|
|
};
|
|
flixel_addons_ui_U.copyXml = function(data) {
|
|
return Xml.parse(haxe_xml_Printer.print(data)).firstElement();
|
|
};
|
|
flixel_addons_ui_U.getXML = function(str,folder) {
|
|
if(folder == null) {
|
|
folder = "";
|
|
}
|
|
var id = str;
|
|
if(folder != "") {
|
|
id = folder + "/" + id;
|
|
}
|
|
return flixel_addons_ui_U.xml(id);
|
|
};
|
|
flixel_addons_ui_U.json = function(str,extension,dir) {
|
|
if(dir == null) {
|
|
dir = "assets/json/";
|
|
}
|
|
if(extension == null) {
|
|
extension = "json";
|
|
}
|
|
var json_str = openfl_utils_Assets.getText(dir + str + "." + extension);
|
|
if(json_str != "" && json_str != null) {
|
|
var the_json = JSON.parse(json_str);
|
|
return the_json;
|
|
}
|
|
return null;
|
|
};
|
|
flixel_addons_ui_U.field = function(object,field,_default) {
|
|
if(object == null) {
|
|
return null;
|
|
}
|
|
if(Object.prototype.hasOwnProperty.call(object,field)) {
|
|
var thing = Reflect.field(object,field);
|
|
if(thing == null) {
|
|
return _default;
|
|
}
|
|
return thing;
|
|
}
|
|
return _default;
|
|
};
|
|
flixel_addons_ui_U.xml = function(id,extension,getAccess,dir) {
|
|
if(dir == null) {
|
|
dir = "assets/xml/";
|
|
}
|
|
if(getAccess == null) {
|
|
getAccess = true;
|
|
}
|
|
if(extension == null) {
|
|
extension = "xml";
|
|
}
|
|
if(id.indexOf("raw:") == 0 || id.indexOf("RAW:") == 0) {
|
|
id = HxOverrides.substr(id,4,id.length - 4);
|
|
dir = "";
|
|
}
|
|
var thePath = dir + id + "." + extension;
|
|
var exists = openfl_utils_Assets.exists(thePath,"TEXT");
|
|
if(!exists) {
|
|
return null;
|
|
}
|
|
var str = openfl_utils_Assets.getText(dir + id + "." + extension);
|
|
if(str == null) {
|
|
return null;
|
|
}
|
|
var the_xml = Xml.parse(str);
|
|
if(getAccess) {
|
|
var x = the_xml.firstElement();
|
|
if(x.nodeType != Xml.Document && x.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Invalid nodeType " + (x.nodeType == null ? "null" : XmlType.toString(x.nodeType)));
|
|
}
|
|
var this1 = x;
|
|
var fast = this1;
|
|
return fast;
|
|
} else {
|
|
return the_xml.firstElement();
|
|
}
|
|
};
|
|
flixel_addons_ui_U.clearArraySoft = function(array) {
|
|
if(array == null) {
|
|
return;
|
|
}
|
|
var i = array.length - 1;
|
|
while(i >= 0) {
|
|
array[i] = null;
|
|
array.splice(i,1);
|
|
--i;
|
|
}
|
|
array = null;
|
|
};
|
|
flixel_addons_ui_U.clearArray = function(array) {
|
|
if(array == null) {
|
|
return;
|
|
}
|
|
var i = array.length - 1;
|
|
while(i >= 0) {
|
|
flixel_addons_ui_U.destroyThing(array[i]);
|
|
array[i] = null;
|
|
array.splice(i,1);
|
|
--i;
|
|
}
|
|
array = null;
|
|
};
|
|
flixel_addons_ui_U.destroyThing = function(thing) {
|
|
if(thing == null) {
|
|
return;
|
|
}
|
|
if(((thing) instanceof Array)) {
|
|
flixel_addons_ui_U.clearArray(thing);
|
|
} else if(js_Boot.__implements(thing,flixel_util_IFlxDestroyable)) {
|
|
var idstr = js_Boot.__cast(thing , flixel_util_IFlxDestroyable);
|
|
idstr.destroy();
|
|
idstr = null;
|
|
} else if(((thing) instanceof flixel_FlxBasic)) {
|
|
var fb = js_Boot.__cast(thing , flixel_FlxBasic);
|
|
fb.destroy();
|
|
fb = null;
|
|
}
|
|
thing = null;
|
|
};
|
|
flixel_addons_ui_U.fontStr = function(str,style) {
|
|
if(style == null) {
|
|
style = "";
|
|
}
|
|
var style1 = style;
|
|
if(style1 == null) {
|
|
style1 = "";
|
|
}
|
|
style1 = style1.toLowerCase();
|
|
var suffix = "";
|
|
switch(style1) {
|
|
case "b":case "bold":
|
|
suffix = "b";
|
|
break;
|
|
case "bi":case "bold-italic":case "boldi":case "bolditalic":case "ib":case "ibold":case "italic-bold":case "italicbold":case "z":
|
|
suffix = "z";
|
|
break;
|
|
case "i":case "italic":
|
|
suffix = "i";
|
|
break;
|
|
case "":case "none":case "normal":case "regular":
|
|
suffix = "";
|
|
break;
|
|
}
|
|
if(str.indexOf("assets/fonts/") != 0) {
|
|
return "assets/fonts/" + str + suffix;
|
|
} else {
|
|
return str + suffix;
|
|
}
|
|
};
|
|
flixel_addons_ui_U.font = function(str,style,extension) {
|
|
if(extension == null) {
|
|
extension = ".ttf";
|
|
}
|
|
if(style == null) {
|
|
style = "";
|
|
}
|
|
var ostr = str;
|
|
var style1 = style;
|
|
if(style1 == null) {
|
|
style1 = "";
|
|
}
|
|
style1 = style1.toLowerCase();
|
|
var suffix = "";
|
|
switch(style1) {
|
|
case "b":case "bold":
|
|
suffix = "b";
|
|
break;
|
|
case "bi":case "bold-italic":case "boldi":case "bolditalic":case "ib":case "ibold":case "italic-bold":case "italicbold":case "z":
|
|
suffix = "z";
|
|
break;
|
|
case "i":case "italic":
|
|
suffix = "i";
|
|
break;
|
|
case "":case "none":case "normal":case "regular":
|
|
suffix = "";
|
|
break;
|
|
}
|
|
if(str.indexOf("assets/fonts/") != 0) {
|
|
str = "assets/fonts/" + str + suffix;
|
|
} else {
|
|
str += suffix;
|
|
}
|
|
if(str.indexOf(extension) == -1) {
|
|
str += extension;
|
|
}
|
|
str = flixel_addons_ui_FontFixer.add(str);
|
|
var exists = openfl_utils_Assets.exists(str,"FONT");
|
|
if(!exists && extension == ".ttf") {
|
|
var alt = flixel_addons_ui_U.font(ostr,style,".otf");
|
|
if(openfl_utils_Assets.exists(alt,"FONT")) {
|
|
return alt;
|
|
}
|
|
}
|
|
return str;
|
|
};
|
|
flixel_addons_ui_U._font = function(str,style) {
|
|
if(style == null) {
|
|
style = "";
|
|
}
|
|
style = style.toLowerCase();
|
|
var suffix = "";
|
|
switch(style) {
|
|
case "b":case "bold":
|
|
suffix = "b";
|
|
break;
|
|
case "bi":case "bold-italic":case "boldi":case "bolditalic":case "ib":case "ibold":case "italic-bold":case "italicbold":case "z":
|
|
suffix = "z";
|
|
break;
|
|
case "i":case "italic":
|
|
suffix = "i";
|
|
break;
|
|
case "":case "none":case "normal":case "regular":
|
|
suffix = "";
|
|
break;
|
|
}
|
|
if(str.indexOf("assets/fonts/") != 0) {
|
|
return "assets/fonts/" + str + suffix;
|
|
}
|
|
return str + suffix;
|
|
};
|
|
flixel_addons_ui_U.fsx = function(data) {
|
|
return new flixel_addons_ui_FlxUISprite(0,0,data);
|
|
};
|
|
flixel_addons_ui_U.fs = function(data) {
|
|
return new flixel_FlxSprite(0,0,data);
|
|
};
|
|
flixel_addons_ui_U.FU = function(str) {
|
|
return HxOverrides.substr(str,0,1).toUpperCase() + HxOverrides.substr(str,1,str.length - 1);
|
|
};
|
|
flixel_addons_ui_U.FUL = function(str) {
|
|
return HxOverrides.substr(str,0,1).toUpperCase() + HxOverrides.substr(str,1,str.length - 1).toLowerCase();
|
|
};
|
|
flixel_addons_ui_U.getBmp = function(asset) {
|
|
var str = null;
|
|
if(typeof(asset) == "string") {
|
|
str = asset;
|
|
} else if(((asset) instanceof flixel_graphics_FlxGraphic)) {
|
|
var fg = asset;
|
|
str = fg.key;
|
|
} else if(((asset) instanceof openfl_display_BitmapData)) {
|
|
var bmp = asset;
|
|
return bmp;
|
|
}
|
|
if(flixel_FlxG.bitmap._cache.h[str] != null) {
|
|
var cg = flixel_FlxG.bitmap._cache.h[str];
|
|
if(cg.bitmap != null) {
|
|
return cg.bitmap;
|
|
}
|
|
}
|
|
return openfl_utils_Assets.getBitmapData(str,false);
|
|
};
|
|
flixel_addons_ui_U.checkHaxedef = function(str) {
|
|
str = str.toLowerCase();
|
|
switch(str) {
|
|
case "android":
|
|
break;
|
|
case "console-pc":case "console_pc":
|
|
break;
|
|
case "cpp":
|
|
break;
|
|
case "demo":
|
|
break;
|
|
case "desktop":
|
|
break;
|
|
case "flash":
|
|
break;
|
|
case "html5":
|
|
return true;
|
|
case "ios":
|
|
break;
|
|
case "js":
|
|
return true;
|
|
case "legacy":case "lime_legacy":
|
|
break;
|
|
case "lime_next":case "next":
|
|
var val = true;
|
|
return val;
|
|
case "linux":
|
|
break;
|
|
case "mac":
|
|
break;
|
|
case "mobile":
|
|
break;
|
|
case "neko":
|
|
break;
|
|
case "ps3":
|
|
break;
|
|
case "ps4":
|
|
break;
|
|
case "sys":
|
|
break;
|
|
case "tvos":
|
|
break;
|
|
case "vita":
|
|
break;
|
|
case "web":
|
|
return true;
|
|
case "wiiu":
|
|
break;
|
|
case "windows":
|
|
break;
|
|
case "xbox1":
|
|
break;
|
|
}
|
|
return false;
|
|
};
|
|
flixel_addons_ui_U.copy_shallow_arr = function(src) {
|
|
if(src == null) {
|
|
return null;
|
|
}
|
|
var arr = [];
|
|
if(src == null) {
|
|
return arr;
|
|
}
|
|
var _g = 0;
|
|
while(_g < src.length) {
|
|
var thing = src[_g];
|
|
++_g;
|
|
arr.push(thing);
|
|
}
|
|
return arr;
|
|
};
|
|
flixel_addons_ui_U.copy_arr_arr_i = function(src) {
|
|
if(src == null) {
|
|
return null;
|
|
}
|
|
var arrarr = [];
|
|
var _g = 0;
|
|
while(_g < src.length) {
|
|
var arri = src[_g];
|
|
++_g;
|
|
var temp = [];
|
|
var _g1 = 0;
|
|
while(_g1 < arri.length) {
|
|
var i = arri[_g1];
|
|
++_g1;
|
|
temp.push(i);
|
|
}
|
|
arrarr.push(temp);
|
|
}
|
|
return arrarr;
|
|
};
|
|
flixel_addons_ui_U.copy_shallow_arr_i = function(src) {
|
|
if(src == null) {
|
|
return null;
|
|
}
|
|
var arr = [];
|
|
var _g = 0;
|
|
while(_g < src.length) {
|
|
var thing = src[_g];
|
|
++_g;
|
|
arr.push(thing);
|
|
}
|
|
return arr;
|
|
};
|
|
flixel_addons_ui_U.copy_shallow_arr_str = function(src) {
|
|
if(src == null) {
|
|
return null;
|
|
}
|
|
var arr = [];
|
|
var _g = 0;
|
|
while(_g < src.length) {
|
|
var thing = src[_g];
|
|
++_g;
|
|
arr.push(thing);
|
|
}
|
|
return arr;
|
|
};
|
|
flixel_addons_ui_U.FU_ = function(str) {
|
|
var arr = str.split(" ");
|
|
var str = "";
|
|
var _g = 0;
|
|
var _g1 = arr.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
str += flixel_addons_ui_U.FU(arr[i]);
|
|
if(i != arr.length - 1) {
|
|
str += " ";
|
|
}
|
|
}
|
|
return str;
|
|
};
|
|
flixel_addons_ui_U.xml_blend = function(x,att) {
|
|
return flixel_addons_ui_U.blendModeFromString(flixel_addons_ui_U.xml_str(x,att,true,"normal"));
|
|
};
|
|
flixel_addons_ui_U.blendModeFromString = function(str) {
|
|
str = str.toLowerCase();
|
|
switch(str) {
|
|
case "add":
|
|
return 0;
|
|
case "alpha":
|
|
return 1;
|
|
case "darken":
|
|
return 2;
|
|
case "difference":
|
|
return 3;
|
|
case "erase":
|
|
return 4;
|
|
case "hardlight":
|
|
return 5;
|
|
case "invert":
|
|
return 6;
|
|
case "layer":
|
|
return 7;
|
|
case "lighten":
|
|
return 8;
|
|
case "multiply":
|
|
return 9;
|
|
case "normal":
|
|
return 10;
|
|
case "overlay":
|
|
return 11;
|
|
case "screen":
|
|
return 12;
|
|
case "subtract":
|
|
return 14;
|
|
default:
|
|
return 10;
|
|
}
|
|
};
|
|
flixel_addons_ui_U.scaleTileBmp = function(orig_id,scale,origW,origH,W,H,smooth) {
|
|
if(smooth == null) {
|
|
smooth = true;
|
|
}
|
|
if(H == null) {
|
|
H = -1;
|
|
}
|
|
if(W == null) {
|
|
W = -1;
|
|
}
|
|
var orig = openfl_utils_Assets.getBitmapData(orig_id,false);
|
|
if(orig == null) {
|
|
if(flixel_FlxG.bitmap._cache.h[orig_id] != null) {
|
|
orig = flixel_FlxG.bitmap._cache.h[orig_id].bitmap;
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
var widthInTiles = orig.width / origW | 0;
|
|
var heightInTiles = orig.height / origH | 0;
|
|
if(W == -1) {
|
|
W = origW * scale | 0;
|
|
}
|
|
if(H == -1) {
|
|
H = origH * scale | 0;
|
|
scale = H / origH;
|
|
}
|
|
if(Math.abs(scale - 1.0) > 0.001) {
|
|
var scaled = new openfl_display_BitmapData(W * widthInTiles | 0,H * heightInTiles | 0,true,0);
|
|
var rect = new openfl_geom_Rectangle();
|
|
var pt = new openfl_geom_Point();
|
|
var matrix = new openfl_geom_Matrix();
|
|
matrix.scale(scale,scale);
|
|
var _g = 0;
|
|
var _g1 = heightInTiles;
|
|
while(_g < _g1) {
|
|
var tiley = _g++;
|
|
var _g2 = 0;
|
|
var _g3 = widthInTiles;
|
|
while(_g2 < _g3) {
|
|
var tilex = _g2++;
|
|
var tile = new openfl_display_BitmapData(origW,origH,true,0);
|
|
rect.setTo(tilex * origW,tiley * origH,origW,origH);
|
|
pt.setTo(0,0);
|
|
tile.copyPixels(orig,rect,pt);
|
|
var scaleTile = new openfl_display_BitmapData(W,H,true,0);
|
|
scaleTile.draw(tile,matrix,null,null,null,smooth);
|
|
pt.setTo(tilex * W,tiley * H);
|
|
scaled.copyPixels(scaleTile,scaleTile.rect,pt);
|
|
}
|
|
}
|
|
return scaled;
|
|
} else {
|
|
return orig.clone();
|
|
}
|
|
};
|
|
flixel_addons_ui_U.scaleAndStoreTileset = function(orig_id,scale,OrigW,OrigH,TileW,TileH,Smooth) {
|
|
if(Smooth == null) {
|
|
Smooth = true;
|
|
}
|
|
if(TileH == null) {
|
|
TileH = -1;
|
|
}
|
|
if(TileW == null) {
|
|
TileW = -1;
|
|
}
|
|
var assetKey = orig_id + "_x" + scale;
|
|
if(flixel_FlxG.bitmap._cache.h[assetKey] != null == false) {
|
|
var bmp = flixel_addons_ui_U.scaleTileBmp(orig_id,scale,OrigW,OrigH,TileW,TileH,Smooth);
|
|
flixel_FlxG.bitmap.add(bmp,false,assetKey);
|
|
}
|
|
return assetKey;
|
|
};
|
|
flixel_addons_ui_U.loadScaledImage = function(src,W,H,smooth) {
|
|
if(smooth == null) {
|
|
smooth = true;
|
|
}
|
|
var bmpSrc = flixel_addons_ui_U.gfx(src);
|
|
var testBmp = openfl_utils_Assets.getBitmapData(bmpSrc,false);
|
|
if(testBmp != null) {
|
|
if(W < 0) {
|
|
W = testBmp.width;
|
|
}
|
|
if(H < 0) {
|
|
H = testBmp.height;
|
|
}
|
|
var diff = Math.abs(W - testBmp.width) + Math.abs(H - testBmp.height);
|
|
if(diff > 0.01) {
|
|
var scaleKey = bmpSrc + "_" + (W | 0) + "x" + (H | 0);
|
|
if(flixel_FlxG.bitmap._cache.h[scaleKey] == null) {
|
|
var scaledBmp = new openfl_display_BitmapData(W | 0,H | 0,true,0);
|
|
var m = flixel_addons_ui_U.getMatrix();
|
|
m.identity();
|
|
m.scale(W / testBmp.width,H / testBmp.height);
|
|
scaledBmp.draw(testBmp,m,null,null,null,smooth);
|
|
flixel_FlxG.bitmap.add(scaledBmp,true,scaleKey);
|
|
}
|
|
return scaleKey;
|
|
} else {
|
|
return bmpSrc;
|
|
}
|
|
}
|
|
return null;
|
|
};
|
|
flixel_addons_ui_U.loadImageScaleToHeight = function(src,Height,Smooth,checkFlxBitmap) {
|
|
if(checkFlxBitmap == null) {
|
|
checkFlxBitmap = false;
|
|
}
|
|
if(Smooth == null) {
|
|
Smooth = true;
|
|
}
|
|
var bmpSrc = flixel_addons_ui_U.gfx(src);
|
|
var testBmp = null;
|
|
if(!checkFlxBitmap) {
|
|
testBmp = openfl_utils_Assets.getBitmapData(bmpSrc,false);
|
|
} else {
|
|
var flximg = flixel_FlxG.bitmap._cache.h[bmpSrc];
|
|
testBmp = flximg != null ? flximg.bitmap : null;
|
|
}
|
|
var ratio = testBmp != null ? Height / testBmp.height : 1.0;
|
|
return flixel_addons_ui_U.loadMonoScaledImage(bmpSrc,ratio,Smooth,checkFlxBitmap);
|
|
};
|
|
flixel_addons_ui_U.loadMonoScaledImage = function(src,Scale,smooth,checkFlxBitmap,fixAlphaChannel) {
|
|
if(fixAlphaChannel == null) {
|
|
fixAlphaChannel = false;
|
|
}
|
|
if(checkFlxBitmap == null) {
|
|
checkFlxBitmap = false;
|
|
}
|
|
if(smooth == null) {
|
|
smooth = true;
|
|
}
|
|
var bmpSrc = flixel_addons_ui_U.gfx(src);
|
|
var testBmp = null;
|
|
if(!checkFlxBitmap) {
|
|
testBmp = openfl_utils_Assets.getBitmapData(bmpSrc,false);
|
|
if(testBmp == null) {
|
|
testBmp = openfl_utils_Assets.getBitmapData(bmpSrc,true);
|
|
}
|
|
} else {
|
|
var flximg = flixel_FlxG.bitmap._cache.h[bmpSrc];
|
|
testBmp = flximg != null ? flximg.bitmap : null;
|
|
}
|
|
if(testBmp != null) {
|
|
if(Scale <= 0) {
|
|
throw haxe_Exception.thrown("Error! Scale must be positive & > 0! (Scale was = " + Scale + ")");
|
|
}
|
|
if(Math.abs(Scale - 1.00) > 0.001) {
|
|
var scaleKey = bmpSrc + "_ScaleX" + Scale;
|
|
if(flixel_FlxG.bitmap._cache.h[scaleKey] == null) {
|
|
var scaledBmp = new openfl_display_BitmapData(testBmp.width * Scale | 0,testBmp.height * Scale | 0,true,0);
|
|
var m = flixel_addons_ui_U.getMatrix();
|
|
m.identity();
|
|
m.scale(Scale,Scale);
|
|
scaledBmp.draw(testBmp,m,null,null,null,smooth);
|
|
if(fixAlphaChannel) {
|
|
var black = new openfl_display_BitmapData(scaledBmp.width,scaledBmp.height,true,-16777216);
|
|
black.copyPixels(scaledBmp,scaledBmp.rect,new openfl_geom_Point(),null,null,true);
|
|
black.copyChannel(scaledBmp,scaledBmp.rect,new openfl_geom_Point(0,0),8,8);
|
|
var temp = scaledBmp;
|
|
scaledBmp = black;
|
|
temp.dispose();
|
|
}
|
|
flixel_FlxG.bitmap.add(scaledBmp,true,scaleKey);
|
|
}
|
|
return scaleKey;
|
|
} else {
|
|
flixel_FlxG.bitmap.add(testBmp,false,bmpSrc);
|
|
return bmpSrc;
|
|
}
|
|
}
|
|
return null;
|
|
};
|
|
flixel_addons_ui_U.gfx = function(id,dir1,dir2,dir3,dir4,suppressError) {
|
|
if(suppressError == null) {
|
|
suppressError = false;
|
|
}
|
|
if(dir4 == null) {
|
|
dir4 = "";
|
|
}
|
|
if(dir3 == null) {
|
|
dir3 = "";
|
|
}
|
|
if(dir2 == null) {
|
|
dir2 = "";
|
|
}
|
|
if(dir1 == null) {
|
|
dir1 = "";
|
|
}
|
|
if(id != null) {
|
|
id = id.toLowerCase();
|
|
}
|
|
var prefix = "";
|
|
if(dir1 != "") {
|
|
prefix = dir1 + "/";
|
|
if(dir2 != "") {
|
|
prefix += dir2 + "/";
|
|
if(dir3 != "") {
|
|
prefix += dir3 + "/";
|
|
if(dir4 != "") {
|
|
prefix += dir4 + "/";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if(prefix != "") {
|
|
id = prefix + id;
|
|
}
|
|
if(id.indexOf("raw:") != 0) {
|
|
id = StringTools.replace(id,"-","_");
|
|
}
|
|
return flixel_addons_ui_U.get_gfx(id);
|
|
};
|
|
flixel_addons_ui_U.bmpToArrayIntLayer = function(color_index,bd) {
|
|
var p;
|
|
var arr = [];
|
|
var w = bd.width;
|
|
var h = bd.height;
|
|
var _g = 0;
|
|
var _g1 = h;
|
|
while(_g < _g1) {
|
|
var r = _g++;
|
|
var _g2 = 0;
|
|
var _g3 = w;
|
|
while(_g2 < _g3) {
|
|
var c = _g2++;
|
|
p = bd.getPixel(c,r);
|
|
if(p == color_index) {
|
|
p = 1;
|
|
} else {
|
|
p = 0;
|
|
}
|
|
arr.push(p);
|
|
}
|
|
}
|
|
return arr;
|
|
};
|
|
flixel_addons_ui_U.bmpToCSVLayer = function(color_index,bd) {
|
|
var p;
|
|
var csv = "";
|
|
var w = bd.width;
|
|
var h = bd.height;
|
|
var _g = 0;
|
|
var _g1 = h;
|
|
while(_g < _g1) {
|
|
var r = _g++;
|
|
var _g2 = 0;
|
|
var _g3 = w;
|
|
while(_g2 < _g3) {
|
|
var c = _g2++;
|
|
p = bd.getPixel(c,r);
|
|
if(p == color_index) {
|
|
p = 1;
|
|
} else {
|
|
p = 0;
|
|
}
|
|
if(c == 0) {
|
|
if(r == 0) {
|
|
csv += p;
|
|
} else {
|
|
csv += "\n" + p;
|
|
}
|
|
} else {
|
|
csv += ", " + p;
|
|
}
|
|
}
|
|
}
|
|
return csv;
|
|
};
|
|
flixel_addons_ui_U.get_gfx = function(str) {
|
|
var return_str = "";
|
|
var suffix = "";
|
|
if(str.indexOf(".jpg") != -1) {
|
|
suffix = ".jpg";
|
|
} else {
|
|
suffix = ".png";
|
|
}
|
|
if(str != null && str.length > 4 && str.indexOf(suffix) != -1) {
|
|
str = HxOverrides.substr(str,0,str.length - 4);
|
|
}
|
|
if(str.indexOf("raw:") == 0 || str.indexOf("RAW:") == 0) {
|
|
str = HxOverrides.substr(str,4,str.length - 4);
|
|
return_str = str + suffix;
|
|
}
|
|
if(str != null && str.indexOf("assets/gfx/") == 0) {
|
|
return_str = str + suffix;
|
|
}
|
|
if(return_str == "") {
|
|
return_str = "assets/gfx/" + str + suffix;
|
|
}
|
|
if(return_str.indexOf(".stitch.txt" + suffix) != -1) {
|
|
return_str = StringTools.replace(return_str,".stitch.txt" + suffix,".stitch.txt");
|
|
}
|
|
return return_str;
|
|
};
|
|
flixel_addons_ui_U.sfx = function(str) {
|
|
var extension = "";
|
|
extension = ".ogg";
|
|
if(str.indexOf("RAW:") == 0) {
|
|
str = HxOverrides.substr(str,4,str.length - 4);
|
|
return str + extension;
|
|
}
|
|
return "assets/sfx/" + str + extension;
|
|
};
|
|
flixel_addons_ui_U.intStr_to_arr = function(str) {
|
|
var arr = str.split(",");
|
|
var str_arr = [];
|
|
var _g = 0;
|
|
while(_g < arr.length) {
|
|
var s = arr[_g];
|
|
++_g;
|
|
if(s.indexOf("-") == -1) {
|
|
str_arr.push(Std.parseInt(s));
|
|
} else {
|
|
var range = str.split("-");
|
|
var lo = -1;
|
|
var hi = -1;
|
|
if(range != null && range.length == 2) {
|
|
lo = Std.parseInt(range[0]);
|
|
hi = Std.parseInt(range[1]) + 1;
|
|
if(lo >= 0 && hi > lo) {
|
|
var _g1 = lo;
|
|
var _g2 = hi;
|
|
while(_g1 < _g2) {
|
|
var i = _g1++;
|
|
str_arr.push(i);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return str_arr;
|
|
};
|
|
flixel_addons_ui_U.intStr_to_arrStr = function(str) {
|
|
var arr = str.split(",");
|
|
var str_arr = [];
|
|
var _g = 0;
|
|
while(_g < arr.length) {
|
|
var s = arr[_g];
|
|
++_g;
|
|
if(s.indexOf("-") == -1) {
|
|
str_arr.push(Std.string(Std.parseInt(s)));
|
|
} else {
|
|
var range = str.split("-");
|
|
var lo = -1;
|
|
var hi = -1;
|
|
if(range != null && range.length == 2) {
|
|
lo = Std.parseInt(range[0]);
|
|
hi = Std.parseInt(range[1]) + 1;
|
|
if(lo >= 0 && hi > lo) {
|
|
var _g1 = lo;
|
|
var _g2 = hi;
|
|
while(_g1 < _g2) {
|
|
var i = _g1++;
|
|
str_arr.push(i == null ? "null" : "" + i);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return str_arr;
|
|
};
|
|
flixel_addons_ui_U.dirStr = function(XX,YY) {
|
|
var str = "";
|
|
if(XX == 0) {
|
|
if(YY == -1) {
|
|
str = "N";
|
|
} else if(YY == 1) {
|
|
str = "S";
|
|
} else if(YY == 0) {
|
|
str = "NONE";
|
|
}
|
|
} else if(XX == 1) {
|
|
if(YY == -1) {
|
|
str = "NE";
|
|
} else if(YY == 1) {
|
|
str = "SE";
|
|
} else if(YY == 0) {
|
|
str = "E";
|
|
}
|
|
} else if(XX == -1) {
|
|
if(YY == -1) {
|
|
str = "NW";
|
|
} else if(YY == 1) {
|
|
str = "SW";
|
|
} else if(YY == 0) {
|
|
str = "W";
|
|
}
|
|
} else {
|
|
str = "NONE";
|
|
}
|
|
return str;
|
|
};
|
|
flixel_addons_ui_U.obj_direction = function(a,b) {
|
|
var dx = a.x - b.x;
|
|
var dy = a.y - b.y;
|
|
var X = dx / Math.abs(dx) | 0;
|
|
var Y = dy / Math.abs(dy) | 0;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
var ipt = point;
|
|
return ipt;
|
|
};
|
|
flixel_addons_ui_U.circle_test = function(x1,y1,r1,x2,y2,r2) {
|
|
var dx = x1 - x2;
|
|
var dy = y1 - y2;
|
|
var d2 = dx * dx + dy * dy;
|
|
var dr2 = r1 * r1 + r2 * r2;
|
|
return d2 <= dr2;
|
|
};
|
|
flixel_addons_ui_U.point_circle_test = function(x,y,cx,cy,r) {
|
|
var dx = x - cx;
|
|
var dy = y - cy;
|
|
var d2 = dx * dx + dy * dy;
|
|
return d2 <= r * r;
|
|
};
|
|
flixel_addons_ui_U.aabb_test_mult = function(a,b,multA,multB) {
|
|
if(multB == null) {
|
|
multB = 1;
|
|
}
|
|
if(multA == null) {
|
|
multA = 1;
|
|
}
|
|
var extra = a.get_width() * multA;
|
|
var diff = (extra - a.get_width()) / 2;
|
|
var ax1 = a.x - diff;
|
|
var ax2 = a.x + a.get_width() + diff;
|
|
extra = a.get_height() * multA;
|
|
diff = (extra - a.get_height()) / 2;
|
|
var ay1 = a.y - diff;
|
|
var ay2 = a.y + a.get_height() + diff;
|
|
extra = b.get_width() * multB;
|
|
diff = (extra - b.get_width()) / 2;
|
|
var bx1 = b.x - diff;
|
|
var bx2 = b.x + b.get_width() + diff;
|
|
extra = b.get_height() * multB;
|
|
diff = (extra - b.get_height()) / 2;
|
|
var by1 = b.y - diff;
|
|
var by2 = b.y + b.get_height() + diff;
|
|
if(Math.abs(bx2 + bx1 - (ax2 + ax1)) <= bx2 - bx1 + ax2 - ax1) {
|
|
return Math.abs(by2 + by1 - (ay2 + ay1)) <= by2 - by1 + ay2 - ay1;
|
|
} else {
|
|
return false;
|
|
}
|
|
};
|
|
flixel_addons_ui_U.aabb_test = function(a,b) {
|
|
var ax1 = a.x;
|
|
var ax2 = a.x + a.get_width();
|
|
var ay1 = a.y;
|
|
var ay2 = a.y + a.get_height();
|
|
var bx1 = b.x;
|
|
var bx2 = b.x + b.get_width();
|
|
var by1 = b.y;
|
|
var by2 = b.y + b.get_height();
|
|
if(Math.abs(bx2 + bx1 - (ax2 + ax1)) <= bx2 - bx1 + ax2 - ax1) {
|
|
return Math.abs(by2 + by1 - (ay2 + ay1)) <= by2 - by1 + ay2 - ay1;
|
|
} else {
|
|
return false;
|
|
}
|
|
};
|
|
flixel_addons_ui_U.bitStringDimensions = function(str) {
|
|
var pt = new openfl_geom_Point(0,0);
|
|
var arr = str.split("\n");
|
|
if(arr != null && arr.length > 1) {
|
|
pt.y = arr.length;
|
|
if(arr[0] != null && arr[0].length > 1) {
|
|
pt.x = arr[0].length;
|
|
}
|
|
}
|
|
return pt;
|
|
};
|
|
flixel_addons_ui_U.splitBitString = function(str) {
|
|
var result = [];
|
|
var arr = str.split("\n");
|
|
var i = 0;
|
|
while(i < arr.length) {
|
|
var len = arr[i].length;
|
|
var j = 0;
|
|
while(j < len) {
|
|
var char = arr[i].charAt(j);
|
|
var num = Std.parseInt(char);
|
|
result.push(num);
|
|
++j;
|
|
}
|
|
++i;
|
|
}
|
|
return result;
|
|
};
|
|
flixel_addons_ui_U.getShortTextFromFlxKeyText = function(str) {
|
|
str = str.toUpperCase();
|
|
switch(str) {
|
|
case "ACCENT":
|
|
return "`";
|
|
case "ALT":
|
|
return "AT";
|
|
case "BACKSLASH":
|
|
return "\\";
|
|
case "BACKSPACE":
|
|
return "BK";
|
|
case "CAPSLOCK":
|
|
return "CP";
|
|
case "COMMA":
|
|
return ",";
|
|
case "CONTROL":
|
|
return "CT";
|
|
case "DELETE":
|
|
return "DE";
|
|
case "DOWN":
|
|
return "DN";
|
|
case "EIGHT":
|
|
return "8";
|
|
case "END":
|
|
return "ED";
|
|
case "ENTER":
|
|
return "EN";
|
|
case "EQUALS":
|
|
return "=";
|
|
case "ESC":case "ESCAPE":
|
|
return "EC";
|
|
case "FIVE":
|
|
return "5";
|
|
case "FOUR":
|
|
return "4";
|
|
case "HOME":
|
|
return "HM";
|
|
case "INSERT":
|
|
return "IN";
|
|
case "LBRACKET":
|
|
return "[";
|
|
case "LEFT":
|
|
return "LT";
|
|
case "MINUS":
|
|
return "-";
|
|
case "NINE":
|
|
return "9";
|
|
case "NULL":
|
|
return " ";
|
|
case "NUM0":
|
|
return "N0";
|
|
case "NUM1":
|
|
return "N1";
|
|
case "NUM2":
|
|
return "N2";
|
|
case "NUM3":
|
|
return "N3";
|
|
case "NUM4":
|
|
return "N4";
|
|
case "NUM5":
|
|
return "N5";
|
|
case "NUM6":
|
|
return "N6";
|
|
case "NUM7":
|
|
return "N7";
|
|
case "NUM8":
|
|
return "N8";
|
|
case "NUM9":
|
|
return "N9";
|
|
case "NUMDEC":
|
|
return "N.";
|
|
case "NUMDIV":
|
|
return "N/";
|
|
case "NUMLOCK":
|
|
return "NM";
|
|
case "NUMMINUS":
|
|
return "N-";
|
|
case "NUMMULT":
|
|
return "N*";
|
|
case "NUMPLUS":
|
|
return "N+";
|
|
case "ONE":
|
|
return "1";
|
|
case "PAGEDOWN":
|
|
return "PD";
|
|
case "PAGEUP":
|
|
return "PU";
|
|
case "PAUSEBREAK":
|
|
return "PB";
|
|
case "PERIOD":
|
|
return ".";
|
|
case "PLUS":
|
|
return "+";
|
|
case "QUOTE":
|
|
return "\"";
|
|
case "RBRACKET":
|
|
return "]";
|
|
case "RIGHT":
|
|
return "RT";
|
|
case "SCROLLLOCK":
|
|
return "SC";
|
|
case "SEMICOLON":
|
|
return ";";
|
|
case "SEVEN":
|
|
return "7";
|
|
case "SHIFT":
|
|
return "SH";
|
|
case "SIX":
|
|
return "6";
|
|
case "SLASH":
|
|
return "/";
|
|
case "SPACE":
|
|
return "SP";
|
|
case "TAB":
|
|
return "TB";
|
|
case "TEN":
|
|
return "10";
|
|
case "THREE":
|
|
return "3";
|
|
case "TWO":
|
|
return "2";
|
|
case "UP":
|
|
return "UP";
|
|
case "ZERO":
|
|
return "0";
|
|
default:
|
|
return str;
|
|
}
|
|
};
|
|
flixel_addons_ui_U.getFlxKeyTextFromShortText = function(str) {
|
|
str = str.toUpperCase();
|
|
switch(str) {
|
|
case "":
|
|
return " ";
|
|
case "\"":
|
|
return "QUOTE";
|
|
case "*":
|
|
return "NUMMULT";
|
|
case "+":
|
|
return "PLUS";
|
|
case ",":
|
|
return "COMMA";
|
|
case "-":
|
|
return "MINUS";
|
|
case ".":
|
|
return "PERIOD";
|
|
case "/":
|
|
return "SLASH";
|
|
case "0":
|
|
return "ZERO";
|
|
case "1":
|
|
return "ONE";
|
|
case "10":
|
|
return "TEN";
|
|
case "2":
|
|
return "TWO";
|
|
case "3":
|
|
return "THREE";
|
|
case "4":
|
|
return "FOUR";
|
|
case "5":
|
|
return "FIVE";
|
|
case "6":
|
|
return "SIX";
|
|
case "7":
|
|
return "SEVEN";
|
|
case "8":
|
|
return "EIGHT";
|
|
case "9":
|
|
return "NINE";
|
|
case ";":
|
|
return "SEMICOLON";
|
|
case "=":
|
|
return "EQUALS";
|
|
case "AT":
|
|
return "ALT";
|
|
case "BK":
|
|
return "BACKSPACE";
|
|
case "CP":
|
|
return "CAPSLOCK";
|
|
case "CT":
|
|
return "CONTROL";
|
|
case "DE":
|
|
return "DELETE";
|
|
case "DN":
|
|
return "DOWN";
|
|
case "EC":
|
|
return "ESCAPE";
|
|
case "ED":
|
|
return "END";
|
|
case "EN":
|
|
return "ENTER";
|
|
case "HM":
|
|
return "HOME";
|
|
case "IN":
|
|
return "INSERT";
|
|
case "LT":
|
|
return "LEFT";
|
|
case "N+":
|
|
return "NUMPLUS";
|
|
case "N-":
|
|
return "NUMMINUS";
|
|
case "N.":
|
|
return "NUMDEC";
|
|
case "N/":
|
|
return "NUMDIV";
|
|
case "N0":
|
|
return "NUM0";
|
|
case "N1":
|
|
return "NUM1";
|
|
case "N2":
|
|
return "NUM2";
|
|
case "N3":
|
|
return "NUM3";
|
|
case "N4":
|
|
return "NUM4";
|
|
case "N5":
|
|
return "NUM5";
|
|
case "N6":
|
|
return "NUM6";
|
|
case "N7":
|
|
return "NUM7";
|
|
case "N8":
|
|
return "NUM8";
|
|
case "N9":
|
|
return "NUM9";
|
|
case "NM":
|
|
return "NUMLOCK";
|
|
case "PB":
|
|
return "PAUSEBREAK";
|
|
case "PD":
|
|
return "PAGEDOWN";
|
|
case "PU":
|
|
return "PAGEUP";
|
|
case "RT":
|
|
return "RIGHT";
|
|
case "SC":
|
|
return "SCROLLLOCK";
|
|
case "SH":
|
|
return "SHIFT";
|
|
case "SP":
|
|
return "SPACE";
|
|
case "TB":
|
|
return "TAB";
|
|
case "UP":
|
|
return "UP";
|
|
case "[":
|
|
return "LBRACKET";
|
|
case "\\":
|
|
return "BACKSLASH";
|
|
case "]":
|
|
return "RBRACKET";
|
|
case "`":
|
|
return "ACCENT";
|
|
default:
|
|
return str;
|
|
}
|
|
};
|
|
flixel_addons_ui_U.formatXml = function(_xml) {
|
|
var s = haxe_xml_Printer.print(_xml);
|
|
var r = new EReg(">[^`<]*<","g");
|
|
s = s.replace(r.r,">___SPLITHERE___<");
|
|
r = new EReg("___SPLITHERE___","g");
|
|
var split = r.split(s);
|
|
s = "";
|
|
var childDepht = 0;
|
|
var whiteSpace = "\t";
|
|
var _g = 0;
|
|
while(_g < split.length) {
|
|
var str = split[_g];
|
|
++_g;
|
|
var _g1 = 0;
|
|
var _g2 = childDepht;
|
|
while(_g1 < _g2) {
|
|
var i = _g1++;
|
|
s += whiteSpace;
|
|
}
|
|
if(str.charAt(0) == "<" && str.charAt(1) == "/") {
|
|
--childDepht;
|
|
s = HxOverrides.substr(s,0,s.length - whiteSpace.length);
|
|
} else if(str.charAt(str.length - 1) == ">" && str.charAt(str.length - 2) != "/" && str.charAt(str.length - 2) != "-") {
|
|
++childDepht;
|
|
}
|
|
s += str + "\n";
|
|
}
|
|
return s;
|
|
};
|
|
flixel_addons_ui_U.strCase = function(str,code) {
|
|
switch(code) {
|
|
case "fu":
|
|
return flixel_addons_ui_U.FU(str);
|
|
case "fu_":
|
|
return flixel_addons_ui_U.FU_(str);
|
|
case "l":
|
|
return str.toLowerCase();
|
|
case "u":
|
|
return str.toUpperCase();
|
|
default:
|
|
return str;
|
|
}
|
|
};
|
|
flixel_addons_ui_U.unparentXML = function(f) {
|
|
if(f.parent != null) {
|
|
f.parent.removeChild(f);
|
|
}
|
|
return f;
|
|
};
|
|
flixel_addons_ui_U.setButtonLabel = function(btn,str) {
|
|
if(btn == null) {
|
|
return;
|
|
}
|
|
if(((btn) instanceof flixel_addons_ui_FlxUIButton)) {
|
|
(js_Boot.__cast(btn , flixel_addons_ui_FlxUIButton)).label.set_text(str);
|
|
} else if(((btn) instanceof flixel_addons_ui_FlxUISpriteButton)) {
|
|
var fuisb = btn;
|
|
if(fuisb.label == null) {
|
|
return;
|
|
}
|
|
if(((fuisb.label) instanceof flixel_group_FlxTypedSpriteGroup)) {
|
|
var g = fuisb.label;
|
|
if(g.group.members == null) {
|
|
return;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = g.group.members;
|
|
while(_g < _g1.length) {
|
|
var sprite = _g1[_g];
|
|
++_g;
|
|
if(sprite == null) {
|
|
continue;
|
|
}
|
|
if(((sprite) instanceof flixel_text_FlxText)) {
|
|
(js_Boot.__cast(sprite , flixel_text_FlxText)).set_text(str);
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
flixel_addons_ui_U.getMatrix = function() {
|
|
if(flixel_addons_ui_U._matrix == null) {
|
|
flixel_addons_ui_U._matrix = new openfl_geom_Matrix();
|
|
}
|
|
return flixel_addons_ui_U._matrix;
|
|
};
|
|
var flixel_addons_ui_interfaces_IFireTongue = function() { };
|
|
$hxClasses["flixel.addons.ui.interfaces.IFireTongue"] = flixel_addons_ui_interfaces_IFireTongue;
|
|
flixel_addons_ui_interfaces_IFireTongue.__name__ = "flixel.addons.ui.interfaces.IFireTongue";
|
|
flixel_addons_ui_interfaces_IFireTongue.__isInterface__ = true;
|
|
flixel_addons_ui_interfaces_IFireTongue.prototype = {
|
|
get: null
|
|
,getFont: null
|
|
,getFontSize: null
|
|
,locale: null
|
|
,__class__: flixel_addons_ui_interfaces_IFireTongue
|
|
};
|
|
var flixel_animation_FlxBaseAnimation = function(Parent,Name) {
|
|
this.curIndex = 0;
|
|
this.parent = Parent;
|
|
this.name = Name;
|
|
};
|
|
$hxClasses["flixel.animation.FlxBaseAnimation"] = flixel_animation_FlxBaseAnimation;
|
|
flixel_animation_FlxBaseAnimation.__name__ = "flixel.animation.FlxBaseAnimation";
|
|
flixel_animation_FlxBaseAnimation.__interfaces__ = [flixel_util_IFlxDestroyable];
|
|
flixel_animation_FlxBaseAnimation.prototype = {
|
|
parent: null
|
|
,name: null
|
|
,curIndex: null
|
|
,set_curIndex: function(Value) {
|
|
this.curIndex = Value;
|
|
if(this.parent != null && this.parent._curAnim == this) {
|
|
this.parent.set_frameIndex(Value);
|
|
}
|
|
return Value;
|
|
}
|
|
,destroy: function() {
|
|
this.parent = null;
|
|
this.name = null;
|
|
}
|
|
,update: function(elapsed) {
|
|
}
|
|
,clone: function(Parent) {
|
|
return null;
|
|
}
|
|
,__class__: flixel_animation_FlxBaseAnimation
|
|
,__properties__: {set_curIndex:"set_curIndex"}
|
|
};
|
|
var flixel_animation_FlxAnimation = function(Parent,Name,Frames,FrameRate,Looped,FlipX,FlipY) {
|
|
if(FlipY == null) {
|
|
FlipY = false;
|
|
}
|
|
if(FlipX == null) {
|
|
FlipX = false;
|
|
}
|
|
if(Looped == null) {
|
|
Looped = true;
|
|
}
|
|
if(FrameRate == null) {
|
|
FrameRate = 0;
|
|
}
|
|
this._frameTimer = 0;
|
|
this.flipY = false;
|
|
this.flipX = false;
|
|
this.reversed = false;
|
|
this.looped = true;
|
|
this.paused = true;
|
|
this.finished = true;
|
|
this.delay = 0;
|
|
this.curFrame = 0;
|
|
flixel_animation_FlxBaseAnimation.call(this,Parent,Name);
|
|
this.set_frameRate(FrameRate);
|
|
this.frames = Frames;
|
|
this.looped = Looped;
|
|
this.flipX = FlipX;
|
|
this.flipY = FlipY;
|
|
};
|
|
$hxClasses["flixel.animation.FlxAnimation"] = flixel_animation_FlxAnimation;
|
|
flixel_animation_FlxAnimation.__name__ = "flixel.animation.FlxAnimation";
|
|
flixel_animation_FlxAnimation.__super__ = flixel_animation_FlxBaseAnimation;
|
|
flixel_animation_FlxAnimation.prototype = $extend(flixel_animation_FlxBaseAnimation.prototype,{
|
|
frameRate: null
|
|
,curFrame: null
|
|
,delay: null
|
|
,finished: null
|
|
,paused: null
|
|
,looped: null
|
|
,reversed: null
|
|
,flipX: null
|
|
,flipY: null
|
|
,frames: null
|
|
,_frameTimer: null
|
|
,destroy: function() {
|
|
this.frames = null;
|
|
this.name = null;
|
|
flixel_animation_FlxBaseAnimation.prototype.destroy.call(this);
|
|
}
|
|
,play: function(Force,Reversed,Frame) {
|
|
if(Frame == null) {
|
|
Frame = 0;
|
|
}
|
|
if(Reversed == null) {
|
|
Reversed = false;
|
|
}
|
|
if(Force == null) {
|
|
Force = false;
|
|
}
|
|
if(!Force && !this.finished && this.reversed == Reversed) {
|
|
this.paused = false;
|
|
this.finished = false;
|
|
return;
|
|
}
|
|
this.reversed = Reversed;
|
|
this.paused = false;
|
|
this._frameTimer = 0;
|
|
this.finished = this.delay == 0;
|
|
var maxFrameIndex = this.frames.length - 1;
|
|
if(Frame < 0) {
|
|
this.set_curFrame(flixel_FlxG.random.int(0,maxFrameIndex));
|
|
} else {
|
|
if(Frame > maxFrameIndex) {
|
|
Frame = maxFrameIndex;
|
|
}
|
|
if(this.reversed) {
|
|
Frame = maxFrameIndex - Frame;
|
|
}
|
|
this.set_curFrame(Frame);
|
|
}
|
|
if(this.finished) {
|
|
var _this = this.parent;
|
|
if(_this.finishCallback != null) {
|
|
_this.finishCallback(this.name);
|
|
}
|
|
}
|
|
}
|
|
,restart: function() {
|
|
this.play(true,this.reversed);
|
|
}
|
|
,stop: function() {
|
|
this.finished = true;
|
|
this.paused = true;
|
|
}
|
|
,reset: function() {
|
|
this.stop();
|
|
this.set_curFrame(this.reversed ? this.frames.length - 1 : 0);
|
|
}
|
|
,finish: function() {
|
|
this.stop();
|
|
this.set_curFrame(this.reversed ? 0 : this.frames.length - 1);
|
|
}
|
|
,pause: function() {
|
|
this.paused = true;
|
|
}
|
|
,resume: function() {
|
|
this.paused = false;
|
|
}
|
|
,reverse: function() {
|
|
this.reversed = !this.reversed;
|
|
if(this.finished) {
|
|
this.play(false,this.reversed);
|
|
}
|
|
}
|
|
,update: function(elapsed) {
|
|
if(this.delay == 0 || this.finished || this.paused) {
|
|
return;
|
|
}
|
|
this._frameTimer += elapsed;
|
|
while(this._frameTimer > this.delay && !this.finished) {
|
|
this._frameTimer -= this.delay;
|
|
if(this.reversed) {
|
|
if(this.looped && this.curFrame == 0) {
|
|
this.set_curFrame(this.frames.length - 1);
|
|
} else {
|
|
var _g = this;
|
|
_g.set_curFrame(_g.curFrame - 1);
|
|
}
|
|
} else if(this.looped && this.curFrame == this.frames.length - 1) {
|
|
this.set_curFrame(0);
|
|
} else {
|
|
var _g1 = this;
|
|
_g1.set_curFrame(_g1.curFrame + 1);
|
|
}
|
|
}
|
|
}
|
|
,clone: function(Parent) {
|
|
return new flixel_animation_FlxAnimation(Parent,this.name,this.frames,this.frameRate,this.looped,this.flipX,this.flipY);
|
|
}
|
|
,set_frameRate: function(value) {
|
|
this.delay = 0;
|
|
this.frameRate = value;
|
|
if(value > 0) {
|
|
this.delay = 1.0 / value;
|
|
}
|
|
return value;
|
|
}
|
|
,set_curFrame: function(Frame) {
|
|
var maxFrameIndex = this.frames.length - 1;
|
|
var tempFrame = this.reversed ? maxFrameIndex - Frame : Frame;
|
|
if(tempFrame >= 0) {
|
|
if(!this.looped && Frame > maxFrameIndex) {
|
|
this.finished = true;
|
|
this.curFrame = this.reversed ? 0 : maxFrameIndex;
|
|
} else {
|
|
this.curFrame = Frame;
|
|
}
|
|
} else {
|
|
this.curFrame = flixel_FlxG.random.int(0,maxFrameIndex);
|
|
}
|
|
this.set_curIndex(this.frames[this.curFrame]);
|
|
if(this.finished && this.parent != null) {
|
|
var _this = this.parent;
|
|
if(_this.finishCallback != null) {
|
|
_this.finishCallback(this.name);
|
|
}
|
|
}
|
|
return Frame;
|
|
}
|
|
,get_numFrames: function() {
|
|
return this.frames.length;
|
|
}
|
|
,__class__: flixel_animation_FlxAnimation
|
|
,__properties__: $extend(flixel_animation_FlxBaseAnimation.prototype.__properties__,{get_numFrames:"get_numFrames",set_curFrame:"set_curFrame",set_frameRate:"set_frameRate"})
|
|
});
|
|
var flixel_animation_FlxAnimationController = function(Sprite) {
|
|
this.frameIndex = -1;
|
|
this._sprite = Sprite;
|
|
this._animations = new haxe_ds_StringMap();
|
|
};
|
|
$hxClasses["flixel.animation.FlxAnimationController"] = flixel_animation_FlxAnimationController;
|
|
flixel_animation_FlxAnimationController.__name__ = "flixel.animation.FlxAnimationController";
|
|
flixel_animation_FlxAnimationController.__interfaces__ = [flixel_util_IFlxDestroyable];
|
|
flixel_animation_FlxAnimationController.prototype = {
|
|
frameIndex: null
|
|
,callback: null
|
|
,finishCallback: null
|
|
,_sprite: null
|
|
,_curAnim: null
|
|
,_animations: null
|
|
,_prerotated: null
|
|
,update: function(elapsed) {
|
|
if(this._curAnim != null) {
|
|
this._curAnim.update(elapsed);
|
|
} else if(this._prerotated != null) {
|
|
this._prerotated.set_angle(this._sprite.angle);
|
|
}
|
|
}
|
|
,copyFrom: function(controller) {
|
|
this.destroyAnimations();
|
|
var anim = haxe_ds_StringMap.valueIterator(controller._animations.h);
|
|
while(anim.hasNext()) {
|
|
var anim1 = anim.next();
|
|
this.add(anim1.name,anim1.frames,anim1.frameRate,anim1.looped,anim1.flipX,anim1.flipY);
|
|
}
|
|
if(controller._prerotated != null) {
|
|
this.createPrerotated();
|
|
}
|
|
if(controller.get_name() != null) {
|
|
this.set_name(controller.get_name());
|
|
}
|
|
this.set_frameIndex(controller.frameIndex);
|
|
return this;
|
|
}
|
|
,createPrerotated: function(Controller) {
|
|
this.destroyAnimations();
|
|
if(Controller == null) {
|
|
Controller = this;
|
|
}
|
|
this._prerotated = new flixel_animation_FlxPrerotatedAnimation(Controller,Controller._sprite.bakedRotationAngle);
|
|
this._prerotated.set_angle(this._sprite.angle);
|
|
}
|
|
,destroyAnimations: function() {
|
|
this.clearAnimations();
|
|
this.clearPrerotated();
|
|
}
|
|
,destroy: function() {
|
|
this.destroyAnimations();
|
|
this._animations = null;
|
|
this.callback = null;
|
|
this._sprite = null;
|
|
}
|
|
,clearPrerotated: function() {
|
|
if(this._prerotated != null) {
|
|
this._prerotated.destroy();
|
|
}
|
|
this._prerotated = null;
|
|
}
|
|
,clearAnimations: function() {
|
|
if(this._animations != null) {
|
|
var anim;
|
|
var key = haxe_ds_StringMap.keysIterator(this._animations.h);
|
|
while(key.hasNext()) {
|
|
var key1 = key.next();
|
|
anim = this._animations.h[key1];
|
|
if(anim != null) {
|
|
anim.destroy();
|
|
}
|
|
}
|
|
}
|
|
this._animations = new haxe_ds_StringMap();
|
|
this._curAnim = null;
|
|
}
|
|
,add: function(Name,Frames,FrameRate,Looped,FlipX,FlipY) {
|
|
if(FlipY == null) {
|
|
FlipY = false;
|
|
}
|
|
if(FlipX == null) {
|
|
FlipX = false;
|
|
}
|
|
if(Looped == null) {
|
|
Looped = true;
|
|
}
|
|
if(FrameRate == null) {
|
|
FrameRate = 30;
|
|
}
|
|
var framesToAdd = Frames;
|
|
var numFrames = framesToAdd.length - 1;
|
|
var i = numFrames;
|
|
while(i >= 0) {
|
|
if(framesToAdd[i] >= this._sprite.numFrames) {
|
|
if(framesToAdd == Frames) {
|
|
framesToAdd = Frames.slice();
|
|
}
|
|
framesToAdd.splice(i,1);
|
|
}
|
|
--i;
|
|
}
|
|
if(framesToAdd.length > 0) {
|
|
var anim = new flixel_animation_FlxAnimation(this,Name,framesToAdd,FrameRate,Looped,FlipX,FlipY);
|
|
this._animations.h[Name] = anim;
|
|
}
|
|
}
|
|
,remove: function(Name) {
|
|
var anim = this._animations.h[Name];
|
|
if(anim != null) {
|
|
var _this = this._animations;
|
|
if(Object.prototype.hasOwnProperty.call(_this.h,Name)) {
|
|
delete(_this.h[Name]);
|
|
}
|
|
anim.destroy();
|
|
}
|
|
}
|
|
,append: function(Name,Frames) {
|
|
var anim = this._animations.h[Name];
|
|
if(anim == null) {
|
|
return;
|
|
}
|
|
var numFrames = Frames.length - 1;
|
|
var i = numFrames;
|
|
while(i >= 0) {
|
|
if(Frames[numFrames - i] < this._sprite.numFrames) {
|
|
anim.frames.push(Frames[numFrames - i]);
|
|
}
|
|
--i;
|
|
}
|
|
}
|
|
,addByNames: function(Name,FrameNames,FrameRate,Looped,FlipX,FlipY) {
|
|
if(FlipY == null) {
|
|
FlipY = false;
|
|
}
|
|
if(FlipX == null) {
|
|
FlipX = false;
|
|
}
|
|
if(Looped == null) {
|
|
Looped = true;
|
|
}
|
|
if(FrameRate == null) {
|
|
FrameRate = 30;
|
|
}
|
|
if(this._sprite.frames != null) {
|
|
var indices = [];
|
|
this.byNamesHelper(indices,FrameNames);
|
|
if(indices.length > 0) {
|
|
var anim = new flixel_animation_FlxAnimation(this,Name,indices,FrameRate,Looped,FlipX,FlipY);
|
|
this._animations.h[Name] = anim;
|
|
}
|
|
}
|
|
}
|
|
,appendByNames: function(Name,FrameNames) {
|
|
var anim = this._animations.h[Name];
|
|
if(anim == null) {
|
|
return;
|
|
}
|
|
if(this._sprite.frames != null) {
|
|
this.byNamesHelper(anim.frames,FrameNames);
|
|
}
|
|
}
|
|
,addByStringIndices: function(Name,Prefix,Indices,Postfix,FrameRate,Looped,FlipX,FlipY) {
|
|
if(FlipY == null) {
|
|
FlipY = false;
|
|
}
|
|
if(FlipX == null) {
|
|
FlipX = false;
|
|
}
|
|
if(Looped == null) {
|
|
Looped = true;
|
|
}
|
|
if(FrameRate == null) {
|
|
FrameRate = 30;
|
|
}
|
|
if(this._sprite.frames != null) {
|
|
var frameIndices = [];
|
|
this.byStringIndicesHelper(frameIndices,Prefix,Indices,Postfix);
|
|
if(frameIndices.length > 0) {
|
|
var anim = new flixel_animation_FlxAnimation(this,Name,frameIndices,FrameRate,Looped,FlipX,FlipY);
|
|
this._animations.h[Name] = anim;
|
|
}
|
|
}
|
|
}
|
|
,appendByStringIndices: function(Name,Prefix,Indices,Postfix) {
|
|
var anim = this._animations.h[Name];
|
|
if(anim == null) {
|
|
return;
|
|
}
|
|
if(this._sprite.frames != null) {
|
|
this.byStringIndicesHelper(anim.frames,Prefix,Indices,Postfix);
|
|
}
|
|
}
|
|
,addByIndices: function(Name,Prefix,Indices,Postfix,FrameRate,Looped,FlipX,FlipY) {
|
|
if(FlipY == null) {
|
|
FlipY = false;
|
|
}
|
|
if(FlipX == null) {
|
|
FlipX = false;
|
|
}
|
|
if(Looped == null) {
|
|
Looped = true;
|
|
}
|
|
if(FrameRate == null) {
|
|
FrameRate = 30;
|
|
}
|
|
if(this._sprite.frames != null) {
|
|
var frameIndices = [];
|
|
this.byIndicesHelper(frameIndices,Prefix,Indices,Postfix);
|
|
if(frameIndices.length > 0) {
|
|
var anim = new flixel_animation_FlxAnimation(this,Name,frameIndices,FrameRate,Looped,FlipX,FlipY);
|
|
this._animations.h[Name] = anim;
|
|
}
|
|
}
|
|
}
|
|
,appendByIndices: function(Name,Prefix,Indices,Postfix) {
|
|
var anim = this._animations.h[Name];
|
|
if(anim == null) {
|
|
return;
|
|
}
|
|
if(this._sprite.frames != null) {
|
|
this.byIndicesHelper(anim.frames,Prefix,Indices,Postfix);
|
|
}
|
|
}
|
|
,findSpriteFrame: function(Prefix,Index,Postfix) {
|
|
var numFrames = this._sprite.numFrames;
|
|
var flxFrames = this._sprite.frames.frames;
|
|
var _g = 0;
|
|
var _g1 = numFrames;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var name = flxFrames[i].name;
|
|
if(StringTools.startsWith(name,Prefix) && StringTools.endsWith(name,Postfix)) {
|
|
var index = Std.parseInt(name.substring(Prefix.length,name.length - Postfix.length));
|
|
if(index != null && index == Index) {
|
|
return i;
|
|
}
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
,addByPrefix: function(Name,Prefix,FrameRate,Looped,FlipX,FlipY) {
|
|
if(FlipY == null) {
|
|
FlipY = false;
|
|
}
|
|
if(FlipX == null) {
|
|
FlipX = false;
|
|
}
|
|
if(Looped == null) {
|
|
Looped = true;
|
|
}
|
|
if(FrameRate == null) {
|
|
FrameRate = 30;
|
|
}
|
|
if(this._sprite.frames != null) {
|
|
var animFrames = [];
|
|
this.findByPrefix(animFrames,Prefix);
|
|
if(animFrames.length > 0) {
|
|
var frameIndices = [];
|
|
this.byPrefixHelper(frameIndices,animFrames,Prefix);
|
|
if(frameIndices.length > 0) {
|
|
var anim = new flixel_animation_FlxAnimation(this,Name,frameIndices,FrameRate,Looped,FlipX,FlipY);
|
|
this._animations.h[Name] = anim;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,appendByPrefix: function(Name,Prefix) {
|
|
var anim = this._animations.h[Name];
|
|
if(anim == null) {
|
|
return;
|
|
}
|
|
if(this._sprite.frames != null) {
|
|
var animFrames = [];
|
|
this.findByPrefix(animFrames,Prefix);
|
|
if(animFrames.length > 0) {
|
|
this.byPrefixHelper(anim.frames,animFrames,Prefix);
|
|
}
|
|
}
|
|
}
|
|
,play: function(AnimName,Force,Reversed,Frame) {
|
|
if(Frame == null) {
|
|
Frame = 0;
|
|
}
|
|
if(Reversed == null) {
|
|
Reversed = false;
|
|
}
|
|
if(Force == null) {
|
|
Force = false;
|
|
}
|
|
if(AnimName == null) {
|
|
if(this._curAnim != null) {
|
|
this._curAnim.stop();
|
|
}
|
|
this._curAnim = null;
|
|
}
|
|
if(AnimName == null || this._animations.h[AnimName] == null) {
|
|
return;
|
|
}
|
|
var oldFlipX = false;
|
|
var oldFlipY = false;
|
|
if(this._curAnim != null && AnimName != this._curAnim.name) {
|
|
oldFlipX = this._curAnim.flipX;
|
|
oldFlipY = this._curAnim.flipY;
|
|
this._curAnim.stop();
|
|
}
|
|
this._curAnim = this._animations.h[AnimName];
|
|
this._curAnim.play(Force,Reversed,Frame);
|
|
if(oldFlipX != this._curAnim.flipX || oldFlipY != this._curAnim.flipY) {
|
|
this._sprite.dirty = true;
|
|
}
|
|
}
|
|
,reset: function() {
|
|
if(this._curAnim != null) {
|
|
this._curAnim.reset();
|
|
}
|
|
}
|
|
,finish: function() {
|
|
if(this._curAnim != null) {
|
|
this._curAnim.finish();
|
|
}
|
|
}
|
|
,stop: function() {
|
|
if(this._curAnim != null) {
|
|
this._curAnim.stop();
|
|
}
|
|
}
|
|
,pause: function() {
|
|
if(this._curAnim != null) {
|
|
this._curAnim.pause();
|
|
}
|
|
}
|
|
,resume: function() {
|
|
if(this._curAnim != null) {
|
|
this._curAnim.paused = false;
|
|
}
|
|
}
|
|
,reverse: function() {
|
|
if(this._curAnim != null) {
|
|
this._curAnim.reverse();
|
|
}
|
|
}
|
|
,getByName: function(Name) {
|
|
return this._animations.h[Name];
|
|
}
|
|
,randomFrame: function() {
|
|
if(this._curAnim != null) {
|
|
this._curAnim.stop();
|
|
this._curAnim = null;
|
|
}
|
|
this.set_frameIndex(flixel_FlxG.random.int(0,this._sprite.numFrames - 1));
|
|
}
|
|
,fireCallback: function() {
|
|
if(this.callback != null) {
|
|
var name = this._curAnim != null ? this._curAnim.name : null;
|
|
var number = this._curAnim != null ? this._curAnim.curFrame : this.frameIndex;
|
|
this.callback(name,number,this.frameIndex);
|
|
}
|
|
}
|
|
,fireFinishCallback: function(name) {
|
|
if(this.finishCallback != null) {
|
|
this.finishCallback(name);
|
|
}
|
|
}
|
|
,byNamesHelper: function(AddTo,FrameNames) {
|
|
var _g = 0;
|
|
while(_g < FrameNames.length) {
|
|
var frameName = FrameNames[_g];
|
|
++_g;
|
|
if(Object.prototype.hasOwnProperty.call(this._sprite.frames.framesHash.h,frameName)) {
|
|
var frameToAdd = this._sprite.frames.framesHash.h[frameName];
|
|
AddTo.push(this._sprite.frames.frames.indexOf(frameToAdd));
|
|
}
|
|
}
|
|
}
|
|
,byStringIndicesHelper: function(AddTo,Prefix,Indices,Postfix) {
|
|
var _g = 0;
|
|
while(_g < Indices.length) {
|
|
var index = Indices[_g];
|
|
++_g;
|
|
var name = Prefix + index + Postfix;
|
|
if(Object.prototype.hasOwnProperty.call(this._sprite.frames.framesHash.h,name)) {
|
|
var frameToAdd = this._sprite.frames.framesHash.h[name];
|
|
AddTo.push(this._sprite.frames.frames.indexOf(frameToAdd));
|
|
}
|
|
}
|
|
}
|
|
,byIndicesHelper: function(AddTo,Prefix,Indices,Postfix) {
|
|
var _g = 0;
|
|
while(_g < Indices.length) {
|
|
var index = Indices[_g];
|
|
++_g;
|
|
var indexToAdd = this.findSpriteFrame(Prefix,index,Postfix);
|
|
if(indexToAdd != -1) {
|
|
AddTo.push(indexToAdd);
|
|
}
|
|
}
|
|
}
|
|
,byPrefixHelper: function(AddTo,AnimFrames,Prefix) {
|
|
var name = AnimFrames[0].name;
|
|
var postIndex = name.indexOf(".",Prefix.length);
|
|
var postFix = name.substring(postIndex == -1 ? name.length : postIndex,name.length);
|
|
flixel_graphics_frames_FlxFrame.sort(AnimFrames,Prefix.length,postFix.length);
|
|
var _g = 0;
|
|
while(_g < AnimFrames.length) {
|
|
var animFrame = AnimFrames[_g];
|
|
++_g;
|
|
AddTo.push(this._sprite.frames.frames.indexOf(animFrame));
|
|
}
|
|
}
|
|
,findByPrefix: function(AnimFrames,Prefix) {
|
|
var _g = 0;
|
|
var _g1 = this._sprite.frames.frames;
|
|
while(_g < _g1.length) {
|
|
var frame = _g1[_g];
|
|
++_g;
|
|
if(frame.name != null && StringTools.startsWith(frame.name,Prefix)) {
|
|
AnimFrames.push(frame);
|
|
}
|
|
}
|
|
}
|
|
,set_frameIndex: function(Frame) {
|
|
if(this._sprite.frames != null && this._sprite.numFrames > 0) {
|
|
Frame %= this._sprite.numFrames;
|
|
this._sprite.set_frame(this._sprite.frames.frames[Frame]);
|
|
this.frameIndex = Frame;
|
|
if(this.callback != null) {
|
|
var name = this._curAnim != null ? this._curAnim.name : null;
|
|
var number = this._curAnim != null ? this._curAnim.curFrame : this.frameIndex;
|
|
this.callback(name,number,this.frameIndex);
|
|
}
|
|
}
|
|
return this.frameIndex;
|
|
}
|
|
,get_frameName: function() {
|
|
return this._sprite.frame.name;
|
|
}
|
|
,set_frameName: function(Value) {
|
|
if(this._sprite.frames != null && Object.prototype.hasOwnProperty.call(this._sprite.frames.framesHash.h,Value)) {
|
|
if(this._curAnim != null) {
|
|
this._curAnim.stop();
|
|
this._curAnim = null;
|
|
}
|
|
var frame = this._sprite.frames.framesHash.h[Value];
|
|
if(frame != null) {
|
|
this.set_frameIndex(this._sprite.frames.frames.indexOf(frame));
|
|
}
|
|
}
|
|
return Value;
|
|
}
|
|
,get_name: function() {
|
|
var animName = null;
|
|
if(this._curAnim != null) {
|
|
animName = this._curAnim.name;
|
|
}
|
|
return animName;
|
|
}
|
|
,set_name: function(AnimName) {
|
|
this.play(AnimName);
|
|
return AnimName;
|
|
}
|
|
,get_curAnim: function() {
|
|
return this._curAnim;
|
|
}
|
|
,set_curAnim: function(Anim) {
|
|
if(Anim != this._curAnim) {
|
|
if(this._curAnim != null) {
|
|
this._curAnim.stop();
|
|
}
|
|
if(Anim != null) {
|
|
Anim.play();
|
|
}
|
|
}
|
|
return this._curAnim = Anim;
|
|
}
|
|
,get_paused: function() {
|
|
var paused = false;
|
|
if(this._curAnim != null) {
|
|
paused = this._curAnim.paused;
|
|
}
|
|
return paused;
|
|
}
|
|
,set_paused: function(Value) {
|
|
if(this._curAnim != null) {
|
|
if(Value) {
|
|
this._curAnim.pause();
|
|
} else {
|
|
this._curAnim.paused = false;
|
|
}
|
|
}
|
|
return Value;
|
|
}
|
|
,get_finished: function() {
|
|
var finished = true;
|
|
if(this._curAnim != null) {
|
|
finished = this._curAnim.finished;
|
|
}
|
|
return finished;
|
|
}
|
|
,set_finished: function(Value) {
|
|
if(Value && this._curAnim != null) {
|
|
this._curAnim.finish();
|
|
}
|
|
return Value;
|
|
}
|
|
,get_frames: function() {
|
|
return this._sprite.numFrames;
|
|
}
|
|
,getFrameIndex: function(Frame) {
|
|
return this._sprite.frames.frames.indexOf(Frame);
|
|
}
|
|
,__class__: flixel_animation_FlxAnimationController
|
|
,__properties__: {get_frames:"get_frames",set_finished:"set_finished",get_finished:"get_finished",set_paused:"set_paused",get_paused:"get_paused",set_name:"set_name",get_name:"get_name",set_frameName:"set_frameName",get_frameName:"get_frameName",set_frameIndex:"set_frameIndex",set_curAnim:"set_curAnim",get_curAnim:"get_curAnim"}
|
|
};
|
|
var flixel_animation_FlxPrerotatedAnimation = function(Parent,Baked) {
|
|
this.angle = 0;
|
|
flixel_animation_FlxBaseAnimation.call(this,Parent,"prerotated_animation");
|
|
this.baked = Baked;
|
|
this.rotations = Math.round(360 / Baked);
|
|
};
|
|
$hxClasses["flixel.animation.FlxPrerotatedAnimation"] = flixel_animation_FlxPrerotatedAnimation;
|
|
flixel_animation_FlxPrerotatedAnimation.__name__ = "flixel.animation.FlxPrerotatedAnimation";
|
|
flixel_animation_FlxPrerotatedAnimation.__super__ = flixel_animation_FlxBaseAnimation;
|
|
flixel_animation_FlxPrerotatedAnimation.prototype = $extend(flixel_animation_FlxBaseAnimation.prototype,{
|
|
rotations: null
|
|
,baked: null
|
|
,angle: null
|
|
,set_angle: function(Value) {
|
|
if(isNaN(Value)) {
|
|
throw haxe_Exception.thrown("angle must not be NaN");
|
|
}
|
|
var oldIndex = this.curIndex;
|
|
var angleHelper = Math.floor(Value % 360);
|
|
while(angleHelper < 0) angleHelper += 360;
|
|
var newIndex = Math.floor(angleHelper / this.baked + 0.5);
|
|
newIndex = newIndex % this.rotations | 0;
|
|
if(oldIndex != newIndex) {
|
|
this.set_curIndex(newIndex);
|
|
}
|
|
return this.angle = Value;
|
|
}
|
|
,set_curIndex: function(Value) {
|
|
this.curIndex = Value;
|
|
if(this.parent != null) {
|
|
this.parent.set_frameIndex(Value);
|
|
}
|
|
return Value;
|
|
}
|
|
,clone: function(Parent) {
|
|
return new flixel_animation_FlxPrerotatedAnimation(Parent,this.baked);
|
|
}
|
|
,__class__: flixel_animation_FlxPrerotatedAnimation
|
|
,__properties__: $extend(flixel_animation_FlxBaseAnimation.prototype.__properties__,{set_angle:"set_angle"})
|
|
});
|
|
var flixel_util_FlxPool_$flixel_$effects_$FlxFlicker = function(classObj) {
|
|
this._count = 0;
|
|
this._pool = [];
|
|
this._class = classObj;
|
|
};
|
|
$hxClasses["flixel.util.FlxPool_flixel_effects_FlxFlicker"] = flixel_util_FlxPool_$flixel_$effects_$FlxFlicker;
|
|
flixel_util_FlxPool_$flixel_$effects_$FlxFlicker.__name__ = "flixel.util.FlxPool_flixel_effects_FlxFlicker";
|
|
flixel_util_FlxPool_$flixel_$effects_$FlxFlicker.__interfaces__ = [flixel_util_IFlxPool];
|
|
flixel_util_FlxPool_$flixel_$effects_$FlxFlicker.prototype = {
|
|
_pool: null
|
|
,_class: null
|
|
,_count: null
|
|
,get: function() {
|
|
if(this._count == 0) {
|
|
return Type.createInstance(this._class,[]);
|
|
}
|
|
return this._pool[--this._count];
|
|
}
|
|
,put: function(obj) {
|
|
if(obj != null) {
|
|
var i = this._pool.indexOf(obj);
|
|
if(i == -1 || i >= this._count) {
|
|
obj.destroy();
|
|
this._pool[this._count++] = obj;
|
|
}
|
|
}
|
|
}
|
|
,putUnsafe: function(obj) {
|
|
if(obj != null) {
|
|
obj.destroy();
|
|
this._pool[this._count++] = obj;
|
|
}
|
|
}
|
|
,preAllocate: function(numObjects) {
|
|
while(numObjects-- > 0) this._pool[this._count++] = Type.createInstance(this._class,[]);
|
|
}
|
|
,clear: function() {
|
|
this._count = 0;
|
|
var oldPool = this._pool;
|
|
this._pool = [];
|
|
return oldPool;
|
|
}
|
|
,get_length: function() {
|
|
return this._count;
|
|
}
|
|
,__class__: flixel_util_FlxPool_$flixel_$effects_$FlxFlicker
|
|
,__properties__: {get_length:"get_length"}
|
|
};
|
|
var flixel_effects_FlxFlicker = function() {
|
|
};
|
|
$hxClasses["flixel.effects.FlxFlicker"] = flixel_effects_FlxFlicker;
|
|
flixel_effects_FlxFlicker.__name__ = "flixel.effects.FlxFlicker";
|
|
flixel_effects_FlxFlicker.__interfaces__ = [flixel_util_IFlxDestroyable];
|
|
flixel_effects_FlxFlicker.flicker = function(Object1,Duration,Interval,EndVisibility,ForceRestart,CompletionCallback,ProgressCallback) {
|
|
if(ForceRestart == null) {
|
|
ForceRestart = true;
|
|
}
|
|
if(EndVisibility == null) {
|
|
EndVisibility = true;
|
|
}
|
|
if(Interval == null) {
|
|
Interval = 0.04;
|
|
}
|
|
if(Duration == null) {
|
|
Duration = 1;
|
|
}
|
|
if(flixel_effects_FlxFlicker.isFlickering(Object1)) {
|
|
if(ForceRestart) {
|
|
flixel_effects_FlxFlicker.stopFlickering(Object1);
|
|
} else {
|
|
return flixel_effects_FlxFlicker._boundObjects.h[Object1.__id__];
|
|
}
|
|
}
|
|
if(Interval <= 0) {
|
|
Interval = flixel_FlxG.elapsed;
|
|
}
|
|
var flicker = flixel_effects_FlxFlicker._pool.get();
|
|
flicker.start(Object1,Duration,Interval,EndVisibility,CompletionCallback,ProgressCallback);
|
|
flixel_effects_FlxFlicker._boundObjects.set(Object1,flicker);
|
|
return flicker;
|
|
};
|
|
flixel_effects_FlxFlicker.isFlickering = function(Object1) {
|
|
return flixel_effects_FlxFlicker._boundObjects.h.__keys__[Object1.__id__] != null;
|
|
};
|
|
flixel_effects_FlxFlicker.stopFlickering = function(Object1) {
|
|
var boundFlicker = flixel_effects_FlxFlicker._boundObjects.h[Object1.__id__];
|
|
if(boundFlicker != null) {
|
|
boundFlicker.stop();
|
|
}
|
|
};
|
|
flixel_effects_FlxFlicker.prototype = {
|
|
object: null
|
|
,endVisibility: null
|
|
,timer: null
|
|
,completionCallback: null
|
|
,progressCallback: null
|
|
,duration: null
|
|
,interval: null
|
|
,destroy: function() {
|
|
this.object = null;
|
|
this.timer = null;
|
|
this.completionCallback = null;
|
|
this.progressCallback = null;
|
|
}
|
|
,start: function(Object1,Duration,Interval,EndVisibility,CompletionCallback,ProgressCallback) {
|
|
this.object = Object1;
|
|
this.duration = Duration;
|
|
this.interval = Interval;
|
|
this.completionCallback = CompletionCallback;
|
|
this.progressCallback = ProgressCallback;
|
|
this.endVisibility = EndVisibility;
|
|
this.timer = new flixel_util_FlxTimer().start(this.interval,$bind(this,this.flickerProgress),this.duration / this.interval | 0);
|
|
}
|
|
,stop: function() {
|
|
this.timer.cancel();
|
|
this.object.set_visible(true);
|
|
this.release();
|
|
}
|
|
,release: function() {
|
|
flixel_effects_FlxFlicker._boundObjects.remove(this.object);
|
|
flixel_effects_FlxFlicker._pool.put(this);
|
|
}
|
|
,flickerProgress: function(Timer) {
|
|
this.object.set_visible(!this.object.visible);
|
|
if(this.progressCallback != null) {
|
|
this.progressCallback(this);
|
|
}
|
|
if(Timer.loops > 0 && Timer.loops - Timer._loopsCounter == 0) {
|
|
this.object.set_visible(this.endVisibility);
|
|
if(this.completionCallback != null) {
|
|
this.completionCallback(this);
|
|
}
|
|
this.release();
|
|
}
|
|
}
|
|
,__class__: flixel_effects_FlxFlicker
|
|
};
|
|
var flixel_effects_postprocess_PostProcess = function(shader) {
|
|
};
|
|
$hxClasses["flixel.effects.postprocess.PostProcess"] = flixel_effects_postprocess_PostProcess;
|
|
flixel_effects_postprocess_PostProcess.__name__ = "flixel.effects.postprocess.PostProcess";
|
|
flixel_effects_postprocess_PostProcess.prototype = {
|
|
enable: function(to) {
|
|
}
|
|
,capture: function() {
|
|
}
|
|
,rebuild: function() {
|
|
}
|
|
,update: function(elapsed) {
|
|
}
|
|
,render: function(rect) {
|
|
}
|
|
,setUniform: function(uniform,value) {
|
|
}
|
|
,set_to: function(value) {
|
|
return null;
|
|
}
|
|
,__class__: flixel_effects_postprocess_PostProcess
|
|
,__properties__: {set_to:"set_to"}
|
|
};
|
|
var flixel_graphics_FlxGraphic = function(Key,Bitmap,Persist) {
|
|
this._destroyOnNoUse = true;
|
|
this._useCount = 0;
|
|
this.unique = false;
|
|
this.isDumped = false;
|
|
this.persist = false;
|
|
this.height = 0;
|
|
this.width = 0;
|
|
this.key = Key;
|
|
this.persist = Persist != null ? Persist : flixel_graphics_FlxGraphic.defaultPersist;
|
|
this.frameCollections = new haxe_ds_EnumValueMap();
|
|
this.frameCollectionTypes = [];
|
|
this.set_bitmap(Bitmap);
|
|
this.shader = new flixel_graphics_tile_FlxGraphicsShader();
|
|
};
|
|
$hxClasses["flixel.graphics.FlxGraphic"] = flixel_graphics_FlxGraphic;
|
|
flixel_graphics_FlxGraphic.__name__ = "flixel.graphics.FlxGraphic";
|
|
flixel_graphics_FlxGraphic.__interfaces__ = [flixel_util_IFlxDestroyable];
|
|
flixel_graphics_FlxGraphic.fromAssetKey = function(Source,Unique,Key,Cache1) {
|
|
if(Cache1 == null) {
|
|
Cache1 = true;
|
|
}
|
|
if(Unique == null) {
|
|
Unique = false;
|
|
}
|
|
var bitmap = null;
|
|
if(!Cache1) {
|
|
bitmap = openfl_utils_Assets.exists(Source) ? openfl_utils_Assets.getBitmapData(Source,false) : null;
|
|
if(bitmap == null) {
|
|
return null;
|
|
}
|
|
return flixel_graphics_FlxGraphic.createGraphic(bitmap,Key,Unique,Cache1);
|
|
}
|
|
var key = flixel_FlxG.bitmap.generateKey(Source,Key,Unique);
|
|
var graphic = flixel_FlxG.bitmap._cache.h[key];
|
|
if(graphic != null) {
|
|
return graphic;
|
|
}
|
|
bitmap = openfl_utils_Assets.exists(Source) ? openfl_utils_Assets.getBitmapData(Source,false) : null;
|
|
if(bitmap == null) {
|
|
return null;
|
|
}
|
|
graphic = flixel_graphics_FlxGraphic.createGraphic(bitmap,key,Unique);
|
|
graphic.assetsKey = Source;
|
|
return graphic;
|
|
};
|
|
flixel_graphics_FlxGraphic.fromClass = function(Source,Unique,Key,Cache1) {
|
|
if(Cache1 == null) {
|
|
Cache1 = true;
|
|
}
|
|
if(Unique == null) {
|
|
Unique = false;
|
|
}
|
|
var bitmap = null;
|
|
if(!Cache1) {
|
|
bitmap = Type.createInstance(Source,[0,0]);
|
|
return flixel_graphics_FlxGraphic.createGraphic(bitmap,Key,Unique,Cache1);
|
|
}
|
|
var _this = flixel_FlxG.bitmap;
|
|
var key = Source.__name__;
|
|
key = flixel_FlxG.bitmap.generateKey(key,Key,Unique);
|
|
var graphic = flixel_FlxG.bitmap._cache.h[key];
|
|
if(graphic != null) {
|
|
return graphic;
|
|
}
|
|
bitmap = Type.createInstance(Source,[0,0]);
|
|
graphic = flixel_graphics_FlxGraphic.createGraphic(bitmap,key,Unique);
|
|
graphic.assetsClass = Source;
|
|
return graphic;
|
|
};
|
|
flixel_graphics_FlxGraphic.fromBitmapData = function(Source,Unique,Key,Cache1) {
|
|
if(Cache1 == null) {
|
|
Cache1 = true;
|
|
}
|
|
if(Unique == null) {
|
|
Unique = false;
|
|
}
|
|
if(!Cache1) {
|
|
return flixel_graphics_FlxGraphic.createGraphic(Source,Key,Unique,Cache1);
|
|
}
|
|
var key = flixel_FlxG.bitmap.findKeyForBitmap(Source);
|
|
var assetKey = null;
|
|
var assetClass = null;
|
|
var graphic = null;
|
|
if(key != null) {
|
|
graphic = flixel_FlxG.bitmap._cache.h[key];
|
|
assetKey = graphic.assetsKey;
|
|
assetClass = graphic.assetsClass;
|
|
}
|
|
key = flixel_FlxG.bitmap.generateKey(key,Key,Unique);
|
|
graphic = flixel_FlxG.bitmap._cache.h[key];
|
|
if(graphic != null) {
|
|
return graphic;
|
|
}
|
|
graphic = flixel_graphics_FlxGraphic.createGraphic(Source,key,Unique);
|
|
graphic.assetsKey = assetKey;
|
|
graphic.assetsClass = assetClass;
|
|
return graphic;
|
|
};
|
|
flixel_graphics_FlxGraphic.fromFrame = function(Source,Unique,Key,Cache1) {
|
|
if(Cache1 == null) {
|
|
Cache1 = true;
|
|
}
|
|
if(Unique == null) {
|
|
Unique = false;
|
|
}
|
|
var key = Source.name;
|
|
if(key == null) {
|
|
var _this = Source.frame;
|
|
var value = _this.x;
|
|
var _this1 = flixel_util_LabelValuePair._pool.get();
|
|
_this1.label = "x";
|
|
_this1.value = value;
|
|
var value = _this.y;
|
|
var _this2 = flixel_util_LabelValuePair._pool.get();
|
|
_this2.label = "y";
|
|
_this2.value = value;
|
|
var value = _this.width;
|
|
var _this3 = flixel_util_LabelValuePair._pool.get();
|
|
_this3.label = "w";
|
|
_this3.value = value;
|
|
var value = _this.height;
|
|
var _this = flixel_util_LabelValuePair._pool.get();
|
|
_this.label = "h";
|
|
_this.value = value;
|
|
key = flixel_util_FlxStringUtil.getDebugString([_this1,_this2,_this3,_this]);
|
|
}
|
|
key = Source.parent.key + ":" + key;
|
|
key = flixel_FlxG.bitmap.generateKey(key,Key,Unique);
|
|
var graphic = flixel_FlxG.bitmap._cache.h[key];
|
|
if(graphic != null) {
|
|
return graphic;
|
|
}
|
|
var bitmap = Source.paint();
|
|
graphic = flixel_graphics_FlxGraphic.createGraphic(bitmap,key,Unique,Cache1);
|
|
var image = flixel_graphics_frames_FlxImageFrame.fromGraphic(graphic);
|
|
image.frames[0].name = Source.name;
|
|
return graphic;
|
|
};
|
|
flixel_graphics_FlxGraphic.fromFrames = function(Source,Unique,Key) {
|
|
if(Unique == null) {
|
|
Unique = false;
|
|
}
|
|
return flixel_graphics_FlxGraphic.fromGraphic(Source.parent,Unique,Key);
|
|
};
|
|
flixel_graphics_FlxGraphic.fromGraphic = function(Source,Unique,Key) {
|
|
if(Unique == null) {
|
|
Unique = false;
|
|
}
|
|
if(!Unique) {
|
|
return Source;
|
|
}
|
|
var key = flixel_FlxG.bitmap.generateKey(Source.key,Key,Unique);
|
|
var graphic = flixel_graphics_FlxGraphic.createGraphic(Source.bitmap,key,Unique);
|
|
graphic.unique = Unique;
|
|
graphic.assetsClass = Source.assetsClass;
|
|
graphic.assetsKey = Source.assetsKey;
|
|
flixel_FlxG.bitmap._cache.h[graphic.key] = graphic;
|
|
return graphic;
|
|
};
|
|
flixel_graphics_FlxGraphic.fromRectangle = function(Width,Height,Color,Unique,Key) {
|
|
if(Unique == null) {
|
|
Unique = false;
|
|
}
|
|
var systemKey = Width + "x" + Height + ":" + Color;
|
|
var key = flixel_FlxG.bitmap.generateKey(systemKey,Key,Unique);
|
|
var graphic = flixel_FlxG.bitmap._cache.h[key];
|
|
if(graphic != null) {
|
|
return graphic;
|
|
}
|
|
var bitmap = new openfl_display_BitmapData(Width,Height,true,Color);
|
|
return flixel_graphics_FlxGraphic.createGraphic(bitmap,key);
|
|
};
|
|
flixel_graphics_FlxGraphic.getBitmap = function(Bitmap,Unique) {
|
|
if(Unique == null) {
|
|
Unique = false;
|
|
}
|
|
if(Unique) {
|
|
return Bitmap.clone();
|
|
} else {
|
|
return Bitmap;
|
|
}
|
|
};
|
|
flixel_graphics_FlxGraphic.createGraphic = function(Bitmap,Key,Unique,Cache1) {
|
|
if(Cache1 == null) {
|
|
Cache1 = true;
|
|
}
|
|
if(Unique == null) {
|
|
Unique = false;
|
|
}
|
|
var Unique1 = Unique;
|
|
if(Unique1 == null) {
|
|
Unique1 = false;
|
|
}
|
|
if(Unique1) {
|
|
Bitmap = Bitmap.clone();
|
|
}
|
|
var graphic = null;
|
|
if(Cache1) {
|
|
graphic = new flixel_graphics_FlxGraphic(Key,Bitmap);
|
|
graphic.unique = Unique;
|
|
flixel_FlxG.bitmap._cache.h[graphic.key] = graphic;
|
|
} else {
|
|
graphic = new flixel_graphics_FlxGraphic(null,Bitmap);
|
|
}
|
|
return graphic;
|
|
};
|
|
flixel_graphics_FlxGraphic.prototype = {
|
|
key: null
|
|
,bitmap: null
|
|
,width: null
|
|
,height: null
|
|
,assetsKey: null
|
|
,assetsClass: null
|
|
,persist: null
|
|
,isDumped: null
|
|
,shader: null
|
|
,frameCollections: null
|
|
,frameCollectionTypes: null
|
|
,unique: null
|
|
,_imageFrame: null
|
|
,_useCount: null
|
|
,_destroyOnNoUse: null
|
|
,dump: function() {
|
|
}
|
|
,undump: function() {
|
|
var newBitmap = this.getBitmapFromSystem();
|
|
if(newBitmap != null) {
|
|
this.set_bitmap(newBitmap);
|
|
}
|
|
this.isDumped = false;
|
|
}
|
|
,onContext: function() {
|
|
if(this.isDumped) {
|
|
this.undump();
|
|
this.dump();
|
|
}
|
|
}
|
|
,onAssetsReload: function() {
|
|
if(!(this.assetsClass != null || this.assetsKey != null)) {
|
|
return;
|
|
}
|
|
var dumped = this.isDumped;
|
|
this.undump();
|
|
if(dumped) {
|
|
this.dump();
|
|
}
|
|
}
|
|
,destroy: function() {
|
|
this.set_bitmap(flixel_util_FlxDestroyUtil.dispose(this.bitmap));
|
|
this.shader = null;
|
|
this.key = null;
|
|
this.assetsKey = null;
|
|
this.assetsClass = null;
|
|
this._imageFrame = null;
|
|
if(this.frameCollections == null) {
|
|
return;
|
|
}
|
|
var collections;
|
|
var _g = 0;
|
|
var _g1 = this.frameCollectionTypes;
|
|
while(_g < _g1.length) {
|
|
var collectionType = _g1[_g];
|
|
++_g;
|
|
collections = this.frameCollections.get(collectionType);
|
|
flixel_util_FlxDestroyUtil.destroyArray(collections);
|
|
}
|
|
this.frameCollections = null;
|
|
this.frameCollectionTypes = null;
|
|
}
|
|
,addFrameCollection: function(collection) {
|
|
if(collection.type != null) {
|
|
var type = collection.type;
|
|
var collections = this.frameCollections.get(type);
|
|
if(collections == null) {
|
|
collections = [];
|
|
this.frameCollections.set(type,collections);
|
|
}
|
|
var collections1 = collections;
|
|
collections1.push(collection);
|
|
}
|
|
}
|
|
,getFramesCollections: function(type) {
|
|
var collections = this.frameCollections.get(type);
|
|
if(collections == null) {
|
|
collections = [];
|
|
this.frameCollections.set(type,collections);
|
|
}
|
|
return collections;
|
|
}
|
|
,getEmptyFrame: function(size) {
|
|
var frame = new flixel_graphics_frames_FlxFrame(this);
|
|
frame.type = 2;
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = 0;
|
|
var Height = 0;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
frame.set_frame(rect);
|
|
var _this = frame.sourceSize;
|
|
_this.set_x(size.x);
|
|
_this.set_y(size.y);
|
|
if(size._weak) {
|
|
size.put();
|
|
}
|
|
return frame;
|
|
}
|
|
,getBitmapFromSystem: function() {
|
|
var newBitmap = null;
|
|
if(this.assetsClass != null) {
|
|
newBitmap = Type.createInstance(this.assetsClass,[0,0]);
|
|
} else if(this.assetsKey != null) {
|
|
var id = this.assetsKey;
|
|
newBitmap = openfl_utils_Assets.exists(id) ? openfl_utils_Assets.getBitmapData(id,false) : null;
|
|
}
|
|
if(newBitmap != null) {
|
|
var Unique = this.unique;
|
|
if(Unique == null) {
|
|
Unique = false;
|
|
}
|
|
if(Unique) {
|
|
return newBitmap.clone();
|
|
} else {
|
|
return newBitmap;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
,get_canBeDumped: function() {
|
|
if(this.assetsClass == null) {
|
|
return this.assetsKey != null;
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
,get_useCount: function() {
|
|
return this._useCount;
|
|
}
|
|
,set_useCount: function(Value) {
|
|
if(Value <= 0 && this._destroyOnNoUse && !this.persist) {
|
|
flixel_FlxG.bitmap.remove(this);
|
|
}
|
|
return this._useCount = Value;
|
|
}
|
|
,get_destroyOnNoUse: function() {
|
|
return this._destroyOnNoUse;
|
|
}
|
|
,set_destroyOnNoUse: function(Value) {
|
|
if(Value && this._useCount <= 0 && this.key != null && !this.persist) {
|
|
flixel_FlxG.bitmap.remove(this);
|
|
}
|
|
return this._destroyOnNoUse = Value;
|
|
}
|
|
,get_imageFrame: function() {
|
|
if(this._imageFrame == null) {
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = this.bitmap.width;
|
|
var Height = this.bitmap.height;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
_this.x = X1;
|
|
_this.y = Y1;
|
|
_this.width = Width1;
|
|
_this.height = Height1;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
this._imageFrame = flixel_graphics_frames_FlxImageFrame.fromRectangle(this,rect);
|
|
}
|
|
return this._imageFrame;
|
|
}
|
|
,get_atlasFrames: function() {
|
|
return flixel_graphics_frames_FlxAtlasFrames.findFrame(this,null);
|
|
}
|
|
,set_bitmap: function(value) {
|
|
if(value != null) {
|
|
this.bitmap = value;
|
|
this.width = this.bitmap.width;
|
|
this.height = this.bitmap.height;
|
|
}
|
|
return value;
|
|
}
|
|
,__class__: flixel_graphics_FlxGraphic
|
|
,__properties__: {get_atlasFrames:"get_atlasFrames",get_imageFrame:"get_imageFrame",set_useCount:"set_useCount",get_useCount:"get_useCount",get_canBeDumped:"get_canBeDumped",set_destroyOnNoUse:"set_destroyOnNoUse",get_destroyOnNoUse:"get_destroyOnNoUse",set_bitmap:"set_bitmap"}
|
|
};
|
|
var flixel_graphics_atlas_FlxAtlas = function(name,powerOfTwo,border,rotate,minSize,maxSize) {
|
|
if(rotate == null) {
|
|
rotate = false;
|
|
}
|
|
if(border == null) {
|
|
border = 1;
|
|
}
|
|
if(powerOfTwo == null) {
|
|
powerOfTwo = false;
|
|
}
|
|
this.powerOfTwo = false;
|
|
this.allowRotation = false;
|
|
this.maxHeight = 1024;
|
|
this.maxWidth = 1024;
|
|
this.minHeight = 128;
|
|
this.minWidth = 128;
|
|
this.border = 1;
|
|
this.persist = false;
|
|
this.nodes = new haxe_ds_StringMap();
|
|
this.name = name;
|
|
this.set_powerOfTwo(powerOfTwo);
|
|
this.border = border;
|
|
if(minSize == null) {
|
|
minSize = flixel_graphics_atlas_FlxAtlas.defaultMinSize;
|
|
}
|
|
if(maxSize == null) {
|
|
maxSize = flixel_graphics_atlas_FlxAtlas.defaultMaxSize;
|
|
}
|
|
this.set_minWidth(minSize.x | 0);
|
|
this.set_minHeight(minSize.y | 0);
|
|
this.set_maxWidth(maxSize.x > minSize.x ? maxSize.x | 0 : this.minWidth);
|
|
this.set_maxHeight(maxSize.y > minSize.x ? maxSize.y | 0 : this.minHeight);
|
|
this.allowRotation = rotate;
|
|
this.initRoot();
|
|
flixel_FlxG.signals.preStateCreate.add($bind(this,this.onClear));
|
|
};
|
|
$hxClasses["flixel.graphics.atlas.FlxAtlas"] = flixel_graphics_atlas_FlxAtlas;
|
|
flixel_graphics_atlas_FlxAtlas.__name__ = "flixel.graphics.atlas.FlxAtlas";
|
|
flixel_graphics_atlas_FlxAtlas.__interfaces__ = [flixel_util_IFlxDestroyable];
|
|
flixel_graphics_atlas_FlxAtlas.prototype = {
|
|
root: null
|
|
,name: null
|
|
,nodes: null
|
|
,bitmapData: null
|
|
,persist: null
|
|
,border: null
|
|
,width: null
|
|
,height: null
|
|
,minWidth: null
|
|
,minHeight: null
|
|
,maxWidth: null
|
|
,maxHeight: null
|
|
,allowRotation: null
|
|
,powerOfTwo: null
|
|
,_graphic: null
|
|
,_tempStorage: null
|
|
,initRoot: function() {
|
|
var rootWidth = this.minWidth;
|
|
var rootHeight = this.minHeight;
|
|
if(this.powerOfTwo) {
|
|
rootWidth = this.getNextPowerOfTwo(rootWidth);
|
|
rootHeight = this.getNextPowerOfTwo(rootHeight);
|
|
}
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = rootWidth;
|
|
var Height = rootHeight;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
_this.x = X1;
|
|
_this.y = Y1;
|
|
_this.width = Width1;
|
|
_this.height = Height1;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
this.root = new flixel_graphics_atlas_FlxNode(rect,this);
|
|
}
|
|
,addNode: function(Graphic,Key) {
|
|
var key = flixel_system_FlxAssets.resolveKey(Graphic,Key);
|
|
if(key == null) {
|
|
return null;
|
|
}
|
|
if(this.hasNodeWithName(key)) {
|
|
return this.nodes.h[key];
|
|
}
|
|
var data = flixel_system_FlxAssets.resolveBitmapData(Graphic);
|
|
if(data == null) {
|
|
return null;
|
|
}
|
|
if(this.root.left == null) {
|
|
return this.insertFirstNodeInRoot(data,key);
|
|
}
|
|
if(this.root.right == null) {
|
|
return this.expand(data,key);
|
|
}
|
|
var inserted = this.tryInsert(data,key);
|
|
if(inserted != null) {
|
|
return inserted;
|
|
}
|
|
this.wrapRoot();
|
|
return this.expand(data,key);
|
|
}
|
|
,wrapRoot: function() {
|
|
var temp = this.root;
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = temp.rect.width | 0;
|
|
var Height = temp.rect.height | 0;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
_this.x = X1;
|
|
_this.y = Y1;
|
|
_this.width = Width1;
|
|
_this.height = Height1;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
this.root = new flixel_graphics_atlas_FlxNode(rect,this);
|
|
this.root.left = temp;
|
|
}
|
|
,tryInsert: function(data,key) {
|
|
var insertWidth = data.width + this.border;
|
|
var insertHeight = data.height + this.border;
|
|
var rotateNode = false;
|
|
var nodeToInsert = this.findNodeToInsert(insertWidth,insertHeight);
|
|
if(this.allowRotation) {
|
|
var nodeToInsertWithRotation = this.findNodeToInsert(insertHeight,insertWidth);
|
|
if(nodeToInsertWithRotation != null) {
|
|
var nodeWithRotationArea = (nodeToInsertWithRotation.rect.width | 0) * (nodeToInsertWithRotation.rect.height | 0);
|
|
if(nodeToInsert == null || nodeToInsert != null && (nodeToInsert.rect.width | 0) * (nodeToInsert.rect.height | 0) > nodeWithRotationArea) {
|
|
nodeToInsert = nodeToInsertWithRotation;
|
|
rotateNode = true;
|
|
var temp = insertWidth;
|
|
insertWidth = insertHeight;
|
|
insertHeight = temp;
|
|
}
|
|
}
|
|
}
|
|
if(nodeToInsert != null) {
|
|
var horizontally = this.needToDivideHorizontally(nodeToInsert,insertWidth,insertHeight);
|
|
return this.divideNode(nodeToInsert,insertWidth,insertHeight,horizontally,data,key,rotateNode);
|
|
}
|
|
return null;
|
|
}
|
|
,needToDivideHorizontally: function(nodeToDivide,insertWidth,insertHeight) {
|
|
var dw = (nodeToDivide.rect.width | 0) - insertWidth;
|
|
var dh = (nodeToDivide.rect.height | 0) - insertHeight;
|
|
return dw > dh;
|
|
}
|
|
,divideNode: function(nodeToDivide,insertWidth,insertHeight,divideHorizontally,firstGrandChildData,firstGrandChildKey,firstGrandChildRotated) {
|
|
if(firstGrandChildRotated == null) {
|
|
firstGrandChildRotated = false;
|
|
}
|
|
if(nodeToDivide != null) {
|
|
var firstChild = null;
|
|
var secondChild = null;
|
|
var firstGrandChild = null;
|
|
var secondGrandChild = null;
|
|
var firstGrandChildFilled = firstGrandChildKey != null;
|
|
if(divideHorizontally) {
|
|
var X = nodeToDivide.rect.x | 0;
|
|
var Y = nodeToDivide.rect.y | 0;
|
|
var Width = insertWidth;
|
|
var Height = nodeToDivide.rect.height | 0;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
_this.x = X1;
|
|
_this.y = Y1;
|
|
_this.width = Width1;
|
|
_this.height = Height1;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
firstChild = new flixel_graphics_atlas_FlxNode(rect,this);
|
|
if((nodeToDivide.rect.width | 0) - insertWidth > 0) {
|
|
var X = (nodeToDivide.rect.x | 0) + insertWidth;
|
|
var Y = nodeToDivide.rect.y | 0;
|
|
var Width = (nodeToDivide.rect.width | 0) - insertWidth;
|
|
var Height = nodeToDivide.rect.height | 0;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
_this.x = X1;
|
|
_this.y = Y1;
|
|
_this.width = Width1;
|
|
_this.height = Height1;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
secondChild = new flixel_graphics_atlas_FlxNode(rect,this);
|
|
}
|
|
var X = firstChild.rect.x | 0;
|
|
var Y = firstChild.rect.y | 0;
|
|
var Width = insertWidth;
|
|
var Height = insertHeight;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
_this.x = X1;
|
|
_this.y = Y1;
|
|
_this.width = Width1;
|
|
_this.height = Height1;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
firstGrandChild = new flixel_graphics_atlas_FlxNode(rect,this,firstGrandChildFilled,firstGrandChildKey,firstGrandChildRotated);
|
|
if((firstChild.rect.height | 0) - insertHeight > 0) {
|
|
var X = firstChild.rect.x | 0;
|
|
var Y = (firstChild.rect.y | 0) + insertHeight;
|
|
var Width = insertWidth;
|
|
var Height = (firstChild.rect.height | 0) - insertHeight;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
_this.x = X1;
|
|
_this.y = Y1;
|
|
_this.width = Width1;
|
|
_this.height = Height1;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
secondGrandChild = new flixel_graphics_atlas_FlxNode(rect,this);
|
|
}
|
|
} else {
|
|
var X = nodeToDivide.rect.x | 0;
|
|
var Y = nodeToDivide.rect.y | 0;
|
|
var Width = nodeToDivide.rect.width | 0;
|
|
var Height = insertHeight;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
_this.x = X1;
|
|
_this.y = Y1;
|
|
_this.width = Width1;
|
|
_this.height = Height1;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
firstChild = new flixel_graphics_atlas_FlxNode(rect,this);
|
|
if((nodeToDivide.rect.height | 0) - insertHeight > 0) {
|
|
var X = nodeToDivide.rect.x | 0;
|
|
var Y = (nodeToDivide.rect.y | 0) + insertHeight;
|
|
var Width = nodeToDivide.rect.width | 0;
|
|
var Height = (nodeToDivide.rect.height | 0) - insertHeight;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
_this.x = X1;
|
|
_this.y = Y1;
|
|
_this.width = Width1;
|
|
_this.height = Height1;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
secondChild = new flixel_graphics_atlas_FlxNode(rect,this);
|
|
}
|
|
var X = firstChild.rect.x | 0;
|
|
var Y = firstChild.rect.y | 0;
|
|
var Width = insertWidth;
|
|
var Height = insertHeight;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
_this.x = X1;
|
|
_this.y = Y1;
|
|
_this.width = Width1;
|
|
_this.height = Height1;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
firstGrandChild = new flixel_graphics_atlas_FlxNode(rect,this,firstGrandChildFilled,firstGrandChildKey,firstGrandChildRotated);
|
|
if((firstChild.rect.width | 0) - insertWidth > 0) {
|
|
var X = (firstChild.rect.x | 0) + insertWidth;
|
|
var Y = firstChild.rect.y | 0;
|
|
var Width = (firstChild.rect.width | 0) - insertWidth;
|
|
var Height = insertHeight;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
_this.x = X1;
|
|
_this.y = Y1;
|
|
_this.width = Width1;
|
|
_this.height = Height1;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
secondGrandChild = new flixel_graphics_atlas_FlxNode(rect,this);
|
|
}
|
|
}
|
|
firstChild.left = firstGrandChild;
|
|
firstChild.right = secondGrandChild;
|
|
nodeToDivide.left = firstChild;
|
|
nodeToDivide.right = secondChild;
|
|
if(firstGrandChildKey != null && firstGrandChildData != null) {
|
|
this.expandBitmapData();
|
|
if(firstGrandChildRotated) {
|
|
flixel_graphics_atlas_FlxAtlas.matrix.identity();
|
|
flixel_graphics_atlas_FlxAtlas.matrix.rotate(Math.PI / 2);
|
|
flixel_graphics_atlas_FlxAtlas.matrix.translate(firstGrandChildData.height + (firstGrandChild.rect.x | 0),firstGrandChild.rect.y | 0);
|
|
this.bitmapData.draw(firstGrandChildData,flixel_graphics_atlas_FlxAtlas.matrix);
|
|
} else {
|
|
flixel_graphics_atlas_FlxAtlas.point.setTo(firstGrandChild.rect.x | 0,firstGrandChild.rect.y | 0);
|
|
this.bitmapData.copyPixels(firstGrandChildData,firstGrandChildData.rect,flixel_graphics_atlas_FlxAtlas.point);
|
|
}
|
|
this.addNodeToAtlasFrames(firstGrandChild);
|
|
this.nodes.h[firstGrandChildKey] = firstGrandChild;
|
|
}
|
|
return firstGrandChild;
|
|
}
|
|
return null;
|
|
}
|
|
,insertFirstNodeInRoot: function(data,key) {
|
|
if(this.root.left == null) {
|
|
var insertWidth = data.width + this.border;
|
|
var insertHeight = data.height + this.border;
|
|
var rootWidth = insertWidth;
|
|
var rootHeight = insertHeight;
|
|
if(this.powerOfTwo) {
|
|
rootWidth = this.getNextPowerOfTwo(rootWidth);
|
|
rootHeight = this.getNextPowerOfTwo(rootHeight);
|
|
}
|
|
if(this.minWidth > rootWidth) {
|
|
rootWidth = this.minWidth;
|
|
}
|
|
if(this.minHeight > rootHeight) {
|
|
rootHeight = this.minHeight;
|
|
}
|
|
if(this.powerOfTwo) {
|
|
rootWidth = this.getNextPowerOfTwo(rootWidth);
|
|
rootHeight = this.getNextPowerOfTwo(rootHeight);
|
|
}
|
|
if(this.maxWidth > 0 && rootWidth > this.maxWidth || this.maxHeight > 0 && rootHeight > this.maxHeight) {
|
|
return null;
|
|
}
|
|
this.root.set_width(rootWidth);
|
|
this.root.set_height(rootHeight);
|
|
var horizontally = this.needToDivideHorizontally(this.root,insertWidth,insertHeight);
|
|
return this.divideNode(this.root,insertWidth,insertHeight,horizontally,data,key);
|
|
}
|
|
return null;
|
|
}
|
|
,expand: function(data,key) {
|
|
if(this.root.right == null) {
|
|
var insertWidth = data.width + this.border;
|
|
var insertHeight = data.height + this.border;
|
|
var addRightWidth = (this.root.rect.width | 0) + insertWidth;
|
|
var addRightHeight = Math.max(this.root.rect.height | 0,insertHeight) | 0;
|
|
var addBottomWidth = Math.max(this.root.rect.width | 0,insertWidth) | 0;
|
|
var addBottomHeight = (this.root.rect.height | 0) + insertHeight;
|
|
var addRightWidthRotate = addRightWidth;
|
|
var addRightHeightRotate = addRightHeight;
|
|
var addBottomWidthRotate = addBottomWidth;
|
|
var addBottomHeightRotate = addBottomHeight;
|
|
if(this.allowRotation) {
|
|
addRightWidthRotate = (this.root.rect.width | 0) + insertHeight;
|
|
addRightHeightRotate = Math.max(this.root.rect.height | 0,insertWidth) | 0;
|
|
addBottomWidthRotate = Math.max(this.root.rect.width | 0,insertHeight) | 0;
|
|
addBottomHeightRotate = (this.root.rect.height | 0) + insertWidth;
|
|
}
|
|
if(this.powerOfTwo) {
|
|
addRightWidth = this.getNextPowerOfTwo(addRightWidth);
|
|
addRightWidthRotate = addRightWidth;
|
|
addRightHeight = this.getNextPowerOfTwo(addRightHeight);
|
|
addRightHeightRotate = addRightHeight;
|
|
addBottomWidth = this.getNextPowerOfTwo(addBottomWidth);
|
|
addBottomWidthRotate = addBottomWidth;
|
|
addBottomHeight = this.getNextPowerOfTwo(addBottomHeight);
|
|
addBottomHeightRotate = addBottomHeight;
|
|
if(this.allowRotation) {
|
|
addRightWidthRotate = this.getNextPowerOfTwo(addRightWidthRotate);
|
|
addRightHeightRotate = this.getNextPowerOfTwo(addRightHeightRotate);
|
|
addBottomWidthRotate = this.getNextPowerOfTwo(addBottomWidthRotate);
|
|
addBottomHeightRotate = this.getNextPowerOfTwo(addBottomHeightRotate);
|
|
}
|
|
}
|
|
var canExpandRight = true;
|
|
var canExpandBottom = true;
|
|
var canExpandRightRotate = this.allowRotation;
|
|
var canExpandBottomRotate = this.allowRotation;
|
|
if(this.maxWidth > 0 && addRightWidth > this.maxWidth || this.maxHeight > 0 && addRightHeight > this.maxHeight) {
|
|
canExpandRight = false;
|
|
}
|
|
if(this.maxWidth > 0 && addBottomWidth > this.maxWidth || this.maxHeight > 0 && addBottomHeight > this.maxHeight) {
|
|
canExpandBottom = false;
|
|
}
|
|
if(this.maxWidth > 0 && addRightWidthRotate > this.maxWidth || this.maxHeight > 0 && addRightHeightRotate > this.maxHeight) {
|
|
canExpandRightRotate = false;
|
|
}
|
|
if(this.maxWidth > 0 && addBottomWidthRotate > this.maxWidth || this.maxHeight > 0 && addBottomHeightRotate > this.maxHeight) {
|
|
canExpandBottomRotate = false;
|
|
}
|
|
if(!canExpandRight && !canExpandBottom && !canExpandRightRotate && !canExpandBottomRotate) {
|
|
return null;
|
|
}
|
|
var addRightArea = addRightWidth * addRightHeight;
|
|
var addBottomArea = addBottomWidth * addBottomHeight;
|
|
var addRightAreaRotate = addRightWidthRotate * addRightHeightRotate;
|
|
var addBottomAreaRotate = addBottomWidthRotate * addBottomHeightRotate;
|
|
var rotateRight = false;
|
|
var rotateBottom = false;
|
|
var rotateNode = false;
|
|
if(canExpandRight && canExpandRightRotate && addRightArea > addRightAreaRotate || !canExpandRight && canExpandRightRotate) {
|
|
addRightArea = addBottomAreaRotate;
|
|
addRightWidth = addRightWidthRotate;
|
|
addRightHeight = addRightHeightRotate;
|
|
canExpandRight = true;
|
|
rotateRight = true;
|
|
}
|
|
if(canExpandBottom && canExpandBottomRotate && addBottomArea > addBottomAreaRotate || !canExpandBottom && canExpandBottomRotate) {
|
|
addBottomArea = addBottomAreaRotate;
|
|
addBottomWidth = addBottomWidthRotate;
|
|
addBottomHeight = addBottomHeightRotate;
|
|
canExpandBottom = true;
|
|
rotateBottom = true;
|
|
}
|
|
if(!canExpandRight && canExpandBottom) {
|
|
addRightArea = addBottomArea + 1;
|
|
rotateNode = rotateRight;
|
|
} else if(canExpandRight && !canExpandBottom) {
|
|
addBottomArea = addRightArea + 1;
|
|
rotateNode = rotateBottom;
|
|
}
|
|
var dataNode = null;
|
|
var temp = this.root;
|
|
var insertNodeWidth = insertWidth;
|
|
var insertNodeHeight = insertHeight;
|
|
if(addBottomArea >= addRightArea) {
|
|
if(rotateRight) {
|
|
insertNodeWidth = insertHeight;
|
|
insertNodeHeight = insertWidth;
|
|
}
|
|
this.expandRoot((temp.rect.width | 0) + insertNodeWidth,Math.max(temp.rect.height | 0,insertNodeHeight),true);
|
|
dataNode = this.divideNode(this.root.right,insertNodeWidth,insertNodeHeight,true,data,key,rotateRight);
|
|
this.expandRoot(addRightWidth,addRightHeight,false,true);
|
|
} else {
|
|
if(rotateBottom) {
|
|
insertNodeWidth = insertHeight;
|
|
insertNodeHeight = insertWidth;
|
|
}
|
|
this.expandRoot(Math.max(temp.rect.width | 0,insertNodeWidth),(temp.rect.height | 0) + insertNodeHeight,false);
|
|
dataNode = this.divideNode(this.root.right,insertNodeWidth,insertNodeHeight,true,data,key,rotateBottom);
|
|
this.expandRoot(addBottomWidth,addBottomHeight,false,true);
|
|
}
|
|
return dataNode;
|
|
}
|
|
return null;
|
|
}
|
|
,expandRoot: function(newWidth,newHeight,divideHorizontally,decideHowToDivide) {
|
|
if(decideHowToDivide == null) {
|
|
decideHowToDivide = false;
|
|
}
|
|
if(newWidth > (this.root.rect.width | 0) || newHeight > (this.root.rect.height | 0)) {
|
|
var temp = this.root;
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = newWidth;
|
|
var Height = newHeight;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
_this.x = X1;
|
|
_this.y = Y1;
|
|
_this.width = Width1;
|
|
_this.height = Height1;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
this.root = new flixel_graphics_atlas_FlxNode(rect,this);
|
|
if(decideHowToDivide) {
|
|
divideHorizontally = this.needToDivideHorizontally(this.root,temp.rect.width | 0,temp.rect.height | 0);
|
|
}
|
|
this.divideNode(this.root,temp.rect.width | 0,temp.rect.height | 0,divideHorizontally);
|
|
this.root.left.left = temp;
|
|
}
|
|
}
|
|
,expandBitmapData: function() {
|
|
if(this.bitmapData != null && this.bitmapData.width == (this.root.rect.width | 0) && this.bitmapData.height == (this.root.rect.height | 0)) {
|
|
return;
|
|
}
|
|
var newBitmapData = new openfl_display_BitmapData(this.root.rect.width | 0,this.root.rect.height | 0,true,0);
|
|
if(this.bitmapData != null) {
|
|
flixel_graphics_atlas_FlxAtlas.point.setTo(0,0);
|
|
newBitmapData.copyPixels(this.bitmapData,this.bitmapData.rect,flixel_graphics_atlas_FlxAtlas.point);
|
|
}
|
|
this.set_bitmapData(flixel_util_FlxDestroyUtil.dispose(this.bitmapData));
|
|
this.set_bitmapData(newBitmapData);
|
|
}
|
|
,getNextPowerOfTwo: function(number) {
|
|
var n = number | 0;
|
|
if(n > 0 && (n & n - 1) == 0) {
|
|
return n;
|
|
}
|
|
var result = 1;
|
|
while(result < n) result <<= 1;
|
|
return result;
|
|
}
|
|
,addNodeWithSpacesAndBorders: function(Graphic,Key,tileSize,tileSpacing,tileBorder,region) {
|
|
var key = flixel_system_FlxAssets.resolveKey(Graphic,Key);
|
|
if(key == null) {
|
|
return null;
|
|
}
|
|
key = flixel_FlxG.bitmap.getKeyWithSpacesAndBorders(key,tileSize,tileSpacing,tileBorder,region);
|
|
if(this.hasNodeWithName(key)) {
|
|
return this.nodes.h[key].getTileFrames(tileSize,tileSpacing,tileBorder);
|
|
}
|
|
var data = flixel_system_FlxAssets.resolveBitmapData(Graphic);
|
|
if(data == null) {
|
|
return null;
|
|
}
|
|
var nodeData = flixel_util_FlxBitmapDataUtil.addSpacesAndBorders(data,tileSize,tileSpacing,tileBorder,region);
|
|
var node = this.addNode(nodeData,key);
|
|
if(node == null) {
|
|
return null;
|
|
}
|
|
if(tileBorder != null) {
|
|
var X = 2 * tileBorder.x;
|
|
var Y = 2 * tileBorder.y;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _g = tileSize;
|
|
_g.set_x(_g.x + X);
|
|
var _g = tileSize;
|
|
_g.set_y(_g.y + Y);
|
|
}
|
|
return node.getTileFrames(tileSize,tileSpacing,tileBorder);
|
|
}
|
|
,getAtlasFrames: function() {
|
|
var graph = this.get_graphic();
|
|
var atlasFrames = graph.get_atlasFrames();
|
|
if(graph.get_atlasFrames() == null) {
|
|
atlasFrames = new flixel_graphics_frames_FlxAtlasFrames(graph);
|
|
}
|
|
var node = haxe_ds_StringMap.valueIterator(this.nodes.h);
|
|
while(node.hasNext()) {
|
|
var node1 = node.next();
|
|
this.addNodeToAtlasFrames(node1);
|
|
}
|
|
return atlasFrames;
|
|
}
|
|
,addNodeToAtlasFrames: function(node) {
|
|
if(this._graphic == null || this._graphic.get_atlasFrames() == null || node == null) {
|
|
return;
|
|
}
|
|
var atlasFrames = this._graphic.get_atlasFrames();
|
|
if(node.filled && !Object.prototype.hasOwnProperty.call(atlasFrames.framesHash.h,node.key)) {
|
|
var X = node.rect.x | 0;
|
|
var Y = node.rect.y | 0;
|
|
var Width = (node.rect.width | 0) - this.border;
|
|
var Height = (node.rect.height | 0) - this.border;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
_this.x = X1;
|
|
_this.y = Y1;
|
|
_this.width = Width1;
|
|
_this.height = Height1;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
var frame = rect;
|
|
var sourceSize;
|
|
if(node.rotated) {
|
|
var X = (node.rect.height | 0) - this.border;
|
|
var Y = (node.rect.width | 0) - this.border;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
sourceSize = point;
|
|
} else {
|
|
var X = (node.rect.width | 0) - this.border;
|
|
var Y = (node.rect.height | 0) - this.border;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
sourceSize = point;
|
|
}
|
|
var X = 0;
|
|
var Y = 0;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
var offset = point;
|
|
var angle = node.rotated ? -90 : 0;
|
|
atlasFrames.addAtlasFrame(frame,sourceSize,offset,node.key,angle);
|
|
}
|
|
}
|
|
,hasNodeWithName: function(nodeName) {
|
|
return Object.prototype.hasOwnProperty.call(this.nodes.h,nodeName);
|
|
}
|
|
,getNode: function(key) {
|
|
return this.nodes.h[key];
|
|
}
|
|
,addNodes: function(bitmaps,keys) {
|
|
var numKeys = keys.length;
|
|
var numBitmaps = bitmaps.length;
|
|
if(numBitmaps != numKeys) {
|
|
return null;
|
|
}
|
|
this._tempStorage = [];
|
|
var _g = 0;
|
|
var _g1 = numBitmaps;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
this._tempStorage.push({ bmd : bitmaps[i], keyStr : keys[i]});
|
|
}
|
|
this.addFromAtlasObjects(this._tempStorage);
|
|
return this;
|
|
}
|
|
,addFromAtlasObjects: function(objects) {
|
|
objects.sort($bind(this,this.bitmapSorter));
|
|
var numBitmaps = objects.length;
|
|
var _g = 0;
|
|
var _g1 = numBitmaps;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
this.addNode(objects[i].bmd,objects[i].keyStr);
|
|
}
|
|
this._tempStorage = null;
|
|
}
|
|
,bitmapSorter: function(obj1,obj2) {
|
|
if(this.allowRotation) {
|
|
var area1 = obj1.bmd.width * obj1.bmd.height;
|
|
var area2 = obj2.bmd.width * obj2.bmd.height;
|
|
return area2 - area1;
|
|
}
|
|
if(obj2.bmd.width == obj1.bmd.width) {
|
|
return obj2.bmd.height - obj1.bmd.height;
|
|
}
|
|
return obj2.bmd.width - obj1.bmd.width;
|
|
}
|
|
,createQueue: function() {
|
|
this._tempStorage = [];
|
|
return this;
|
|
}
|
|
,addToQueue: function(data,key) {
|
|
if(this._tempStorage == null) {
|
|
this._tempStorage = [];
|
|
}
|
|
this._tempStorage.push({ bmd : data, keyStr : key});
|
|
return this;
|
|
}
|
|
,generateFromQueue: function() {
|
|
if(this._tempStorage != null) {
|
|
this.addFromAtlasObjects(this._tempStorage);
|
|
}
|
|
return this;
|
|
}
|
|
,onClear: function(_) {
|
|
if(!this.persist || this._graphic != null && this._graphic.get_useCount() <= 0) {
|
|
this.destroy();
|
|
}
|
|
}
|
|
,destroy: function() {
|
|
this._tempStorage = null;
|
|
this.deleteSubtree(this.root);
|
|
this.root = null;
|
|
flixel_FlxG.bitmap.removeByKey(this.name);
|
|
this.set_bitmapData(null);
|
|
this.nodes = null;
|
|
this._graphic = null;
|
|
flixel_FlxG.signals.preStateCreate.remove($bind(this,this.onClear));
|
|
}
|
|
,clear: function() {
|
|
this.deleteSubtree(this.root);
|
|
this.initRoot();
|
|
flixel_FlxG.bitmap.removeByKey(this.name);
|
|
this.set_bitmapData(null);
|
|
this.nodes = new haxe_ds_StringMap();
|
|
this._graphic = null;
|
|
}
|
|
,getLibGdxData: function() {
|
|
var data = "\n";
|
|
data += this.name + "\n";
|
|
data += "format: RGBA8888\n";
|
|
data += "filter: Linear,Linear\n";
|
|
data += "repeat: none\n";
|
|
var node = haxe_ds_StringMap.valueIterator(this.nodes.h);
|
|
while(node.hasNext()) {
|
|
var node1 = node.next();
|
|
data += node1.key + "\n";
|
|
data += " rotate: " + (node1.rotated == null ? "null" : "" + node1.rotated) + "\n";
|
|
data += " xy: " + (node1.rect.x | 0) + ", " + (node1.rect.y | 0) + "\n";
|
|
if(this.allowRotation) {
|
|
data += "size: " + (node1.rect.height | 0) + ", " + (node1.rect.width | 0) + "\n";
|
|
data += "orig: " + (node1.rect.height | 0) + ", " + (node1.rect.width | 0) + "\n";
|
|
} else {
|
|
data += "size: " + (node1.rect.width | 0) + ", " + (node1.rect.height | 0) + "\n";
|
|
data += "orig: " + (node1.rect.width | 0) + ", " + (node1.rect.height | 0) + "\n";
|
|
}
|
|
data += " offset: 0, 0\n";
|
|
data += " index: -1\n";
|
|
}
|
|
return data;
|
|
}
|
|
,deleteSubtree: function(node) {
|
|
if(node != null) {
|
|
if(node.left != null) {
|
|
this.deleteSubtree(node.left);
|
|
}
|
|
if(node.right != null) {
|
|
this.deleteSubtree(node.right);
|
|
}
|
|
node.key = null;
|
|
node.left = null;
|
|
node.right = null;
|
|
node.rect = null;
|
|
node.atlas = null;
|
|
}
|
|
}
|
|
,findNodeToInsert: function(insertWidth,insertHeight) {
|
|
var stack = [];
|
|
var current = this.root;
|
|
var emptyNodes = [];
|
|
var canPlaceRight = false;
|
|
var canPlaceLeft = false;
|
|
var looping = true;
|
|
var result = null;
|
|
var minArea = this.maxWidth * this.maxHeight + 1;
|
|
var nodeArea;
|
|
while(looping) {
|
|
if(!current.filled && current.left == null && current.right == null && (current.rect.width >= insertWidth && current.rect.height >= insertHeight)) {
|
|
nodeArea = (current.rect.width | 0) * (current.rect.height | 0);
|
|
if(nodeArea < minArea) {
|
|
minArea = nodeArea;
|
|
result = current;
|
|
}
|
|
}
|
|
if(current.right != null) {
|
|
var _this = current.right;
|
|
canPlaceRight = _this.rect.width >= insertWidth && _this.rect.height >= insertHeight;
|
|
} else {
|
|
canPlaceRight = false;
|
|
}
|
|
if(current.left != null) {
|
|
var _this1 = current.left;
|
|
canPlaceLeft = _this1.rect.width >= insertWidth && _this1.rect.height >= insertHeight;
|
|
} else {
|
|
canPlaceLeft = false;
|
|
}
|
|
if(canPlaceRight && canPlaceLeft) {
|
|
stack.push(current.right);
|
|
current = current.left;
|
|
} else if(canPlaceLeft) {
|
|
current = current.left;
|
|
} else if(canPlaceRight) {
|
|
current = current.right;
|
|
} else if(stack.length > 0) {
|
|
current = stack.pop();
|
|
} else {
|
|
looping = false;
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
,set_bitmapData: function(value) {
|
|
if(value != null && this._graphic != null) {
|
|
this._graphic.set_bitmap(value);
|
|
}
|
|
return this.bitmapData = value;
|
|
}
|
|
,get_graphic: function() {
|
|
if(this._graphic != null) {
|
|
return this._graphic;
|
|
}
|
|
this._graphic = flixel_FlxG.bitmap.add(this.bitmapData,false,this.name);
|
|
this._graphic.persist = this.persist;
|
|
return this._graphic;
|
|
}
|
|
,set_persist: function(value) {
|
|
if(this._graphic != null) {
|
|
this._graphic.persist = value;
|
|
}
|
|
return this.persist = value;
|
|
}
|
|
,set_minWidth: function(value) {
|
|
if(value <= this.maxWidth) {
|
|
this.minWidth = value;
|
|
if(value > this.get_width()) {
|
|
this.set_width(value);
|
|
}
|
|
}
|
|
return this.minWidth;
|
|
}
|
|
,set_minHeight: function(value) {
|
|
if(value <= this.maxHeight) {
|
|
this.minHeight = value;
|
|
if(value > this.get_height()) {
|
|
this.set_height(value);
|
|
}
|
|
}
|
|
return this.minHeight;
|
|
}
|
|
,get_width: function() {
|
|
if(this.root != null) {
|
|
return this.root.rect.width | 0;
|
|
}
|
|
return 0;
|
|
}
|
|
,set_width: function(value) {
|
|
if(value > this.get_width()) {
|
|
if(this.powerOfTwo) {
|
|
value = this.getNextPowerOfTwo(value);
|
|
}
|
|
if(value <= this.maxWidth) {
|
|
if(this.root != null && (this.root.rect.width | 0) < value) {
|
|
this.expandRoot(value,this.root.rect.height | 0,this.needToDivideHorizontally(this.root,this.root.rect.width | 0,this.root.rect.height | 0));
|
|
}
|
|
}
|
|
}
|
|
return value;
|
|
}
|
|
,get_height: function() {
|
|
if(this.root != null) {
|
|
return this.root.rect.height | 0;
|
|
}
|
|
return 0;
|
|
}
|
|
,set_height: function(value) {
|
|
if(value > this.get_height()) {
|
|
if(this.powerOfTwo) {
|
|
value = this.getNextPowerOfTwo(value);
|
|
}
|
|
if(value <= this.maxHeight) {
|
|
if(this.root != null && (this.root.rect.height | 0) < value) {
|
|
this.expandRoot(this.root.rect.width | 0,value,this.needToDivideHorizontally(this.root,this.root.rect.width | 0,this.root.rect.height | 0));
|
|
}
|
|
}
|
|
}
|
|
return value;
|
|
}
|
|
,set_maxWidth: function(value) {
|
|
if(value >= this.minWidth && (this.root == null || value >= this.get_width())) {
|
|
this.maxWidth = value;
|
|
}
|
|
return this.maxWidth;
|
|
}
|
|
,set_maxHeight: function(value) {
|
|
if(value >= this.minHeight && (this.root == null || value >= this.get_height())) {
|
|
this.maxHeight = value;
|
|
}
|
|
return this.maxHeight;
|
|
}
|
|
,set_powerOfTwo: function(value) {
|
|
if(value != this.powerOfTwo && value && this.root != null) {
|
|
var nextWidth = this.getNextPowerOfTwo(this.root.rect.width | 0);
|
|
var nextHeight = this.getNextPowerOfTwo(this.root.rect.height | 0);
|
|
if(nextWidth != (this.root.rect.width | 0) || nextHeight != (this.root.rect.height | 0)) {
|
|
if(this.maxWidth > 0 && nextWidth > this.maxWidth || this.maxHeight > 0 && nextHeight > this.maxHeight) {
|
|
return false;
|
|
}
|
|
var temp = this.root;
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = nextWidth;
|
|
var Height = nextHeight;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
_this.x = X1;
|
|
_this.y = Y1;
|
|
_this.width = Width1;
|
|
_this.height = Height1;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
this.root = new flixel_graphics_atlas_FlxNode(rect,this);
|
|
if(temp.left != null) {
|
|
this.divideNode(this.root,temp.rect.width | 0,temp.rect.height | 0,this.needToDivideHorizontally(this.root,temp.rect.width | 0,temp.rect.height | 0));
|
|
this.root.left.left = temp;
|
|
}
|
|
}
|
|
}
|
|
return this.powerOfTwo = value;
|
|
}
|
|
,__class__: flixel_graphics_atlas_FlxAtlas
|
|
,__properties__: {set_powerOfTwo:"set_powerOfTwo",set_maxHeight:"set_maxHeight",set_maxWidth:"set_maxWidth",set_minHeight:"set_minHeight",set_minWidth:"set_minWidth",set_height:"set_height",get_height:"get_height",set_width:"set_width",get_width:"get_width",set_persist:"set_persist",get_graphic:"get_graphic",set_bitmapData:"set_bitmapData"}
|
|
};
|
|
var flixel_graphics_atlas_FlxNode = function(rect,atlas,filled,key,rotated) {
|
|
if(rotated == null) {
|
|
rotated = false;
|
|
}
|
|
if(key == null) {
|
|
key = "";
|
|
}
|
|
if(filled == null) {
|
|
filled = false;
|
|
}
|
|
this.filled = filled;
|
|
this.left = null;
|
|
this.right = null;
|
|
this.rect = rect;
|
|
this.key = key;
|
|
this.atlas = atlas;
|
|
this.rotated = rotated;
|
|
};
|
|
$hxClasses["flixel.graphics.atlas.FlxNode"] = flixel_graphics_atlas_FlxNode;
|
|
flixel_graphics_atlas_FlxNode.__name__ = "flixel.graphics.atlas.FlxNode";
|
|
flixel_graphics_atlas_FlxNode.__interfaces__ = [flixel_util_IFlxDestroyable];
|
|
flixel_graphics_atlas_FlxNode.prototype = {
|
|
left: null
|
|
,right: null
|
|
,rect: null
|
|
,key: null
|
|
,filled: null
|
|
,atlas: null
|
|
,rotated: null
|
|
,destroy: function() {
|
|
this.key = null;
|
|
this.left = null;
|
|
this.right = null;
|
|
this.rect = null;
|
|
this.atlas = null;
|
|
}
|
|
,canPlace: function(width,height) {
|
|
if(this.rect.width >= width) {
|
|
return this.rect.height >= height;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,getTileFrames: function(tileSize,tileSpacing,tileBorder) {
|
|
flixel_FlxG.bitmap.add(this.atlas.bitmapData,false,this.atlas.name);
|
|
var frame = this.atlas.getAtlasFrames().framesHash.h[this.key];
|
|
if(frame != null) {
|
|
var tileFrames = flixel_graphics_frames_FlxTileFrames.fromFrame(frame,tileSize,tileSpacing);
|
|
if(tileBorder != null) {
|
|
tileFrames = tileFrames.addBorder(tileBorder);
|
|
}
|
|
return tileFrames;
|
|
}
|
|
return null;
|
|
}
|
|
,getImageFrame: function() {
|
|
flixel_FlxG.bitmap.add(this.atlas.bitmapData,false,this.atlas.name);
|
|
var frame = this.atlas.getAtlasFrames().framesHash.h[this.key];
|
|
if(frame != null) {
|
|
return flixel_graphics_frames_FlxImageFrame.fromFrame(frame);
|
|
}
|
|
return null;
|
|
}
|
|
,get_isEmpty: function() {
|
|
if(!this.filled && this.left == null) {
|
|
return this.right == null;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,get_x: function() {
|
|
return this.rect.x | 0;
|
|
}
|
|
,get_y: function() {
|
|
return this.rect.y | 0;
|
|
}
|
|
,get_width: function() {
|
|
return this.rect.width | 0;
|
|
}
|
|
,set_width: function(value) {
|
|
this.rect.width = value;
|
|
return value;
|
|
}
|
|
,get_height: function() {
|
|
return this.rect.height | 0;
|
|
}
|
|
,set_height: function(value) {
|
|
this.rect.height = value;
|
|
return value;
|
|
}
|
|
,__class__: flixel_graphics_atlas_FlxNode
|
|
,__properties__: {get_isEmpty:"get_isEmpty",set_height:"set_height",get_height:"get_height",set_width:"set_width",get_width:"get_width",get_y:"get_y",get_x:"get_x"}
|
|
};
|
|
var flixel_graphics_frames_FlxFramesCollection = function(parent,type,border) {
|
|
this.parent = parent;
|
|
this.type = type;
|
|
var tmp;
|
|
if(border == null) {
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
tmp = point;
|
|
} else {
|
|
tmp = border;
|
|
}
|
|
this.border = tmp;
|
|
this.frames = [];
|
|
this.framesHash = new haxe_ds_StringMap();
|
|
if(parent != null) {
|
|
parent.addFrameCollection(this);
|
|
}
|
|
};
|
|
$hxClasses["flixel.graphics.frames.FlxFramesCollection"] = flixel_graphics_frames_FlxFramesCollection;
|
|
flixel_graphics_frames_FlxFramesCollection.__name__ = "flixel.graphics.frames.FlxFramesCollection";
|
|
flixel_graphics_frames_FlxFramesCollection.__interfaces__ = [flixel_util_IFlxDestroyable];
|
|
flixel_graphics_frames_FlxFramesCollection.prototype = {
|
|
frames: null
|
|
,framesHash: null
|
|
,parent: null
|
|
,type: null
|
|
,border: null
|
|
,getByName: function(name) {
|
|
return this.framesHash.h[name];
|
|
}
|
|
,getByIndex: function(index) {
|
|
return this.frames[index];
|
|
}
|
|
,getIndexByName: function(name) {
|
|
var _g = 0;
|
|
var _g1 = this.frames.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(this.frames[i].name == name) {
|
|
return i;
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
,getFrameIndex: function(frame) {
|
|
return this.frames.indexOf(frame);
|
|
}
|
|
,destroy: function() {
|
|
this.frames = flixel_util_FlxDestroyUtil.destroyArray(this.frames);
|
|
this.border = flixel_util_FlxDestroyUtil.put(this.border);
|
|
this.framesHash = null;
|
|
this.parent = null;
|
|
this.type = null;
|
|
}
|
|
,addEmptyFrame: function(size) {
|
|
var frame = new flixel_graphics_frames_FlxFrame(this.parent);
|
|
frame.type = 2;
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = 0;
|
|
var Height = 0;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
frame.set_frame(rect);
|
|
frame.sourceSize.set(size.width,size.height);
|
|
this.frames.push(frame);
|
|
return frame;
|
|
}
|
|
,addSpriteSheetFrame: function(region) {
|
|
var frame = new flixel_graphics_frames_FlxFrame(this.parent);
|
|
frame.set_frame(this.checkFrame(region));
|
|
frame.sourceSize.set(region.width,region.height);
|
|
frame.offset.set(0,0);
|
|
return this.pushFrame(frame);
|
|
}
|
|
,addAtlasFrame: function(frame,sourceSize,offset,name,angle,flipX,flipY) {
|
|
if(flipY == null) {
|
|
flipY = false;
|
|
}
|
|
if(flipX == null) {
|
|
flipX = false;
|
|
}
|
|
if(angle == null) {
|
|
angle = 0;
|
|
}
|
|
if(name != null && Object.prototype.hasOwnProperty.call(this.framesHash.h,name)) {
|
|
return this.framesHash.h[name];
|
|
}
|
|
var texFrame = new flixel_graphics_frames_FlxFrame(this.parent,angle,flipX,flipY);
|
|
texFrame.name = name;
|
|
texFrame.sourceSize.set(sourceSize.x,sourceSize.y);
|
|
texFrame.offset.set(offset.x,offset.y);
|
|
texFrame.set_frame(this.checkFrame(frame,name));
|
|
sourceSize = flixel_util_FlxDestroyUtil.put(sourceSize);
|
|
offset = flixel_util_FlxDestroyUtil.put(offset);
|
|
return this.pushFrame(texFrame);
|
|
}
|
|
,checkFrame: function(frame,name) {
|
|
var Value = frame.x;
|
|
var Max = this.parent.width;
|
|
var lowerBound = Value < 0 ? 0 : Value;
|
|
var x = Max != null && lowerBound > Max ? Max : lowerBound;
|
|
var Value = frame.y;
|
|
var Max = this.parent.height;
|
|
var lowerBound = Value < 0 ? 0 : Value;
|
|
var y = Max != null && lowerBound > Max ? Max : lowerBound;
|
|
var Value = frame.x + frame.width;
|
|
var Max = this.parent.width;
|
|
var lowerBound = Value < 0 ? 0 : Value;
|
|
var r = Max != null && lowerBound > Max ? Max : lowerBound;
|
|
var Value = frame.y + frame.height;
|
|
var Max = this.parent.height;
|
|
var lowerBound = Value < 0 ? 0 : Value;
|
|
var b = Max != null && lowerBound > Max ? Max : lowerBound;
|
|
var X = x;
|
|
var Y = y;
|
|
var Width = r - x;
|
|
var Height = b - y;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
frame.x = X;
|
|
frame.y = Y;
|
|
frame.width = Width;
|
|
frame.height = Height;
|
|
var tmp = frame.width <= 0 || frame.height <= 0;
|
|
return frame;
|
|
}
|
|
,pushFrame: function(frameObj) {
|
|
var name = frameObj.name;
|
|
if(name != null && Object.prototype.hasOwnProperty.call(this.framesHash.h,name)) {
|
|
return this.framesHash.h[name];
|
|
}
|
|
this.frames.push(frameObj);
|
|
frameObj.cacheFrameMatrix();
|
|
if(name != null) {
|
|
this.framesHash.h[name] = frameObj;
|
|
}
|
|
return frameObj;
|
|
}
|
|
,addBorder: function(border) {
|
|
throw haxe_Exception.thrown("To be overriden in subclasses");
|
|
}
|
|
,toString: function() {
|
|
var value = this.frames;
|
|
var _this = flixel_util_LabelValuePair._pool.get();
|
|
_this.label = "frames";
|
|
_this.value = value;
|
|
var value = this.type;
|
|
var _this1 = flixel_util_LabelValuePair._pool.get();
|
|
_this1.label = "type";
|
|
_this1.value = value;
|
|
return flixel_util_FlxStringUtil.getDebugString([_this,_this1]);
|
|
}
|
|
,get_numFrames: function() {
|
|
return this.frames.length;
|
|
}
|
|
,__class__: flixel_graphics_frames_FlxFramesCollection
|
|
,__properties__: {get_numFrames:"get_numFrames"}
|
|
};
|
|
var flixel_graphics_frames_FlxAtlasFrames = function(parent,border) {
|
|
flixel_graphics_frames_FlxFramesCollection.call(this,parent,flixel_graphics_frames_FlxFrameCollectionType.ATLAS,border);
|
|
};
|
|
$hxClasses["flixel.graphics.frames.FlxAtlasFrames"] = flixel_graphics_frames_FlxAtlasFrames;
|
|
flixel_graphics_frames_FlxAtlasFrames.__name__ = "flixel.graphics.frames.FlxAtlasFrames";
|
|
flixel_graphics_frames_FlxAtlasFrames.fromTexturePackerJson = function(Source,Description) {
|
|
var graphic = flixel_FlxG.bitmap.add(Source,false);
|
|
if(graphic == null) {
|
|
return null;
|
|
}
|
|
var frames = flixel_graphics_frames_FlxAtlasFrames.findFrame(graphic);
|
|
if(frames != null) {
|
|
return frames;
|
|
}
|
|
if(graphic == null || Description == null) {
|
|
return null;
|
|
}
|
|
frames = new flixel_graphics_frames_FlxAtlasFrames(graphic);
|
|
var data;
|
|
if(typeof(Description) == "string") {
|
|
var json = Description;
|
|
if(openfl_utils_Assets.exists(json)) {
|
|
json = openfl_utils_Assets.getText(json);
|
|
}
|
|
data = JSON.parse(json);
|
|
} else {
|
|
data = Description;
|
|
}
|
|
if(((data.frames) instanceof Array)) {
|
|
var _g = 0;
|
|
var _g1 = Lambda.array(data.frames);
|
|
while(_g < _g1.length) {
|
|
var frame = _g1[_g];
|
|
++_g;
|
|
flixel_graphics_frames_FlxAtlasFrames.texturePackerHelper(frame.filename,frame,frames);
|
|
}
|
|
} else {
|
|
var _g = 0;
|
|
var _g1 = Reflect.fields(data.frames);
|
|
while(_g < _g1.length) {
|
|
var frameName = _g1[_g];
|
|
++_g;
|
|
flixel_graphics_frames_FlxAtlasFrames.texturePackerHelper(frameName,Reflect.field(data.frames,frameName),frames);
|
|
}
|
|
}
|
|
return frames;
|
|
};
|
|
flixel_graphics_frames_FlxAtlasFrames.texturePackerHelper = function(FrameName,FrameData,Frames) {
|
|
var rotated = FrameData.rotated;
|
|
var name = FrameName;
|
|
var X = FrameData.sourceSize.w;
|
|
var Y = FrameData.sourceSize.h;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
var sourceSize = point;
|
|
var X = FrameData.spriteSourceSize.x;
|
|
var Y = FrameData.spriteSourceSize.y;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
var offset = point;
|
|
var angle = 0;
|
|
var frameRect = null;
|
|
if(rotated) {
|
|
var X = FrameData.frame.x;
|
|
var Y = FrameData.frame.y;
|
|
var Width = FrameData.frame.h;
|
|
var Height = FrameData.frame.w;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
_this.x = X1;
|
|
_this.y = Y1;
|
|
_this.width = Width1;
|
|
_this.height = Height1;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
frameRect = rect;
|
|
angle = -90;
|
|
} else {
|
|
var X = FrameData.frame.x;
|
|
var Y = FrameData.frame.y;
|
|
var Width = FrameData.frame.w;
|
|
var Height = FrameData.frame.h;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
_this.x = X1;
|
|
_this.y = Y1;
|
|
_this.width = Width1;
|
|
_this.height = Height1;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
frameRect = rect;
|
|
}
|
|
Frames.addAtlasFrame(frameRect,sourceSize,offset,name,angle);
|
|
};
|
|
flixel_graphics_frames_FlxAtlasFrames.fromLibGdx = function(Source,Description) {
|
|
var graphic = flixel_FlxG.bitmap.add(Source);
|
|
if(graphic == null) {
|
|
return null;
|
|
}
|
|
var frames = flixel_graphics_frames_FlxAtlasFrames.findFrame(graphic);
|
|
if(frames != null) {
|
|
return frames;
|
|
}
|
|
if(graphic == null || Description == null) {
|
|
return null;
|
|
}
|
|
frames = new flixel_graphics_frames_FlxAtlasFrames(graphic);
|
|
if(openfl_utils_Assets.exists(Description)) {
|
|
Description = openfl_utils_Assets.getText(Description);
|
|
}
|
|
var pack = StringTools.trim(Description);
|
|
var lines = pack.split("\n");
|
|
var repeatLine = lines[3].indexOf("repeat:") > -1 ? 3 : 4;
|
|
lines.splice(0,repeatLine + 1);
|
|
var numElementsPerImage = 7;
|
|
var numImages = lines.length / numElementsPerImage | 0;
|
|
var size = [];
|
|
var _g = 0;
|
|
var _g1 = numImages;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var curIndex = i * numElementsPerImage;
|
|
var name = lines[curIndex++];
|
|
var rotated = lines[curIndex++].indexOf("true") >= 0;
|
|
var angle = 0;
|
|
var tempString = lines[curIndex++];
|
|
var size1 = flixel_graphics_frames_FlxAtlasFrames.getDimensions(tempString,size);
|
|
var imageX = size1[0];
|
|
var imageY = size1[1];
|
|
tempString = lines[curIndex++];
|
|
size1 = flixel_graphics_frames_FlxAtlasFrames.getDimensions(tempString,size1);
|
|
var imageWidth = size1[0];
|
|
var imageHeight = size1[1];
|
|
var rect = null;
|
|
if(rotated) {
|
|
var X = imageX;
|
|
var Y = imageY;
|
|
var Width = imageHeight;
|
|
var Height = imageWidth;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
_this.x = X1;
|
|
_this.y = Y1;
|
|
_this.width = Width1;
|
|
_this.height = Height1;
|
|
var rect1 = _this;
|
|
rect1._inPool = false;
|
|
rect = rect1;
|
|
angle = 90;
|
|
} else {
|
|
var X2 = imageX;
|
|
var Y2 = imageY;
|
|
var Width2 = imageWidth;
|
|
var Height2 = imageHeight;
|
|
if(Height2 == null) {
|
|
Height2 = 0;
|
|
}
|
|
if(Width2 == null) {
|
|
Width2 = 0;
|
|
}
|
|
if(Y2 == null) {
|
|
Y2 = 0;
|
|
}
|
|
if(X2 == null) {
|
|
X2 = 0;
|
|
}
|
|
var _this1 = flixel_math_FlxRect._pool.get();
|
|
var X3 = X2;
|
|
var Y3 = Y2;
|
|
var Width3 = Width2;
|
|
var Height3 = Height2;
|
|
if(Height3 == null) {
|
|
Height3 = 0;
|
|
}
|
|
if(Width3 == null) {
|
|
Width3 = 0;
|
|
}
|
|
if(Y3 == null) {
|
|
Y3 = 0;
|
|
}
|
|
if(X3 == null) {
|
|
X3 = 0;
|
|
}
|
|
_this1.x = X3;
|
|
_this1.y = Y3;
|
|
_this1.width = Width3;
|
|
_this1.height = Height3;
|
|
var rect2 = _this1;
|
|
rect2._inPool = false;
|
|
rect = rect2;
|
|
}
|
|
tempString = lines[curIndex++];
|
|
size1 = flixel_graphics_frames_FlxAtlasFrames.getDimensions(tempString,size1);
|
|
var X4 = size1[0];
|
|
var Y4 = size1[1];
|
|
if(Y4 == null) {
|
|
Y4 = 0;
|
|
}
|
|
if(X4 == null) {
|
|
X4 = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X4,Y4);
|
|
point._inPool = false;
|
|
var sourceSize = point;
|
|
tempString = lines[curIndex++];
|
|
size1 = flixel_graphics_frames_FlxAtlasFrames.getDimensions(tempString,size1);
|
|
var X5 = size1[0];
|
|
var Y5 = sourceSize.y - size1[1] - imageHeight;
|
|
if(Y5 == null) {
|
|
Y5 = 0;
|
|
}
|
|
if(X5 == null) {
|
|
X5 = 0;
|
|
}
|
|
var point1 = flixel_math_FlxPoint._pool.get().set(X5,Y5);
|
|
point1._inPool = false;
|
|
var offset = point1;
|
|
frames.addAtlasFrame(rect,sourceSize,offset,name,angle);
|
|
}
|
|
return frames;
|
|
};
|
|
flixel_graphics_frames_FlxAtlasFrames.getDimensions = function(line,size) {
|
|
var colonPosition = line.indexOf(":");
|
|
var comaPosition = line.indexOf(",");
|
|
size[0] = Std.parseInt(line.substring(colonPosition + 1,comaPosition));
|
|
size[1] = Std.parseInt(line.substring(comaPosition + 1,line.length));
|
|
return size;
|
|
};
|
|
flixel_graphics_frames_FlxAtlasFrames.fromSparrow = function(Source,Description) {
|
|
var graphic = flixel_FlxG.bitmap.add(Source);
|
|
if(graphic == null) {
|
|
return null;
|
|
}
|
|
var frames = flixel_graphics_frames_FlxAtlasFrames.findFrame(graphic);
|
|
if(frames != null) {
|
|
return frames;
|
|
}
|
|
if(graphic == null || Description == null) {
|
|
return null;
|
|
}
|
|
frames = new flixel_graphics_frames_FlxAtlasFrames(graphic);
|
|
if(openfl_utils_Assets.exists(Description)) {
|
|
Description = openfl_utils_Assets.getText(Description);
|
|
}
|
|
var x = Xml.parse(Description).firstElement();
|
|
if(x.nodeType != Xml.Document && x.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Invalid nodeType " + (x.nodeType == null ? "null" : XmlType.toString(x.nodeType)));
|
|
}
|
|
var this1 = x;
|
|
var data = this1;
|
|
var _g = 0;
|
|
var _g1 = haxe_xml__$Access_NodeListAccess.resolve(data,"SubTexture");
|
|
while(_g < _g1.length) {
|
|
var texture = _g1[_g];
|
|
++_g;
|
|
var name = haxe_xml__$Access_AttribAccess.resolve(texture,"name");
|
|
var trimmed = haxe_xml__$Access_HasAttribAccess.resolve(texture,"frameX");
|
|
var rotated = haxe_xml__$Access_HasAttribAccess.resolve(texture,"rotated") && haxe_xml__$Access_AttribAccess.resolve(texture,"rotated") == "true";
|
|
var flipX = haxe_xml__$Access_HasAttribAccess.resolve(texture,"flipX") && haxe_xml__$Access_AttribAccess.resolve(texture,"flipX") == "true";
|
|
var flipY = haxe_xml__$Access_HasAttribAccess.resolve(texture,"flipY") && haxe_xml__$Access_AttribAccess.resolve(texture,"flipY") == "true";
|
|
var X = parseFloat(haxe_xml__$Access_AttribAccess.resolve(texture,"x"));
|
|
var Y = parseFloat(haxe_xml__$Access_AttribAccess.resolve(texture,"y"));
|
|
var Width = parseFloat(haxe_xml__$Access_AttribAccess.resolve(texture,"width"));
|
|
var Height = parseFloat(haxe_xml__$Access_AttribAccess.resolve(texture,"height"));
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
_this.x = X1;
|
|
_this.y = Y1;
|
|
_this.width = Width1;
|
|
_this.height = Height1;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
var rect1 = rect;
|
|
var size = trimmed ? new openfl_geom_Rectangle(Std.parseInt(haxe_xml__$Access_AttribAccess.resolve(texture,"frameX")),Std.parseInt(haxe_xml__$Access_AttribAccess.resolve(texture,"frameY")),Std.parseInt(haxe_xml__$Access_AttribAccess.resolve(texture,"frameWidth")),Std.parseInt(haxe_xml__$Access_AttribAccess.resolve(texture,"frameHeight"))) : new openfl_geom_Rectangle(0,0,rect1.width,rect1.height);
|
|
var angle = rotated ? -90 : 0;
|
|
var X2 = -size.get_left();
|
|
var Y2 = -size.get_top();
|
|
if(Y2 == null) {
|
|
Y2 = 0;
|
|
}
|
|
if(X2 == null) {
|
|
X2 = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X2,Y2);
|
|
point._inPool = false;
|
|
var offset = point;
|
|
var X3 = size.width;
|
|
var Y3 = size.height;
|
|
if(Y3 == null) {
|
|
Y3 = 0;
|
|
}
|
|
if(X3 == null) {
|
|
X3 = 0;
|
|
}
|
|
var point1 = flixel_math_FlxPoint._pool.get().set(X3,Y3);
|
|
point1._inPool = false;
|
|
var sourceSize = point1;
|
|
if(rotated && !trimmed) {
|
|
sourceSize.set(size.height,size.width);
|
|
}
|
|
frames.addAtlasFrame(rect1,sourceSize,offset,name,angle,flipX,flipY);
|
|
}
|
|
return frames;
|
|
};
|
|
flixel_graphics_frames_FlxAtlasFrames.fromTexturePackerXml = function(Source,Description) {
|
|
var graphic = flixel_FlxG.bitmap.add(Source,false);
|
|
if(graphic == null) {
|
|
return null;
|
|
}
|
|
var frames = flixel_graphics_frames_FlxAtlasFrames.findFrame(graphic);
|
|
if(frames != null) {
|
|
return frames;
|
|
}
|
|
if(graphic == null || Description == null) {
|
|
return null;
|
|
}
|
|
frames = new flixel_graphics_frames_FlxAtlasFrames(graphic);
|
|
if(openfl_utils_Assets.exists(Description)) {
|
|
Description = openfl_utils_Assets.getText(Description);
|
|
}
|
|
var xml = Xml.parse(Description);
|
|
var sprite = xml.firstElement().elements();
|
|
while(sprite.hasNext()) {
|
|
var sprite1 = sprite.next();
|
|
var trimmed = sprite1.exists("oX") || sprite1.exists("oY");
|
|
var rotated = sprite1.exists("r") && sprite1.get("r") == "y";
|
|
var angle = rotated ? -90 : 0;
|
|
var name = sprite1.get("n");
|
|
var X = 0;
|
|
var Y = 0;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
var offset = point;
|
|
var X1 = Std.parseInt(sprite1.get("x"));
|
|
var Y1 = Std.parseInt(sprite1.get("y"));
|
|
var Width = Std.parseInt(sprite1.get("w"));
|
|
var Height = Std.parseInt(sprite1.get("h"));
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X2 = X1;
|
|
var Y2 = Y1;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y2 == null) {
|
|
Y2 = 0;
|
|
}
|
|
if(X2 == null) {
|
|
X2 = 0;
|
|
}
|
|
_this.x = X2;
|
|
_this.y = Y2;
|
|
_this.width = Width1;
|
|
_this.height = Height1;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
var rect1 = rect;
|
|
var X3 = rect1.width;
|
|
var Y3 = rect1.height;
|
|
if(Y3 == null) {
|
|
Y3 = 0;
|
|
}
|
|
if(X3 == null) {
|
|
X3 = 0;
|
|
}
|
|
var point1 = flixel_math_FlxPoint._pool.get().set(X3,Y3);
|
|
point1._inPool = false;
|
|
var sourceSize = point1;
|
|
if(trimmed) {
|
|
offset.set(Std.parseInt(sprite1.get("oX")),Std.parseInt(sprite1.get("oY")));
|
|
sourceSize.set(Std.parseInt(sprite1.get("oW")),Std.parseInt(sprite1.get("oH")));
|
|
}
|
|
frames.addAtlasFrame(rect1,sourceSize,offset,name,angle);
|
|
}
|
|
return frames;
|
|
};
|
|
flixel_graphics_frames_FlxAtlasFrames.fromSpriteSheetPacker = function(Source,Description) {
|
|
var graphic = flixel_FlxG.bitmap.add(Source);
|
|
if(graphic == null) {
|
|
return null;
|
|
}
|
|
var frames = flixel_graphics_frames_FlxAtlasFrames.findFrame(graphic);
|
|
if(frames != null) {
|
|
return frames;
|
|
}
|
|
if(graphic == null || Description == null) {
|
|
return null;
|
|
}
|
|
frames = new flixel_graphics_frames_FlxAtlasFrames(graphic);
|
|
if(openfl_utils_Assets.exists(Description)) {
|
|
Description = openfl_utils_Assets.getText(Description);
|
|
}
|
|
var pack = StringTools.trim(Description);
|
|
var lines = pack.split("\n");
|
|
var _g = 0;
|
|
var _g1 = lines.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var currImageData = lines[i].split("=");
|
|
var name = StringTools.trim(currImageData[0]);
|
|
var currImageRegion = StringTools.trim(currImageData[1]).split(" ");
|
|
var X = Std.parseInt(currImageRegion[0]);
|
|
var Y = Std.parseInt(currImageRegion[1]);
|
|
var Width = Std.parseInt(currImageRegion[2]);
|
|
var Height = Std.parseInt(currImageRegion[3]);
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
_this.x = X1;
|
|
_this.y = Y1;
|
|
_this.width = Width1;
|
|
_this.height = Height1;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
var rect1 = rect;
|
|
var X2 = rect1.width;
|
|
var Y2 = rect1.height;
|
|
if(Y2 == null) {
|
|
Y2 = 0;
|
|
}
|
|
if(X2 == null) {
|
|
X2 = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X2,Y2);
|
|
point._inPool = false;
|
|
var sourceSize = point;
|
|
var point1 = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point1._inPool = false;
|
|
var offset = point1;
|
|
frames.addAtlasFrame(rect1,sourceSize,offset,name,0);
|
|
}
|
|
return frames;
|
|
};
|
|
flixel_graphics_frames_FlxAtlasFrames.findFrame = function(graphic,border) {
|
|
if(border == null) {
|
|
var X = 0;
|
|
var Y = 0;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
var point1 = point;
|
|
point1._weak = true;
|
|
border = point1;
|
|
}
|
|
var type = flixel_graphics_frames_FlxFrameCollectionType.ATLAS;
|
|
var collections = graphic.frameCollections.get(type);
|
|
if(collections == null) {
|
|
collections = [];
|
|
graphic.frameCollections.set(type,collections);
|
|
}
|
|
var atlasFrames = collections;
|
|
var _g = 0;
|
|
while(_g < atlasFrames.length) {
|
|
var atlas = atlasFrames[_g];
|
|
++_g;
|
|
var _this = atlas.border;
|
|
var result = Math.abs(_this.x - border.x) <= 0.0000001 && Math.abs(_this.y - border.y) <= 0.0000001;
|
|
if(border._weak) {
|
|
border.put();
|
|
}
|
|
if(result) {
|
|
return atlas;
|
|
}
|
|
}
|
|
return null;
|
|
};
|
|
flixel_graphics_frames_FlxAtlasFrames.__super__ = flixel_graphics_frames_FlxFramesCollection;
|
|
flixel_graphics_frames_FlxAtlasFrames.prototype = $extend(flixel_graphics_frames_FlxFramesCollection.prototype,{
|
|
addBorder: function(border) {
|
|
var X = 0;
|
|
var Y = 0;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
var point1 = point;
|
|
point1._weak = true;
|
|
var resultBorder = point1.addPoint(this.border).addPoint(border);
|
|
var atlasFrames = flixel_graphics_frames_FlxAtlasFrames.findFrame(this.parent,resultBorder);
|
|
if(atlasFrames != null) {
|
|
return atlasFrames;
|
|
}
|
|
atlasFrames = new flixel_graphics_frames_FlxAtlasFrames(this.parent,resultBorder);
|
|
var _g = 0;
|
|
var _g1 = this.frames;
|
|
while(_g < _g1.length) {
|
|
var frame = _g1[_g];
|
|
++_g;
|
|
atlasFrames.pushFrame(frame.setBorderTo(border));
|
|
}
|
|
return atlasFrames;
|
|
}
|
|
,__class__: flixel_graphics_frames_FlxAtlasFrames
|
|
});
|
|
var flixel_graphics_frames_FlxFrame = function(parent,angle,flipX,flipY) {
|
|
if(flipY == null) {
|
|
flipY = false;
|
|
}
|
|
if(flipX == null) {
|
|
flipX = false;
|
|
}
|
|
if(angle == null) {
|
|
angle = 0;
|
|
}
|
|
this.matrix = new flixel_math_FlxMatrix();
|
|
this.rect = new openfl_geom_Rectangle();
|
|
this.point2 = new openfl_geom_Point();
|
|
this.point1 = new openfl_geom_Point();
|
|
this.parent = parent;
|
|
this.angle = angle;
|
|
this.flipX = flipX;
|
|
this.flipY = flipY;
|
|
this.type = 0;
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
this.sourceSize = point;
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
this.offset = point;
|
|
var this1 = new Array(6);
|
|
this.blitMatrix = this1;
|
|
if(flixel_FlxG.renderTile) {
|
|
var this1 = new Array(6);
|
|
this.tileMatrix = this1;
|
|
}
|
|
};
|
|
$hxClasses["flixel.graphics.frames.FlxFrame"] = flixel_graphics_frames_FlxFrame;
|
|
flixel_graphics_frames_FlxFrame.__name__ = "flixel.graphics.frames.FlxFrame";
|
|
flixel_graphics_frames_FlxFrame.__interfaces__ = [flixel_util_IFlxDestroyable];
|
|
flixel_graphics_frames_FlxFrame.sort = function(frames,prefixLength,postfixLength) {
|
|
var prefixLength1 = prefixLength;
|
|
var postfixLength1 = postfixLength;
|
|
haxe_ds_ArraySort.sort(frames,function(frame1,frame2) {
|
|
return flixel_graphics_frames_FlxFrame.sortByName(frame1,frame2,prefixLength1,postfixLength1);
|
|
});
|
|
};
|
|
flixel_graphics_frames_FlxFrame.sortByName = function(frame1,frame2,prefixLength,postfixLength) {
|
|
var name1 = frame1.name;
|
|
var name2 = frame2.name;
|
|
var num1 = Std.parseInt(name1.substring(prefixLength,name1.length - postfixLength));
|
|
var num2 = Std.parseInt(name2.substring(prefixLength,name2.length - postfixLength));
|
|
if(num1 == null) {
|
|
num1 = 0;
|
|
}
|
|
if(num2 == null) {
|
|
num2 = 0;
|
|
}
|
|
return num1 - num2;
|
|
};
|
|
flixel_graphics_frames_FlxFrame.prototype = {
|
|
point1: null
|
|
,point2: null
|
|
,rect: null
|
|
,matrix: null
|
|
,name: null
|
|
,frame: null
|
|
,uv: null
|
|
,parent: null
|
|
,angle: null
|
|
,flipX: null
|
|
,flipY: null
|
|
,sourceSize: null
|
|
,offset: null
|
|
,type: null
|
|
,tileMatrix: null
|
|
,blitMatrix: null
|
|
,cacheFrameMatrix: function() {
|
|
var mat = this.matrix;
|
|
var blit = true;
|
|
if(blit == null) {
|
|
blit = true;
|
|
}
|
|
mat.identity();
|
|
if(blit) {
|
|
mat.translate(-this.frame.x,-this.frame.y);
|
|
}
|
|
if(this.angle == 90) {
|
|
mat.setTo(-mat.b,mat.a,-mat.d,mat.c,-mat.ty,mat.tx);
|
|
mat.translate(this.frame.height,0);
|
|
} else if(this.angle == -90) {
|
|
mat.setTo(mat.b,-mat.a,mat.d,-mat.c,mat.ty,-mat.tx);
|
|
mat.translate(0,this.frame.width);
|
|
}
|
|
mat.translate(this.offset.x,this.offset.y);
|
|
this.blitMatrix[0] = this.matrix.a;
|
|
this.blitMatrix[1] = this.matrix.b;
|
|
this.blitMatrix[2] = this.matrix.c;
|
|
this.blitMatrix[3] = this.matrix.d;
|
|
this.blitMatrix[4] = this.matrix.tx;
|
|
this.blitMatrix[5] = this.matrix.ty;
|
|
if(flixel_FlxG.renderTile) {
|
|
var mat = this.matrix;
|
|
var blit = false;
|
|
if(blit == null) {
|
|
blit = true;
|
|
}
|
|
mat.identity();
|
|
if(blit) {
|
|
mat.translate(-this.frame.x,-this.frame.y);
|
|
}
|
|
if(this.angle == 90) {
|
|
mat.setTo(-mat.b,mat.a,-mat.d,mat.c,-mat.ty,mat.tx);
|
|
mat.translate(this.frame.height,0);
|
|
} else if(this.angle == -90) {
|
|
mat.setTo(mat.b,-mat.a,mat.d,-mat.c,mat.ty,-mat.tx);
|
|
mat.translate(0,this.frame.width);
|
|
}
|
|
mat.translate(this.offset.x,this.offset.y);
|
|
this.tileMatrix[0] = this.matrix.a;
|
|
this.tileMatrix[1] = this.matrix.b;
|
|
this.tileMatrix[2] = this.matrix.c;
|
|
this.tileMatrix[3] = this.matrix.d;
|
|
this.tileMatrix[4] = this.matrix.tx;
|
|
this.tileMatrix[5] = this.matrix.ty;
|
|
}
|
|
}
|
|
,prepareBlitMatrix: function(mat,blit) {
|
|
if(blit == null) {
|
|
blit = true;
|
|
}
|
|
mat.identity();
|
|
if(blit) {
|
|
mat.translate(-this.frame.x,-this.frame.y);
|
|
}
|
|
if(this.angle == 90) {
|
|
mat.setTo(-mat.b,mat.a,-mat.d,mat.c,-mat.ty,mat.tx);
|
|
mat.translate(this.frame.height,0);
|
|
} else if(this.angle == -90) {
|
|
mat.setTo(mat.b,-mat.a,mat.d,-mat.c,mat.ty,-mat.tx);
|
|
mat.translate(0,this.frame.width);
|
|
}
|
|
mat.translate(this.offset.x,this.offset.y);
|
|
return mat;
|
|
}
|
|
,rotateAndFlip: function(mat,rotation,flipX,flipY) {
|
|
if(flipY == null) {
|
|
flipY = false;
|
|
}
|
|
if(flipX == null) {
|
|
flipX = false;
|
|
}
|
|
if(rotation == null) {
|
|
rotation = 0;
|
|
}
|
|
var w = this.sourceSize.x | 0;
|
|
var h = this.sourceSize.y | 0;
|
|
if(rotation != 0) {
|
|
var t = w;
|
|
w = h;
|
|
h = t;
|
|
if(rotation == 90) {
|
|
mat.setTo(-mat.b,mat.a,-mat.d,mat.c,-mat.ty,mat.tx);
|
|
mat.translate(this.sourceSize.y,0);
|
|
} else if(rotation == -90 || rotation == -90) {
|
|
mat.setTo(mat.b,-mat.a,mat.d,-mat.c,mat.ty,-mat.tx);
|
|
mat.translate(0,this.sourceSize.x);
|
|
}
|
|
}
|
|
if(flipX) {
|
|
mat.scale(-1,1);
|
|
mat.translate(w,0);
|
|
}
|
|
if(flipY) {
|
|
mat.scale(1,-1);
|
|
mat.translate(0,h);
|
|
}
|
|
return mat;
|
|
}
|
|
,prepareTransformedBlitMatrix: function(mat,rotation,flipX,flipY) {
|
|
if(flipY == null) {
|
|
flipY = false;
|
|
}
|
|
if(flipX == null) {
|
|
flipX = false;
|
|
}
|
|
if(rotation == null) {
|
|
rotation = 0;
|
|
}
|
|
mat.a = this.blitMatrix[0];
|
|
mat.b = this.blitMatrix[1];
|
|
mat.c = this.blitMatrix[2];
|
|
mat.d = this.blitMatrix[3];
|
|
mat.tx = this.blitMatrix[4];
|
|
mat.ty = this.blitMatrix[5];
|
|
var rotation1 = rotation;
|
|
var flipX1 = flipX;
|
|
var flipY1 = flipY;
|
|
if(flipY1 == null) {
|
|
flipY1 = false;
|
|
}
|
|
if(flipX1 == null) {
|
|
flipX1 = false;
|
|
}
|
|
if(rotation1 == null) {
|
|
rotation1 = 0;
|
|
}
|
|
var w = this.sourceSize.x | 0;
|
|
var h = this.sourceSize.y | 0;
|
|
if(rotation1 != 0) {
|
|
var t = w;
|
|
w = h;
|
|
h = t;
|
|
if(rotation1 == 90) {
|
|
mat.setTo(-mat.b,mat.a,-mat.d,mat.c,-mat.ty,mat.tx);
|
|
mat.translate(this.sourceSize.y,0);
|
|
} else if(rotation1 == -90 || rotation1 == -90) {
|
|
mat.setTo(mat.b,-mat.a,mat.d,-mat.c,mat.ty,-mat.tx);
|
|
mat.translate(0,this.sourceSize.x);
|
|
}
|
|
}
|
|
if(flipX1) {
|
|
mat.scale(-1,1);
|
|
mat.translate(w,0);
|
|
}
|
|
if(flipY1) {
|
|
mat.scale(1,-1);
|
|
mat.translate(0,h);
|
|
}
|
|
return mat;
|
|
}
|
|
,prepareMatrix: function(mat,rotation,flipX,flipY) {
|
|
if(flipY == null) {
|
|
flipY = false;
|
|
}
|
|
if(flipX == null) {
|
|
flipX = false;
|
|
}
|
|
if(rotation == null) {
|
|
rotation = 0;
|
|
}
|
|
if(flixel_FlxG.renderBlit) {
|
|
mat.identity();
|
|
return mat;
|
|
}
|
|
mat.a = this.tileMatrix[0];
|
|
mat.b = this.tileMatrix[1];
|
|
mat.c = this.tileMatrix[2];
|
|
mat.d = this.tileMatrix[3];
|
|
mat.tx = this.tileMatrix[4];
|
|
mat.ty = this.tileMatrix[5];
|
|
var doFlipX = flipX != this.flipX;
|
|
var doFlipY = flipY != this.flipY;
|
|
if(rotation == 0 && !doFlipX && !doFlipY) {
|
|
return mat;
|
|
}
|
|
var rotation1 = rotation;
|
|
var flipX = doFlipX;
|
|
var flipY = doFlipY;
|
|
if(flipY == null) {
|
|
flipY = false;
|
|
}
|
|
if(flipX == null) {
|
|
flipX = false;
|
|
}
|
|
if(rotation1 == null) {
|
|
rotation1 = 0;
|
|
}
|
|
var w = this.sourceSize.x | 0;
|
|
var h = this.sourceSize.y | 0;
|
|
if(rotation1 != 0) {
|
|
var t = w;
|
|
w = h;
|
|
h = t;
|
|
if(rotation1 == 90) {
|
|
mat.setTo(-mat.b,mat.a,-mat.d,mat.c,-mat.ty,mat.tx);
|
|
mat.translate(this.sourceSize.y,0);
|
|
} else if(rotation1 == -90 || rotation1 == -90) {
|
|
mat.setTo(mat.b,-mat.a,mat.d,-mat.c,mat.ty,-mat.tx);
|
|
mat.translate(0,this.sourceSize.x);
|
|
}
|
|
}
|
|
if(flipX) {
|
|
mat.scale(-1,1);
|
|
mat.translate(w,0);
|
|
}
|
|
if(flipY) {
|
|
mat.scale(1,-1);
|
|
mat.translate(0,h);
|
|
}
|
|
return mat;
|
|
}
|
|
,fillBlitMatrix: function(mat) {
|
|
mat.a = this.blitMatrix[0];
|
|
mat.b = this.blitMatrix[1];
|
|
mat.c = this.blitMatrix[2];
|
|
mat.d = this.blitMatrix[3];
|
|
mat.tx = this.blitMatrix[4];
|
|
mat.ty = this.blitMatrix[5];
|
|
return mat;
|
|
}
|
|
,paint: function(bmd,point,mergeAlpha,disposeIfNotEqual) {
|
|
if(disposeIfNotEqual == null) {
|
|
disposeIfNotEqual = false;
|
|
}
|
|
if(mergeAlpha == null) {
|
|
mergeAlpha = false;
|
|
}
|
|
if(point == null) {
|
|
point = this.point1;
|
|
point.setTo(0,0);
|
|
}
|
|
var bmd1 = bmd;
|
|
var rotation = 0;
|
|
var mergeAlpha1 = mergeAlpha;
|
|
var disposeIfNotEqual1 = disposeIfNotEqual;
|
|
if(disposeIfNotEqual1 == null) {
|
|
disposeIfNotEqual1 = false;
|
|
}
|
|
if(mergeAlpha1 == null) {
|
|
mergeAlpha1 = false;
|
|
}
|
|
if(rotation == null) {
|
|
rotation = 0;
|
|
}
|
|
var w = this.sourceSize.x | 0;
|
|
var h = this.sourceSize.y | 0;
|
|
if(rotation != 0) {
|
|
var t = w;
|
|
w = h;
|
|
h = t;
|
|
}
|
|
if(bmd1 != null && disposeIfNotEqual1) {
|
|
bmd1 = flixel_util_FlxDestroyUtil.disposeIfNotEqual(bmd1,w,h);
|
|
}
|
|
if(bmd1 != null && !mergeAlpha1) {
|
|
this.rect.setTo(point.x,point.y,w,h);
|
|
bmd1.fillRect(this.rect,0);
|
|
} else if(bmd1 == null) {
|
|
bmd1 = new openfl_display_BitmapData(w,h,true,0);
|
|
}
|
|
bmd = bmd1;
|
|
if(this.type == 2) {
|
|
return bmd;
|
|
}
|
|
if(this.angle == 0) {
|
|
var _this = this.offset;
|
|
var FlashPoint = this.point2;
|
|
if(FlashPoint == null) {
|
|
FlashPoint = new openfl_geom_Point();
|
|
}
|
|
FlashPoint.x = _this.x;
|
|
FlashPoint.y = _this.y;
|
|
this.point2.x += point.x;
|
|
this.point2.y += point.y;
|
|
var tmp = this.parent.bitmap;
|
|
var _this = this.frame;
|
|
var FlashRect = this.rect;
|
|
if(FlashRect == null) {
|
|
FlashRect = new openfl_geom_Rectangle();
|
|
}
|
|
FlashRect.x = _this.x;
|
|
FlashRect.y = _this.y;
|
|
FlashRect.width = _this.width;
|
|
FlashRect.height = _this.height;
|
|
bmd.copyPixels(tmp,FlashRect,this.point2,null,null,mergeAlpha);
|
|
} else {
|
|
var mat = this.matrix;
|
|
mat.a = this.blitMatrix[0];
|
|
mat.b = this.blitMatrix[1];
|
|
mat.c = this.blitMatrix[2];
|
|
mat.d = this.blitMatrix[3];
|
|
mat.tx = this.blitMatrix[4];
|
|
mat.ty = this.blitMatrix[5];
|
|
this.matrix.translate(point.x,point.y);
|
|
var mat = this.matrix;
|
|
var X = this.frame.x;
|
|
var Y = this.frame.y;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X1,Y1);
|
|
point._inPool = false;
|
|
var point1 = point;
|
|
point1._weak = true;
|
|
var p1 = point1;
|
|
var _this = this.frame;
|
|
var X = _this.x + _this.width;
|
|
var _this = this.frame;
|
|
var Y = _this.y + _this.height;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X1,Y1);
|
|
point._inPool = false;
|
|
var point1 = point;
|
|
point1._weak = true;
|
|
var p2 = point1;
|
|
var x1 = p1.x * mat.a + p1.y * mat.c + mat.tx;
|
|
var y1 = p1.x * mat.b + p1.y * mat.d + mat.ty;
|
|
p1.set(x1,y1);
|
|
var x1 = p2.x * mat.a + p2.y * mat.c + mat.tx;
|
|
var y1 = p2.x * mat.b + p2.y * mat.d + mat.ty;
|
|
p2.set(x1,y1);
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = 0;
|
|
var Height = 0;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
var _this = rect;
|
|
var minX = Math.min(p1.x,p2.x);
|
|
var minY = Math.min(p1.y,p2.y);
|
|
var maxX = Math.max(p1.x,p2.x);
|
|
var maxY = Math.max(p1.y,p2.y);
|
|
if(p1._weak) {
|
|
p1.put();
|
|
}
|
|
if(p2._weak) {
|
|
p2.put();
|
|
}
|
|
var X = minX;
|
|
var Y = minY;
|
|
var Width = maxX - minX;
|
|
var Height = maxY - minY;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var flxRect = _this;
|
|
var FlashRect = this.rect;
|
|
if(FlashRect == null) {
|
|
FlashRect = new openfl_geom_Rectangle();
|
|
}
|
|
FlashRect.x = flxRect.x;
|
|
FlashRect.y = flxRect.y;
|
|
FlashRect.width = flxRect.width;
|
|
FlashRect.height = flxRect.height;
|
|
if(!flxRect._inPool) {
|
|
flxRect._inPool = true;
|
|
flxRect._weak = false;
|
|
flixel_math_FlxRect._pool.putUnsafe(flxRect);
|
|
}
|
|
var rect = this.rect;
|
|
bmd.draw(this.parent.bitmap,this.matrix,null,null,rect);
|
|
}
|
|
return bmd;
|
|
}
|
|
,paintRotatedAndFlipped: function(bmd,point,rotation,flipX,flipY,mergeAlpha,disposeIfNotEqual) {
|
|
if(disposeIfNotEqual == null) {
|
|
disposeIfNotEqual = false;
|
|
}
|
|
if(mergeAlpha == null) {
|
|
mergeAlpha = false;
|
|
}
|
|
if(flipY == null) {
|
|
flipY = false;
|
|
}
|
|
if(flipX == null) {
|
|
flipX = false;
|
|
}
|
|
if(rotation == null) {
|
|
rotation = 0;
|
|
}
|
|
if(this.type == 2 && rotation == 0) {
|
|
return this.paint(bmd,point,mergeAlpha,disposeIfNotEqual);
|
|
}
|
|
if(point == null) {
|
|
point = this.point2;
|
|
point.setTo(0,0);
|
|
}
|
|
var bmd1 = bmd;
|
|
var rotation1 = rotation;
|
|
var mergeAlpha1 = mergeAlpha;
|
|
var disposeIfNotEqual1 = disposeIfNotEqual;
|
|
if(disposeIfNotEqual1 == null) {
|
|
disposeIfNotEqual1 = false;
|
|
}
|
|
if(mergeAlpha1 == null) {
|
|
mergeAlpha1 = false;
|
|
}
|
|
if(rotation1 == null) {
|
|
rotation1 = 0;
|
|
}
|
|
var w = this.sourceSize.x | 0;
|
|
var h = this.sourceSize.y | 0;
|
|
if(rotation1 != 0) {
|
|
var t = w;
|
|
w = h;
|
|
h = t;
|
|
}
|
|
if(bmd1 != null && disposeIfNotEqual1) {
|
|
bmd1 = flixel_util_FlxDestroyUtil.disposeIfNotEqual(bmd1,w,h);
|
|
}
|
|
if(bmd1 != null && !mergeAlpha1) {
|
|
this.rect.setTo(point.x,point.y,w,h);
|
|
bmd1.fillRect(this.rect,0);
|
|
} else if(bmd1 == null) {
|
|
bmd1 = new openfl_display_BitmapData(w,h,true,0);
|
|
}
|
|
bmd = bmd1;
|
|
if(this.type == 2) {
|
|
return bmd;
|
|
}
|
|
var doFlipX = flipX != this.flipX;
|
|
var doFlipY = flipY != this.flipY;
|
|
this.prepareTransformedBlitMatrix(this.matrix,rotation,doFlipX,doFlipY);
|
|
this.matrix.translate(point.x,point.y);
|
|
var mat = this.matrix;
|
|
var X = this.frame.x;
|
|
var Y = this.frame.y;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X1,Y1);
|
|
point._inPool = false;
|
|
var point1 = point;
|
|
point1._weak = true;
|
|
var p1 = point1;
|
|
var _this = this.frame;
|
|
var X = _this.x + _this.width;
|
|
var _this = this.frame;
|
|
var Y = _this.y + _this.height;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X1,Y1);
|
|
point._inPool = false;
|
|
var point1 = point;
|
|
point1._weak = true;
|
|
var p2 = point1;
|
|
var x1 = p1.x * mat.a + p1.y * mat.c + mat.tx;
|
|
var y1 = p1.x * mat.b + p1.y * mat.d + mat.ty;
|
|
p1.set(x1,y1);
|
|
var x1 = p2.x * mat.a + p2.y * mat.c + mat.tx;
|
|
var y1 = p2.x * mat.b + p2.y * mat.d + mat.ty;
|
|
p2.set(x1,y1);
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = 0;
|
|
var Height = 0;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
var _this = rect;
|
|
var minX = Math.min(p1.x,p2.x);
|
|
var minY = Math.min(p1.y,p2.y);
|
|
var maxX = Math.max(p1.x,p2.x);
|
|
var maxY = Math.max(p1.y,p2.y);
|
|
if(p1._weak) {
|
|
p1.put();
|
|
}
|
|
if(p2._weak) {
|
|
p2.put();
|
|
}
|
|
var X = minX;
|
|
var Y = minY;
|
|
var Width = maxX - minX;
|
|
var Height = maxY - minY;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var flxRect = _this;
|
|
var FlashRect = this.rect;
|
|
if(FlashRect == null) {
|
|
FlashRect = new openfl_geom_Rectangle();
|
|
}
|
|
FlashRect.x = flxRect.x;
|
|
FlashRect.y = flxRect.y;
|
|
FlashRect.width = flxRect.width;
|
|
FlashRect.height = flxRect.height;
|
|
if(!flxRect._inPool) {
|
|
flxRect._inPool = true;
|
|
flxRect._weak = false;
|
|
flixel_math_FlxRect._pool.putUnsafe(flxRect);
|
|
}
|
|
var rect = this.rect;
|
|
bmd.draw(this.parent.bitmap,this.matrix,null,null,rect);
|
|
return bmd;
|
|
}
|
|
,checkInputBitmap: function(bmd,point,rotation,mergeAlpha,disposeIfNotEqual) {
|
|
if(disposeIfNotEqual == null) {
|
|
disposeIfNotEqual = false;
|
|
}
|
|
if(mergeAlpha == null) {
|
|
mergeAlpha = false;
|
|
}
|
|
if(rotation == null) {
|
|
rotation = 0;
|
|
}
|
|
var w = this.sourceSize.x | 0;
|
|
var h = this.sourceSize.y | 0;
|
|
if(rotation != 0) {
|
|
var t = w;
|
|
w = h;
|
|
h = t;
|
|
}
|
|
if(bmd != null && disposeIfNotEqual) {
|
|
bmd = flixel_util_FlxDestroyUtil.disposeIfNotEqual(bmd,w,h);
|
|
}
|
|
if(bmd != null && !mergeAlpha) {
|
|
this.rect.setTo(point.x,point.y,w,h);
|
|
bmd.fillRect(this.rect,0);
|
|
} else if(bmd == null) {
|
|
bmd = new openfl_display_BitmapData(w,h,true,0);
|
|
}
|
|
return bmd;
|
|
}
|
|
,getDrawFrameRect: function(mat) {
|
|
var X = this.frame.x;
|
|
var Y = this.frame.y;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X1,Y1);
|
|
point._inPool = false;
|
|
var point1 = point;
|
|
point1._weak = true;
|
|
var p1 = point1;
|
|
var _this = this.frame;
|
|
var X = _this.x + _this.width;
|
|
var _this = this.frame;
|
|
var Y = _this.y + _this.height;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X1,Y1);
|
|
point._inPool = false;
|
|
var point1 = point;
|
|
point1._weak = true;
|
|
var p2 = point1;
|
|
var x1 = p1.x * mat.a + p1.y * mat.c + mat.tx;
|
|
var y1 = p1.x * mat.b + p1.y * mat.d + mat.ty;
|
|
p1.set(x1,y1);
|
|
var x1 = p2.x * mat.a + p2.y * mat.c + mat.tx;
|
|
var y1 = p2.x * mat.b + p2.y * mat.d + mat.ty;
|
|
p2.set(x1,y1);
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = 0;
|
|
var Height = 0;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
var _this = rect;
|
|
var minX = Math.min(p1.x,p2.x);
|
|
var minY = Math.min(p1.y,p2.y);
|
|
var maxX = Math.max(p1.x,p2.x);
|
|
var maxY = Math.max(p1.y,p2.y);
|
|
if(p1._weak) {
|
|
p1.put();
|
|
}
|
|
if(p2._weak) {
|
|
p2.put();
|
|
}
|
|
var X = minX;
|
|
var Y = minY;
|
|
var Width = maxX - minX;
|
|
var Height = maxY - minY;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var flxRect = _this;
|
|
var FlashRect = this.rect;
|
|
if(FlashRect == null) {
|
|
FlashRect = new openfl_geom_Rectangle();
|
|
}
|
|
FlashRect.x = flxRect.x;
|
|
FlashRect.y = flxRect.y;
|
|
FlashRect.width = flxRect.width;
|
|
FlashRect.height = flxRect.height;
|
|
if(!flxRect._inPool) {
|
|
flxRect._inPool = true;
|
|
flxRect._weak = false;
|
|
flixel_math_FlxRect._pool.putUnsafe(flxRect);
|
|
}
|
|
return this.rect;
|
|
}
|
|
,subFrameTo: function(rect,frameToFill) {
|
|
if(frameToFill == null) {
|
|
frameToFill = new flixel_graphics_frames_FlxFrame(this.parent,this.angle);
|
|
} else {
|
|
frameToFill.parent = this.parent;
|
|
frameToFill.angle = this.angle;
|
|
frameToFill.set_frame(flixel_util_FlxDestroyUtil.put(frameToFill.frame));
|
|
}
|
|
frameToFill.sourceSize.set(rect.width,rect.height);
|
|
if(this.type == 2) {
|
|
frameToFill.type = 2;
|
|
frameToFill.offset.set(0,0);
|
|
return frameToFill;
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = 0;
|
|
var Height = 0;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var rect1 = _this;
|
|
rect1._inPool = false;
|
|
var _this = rect1;
|
|
_this.width = this.frame.width;
|
|
_this.height = this.frame.height;
|
|
var clippedRect = _this;
|
|
if(this.angle != 0) {
|
|
clippedRect.width = this.frame.height;
|
|
clippedRect.height = this.frame.width;
|
|
}
|
|
var ox = Math.max(this.offset.x,0);
|
|
var oy = Math.max(this.offset.y,0);
|
|
rect.x += -ox;
|
|
rect.y += -oy;
|
|
var frameRect = clippedRect.intersection(rect);
|
|
clippedRect = flixel_util_FlxDestroyUtil.put(clippedRect);
|
|
rect.x += ox;
|
|
rect.y += oy;
|
|
if(frameRect.width == 0 || frameRect.height == 0) {
|
|
frameToFill.type = 2;
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = 0;
|
|
var Height = 0;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
frameRect.x = X;
|
|
frameRect.y = Y;
|
|
frameRect.width = Width;
|
|
frameRect.height = Height;
|
|
frameToFill.set_frame(frameRect);
|
|
frameToFill.offset.set(0,0);
|
|
} else {
|
|
frameToFill.type = 0;
|
|
var _this = frameToFill.offset.set(frameRect.x,frameRect.y);
|
|
var X = rect.x;
|
|
var Y = rect.y;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _g = _this;
|
|
_g.set_x(_g.x - X);
|
|
var _g = _this;
|
|
_g.set_y(_g.y - Y);
|
|
_this.addPoint(this.offset);
|
|
var X = frameRect.x;
|
|
var Y = frameRect.y;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X1,Y1);
|
|
point._inPool = false;
|
|
var point1 = point;
|
|
point1._weak = true;
|
|
var p1 = point1;
|
|
var X = frameRect.x + frameRect.width;
|
|
var Y = frameRect.y + frameRect.height;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X1,Y1);
|
|
point._inPool = false;
|
|
var point1 = point;
|
|
point1._weak = true;
|
|
var p2 = point1;
|
|
this.matrix.identity();
|
|
if(this.angle == -90) {
|
|
var _this = this.matrix;
|
|
_this.setTo(-_this.b,_this.a,-_this.d,_this.c,-_this.ty,_this.tx);
|
|
this.matrix.translate(this.frame.width,0);
|
|
} else if(this.angle == 90) {
|
|
var _this = this.matrix;
|
|
_this.setTo(_this.b,-_this.a,_this.d,-_this.c,_this.ty,-_this.tx);
|
|
this.matrix.translate(0,this.frame.height);
|
|
}
|
|
if(this.angle != 0) {
|
|
var matrix = this.matrix;
|
|
var x1 = p1.x * matrix.a + p1.y * matrix.c + matrix.tx;
|
|
var y1 = p1.x * matrix.b + p1.y * matrix.d + matrix.ty;
|
|
p1.set(x1,y1);
|
|
var matrix = this.matrix;
|
|
var x1 = p2.x * matrix.a + p2.y * matrix.c + matrix.tx;
|
|
var y1 = p2.x * matrix.b + p2.y * matrix.d + matrix.ty;
|
|
p2.set(x1,y1);
|
|
}
|
|
var minX = Math.min(p1.x,p2.x);
|
|
var minY = Math.min(p1.y,p2.y);
|
|
var maxX = Math.max(p1.x,p2.x);
|
|
var maxY = Math.max(p1.y,p2.y);
|
|
if(p1._weak) {
|
|
p1.put();
|
|
}
|
|
if(p2._weak) {
|
|
p2.put();
|
|
}
|
|
var X = minX;
|
|
var Y = minY;
|
|
var Width = maxX - minX;
|
|
var Height = maxY - minY;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
frameRect.x = X;
|
|
frameRect.y = Y;
|
|
frameRect.width = Width;
|
|
frameRect.height = Height;
|
|
frameRect.x += this.frame.x;
|
|
frameRect.y += this.frame.y;
|
|
frameToFill.set_frame(frameRect);
|
|
frameToFill.cacheFrameMatrix();
|
|
}
|
|
return frameToFill;
|
|
}
|
|
,setBorderTo: function(border,frameToFill) {
|
|
var X = border.x;
|
|
var Y = border.y;
|
|
var Width = this.sourceSize.x - 2 * border.x;
|
|
var Height = this.sourceSize.y - 2 * border.y;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
_this.x = X1;
|
|
_this.y = Y1;
|
|
_this.width = Width1;
|
|
_this.height = Height1;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
var rect1 = rect;
|
|
frameToFill = this.subFrameTo(rect1,frameToFill);
|
|
frameToFill.name = this.name;
|
|
rect1 = flixel_util_FlxDestroyUtil.put(rect1);
|
|
return frameToFill;
|
|
}
|
|
,clipTo: function(clip,clippedFrame) {
|
|
if(clippedFrame == null) {
|
|
clippedFrame = new flixel_graphics_frames_FlxFrame(this.parent,this.angle);
|
|
} else {
|
|
clippedFrame.parent = this.parent;
|
|
clippedFrame.angle = this.angle;
|
|
clippedFrame.set_frame(flixel_util_FlxDestroyUtil.put(clippedFrame.frame));
|
|
}
|
|
var _this = clippedFrame.sourceSize;
|
|
var point = this.sourceSize;
|
|
_this.set_x(point.x);
|
|
_this.set_y(point.y);
|
|
if(point._weak) {
|
|
point.put();
|
|
}
|
|
clippedFrame.name = this.name;
|
|
if(this.type == 2) {
|
|
clippedFrame.type = 2;
|
|
clippedFrame.offset.set(0,0);
|
|
return clippedFrame;
|
|
}
|
|
var X = 0;
|
|
var Y = 0;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width = 0;
|
|
var Height = 0;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
_this.x = X1;
|
|
_this.y = Y1;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
var _this = rect;
|
|
_this.width = this.frame.width;
|
|
_this.height = this.frame.height;
|
|
var clippedRect = _this;
|
|
if(this.angle != 0) {
|
|
clippedRect.width = this.frame.height;
|
|
clippedRect.height = this.frame.width;
|
|
}
|
|
clip.x += -this.offset.x;
|
|
clip.y += -this.offset.y;
|
|
var frameRect = clippedRect.intersection(clip);
|
|
clippedRect = flixel_util_FlxDestroyUtil.put(clippedRect);
|
|
if(frameRect.width == 0 || frameRect.height == 0) {
|
|
clippedFrame.type = 2;
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = 0;
|
|
var Height = 0;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
frameRect.x = X;
|
|
frameRect.y = Y;
|
|
frameRect.width = Width;
|
|
frameRect.height = Height;
|
|
clippedFrame.set_frame(frameRect);
|
|
clippedFrame.offset.set(0,0);
|
|
} else {
|
|
clippedFrame.type = 0;
|
|
clippedFrame.offset.set(frameRect.x,frameRect.y).addPoint(this.offset);
|
|
var X = frameRect.x;
|
|
var Y = frameRect.y;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X1,Y1);
|
|
point._inPool = false;
|
|
var point1 = point;
|
|
point1._weak = true;
|
|
var p1 = point1;
|
|
var X = frameRect.x + frameRect.width;
|
|
var Y = frameRect.y + frameRect.height;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X1,Y1);
|
|
point._inPool = false;
|
|
var point1 = point;
|
|
point1._weak = true;
|
|
var p2 = point1;
|
|
this.matrix.identity();
|
|
if(this.angle == -90) {
|
|
var _this = this.matrix;
|
|
_this.setTo(-_this.b,_this.a,-_this.d,_this.c,-_this.ty,_this.tx);
|
|
this.matrix.translate(this.frame.width,0);
|
|
} else if(this.angle == 90) {
|
|
var _this = this.matrix;
|
|
_this.setTo(_this.b,-_this.a,_this.d,-_this.c,_this.ty,-_this.tx);
|
|
this.matrix.translate(0,this.frame.height);
|
|
}
|
|
if(this.angle != 0) {
|
|
var matrix = this.matrix;
|
|
var x1 = p1.x * matrix.a + p1.y * matrix.c + matrix.tx;
|
|
var y1 = p1.x * matrix.b + p1.y * matrix.d + matrix.ty;
|
|
p1.set(x1,y1);
|
|
var matrix = this.matrix;
|
|
var x1 = p2.x * matrix.a + p2.y * matrix.c + matrix.tx;
|
|
var y1 = p2.x * matrix.b + p2.y * matrix.d + matrix.ty;
|
|
p2.set(x1,y1);
|
|
}
|
|
var minX = Math.min(p1.x,p2.x);
|
|
var minY = Math.min(p1.y,p2.y);
|
|
var maxX = Math.max(p1.x,p2.x);
|
|
var maxY = Math.max(p1.y,p2.y);
|
|
if(p1._weak) {
|
|
p1.put();
|
|
}
|
|
if(p2._weak) {
|
|
p2.put();
|
|
}
|
|
var X = minX;
|
|
var Y = minY;
|
|
var Width = maxX - minX;
|
|
var Height = maxY - minY;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
frameRect.x = X;
|
|
frameRect.y = Y;
|
|
frameRect.width = Width;
|
|
frameRect.height = Height;
|
|
frameRect.x += this.frame.x;
|
|
frameRect.y += this.frame.y;
|
|
clippedFrame.set_frame(frameRect);
|
|
clippedFrame.cacheFrameMatrix();
|
|
}
|
|
clip.x += this.offset.x;
|
|
clip.y += this.offset.y;
|
|
return clippedFrame;
|
|
}
|
|
,copyTo: function(clone) {
|
|
if(clone == null) {
|
|
clone = new flixel_graphics_frames_FlxFrame(this.parent,this.angle);
|
|
} else {
|
|
clone.parent = this.parent;
|
|
clone.angle = this.angle;
|
|
clone.set_frame(flixel_util_FlxDestroyUtil.put(clone.frame));
|
|
}
|
|
var _this = clone.offset;
|
|
var point = this.offset;
|
|
_this.set_x(point.x);
|
|
_this.set_y(point.y);
|
|
if(point._weak) {
|
|
point.put();
|
|
}
|
|
clone.flipX = this.flipX;
|
|
clone.flipY = this.flipY;
|
|
var _this = clone.sourceSize;
|
|
var point = this.sourceSize;
|
|
_this.set_x(point.x);
|
|
_this.set_y(point.y);
|
|
if(point._weak) {
|
|
point.put();
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = 0;
|
|
var Height = 0;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
var _this = rect;
|
|
var Rect = this.frame;
|
|
_this.x = Rect.x;
|
|
_this.y = Rect.y;
|
|
_this.width = Rect.width;
|
|
_this.height = Rect.height;
|
|
if(Rect._weak) {
|
|
if(!Rect._inPool) {
|
|
Rect._inPool = true;
|
|
Rect._weak = false;
|
|
flixel_math_FlxRect._pool.putUnsafe(Rect);
|
|
}
|
|
}
|
|
clone.set_frame(_this);
|
|
clone.type = this.type;
|
|
clone.name = this.name;
|
|
clone.cacheFrameMatrix();
|
|
return clone;
|
|
}
|
|
,destroy: function() {
|
|
this.name = null;
|
|
this.parent = null;
|
|
this.sourceSize = flixel_util_FlxDestroyUtil.put(this.sourceSize);
|
|
this.offset = flixel_util_FlxDestroyUtil.put(this.offset);
|
|
this.set_frame(flixel_util_FlxDestroyUtil.put(this.frame));
|
|
this.uv = flixel_util_FlxDestroyUtil.put(this.uv);
|
|
this.blitMatrix = null;
|
|
this.tileMatrix = null;
|
|
}
|
|
,toString: function() {
|
|
var value = this.name;
|
|
var _this = flixel_util_LabelValuePair._pool.get();
|
|
_this.label = "name";
|
|
_this.value = value;
|
|
return flixel_util_FlxStringUtil.getDebugString([_this]);
|
|
}
|
|
,set_frame: function(value) {
|
|
if(value != null) {
|
|
if(this.uv == null) {
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = 0;
|
|
var Height = 0;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
this.uv = rect;
|
|
}
|
|
var _this = this.uv;
|
|
var X = value.x / this.parent.width;
|
|
var Y = value.y / this.parent.height;
|
|
var Width = (value.x + value.width) / this.parent.width;
|
|
var Height = (value.y + value.height) / this.parent.height;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
}
|
|
return this.frame = value;
|
|
}
|
|
,__class__: flixel_graphics_frames_FlxFrame
|
|
,__properties__: {set_frame:"set_frame"}
|
|
};
|
|
var flixel_graphics_frames_FlxFrameCollectionType = $hxEnums["flixel.graphics.frames.FlxFrameCollectionType"] = { __ename__ : "flixel.graphics.frames.FlxFrameCollectionType", __constructs__ : ["IMAGE","TILES","ATLAS","FONT","USER","FILTER"]
|
|
,IMAGE: {_hx_index:0,__enum__:"flixel.graphics.frames.FlxFrameCollectionType",toString:$estr}
|
|
,TILES: {_hx_index:1,__enum__:"flixel.graphics.frames.FlxFrameCollectionType",toString:$estr}
|
|
,ATLAS: {_hx_index:2,__enum__:"flixel.graphics.frames.FlxFrameCollectionType",toString:$estr}
|
|
,FONT: {_hx_index:3,__enum__:"flixel.graphics.frames.FlxFrameCollectionType",toString:$estr}
|
|
,USER: ($_=function(type) { return {_hx_index:4,type:type,__enum__:"flixel.graphics.frames.FlxFrameCollectionType",toString:$estr}; },$_.__params__ = ["type"],$_)
|
|
,FILTER: {_hx_index:5,__enum__:"flixel.graphics.frames.FlxFrameCollectionType",toString:$estr}
|
|
};
|
|
var flixel_graphics_frames_FlxImageFrame = function(parent,border) {
|
|
flixel_graphics_frames_FlxFramesCollection.call(this,parent,flixel_graphics_frames_FlxFrameCollectionType.IMAGE,border);
|
|
};
|
|
$hxClasses["flixel.graphics.frames.FlxImageFrame"] = flixel_graphics_frames_FlxImageFrame;
|
|
flixel_graphics_frames_FlxImageFrame.__name__ = "flixel.graphics.frames.FlxImageFrame";
|
|
flixel_graphics_frames_FlxImageFrame.fromEmptyFrame = function(graphic,frameRect) {
|
|
if(graphic == null || frameRect == null) {
|
|
return null;
|
|
}
|
|
var imageFrame = flixel_graphics_frames_FlxImageFrame.findEmptyFrame(graphic,frameRect);
|
|
if(imageFrame != null) {
|
|
return imageFrame;
|
|
}
|
|
imageFrame = new flixel_graphics_frames_FlxImageFrame(graphic);
|
|
imageFrame.addEmptyFrame(frameRect);
|
|
return imageFrame;
|
|
};
|
|
flixel_graphics_frames_FlxImageFrame.fromFrame = function(source) {
|
|
var graphic = source.parent;
|
|
var rect = source.frame;
|
|
var imageFrame = flixel_graphics_frames_FlxImageFrame.findFrame(graphic,rect);
|
|
if(imageFrame != null) {
|
|
return imageFrame;
|
|
}
|
|
imageFrame = new flixel_graphics_frames_FlxImageFrame(graphic);
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = 0;
|
|
var Height = 0;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var rect1 = _this;
|
|
rect1._inPool = false;
|
|
var Rect = rect1;
|
|
Rect.x = rect.x;
|
|
Rect.y = rect.y;
|
|
Rect.width = rect.width;
|
|
Rect.height = rect.height;
|
|
if(Rect._weak) {
|
|
if(!Rect._inPool) {
|
|
Rect._inPool = true;
|
|
Rect._weak = false;
|
|
flixel_math_FlxRect._pool.putUnsafe(Rect);
|
|
}
|
|
}
|
|
imageFrame.addSpriteSheetFrame(Rect);
|
|
return imageFrame;
|
|
};
|
|
flixel_graphics_frames_FlxImageFrame.fromImage = function(source) {
|
|
return flixel_graphics_frames_FlxImageFrame.fromRectangle(source,null);
|
|
};
|
|
flixel_graphics_frames_FlxImageFrame.fromGraphic = function(graphic,region) {
|
|
if(graphic == null) {
|
|
return null;
|
|
}
|
|
var checkRegion = region;
|
|
if(checkRegion == null) {
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = graphic.width;
|
|
var Height = graphic.height;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X = X1;
|
|
var Y = Y1;
|
|
var Width = Width1;
|
|
var Height = Height1;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
var rect1 = rect;
|
|
rect1._weak = true;
|
|
checkRegion = rect1;
|
|
}
|
|
var imageFrame = flixel_graphics_frames_FlxImageFrame.findFrame(graphic,checkRegion);
|
|
if(imageFrame != null) {
|
|
return imageFrame;
|
|
}
|
|
imageFrame = new flixel_graphics_frames_FlxImageFrame(graphic);
|
|
if(region == null) {
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = graphic.width;
|
|
var Height = graphic.height;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
_this.x = X1;
|
|
_this.y = Y1;
|
|
_this.width = Width1;
|
|
_this.height = Height1;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
region = rect;
|
|
} else {
|
|
if(region.width == 0) {
|
|
region.width = graphic.width - region.x;
|
|
}
|
|
if(region.height == 0) {
|
|
region.height = graphic.height - region.y;
|
|
}
|
|
}
|
|
imageFrame.addSpriteSheetFrame(region);
|
|
return imageFrame;
|
|
};
|
|
flixel_graphics_frames_FlxImageFrame.fromRectangle = function(source,region) {
|
|
var graphic = flixel_FlxG.bitmap.add(source,false);
|
|
return flixel_graphics_frames_FlxImageFrame.fromGraphic(graphic,region);
|
|
};
|
|
flixel_graphics_frames_FlxImageFrame.fromBitmapAddSpacesAndBorders = function(source,border,region) {
|
|
var graphic = flixel_FlxG.bitmap.add(source,false);
|
|
if(graphic == null) {
|
|
return null;
|
|
}
|
|
var key = flixel_FlxG.bitmap.getKeyWithSpacesAndBorders(graphic.key,null,null,border,region);
|
|
var result = flixel_FlxG.bitmap._cache.h[key];
|
|
if(result == null) {
|
|
var bitmap = flixel_util_FlxBitmapDataUtil.addSpacesAndBorders(graphic.bitmap,null,null,border,region);
|
|
result = flixel_FlxG.bitmap.add(bitmap,false,key);
|
|
}
|
|
var imageFrame = flixel_graphics_frames_FlxImageFrame.fromGraphic(graphic);
|
|
return imageFrame.addBorder(border);
|
|
};
|
|
flixel_graphics_frames_FlxImageFrame.fromFrameAddSpacesAndBorders = function(frame,border) {
|
|
var bitmap = frame.paint();
|
|
return flixel_graphics_frames_FlxImageFrame.fromBitmapAddSpacesAndBorders(bitmap,border);
|
|
};
|
|
flixel_graphics_frames_FlxImageFrame.findFrame = function(graphic,frameRect,frameBorder) {
|
|
if(frameBorder == null) {
|
|
var X = 0;
|
|
var Y = 0;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
var point1 = point;
|
|
point1._weak = true;
|
|
frameBorder = point1;
|
|
}
|
|
var type = flixel_graphics_frames_FlxFrameCollectionType.IMAGE;
|
|
var collections = graphic.frameCollections.get(type);
|
|
if(collections == null) {
|
|
collections = [];
|
|
graphic.frameCollections.set(type,collections);
|
|
}
|
|
var imageFrames = collections;
|
|
var _g = 0;
|
|
while(_g < imageFrames.length) {
|
|
var imageFrame = imageFrames[_g];
|
|
++_g;
|
|
var tmp;
|
|
var rect = imageFrame.get_frame().frame;
|
|
var result = Math.abs(frameRect.x - rect.x) <= 0.0000001 && Math.abs(frameRect.y - rect.y) <= 0.0000001 && Math.abs(frameRect.width - rect.width) <= 0.0000001 && Math.abs(frameRect.height - rect.height) <= 0.0000001;
|
|
if(rect._weak) {
|
|
if(!rect._inPool) {
|
|
rect._inPool = true;
|
|
rect._weak = false;
|
|
flixel_math_FlxRect._pool.putUnsafe(rect);
|
|
}
|
|
}
|
|
if(result) {
|
|
var point = imageFrame.border;
|
|
var result1 = Math.abs(frameBorder.x - point.x) <= 0.0000001 && Math.abs(frameBorder.y - point.y) <= 0.0000001;
|
|
if(point._weak) {
|
|
point.put();
|
|
}
|
|
tmp = result1;
|
|
} else {
|
|
tmp = false;
|
|
}
|
|
if(tmp && imageFrame.get_frame().type != 2) {
|
|
return imageFrame;
|
|
}
|
|
}
|
|
return null;
|
|
};
|
|
flixel_graphics_frames_FlxImageFrame.findEmptyFrame = function(graphic,frameRect) {
|
|
var type = flixel_graphics_frames_FlxFrameCollectionType.IMAGE;
|
|
var collections = graphic.frameCollections.get(type);
|
|
if(collections == null) {
|
|
collections = [];
|
|
graphic.frameCollections.set(type,collections);
|
|
}
|
|
var imageFrames = collections;
|
|
var _g = 0;
|
|
while(_g < imageFrames.length) {
|
|
var imageFrame = imageFrames[_g];
|
|
++_g;
|
|
var frame = imageFrame.get_frame();
|
|
if(frame.sourceSize.x == frameRect.width && frame.sourceSize.y == frameRect.height && frame.type == 2) {
|
|
return imageFrame;
|
|
}
|
|
}
|
|
return null;
|
|
};
|
|
flixel_graphics_frames_FlxImageFrame.__super__ = flixel_graphics_frames_FlxFramesCollection;
|
|
flixel_graphics_frames_FlxImageFrame.prototype = $extend(flixel_graphics_frames_FlxFramesCollection.prototype,{
|
|
equals: function(rect,border) {
|
|
var rect1 = this.get_frame().frame;
|
|
var result = Math.abs(rect.x - rect1.x) <= 0.0000001 && Math.abs(rect.y - rect1.y) <= 0.0000001 && Math.abs(rect.width - rect1.width) <= 0.0000001 && Math.abs(rect.height - rect1.height) <= 0.0000001;
|
|
if(rect1._weak) {
|
|
if(!rect1._inPool) {
|
|
rect1._inPool = true;
|
|
rect1._weak = false;
|
|
flixel_math_FlxRect._pool.putUnsafe(rect1);
|
|
}
|
|
}
|
|
if(result) {
|
|
var point = this.border;
|
|
var result = Math.abs(border.x - point.x) <= 0.0000001 && Math.abs(border.y - point.y) <= 0.0000001;
|
|
if(point._weak) {
|
|
point.put();
|
|
}
|
|
return result;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,addBorder: function(border) {
|
|
var X = 0;
|
|
var Y = 0;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
var point1 = point;
|
|
point1._weak = true;
|
|
var resultBorder = point1.addPoint(this.border).addPoint(border);
|
|
var imageFrame = flixel_graphics_frames_FlxImageFrame.findFrame(this.parent,this.get_frame().frame,resultBorder);
|
|
if(imageFrame != null) {
|
|
return imageFrame;
|
|
}
|
|
imageFrame = new flixel_graphics_frames_FlxImageFrame(this.parent,resultBorder);
|
|
imageFrame.pushFrame(this.get_frame().setBorderTo(border));
|
|
return imageFrame;
|
|
}
|
|
,destroy: function() {
|
|
flixel_graphics_frames_FlxFramesCollection.prototype.destroy.call(this);
|
|
flixel_util_FlxDestroyUtil.destroy(this.get_frame());
|
|
}
|
|
,get_frame: function() {
|
|
return this.frames[0];
|
|
}
|
|
,__class__: flixel_graphics_frames_FlxImageFrame
|
|
,__properties__: $extend(flixel_graphics_frames_FlxFramesCollection.prototype.__properties__,{get_frame:"get_frame"})
|
|
});
|
|
var flixel_graphics_frames_FlxTileFrames = function(parent,border) {
|
|
this.numCols = 0;
|
|
this.numRows = 0;
|
|
flixel_graphics_frames_FlxFramesCollection.call(this,parent,flixel_graphics_frames_FlxFrameCollectionType.TILES,border);
|
|
};
|
|
$hxClasses["flixel.graphics.frames.FlxTileFrames"] = flixel_graphics_frames_FlxTileFrames;
|
|
flixel_graphics_frames_FlxTileFrames.__name__ = "flixel.graphics.frames.FlxTileFrames";
|
|
flixel_graphics_frames_FlxTileFrames.fromBitmapAddSpacesAndBorders = function(source,tileSize,tileSpacing,tileBorder,region) {
|
|
var graphic = flixel_FlxG.bitmap.add(source,false);
|
|
if(graphic == null) {
|
|
return null;
|
|
}
|
|
var key = flixel_FlxG.bitmap.getKeyWithSpacesAndBorders(graphic.key,tileSize,tileSpacing,tileBorder,region);
|
|
var result = flixel_FlxG.bitmap._cache.h[key];
|
|
if(result == null) {
|
|
var bitmap = flixel_util_FlxBitmapDataUtil.addSpacesAndBorders(graphic.bitmap,tileSize,tileSpacing,tileBorder,region);
|
|
result = flixel_FlxG.bitmap.add(bitmap,false,key);
|
|
}
|
|
var borderX = 0;
|
|
var borderY = 0;
|
|
if(tileBorder != null) {
|
|
borderX = tileBorder.x | 0;
|
|
borderY = tileBorder.y | 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
var _this = point.addPoint(tileSize);
|
|
var X = 2 * borderX;
|
|
var Y = 2 * borderY;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _g = _this;
|
|
_g.set_x(_g.x + X);
|
|
var _g = _this;
|
|
_g.set_y(_g.y + Y);
|
|
var tileFrames = flixel_graphics_frames_FlxTileFrames.fromGraphic(result,_this,null,tileSpacing);
|
|
if(tileBorder == null) {
|
|
return tileFrames;
|
|
}
|
|
return tileFrames.addBorder(tileBorder);
|
|
};
|
|
flixel_graphics_frames_FlxTileFrames.fromFrameAddSpacesAndBorders = function(frame,tileSize,tileSpacing,tileBorder) {
|
|
var bitmap = frame.paint();
|
|
return flixel_graphics_frames_FlxTileFrames.fromBitmapAddSpacesAndBorders(bitmap,tileSize,tileSpacing,tileBorder);
|
|
};
|
|
flixel_graphics_frames_FlxTileFrames.fromFrame = function(frame,tileSize,tileSpacing) {
|
|
var graphic = frame.parent;
|
|
var tileFrames = flixel_graphics_frames_FlxTileFrames.findFrame(graphic,tileSize,null,frame,tileSpacing);
|
|
if(tileFrames != null) {
|
|
return tileFrames;
|
|
}
|
|
if(tileSpacing == null) {
|
|
var X = 0;
|
|
var Y = 0;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
tileSpacing = point;
|
|
}
|
|
tileFrames = new flixel_graphics_frames_FlxTileFrames(graphic);
|
|
tileFrames.atlasFrame = frame;
|
|
tileFrames.region = frame.frame;
|
|
tileFrames.tileSize = tileSize;
|
|
tileFrames.tileSpacing = tileSpacing;
|
|
tileSpacing.set_x(Math.floor(tileSpacing.x));
|
|
tileSpacing.set_y(Math.floor(tileSpacing.y));
|
|
tileSize.set_x(Math.floor(tileSize.x));
|
|
tileSize.set_y(Math.floor(tileSize.y));
|
|
var spacedWidth = tileSize.x + tileSpacing.x;
|
|
var spacedHeight = tileSize.y + tileSpacing.y;
|
|
var numRows = tileSize.y == 0 ? 1 : (frame.sourceSize.y + tileSpacing.y) / spacedHeight | 0;
|
|
var numCols = tileSize.x == 0 ? 1 : (frame.sourceSize.x + tileSpacing.x) / spacedWidth | 0;
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = tileSize.x;
|
|
var Height = tileSize.y;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
_this.x = X1;
|
|
_this.y = Y1;
|
|
_this.width = Width1;
|
|
_this.height = Height1;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
var helperRect = rect;
|
|
var _g = 0;
|
|
var _g1 = numRows;
|
|
while(_g < _g1) {
|
|
var j = _g++;
|
|
var _g2 = 0;
|
|
var _g3 = numCols;
|
|
while(_g2 < _g3) {
|
|
var i = _g2++;
|
|
helperRect.x = spacedWidth * i;
|
|
helperRect.y = spacedHeight * j;
|
|
tileFrames.pushFrame(frame.subFrameTo(helperRect));
|
|
}
|
|
}
|
|
helperRect = flixel_util_FlxDestroyUtil.put(helperRect);
|
|
tileFrames.numCols = numCols;
|
|
tileFrames.numRows = numRows;
|
|
return tileFrames;
|
|
};
|
|
flixel_graphics_frames_FlxTileFrames.fromFrames = function(Frames) {
|
|
var firstFrame = Frames[0];
|
|
var graphic = firstFrame.parent;
|
|
var _g = 0;
|
|
while(_g < Frames.length) {
|
|
var frame = Frames[_g];
|
|
++_g;
|
|
var tmp;
|
|
if(frame.parent == firstFrame.parent) {
|
|
var _this = frame.sourceSize;
|
|
var point = firstFrame.sourceSize;
|
|
var result = Math.abs(_this.x - point.x) <= 0.0000001 && Math.abs(_this.y - point.y) <= 0.0000001;
|
|
if(point._weak) {
|
|
point.put();
|
|
}
|
|
tmp = !result;
|
|
} else {
|
|
tmp = true;
|
|
}
|
|
if(tmp) {
|
|
return null;
|
|
}
|
|
}
|
|
var tileFrames = new flixel_graphics_frames_FlxTileFrames(graphic);
|
|
tileFrames.region = null;
|
|
tileFrames.atlasFrame = null;
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
var _this = point;
|
|
var point = firstFrame.sourceSize;
|
|
_this.set_x(point.x);
|
|
_this.set_y(point.y);
|
|
if(point._weak) {
|
|
point.put();
|
|
}
|
|
tileFrames.tileSize = _this;
|
|
var X = 0;
|
|
var Y = 0;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
tileFrames.tileSpacing = point;
|
|
tileFrames.numCols = Frames.length;
|
|
tileFrames.numRows = 1;
|
|
var _g = 0;
|
|
while(_g < Frames.length) {
|
|
var frame = Frames[_g];
|
|
++_g;
|
|
tileFrames.frames.push(frame);
|
|
if(frame.name != null) {
|
|
tileFrames.framesHash.h[frame.name] = frame;
|
|
}
|
|
}
|
|
return tileFrames;
|
|
};
|
|
flixel_graphics_frames_FlxTileFrames.fromAtlasByPrefix = function(Frames,Prefix) {
|
|
var framesToAdd = [];
|
|
var _g = 0;
|
|
var _g1 = Frames.frames;
|
|
while(_g < _g1.length) {
|
|
var frame = _g1[_g];
|
|
++_g;
|
|
if(StringTools.startsWith(frame.name,Prefix)) {
|
|
framesToAdd.push(frame);
|
|
}
|
|
}
|
|
if(framesToAdd.length > 0) {
|
|
var name = framesToAdd[0].name;
|
|
var postIndex = name.indexOf(".",Prefix.length);
|
|
var postFix = name.substring(postIndex == -1 ? name.length : postIndex,name.length);
|
|
flixel_graphics_frames_FlxFrame.sort(framesToAdd,Prefix.length,postFix.length);
|
|
return flixel_graphics_frames_FlxTileFrames.fromFrames(framesToAdd);
|
|
}
|
|
return null;
|
|
};
|
|
flixel_graphics_frames_FlxTileFrames.fromGraphic = function(graphic,tileSize,region,tileSpacing) {
|
|
var tileFrames = flixel_graphics_frames_FlxTileFrames.findFrame(graphic,tileSize,region,null,tileSpacing);
|
|
if(tileFrames != null) {
|
|
return tileFrames;
|
|
}
|
|
if(region == null) {
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = graphic.width;
|
|
var Height = graphic.height;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
_this.x = X1;
|
|
_this.y = Y1;
|
|
_this.width = Width1;
|
|
_this.height = Height1;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
region = rect;
|
|
} else {
|
|
if(region.width == 0) {
|
|
region.width = graphic.width - region.x;
|
|
}
|
|
if(region.height == 0) {
|
|
region.height = graphic.height - region.y;
|
|
}
|
|
}
|
|
if(tileSpacing == null) {
|
|
var X = 0;
|
|
var Y = 0;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
tileSpacing = point;
|
|
}
|
|
tileFrames = new flixel_graphics_frames_FlxTileFrames(graphic);
|
|
tileFrames.region = region;
|
|
tileFrames.atlasFrame = null;
|
|
tileFrames.tileSize = tileSize;
|
|
tileFrames.tileSpacing = tileSpacing;
|
|
region.x = Math.floor(region.x);
|
|
region.y = Math.floor(region.y);
|
|
region.width = Math.floor(region.width);
|
|
region.height = Math.floor(region.height);
|
|
tileSpacing.set_x(Math.floor(tileSpacing.x));
|
|
tileSpacing.set_y(Math.floor(tileSpacing.y));
|
|
tileSize.set_x(Math.floor(tileSize.x));
|
|
tileSize.set_y(Math.floor(tileSize.y));
|
|
var spacedWidth = tileSize.x + tileSpacing.x;
|
|
var spacedHeight = tileSize.y + tileSpacing.y;
|
|
var numRows = tileSize.y == 0 ? 1 : (region.height + tileSpacing.y) / spacedHeight | 0;
|
|
var numCols = tileSize.x == 0 ? 1 : (region.width + tileSpacing.x) / spacedWidth | 0;
|
|
var tileRect;
|
|
var _g = 0;
|
|
var _g1 = numRows;
|
|
while(_g < _g1) {
|
|
var j = _g++;
|
|
var _g2 = 0;
|
|
var _g3 = numCols;
|
|
while(_g2 < _g3) {
|
|
var i = _g2++;
|
|
var X = region.x + i * spacedWidth;
|
|
var Y = region.y + j * spacedHeight;
|
|
var Width = tileSize.x;
|
|
var Height = tileSize.y;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
_this.x = X1;
|
|
_this.y = Y1;
|
|
_this.width = Width1;
|
|
_this.height = Height1;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
tileRect = rect;
|
|
tileFrames.addSpriteSheetFrame(tileRect);
|
|
}
|
|
}
|
|
tileFrames.numCols = numCols;
|
|
tileFrames.numRows = numRows;
|
|
return tileFrames;
|
|
};
|
|
flixel_graphics_frames_FlxTileFrames.fromRectangle = function(source,tileSize,region,tileSpacing) {
|
|
var graphic = flixel_FlxG.bitmap.add(source,false);
|
|
if(graphic == null) {
|
|
return null;
|
|
}
|
|
return flixel_graphics_frames_FlxTileFrames.fromGraphic(graphic,tileSize,region,tileSpacing);
|
|
};
|
|
flixel_graphics_frames_FlxTileFrames.combineTileSets = function(bitmaps,tileSize,spacing,border) {
|
|
var framesCollections = [];
|
|
var _g = 0;
|
|
while(_g < bitmaps.length) {
|
|
var bitmap = bitmaps[_g];
|
|
++_g;
|
|
framesCollections.push(flixel_graphics_frames_FlxTileFrames.fromRectangle(bitmap,tileSize));
|
|
}
|
|
return flixel_graphics_frames_FlxTileFrames.combineTileFrames(framesCollections,spacing,border);
|
|
};
|
|
flixel_graphics_frames_FlxTileFrames.combineTileFrames = function(tileframes,spacing,border) {
|
|
var totalArea = 0;
|
|
var rows = 0;
|
|
var cols = 0;
|
|
var tileWidth = tileframes[0].frames[0].sourceSize.x | 0;
|
|
var tileHeight = tileframes[0].frames[0].sourceSize.y | 0;
|
|
var spaceX = 0;
|
|
var spaceY = 0;
|
|
if(spacing != null) {
|
|
spaceX = spacing.x | 0;
|
|
spaceY = spacing.y | 0;
|
|
}
|
|
var borderX = 0;
|
|
var borderY = 0;
|
|
if(border != null) {
|
|
borderX = border.x | 0;
|
|
borderY = border.y | 0;
|
|
}
|
|
var _g = 0;
|
|
while(_g < tileframes.length) {
|
|
var collection = tileframes[_g];
|
|
++_g;
|
|
cols = collection.numCols;
|
|
rows = collection.numRows;
|
|
totalArea += cols * (tileWidth + 2 * borderX) * rows * (tileHeight + 2 * borderY) | 0;
|
|
}
|
|
var side = Math.sqrt(totalArea);
|
|
cols = side / (tileWidth + 2 * borderX) | 0;
|
|
rows = Math.ceil(totalArea / (cols * (tileWidth + 2 * borderX) * (tileHeight + 2 * borderY)));
|
|
var width = (cols * (tileWidth + 2 * borderX) | 0) + (cols - 1) * spaceX;
|
|
var height = (rows * (tileHeight + 2 * borderY) | 0) + (rows - 1) * spaceY;
|
|
var combined = new openfl_display_BitmapData(width,height,true,0);
|
|
var graphic = flixel_FlxG.bitmap.add(combined);
|
|
var result = new flixel_graphics_frames_FlxTileFrames(graphic);
|
|
var destPoint = new openfl_geom_Point(borderX,borderY);
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = width;
|
|
var Height = height;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
_this.x = X1;
|
|
_this.y = Y1;
|
|
_this.width = Width1;
|
|
_this.height = Height1;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
result.region = rect;
|
|
result.atlasFrame = null;
|
|
var X = tileWidth;
|
|
var Y = tileHeight;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
result.tileSize = point;
|
|
var X = spaceX;
|
|
var Y = spaceY;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
result.tileSpacing = point;
|
|
result.numCols = cols;
|
|
result.numRows = rows;
|
|
var _g = 0;
|
|
while(_g < tileframes.length) {
|
|
var collection = tileframes[_g];
|
|
++_g;
|
|
var _g1 = 0;
|
|
var _g2 = collection.frames;
|
|
while(_g1 < _g2.length) {
|
|
var frame = _g2[_g1];
|
|
++_g1;
|
|
frame.paint(combined,destPoint,true);
|
|
var X = destPoint.x;
|
|
var Y = destPoint.y;
|
|
var Width = tileWidth;
|
|
var Height = tileHeight;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
_this.x = X1;
|
|
_this.y = Y1;
|
|
_this.width = Width1;
|
|
_this.height = Height1;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
var X2 = tileWidth;
|
|
var Y2 = tileHeight;
|
|
if(Y2 == null) {
|
|
Y2 = 0;
|
|
}
|
|
if(X2 == null) {
|
|
X2 = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X2,Y2);
|
|
point._inPool = false;
|
|
var X3 = 0;
|
|
var Y3 = 0;
|
|
if(Y3 == null) {
|
|
Y3 = 0;
|
|
}
|
|
if(X3 == null) {
|
|
X3 = 0;
|
|
}
|
|
var point1 = flixel_math_FlxPoint._pool.get().set(X3,Y3);
|
|
point1._inPool = false;
|
|
result.addAtlasFrame(rect,point,point1);
|
|
destPoint.x += tileWidth + 2 * borderX + spaceX;
|
|
if(destPoint.x >= combined.width) {
|
|
destPoint.x = borderX;
|
|
destPoint.y += tileHeight + 2 * borderY + spaceY;
|
|
}
|
|
}
|
|
}
|
|
flixel_util_FlxBitmapDataUtil.copyBorderPixels(combined,tileWidth,tileHeight,spaceX,spaceY,borderX,borderY,cols,rows);
|
|
return result;
|
|
};
|
|
flixel_graphics_frames_FlxTileFrames.findFrame = function(graphic,tileSize,region,atlasFrame,tileSpacing,border) {
|
|
var type = flixel_graphics_frames_FlxFrameCollectionType.TILES;
|
|
var collections = graphic.frameCollections.get(type);
|
|
if(collections == null) {
|
|
collections = [];
|
|
graphic.frameCollections.set(type,collections);
|
|
}
|
|
var tileFrames = collections;
|
|
var _g = 0;
|
|
while(_g < tileFrames.length) {
|
|
var sheet = tileFrames[_g];
|
|
++_g;
|
|
if(sheet.equals(tileSize,region,null,tileSpacing,border)) {
|
|
return sheet;
|
|
}
|
|
}
|
|
return null;
|
|
};
|
|
flixel_graphics_frames_FlxTileFrames.__super__ = flixel_graphics_frames_FlxFramesCollection;
|
|
flixel_graphics_frames_FlxTileFrames.prototype = $extend(flixel_graphics_frames_FlxFramesCollection.prototype,{
|
|
atlasFrame: null
|
|
,region: null
|
|
,tileSize: null
|
|
,tileSpacing: null
|
|
,numRows: null
|
|
,numCols: null
|
|
,getByTilePosition: function(column,row) {
|
|
return this.frames[row * this.numCols + column];
|
|
}
|
|
,equals: function(tileSize,region,atlasFrame,tileSpacing,border) {
|
|
if(this.region == null && this.atlasFrame == null) {
|
|
return false;
|
|
}
|
|
if(atlasFrame != null) {
|
|
region = atlasFrame.frame;
|
|
}
|
|
if(region == null) {
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = this.parent.width;
|
|
var Height = this.parent.height;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X = X1;
|
|
var Y = Y1;
|
|
var Width = Width1;
|
|
var Height = Height1;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
var rect1 = rect;
|
|
rect1._weak = true;
|
|
region = rect1;
|
|
}
|
|
if(tileSpacing == null) {
|
|
var X = 0;
|
|
var Y = 0;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
var point1 = point;
|
|
point1._weak = true;
|
|
tileSpacing = point1;
|
|
}
|
|
if(border == null) {
|
|
var X = 0;
|
|
var Y = 0;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
var point1 = point;
|
|
point1._weak = true;
|
|
border = point1;
|
|
}
|
|
var tmp;
|
|
var tmp1;
|
|
var tmp2;
|
|
if(this.atlasFrame == atlasFrame) {
|
|
var _this = this.region;
|
|
var result = Math.abs(_this.x - region.x) <= 0.0000001 && Math.abs(_this.y - region.y) <= 0.0000001 && Math.abs(_this.width - region.width) <= 0.0000001 && Math.abs(_this.height - region.height) <= 0.0000001;
|
|
if(region._weak) {
|
|
if(!region._inPool) {
|
|
region._inPool = true;
|
|
region._weak = false;
|
|
flixel_math_FlxRect._pool.putUnsafe(region);
|
|
}
|
|
}
|
|
tmp2 = result;
|
|
} else {
|
|
tmp2 = false;
|
|
}
|
|
if(tmp2) {
|
|
var _this = this.tileSize;
|
|
var result = Math.abs(_this.x - tileSize.x) <= 0.0000001 && Math.abs(_this.y - tileSize.y) <= 0.0000001;
|
|
if(tileSize._weak) {
|
|
tileSize.put();
|
|
}
|
|
tmp1 = result;
|
|
} else {
|
|
tmp1 = false;
|
|
}
|
|
if(tmp1) {
|
|
var _this = this.tileSpacing;
|
|
var result = Math.abs(_this.x - tileSpacing.x) <= 0.0000001 && Math.abs(_this.y - tileSpacing.y) <= 0.0000001;
|
|
if(tileSpacing._weak) {
|
|
tileSpacing.put();
|
|
}
|
|
tmp = result;
|
|
} else {
|
|
tmp = false;
|
|
}
|
|
if(tmp) {
|
|
var _this = this.border;
|
|
var result = Math.abs(_this.x - border.x) <= 0.0000001 && Math.abs(_this.y - border.y) <= 0.0000001;
|
|
if(border._weak) {
|
|
border.put();
|
|
}
|
|
return result;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,addBorder: function(border) {
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
var resultBorder = point.addPoint(this.border).addPoint(border);
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
var _this = point;
|
|
var point = this.tileSize;
|
|
_this.set_x(point.x);
|
|
_this.set_y(point.y);
|
|
if(point._weak) {
|
|
point.put();
|
|
}
|
|
var _this1 = _this;
|
|
var X = 2 * border.x;
|
|
var Y = 2 * border.y;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _g = _this1;
|
|
_g.set_x(_g.x - X);
|
|
var _g = _this1;
|
|
_g.set_y(_g.y - Y);
|
|
var resultSize = _this1;
|
|
var tileFrames = flixel_graphics_frames_FlxTileFrames.findFrame(this.parent,resultSize,this.region,this.atlasFrame,this.tileSpacing,resultBorder);
|
|
if(tileFrames != null) {
|
|
resultSize = flixel_util_FlxDestroyUtil.put(resultSize);
|
|
return tileFrames;
|
|
}
|
|
tileFrames = new flixel_graphics_frames_FlxTileFrames(this.parent,resultBorder);
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = 0;
|
|
var Height = 0;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
var _this = rect;
|
|
var Rect = this.region;
|
|
_this.x = Rect.x;
|
|
_this.y = Rect.y;
|
|
_this.width = Rect.width;
|
|
_this.height = Rect.height;
|
|
if(Rect._weak) {
|
|
if(!Rect._inPool) {
|
|
Rect._inPool = true;
|
|
Rect._weak = false;
|
|
flixel_math_FlxRect._pool.putUnsafe(Rect);
|
|
}
|
|
}
|
|
tileFrames.region = _this;
|
|
tileFrames.atlasFrame = this.atlasFrame;
|
|
tileFrames.tileSize = resultSize;
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
var _this = point;
|
|
var point = this.tileSpacing;
|
|
_this.set_x(point.x);
|
|
_this.set_y(point.y);
|
|
if(point._weak) {
|
|
point.put();
|
|
}
|
|
tileFrames.tileSpacing = _this;
|
|
var _g = 0;
|
|
var _g1 = this.frames;
|
|
while(_g < _g1.length) {
|
|
var frame = _g1[_g];
|
|
++_g;
|
|
tileFrames.pushFrame(frame.setBorderTo(border));
|
|
}
|
|
return tileFrames;
|
|
}
|
|
,destroy: function() {
|
|
flixel_graphics_frames_FlxFramesCollection.prototype.destroy.call(this);
|
|
this.atlasFrame = null;
|
|
this.region = flixel_util_FlxDestroyUtil.put(this.region);
|
|
this.tileSize = flixel_util_FlxDestroyUtil.put(this.tileSize);
|
|
this.tileSpacing = flixel_util_FlxDestroyUtil.put(this.tileSpacing);
|
|
}
|
|
,__class__: flixel_graphics_frames_FlxTileFrames
|
|
});
|
|
var flixel_graphics_tile_FlxDrawBaseItem = function() {
|
|
this.blending = 0;
|
|
this.hasColorOffsets = false;
|
|
this.colored = false;
|
|
this.antialiasing = false;
|
|
};
|
|
$hxClasses["flixel.graphics.tile.FlxDrawBaseItem"] = flixel_graphics_tile_FlxDrawBaseItem;
|
|
flixel_graphics_tile_FlxDrawBaseItem.__name__ = "flixel.graphics.tile.FlxDrawBaseItem";
|
|
flixel_graphics_tile_FlxDrawBaseItem.blendToInt = function(blend) {
|
|
return 0;
|
|
};
|
|
flixel_graphics_tile_FlxDrawBaseItem.prototype = {
|
|
nextTyped: null
|
|
,next: null
|
|
,graphics: null
|
|
,antialiasing: null
|
|
,colored: null
|
|
,hasColorOffsets: null
|
|
,blending: null
|
|
,blend: null
|
|
,type: null
|
|
,reset: function() {
|
|
this.graphics = null;
|
|
this.antialiasing = false;
|
|
this.nextTyped = null;
|
|
this.next = null;
|
|
}
|
|
,dispose: function() {
|
|
this.graphics = null;
|
|
this.next = null;
|
|
this.type = null;
|
|
this.nextTyped = null;
|
|
}
|
|
,render: function(camera) {
|
|
flixel_graphics_tile_FlxDrawBaseItem.drawCalls++;
|
|
}
|
|
,addQuad: function(frame,matrix,transform) {
|
|
}
|
|
,get_numVertices: function() {
|
|
return 0;
|
|
}
|
|
,get_numTriangles: function() {
|
|
return 0;
|
|
}
|
|
,__class__: flixel_graphics_tile_FlxDrawBaseItem
|
|
,__properties__: {get_numTriangles:"get_numTriangles",get_numVertices:"get_numVertices"}
|
|
};
|
|
var flixel_graphics_tile_FlxDrawItemType = $hxEnums["flixel.graphics.tile.FlxDrawItemType"] = { __ename__ : "flixel.graphics.tile.FlxDrawItemType", __constructs__ : ["TILES","TRIANGLES"]
|
|
,TILES: {_hx_index:0,__enum__:"flixel.graphics.tile.FlxDrawItemType",toString:$estr}
|
|
,TRIANGLES: {_hx_index:1,__enum__:"flixel.graphics.tile.FlxDrawItemType",toString:$estr}
|
|
};
|
|
var flixel_graphics_tile_FlxDrawQuadsItem = function() {
|
|
flixel_graphics_tile_FlxDrawBaseItem.call(this);
|
|
this.type = flixel_graphics_tile_FlxDrawItemType.TILES;
|
|
this.rects = openfl_Vector.toFloatVector(null);
|
|
this.transforms = openfl_Vector.toFloatVector(null);
|
|
this.alphas = [];
|
|
};
|
|
$hxClasses["flixel.graphics.tile.FlxDrawQuadsItem"] = flixel_graphics_tile_FlxDrawQuadsItem;
|
|
flixel_graphics_tile_FlxDrawQuadsItem.__name__ = "flixel.graphics.tile.FlxDrawQuadsItem";
|
|
flixel_graphics_tile_FlxDrawQuadsItem.__super__ = flixel_graphics_tile_FlxDrawBaseItem;
|
|
flixel_graphics_tile_FlxDrawQuadsItem.prototype = $extend(flixel_graphics_tile_FlxDrawBaseItem.prototype,{
|
|
shader: null
|
|
,rects: null
|
|
,transforms: null
|
|
,alphas: null
|
|
,colorMultipliers: null
|
|
,colorOffsets: null
|
|
,reset: function() {
|
|
flixel_graphics_tile_FlxDrawBaseItem.prototype.reset.call(this);
|
|
this.rects.set_length(0);
|
|
this.transforms.set_length(0);
|
|
this.alphas.splice(0,this.alphas.length);
|
|
if(this.colorMultipliers != null) {
|
|
this.colorMultipliers.splice(0,this.colorMultipliers.length);
|
|
}
|
|
if(this.colorOffsets != null) {
|
|
this.colorOffsets.splice(0,this.colorOffsets.length);
|
|
}
|
|
}
|
|
,dispose: function() {
|
|
flixel_graphics_tile_FlxDrawBaseItem.prototype.dispose.call(this);
|
|
this.rects = null;
|
|
this.transforms = null;
|
|
this.alphas = null;
|
|
this.colorMultipliers = null;
|
|
this.colorOffsets = null;
|
|
}
|
|
,addQuad: function(frame,matrix,transform) {
|
|
var rect = frame.frame;
|
|
this.rects.push(rect.x);
|
|
this.rects.push(rect.y);
|
|
this.rects.push(rect.width);
|
|
this.rects.push(rect.height);
|
|
this.transforms.push(matrix.a);
|
|
this.transforms.push(matrix.b);
|
|
this.transforms.push(matrix.c);
|
|
this.transforms.push(matrix.d);
|
|
this.transforms.push(matrix.tx);
|
|
this.transforms.push(matrix.ty);
|
|
this.alphas.push(transform != null ? transform.alphaMultiplier : 1.0);
|
|
this.alphas.push(transform != null ? transform.alphaMultiplier : 1.0);
|
|
this.alphas.push(transform != null ? transform.alphaMultiplier : 1.0);
|
|
this.alphas.push(transform != null ? transform.alphaMultiplier : 1.0);
|
|
if(this.colored || this.hasColorOffsets) {
|
|
if(this.colorMultipliers == null) {
|
|
this.colorMultipliers = [];
|
|
}
|
|
if(this.colorOffsets == null) {
|
|
this.colorOffsets = [];
|
|
}
|
|
var _g = 0;
|
|
while(_g < 4) {
|
|
var i = _g++;
|
|
if(transform != null) {
|
|
this.colorMultipliers.push(transform.redMultiplier);
|
|
this.colorMultipliers.push(transform.greenMultiplier);
|
|
this.colorMultipliers.push(transform.blueMultiplier);
|
|
this.colorOffsets.push(transform.redOffset);
|
|
this.colorOffsets.push(transform.greenOffset);
|
|
this.colorOffsets.push(transform.blueOffset);
|
|
this.colorOffsets.push(transform.alphaOffset);
|
|
} else {
|
|
this.colorMultipliers.push(1);
|
|
this.colorMultipliers.push(1);
|
|
this.colorMultipliers.push(1);
|
|
this.colorOffsets.push(0);
|
|
this.colorOffsets.push(0);
|
|
this.colorOffsets.push(0);
|
|
this.colorOffsets.push(0);
|
|
}
|
|
this.colorMultipliers.push(1);
|
|
}
|
|
}
|
|
}
|
|
,render: function(camera) {
|
|
if(this.rects.get_length() == 0) {
|
|
return;
|
|
}
|
|
var shader = this.shader != null ? this.shader : this.graphics.shader;
|
|
shader.bitmap.input = this.graphics.bitmap;
|
|
shader.bitmap.filter = camera.antialiasing || this.antialiasing ? 4 : 5;
|
|
shader.alpha.value = this.alphas;
|
|
if(this.colored || this.hasColorOffsets) {
|
|
shader.colorMultiplier.value = this.colorMultipliers;
|
|
shader.colorOffset.value = this.colorOffsets;
|
|
}
|
|
var parameter = shader.hasTransform;
|
|
if(parameter.value == null) {
|
|
parameter.value = [];
|
|
}
|
|
parameter.value[0] = true;
|
|
var parameter = shader.hasColorTransform;
|
|
if(parameter.value == null) {
|
|
parameter.value = [];
|
|
}
|
|
parameter.value[0] = this.colored || this.hasColorOffsets;
|
|
camera.canvas.get_graphics().overrideBlendMode(this.blend);
|
|
camera.canvas.get_graphics().beginShaderFill(shader);
|
|
camera.canvas.get_graphics().drawQuads(this.rects,null,this.transforms);
|
|
flixel_graphics_tile_FlxDrawBaseItem.prototype.render.call(this,camera);
|
|
}
|
|
,setParameterValue: function(parameter,value) {
|
|
if(parameter.value == null) {
|
|
parameter.value = [];
|
|
}
|
|
parameter.value[0] = value;
|
|
}
|
|
,__class__: flixel_graphics_tile_FlxDrawQuadsItem
|
|
});
|
|
var flixel_graphics_tile_FlxDrawTrianglesItem = function() {
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
_this.x = 0;
|
|
_this.y = 0;
|
|
_this.width = 0;
|
|
_this.height = 0;
|
|
_this._inPool = false;
|
|
this.bounds = _this;
|
|
this.colorsPosition = 0;
|
|
this.indicesPosition = 0;
|
|
this.verticesPosition = 0;
|
|
this.colors = openfl_Vector.toIntVector(null);
|
|
this.uvtData = openfl_Vector.toFloatVector(null);
|
|
this.indices = openfl_Vector.toIntVector(null);
|
|
this.vertices = openfl_Vector.toFloatVector(null);
|
|
flixel_graphics_tile_FlxDrawBaseItem.call(this);
|
|
this.type = flixel_graphics_tile_FlxDrawItemType.TRIANGLES;
|
|
};
|
|
$hxClasses["flixel.graphics.tile.FlxDrawTrianglesItem"] = flixel_graphics_tile_FlxDrawTrianglesItem;
|
|
flixel_graphics_tile_FlxDrawTrianglesItem.__name__ = "flixel.graphics.tile.FlxDrawTrianglesItem";
|
|
flixel_graphics_tile_FlxDrawTrianglesItem.inflateBounds = function(bounds,x,y) {
|
|
if(x < bounds.x) {
|
|
bounds.width += bounds.x - x;
|
|
bounds.x = x;
|
|
}
|
|
if(y < bounds.y) {
|
|
bounds.height += bounds.y - y;
|
|
bounds.y = y;
|
|
}
|
|
if(x > bounds.x + bounds.width) {
|
|
bounds.width = x - bounds.x;
|
|
}
|
|
if(y > bounds.y + bounds.height) {
|
|
bounds.height = y - bounds.y;
|
|
}
|
|
return bounds;
|
|
};
|
|
flixel_graphics_tile_FlxDrawTrianglesItem.__super__ = flixel_graphics_tile_FlxDrawBaseItem;
|
|
flixel_graphics_tile_FlxDrawTrianglesItem.prototype = $extend(flixel_graphics_tile_FlxDrawBaseItem.prototype,{
|
|
vertices: null
|
|
,indices: null
|
|
,uvtData: null
|
|
,colors: null
|
|
,verticesPosition: null
|
|
,indicesPosition: null
|
|
,colorsPosition: null
|
|
,bounds: null
|
|
,render: function(camera) {
|
|
if(!flixel_FlxG.renderTile) {
|
|
return;
|
|
}
|
|
if(this.get_numTriangles() <= 0) {
|
|
return;
|
|
}
|
|
var tmp = camera.antialiasing || this.antialiasing;
|
|
camera.canvas.get_graphics().beginBitmapFill(this.graphics.bitmap,null,true,tmp);
|
|
camera.canvas.get_graphics().drawTriangles(this.vertices,this.indices,this.uvtData,1);
|
|
camera.canvas.get_graphics().endFill();
|
|
flixel_graphics_tile_FlxDrawBaseItem.prototype.render.call(this,camera);
|
|
}
|
|
,reset: function() {
|
|
flixel_graphics_tile_FlxDrawBaseItem.prototype.reset.call(this);
|
|
this.vertices.splice(0,this.vertices.get_length());
|
|
this.indices.splice(0,this.indices.get_length());
|
|
this.uvtData.splice(0,this.uvtData.get_length());
|
|
this.colors.splice(0,this.colors.get_length());
|
|
this.verticesPosition = 0;
|
|
this.indicesPosition = 0;
|
|
this.colorsPosition = 0;
|
|
}
|
|
,dispose: function() {
|
|
flixel_graphics_tile_FlxDrawBaseItem.prototype.dispose.call(this);
|
|
this.vertices = null;
|
|
this.indices = null;
|
|
this.uvtData = null;
|
|
this.colors = null;
|
|
this.bounds = null;
|
|
}
|
|
,addTriangles: function(vertices,indices,uvtData,colors,position,cameraBounds) {
|
|
if(position == null) {
|
|
position = flixel_graphics_tile_FlxDrawTrianglesItem.point.set();
|
|
}
|
|
if(cameraBounds == null) {
|
|
var _this = flixel_graphics_tile_FlxDrawTrianglesItem.rect;
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = flixel_FlxG.width;
|
|
var Height = flixel_FlxG.height;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
cameraBounds = _this;
|
|
}
|
|
var verticesLength = vertices.get_length();
|
|
var prevVerticesLength = this.vertices.get_length();
|
|
var numberOfVertices = verticesLength / 2 | 0;
|
|
var prevIndicesLength = this.indices.get_length();
|
|
var prevUVTDataLength = this.uvtData.get_length();
|
|
var prevColorsLength = this.colors.get_length();
|
|
var prevNumberOfVertices = this.get_numVertices();
|
|
var tempX;
|
|
var tempY;
|
|
var i = 0;
|
|
var currentVertexPosition = prevVerticesLength;
|
|
while(i < verticesLength) {
|
|
tempX = position.x + vertices.get(i);
|
|
tempY = position.y + vertices.get(i + 1);
|
|
this.vertices.set(currentVertexPosition++,tempX);
|
|
this.vertices.set(currentVertexPosition++,tempY);
|
|
if(i == 0) {
|
|
var _this = this.bounds;
|
|
var X = tempX;
|
|
var Y = tempY;
|
|
var Width = 0;
|
|
var Height = 0;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
} else {
|
|
var bounds = this.bounds;
|
|
if(tempX < bounds.x) {
|
|
bounds.width += bounds.x - tempX;
|
|
bounds.x = tempX;
|
|
}
|
|
if(tempY < bounds.y) {
|
|
bounds.height += bounds.y - tempY;
|
|
bounds.y = tempY;
|
|
}
|
|
if(tempX > bounds.x + bounds.width) {
|
|
bounds.width = tempX - bounds.x;
|
|
}
|
|
if(tempY > bounds.y + bounds.height) {
|
|
bounds.height = tempY - bounds.y;
|
|
}
|
|
}
|
|
i += 2;
|
|
}
|
|
var Rect = this.bounds;
|
|
var result = Rect.x + Rect.width > cameraBounds.x && Rect.x < cameraBounds.x + cameraBounds.width && Rect.y + Rect.height > cameraBounds.y && Rect.y < cameraBounds.y + cameraBounds.height;
|
|
if(Rect._weak) {
|
|
if(!Rect._inPool) {
|
|
Rect._inPool = true;
|
|
Rect._weak = false;
|
|
flixel_math_FlxRect._pool.putUnsafe(Rect);
|
|
}
|
|
}
|
|
if(!result) {
|
|
this.vertices.splice(this.vertices.get_length() - verticesLength,verticesLength);
|
|
} else {
|
|
var uvtDataLength = uvtData.get_length();
|
|
var _g = 0;
|
|
var _g1 = uvtDataLength;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
this.uvtData.set(prevUVTDataLength + i,uvtData.get(i));
|
|
}
|
|
var indicesLength = indices.get_length();
|
|
var _g = 0;
|
|
var _g1 = indicesLength;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
this.indices.set(prevIndicesLength + i,indices.get(i) + prevNumberOfVertices);
|
|
}
|
|
if(this.colored) {
|
|
var _g = 0;
|
|
var _g1 = numberOfVertices;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
this.colors.set(prevColorsLength + i,colors.get(i));
|
|
}
|
|
this.colorsPosition += numberOfVertices;
|
|
}
|
|
this.verticesPosition += verticesLength;
|
|
this.indicesPosition += indicesLength;
|
|
}
|
|
if(position._weak) {
|
|
position.put();
|
|
}
|
|
if(cameraBounds._weak) {
|
|
if(!cameraBounds._inPool) {
|
|
cameraBounds._inPool = true;
|
|
cameraBounds._weak = false;
|
|
flixel_math_FlxRect._pool.putUnsafe(cameraBounds);
|
|
}
|
|
}
|
|
}
|
|
,addQuad: function(frame,matrix,transform) {
|
|
var prevVerticesPos = this.verticesPosition;
|
|
var prevIndicesPos = this.indicesPosition;
|
|
var prevColorsPos = this.colorsPosition;
|
|
var prevNumberOfVertices = this.get_numVertices();
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
var point1 = point;
|
|
var x1 = point1.x * matrix.a + point1.y * matrix.c + matrix.tx;
|
|
var y1 = point1.x * matrix.b + point1.y * matrix.d + matrix.ty;
|
|
point1.set(x1,y1);
|
|
this.vertices.set(prevVerticesPos,point1.x);
|
|
this.vertices.set(prevVerticesPos + 1,point1.y);
|
|
this.uvtData.set(prevVerticesPos,frame.uv.x);
|
|
this.uvtData.set(prevVerticesPos + 1,frame.uv.y);
|
|
point1.set(frame.frame.width,0);
|
|
var x1 = point1.x * matrix.a + point1.y * matrix.c + matrix.tx;
|
|
var y1 = point1.x * matrix.b + point1.y * matrix.d + matrix.ty;
|
|
point1.set(x1,y1);
|
|
this.vertices.set(prevVerticesPos + 2,point1.x);
|
|
this.vertices.set(prevVerticesPos + 3,point1.y);
|
|
this.uvtData.set(prevVerticesPos + 2,frame.uv.width);
|
|
this.uvtData.set(prevVerticesPos + 3,frame.uv.y);
|
|
point1.set(frame.frame.width,frame.frame.height);
|
|
var x1 = point1.x * matrix.a + point1.y * matrix.c + matrix.tx;
|
|
var y1 = point1.x * matrix.b + point1.y * matrix.d + matrix.ty;
|
|
point1.set(x1,y1);
|
|
this.vertices.set(prevVerticesPos + 4,point1.x);
|
|
this.vertices.set(prevVerticesPos + 5,point1.y);
|
|
this.uvtData.set(prevVerticesPos + 4,frame.uv.width);
|
|
this.uvtData.set(prevVerticesPos + 5,frame.uv.height);
|
|
point1.set(0,frame.frame.height);
|
|
var x1 = point1.x * matrix.a + point1.y * matrix.c + matrix.tx;
|
|
var y1 = point1.x * matrix.b + point1.y * matrix.d + matrix.ty;
|
|
point1.set(x1,y1);
|
|
this.vertices.set(prevVerticesPos + 6,point1.x);
|
|
this.vertices.set(prevVerticesPos + 7,point1.y);
|
|
point1.put();
|
|
this.uvtData.set(prevVerticesPos + 6,frame.uv.x);
|
|
this.uvtData.set(prevVerticesPos + 7,frame.uv.height);
|
|
this.indices.set(prevIndicesPos,prevNumberOfVertices);
|
|
this.indices.set(prevIndicesPos + 1,prevNumberOfVertices + 1);
|
|
this.indices.set(prevIndicesPos + 2,prevNumberOfVertices + 2);
|
|
this.indices.set(prevIndicesPos + 3,prevNumberOfVertices + 2);
|
|
this.indices.set(prevIndicesPos + 4,prevNumberOfVertices + 3);
|
|
this.indices.set(prevIndicesPos + 5,prevNumberOfVertices);
|
|
if(this.colored) {
|
|
var red = 1.0;
|
|
var green = 1.0;
|
|
var blue = 1.0;
|
|
var alpha = 1.0;
|
|
if(transform != null) {
|
|
red = transform.redMultiplier;
|
|
green = transform.greenMultiplier;
|
|
blue = transform.blueMultiplier;
|
|
alpha = transform.alphaMultiplier;
|
|
}
|
|
var Alpha = alpha;
|
|
if(Alpha == null) {
|
|
Alpha = 1;
|
|
}
|
|
var color = flixel_util_FlxColor._new();
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(red * 255);
|
|
color &= -16711681;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(green * 255);
|
|
color &= -65281;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(blue * 255);
|
|
color &= -256;
|
|
color |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
color &= 16777215;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
var color1 = color;
|
|
this.colors.set(prevColorsPos,color1);
|
|
this.colors.set(prevColorsPos + 1,color1);
|
|
this.colors.set(prevColorsPos + 2,color1);
|
|
this.colors.set(prevColorsPos + 3,color1);
|
|
this.colorsPosition += 4;
|
|
}
|
|
this.verticesPosition += 8;
|
|
this.indicesPosition += 6;
|
|
}
|
|
,get_numVertices: function() {
|
|
return this.vertices.get_length() / 2 | 0;
|
|
}
|
|
,get_numTriangles: function() {
|
|
return this.indices.get_length() / 3 | 0;
|
|
}
|
|
,__class__: flixel_graphics_tile_FlxDrawTrianglesItem
|
|
});
|
|
var flixel_group_FlxTypedGroupIterator = function(GroupMembers,filter) {
|
|
this._groupMembers = GroupMembers;
|
|
this._filter = filter;
|
|
this._cursor = 0;
|
|
this._length = this._groupMembers.length;
|
|
};
|
|
$hxClasses["flixel.group.FlxTypedGroupIterator"] = flixel_group_FlxTypedGroupIterator;
|
|
flixel_group_FlxTypedGroupIterator.__name__ = "flixel.group.FlxTypedGroupIterator";
|
|
flixel_group_FlxTypedGroupIterator.prototype = {
|
|
_groupMembers: null
|
|
,_filter: null
|
|
,_cursor: null
|
|
,_length: null
|
|
,next: function() {
|
|
if(this.hasNext()) {
|
|
return this._groupMembers[this._cursor++];
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
,hasNext: function() {
|
|
while(this._cursor < this._length && (this._groupMembers[this._cursor] == null || this._filter != null && !this._filter(this._groupMembers[this._cursor]))) this._cursor++;
|
|
return this._cursor < this._length;
|
|
}
|
|
,__class__: flixel_group_FlxTypedGroupIterator
|
|
};
|
|
var flixel_input_FlxAccelerometer = function() {
|
|
this.z = 0;
|
|
this.y = 0;
|
|
this.x = 0;
|
|
if(openfl_sensors_Accelerometer.get_isSupported()) {
|
|
this._sensor = new openfl_sensors_Accelerometer();
|
|
this._sensor.addEventListener("update",$bind(this,this.update));
|
|
}
|
|
};
|
|
$hxClasses["flixel.input.FlxAccelerometer"] = flixel_input_FlxAccelerometer;
|
|
flixel_input_FlxAccelerometer.__name__ = "flixel.input.FlxAccelerometer";
|
|
flixel_input_FlxAccelerometer.prototype = {
|
|
x: null
|
|
,y: null
|
|
,z: null
|
|
,_sensor: null
|
|
,get_isSupported: function() {
|
|
return openfl_sensors_Accelerometer.get_isSupported();
|
|
}
|
|
,update: function(Event1) {
|
|
this.x = Event1.accelerationX;
|
|
this.y = Event1.accelerationY;
|
|
this.z = Event1.accelerationZ;
|
|
this.x /= 10;
|
|
this.y /= 10;
|
|
this.z /= 10;
|
|
}
|
|
,__class__: flixel_input_FlxAccelerometer
|
|
,__properties__: {get_isSupported:"get_isSupported"}
|
|
};
|
|
var flixel_input_FlxBaseKeyList = function(status,keyManager) {
|
|
this.status = status;
|
|
this.keyManager = keyManager;
|
|
};
|
|
$hxClasses["flixel.input.FlxBaseKeyList"] = flixel_input_FlxBaseKeyList;
|
|
flixel_input_FlxBaseKeyList.__name__ = "flixel.input.FlxBaseKeyList";
|
|
flixel_input_FlxBaseKeyList.prototype = {
|
|
status: null
|
|
,keyManager: null
|
|
,check: function(keyCode) {
|
|
return this.keyManager.checkStatus(keyCode,this.status);
|
|
}
|
|
,get_ANY: function() {
|
|
var _g = 0;
|
|
var _g1 = this.keyManager._keyListArray;
|
|
while(_g < _g1.length) {
|
|
var key = _g1[_g];
|
|
++_g;
|
|
if(key != null && this.keyManager.checkStatus(key.ID,this.status)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,get_NONE: function() {
|
|
var _g = 0;
|
|
var _g1 = this.keyManager._keyListArray;
|
|
while(_g < _g1.length) {
|
|
var key = _g1[_g];
|
|
++_g;
|
|
if(key != null && this.keyManager.checkStatus(key.ID,this.status)) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
,__class__: flixel_input_FlxBaseKeyList
|
|
,__properties__: {get_NONE:"get_NONE",get_ANY:"get_ANY"}
|
|
};
|
|
var flixel_input_FlxInput = function(ID) {
|
|
this.last = 0;
|
|
this.current = 0;
|
|
this.ID = ID;
|
|
};
|
|
$hxClasses["flixel.input.FlxInput"] = flixel_input_FlxInput;
|
|
flixel_input_FlxInput.__name__ = "flixel.input.FlxInput";
|
|
flixel_input_FlxInput.__interfaces__ = [flixel_input_IFlxInput];
|
|
flixel_input_FlxInput.prototype = {
|
|
ID: null
|
|
,current: null
|
|
,last: null
|
|
,press: function() {
|
|
this.last = this.current;
|
|
this.current = this.current == 1 || this.current == 2 ? 1 : 2;
|
|
}
|
|
,release: function() {
|
|
this.last = this.current;
|
|
this.current = this.current == 1 || this.current == 2 ? -1 : 0;
|
|
}
|
|
,update: function() {
|
|
if(this.last == -1 && this.current == -1) {
|
|
this.current = 0;
|
|
} else if(this.last == 2 && this.current == 2) {
|
|
this.current = 1;
|
|
}
|
|
this.last = this.current;
|
|
}
|
|
,reset: function() {
|
|
this.current = 0;
|
|
this.last = 0;
|
|
}
|
|
,hasState: function(state) {
|
|
switch(state) {
|
|
case -1:
|
|
return this.current == -1;
|
|
case 0:
|
|
if(this.current != 0) {
|
|
return this.current == -1;
|
|
} else {
|
|
return true;
|
|
}
|
|
break;
|
|
case 1:
|
|
if(this.current != 1) {
|
|
return this.current == 2;
|
|
} else {
|
|
return true;
|
|
}
|
|
break;
|
|
case 2:
|
|
return this.current == 2;
|
|
}
|
|
}
|
|
,get_justReleased: function() {
|
|
return this.current == -1;
|
|
}
|
|
,get_released: function() {
|
|
if(this.current != 0) {
|
|
return this.current == -1;
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
,get_pressed: function() {
|
|
if(this.current != 1) {
|
|
return this.current == 2;
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
,get_justPressed: function() {
|
|
return this.current == 2;
|
|
}
|
|
,__class__: flixel_input_FlxInput
|
|
,__properties__: {get_justPressed:"get_justPressed",get_pressed:"get_pressed",get_released:"get_released",get_justReleased:"get_justReleased"}
|
|
};
|
|
var flixel_input_FlxKeyManager = function(createKeyList) {
|
|
this._keyListMap = new haxe_ds_IntMap();
|
|
this._keyListArray = [];
|
|
this.preventDefaultKeys = [];
|
|
this.enabled = true;
|
|
openfl_Lib.get_current().stage.addEventListener("keyDown",$bind(this,this.onKeyDown));
|
|
openfl_Lib.get_current().stage.addEventListener("keyUp",$bind(this,this.onKeyUp));
|
|
this.pressed = createKeyList(1,this);
|
|
this.released = createKeyList(0,this);
|
|
this.justPressed = createKeyList(2,this);
|
|
this.justReleased = createKeyList(-1,this);
|
|
};
|
|
$hxClasses["flixel.input.FlxKeyManager"] = flixel_input_FlxKeyManager;
|
|
flixel_input_FlxKeyManager.__name__ = "flixel.input.FlxKeyManager";
|
|
flixel_input_FlxKeyManager.__interfaces__ = [flixel_input_IFlxInputManager];
|
|
flixel_input_FlxKeyManager.prototype = {
|
|
enabled: null
|
|
,preventDefaultKeys: null
|
|
,pressed: null
|
|
,justPressed: null
|
|
,released: null
|
|
,justReleased: null
|
|
,_keyListArray: null
|
|
,_keyListMap: null
|
|
,anyPressed: function(KeyArray) {
|
|
return this.checkKeyArrayState(KeyArray,1);
|
|
}
|
|
,anyJustPressed: function(KeyArray) {
|
|
return this.checkKeyArrayState(KeyArray,2);
|
|
}
|
|
,anyJustReleased: function(KeyArray) {
|
|
return this.checkKeyArrayState(KeyArray,-1);
|
|
}
|
|
,firstPressed: function() {
|
|
var _g = 0;
|
|
var _g1 = this._keyListArray;
|
|
while(_g < _g1.length) {
|
|
var key = _g1[_g];
|
|
++_g;
|
|
if(key != null && (key.current == 1 || key.current == 2)) {
|
|
return key.ID;
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
,firstJustPressed: function() {
|
|
var _g = 0;
|
|
var _g1 = this._keyListArray;
|
|
while(_g < _g1.length) {
|
|
var key = _g1[_g];
|
|
++_g;
|
|
if(key != null && key.current == 2) {
|
|
return key.ID;
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
,firstJustReleased: function() {
|
|
var _g = 0;
|
|
var _g1 = this._keyListArray;
|
|
while(_g < _g1.length) {
|
|
var key = _g1[_g];
|
|
++_g;
|
|
if(key != null && key.current == -1) {
|
|
return key.ID;
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
,checkStatus: function(KeyCode,Status) {
|
|
switch(KeyCode) {
|
|
case -2:
|
|
switch(Status) {
|
|
case -1:
|
|
return this.justReleased.get_ANY();
|
|
case 0:
|
|
return this.released.get_ANY();
|
|
case 1:
|
|
return this.pressed.get_ANY();
|
|
case 2:
|
|
return this.justPressed.get_ANY();
|
|
}
|
|
break;
|
|
case -1:
|
|
switch(Status) {
|
|
case -1:
|
|
return this.justReleased.get_NONE();
|
|
case 0:
|
|
return this.released.get_NONE();
|
|
case 1:
|
|
return this.pressed.get_NONE();
|
|
case 2:
|
|
return this.justPressed.get_NONE();
|
|
}
|
|
break;
|
|
default:
|
|
var key = this._keyListMap.h[KeyCode];
|
|
if(key == null) {
|
|
return false;
|
|
}
|
|
return key.hasState(Status);
|
|
}
|
|
}
|
|
,getIsDown: function() {
|
|
var keysDown = [];
|
|
var _g = 0;
|
|
var _g1 = this._keyListArray;
|
|
while(_g < _g1.length) {
|
|
var key = _g1[_g];
|
|
++_g;
|
|
if(key != null && (key.current == 1 || key.current == 2)) {
|
|
keysDown.push(key);
|
|
}
|
|
}
|
|
return keysDown;
|
|
}
|
|
,destroy: function() {
|
|
this._keyListArray = null;
|
|
this._keyListMap = null;
|
|
}
|
|
,reset: function() {
|
|
var _g = 0;
|
|
var _g1 = this._keyListArray;
|
|
while(_g < _g1.length) {
|
|
var key = _g1[_g];
|
|
++_g;
|
|
if(key != null) {
|
|
key.release();
|
|
}
|
|
}
|
|
}
|
|
,update: function() {
|
|
var _g = 0;
|
|
var _g1 = this._keyListArray;
|
|
while(_g < _g1.length) {
|
|
var key = _g1[_g];
|
|
++_g;
|
|
if(key != null) {
|
|
key.update();
|
|
}
|
|
}
|
|
}
|
|
,checkKeyArrayState: function(KeyArray,State) {
|
|
if(KeyArray == null) {
|
|
return false;
|
|
}
|
|
var _g = 0;
|
|
while(_g < KeyArray.length) {
|
|
var code = KeyArray[_g];
|
|
++_g;
|
|
if(this.checkStatus(code,State)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,onKeyUp: function(event) {
|
|
var c = this.resolveKeyCode(event);
|
|
this.handlePreventDefaultKeys(c,event);
|
|
if(this.enabled) {
|
|
var key = this._keyListMap.h[c];
|
|
if(key != null) {
|
|
key.release();
|
|
}
|
|
}
|
|
}
|
|
,onKeyDown: function(event) {
|
|
var c = this.resolveKeyCode(event);
|
|
this.handlePreventDefaultKeys(c,event);
|
|
if(this.enabled) {
|
|
var key = this._keyListMap.h[c];
|
|
if(key != null) {
|
|
key.press();
|
|
}
|
|
}
|
|
}
|
|
,handlePreventDefaultKeys: function(keyCode,event) {
|
|
var key = this._keyListMap.h[keyCode];
|
|
if(key != null && this.preventDefaultKeys != null && this.preventDefaultKeys.indexOf(key.ID) != -1) {
|
|
event.stopImmediatePropagation();
|
|
event.stopPropagation();
|
|
event.preventDefault();
|
|
}
|
|
}
|
|
,inKeyArray: function(KeyArray,Event1) {
|
|
if(KeyArray == null) {
|
|
return false;
|
|
} else {
|
|
var code = this.resolveKeyCode(Event1);
|
|
var _g = 0;
|
|
while(_g < KeyArray.length) {
|
|
var key = KeyArray[_g];
|
|
++_g;
|
|
if(key == code || key == -2) {
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,resolveKeyCode: function(e) {
|
|
return e.keyCode;
|
|
}
|
|
,updateKeyStates: function(KeyCode,Down) {
|
|
var key = this._keyListMap.h[KeyCode];
|
|
if(key != null) {
|
|
if(Down) {
|
|
key.press();
|
|
} else {
|
|
key.release();
|
|
}
|
|
}
|
|
}
|
|
,onFocus: function() {
|
|
}
|
|
,onFocusLost: function() {
|
|
this.reset();
|
|
}
|
|
,getKey: function(KeyCode) {
|
|
return this._keyListMap.h[KeyCode];
|
|
}
|
|
,__class__: flixel_input_FlxKeyManager
|
|
};
|
|
var flixel_input_FlxSwipe = function(ID,StartPosition,EndPosition,StartTimeInTicks) {
|
|
this.ID = ID;
|
|
this.startPosition = StartPosition;
|
|
this.endPosition = EndPosition;
|
|
this._startTimeInTicks = StartTimeInTicks;
|
|
this._endTimeInTicks = flixel_FlxG.game.ticks;
|
|
};
|
|
$hxClasses["flixel.input.FlxSwipe"] = flixel_input_FlxSwipe;
|
|
flixel_input_FlxSwipe.__name__ = "flixel.input.FlxSwipe";
|
|
flixel_input_FlxSwipe.prototype = {
|
|
ID: null
|
|
,startPosition: null
|
|
,endPosition: null
|
|
,_startTimeInTicks: null
|
|
,_endTimeInTicks: null
|
|
,toString: function() {
|
|
var value = this.ID;
|
|
var _this = flixel_util_LabelValuePair._pool.get();
|
|
_this.label = "ID";
|
|
_this.value = value;
|
|
var value = this.startPosition;
|
|
var _this1 = flixel_util_LabelValuePair._pool.get();
|
|
_this1.label = "start";
|
|
_this1.value = value;
|
|
var value = this.endPosition;
|
|
var _this2 = flixel_util_LabelValuePair._pool.get();
|
|
_this2.label = "end";
|
|
_this2.value = value;
|
|
var dx = this.startPosition.x - this.endPosition.x;
|
|
var dy = this.startPosition.y - this.endPosition.y;
|
|
var value = Math.sqrt(dx * dx + dy * dy);
|
|
var _this3 = flixel_util_LabelValuePair._pool.get();
|
|
_this3.label = "distance";
|
|
_this3.value = value;
|
|
var value = this.startPosition.angleBetween(this.endPosition);
|
|
var _this4 = flixel_util_LabelValuePair._pool.get();
|
|
_this4.label = "angle";
|
|
_this4.value = value;
|
|
var value = (this._endTimeInTicks - this._startTimeInTicks) / 1000;
|
|
var _this5 = flixel_util_LabelValuePair._pool.get();
|
|
_this5.label = "duration";
|
|
_this5.value = value;
|
|
return flixel_util_FlxStringUtil.getDebugString([_this,_this1,_this2,_this3,_this4,_this5]);
|
|
}
|
|
,get_distance: function() {
|
|
var dx = this.startPosition.x - this.endPosition.x;
|
|
var dy = this.startPosition.y - this.endPosition.y;
|
|
return Math.sqrt(dx * dx + dy * dy);
|
|
}
|
|
,get_angle: function() {
|
|
return this.startPosition.angleBetween(this.endPosition);
|
|
}
|
|
,get_duration: function() {
|
|
return (this._endTimeInTicks - this._startTimeInTicks) / 1000;
|
|
}
|
|
,__class__: flixel_input_FlxSwipe
|
|
,__properties__: {get_duration:"get_duration",get_angle:"get_angle",get_distance:"get_distance"}
|
|
};
|
|
var flixel_input_actions_FlxAction = function(InputType,Name) {
|
|
this.steamOriginsChanged = false;
|
|
this._checked = false;
|
|
this._timestamp = 0;
|
|
this._y = null;
|
|
this._x = null;
|
|
this.triggered = false;
|
|
this.steamHandle = -1;
|
|
this.type = InputType;
|
|
this.name = Name;
|
|
this.inputs = [];
|
|
};
|
|
$hxClasses["flixel.input.actions.FlxAction"] = flixel_input_actions_FlxAction;
|
|
flixel_input_actions_FlxAction.__name__ = "flixel.input.actions.FlxAction";
|
|
flixel_input_actions_FlxAction.__interfaces__ = [flixel_util_IFlxDestroyable];
|
|
flixel_input_actions_FlxAction.prototype = {
|
|
type: null
|
|
,name: null
|
|
,steamHandle: null
|
|
,triggered: null
|
|
,inputs: null
|
|
,_x: null
|
|
,_y: null
|
|
,_timestamp: null
|
|
,_checked: null
|
|
,steamOriginsChanged: null
|
|
,getFirstSteamOrigin: function() {
|
|
return 0;
|
|
}
|
|
,getSteamOrigins: function(origins) {
|
|
return origins;
|
|
}
|
|
,removeAll: function(Destroy) {
|
|
if(Destroy == null) {
|
|
Destroy = true;
|
|
}
|
|
var len = this.inputs.length;
|
|
var _g = 0;
|
|
var _g1 = len;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var j = len - i - 1;
|
|
var input = this.inputs[j];
|
|
this.remove(input,Destroy);
|
|
this.inputs.splice(j,1);
|
|
}
|
|
}
|
|
,remove: function(Input,Destroy) {
|
|
if(Destroy == null) {
|
|
Destroy = false;
|
|
}
|
|
if(Input == null) {
|
|
return;
|
|
}
|
|
HxOverrides.remove(this.inputs,Input);
|
|
if(Destroy) {
|
|
Input.destroy();
|
|
}
|
|
}
|
|
,toString: function() {
|
|
return "FlxAction(" + Std.string(this.type) + ") name:" + this.name;
|
|
}
|
|
,check: function() {
|
|
this._x = null;
|
|
this._y = null;
|
|
if(this._timestamp == flixel_FlxG.game.ticks) {
|
|
this.triggered = this._checked;
|
|
return this._checked;
|
|
}
|
|
this._timestamp = flixel_FlxG.game.ticks;
|
|
this._checked = false;
|
|
var len = this.inputs != null ? this.inputs.length : 0;
|
|
var _g = 0;
|
|
var _g1 = len;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var j = len - i - 1;
|
|
var input = this.inputs[j];
|
|
if(input.destroyed) {
|
|
this.inputs.splice(j,1);
|
|
continue;
|
|
}
|
|
input.update();
|
|
if(input.check(this)) {
|
|
this._checked = true;
|
|
}
|
|
}
|
|
this.triggered = this._checked;
|
|
return this._checked;
|
|
}
|
|
,update: function() {
|
|
this.check();
|
|
}
|
|
,destroy: function() {
|
|
flixel_util_FlxDestroyUtil.destroyArray(this.inputs);
|
|
this.inputs = null;
|
|
}
|
|
,match: function(other) {
|
|
if(this.name == other.name) {
|
|
return this.steamHandle == other.steamHandle;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,addGenericInput: function(input) {
|
|
if(this.inputs == null) {
|
|
this.inputs = [];
|
|
}
|
|
if(!this.checkExists(input)) {
|
|
this.inputs.push(input);
|
|
}
|
|
return this;
|
|
}
|
|
,checkExists: function(input) {
|
|
if(this.inputs == null) {
|
|
return false;
|
|
}
|
|
return this.inputs.indexOf(input) != -1;
|
|
}
|
|
,__class__: flixel_input_actions_FlxAction
|
|
};
|
|
var flixel_input_actions_FlxActionDigital = function(Name,Callback) {
|
|
if(Name == null) {
|
|
Name = "";
|
|
}
|
|
flixel_input_actions_FlxAction.call(this,flixel_input_actions_FlxInputType.DIGITAL,Name);
|
|
this.callback = Callback;
|
|
};
|
|
$hxClasses["flixel.input.actions.FlxActionDigital"] = flixel_input_actions_FlxActionDigital;
|
|
flixel_input_actions_FlxActionDigital.__name__ = "flixel.input.actions.FlxActionDigital";
|
|
flixel_input_actions_FlxActionDigital.__super__ = flixel_input_actions_FlxAction;
|
|
flixel_input_actions_FlxActionDigital.prototype = $extend(flixel_input_actions_FlxAction.prototype,{
|
|
callback: null
|
|
,add: function(input) {
|
|
this.addGenericInput(input);
|
|
return this;
|
|
}
|
|
,addInput: function(Input,Trigger) {
|
|
return this.add(new flixel_input_actions_FlxActionInputDigitalIFlxInput(Input,Trigger));
|
|
}
|
|
,addGamepad: function(InputID,Trigger,GamepadID) {
|
|
if(GamepadID == null) {
|
|
GamepadID = -2;
|
|
}
|
|
return this.add(new flixel_input_actions_FlxActionInputDigitalGamepad(InputID,Trigger,GamepadID));
|
|
}
|
|
,addKey: function(Key,Trigger) {
|
|
return this.add(new flixel_input_actions_FlxActionInputDigitalKeyboard(Key,Trigger));
|
|
}
|
|
,addMouse: function(ButtonID,Trigger) {
|
|
return this.add(new flixel_input_actions_FlxActionInputDigitalMouse(ButtonID,Trigger));
|
|
}
|
|
,addMouseWheel: function(Positive,Trigger) {
|
|
return this.add(new flixel_input_actions_FlxActionInputDigitalMouseWheel(Positive,Trigger));
|
|
}
|
|
,destroy: function() {
|
|
this.callback = null;
|
|
flixel_input_actions_FlxAction.prototype.destroy.call(this);
|
|
}
|
|
,check: function() {
|
|
var val = flixel_input_actions_FlxAction.prototype.check.call(this);
|
|
if(val && this.callback != null) {
|
|
this.callback(this);
|
|
}
|
|
return val;
|
|
}
|
|
,__class__: flixel_input_actions_FlxActionDigital
|
|
});
|
|
var flixel_input_actions_FlxActionAnalog = function(Name,Callback) {
|
|
if(Name == null) {
|
|
Name = "";
|
|
}
|
|
flixel_input_actions_FlxAction.call(this,flixel_input_actions_FlxInputType.ANALOG,Name);
|
|
this.callback = Callback;
|
|
};
|
|
$hxClasses["flixel.input.actions.FlxActionAnalog"] = flixel_input_actions_FlxActionAnalog;
|
|
flixel_input_actions_FlxActionAnalog.__name__ = "flixel.input.actions.FlxActionAnalog";
|
|
flixel_input_actions_FlxActionAnalog.__super__ = flixel_input_actions_FlxAction;
|
|
flixel_input_actions_FlxActionAnalog.prototype = $extend(flixel_input_actions_FlxAction.prototype,{
|
|
callback: null
|
|
,add: function(input) {
|
|
this.addGenericInput(input);
|
|
return this;
|
|
}
|
|
,addMouseClickAndDragMotion: function(ButtonID,Trigger,Axis,PixelsPerUnit,DeadZone,InvertY,InvertX) {
|
|
if(InvertX == null) {
|
|
InvertX = false;
|
|
}
|
|
if(InvertY == null) {
|
|
InvertY = false;
|
|
}
|
|
if(DeadZone == null) {
|
|
DeadZone = 0.1;
|
|
}
|
|
if(PixelsPerUnit == null) {
|
|
PixelsPerUnit = 10;
|
|
}
|
|
if(Axis == null) {
|
|
Axis = 3;
|
|
}
|
|
return this.add(new flixel_input_actions_FlxActionInputAnalogClickAndDragMouseMotion(ButtonID,Trigger,Axis,PixelsPerUnit,DeadZone,InvertY,InvertX));
|
|
}
|
|
,addMouseMotion: function(Trigger,Axis,PixelsPerUnit,DeadZone,InvertY,InvertX) {
|
|
if(InvertX == null) {
|
|
InvertX = false;
|
|
}
|
|
if(InvertY == null) {
|
|
InvertY = false;
|
|
}
|
|
if(DeadZone == null) {
|
|
DeadZone = 0.1;
|
|
}
|
|
if(PixelsPerUnit == null) {
|
|
PixelsPerUnit = 10;
|
|
}
|
|
if(Axis == null) {
|
|
Axis = 3;
|
|
}
|
|
return this.add(new flixel_input_actions_FlxActionInputAnalogMouseMotion(Trigger,Axis,PixelsPerUnit,DeadZone,InvertY,InvertX));
|
|
}
|
|
,addMousePosition: function(Trigger,Axis) {
|
|
if(Axis == null) {
|
|
Axis = 3;
|
|
}
|
|
return this.add(new flixel_input_actions_FlxActionInputAnalogMousePosition(Trigger,Axis));
|
|
}
|
|
,addGamepad: function(InputID,Trigger,Axis,GamepadID) {
|
|
if(GamepadID == null) {
|
|
GamepadID = -2;
|
|
}
|
|
if(Axis == null) {
|
|
Axis = 3;
|
|
}
|
|
return this.add(new flixel_input_actions_FlxActionInputAnalogGamepad(InputID,Trigger,Axis,GamepadID));
|
|
}
|
|
,update: function() {
|
|
this._x = null;
|
|
this._y = null;
|
|
flixel_input_actions_FlxAction.prototype.update.call(this);
|
|
}
|
|
,destroy: function() {
|
|
this.callback = null;
|
|
flixel_input_actions_FlxAction.prototype.destroy.call(this);
|
|
}
|
|
,toString: function() {
|
|
return "FlxAction(" + Std.string(this.type) + ") name:" + this.name + " x/y:" + this._x + "," + this._y;
|
|
}
|
|
,check: function() {
|
|
var val = flixel_input_actions_FlxAction.prototype.check.call(this);
|
|
if(val && this.callback != null) {
|
|
this.callback(this);
|
|
}
|
|
return val;
|
|
}
|
|
,get_x: function() {
|
|
if(this._x != null) {
|
|
return this._x;
|
|
} else {
|
|
return 0;
|
|
}
|
|
}
|
|
,get_y: function() {
|
|
if(this._y != null) {
|
|
return this._y;
|
|
} else {
|
|
return 0;
|
|
}
|
|
}
|
|
,__class__: flixel_input_actions_FlxActionAnalog
|
|
,__properties__: {get_y:"get_y",get_x:"get_x"}
|
|
});
|
|
var flixel_input_actions_FlxActionInput = function(InputType,Device1,InputID,Trigger,DeviceID) {
|
|
if(DeviceID == null) {
|
|
DeviceID = -2;
|
|
}
|
|
this.destroyed = false;
|
|
this.type = InputType;
|
|
this.device = Device1;
|
|
this.inputID = InputID;
|
|
this.trigger = Trigger;
|
|
this.deviceID = DeviceID;
|
|
};
|
|
$hxClasses["flixel.input.actions.FlxActionInput"] = flixel_input_actions_FlxActionInput;
|
|
flixel_input_actions_FlxActionInput.__name__ = "flixel.input.actions.FlxActionInput";
|
|
flixel_input_actions_FlxActionInput.__interfaces__ = [flixel_util_IFlxDestroyable];
|
|
flixel_input_actions_FlxActionInput.prototype = {
|
|
type: null
|
|
,device: null
|
|
,deviceID: null
|
|
,destroyed: null
|
|
,inputID: null
|
|
,trigger: null
|
|
,update: function() {
|
|
}
|
|
,destroy: function() {
|
|
this.destroyed = true;
|
|
}
|
|
,check: function(action) {
|
|
return false;
|
|
}
|
|
,compareState: function(condition,state) {
|
|
switch(condition) {
|
|
case -1:
|
|
return state == -1;
|
|
case 0:
|
|
if(state != 0) {
|
|
return state == -1;
|
|
} else {
|
|
return true;
|
|
}
|
|
break;
|
|
case 1:
|
|
if(state != 1) {
|
|
return state == 2;
|
|
} else {
|
|
return true;
|
|
}
|
|
break;
|
|
case 2:
|
|
return state == 2;
|
|
default:
|
|
return false;
|
|
}
|
|
}
|
|
,__class__: flixel_input_actions_FlxActionInput
|
|
};
|
|
var flixel_input_actions_FlxInputType = $hxEnums["flixel.input.actions.FlxInputType"] = { __ename__ : "flixel.input.actions.FlxInputType", __constructs__ : ["DIGITAL","ANALOG"]
|
|
,DIGITAL: {_hx_index:0,__enum__:"flixel.input.actions.FlxInputType",toString:$estr}
|
|
,ANALOG: {_hx_index:1,__enum__:"flixel.input.actions.FlxInputType",toString:$estr}
|
|
};
|
|
var flixel_input_actions_FlxInputDevice = $hxEnums["flixel.input.actions.FlxInputDevice"] = { __ename__ : "flixel.input.actions.FlxInputDevice", __constructs__ : ["UNKNOWN","MOUSE","MOUSE_WHEEL","KEYBOARD","GAMEPAD","STEAM_CONTROLLER","IFLXINPUT_OBJECT","OTHER","ALL","NONE"]
|
|
,UNKNOWN: {_hx_index:0,__enum__:"flixel.input.actions.FlxInputDevice",toString:$estr}
|
|
,MOUSE: {_hx_index:1,__enum__:"flixel.input.actions.FlxInputDevice",toString:$estr}
|
|
,MOUSE_WHEEL: {_hx_index:2,__enum__:"flixel.input.actions.FlxInputDevice",toString:$estr}
|
|
,KEYBOARD: {_hx_index:3,__enum__:"flixel.input.actions.FlxInputDevice",toString:$estr}
|
|
,GAMEPAD: {_hx_index:4,__enum__:"flixel.input.actions.FlxInputDevice",toString:$estr}
|
|
,STEAM_CONTROLLER: {_hx_index:5,__enum__:"flixel.input.actions.FlxInputDevice",toString:$estr}
|
|
,IFLXINPUT_OBJECT: {_hx_index:6,__enum__:"flixel.input.actions.FlxInputDevice",toString:$estr}
|
|
,OTHER: {_hx_index:7,__enum__:"flixel.input.actions.FlxInputDevice",toString:$estr}
|
|
,ALL: {_hx_index:8,__enum__:"flixel.input.actions.FlxInputDevice",toString:$estr}
|
|
,NONE: {_hx_index:9,__enum__:"flixel.input.actions.FlxInputDevice",toString:$estr}
|
|
};
|
|
var flixel_input_actions_FlxInputDeviceID = function() { };
|
|
$hxClasses["flixel.input.actions.FlxInputDeviceID"] = flixel_input_actions_FlxInputDeviceID;
|
|
flixel_input_actions_FlxInputDeviceID.__name__ = "flixel.input.actions.FlxInputDeviceID";
|
|
var flixel_input_actions_FlxInputDeviceObject = function(Device1,ID,Model) {
|
|
if(Model == null) {
|
|
Model = "";
|
|
}
|
|
this.device = Device1;
|
|
this.id = ID;
|
|
this.model = Model;
|
|
};
|
|
$hxClasses["flixel.input.actions.FlxInputDeviceObject"] = flixel_input_actions_FlxInputDeviceObject;
|
|
flixel_input_actions_FlxInputDeviceObject.__name__ = "flixel.input.actions.FlxInputDeviceObject";
|
|
flixel_input_actions_FlxInputDeviceObject.prototype = {
|
|
device: null
|
|
,id: null
|
|
,model: null
|
|
,toString: function() {
|
|
return "{device:" + Std.string(this.device) + ",id:" + this.id + ",model:" + this.model + "}";
|
|
}
|
|
,__class__: flixel_input_actions_FlxInputDeviceObject
|
|
};
|
|
var flixel_input_actions_FlxActionInputAnalog = function(Device1,InputID,Trigger,Axis,DeviceID) {
|
|
if(DeviceID == null) {
|
|
DeviceID = -2;
|
|
}
|
|
if(Axis == null) {
|
|
Axis = 3;
|
|
}
|
|
this.y = 0;
|
|
this.x = 0;
|
|
flixel_input_actions_FlxActionInput.call(this,flixel_input_actions_FlxInputType.ANALOG,Device1,InputID,Trigger,DeviceID);
|
|
this.axis = Axis;
|
|
this.xMoved = new flixel_input_FlxInput(0);
|
|
this.yMoved = new flixel_input_FlxInput(1);
|
|
};
|
|
$hxClasses["flixel.input.actions.FlxActionInputAnalog"] = flixel_input_actions_FlxActionInputAnalog;
|
|
flixel_input_actions_FlxActionInputAnalog.__name__ = "flixel.input.actions.FlxActionInputAnalog";
|
|
flixel_input_actions_FlxActionInputAnalog.__super__ = flixel_input_actions_FlxActionInput;
|
|
flixel_input_actions_FlxActionInputAnalog.prototype = $extend(flixel_input_actions_FlxActionInput.prototype,{
|
|
axis: null
|
|
,x: null
|
|
,y: null
|
|
,xMoved: null
|
|
,yMoved: null
|
|
,check: function(Action1) {
|
|
var returnVal;
|
|
switch(this.axis) {
|
|
case 0:
|
|
var state = this.xMoved.current;
|
|
switch(this.trigger) {
|
|
case -1:
|
|
returnVal = state == -1;
|
|
break;
|
|
case 0:
|
|
returnVal = state == 0 || state == -1;
|
|
break;
|
|
case 1:
|
|
returnVal = state == 1 || state == 2;
|
|
break;
|
|
case 2:
|
|
returnVal = state == 2;
|
|
break;
|
|
default:
|
|
returnVal = false;
|
|
}
|
|
break;
|
|
case 1:
|
|
var state = this.yMoved.current;
|
|
switch(this.trigger) {
|
|
case -1:
|
|
returnVal = state == -1;
|
|
break;
|
|
case 0:
|
|
returnVal = state == 0 || state == -1;
|
|
break;
|
|
case 1:
|
|
returnVal = state == 1 || state == 2;
|
|
break;
|
|
case 2:
|
|
returnVal = state == 2;
|
|
break;
|
|
default:
|
|
returnVal = false;
|
|
}
|
|
break;
|
|
case 2:
|
|
var state = this.xMoved.current;
|
|
var returnVal1;
|
|
switch(this.trigger) {
|
|
case -1:
|
|
returnVal1 = state == -1;
|
|
break;
|
|
case 0:
|
|
returnVal1 = state == 0 || state == -1;
|
|
break;
|
|
case 1:
|
|
returnVal1 = state == 1 || state == 2;
|
|
break;
|
|
case 2:
|
|
returnVal1 = state == 2;
|
|
break;
|
|
default:
|
|
returnVal1 = false;
|
|
}
|
|
if(returnVal1) {
|
|
var state = this.yMoved.current;
|
|
switch(this.trigger) {
|
|
case -1:
|
|
returnVal = state == -1;
|
|
break;
|
|
case 0:
|
|
returnVal = state == 0 || state == -1;
|
|
break;
|
|
case 1:
|
|
returnVal = state == 1 || state == 2;
|
|
break;
|
|
case 2:
|
|
returnVal = state == 2;
|
|
break;
|
|
default:
|
|
returnVal = false;
|
|
}
|
|
} else {
|
|
returnVal = false;
|
|
}
|
|
break;
|
|
case 3:
|
|
switch(this.trigger) {
|
|
case -1:
|
|
returnVal = this.checkAxis(true,-1) && this.checkAxis(false,0) || this.checkAxis(true,0) && this.checkAxis(false,-1);
|
|
break;
|
|
case 0:
|
|
returnVal = this.checkAxis(true,0) || this.checkAxis(false,0);
|
|
break;
|
|
case 1:
|
|
returnVal = this.checkAxis(true,1) || this.checkAxis(false,1);
|
|
break;
|
|
case 2:
|
|
returnVal = this.checkAxis(true,2) && this.checkAxis(false,2) || this.checkAxis(true,2) && this.checkAxis(false,0) || this.checkAxis(true,0) && this.checkAxis(false,2);
|
|
break;
|
|
}
|
|
break;
|
|
}
|
|
if(returnVal) {
|
|
if(Action1._x == null) {
|
|
Action1._x = this.x;
|
|
}
|
|
if(Action1._y == null) {
|
|
Action1._y = this.y;
|
|
}
|
|
}
|
|
return returnVal;
|
|
}
|
|
,checkAxis: function(isX,state) {
|
|
var input = isX ? this.xMoved : this.yMoved;
|
|
var state1 = input.current;
|
|
switch(state) {
|
|
case -1:
|
|
return state1 == -1;
|
|
case 0:
|
|
if(state1 != 0) {
|
|
return state1 == -1;
|
|
} else {
|
|
return true;
|
|
}
|
|
break;
|
|
case 1:
|
|
if(state1 != 1) {
|
|
return state1 == 2;
|
|
} else {
|
|
return true;
|
|
}
|
|
break;
|
|
case 2:
|
|
return state1 == 2;
|
|
default:
|
|
return false;
|
|
}
|
|
}
|
|
,updateValues: function(X,Y) {
|
|
if(X != 0) {
|
|
this.xMoved.press();
|
|
} else {
|
|
this.xMoved.release();
|
|
}
|
|
if(Y != 0) {
|
|
this.yMoved.press();
|
|
} else {
|
|
this.yMoved.release();
|
|
}
|
|
this.x = X;
|
|
this.y = Y;
|
|
}
|
|
,__class__: flixel_input_actions_FlxActionInputAnalog
|
|
});
|
|
var flixel_input_actions_FlxActionInputAnalogMouseMotion = function(Trigger,Axis,PixelsPerUnit,DeadZone,InvertY,InvertX) {
|
|
if(InvertX == null) {
|
|
InvertX = false;
|
|
}
|
|
if(InvertY == null) {
|
|
InvertY = false;
|
|
}
|
|
if(DeadZone == null) {
|
|
DeadZone = 0.1;
|
|
}
|
|
if(PixelsPerUnit == null) {
|
|
PixelsPerUnit = 10;
|
|
}
|
|
if(Axis == null) {
|
|
Axis = 3;
|
|
}
|
|
this.lastY = 0;
|
|
this.lastX = 0;
|
|
this.pixelsPerUnit = PixelsPerUnit;
|
|
if(this.pixelsPerUnit < 1) {
|
|
this.pixelsPerUnit = 1;
|
|
}
|
|
this.deadZone = DeadZone;
|
|
this.invertX = InvertX;
|
|
this.invertY = InvertY;
|
|
flixel_input_actions_FlxActionInputAnalog.call(this,flixel_input_actions_FlxInputDevice.MOUSE,-1,Trigger,Axis);
|
|
};
|
|
$hxClasses["flixel.input.actions.FlxActionInputAnalogMouseMotion"] = flixel_input_actions_FlxActionInputAnalogMouseMotion;
|
|
flixel_input_actions_FlxActionInputAnalogMouseMotion.__name__ = "flixel.input.actions.FlxActionInputAnalogMouseMotion";
|
|
flixel_input_actions_FlxActionInputAnalogMouseMotion.__super__ = flixel_input_actions_FlxActionInputAnalog;
|
|
flixel_input_actions_FlxActionInputAnalogMouseMotion.prototype = $extend(flixel_input_actions_FlxActionInputAnalog.prototype,{
|
|
lastX: null
|
|
,lastY: null
|
|
,pixelsPerUnit: null
|
|
,deadZone: null
|
|
,invertX: null
|
|
,invertY: null
|
|
,update: function() {
|
|
this.updateXYPosition(flixel_FlxG.mouse.x,flixel_FlxG.mouse.y);
|
|
}
|
|
,updateXYPosition: function(X,Y) {
|
|
var xDiff = X - this.lastX;
|
|
var yDiff = Y - this.lastY;
|
|
this.lastX = X;
|
|
this.lastY = Y;
|
|
if(this.invertX) {
|
|
xDiff *= -1;
|
|
}
|
|
if(this.invertY) {
|
|
yDiff *= -1;
|
|
}
|
|
xDiff /= this.pixelsPerUnit;
|
|
yDiff /= this.pixelsPerUnit;
|
|
if(Math.abs(xDiff) < this.deadZone) {
|
|
xDiff = 0;
|
|
}
|
|
if(Math.abs(yDiff) < this.deadZone) {
|
|
yDiff = 0;
|
|
}
|
|
this.updateValues(xDiff,yDiff);
|
|
}
|
|
,__class__: flixel_input_actions_FlxActionInputAnalogMouseMotion
|
|
});
|
|
var flixel_input_actions_FlxActionInputAnalogClickAndDragMouseMotion = function(ButtonID,Trigger,Axis,PixelsPerUnit,DeadZone,InvertY,InvertX) {
|
|
if(InvertX == null) {
|
|
InvertX = false;
|
|
}
|
|
if(InvertY == null) {
|
|
InvertY = false;
|
|
}
|
|
if(DeadZone == null) {
|
|
DeadZone = 0.1;
|
|
}
|
|
if(PixelsPerUnit == null) {
|
|
PixelsPerUnit = 10;
|
|
}
|
|
if(Axis == null) {
|
|
Axis = 3;
|
|
}
|
|
flixel_input_actions_FlxActionInputAnalogMouseMotion.call(this,Trigger,Axis,PixelsPerUnit,DeadZone,InvertY,InvertX);
|
|
this.button = ButtonID;
|
|
};
|
|
$hxClasses["flixel.input.actions.FlxActionInputAnalogClickAndDragMouseMotion"] = flixel_input_actions_FlxActionInputAnalogClickAndDragMouseMotion;
|
|
flixel_input_actions_FlxActionInputAnalogClickAndDragMouseMotion.__name__ = "flixel.input.actions.FlxActionInputAnalogClickAndDragMouseMotion";
|
|
flixel_input_actions_FlxActionInputAnalogClickAndDragMouseMotion.__super__ = flixel_input_actions_FlxActionInputAnalogMouseMotion;
|
|
flixel_input_actions_FlxActionInputAnalogClickAndDragMouseMotion.prototype = $extend(flixel_input_actions_FlxActionInputAnalogMouseMotion.prototype,{
|
|
button: null
|
|
,updateValues: function(X,Y) {
|
|
var pass = false;
|
|
switch(this.button) {
|
|
case -3:
|
|
var _this = flixel_FlxG.mouse._rightButton;
|
|
pass = _this.current == 1 || _this.current == 2;
|
|
break;
|
|
case -2:
|
|
var _this = flixel_FlxG.mouse._middleButton;
|
|
pass = _this.current == 1 || _this.current == 2;
|
|
break;
|
|
case -1:
|
|
var _this = flixel_FlxG.mouse._leftButton;
|
|
pass = _this.current == 1 || _this.current == 2;
|
|
break;
|
|
}
|
|
if(!pass) {
|
|
X = 0;
|
|
Y = 0;
|
|
}
|
|
flixel_input_actions_FlxActionInputAnalogMouseMotion.prototype.updateValues.call(this,X,Y);
|
|
}
|
|
,__class__: flixel_input_actions_FlxActionInputAnalogClickAndDragMouseMotion
|
|
});
|
|
var flixel_input_actions_FlxActionInputAnalogMousePosition = function(Trigger,Axis) {
|
|
if(Axis == null) {
|
|
Axis = 3;
|
|
}
|
|
flixel_input_actions_FlxActionInputAnalog.call(this,flixel_input_actions_FlxInputDevice.MOUSE,-1,Trigger,Axis);
|
|
};
|
|
$hxClasses["flixel.input.actions.FlxActionInputAnalogMousePosition"] = flixel_input_actions_FlxActionInputAnalogMousePosition;
|
|
flixel_input_actions_FlxActionInputAnalogMousePosition.__name__ = "flixel.input.actions.FlxActionInputAnalogMousePosition";
|
|
flixel_input_actions_FlxActionInputAnalogMousePosition.__super__ = flixel_input_actions_FlxActionInputAnalog;
|
|
flixel_input_actions_FlxActionInputAnalogMousePosition.prototype = $extend(flixel_input_actions_FlxActionInputAnalog.prototype,{
|
|
update: function() {
|
|
this.updateValues(flixel_FlxG.mouse.x,flixel_FlxG.mouse.y);
|
|
}
|
|
,updateValues: function(X,Y) {
|
|
if(X != this.x) {
|
|
this.xMoved.press();
|
|
} else {
|
|
this.xMoved.release();
|
|
}
|
|
if(Y != this.y) {
|
|
this.yMoved.press();
|
|
} else {
|
|
this.yMoved.release();
|
|
}
|
|
this.x = X;
|
|
this.y = Y;
|
|
}
|
|
,__class__: flixel_input_actions_FlxActionInputAnalogMousePosition
|
|
});
|
|
var flixel_input_actions_FlxActionInputAnalogGamepad = function(InputID,Trigger,Axis,GamepadID) {
|
|
if(GamepadID == null) {
|
|
GamepadID = -2;
|
|
}
|
|
if(Axis == null) {
|
|
Axis = 3;
|
|
}
|
|
flixel_input_actions_FlxActionInputAnalog.call(this,flixel_input_actions_FlxInputDevice.GAMEPAD,InputID,Trigger,Axis,GamepadID);
|
|
};
|
|
$hxClasses["flixel.input.actions.FlxActionInputAnalogGamepad"] = flixel_input_actions_FlxActionInputAnalogGamepad;
|
|
flixel_input_actions_FlxActionInputAnalogGamepad.__name__ = "flixel.input.actions.FlxActionInputAnalogGamepad";
|
|
flixel_input_actions_FlxActionInputAnalogGamepad.__super__ = flixel_input_actions_FlxActionInputAnalog;
|
|
flixel_input_actions_FlxActionInputAnalogGamepad.prototype = $extend(flixel_input_actions_FlxActionInputAnalog.prototype,{
|
|
update: function() {
|
|
if(this.deviceID == -1) {
|
|
return;
|
|
}
|
|
var gamepad = null;
|
|
if(this.deviceID == -2) {
|
|
gamepad = flixel_FlxG.gamepads.getFirstActiveGamepad();
|
|
} else if(this.deviceID >= 0) {
|
|
gamepad = flixel_FlxG.gamepads._activeGamepads[this.deviceID];
|
|
}
|
|
if(gamepad != null) {
|
|
switch(this.inputID) {
|
|
case 17:
|
|
this.updateValues(gamepad.analog.value.gamepad.getAxis(17),0);
|
|
break;
|
|
case 18:
|
|
this.updateValues(gamepad.analog.value.gamepad.getAxis(18),0);
|
|
break;
|
|
case 19:
|
|
var _this = gamepad.analog.value.gamepad;
|
|
var tmp = _this.getAnalogXAxisValue(_this.mapping.getAnalogStick(19));
|
|
var _this = gamepad.analog.value.gamepad;
|
|
this.updateValues(tmp,_this.getYAxisRaw(_this.mapping.getAnalogStick(19)));
|
|
break;
|
|
case 20:
|
|
var _this = gamepad.analog.value.gamepad;
|
|
var tmp = _this.getAnalogXAxisValue(_this.mapping.getAnalogStick(20));
|
|
var _this = gamepad.analog.value.gamepad;
|
|
this.updateValues(tmp,_this.getYAxisRaw(_this.mapping.getAnalogStick(20)));
|
|
break;
|
|
case 21:
|
|
var tmp;
|
|
var _this = gamepad.pressed;
|
|
var id = 13;
|
|
var _this1 = _this.gamepad;
|
|
var Status = _this.status;
|
|
var tmp1;
|
|
switch(id) {
|
|
case -2:
|
|
tmp1 = _this1.anyButton(Status);
|
|
break;
|
|
case -1:
|
|
tmp1 = !_this1.anyButton(Status);
|
|
break;
|
|
default:
|
|
var RawID = _this1.mapping.getRawID(id);
|
|
var button = _this1.buttons[RawID];
|
|
tmp1 = button != null && button.hasState(Status);
|
|
}
|
|
if(tmp1) {
|
|
tmp = -1.0;
|
|
} else {
|
|
var _this = gamepad.pressed;
|
|
var id = 14;
|
|
var _this1 = _this.gamepad;
|
|
var Status = _this.status;
|
|
var tmp1;
|
|
switch(id) {
|
|
case -2:
|
|
tmp1 = _this1.anyButton(Status);
|
|
break;
|
|
case -1:
|
|
tmp1 = !_this1.anyButton(Status);
|
|
break;
|
|
default:
|
|
var RawID = _this1.mapping.getRawID(id);
|
|
var button = _this1.buttons[RawID];
|
|
tmp1 = button != null && button.hasState(Status);
|
|
}
|
|
tmp = tmp1 ? 1.0 : 0.0;
|
|
}
|
|
var tmp1;
|
|
var _this = gamepad.pressed;
|
|
var id = 11;
|
|
var _this1 = _this.gamepad;
|
|
var Status = _this.status;
|
|
var tmp2;
|
|
switch(id) {
|
|
case -2:
|
|
tmp2 = _this1.anyButton(Status);
|
|
break;
|
|
case -1:
|
|
tmp2 = !_this1.anyButton(Status);
|
|
break;
|
|
default:
|
|
var RawID = _this1.mapping.getRawID(id);
|
|
var button = _this1.buttons[RawID];
|
|
tmp2 = button != null && button.hasState(Status);
|
|
}
|
|
if(tmp2) {
|
|
tmp1 = -1.0;
|
|
} else {
|
|
var _this = gamepad.pressed;
|
|
var id = 12;
|
|
var _this1 = _this.gamepad;
|
|
var Status = _this.status;
|
|
var tmp2;
|
|
switch(id) {
|
|
case -2:
|
|
tmp2 = _this1.anyButton(Status);
|
|
break;
|
|
case -1:
|
|
tmp2 = !_this1.anyButton(Status);
|
|
break;
|
|
default:
|
|
var RawID = _this1.mapping.getRawID(id);
|
|
var button = _this1.buttons[RawID];
|
|
tmp2 = button != null && button.hasState(Status);
|
|
}
|
|
tmp1 = tmp2 ? 1.0 : 0.0;
|
|
}
|
|
this.updateValues(tmp,tmp1);
|
|
break;
|
|
case 28:
|
|
this.updateValues(gamepad.analog.value.gamepad.getAxis(28),0);
|
|
break;
|
|
case 29:
|
|
this.updateValues(gamepad.analog.value.gamepad.getAxis(29),0);
|
|
break;
|
|
}
|
|
} else {
|
|
this.updateValues(0,0);
|
|
}
|
|
}
|
|
,__class__: flixel_input_actions_FlxActionInputAnalogGamepad
|
|
});
|
|
var flixel_input_actions_FlxActionInputAnalogSteam = function(ActionHandle,Trigger,Axis,DeviceID) {
|
|
if(DeviceID == null) {
|
|
DeviceID = -1;
|
|
}
|
|
if(Axis == null) {
|
|
Axis = 3;
|
|
}
|
|
flixel_input_actions_FlxActionInputAnalog.call(this,flixel_input_actions_FlxInputDevice.STEAM_CONTROLLER,ActionHandle,Trigger,Axis,DeviceID);
|
|
};
|
|
$hxClasses["flixel.input.actions.FlxActionInputAnalogSteam"] = flixel_input_actions_FlxActionInputAnalogSteam;
|
|
flixel_input_actions_FlxActionInputAnalogSteam.__name__ = "flixel.input.actions.FlxActionInputAnalogSteam";
|
|
flixel_input_actions_FlxActionInputAnalogSteam.__super__ = flixel_input_actions_FlxActionInputAnalog;
|
|
flixel_input_actions_FlxActionInputAnalogSteam.prototype = $extend(flixel_input_actions_FlxActionInputAnalog.prototype,{
|
|
update: function() {
|
|
}
|
|
,__class__: flixel_input_actions_FlxActionInputAnalogSteam
|
|
});
|
|
var flixel_input_actions_FlxActionInputDigital = function(Device1,InputID,Trigger,DeviceID) {
|
|
if(DeviceID == null) {
|
|
DeviceID = -2;
|
|
}
|
|
flixel_input_actions_FlxActionInput.call(this,flixel_input_actions_FlxInputType.DIGITAL,Device1,InputID,Trigger,DeviceID);
|
|
this.inputID = InputID;
|
|
};
|
|
$hxClasses["flixel.input.actions.FlxActionInputDigital"] = flixel_input_actions_FlxActionInputDigital;
|
|
flixel_input_actions_FlxActionInputDigital.__name__ = "flixel.input.actions.FlxActionInputDigital";
|
|
flixel_input_actions_FlxActionInputDigital.__super__ = flixel_input_actions_FlxActionInput;
|
|
flixel_input_actions_FlxActionInputDigital.prototype = $extend(flixel_input_actions_FlxActionInput.prototype,{
|
|
__class__: flixel_input_actions_FlxActionInputDigital
|
|
});
|
|
var flixel_input_actions_FlxActionInputDigitalMouseWheel = function(Positive,Trigger) {
|
|
this.sign = 0;
|
|
flixel_input_actions_FlxActionInputDigital.call(this,flixel_input_actions_FlxInputDevice.MOUSE_WHEEL,0,Trigger);
|
|
this.input = new flixel_input_FlxInput(0);
|
|
this.sign = Positive ? 1 : -1;
|
|
};
|
|
$hxClasses["flixel.input.actions.FlxActionInputDigitalMouseWheel"] = flixel_input_actions_FlxActionInputDigitalMouseWheel;
|
|
flixel_input_actions_FlxActionInputDigitalMouseWheel.__name__ = "flixel.input.actions.FlxActionInputDigitalMouseWheel";
|
|
flixel_input_actions_FlxActionInputDigitalMouseWheel.__super__ = flixel_input_actions_FlxActionInputDigital;
|
|
flixel_input_actions_FlxActionInputDigitalMouseWheel.prototype = $extend(flixel_input_actions_FlxActionInputDigital.prototype,{
|
|
input: null
|
|
,sign: null
|
|
,check: function(Action1) {
|
|
switch(this.trigger) {
|
|
case -1:
|
|
return this.input.current == -1;
|
|
case 0:
|
|
var _this = this.input;
|
|
if(!(_this.current == 0 || _this.current == -1)) {
|
|
return this.input.current == -1;
|
|
} else {
|
|
return true;
|
|
}
|
|
break;
|
|
case 1:
|
|
var _this = this.input;
|
|
if(!(_this.current == 1 || _this.current == 2)) {
|
|
return this.input.current == 2;
|
|
} else {
|
|
return true;
|
|
}
|
|
break;
|
|
case 2:
|
|
return this.input.current == 2;
|
|
default:
|
|
return false;
|
|
}
|
|
}
|
|
,update: function() {
|
|
flixel_input_actions_FlxActionInputDigital.prototype.update.call(this);
|
|
if(flixel_FlxG.mouse.wheel * this.sign > 0) {
|
|
this.input.press();
|
|
} else {
|
|
this.input.release();
|
|
}
|
|
}
|
|
,__class__: flixel_input_actions_FlxActionInputDigitalMouseWheel
|
|
});
|
|
var flixel_input_actions_FlxActionInputDigitalGamepad = function(InputID,Trigger,GamepadID) {
|
|
if(GamepadID == null) {
|
|
GamepadID = -2;
|
|
}
|
|
flixel_input_actions_FlxActionInputDigital.call(this,flixel_input_actions_FlxInputDevice.GAMEPAD,InputID,Trigger,GamepadID);
|
|
this.input = new flixel_input_FlxInput(InputID);
|
|
};
|
|
$hxClasses["flixel.input.actions.FlxActionInputDigitalGamepad"] = flixel_input_actions_FlxActionInputDigitalGamepad;
|
|
flixel_input_actions_FlxActionInputDigitalGamepad.__name__ = "flixel.input.actions.FlxActionInputDigitalGamepad";
|
|
flixel_input_actions_FlxActionInputDigitalGamepad.__super__ = flixel_input_actions_FlxActionInputDigital;
|
|
flixel_input_actions_FlxActionInputDigitalGamepad.prototype = $extend(flixel_input_actions_FlxActionInputDigital.prototype,{
|
|
input: null
|
|
,toString: function() {
|
|
return "FlxActionInputDigitalGamepad{inputID:" + this.inputID + ",trigger:" + this.trigger + ",deviceID:" + this.deviceID + ",device:" + Std.string(this.device) + ",type:" + Std.string(this.type) + "}";
|
|
}
|
|
,update: function() {
|
|
flixel_input_actions_FlxActionInputDigital.prototype.update.call(this);
|
|
if(this.deviceID == -1) {
|
|
if(flixel_FlxG.gamepads.anyHasState(this.inputID,1) || flixel_FlxG.gamepads.anyHasState(this.inputID,2)) {
|
|
this.input.press();
|
|
} else {
|
|
this.input.release();
|
|
}
|
|
} else {
|
|
var gamepad = null;
|
|
if(this.deviceID == -2) {
|
|
gamepad = flixel_FlxG.gamepads.getFirstActiveGamepad();
|
|
} else if(this.deviceID >= 0) {
|
|
gamepad = flixel_FlxG.gamepads._activeGamepads[this.deviceID];
|
|
}
|
|
if(gamepad != null) {
|
|
if(this.inputID == -2 && this.trigger == 0) {
|
|
if(gamepad.released.get_ANY()) {
|
|
this.input.release();
|
|
} else {
|
|
this.input.press();
|
|
}
|
|
} else {
|
|
var tmp;
|
|
var ID = this.inputID;
|
|
var Status = 1;
|
|
var tmp1;
|
|
switch(ID) {
|
|
case -2:
|
|
tmp1 = gamepad.anyButton(Status);
|
|
break;
|
|
case -1:
|
|
tmp1 = !gamepad.anyButton(Status);
|
|
break;
|
|
default:
|
|
var RawID = gamepad.mapping.getRawID(ID);
|
|
var button = gamepad.buttons[RawID];
|
|
tmp1 = button != null && button.hasState(Status);
|
|
}
|
|
if(!tmp1) {
|
|
var ID = this.inputID;
|
|
var Status = 2;
|
|
switch(ID) {
|
|
case -2:
|
|
tmp = gamepad.anyButton(Status);
|
|
break;
|
|
case -1:
|
|
tmp = !gamepad.anyButton(Status);
|
|
break;
|
|
default:
|
|
var RawID = gamepad.mapping.getRawID(ID);
|
|
var button = gamepad.buttons[RawID];
|
|
tmp = button != null && button.hasState(Status);
|
|
}
|
|
} else {
|
|
tmp = true;
|
|
}
|
|
if(tmp) {
|
|
this.input.press();
|
|
} else {
|
|
this.input.release();
|
|
}
|
|
}
|
|
} else if(this.deviceID == -2) {
|
|
this.input.release();
|
|
}
|
|
}
|
|
}
|
|
,check: function(Action1) {
|
|
switch(this.trigger) {
|
|
case -1:
|
|
return this.input.current == -1;
|
|
case 0:
|
|
var _this = this.input;
|
|
if(!(_this.current == 0 || _this.current == -1)) {
|
|
return this.input.current == -1;
|
|
} else {
|
|
return true;
|
|
}
|
|
break;
|
|
case 1:
|
|
var _this = this.input;
|
|
if(!(_this.current == 1 || _this.current == 2)) {
|
|
return this.input.current == 2;
|
|
} else {
|
|
return true;
|
|
}
|
|
break;
|
|
case 2:
|
|
return this.input.current == 2;
|
|
default:
|
|
return false;
|
|
}
|
|
}
|
|
,__class__: flixel_input_actions_FlxActionInputDigitalGamepad
|
|
});
|
|
var flixel_input_actions_FlxActionInputDigitalKeyboard = function(Key,Trigger) {
|
|
flixel_input_actions_FlxActionInputDigital.call(this,flixel_input_actions_FlxInputDevice.KEYBOARD,Key,Trigger);
|
|
};
|
|
$hxClasses["flixel.input.actions.FlxActionInputDigitalKeyboard"] = flixel_input_actions_FlxActionInputDigitalKeyboard;
|
|
flixel_input_actions_FlxActionInputDigitalKeyboard.__name__ = "flixel.input.actions.FlxActionInputDigitalKeyboard";
|
|
flixel_input_actions_FlxActionInputDigitalKeyboard.__super__ = flixel_input_actions_FlxActionInputDigital;
|
|
flixel_input_actions_FlxActionInputDigitalKeyboard.prototype = $extend(flixel_input_actions_FlxActionInputDigital.prototype,{
|
|
check: function(Action1) {
|
|
switch(this.trigger) {
|
|
case -1:
|
|
return flixel_FlxG.keys.checkStatus(this.inputID,-1);
|
|
case 0:
|
|
if(!flixel_FlxG.keys.checkStatus(this.inputID,0)) {
|
|
return flixel_FlxG.keys.checkStatus(this.inputID,-1);
|
|
} else {
|
|
return true;
|
|
}
|
|
break;
|
|
case 1:
|
|
if(!flixel_FlxG.keys.checkStatus(this.inputID,1)) {
|
|
return flixel_FlxG.keys.checkStatus(this.inputID,2);
|
|
} else {
|
|
return true;
|
|
}
|
|
break;
|
|
case 2:
|
|
return flixel_FlxG.keys.checkStatus(this.inputID,2);
|
|
default:
|
|
return false;
|
|
}
|
|
}
|
|
,__class__: flixel_input_actions_FlxActionInputDigitalKeyboard
|
|
});
|
|
var flixel_input_actions_FlxActionInputDigitalMouse = function(ButtonID,Trigger) {
|
|
flixel_input_actions_FlxActionInputDigital.call(this,flixel_input_actions_FlxInputDevice.MOUSE,ButtonID,Trigger);
|
|
};
|
|
$hxClasses["flixel.input.actions.FlxActionInputDigitalMouse"] = flixel_input_actions_FlxActionInputDigitalMouse;
|
|
flixel_input_actions_FlxActionInputDigitalMouse.__name__ = "flixel.input.actions.FlxActionInputDigitalMouse";
|
|
flixel_input_actions_FlxActionInputDigitalMouse.__super__ = flixel_input_actions_FlxActionInputDigital;
|
|
flixel_input_actions_FlxActionInputDigitalMouse.prototype = $extend(flixel_input_actions_FlxActionInputDigital.prototype,{
|
|
check: function(Action1) {
|
|
switch(this.inputID) {
|
|
case -3:
|
|
switch(this.trigger) {
|
|
case -1:
|
|
return flixel_FlxG.mouse._rightButton.current == -1;
|
|
case 0:
|
|
var _this = flixel_FlxG.mouse._rightButton;
|
|
if(_this.current == 1 || _this.current == 2) {
|
|
return flixel_FlxG.mouse._rightButton.current == -1;
|
|
} else {
|
|
return true;
|
|
}
|
|
break;
|
|
case 1:
|
|
var _this = flixel_FlxG.mouse._rightButton;
|
|
if(!(_this.current == 1 || _this.current == 2)) {
|
|
return flixel_FlxG.mouse._rightButton.current == 2;
|
|
} else {
|
|
return true;
|
|
}
|
|
break;
|
|
case 2:
|
|
return flixel_FlxG.mouse._rightButton.current == 2;
|
|
}
|
|
break;
|
|
case -2:
|
|
switch(this.trigger) {
|
|
case -1:
|
|
return flixel_FlxG.mouse._middleButton.current == -1;
|
|
case 0:
|
|
var _this = flixel_FlxG.mouse._middleButton;
|
|
if(_this.current == 1 || _this.current == 2) {
|
|
return flixel_FlxG.mouse._middleButton.current == -1;
|
|
} else {
|
|
return true;
|
|
}
|
|
break;
|
|
case 1:
|
|
var _this = flixel_FlxG.mouse._middleButton;
|
|
if(!(_this.current == 1 || _this.current == 2)) {
|
|
return flixel_FlxG.mouse._middleButton.current == 2;
|
|
} else {
|
|
return true;
|
|
}
|
|
break;
|
|
case 2:
|
|
return flixel_FlxG.mouse._middleButton.current == 2;
|
|
}
|
|
break;
|
|
case -1:
|
|
switch(this.trigger) {
|
|
case -1:
|
|
return flixel_FlxG.mouse._leftButton.current == -1;
|
|
case 0:
|
|
var _this = flixel_FlxG.mouse._leftButton;
|
|
if(_this.current == 1 || _this.current == 2) {
|
|
return flixel_FlxG.mouse._leftButton.current == -1;
|
|
} else {
|
|
return true;
|
|
}
|
|
break;
|
|
case 1:
|
|
var _this = flixel_FlxG.mouse._leftButton;
|
|
if(!(_this.current == 1 || _this.current == 2)) {
|
|
return flixel_FlxG.mouse._leftButton.current == 2;
|
|
} else {
|
|
return true;
|
|
}
|
|
break;
|
|
case 2:
|
|
return flixel_FlxG.mouse._leftButton.current == 2;
|
|
}
|
|
break;
|
|
default:
|
|
return false;
|
|
}
|
|
}
|
|
,__class__: flixel_input_actions_FlxActionInputDigitalMouse
|
|
});
|
|
var flixel_input_actions_FlxActionInputDigitalSteam = function(ActionHandle,Trigger,DeviceHandle) {
|
|
if(DeviceHandle == null) {
|
|
DeviceHandle = -2;
|
|
}
|
|
flixel_input_actions_FlxActionInputDigital.call(this,flixel_input_actions_FlxInputDevice.STEAM_CONTROLLER,ActionHandle,Trigger,DeviceHandle);
|
|
};
|
|
$hxClasses["flixel.input.actions.FlxActionInputDigitalSteam"] = flixel_input_actions_FlxActionInputDigitalSteam;
|
|
flixel_input_actions_FlxActionInputDigitalSteam.__name__ = "flixel.input.actions.FlxActionInputDigitalSteam";
|
|
flixel_input_actions_FlxActionInputDigitalSteam.__super__ = flixel_input_actions_FlxActionInputDigital;
|
|
flixel_input_actions_FlxActionInputDigitalSteam.prototype = $extend(flixel_input_actions_FlxActionInputDigital.prototype,{
|
|
steamInput: null
|
|
,check: function(Action1) {
|
|
switch(this.trigger) {
|
|
case -1:
|
|
return this.steamInput.current == -1;
|
|
case 0:
|
|
var _this = this.steamInput;
|
|
if(_this.current == 0 || _this.current == -1) {
|
|
return this.steamInput.current == -1;
|
|
} else {
|
|
return true;
|
|
}
|
|
break;
|
|
case 1:
|
|
var _this = this.steamInput;
|
|
if(!(_this.current == 1 || _this.current == 2)) {
|
|
return this.steamInput.current == 2;
|
|
} else {
|
|
return true;
|
|
}
|
|
break;
|
|
case 2:
|
|
return this.steamInput.current == 2;
|
|
}
|
|
}
|
|
,update: function() {
|
|
var controllerHandle = this.deviceID;
|
|
if(controllerHandle == -2) {
|
|
controllerHandle = flixel_input_actions_FlxSteamController.getFirstActiveHandle();
|
|
}
|
|
var data = flixel_input_actions_FlxSteamController.getDigitalActionData(controllerHandle,this.inputID);
|
|
if(data.bActive && data.bState) {
|
|
this.steamInput.press();
|
|
} else {
|
|
this.steamInput.release();
|
|
}
|
|
}
|
|
,getSteamControllerData: function(controllerHandle) {
|
|
if(controllerHandle == -2) {
|
|
controllerHandle = flixel_input_actions_FlxSteamController.getFirstActiveHandle();
|
|
}
|
|
var data = flixel_input_actions_FlxSteamController.getDigitalActionData(controllerHandle,this.inputID);
|
|
if(data.bActive) {
|
|
return data.bState;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,__class__: flixel_input_actions_FlxActionInputDigitalSteam
|
|
});
|
|
var flixel_input_actions_FlxActionInputDigitalIFlxInput = function(Input,Trigger) {
|
|
flixel_input_actions_FlxActionInputDigital.call(this,flixel_input_actions_FlxInputDevice.IFLXINPUT_OBJECT,0,Trigger);
|
|
this.input = Input;
|
|
};
|
|
$hxClasses["flixel.input.actions.FlxActionInputDigitalIFlxInput"] = flixel_input_actions_FlxActionInputDigitalIFlxInput;
|
|
flixel_input_actions_FlxActionInputDigitalIFlxInput.__name__ = "flixel.input.actions.FlxActionInputDigitalIFlxInput";
|
|
flixel_input_actions_FlxActionInputDigitalIFlxInput.__super__ = flixel_input_actions_FlxActionInputDigital;
|
|
flixel_input_actions_FlxActionInputDigitalIFlxInput.prototype = $extend(flixel_input_actions_FlxActionInputDigital.prototype,{
|
|
input: null
|
|
,check: function(action) {
|
|
switch(this.trigger) {
|
|
case -1:
|
|
return this.input.get_justReleased();
|
|
case 0:
|
|
if(this.input.get_pressed()) {
|
|
return this.input.get_justReleased();
|
|
} else {
|
|
return true;
|
|
}
|
|
break;
|
|
case 1:
|
|
if(!this.input.get_pressed()) {
|
|
return this.input.get_justPressed();
|
|
} else {
|
|
return true;
|
|
}
|
|
break;
|
|
case 2:
|
|
return this.input.get_justPressed();
|
|
default:
|
|
return false;
|
|
}
|
|
}
|
|
,destroy: function() {
|
|
flixel_input_actions_FlxActionInputDigital.prototype.destroy.call(this);
|
|
this.input = null;
|
|
}
|
|
,__class__: flixel_input_actions_FlxActionInputDigitalIFlxInput
|
|
});
|
|
var flixel_input_actions_FlxActionManager = function() {
|
|
this.resetOnStateSwitch = flixel_input_actions_ResetPolicy.DEFAULT_SET_ONLY;
|
|
this.defaultSet = null;
|
|
this.sets = [];
|
|
this.register = new flixel_input_actions__$FlxActionManager_ActionSetRegister();
|
|
this.deviceConnected = new flixel_util__$FlxSignal_FlxSignal3();
|
|
this.deviceDisconnected = new flixel_util__$FlxSignal_FlxSignal3();
|
|
this.inputsChanged = new flixel_util__$FlxSignal_FlxSignal1();
|
|
flixel_FlxG.gamepads.deviceConnected.add($bind(this,this.onDeviceConnected));
|
|
flixel_FlxG.gamepads.deviceDisconnected.add($bind(this,this.onDeviceDisconnected));
|
|
flixel_input_actions_FlxSteamController.onControllerConnect = $bind(this,this.updateSteamControllers);
|
|
flixel_input_actions_FlxSteamController.onOriginUpdate = $bind(this,this.updateSteamOrigins);
|
|
flixel_FlxG.signals.preStateSwitch.add($bind(this,this.onStateSwitched));
|
|
};
|
|
$hxClasses["flixel.input.actions.FlxActionManager"] = flixel_input_actions_FlxActionManager;
|
|
flixel_input_actions_FlxActionManager.__name__ = "flixel.input.actions.FlxActionManager";
|
|
flixel_input_actions_FlxActionManager.__interfaces__ = [flixel_util_IFlxDestroyable,flixel_input_IFlxInputManager];
|
|
flixel_input_actions_FlxActionManager.prototype = {
|
|
sets: null
|
|
,register: null
|
|
,defaultSet: null
|
|
,deviceDisconnected: null
|
|
,deviceConnected: null
|
|
,inputsChanged: null
|
|
,resetOnStateSwitch: null
|
|
,activateSet: function(ActionSet,Device1,DeviceID) {
|
|
this.register.activate(ActionSet,Device1,DeviceID);
|
|
this.onChange();
|
|
}
|
|
,addActions: function(Actions,ActionSet) {
|
|
if(ActionSet == null) {
|
|
ActionSet = 0;
|
|
}
|
|
var success = true;
|
|
var _g = 0;
|
|
while(_g < Actions.length) {
|
|
var Action1 = Actions[_g];
|
|
++_g;
|
|
var result = this.addAction(Action1);
|
|
if(!result) {
|
|
success = false;
|
|
}
|
|
}
|
|
return success;
|
|
}
|
|
,addAction: function(Action1,ActionSet) {
|
|
if(ActionSet == null) {
|
|
ActionSet = 0;
|
|
}
|
|
var success = false;
|
|
if(this.sets == null) {
|
|
this.sets = [];
|
|
}
|
|
if(this.sets.length == 0) {
|
|
this.defaultSet = new flixel_input_actions_FlxActionSet("default");
|
|
var defaultSetIndex = this.addSet(this.defaultSet);
|
|
this.activateSet(defaultSetIndex,flixel_input_actions_FlxInputDevice.ALL,-1);
|
|
}
|
|
if(ActionSet >= 0 && ActionSet < this.sets.length) {
|
|
success = this.sets[ActionSet].add(Action1);
|
|
}
|
|
this.onChange();
|
|
return success;
|
|
}
|
|
,addSet: function(set) {
|
|
if(this.sets.indexOf(set) != -1) {
|
|
return -1;
|
|
}
|
|
this.sets.push(set);
|
|
this.onChange();
|
|
return this.sets.length - 1;
|
|
}
|
|
,deactivateSet: function(ActionSet,DeviceID) {
|
|
if(DeviceID == null) {
|
|
DeviceID = -1;
|
|
}
|
|
this.register.activate(ActionSet,flixel_input_actions_FlxInputDevice.NONE,DeviceID);
|
|
this.onChange();
|
|
}
|
|
,destroy: function() {
|
|
this.sets = flixel_util_FlxDestroyUtil.destroyArray(this.sets);
|
|
this.register = flixel_util_FlxDestroyUtil.destroy(this.register);
|
|
}
|
|
,getSetIndex: function(Name) {
|
|
var _g = 0;
|
|
var _g1 = this.sets.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(this.sets[i].name == Name) {
|
|
return i;
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
,getSetName: function(Index) {
|
|
if(Index >= 0 && Index < this.sets.length) {
|
|
return this.sets[Index].name;
|
|
}
|
|
return "";
|
|
}
|
|
,getSet: function(Index) {
|
|
if(Index >= 0 && Index < this.sets.length) {
|
|
return this.sets[Index];
|
|
}
|
|
return null;
|
|
}
|
|
,getSetActivatedForDevice: function(device,deviceID) {
|
|
if(deviceID == null) {
|
|
deviceID = -1;
|
|
}
|
|
var id = -1;
|
|
var index = -1;
|
|
switch(device._hx_index) {
|
|
case 1:
|
|
index = this.register.mouseSet;
|
|
break;
|
|
case 3:
|
|
index = this.register.keyboardSet;
|
|
break;
|
|
case 4:
|
|
switch(deviceID) {
|
|
case -3:
|
|
index = -1;
|
|
break;
|
|
case -2:
|
|
id = flixel_FlxG.gamepads.getFirstActiveGamepadID();
|
|
break;
|
|
case -1:
|
|
index = this.register.gamepadAllSet;
|
|
break;
|
|
default:
|
|
if(this.register.gamepadAllSet != -1) {
|
|
index = this.register.gamepadAllSet;
|
|
} else {
|
|
id = deviceID;
|
|
}
|
|
}
|
|
if(id >= 0 && id < this.register.gamepadSets.length) {
|
|
index = this.register.gamepadSets[id];
|
|
}
|
|
break;
|
|
case 5:
|
|
switch(deviceID) {
|
|
case -3:
|
|
index = -1;
|
|
break;
|
|
case -1:
|
|
index = this.register.steamControllerAllSet;
|
|
break;
|
|
default:
|
|
if(this.register.steamControllerAllSet != -1) {
|
|
index = this.register.steamControllerAllSet;
|
|
} else {
|
|
id = deviceID;
|
|
}
|
|
}
|
|
if(id >= 0 && id < this.register.steamControllerSets.length) {
|
|
index = this.register.steamControllerSets[id];
|
|
}
|
|
break;
|
|
case 8:
|
|
if(deviceID == -1) {
|
|
index = this.register.gamepadAllSet;
|
|
}
|
|
break;
|
|
default:
|
|
index = -1;
|
|
}
|
|
if(index >= 0 && index < this.sets.length) {
|
|
return this.sets[index];
|
|
}
|
|
return null;
|
|
}
|
|
,initFromJson: function(data,CallbackDigital,CallbackAnalog) {
|
|
if(data == null) {
|
|
return 0;
|
|
}
|
|
var i = 0;
|
|
var actionSets = data.actionSets;
|
|
if(actionSets == null) {
|
|
return 0;
|
|
}
|
|
var _g = 0;
|
|
while(_g < actionSets.length) {
|
|
var set = actionSets[_g];
|
|
++_g;
|
|
if(this.addSet(flixel_input_actions_FlxActionSet.fromJson(set,CallbackDigital,CallbackAnalog)) != -1) {
|
|
++i;
|
|
}
|
|
}
|
|
this.onChange();
|
|
return i;
|
|
}
|
|
,exportToJson: function() {
|
|
var space = "\t";
|
|
return JSON.stringify({ "actionSets" : this.sets},function(key,value) {
|
|
if(((value) instanceof flixel_input_actions_FlxAction)) {
|
|
var fa = value;
|
|
return fa.name;
|
|
}
|
|
if(((value) instanceof flixel_input_actions_FlxActionSet)) {
|
|
var fas = value;
|
|
return { "name" : fas.name, "digitalActions" : fas.digitalActions, "analogActions" : fas.analogActions};
|
|
}
|
|
return value;
|
|
},space);
|
|
}
|
|
,removeSet: function(Set,Destroy) {
|
|
if(Destroy == null) {
|
|
Destroy = true;
|
|
}
|
|
var success = HxOverrides.remove(this.sets,Set);
|
|
if(success) {
|
|
if(Destroy) {
|
|
flixel_util_FlxDestroyUtil.destroy(Set);
|
|
}
|
|
this.onChange();
|
|
}
|
|
return success;
|
|
}
|
|
,removeAction: function(Action1,ActionSet) {
|
|
var success = false;
|
|
if(ActionSet >= 0 && ActionSet < this.sets.length) {
|
|
success = this.sets[ActionSet].remove(Action1);
|
|
}
|
|
this.onChange();
|
|
return success;
|
|
}
|
|
,reset: function() {
|
|
}
|
|
,get_numSets: function() {
|
|
return this.sets.length;
|
|
}
|
|
,onChange: function() {
|
|
this.register.markActiveSets(this.sets);
|
|
}
|
|
,onDeviceConnected: function(gamepad) {
|
|
this.deviceConnected.dispatch(flixel_input_actions_FlxInputDevice.GAMEPAD,gamepad.id,Std.string(gamepad.model).toLowerCase());
|
|
}
|
|
,onDeviceDisconnected: function(gamepad) {
|
|
if(gamepad != null) {
|
|
var actionSet = this.getSetActivatedForDevice(flixel_input_actions_FlxInputDevice.GAMEPAD,gamepad.id);
|
|
if(actionSet != null && actionSet.active) {
|
|
var id = gamepad.id;
|
|
var model = gamepad.model != null ? Std.string(gamepad.model).toLowerCase() : "";
|
|
this.deviceDisconnected.dispatch(flixel_input_actions_FlxInputDevice.GAMEPAD,id,model);
|
|
}
|
|
}
|
|
}
|
|
,onFocus: function() {
|
|
}
|
|
,onFocusLost: function() {
|
|
}
|
|
,onStateSwitched: function() {
|
|
switch(this.resetOnStateSwitch._hx_index) {
|
|
case 1:
|
|
while(this.sets.length > 0) this.removeSet(this.getSet(0),true);
|
|
this.defaultSet = null;
|
|
break;
|
|
case 2:
|
|
if(this.defaultSet != null) {
|
|
this.removeSet(this.defaultSet,true);
|
|
}
|
|
this.defaultSet = null;
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
,onSteamConnected: function(handle) {
|
|
var allSetIndex = this.register.steamControllerAllSet;
|
|
if(allSetIndex != -1) {
|
|
this.activateSet(allSetIndex,flixel_input_actions_FlxInputDevice.STEAM_CONTROLLER,-1);
|
|
} else {
|
|
var actionSet = this.getSetActivatedForDevice(flixel_input_actions_FlxInputDevice.STEAM_CONTROLLER,handle);
|
|
if(actionSet != null && actionSet.active) {
|
|
this.activateSet(this.getSetIndex(actionSet.name),flixel_input_actions_FlxInputDevice.STEAM_CONTROLLER,handle);
|
|
}
|
|
}
|
|
this.deviceConnected.dispatch(flixel_input_actions_FlxInputDevice.STEAM_CONTROLLER,handle,"");
|
|
}
|
|
,onSteamDisconnected: function(handle) {
|
|
if(handle >= 0) {
|
|
var actionSet = this.getSetActivatedForDevice(flixel_input_actions_FlxInputDevice.STEAM_CONTROLLER,handle);
|
|
if(actionSet != null && actionSet.active) {
|
|
this.deviceDisconnected.dispatch(flixel_input_actions_FlxInputDevice.STEAM_CONTROLLER,handle,"");
|
|
}
|
|
}
|
|
}
|
|
,updateSteamControllers: function() {
|
|
}
|
|
,updateSteamOrigins: function() {
|
|
}
|
|
,update: function() {
|
|
this.register.update(this.sets);
|
|
}
|
|
,__class__: flixel_input_actions_FlxActionManager
|
|
,__properties__: {get_numSets:"get_numSets"}
|
|
};
|
|
var flixel_input_actions__$FlxActionManager_ActionSetRegister = function() {
|
|
this.steamControllerAllSet = -1;
|
|
this.gamepadAllSet = -1;
|
|
this.keyboardSet = -1;
|
|
this.mouseSet = -1;
|
|
flixel_input_actions_FlxSteamController.init();
|
|
this.gamepadSets = [];
|
|
this.steamControllerSets = [];
|
|
};
|
|
$hxClasses["flixel.input.actions._FlxActionManager.ActionSetRegister"] = flixel_input_actions__$FlxActionManager_ActionSetRegister;
|
|
flixel_input_actions__$FlxActionManager_ActionSetRegister.__name__ = "flixel.input.actions._FlxActionManager.ActionSetRegister";
|
|
flixel_input_actions__$FlxActionManager_ActionSetRegister.__interfaces__ = [flixel_util_IFlxDestroyable];
|
|
flixel_input_actions__$FlxActionManager_ActionSetRegister.prototype = {
|
|
mouseSet: null
|
|
,keyboardSet: null
|
|
,gamepadAllSet: null
|
|
,steamControllerAllSet: null
|
|
,gamepadSets: null
|
|
,steamControllerSets: null
|
|
,destroy: function() {
|
|
this.gamepadSets = null;
|
|
this.steamControllerSets = null;
|
|
}
|
|
,activate: function(ActionSet,Device1,DeviceID) {
|
|
if(DeviceID == null) {
|
|
DeviceID = -2;
|
|
}
|
|
this.setActivate(ActionSet,Device1,DeviceID);
|
|
}
|
|
,markActiveSets: function(sets) {
|
|
var _g = 0;
|
|
var _g1 = sets.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
sets[i].active = false;
|
|
}
|
|
this.syncDevice(flixel_input_actions_FlxInputDevice.MOUSE,sets);
|
|
this.syncDevice(flixel_input_actions_FlxInputDevice.KEYBOARD,sets);
|
|
this.syncDevice(flixel_input_actions_FlxInputDevice.GAMEPAD,sets);
|
|
this.syncDevice(flixel_input_actions_FlxInputDevice.STEAM_CONTROLLER,sets);
|
|
}
|
|
,update: function(sets) {
|
|
var _g = 0;
|
|
var _g1 = sets.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
sets[i].update();
|
|
}
|
|
}
|
|
,updateSteam: function(sets) {
|
|
}
|
|
,setActivate: function(ActionSet,Device1,DeviceID,DoActivate) {
|
|
if(DoActivate == null) {
|
|
DoActivate = true;
|
|
}
|
|
if(DeviceID == null) {
|
|
DeviceID = -2;
|
|
}
|
|
switch(Device1._hx_index) {
|
|
case 1:
|
|
this.mouseSet = DoActivate ? ActionSet : -1;
|
|
break;
|
|
case 3:
|
|
this.keyboardSet = DoActivate ? ActionSet : -1;
|
|
break;
|
|
case 4:
|
|
switch(DeviceID) {
|
|
case -3:
|
|
this.clearSetFromArray(ActionSet,this.gamepadSets);
|
|
break;
|
|
case -2:
|
|
this.gamepadSets[flixel_FlxG.gamepads.getFirstActiveGamepadID()] = DoActivate ? ActionSet : -1;
|
|
break;
|
|
case -1:
|
|
this.clearSetFromArray(-1,this.gamepadSets);
|
|
this.gamepadAllSet = DoActivate ? ActionSet : -1;
|
|
break;
|
|
default:
|
|
this.gamepadSets[DeviceID] = DoActivate ? ActionSet : -1;
|
|
}
|
|
break;
|
|
case 5:
|
|
switch(DeviceID) {
|
|
case -3:
|
|
this.clearSetFromArray(ActionSet,this.steamControllerSets);
|
|
break;
|
|
case -2:
|
|
this.steamControllerSets[flixel_input_actions_FlxSteamController.getFirstActiveHandle()] = DoActivate ? ActionSet : -1;
|
|
break;
|
|
case -1:
|
|
this.steamControllerAllSet = DoActivate ? ActionSet : -1;
|
|
this.clearSetFromArray(-1,this.steamControllerSets);
|
|
break;
|
|
default:
|
|
this.steamControllerSets[DeviceID] = DoActivate ? ActionSet : -1;
|
|
}
|
|
break;
|
|
case 8:
|
|
this.setActivate(ActionSet,flixel_input_actions_FlxInputDevice.MOUSE,DeviceID,DoActivate);
|
|
this.setActivate(ActionSet,flixel_input_actions_FlxInputDevice.KEYBOARD,DeviceID,DoActivate);
|
|
this.setActivate(ActionSet,flixel_input_actions_FlxInputDevice.GAMEPAD,DeviceID,DoActivate);
|
|
break;
|
|
case 9:
|
|
this.setActivate(ActionSet,flixel_input_actions_FlxInputDevice.ALL,DeviceID,false);
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
,updateSteamOrigins: function(sets) {
|
|
return [];
|
|
}
|
|
,updateDigitalActionOrigins: function(action,deviceID,setHandle) {
|
|
}
|
|
,updateAnalogActionOrigins: function(action,deviceID,setHandle) {
|
|
}
|
|
,cheapChecksum: function(arr) {
|
|
var sum1 = 0;
|
|
var sum2 = 0;
|
|
if(arr != null) {
|
|
var _g = 0;
|
|
while(_g < arr.length) {
|
|
var n = arr[_g];
|
|
++_g;
|
|
sum1 = (sum1 + n) % 255;
|
|
sum2 = (sum2 + sum1) % 255;
|
|
}
|
|
}
|
|
return sum2 << 8 | sum1;
|
|
}
|
|
,updateSteamInputs: function(sets) {
|
|
}
|
|
,changeSteamControllerActionSet: function(controllerHandle,newSet,sets) {
|
|
var lastSet = flixel_input_actions_FlxSteamController.getCurrentActionSet(controllerHandle);
|
|
if(lastSet == newSet) {
|
|
return;
|
|
}
|
|
if(sets == null) {
|
|
return;
|
|
}
|
|
if(lastSet != -1) {
|
|
if(lastSet < sets.length) {
|
|
sets[lastSet].attachSteamController(controllerHandle,false);
|
|
}
|
|
}
|
|
sets[newSet].attachSteamController(controllerHandle);
|
|
}
|
|
,syncDevice: function(device,sets) {
|
|
switch(device._hx_index) {
|
|
case 1:
|
|
if(this.mouseSet >= 0 && this.mouseSet < sets.length) {
|
|
sets[this.mouseSet].active = true;
|
|
}
|
|
break;
|
|
case 3:
|
|
if(this.keyboardSet >= 0 && this.keyboardSet < sets.length) {
|
|
sets[this.keyboardSet].active = true;
|
|
}
|
|
break;
|
|
case 4:
|
|
if(this.gamepadAllSet >= 0 && this.gamepadAllSet < sets.length) {
|
|
sets[this.gamepadAllSet].active = true;
|
|
} else {
|
|
var _g = 0;
|
|
var _g1 = this.gamepadSets.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var gset = this.gamepadSets[i];
|
|
if(gset >= 0 && gset < sets.length) {
|
|
sets[gset].active = true;
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
case 5:
|
|
this.updateSteamInputs(sets);
|
|
if(this.steamControllerAllSet >= 0 && this.steamControllerAllSet < sets.length) {
|
|
sets[this.steamControllerAllSet].active = true;
|
|
} else {
|
|
var _g = 0;
|
|
var _g1 = this.steamControllerSets.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var sset = this.steamControllerSets[i];
|
|
if(sset >= 0 && sset < sets.length) {
|
|
sets[sset].active = true;
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
,clearSetFromArray: function(ActionSet,array) {
|
|
if(ActionSet == null) {
|
|
ActionSet = -1;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = array.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(ActionSet == -1 || array[i] == ActionSet) {
|
|
array[i] = -1;
|
|
}
|
|
}
|
|
}
|
|
,__class__: flixel_input_actions__$FlxActionManager_ActionSetRegister
|
|
};
|
|
var flixel_input_actions_ResetPolicy = $hxEnums["flixel.input.actions.ResetPolicy"] = { __ename__ : "flixel.input.actions.ResetPolicy", __constructs__ : ["NONE","ALL_SETS","DEFAULT_SET_ONLY"]
|
|
,NONE: {_hx_index:0,__enum__:"flixel.input.actions.ResetPolicy",toString:$estr}
|
|
,ALL_SETS: {_hx_index:1,__enum__:"flixel.input.actions.ResetPolicy",toString:$estr}
|
|
,DEFAULT_SET_ONLY: {_hx_index:2,__enum__:"flixel.input.actions.ResetPolicy",toString:$estr}
|
|
};
|
|
var flixel_input_actions_FlxSteamController = function() { };
|
|
$hxClasses["flixel.input.actions.FlxSteamController"] = flixel_input_actions_FlxSteamController;
|
|
flixel_input_actions_FlxSteamController.__name__ = "flixel.input.actions.FlxSteamController";
|
|
flixel_input_actions_FlxSteamController.__properties__ = {get_MAX_ORIGINS:"get_MAX_ORIGINS",get_MAX_CONTROLLERS:"get_MAX_CONTROLLERS"};
|
|
flixel_input_actions_FlxSteamController.controllers = null;
|
|
flixel_input_actions_FlxSteamController.get_MAX_CONTROLLERS = function() {
|
|
return 0;
|
|
};
|
|
flixel_input_actions_FlxSteamController.get_MAX_ORIGINS = function() {
|
|
return 0;
|
|
};
|
|
flixel_input_actions_FlxSteamController.clear = function() {
|
|
};
|
|
flixel_input_actions_FlxSteamController.init = function() {
|
|
flixel_input_actions_FlxSteamController.controllers = [];
|
|
};
|
|
flixel_input_actions_FlxSteamController.getActionSetHandle = function(name) {
|
|
return -1;
|
|
};
|
|
flixel_input_actions_FlxSteamController.getCurrentActionSet = function(SteamControllerHandle) {
|
|
return -1;
|
|
};
|
|
flixel_input_actions_FlxSteamController.activateActionSet = function(SteamControllerHandle,ActionSetHandle) {
|
|
};
|
|
flixel_input_actions_FlxSteamController.getFirstActiveHandle = function() {
|
|
return -1;
|
|
};
|
|
flixel_input_actions_FlxSteamController.getConnectedControllers = function() {
|
|
return [];
|
|
};
|
|
flixel_input_actions_FlxSteamController.getAnalogActionData = function(controller,action,data) {
|
|
return null;
|
|
};
|
|
flixel_input_actions_FlxSteamController.getDigitalActionData = function(controller,action) {
|
|
return new flixel_input_actions__$FlxSteamController_DigitalActionData(false,false);
|
|
};
|
|
flixel_input_actions_FlxSteamController.getAnalogActionHandle = function(name) {
|
|
return -1;
|
|
};
|
|
flixel_input_actions_FlxSteamController.getDigitalActionHandle = function(name) {
|
|
return -1;
|
|
};
|
|
var flixel_input_actions__$FlxSteamController_DigitalActionData = function(bActive,bState) {
|
|
this.bActive = bActive;
|
|
this.bState = bState;
|
|
};
|
|
$hxClasses["flixel.input.actions._FlxSteamController.DigitalActionData"] = flixel_input_actions__$FlxSteamController_DigitalActionData;
|
|
flixel_input_actions__$FlxSteamController_DigitalActionData.__name__ = "flixel.input.actions._FlxSteamController.DigitalActionData";
|
|
flixel_input_actions__$FlxSteamController_DigitalActionData.prototype = {
|
|
bActive: null
|
|
,bState: null
|
|
,__class__: flixel_input_actions__$FlxSteamController_DigitalActionData
|
|
};
|
|
var flixel_input_actions__$FlxSteamController_FlxSteamControllerMetadata = function() {
|
|
this.connected = new flixel_input_FlxInput(0);
|
|
this.active = false;
|
|
this.actionSet = -1;
|
|
this.handle = -1;
|
|
};
|
|
$hxClasses["flixel.input.actions._FlxSteamController.FlxSteamControllerMetadata"] = flixel_input_actions__$FlxSteamController_FlxSteamControllerMetadata;
|
|
flixel_input_actions__$FlxSteamController_FlxSteamControllerMetadata.__name__ = "flixel.input.actions._FlxSteamController.FlxSteamControllerMetadata";
|
|
flixel_input_actions__$FlxSteamController_FlxSteamControllerMetadata.prototype = {
|
|
handle: null
|
|
,actionSet: null
|
|
,active: null
|
|
,connected: null
|
|
,__class__: flixel_input_actions__$FlxSteamController_FlxSteamControllerMetadata
|
|
};
|
|
var flixel_input_actions__$FlxSteamController_FlxSteamUpdater = function() {
|
|
this.originTime = 0.0;
|
|
this.controllerTime = 0.0;
|
|
};
|
|
$hxClasses["flixel.input.actions._FlxSteamController.FlxSteamUpdater"] = flixel_input_actions__$FlxSteamController_FlxSteamUpdater;
|
|
flixel_input_actions__$FlxSteamController_FlxSteamUpdater.__name__ = "flixel.input.actions._FlxSteamController.FlxSteamUpdater";
|
|
flixel_input_actions__$FlxSteamController_FlxSteamUpdater.__interfaces__ = [flixel_input_IFlxInputManager];
|
|
flixel_input_actions__$FlxSteamController_FlxSteamUpdater.prototype = {
|
|
controllerTime: null
|
|
,originTime: null
|
|
,destroy: function() {
|
|
}
|
|
,reset: function() {
|
|
}
|
|
,update: function() {
|
|
}
|
|
,onFocus: function() {
|
|
}
|
|
,onFocusLost: function() {
|
|
}
|
|
,__class__: flixel_input_actions__$FlxSteamController_FlxSteamUpdater
|
|
};
|
|
var flixel_input_gamepad_FlxGamepad = function(ID,Manager,Model,Attachment) {
|
|
this.buttons = [];
|
|
this._deadZone = 0.15;
|
|
this.axisActive = false;
|
|
var _g = [];
|
|
_g.push(0);
|
|
_g.push(0);
|
|
_g.push(0);
|
|
_g.push(0);
|
|
_g.push(0);
|
|
_g.push(0);
|
|
this.axis = _g;
|
|
this.deadZoneMode = flixel_input_gamepad_FlxGamepadDeadZoneMode.INDEPENDENT_AXES;
|
|
this.connected = true;
|
|
this.id = ID;
|
|
this.manager = Manager;
|
|
this.pressed = new flixel_input_gamepad_lists_FlxGamepadButtonList(1,this);
|
|
this.released = new flixel_input_gamepad_lists_FlxGamepadButtonList(0,this);
|
|
this.justPressed = new flixel_input_gamepad_lists_FlxGamepadButtonList(2,this);
|
|
this.justReleased = new flixel_input_gamepad_lists_FlxGamepadButtonList(-1,this);
|
|
this.analog = new flixel_input_gamepad_lists_FlxGamepadAnalogList(this);
|
|
this.motion = new flixel_input_gamepad_lists_FlxGamepadMotionValueList(this);
|
|
this.pointer = new flixel_input_gamepad_lists_FlxGamepadPointerValueList(this);
|
|
if(Model == null) {
|
|
Model = flixel_input_gamepad_FlxGamepadModel.XINPUT;
|
|
}
|
|
if(Attachment == null) {
|
|
Attachment = flixel_input_gamepad_FlxGamepadAttachment.NONE;
|
|
}
|
|
this.set_model(Model);
|
|
this.detectedModel = Model;
|
|
};
|
|
$hxClasses["flixel.input.gamepad.FlxGamepad"] = flixel_input_gamepad_FlxGamepad;
|
|
flixel_input_gamepad_FlxGamepad.__name__ = "flixel.input.gamepad.FlxGamepad";
|
|
flixel_input_gamepad_FlxGamepad.__interfaces__ = [flixel_util_IFlxDestroyable];
|
|
flixel_input_gamepad_FlxGamepad.prototype = {
|
|
id: null
|
|
,model: null
|
|
,detectedModel: null
|
|
,mapping: null
|
|
,connected: null
|
|
,attachment: null
|
|
,deadZoneMode: null
|
|
,pressed: null
|
|
,released: null
|
|
,justPressed: null
|
|
,justReleased: null
|
|
,analog: null
|
|
,motion: null
|
|
,pointer: null
|
|
,axis: null
|
|
,axisActive: null
|
|
,manager: null
|
|
,_deadZone: null
|
|
,_device: null
|
|
,buttons: null
|
|
,getButton: function(RawID) {
|
|
if(RawID == -1) {
|
|
return null;
|
|
}
|
|
var gamepadButton = this.buttons[RawID];
|
|
if(gamepadButton == null) {
|
|
gamepadButton = new flixel_input_gamepad_FlxGamepadButton(RawID);
|
|
this.buttons[RawID] = gamepadButton;
|
|
}
|
|
return gamepadButton;
|
|
}
|
|
,applyAxisFlip: function(axisValue,axisID) {
|
|
if(this.mapping.isAxisFlipped(axisID)) {
|
|
axisValue *= -1;
|
|
}
|
|
return axisValue;
|
|
}
|
|
,update: function() {
|
|
var control;
|
|
var button;
|
|
if(this._device == null) {
|
|
return;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this._device.get_numControls();
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
control = this._device.getControlAt(i);
|
|
button = this.getButton(i);
|
|
if(this.isAxisForAnalogStick(i)) {
|
|
this.handleAxisMove(i,control.value,button.value);
|
|
}
|
|
button.value = control.value;
|
|
var value = Math.abs(control.value);
|
|
if(value < this.get_deadZone()) {
|
|
button.release();
|
|
} else if(value > this.get_deadZone()) {
|
|
button.press();
|
|
}
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.buttons;
|
|
while(_g < _g1.length) {
|
|
var button = _g1[_g];
|
|
++_g;
|
|
if(button != null) {
|
|
button.update();
|
|
}
|
|
}
|
|
}
|
|
,reset: function() {
|
|
var _g = 0;
|
|
var _g1 = this.buttons;
|
|
while(_g < _g1.length) {
|
|
var button = _g1[_g];
|
|
++_g;
|
|
if(button != null) {
|
|
button.reset();
|
|
}
|
|
}
|
|
var numAxis = this.axis.length;
|
|
var _g = 0;
|
|
var _g1 = numAxis;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
this.axis[i] = 0;
|
|
}
|
|
}
|
|
,destroy: function() {
|
|
this.connected = false;
|
|
this.buttons = null;
|
|
this.axis = null;
|
|
this.manager = null;
|
|
}
|
|
,checkStatus: function(ID,Status) {
|
|
switch(ID) {
|
|
case -2:
|
|
return this.anyButton(Status);
|
|
case -1:
|
|
return !this.anyButton(Status);
|
|
default:
|
|
var RawID = this.mapping.getRawID(ID);
|
|
var button = this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,checkStatusRaw: function(RawID,Status) {
|
|
var button = this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,checkButtonArrayState: function(IDArray,Status) {
|
|
if(IDArray == null) {
|
|
return false;
|
|
}
|
|
var _g = 0;
|
|
while(_g < IDArray.length) {
|
|
var code = IDArray[_g];
|
|
++_g;
|
|
var tmp;
|
|
switch(code) {
|
|
case -2:
|
|
tmp = this.anyButton(Status);
|
|
break;
|
|
case -1:
|
|
tmp = !this.anyButton(Status);
|
|
break;
|
|
default:
|
|
var RawID = this.mapping.getRawID(code);
|
|
var button = this.buttons[RawID];
|
|
tmp = button != null && button.hasState(Status);
|
|
}
|
|
if(tmp) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,checkButtonArrayStateRaw: function(IDArray,Status) {
|
|
if(IDArray == null) {
|
|
return false;
|
|
}
|
|
var _g = 0;
|
|
while(_g < IDArray.length) {
|
|
var code = IDArray[_g];
|
|
++_g;
|
|
var button = this.buttons[code];
|
|
if(button != null && button.hasState(Status)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,anyPressed: function(IDArray) {
|
|
return this.checkButtonArrayState(IDArray,1);
|
|
}
|
|
,anyPressedRaw: function(RawIDArray) {
|
|
return this.checkButtonArrayStateRaw(RawIDArray,1);
|
|
}
|
|
,anyJustPressed: function(IDArray) {
|
|
return this.checkButtonArrayState(IDArray,2);
|
|
}
|
|
,anyJustPressedRaw: function(RawIDArray) {
|
|
return this.checkButtonArrayStateRaw(RawIDArray,2);
|
|
}
|
|
,anyJustReleased: function(IDArray) {
|
|
return this.checkButtonArrayState(IDArray,-1);
|
|
}
|
|
,anyJustReleasedRaw: function(RawIDArray) {
|
|
return this.checkButtonArrayStateRaw(RawIDArray,-1);
|
|
}
|
|
,firstPressedID: function() {
|
|
return this.mapping.getID(this.firstPressedRawID());
|
|
}
|
|
,firstPressedRawID: function() {
|
|
var _g = 0;
|
|
var _g1 = this.buttons;
|
|
while(_g < _g1.length) {
|
|
var button = _g1[_g];
|
|
++_g;
|
|
if(button != null && (button.current == 0 || button.current == -1)) {
|
|
return button.ID;
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
,firstJustPressedID: function() {
|
|
return this.mapping.getID(this.firstJustPressedRawID());
|
|
}
|
|
,firstJustPressedRawID: function() {
|
|
var _g = 0;
|
|
var _g1 = this.buttons;
|
|
while(_g < _g1.length) {
|
|
var button = _g1[_g];
|
|
++_g;
|
|
if(button != null && button.current == 2) {
|
|
return button.ID;
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
,firstJustReleasedID: function() {
|
|
return this.mapping.getID(this.firstJustReleasedRawID());
|
|
}
|
|
,firstJustReleasedRawID: function() {
|
|
var _g = 0;
|
|
var _g1 = this.buttons;
|
|
while(_g < _g1.length) {
|
|
var button = _g1[_g];
|
|
++_g;
|
|
if(button != null && button.current == -1) {
|
|
return button.ID;
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
,getAxis: function(AxisButtonID) {
|
|
var axisValue = this.getAxisValue(this.mapping.getRawID(AxisButtonID));
|
|
if(Math.abs(axisValue) > this.get_deadZone()) {
|
|
return axisValue;
|
|
} else {
|
|
return 0;
|
|
}
|
|
}
|
|
,getAxisRaw: function(RawAxisID) {
|
|
var axisValue = this.getAxisValue(RawAxisID);
|
|
if(Math.abs(axisValue) > this.get_deadZone()) {
|
|
return axisValue;
|
|
}
|
|
return 0;
|
|
}
|
|
,isAxisForAnalogStick: function(AxisIndex) {
|
|
var leftStick = this.mapping.leftStick;
|
|
var rightStick = this.mapping.rightStick;
|
|
if(leftStick != null) {
|
|
if(AxisIndex == leftStick.x || AxisIndex == leftStick.y) {
|
|
return true;
|
|
}
|
|
}
|
|
if(rightStick != null) {
|
|
if(AxisIndex == rightStick.x || AxisIndex == rightStick.y) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,getAnalogStickByAxis: function(AxisIndex) {
|
|
var leftStick = this.mapping.leftStick;
|
|
var rightStick = this.mapping.rightStick;
|
|
if(leftStick != null && AxisIndex == leftStick.x || AxisIndex == leftStick.y) {
|
|
return leftStick;
|
|
}
|
|
if(rightStick != null && AxisIndex == rightStick.x || AxisIndex == rightStick.y) {
|
|
return rightStick;
|
|
}
|
|
return null;
|
|
}
|
|
,getXAxis: function(AxesButtonID) {
|
|
return this.getAnalogXAxisValue(this.mapping.getAnalogStick(AxesButtonID));
|
|
}
|
|
,getXAxisRaw: function(Stick) {
|
|
return this.getAnalogXAxisValue(Stick);
|
|
}
|
|
,getYAxis: function(AxesButtonID) {
|
|
return this.getYAxisRaw(this.mapping.getAnalogStick(AxesButtonID));
|
|
}
|
|
,getYAxisRaw: function(Stick) {
|
|
return this.getAnalogYAxisValue(Stick);
|
|
}
|
|
,getAnalogAxes: function(AxesButtonID) {
|
|
var x = this.getAnalogXAxisValue(this.mapping.getAnalogStick(AxesButtonID));
|
|
var y = this.getYAxisRaw(this.mapping.getAnalogStick(AxesButtonID));
|
|
if(y == null) {
|
|
y = 0;
|
|
}
|
|
if(x == null) {
|
|
x = 0;
|
|
}
|
|
var X = x;
|
|
var Y = y;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
return point;
|
|
}
|
|
,anyButton: function(state) {
|
|
if(state == null) {
|
|
state = 1;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.buttons;
|
|
while(_g < _g1.length) {
|
|
var button = _g1[_g];
|
|
++_g;
|
|
if(button != null && button.hasState(state)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,anyInput: function() {
|
|
if(this.anyButton()) {
|
|
return true;
|
|
}
|
|
var numAxis = this.axis.length;
|
|
var _g = 0;
|
|
var _g1 = numAxis;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(this.axis[0] != 0) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,getAxisValue: function(AxisID) {
|
|
var axisValue = 0;
|
|
if(AxisID == -1) {
|
|
return 0;
|
|
}
|
|
var tmp;
|
|
if(this._device != null && this._device.enabled) {
|
|
var Max = this._device.get_numControls() - 1;
|
|
tmp = AxisID >= 0 && (Max == null || AxisID <= Max);
|
|
} else {
|
|
tmp = false;
|
|
}
|
|
if(tmp) {
|
|
axisValue = this._device.getControlAt(AxisID).value;
|
|
}
|
|
if(this.isAxisForAnalogStick(AxisID)) {
|
|
var axisValue1 = axisValue;
|
|
if(this.mapping.isAxisFlipped(AxisID)) {
|
|
axisValue1 *= -1;
|
|
}
|
|
axisValue = axisValue1;
|
|
}
|
|
return axisValue;
|
|
}
|
|
,getAnalogXAxisValue: function(stick) {
|
|
if(stick == null) {
|
|
return 0;
|
|
}
|
|
if(this.deadZoneMode == flixel_input_gamepad_FlxGamepadDeadZoneMode.CIRCULAR) {
|
|
return this.getAnalogAxisValueCircular(stick,stick.x);
|
|
} else {
|
|
return this.getAnalogAxisValueIndependent(stick.x);
|
|
}
|
|
}
|
|
,getAnalogYAxisValue: function(stick) {
|
|
if(stick == null) {
|
|
return 0;
|
|
}
|
|
if(this.deadZoneMode == flixel_input_gamepad_FlxGamepadDeadZoneMode.CIRCULAR) {
|
|
return this.getAnalogAxisValueCircular(stick,stick.y);
|
|
} else {
|
|
return this.getAnalogAxisValueIndependent(stick.y);
|
|
}
|
|
}
|
|
,getAnalogAxisValueCircular: function(stick,axisID) {
|
|
if(stick == null) {
|
|
return 0;
|
|
}
|
|
var xAxis = this.getAxisValue(stick.x);
|
|
var yAxis = this.getAxisValue(stick.y);
|
|
var x = xAxis;
|
|
var y = yAxis;
|
|
if(y == null) {
|
|
y = 0;
|
|
}
|
|
if(x == null) {
|
|
x = 0;
|
|
}
|
|
var X = x;
|
|
var Y = y;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
var vector = point;
|
|
var length = Math.sqrt(vector.x * vector.x + vector.y * vector.y);
|
|
vector.put();
|
|
if(length > this.get_deadZone()) {
|
|
return this.getAxisValue(axisID);
|
|
}
|
|
return 0;
|
|
}
|
|
,getAnalogAxisValueIndependent: function(axisID) {
|
|
var axisValue = this.getAxisValue(axisID);
|
|
if(Math.abs(axisValue) > this.get_deadZone()) {
|
|
return axisValue;
|
|
}
|
|
return 0;
|
|
}
|
|
,handleAxisMove: function(axis,newValue,oldValue) {
|
|
var axisValue = newValue;
|
|
if(this.mapping.isAxisFlipped(axis)) {
|
|
axisValue *= -1;
|
|
}
|
|
newValue = axisValue;
|
|
var axisValue = oldValue;
|
|
if(this.mapping.isAxisFlipped(axis)) {
|
|
axisValue *= -1;
|
|
}
|
|
oldValue = axisValue;
|
|
var leftStick = this.mapping.leftStick;
|
|
var rightStick = this.mapping.rightStick;
|
|
var stick = leftStick != null && axis == leftStick.x || axis == leftStick.y ? leftStick : rightStick != null && axis == rightStick.x || axis == rightStick.y ? rightStick : null;
|
|
if(stick.mode == flixel_input_gamepad_FlxAnalogToDigitalMode.ONLY_DIGITAL || stick.mode == flixel_input_gamepad_FlxAnalogToDigitalMode.BOTH) {
|
|
this.handleAxisMoveSub(stick,axis,newValue,oldValue,1.0);
|
|
this.handleAxisMoveSub(stick,axis,newValue,oldValue,-1.0);
|
|
var tmp = stick.mode == flixel_input_gamepad_FlxAnalogToDigitalMode.ONLY_DIGITAL;
|
|
}
|
|
}
|
|
,handleAxisMoveSub: function(stick,axis,value,oldValue,sign) {
|
|
if(sign == null) {
|
|
sign = 1.0;
|
|
}
|
|
var digitalButton = -1;
|
|
if(axis == stick.x) {
|
|
digitalButton = sign < 0 ? stick.rawLeft : stick.rawRight;
|
|
} else if(axis == stick.y) {
|
|
digitalButton = sign < 0 ? stick.rawUp : stick.rawDown;
|
|
}
|
|
var threshold = stick.digitalThreshold;
|
|
var valueSign = value * sign;
|
|
var oldValueSign = oldValue * sign;
|
|
if(valueSign > threshold && oldValueSign <= threshold) {
|
|
var btn = this.getButton(digitalButton);
|
|
if(btn != null) {
|
|
btn.press();
|
|
}
|
|
} else if(valueSign <= threshold && oldValueSign > threshold) {
|
|
var btn = this.getButton(digitalButton);
|
|
if(btn != null) {
|
|
btn.release();
|
|
}
|
|
}
|
|
}
|
|
,createMappingForModel: function(model) {
|
|
switch(model._hx_index) {
|
|
case 0:
|
|
return new flixel_input_gamepad_mappings_LogitechMapping(this.attachment);
|
|
case 1:
|
|
return new flixel_input_gamepad_mappings_OUYAMapping(this.attachment);
|
|
case 2:
|
|
return new flixel_input_gamepad_mappings_PS4Mapping(this.attachment);
|
|
case 3:
|
|
return new flixel_input_gamepad_mappings_PSVitaMapping(this.attachment);
|
|
case 4:
|
|
return new flixel_input_gamepad_mappings_XInputMapping(this.attachment);
|
|
case 5:
|
|
return new flixel_input_gamepad_mappings_MayflashWiiRemoteMapping(this.attachment);
|
|
case 6:
|
|
return new flixel_input_gamepad_mappings_WiiRemoteMapping(this.attachment);
|
|
case 7:
|
|
return new flixel_input_gamepad_mappings_MFiMapping(this.attachment);
|
|
case 8:
|
|
return new flixel_input_gamepad_mappings_SwitchProMapping(this.attachment);
|
|
case 9:
|
|
return new flixel_input_gamepad_mappings_SwitchJoyconLeftMapping(this.attachment);
|
|
case 10:
|
|
return new flixel_input_gamepad_mappings_SwitchJoyconRightMapping(this.attachment);
|
|
default:
|
|
return new flixel_input_gamepad_mappings_XInputMapping(this.attachment);
|
|
}
|
|
}
|
|
,get_name: function() {
|
|
if(this._device == null) {
|
|
return null;
|
|
}
|
|
return this._device.name;
|
|
}
|
|
,set_model: function(Model) {
|
|
this.model = Model;
|
|
this.mapping = this.createMappingForModel(this.model);
|
|
return this.model;
|
|
}
|
|
,set_attachment: function(Attachment) {
|
|
this.attachment = Attachment;
|
|
this.mapping.set_attachment(Attachment);
|
|
return this.attachment;
|
|
}
|
|
,get_deadZone: function() {
|
|
if(this.manager == null || this.manager.globalDeadZone == null) {
|
|
return this._deadZone;
|
|
} else {
|
|
return this.manager.globalDeadZone;
|
|
}
|
|
}
|
|
,set_deadZone: function(deadZone) {
|
|
return this._deadZone = deadZone;
|
|
}
|
|
,getInputLabel: function(id) {
|
|
return this.mapping.getInputLabel(id);
|
|
}
|
|
,toString: function() {
|
|
var value = this.id;
|
|
var _this = flixel_util_LabelValuePair._pool.get();
|
|
_this.label = "id";
|
|
_this.value = value;
|
|
var value = this.model;
|
|
var _this1 = flixel_util_LabelValuePair._pool.get();
|
|
_this1.label = "model";
|
|
_this1.value = value;
|
|
var value = this.get_deadZone();
|
|
var _this2 = flixel_util_LabelValuePair._pool.get();
|
|
_this2.label = "deadZone";
|
|
_this2.value = value;
|
|
return flixel_util_FlxStringUtil.getDebugString([_this,_this1,_this2]);
|
|
}
|
|
,__class__: flixel_input_gamepad_FlxGamepad
|
|
,__properties__: {set_deadZone:"set_deadZone",get_deadZone:"get_deadZone",set_attachment:"set_attachment",set_model:"set_model",get_name:"get_name"}
|
|
};
|
|
var flixel_input_gamepad_FlxGamepadDeadZoneMode = $hxEnums["flixel.input.gamepad.FlxGamepadDeadZoneMode"] = { __ename__ : "flixel.input.gamepad.FlxGamepadDeadZoneMode", __constructs__ : ["INDEPENDENT_AXES","CIRCULAR"]
|
|
,INDEPENDENT_AXES: {_hx_index:0,__enum__:"flixel.input.gamepad.FlxGamepadDeadZoneMode",toString:$estr}
|
|
,CIRCULAR: {_hx_index:1,__enum__:"flixel.input.gamepad.FlxGamepadDeadZoneMode",toString:$estr}
|
|
};
|
|
var flixel_input_gamepad_FlxGamepadModel = $hxEnums["flixel.input.gamepad.FlxGamepadModel"] = { __ename__ : "flixel.input.gamepad.FlxGamepadModel", __constructs__ : ["LOGITECH","OUYA","PS4","PSVITA","XINPUT","MAYFLASH_WII_REMOTE","WII_REMOTE","MFI","SWITCH_PRO","SWITCH_JOYCON_LEFT","SWITCH_JOYCON_RIGHT","UNKNOWN"]
|
|
,LOGITECH: {_hx_index:0,__enum__:"flixel.input.gamepad.FlxGamepadModel",toString:$estr}
|
|
,OUYA: {_hx_index:1,__enum__:"flixel.input.gamepad.FlxGamepadModel",toString:$estr}
|
|
,PS4: {_hx_index:2,__enum__:"flixel.input.gamepad.FlxGamepadModel",toString:$estr}
|
|
,PSVITA: {_hx_index:3,__enum__:"flixel.input.gamepad.FlxGamepadModel",toString:$estr}
|
|
,XINPUT: {_hx_index:4,__enum__:"flixel.input.gamepad.FlxGamepadModel",toString:$estr}
|
|
,MAYFLASH_WII_REMOTE: {_hx_index:5,__enum__:"flixel.input.gamepad.FlxGamepadModel",toString:$estr}
|
|
,WII_REMOTE: {_hx_index:6,__enum__:"flixel.input.gamepad.FlxGamepadModel",toString:$estr}
|
|
,MFI: {_hx_index:7,__enum__:"flixel.input.gamepad.FlxGamepadModel",toString:$estr}
|
|
,SWITCH_PRO: {_hx_index:8,__enum__:"flixel.input.gamepad.FlxGamepadModel",toString:$estr}
|
|
,SWITCH_JOYCON_LEFT: {_hx_index:9,__enum__:"flixel.input.gamepad.FlxGamepadModel",toString:$estr}
|
|
,SWITCH_JOYCON_RIGHT: {_hx_index:10,__enum__:"flixel.input.gamepad.FlxGamepadModel",toString:$estr}
|
|
,UNKNOWN: {_hx_index:11,__enum__:"flixel.input.gamepad.FlxGamepadModel",toString:$estr}
|
|
};
|
|
var flixel_input_gamepad_FlxGamepadAttachment = $hxEnums["flixel.input.gamepad.FlxGamepadAttachment"] = { __ename__ : "flixel.input.gamepad.FlxGamepadAttachment", __constructs__ : ["WII_NUNCHUCK","WII_CLASSIC_CONTROLLER","NONE"]
|
|
,WII_NUNCHUCK: {_hx_index:0,__enum__:"flixel.input.gamepad.FlxGamepadAttachment",toString:$estr}
|
|
,WII_CLASSIC_CONTROLLER: {_hx_index:1,__enum__:"flixel.input.gamepad.FlxGamepadAttachment",toString:$estr}
|
|
,NONE: {_hx_index:2,__enum__:"flixel.input.gamepad.FlxGamepadAttachment",toString:$estr}
|
|
};
|
|
var flixel_input_gamepad_FlxGamepadAnalogStick = function(x,y,settings) {
|
|
this.mode = flixel_input_gamepad_FlxAnalogToDigitalMode.BOTH;
|
|
this.digitalThreshold = 0.5;
|
|
this.rawRight = -1;
|
|
this.rawLeft = -1;
|
|
this.rawDown = -1;
|
|
this.rawUp = -1;
|
|
this.x = x;
|
|
this.y = y;
|
|
if(settings == null) {
|
|
return;
|
|
}
|
|
this.mode = settings.mode != null ? settings.mode : flixel_input_gamepad_FlxAnalogToDigitalMode.BOTH;
|
|
this.rawUp = settings.up != null ? settings.up : -1;
|
|
this.rawDown = settings.down != null ? settings.down : -1;
|
|
this.rawLeft = settings.left != null ? settings.left : -1;
|
|
this.rawRight = settings.right != null ? settings.right : -1;
|
|
this.digitalThreshold = settings.threshold != null ? settings.threshold : 0.5;
|
|
};
|
|
$hxClasses["flixel.input.gamepad.FlxGamepadAnalogStick"] = flixel_input_gamepad_FlxGamepadAnalogStick;
|
|
flixel_input_gamepad_FlxGamepadAnalogStick.__name__ = "flixel.input.gamepad.FlxGamepadAnalogStick";
|
|
flixel_input_gamepad_FlxGamepadAnalogStick.prototype = {
|
|
x: null
|
|
,y: null
|
|
,rawUp: null
|
|
,rawDown: null
|
|
,rawLeft: null
|
|
,rawRight: null
|
|
,digitalThreshold: null
|
|
,mode: null
|
|
,toString: function() {
|
|
var value = this.x;
|
|
var _this = flixel_util_LabelValuePair._pool.get();
|
|
_this.label = "x";
|
|
_this.value = value;
|
|
var value = this.y;
|
|
var _this1 = flixel_util_LabelValuePair._pool.get();
|
|
_this1.label = "y";
|
|
_this1.value = value;
|
|
var value = this.rawUp;
|
|
var _this2 = flixel_util_LabelValuePair._pool.get();
|
|
_this2.label = "rawUp";
|
|
_this2.value = value;
|
|
var value = this.rawDown;
|
|
var _this3 = flixel_util_LabelValuePair._pool.get();
|
|
_this3.label = "rawDown";
|
|
_this3.value = value;
|
|
var value = this.rawLeft;
|
|
var _this4 = flixel_util_LabelValuePair._pool.get();
|
|
_this4.label = "rawLeft";
|
|
_this4.value = value;
|
|
var value = this.rawRight;
|
|
var _this5 = flixel_util_LabelValuePair._pool.get();
|
|
_this5.label = "rawRight";
|
|
_this5.value = value;
|
|
var value = this.digitalThreshold;
|
|
var _this6 = flixel_util_LabelValuePair._pool.get();
|
|
_this6.label = "digitalThreshold";
|
|
_this6.value = value;
|
|
var value = this.mode;
|
|
var _this7 = flixel_util_LabelValuePair._pool.get();
|
|
_this7.label = "mode";
|
|
_this7.value = value;
|
|
return flixel_util_FlxStringUtil.getDebugString([_this,_this1,_this2,_this3,_this4,_this5,_this6,_this7]);
|
|
}
|
|
,__class__: flixel_input_gamepad_FlxGamepadAnalogStick
|
|
};
|
|
var flixel_input_gamepad_FlxAnalogToDigitalMode = $hxEnums["flixel.input.gamepad.FlxAnalogToDigitalMode"] = { __ename__ : "flixel.input.gamepad.FlxAnalogToDigitalMode", __constructs__ : ["BOTH","ONLY_DIGITAL","ONLY_ANALOG"]
|
|
,BOTH: {_hx_index:0,__enum__:"flixel.input.gamepad.FlxAnalogToDigitalMode",toString:$estr}
|
|
,ONLY_DIGITAL: {_hx_index:1,__enum__:"flixel.input.gamepad.FlxAnalogToDigitalMode",toString:$estr}
|
|
,ONLY_ANALOG: {_hx_index:2,__enum__:"flixel.input.gamepad.FlxAnalogToDigitalMode",toString:$estr}
|
|
};
|
|
var flixel_input_gamepad_FlxGamepadButton = function(ID) {
|
|
this.value = 0;
|
|
flixel_input_FlxInput.call(this,ID);
|
|
};
|
|
$hxClasses["flixel.input.gamepad.FlxGamepadButton"] = flixel_input_gamepad_FlxGamepadButton;
|
|
flixel_input_gamepad_FlxGamepadButton.__name__ = "flixel.input.gamepad.FlxGamepadButton";
|
|
flixel_input_gamepad_FlxGamepadButton.__super__ = flixel_input_FlxInput;
|
|
flixel_input_gamepad_FlxGamepadButton.prototype = $extend(flixel_input_FlxInput.prototype,{
|
|
value: null
|
|
,__class__: flixel_input_gamepad_FlxGamepadButton
|
|
});
|
|
var flixel_input_gamepad_FlxGamepadInputID = {};
|
|
flixel_input_gamepad_FlxGamepadInputID.fromString = function(s) {
|
|
s = s.toUpperCase();
|
|
if(Object.prototype.hasOwnProperty.call(flixel_input_gamepad_FlxGamepadInputID.fromStringMap.h,s)) {
|
|
return flixel_input_gamepad_FlxGamepadInputID.fromStringMap.h[s];
|
|
} else {
|
|
return -1;
|
|
}
|
|
};
|
|
flixel_input_gamepad_FlxGamepadInputID.toString = function(this1) {
|
|
return flixel_input_gamepad_FlxGamepadInputID.toStringMap.h[this1];
|
|
};
|
|
var openfl_ui_GameInput = function() {
|
|
openfl_events_EventDispatcher.call(this);
|
|
openfl_ui_GameInput.__instances.push(this);
|
|
};
|
|
$hxClasses["openfl.ui.GameInput"] = openfl_ui_GameInput;
|
|
openfl_ui_GameInput.__name__ = "openfl.ui.GameInput";
|
|
openfl_ui_GameInput.getDeviceAt = function(index) {
|
|
if(index >= 0 && index < openfl_ui_GameInput.__deviceList.length) {
|
|
return openfl_ui_GameInput.__deviceList[index];
|
|
}
|
|
return null;
|
|
};
|
|
openfl_ui_GameInput.__getDevice = function(gamepad) {
|
|
if(gamepad == null) {
|
|
return null;
|
|
}
|
|
if(openfl_ui_GameInput.__devices.h.__keys__[gamepad.__id__] == null) {
|
|
var devices = lime_ui_Joystick.__getDeviceData();
|
|
var device = devices[gamepad.id].id;
|
|
var devices = lime_ui_Joystick.__getDeviceData();
|
|
var device1 = new openfl_ui_GameInputDevice(device,devices[gamepad.id].id);
|
|
openfl_ui_GameInput.__deviceList.push(device1);
|
|
openfl_ui_GameInput.__devices.set(gamepad,device1);
|
|
openfl_ui_GameInput.numDevices = openfl_ui_GameInput.__deviceList.length;
|
|
}
|
|
return openfl_ui_GameInput.__devices.h[gamepad.__id__];
|
|
};
|
|
openfl_ui_GameInput.__onGamepadAxisMove = function(gamepad,axis,value) {
|
|
var device = openfl_ui_GameInput.__getDevice(gamepad);
|
|
if(device == null) {
|
|
return;
|
|
}
|
|
if(device.enabled) {
|
|
if(!device.__axis.h.hasOwnProperty(axis)) {
|
|
var control;
|
|
if(axis == null) {
|
|
control = "null";
|
|
} else {
|
|
switch(axis) {
|
|
case 0:
|
|
control = "LEFT_X";
|
|
break;
|
|
case 1:
|
|
control = "LEFT_Y";
|
|
break;
|
|
case 2:
|
|
control = "RIGHT_X";
|
|
break;
|
|
case 3:
|
|
control = "RIGHT_Y";
|
|
break;
|
|
case 4:
|
|
control = "TRIGGER_LEFT";
|
|
break;
|
|
case 5:
|
|
control = "TRIGGER_RIGHT";
|
|
break;
|
|
default:
|
|
control = "UNKNOWN (" + axis + ")";
|
|
}
|
|
}
|
|
var control1 = new openfl_ui_GameInputControl(device,"AXIS_" + control,-1,1);
|
|
device.__axis.h[axis] = control1;
|
|
device.__controls.push(control1);
|
|
}
|
|
var control = device.__axis.h[axis];
|
|
control.value = value;
|
|
control.dispatchEvent(new openfl_events_Event("change"));
|
|
}
|
|
};
|
|
openfl_ui_GameInput.__onGamepadButtonDown = function(gamepad,button) {
|
|
var device = openfl_ui_GameInput.__getDevice(gamepad);
|
|
if(device == null) {
|
|
return;
|
|
}
|
|
if(device.enabled) {
|
|
if(!device.__button.h.hasOwnProperty(button)) {
|
|
var control;
|
|
if(button == null) {
|
|
control = "null";
|
|
} else {
|
|
switch(button) {
|
|
case 0:
|
|
control = "A";
|
|
break;
|
|
case 1:
|
|
control = "B";
|
|
break;
|
|
case 2:
|
|
control = "X";
|
|
break;
|
|
case 3:
|
|
control = "Y";
|
|
break;
|
|
case 4:
|
|
control = "BACK";
|
|
break;
|
|
case 5:
|
|
control = "GUIDE";
|
|
break;
|
|
case 6:
|
|
control = "START";
|
|
break;
|
|
case 7:
|
|
control = "LEFT_STICK";
|
|
break;
|
|
case 8:
|
|
control = "RIGHT_STICK";
|
|
break;
|
|
case 9:
|
|
control = "LEFT_SHOULDER";
|
|
break;
|
|
case 10:
|
|
control = "RIGHT_SHOULDER";
|
|
break;
|
|
case 11:
|
|
control = "DPAD_UP";
|
|
break;
|
|
case 12:
|
|
control = "DPAD_DOWN";
|
|
break;
|
|
case 13:
|
|
control = "DPAD_LEFT";
|
|
break;
|
|
case 14:
|
|
control = "DPAD_RIGHT";
|
|
break;
|
|
default:
|
|
control = "UNKNOWN (" + button + ")";
|
|
}
|
|
}
|
|
var control1 = new openfl_ui_GameInputControl(device,"BUTTON_" + control,0,1);
|
|
device.__button.h[button] = control1;
|
|
device.__controls.push(control1);
|
|
}
|
|
var control = device.__button.h[button];
|
|
control.value = 1;
|
|
control.dispatchEvent(new openfl_events_Event("change"));
|
|
}
|
|
};
|
|
openfl_ui_GameInput.__onGamepadButtonUp = function(gamepad,button) {
|
|
var device = openfl_ui_GameInput.__getDevice(gamepad);
|
|
if(device == null) {
|
|
return;
|
|
}
|
|
if(device.enabled) {
|
|
if(!device.__button.h.hasOwnProperty(button)) {
|
|
var control;
|
|
if(button == null) {
|
|
control = "null";
|
|
} else {
|
|
switch(button) {
|
|
case 0:
|
|
control = "A";
|
|
break;
|
|
case 1:
|
|
control = "B";
|
|
break;
|
|
case 2:
|
|
control = "X";
|
|
break;
|
|
case 3:
|
|
control = "Y";
|
|
break;
|
|
case 4:
|
|
control = "BACK";
|
|
break;
|
|
case 5:
|
|
control = "GUIDE";
|
|
break;
|
|
case 6:
|
|
control = "START";
|
|
break;
|
|
case 7:
|
|
control = "LEFT_STICK";
|
|
break;
|
|
case 8:
|
|
control = "RIGHT_STICK";
|
|
break;
|
|
case 9:
|
|
control = "LEFT_SHOULDER";
|
|
break;
|
|
case 10:
|
|
control = "RIGHT_SHOULDER";
|
|
break;
|
|
case 11:
|
|
control = "DPAD_UP";
|
|
break;
|
|
case 12:
|
|
control = "DPAD_DOWN";
|
|
break;
|
|
case 13:
|
|
control = "DPAD_LEFT";
|
|
break;
|
|
case 14:
|
|
control = "DPAD_RIGHT";
|
|
break;
|
|
default:
|
|
control = "UNKNOWN (" + button + ")";
|
|
}
|
|
}
|
|
var control1 = new openfl_ui_GameInputControl(device,"BUTTON_" + control,0,1);
|
|
device.__button.h[button] = control1;
|
|
device.__controls.push(control1);
|
|
}
|
|
var control = device.__button.h[button];
|
|
control.value = 0;
|
|
control.dispatchEvent(new openfl_events_Event("change"));
|
|
}
|
|
};
|
|
openfl_ui_GameInput.__onGamepadConnect = function(gamepad) {
|
|
var device = openfl_ui_GameInput.__getDevice(gamepad);
|
|
if(device == null) {
|
|
return;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = openfl_ui_GameInput.__instances;
|
|
while(_g < _g1.length) {
|
|
var instance = _g1[_g];
|
|
++_g;
|
|
instance.dispatchEvent(new openfl_events_GameInputEvent("deviceAdded",true,false,device));
|
|
}
|
|
};
|
|
openfl_ui_GameInput.__onGamepadDisconnect = function(gamepad) {
|
|
var device = openfl_ui_GameInput.__devices.h[gamepad.__id__];
|
|
if(device != null) {
|
|
if(openfl_ui_GameInput.__devices.h.__keys__[gamepad.__id__] != null) {
|
|
HxOverrides.remove(openfl_ui_GameInput.__deviceList,openfl_ui_GameInput.__devices.h[gamepad.__id__]);
|
|
openfl_ui_GameInput.__devices.remove(gamepad);
|
|
}
|
|
openfl_ui_GameInput.numDevices = openfl_ui_GameInput.__deviceList.length;
|
|
var _g = 0;
|
|
var _g1 = openfl_ui_GameInput.__instances;
|
|
while(_g < _g1.length) {
|
|
var instance = _g1[_g];
|
|
++_g;
|
|
instance.dispatchEvent(new openfl_events_GameInputEvent("deviceRemoved",true,false,device));
|
|
}
|
|
}
|
|
};
|
|
openfl_ui_GameInput.__super__ = openfl_events_EventDispatcher;
|
|
openfl_ui_GameInput.prototype = $extend(openfl_events_EventDispatcher.prototype,{
|
|
addEventListener: function(type,listener,useCapture,priority,useWeakReference) {
|
|
if(useWeakReference == null) {
|
|
useWeakReference = false;
|
|
}
|
|
if(priority == null) {
|
|
priority = 0;
|
|
}
|
|
if(useCapture == null) {
|
|
useCapture = false;
|
|
}
|
|
openfl_events_EventDispatcher.prototype.addEventListener.call(this,type,listener,useCapture,priority,useWeakReference);
|
|
if(type == "deviceAdded") {
|
|
var _g = 0;
|
|
var _g1 = openfl_ui_GameInput.__deviceList;
|
|
while(_g < _g1.length) {
|
|
var device = _g1[_g];
|
|
++_g;
|
|
this.dispatchEvent(new openfl_events_GameInputEvent("deviceAdded",true,false,device));
|
|
}
|
|
}
|
|
}
|
|
,__class__: openfl_ui_GameInput
|
|
});
|
|
var flixel_input_gamepad_FlxGamepadManager = function() {
|
|
this._activeGamepads = [];
|
|
this._gamepads = [];
|
|
this.deviceConnected = new flixel_util__$FlxSignal_FlxSignal1();
|
|
this.deviceDisconnected = new flixel_util__$FlxSignal_FlxSignal1();
|
|
flixel_input_gamepad_FlxGamepadManager._gameInput.addEventListener("deviceAdded",$bind(this,this.onDeviceAdded));
|
|
flixel_input_gamepad_FlxGamepadManager._gameInput.addEventListener("deviceRemoved",$bind(this,this.onDeviceRemoved));
|
|
var _g = 0;
|
|
var _g1 = openfl_ui_GameInput.numDevices;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
this.addGamepad(openfl_ui_GameInput.getDeviceAt(i));
|
|
}
|
|
};
|
|
$hxClasses["flixel.input.gamepad.FlxGamepadManager"] = flixel_input_gamepad_FlxGamepadManager;
|
|
flixel_input_gamepad_FlxGamepadManager.__name__ = "flixel.input.gamepad.FlxGamepadManager";
|
|
flixel_input_gamepad_FlxGamepadManager.__interfaces__ = [flixel_input_IFlxInputManager];
|
|
flixel_input_gamepad_FlxGamepadManager.prototype = {
|
|
firstActive: null
|
|
,lastActive: null
|
|
,globalDeadZone: null
|
|
,deviceConnected: null
|
|
,deviceDisconnected: null
|
|
,_gamepads: null
|
|
,_activeGamepads: null
|
|
,getByID: function(GamepadID) {
|
|
return this._activeGamepads[GamepadID];
|
|
}
|
|
,removeByID: function(GamepadID) {
|
|
var gamepad = this._gamepads[GamepadID];
|
|
if(gamepad != null) {
|
|
this._gamepads[GamepadID] = null;
|
|
var i = this._activeGamepads.indexOf(gamepad);
|
|
if(i != -1) {
|
|
this._activeGamepads[i] = null;
|
|
this.deviceDisconnected.dispatch(gamepad);
|
|
}
|
|
flixel_util_FlxDestroyUtil.destroy(gamepad);
|
|
}
|
|
if(this.lastActive == gamepad) {
|
|
this.lastActive = null;
|
|
}
|
|
if(this.firstActive == gamepad) {
|
|
this.firstActive = null;
|
|
}
|
|
}
|
|
,createByID: function(GamepadID,Model) {
|
|
var gamepad = this._gamepads[GamepadID];
|
|
if(gamepad == null) {
|
|
gamepad = new flixel_input_gamepad_FlxGamepad(GamepadID,this,Model);
|
|
this._gamepads[GamepadID] = gamepad;
|
|
var nullFound = false;
|
|
var _g = 0;
|
|
var _g1 = this._activeGamepads.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(this._activeGamepads[i] == null) {
|
|
this._activeGamepads[i] = gamepad;
|
|
nullFound = true;
|
|
break;
|
|
}
|
|
}
|
|
if(!nullFound) {
|
|
this._activeGamepads.push(gamepad);
|
|
}
|
|
}
|
|
this.lastActive = gamepad;
|
|
if(this.firstActive == null) {
|
|
this.firstActive = gamepad;
|
|
}
|
|
return gamepad;
|
|
}
|
|
,getActiveGamepadIDs: function(IDsArray) {
|
|
if(IDsArray == null) {
|
|
IDsArray = [];
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this._gamepads;
|
|
while(_g < _g1.length) {
|
|
var gamepad = _g1[_g];
|
|
++_g;
|
|
if(gamepad != null && gamepad.anyInput()) {
|
|
IDsArray.push(gamepad.id);
|
|
}
|
|
}
|
|
return IDsArray;
|
|
}
|
|
,getActiveGamepads: function(GamepadArray) {
|
|
if(GamepadArray == null) {
|
|
GamepadArray = [];
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this._gamepads;
|
|
while(_g < _g1.length) {
|
|
var gamepad = _g1[_g];
|
|
++_g;
|
|
if(gamepad != null && gamepad.anyInput()) {
|
|
GamepadArray.push(gamepad);
|
|
}
|
|
}
|
|
return GamepadArray;
|
|
}
|
|
,getFirstActiveGamepadID: function() {
|
|
var firstActive = this.getFirstActiveGamepad();
|
|
if(firstActive == null) {
|
|
return -1;
|
|
} else {
|
|
return firstActive.id;
|
|
}
|
|
}
|
|
,getFirstActiveGamepad: function() {
|
|
var _g = 0;
|
|
var _g1 = this._gamepads;
|
|
while(_g < _g1.length) {
|
|
var gamepad = _g1[_g];
|
|
++_g;
|
|
if(gamepad != null && gamepad.anyInput()) {
|
|
return gamepad;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
,anyButton: function(state) {
|
|
if(state == null) {
|
|
state = 1;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this._gamepads;
|
|
while(_g < _g1.length) {
|
|
var gamepad = _g1[_g];
|
|
++_g;
|
|
if(gamepad != null && gamepad.anyButton(state)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,anyInput: function() {
|
|
var _g = 0;
|
|
var _g1 = this._gamepads;
|
|
while(_g < _g1.length) {
|
|
var gamepad = _g1[_g];
|
|
++_g;
|
|
if(gamepad != null && gamepad.anyInput()) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,anyPressed: function(buttonID) {
|
|
return this.anyHasState(buttonID,1);
|
|
}
|
|
,anyJustPressed: function(buttonID) {
|
|
return this.anyHasState(buttonID,2);
|
|
}
|
|
,anyJustReleased: function(buttonID) {
|
|
return this.anyHasState(buttonID,-1);
|
|
}
|
|
,anyHasState: function(buttonID,state) {
|
|
var _g = 0;
|
|
var _g1 = this._gamepads;
|
|
while(_g < _g1.length) {
|
|
var gamepad = _g1[_g];
|
|
++_g;
|
|
var tmp;
|
|
if(gamepad != null) {
|
|
switch(buttonID) {
|
|
case -2:
|
|
tmp = gamepad.anyButton(state);
|
|
break;
|
|
case -1:
|
|
tmp = !gamepad.anyButton(state);
|
|
break;
|
|
default:
|
|
var RawID = gamepad.mapping.getRawID(buttonID);
|
|
var button = gamepad.buttons[RawID];
|
|
tmp = button != null && button.hasState(state);
|
|
}
|
|
} else {
|
|
tmp = false;
|
|
}
|
|
if(tmp) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,anyMovedXAxis: function(RawAxisID) {
|
|
var _g = 0;
|
|
var _g1 = this._gamepads;
|
|
while(_g < _g1.length) {
|
|
var gamepad = _g1[_g];
|
|
++_g;
|
|
if(gamepad == null) {
|
|
continue;
|
|
}
|
|
var value = gamepad.getAnalogXAxisValue(RawAxisID);
|
|
if(value != 0) {
|
|
return value;
|
|
}
|
|
}
|
|
return 0;
|
|
}
|
|
,anyMovedYAxis: function(RawAxisID) {
|
|
var _g = 0;
|
|
var _g1 = this._gamepads;
|
|
while(_g < _g1.length) {
|
|
var gamepad = _g1[_g];
|
|
++_g;
|
|
if(gamepad == null) {
|
|
continue;
|
|
}
|
|
var value = gamepad.getYAxisRaw(RawAxisID);
|
|
if(value != 0) {
|
|
return value;
|
|
}
|
|
}
|
|
return 0;
|
|
}
|
|
,destroy: function() {
|
|
this._gamepads = flixel_util_FlxDestroyUtil.destroyArray(this._gamepads);
|
|
this.firstActive = null;
|
|
this.lastActive = null;
|
|
this._gamepads = null;
|
|
flixel_input_gamepad_FlxGamepadManager._gameInput.removeEventListener("deviceAdded",$bind(this,this.onDeviceAdded));
|
|
flixel_input_gamepad_FlxGamepadManager._gameInput.removeEventListener("deviceRemoved",$bind(this,this.onDeviceRemoved));
|
|
}
|
|
,reset: function() {
|
|
var _g = 0;
|
|
var _g1 = this._gamepads;
|
|
while(_g < _g1.length) {
|
|
var gamepad = _g1[_g];
|
|
++_g;
|
|
if(gamepad != null) {
|
|
gamepad.reset();
|
|
}
|
|
}
|
|
}
|
|
,onDeviceAdded: function(Event1) {
|
|
this.addGamepad(Event1.device);
|
|
}
|
|
,onDeviceRemoved: function(Event1) {
|
|
this.removeGamepad(Event1.device);
|
|
}
|
|
,findGamepadIndex: function(Device1) {
|
|
if(Device1 == null) {
|
|
return -1;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = openfl_ui_GameInput.numDevices;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(openfl_ui_GameInput.getDeviceAt(i) == Device1) {
|
|
return i;
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
,addGamepad: function(Device1) {
|
|
if(Device1 == null) {
|
|
return;
|
|
}
|
|
Device1.enabled = true;
|
|
var id = this.findGamepadIndex(Device1);
|
|
if(id < 0) {
|
|
return;
|
|
}
|
|
var gamepad = this.createByID(id,this.getModelFromDeviceName(Device1.name));
|
|
gamepad._device = Device1;
|
|
this.deviceConnected.dispatch(gamepad);
|
|
}
|
|
,getModelFromDeviceName: function(name) {
|
|
if(name == null) {
|
|
return flixel_input_gamepad_FlxGamepadModel.UNKNOWN;
|
|
}
|
|
name = StringTools.replace(StringTools.replace(name.toLowerCase(),"-",""),"_","");
|
|
if(name.indexOf("ouya") != -1) {
|
|
return flixel_input_gamepad_FlxGamepadModel.OUYA;
|
|
} else if(name.indexOf("wireless controller") != -1 || name.indexOf("ps4") != -1) {
|
|
return flixel_input_gamepad_FlxGamepadModel.PS4;
|
|
} else if(name.indexOf("logitech") != -1) {
|
|
return flixel_input_gamepad_FlxGamepadModel.LOGITECH;
|
|
} else if(name.indexOf("xbox") != -1 && name.indexOf("360") != -1 || name.indexOf("xinput") != -1) {
|
|
return flixel_input_gamepad_FlxGamepadModel.XINPUT;
|
|
} else if(name.indexOf("nintendo rvlcnt01tr") != -1) {
|
|
return flixel_input_gamepad_FlxGamepadModel.WII_REMOTE;
|
|
} else if(name.indexOf("nintendo rvlcnt01") != -1) {
|
|
return flixel_input_gamepad_FlxGamepadModel.WII_REMOTE;
|
|
} else if(name.indexOf("mayflash wiimote pc adapter") != -1) {
|
|
return flixel_input_gamepad_FlxGamepadModel.MAYFLASH_WII_REMOTE;
|
|
} else if(name.indexOf("pro controller") != -1 || name.indexOf("joycon l+r") != -1) {
|
|
return flixel_input_gamepad_FlxGamepadModel.SWITCH_PRO;
|
|
} else if(name.indexOf("joycon (l)") != -1) {
|
|
return flixel_input_gamepad_FlxGamepadModel.SWITCH_JOYCON_LEFT;
|
|
} else if(name.indexOf("joycon (r)") != -1) {
|
|
return flixel_input_gamepad_FlxGamepadModel.SWITCH_JOYCON_RIGHT;
|
|
} else if(name.indexOf("mfi") != -1) {
|
|
return flixel_input_gamepad_FlxGamepadModel.MFI;
|
|
} else {
|
|
return flixel_input_gamepad_FlxGamepadModel.UNKNOWN;
|
|
}
|
|
}
|
|
,removeGamepad: function(Device1) {
|
|
if(Device1 == null) {
|
|
return;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this._gamepads.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var gamepad = this._gamepads[i];
|
|
if(gamepad != null && gamepad._device == Device1) {
|
|
this.removeByID(i);
|
|
}
|
|
}
|
|
}
|
|
,update: function() {
|
|
var _g = 0;
|
|
var _g1 = this._gamepads;
|
|
while(_g < _g1.length) {
|
|
var gamepad = _g1[_g];
|
|
++_g;
|
|
if(gamepad != null) {
|
|
gamepad.update();
|
|
}
|
|
}
|
|
}
|
|
,onFocus: function() {
|
|
}
|
|
,onFocusLost: function() {
|
|
this.reset();
|
|
}
|
|
,get_numActiveGamepads: function() {
|
|
var count = 0;
|
|
var _g = 0;
|
|
var _g1 = this._gamepads;
|
|
while(_g < _g1.length) {
|
|
var gamepad = _g1[_g];
|
|
++_g;
|
|
if(gamepad != null) {
|
|
++count;
|
|
}
|
|
}
|
|
return count;
|
|
}
|
|
,__class__: flixel_input_gamepad_FlxGamepadManager
|
|
,__properties__: {get_numActiveGamepads:"get_numActiveGamepads"}
|
|
};
|
|
var flixel_input_gamepad_id_LogitechID = function() { };
|
|
$hxClasses["flixel.input.gamepad.id.LogitechID"] = flixel_input_gamepad_id_LogitechID;
|
|
flixel_input_gamepad_id_LogitechID.__name__ = "flixel.input.gamepad.id.LogitechID";
|
|
var flixel_input_gamepad_id_MFiID = function() { };
|
|
$hxClasses["flixel.input.gamepad.id.MFiID"] = flixel_input_gamepad_id_MFiID;
|
|
flixel_input_gamepad_id_MFiID.__name__ = "flixel.input.gamepad.id.MFiID";
|
|
var flixel_input_gamepad_id_MayflashWiiRemoteID = function() { };
|
|
$hxClasses["flixel.input.gamepad.id.MayflashWiiRemoteID"] = flixel_input_gamepad_id_MayflashWiiRemoteID;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.__name__ = "flixel.input.gamepad.id.MayflashWiiRemoteID";
|
|
var flixel_input_gamepad_id_OUYAID = function() { };
|
|
$hxClasses["flixel.input.gamepad.id.OUYAID"] = flixel_input_gamepad_id_OUYAID;
|
|
flixel_input_gamepad_id_OUYAID.__name__ = "flixel.input.gamepad.id.OUYAID";
|
|
var flixel_input_gamepad_id_PS4ID = function() { };
|
|
$hxClasses["flixel.input.gamepad.id.PS4ID"] = flixel_input_gamepad_id_PS4ID;
|
|
flixel_input_gamepad_id_PS4ID.__name__ = "flixel.input.gamepad.id.PS4ID";
|
|
var flixel_input_gamepad_id_PSVitaID = function() { };
|
|
$hxClasses["flixel.input.gamepad.id.PSVitaID"] = flixel_input_gamepad_id_PSVitaID;
|
|
flixel_input_gamepad_id_PSVitaID.__name__ = "flixel.input.gamepad.id.PSVitaID";
|
|
var flixel_input_gamepad_id_SwitchJoyconLeftID = function() { };
|
|
$hxClasses["flixel.input.gamepad.id.SwitchJoyconLeftID"] = flixel_input_gamepad_id_SwitchJoyconLeftID;
|
|
flixel_input_gamepad_id_SwitchJoyconLeftID.__name__ = "flixel.input.gamepad.id.SwitchJoyconLeftID";
|
|
var flixel_input_gamepad_id_SwitchJoyconRightID = function() { };
|
|
$hxClasses["flixel.input.gamepad.id.SwitchJoyconRightID"] = flixel_input_gamepad_id_SwitchJoyconRightID;
|
|
flixel_input_gamepad_id_SwitchJoyconRightID.__name__ = "flixel.input.gamepad.id.SwitchJoyconRightID";
|
|
var flixel_input_gamepad_id_SwitchProID = function() { };
|
|
$hxClasses["flixel.input.gamepad.id.SwitchProID"] = flixel_input_gamepad_id_SwitchProID;
|
|
flixel_input_gamepad_id_SwitchProID.__name__ = "flixel.input.gamepad.id.SwitchProID";
|
|
var flixel_input_gamepad_id_WiiRemoteID = function() { };
|
|
$hxClasses["flixel.input.gamepad.id.WiiRemoteID"] = flixel_input_gamepad_id_WiiRemoteID;
|
|
flixel_input_gamepad_id_WiiRemoteID.__name__ = "flixel.input.gamepad.id.WiiRemoteID";
|
|
var flixel_input_gamepad_id_XInputID = function() { };
|
|
$hxClasses["flixel.input.gamepad.id.XInputID"] = flixel_input_gamepad_id_XInputID;
|
|
flixel_input_gamepad_id_XInputID.__name__ = "flixel.input.gamepad.id.XInputID";
|
|
var flixel_input_gamepad_lists_FlxBaseGamepadList = function(status,gamepad) {
|
|
this.status = status;
|
|
this.gamepad = gamepad;
|
|
};
|
|
$hxClasses["flixel.input.gamepad.lists.FlxBaseGamepadList"] = flixel_input_gamepad_lists_FlxBaseGamepadList;
|
|
flixel_input_gamepad_lists_FlxBaseGamepadList.__name__ = "flixel.input.gamepad.lists.FlxBaseGamepadList";
|
|
flixel_input_gamepad_lists_FlxBaseGamepadList.prototype = {
|
|
status: null
|
|
,gamepad: null
|
|
,check: function(id) {
|
|
var _this = this.gamepad;
|
|
var Status = this.status;
|
|
switch(id) {
|
|
case -2:
|
|
return _this.anyButton(Status);
|
|
case -1:
|
|
return !_this.anyButton(Status);
|
|
default:
|
|
var RawID = _this.mapping.getRawID(id);
|
|
var button = _this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,checkRaw: function(id) {
|
|
var button = this.gamepad.buttons[id];
|
|
if(button != null) {
|
|
return button.hasState(this.status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,get_ANY: function() {
|
|
var _g = 0;
|
|
var _g1 = this.gamepad.buttons;
|
|
while(_g < _g1.length) {
|
|
var button = _g1[_g];
|
|
++_g;
|
|
var tmp;
|
|
if(button != null) {
|
|
var button1 = this.gamepad.buttons[button.ID];
|
|
tmp = button1 != null && button1.hasState(this.status);
|
|
} else {
|
|
tmp = false;
|
|
}
|
|
if(tmp) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,get_ALL: function() {
|
|
var _g = 0;
|
|
var _g1 = this.gamepad.buttons;
|
|
while(_g < _g1.length) {
|
|
var button = _g1[_g];
|
|
++_g;
|
|
var tmp;
|
|
if(button != null) {
|
|
var button1 = this.gamepad.buttons[button.ID];
|
|
tmp = !(button1 != null && button1.hasState(this.status));
|
|
} else {
|
|
tmp = false;
|
|
}
|
|
if(tmp) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
,get_NONE: function() {
|
|
var _g = 0;
|
|
var _g1 = this.gamepad.buttons;
|
|
while(_g < _g1.length) {
|
|
var button = _g1[_g];
|
|
++_g;
|
|
var tmp;
|
|
if(button != null) {
|
|
var button1 = this.gamepad.buttons[button.ID];
|
|
tmp = button1 != null && button1.hasState(this.status);
|
|
} else {
|
|
tmp = false;
|
|
}
|
|
if(tmp) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
,__class__: flixel_input_gamepad_lists_FlxBaseGamepadList
|
|
,__properties__: {get_NONE:"get_NONE",get_ALL:"get_ALL",get_ANY:"get_ANY"}
|
|
};
|
|
var flixel_input_gamepad_lists_FlxGamepadAnalogList = function(gamepad) {
|
|
this.value = new flixel_input_gamepad_lists_FlxGamepadAnalogValueList(gamepad);
|
|
this.justMoved = new flixel_input_gamepad_lists_FlxGamepadAnalogStateList(2,gamepad);
|
|
this.justReleased = new flixel_input_gamepad_lists_FlxGamepadAnalogStateList(-1,gamepad);
|
|
};
|
|
$hxClasses["flixel.input.gamepad.lists.FlxGamepadAnalogList"] = flixel_input_gamepad_lists_FlxGamepadAnalogList;
|
|
flixel_input_gamepad_lists_FlxGamepadAnalogList.__name__ = "flixel.input.gamepad.lists.FlxGamepadAnalogList";
|
|
flixel_input_gamepad_lists_FlxGamepadAnalogList.prototype = {
|
|
value: null
|
|
,justMoved: null
|
|
,justReleased: null
|
|
,__class__: flixel_input_gamepad_lists_FlxGamepadAnalogList
|
|
};
|
|
var flixel_input_gamepad_lists_FlxGamepadAnalogStateList = function(status,gamepad) {
|
|
this.status = status;
|
|
this.gamepad = gamepad;
|
|
};
|
|
$hxClasses["flixel.input.gamepad.lists.FlxGamepadAnalogStateList"] = flixel_input_gamepad_lists_FlxGamepadAnalogStateList;
|
|
flixel_input_gamepad_lists_FlxGamepadAnalogStateList.__name__ = "flixel.input.gamepad.lists.FlxGamepadAnalogStateList";
|
|
flixel_input_gamepad_lists_FlxGamepadAnalogStateList.prototype = {
|
|
gamepad: null
|
|
,status: null
|
|
,get_LEFT_STICK: function() {
|
|
return this.checkXY(19);
|
|
}
|
|
,get_LEFT_STICK_X: function() {
|
|
var stick = this.gamepad.mapping.getAnalogStick(19);
|
|
if(stick == null) {
|
|
return false;
|
|
} else {
|
|
var button = this.gamepad.buttons[stick.x];
|
|
if(button != null) {
|
|
return button.hasState(this.status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,get_LEFT_STICK_Y: function() {
|
|
var stick = this.gamepad.mapping.getAnalogStick(19);
|
|
if(stick == null) {
|
|
return false;
|
|
} else {
|
|
var button = this.gamepad.buttons[stick.y];
|
|
if(button != null) {
|
|
return button.hasState(this.status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,get_RIGHT_STICK: function() {
|
|
return this.checkXY(20);
|
|
}
|
|
,get_RIGHT_STICK_X: function() {
|
|
var stick = this.gamepad.mapping.getAnalogStick(20);
|
|
if(stick == null) {
|
|
return false;
|
|
} else {
|
|
var button = this.gamepad.buttons[stick.x];
|
|
if(button != null) {
|
|
return button.hasState(this.status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,get_RIGHT_STICK_Y: function() {
|
|
var stick = this.gamepad.mapping.getAnalogStick(20);
|
|
if(stick == null) {
|
|
return false;
|
|
} else {
|
|
var button = this.gamepad.buttons[stick.y];
|
|
if(button != null) {
|
|
return button.hasState(this.status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,checkXY: function(id) {
|
|
var stick = this.gamepad.mapping.getAnalogStick(id);
|
|
if(stick == null) {
|
|
return false;
|
|
}
|
|
var button = this.gamepad.buttons[stick.x];
|
|
var xVal = button != null && button.hasState(this.status);
|
|
var button = this.gamepad.buttons[stick.y];
|
|
var yVal = button != null && button.hasState(this.status);
|
|
if(xVal && yVal) {
|
|
return true;
|
|
}
|
|
if(xVal) {
|
|
var button = this.gamepad.buttons[stick.y];
|
|
var yReleased = button != null && button.hasState(0);
|
|
var button = this.gamepad.buttons[stick.y];
|
|
var yJustReleased = button != null && button.hasState(-1);
|
|
if(yReleased || yJustReleased) {
|
|
return true;
|
|
}
|
|
}
|
|
if(yVal) {
|
|
var button = this.gamepad.buttons[stick.x];
|
|
var xReleased = button != null && button.hasState(0);
|
|
var button = this.gamepad.buttons[stick.x];
|
|
var xJustReleased = button != null && button.hasState(-1);
|
|
if(xReleased || xJustReleased) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,checkX: function(id) {
|
|
var stick = this.gamepad.mapping.getAnalogStick(id);
|
|
if(stick == null) {
|
|
return false;
|
|
}
|
|
var button = this.gamepad.buttons[stick.x];
|
|
if(button != null) {
|
|
return button.hasState(this.status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,checkY: function(id) {
|
|
var stick = this.gamepad.mapping.getAnalogStick(id);
|
|
if(stick == null) {
|
|
return false;
|
|
}
|
|
var button = this.gamepad.buttons[stick.y];
|
|
if(button != null) {
|
|
return button.hasState(this.status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,checkRaw: function(RawID,Status) {
|
|
var button = this.gamepad.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,__class__: flixel_input_gamepad_lists_FlxGamepadAnalogStateList
|
|
,__properties__: {get_RIGHT_STICK_Y:"get_RIGHT_STICK_Y",get_RIGHT_STICK_X:"get_RIGHT_STICK_X",get_RIGHT_STICK:"get_RIGHT_STICK",get_LEFT_STICK_Y:"get_LEFT_STICK_Y",get_LEFT_STICK_X:"get_LEFT_STICK_X",get_LEFT_STICK:"get_LEFT_STICK"}
|
|
};
|
|
var flixel_input_gamepad_lists_FlxGamepadAnalogValueList = function(gamepad) {
|
|
this.gamepad = gamepad;
|
|
};
|
|
$hxClasses["flixel.input.gamepad.lists.FlxGamepadAnalogValueList"] = flixel_input_gamepad_lists_FlxGamepadAnalogValueList;
|
|
flixel_input_gamepad_lists_FlxGamepadAnalogValueList.__name__ = "flixel.input.gamepad.lists.FlxGamepadAnalogValueList";
|
|
flixel_input_gamepad_lists_FlxGamepadAnalogValueList.prototype = {
|
|
gamepad: null
|
|
,get_LEFT_STICK_X: function() {
|
|
var _this = this.gamepad;
|
|
return _this.getAnalogXAxisValue(_this.mapping.getAnalogStick(19));
|
|
}
|
|
,get_LEFT_STICK_Y: function() {
|
|
var _this = this.gamepad;
|
|
return _this.getYAxisRaw(_this.mapping.getAnalogStick(19));
|
|
}
|
|
,get_RIGHT_STICK_X: function() {
|
|
var _this = this.gamepad;
|
|
return _this.getAnalogXAxisValue(_this.mapping.getAnalogStick(20));
|
|
}
|
|
,get_RIGHT_STICK_Y: function() {
|
|
var _this = this.gamepad;
|
|
return _this.getYAxisRaw(_this.mapping.getAnalogStick(20));
|
|
}
|
|
,get_LEFT_TRIGGER: function() {
|
|
return this.gamepad.getAxis(17);
|
|
}
|
|
,get_RIGHT_TRIGGER: function() {
|
|
return this.gamepad.getAxis(18);
|
|
}
|
|
,get_POINTER_X: function() {
|
|
return this.gamepad.getAxis(28);
|
|
}
|
|
,get_POINTER_Y: function() {
|
|
return this.gamepad.getAxis(29);
|
|
}
|
|
,getAxis: function(id) {
|
|
return this.gamepad.getAxis(id);
|
|
}
|
|
,getXAxis: function(id) {
|
|
var _this = this.gamepad;
|
|
return _this.getAnalogXAxisValue(_this.mapping.getAnalogStick(id));
|
|
}
|
|
,getYAxis: function(id) {
|
|
var _this = this.gamepad;
|
|
return _this.getYAxisRaw(_this.mapping.getAnalogStick(id));
|
|
}
|
|
,__class__: flixel_input_gamepad_lists_FlxGamepadAnalogValueList
|
|
,__properties__: {get_POINTER_Y:"get_POINTER_Y",get_POINTER_X:"get_POINTER_X",get_RIGHT_TRIGGER:"get_RIGHT_TRIGGER",get_LEFT_TRIGGER:"get_LEFT_TRIGGER",get_RIGHT_STICK_Y:"get_RIGHT_STICK_Y",get_RIGHT_STICK_X:"get_RIGHT_STICK_X",get_LEFT_STICK_Y:"get_LEFT_STICK_Y",get_LEFT_STICK_X:"get_LEFT_STICK_X"}
|
|
};
|
|
var flixel_input_gamepad_lists_FlxGamepadButtonList = function(status,gamepad) {
|
|
flixel_input_gamepad_lists_FlxBaseGamepadList.call(this,status,gamepad);
|
|
};
|
|
$hxClasses["flixel.input.gamepad.lists.FlxGamepadButtonList"] = flixel_input_gamepad_lists_FlxGamepadButtonList;
|
|
flixel_input_gamepad_lists_FlxGamepadButtonList.__name__ = "flixel.input.gamepad.lists.FlxGamepadButtonList";
|
|
flixel_input_gamepad_lists_FlxGamepadButtonList.__super__ = flixel_input_gamepad_lists_FlxBaseGamepadList;
|
|
flixel_input_gamepad_lists_FlxGamepadButtonList.prototype = $extend(flixel_input_gamepad_lists_FlxBaseGamepadList.prototype,{
|
|
get_A: function() {
|
|
var id = 0;
|
|
var _this = this.gamepad;
|
|
var Status = this.status;
|
|
switch(id) {
|
|
case -2:
|
|
return _this.anyButton(Status);
|
|
case -1:
|
|
return !_this.anyButton(Status);
|
|
default:
|
|
var RawID = _this.mapping.getRawID(id);
|
|
var button = _this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,get_B: function() {
|
|
var id = 1;
|
|
var _this = this.gamepad;
|
|
var Status = this.status;
|
|
switch(id) {
|
|
case -2:
|
|
return _this.anyButton(Status);
|
|
case -1:
|
|
return !_this.anyButton(Status);
|
|
default:
|
|
var RawID = _this.mapping.getRawID(id);
|
|
var button = _this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,get_X: function() {
|
|
var id = 2;
|
|
var _this = this.gamepad;
|
|
var Status = this.status;
|
|
switch(id) {
|
|
case -2:
|
|
return _this.anyButton(Status);
|
|
case -1:
|
|
return !_this.anyButton(Status);
|
|
default:
|
|
var RawID = _this.mapping.getRawID(id);
|
|
var button = _this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,get_Y: function() {
|
|
var id = 3;
|
|
var _this = this.gamepad;
|
|
var Status = this.status;
|
|
switch(id) {
|
|
case -2:
|
|
return _this.anyButton(Status);
|
|
case -1:
|
|
return !_this.anyButton(Status);
|
|
default:
|
|
var RawID = _this.mapping.getRawID(id);
|
|
var button = _this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,get_LEFT_SHOULDER: function() {
|
|
var id = 4;
|
|
var _this = this.gamepad;
|
|
var Status = this.status;
|
|
switch(id) {
|
|
case -2:
|
|
return _this.anyButton(Status);
|
|
case -1:
|
|
return !_this.anyButton(Status);
|
|
default:
|
|
var RawID = _this.mapping.getRawID(id);
|
|
var button = _this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,get_RIGHT_SHOULDER: function() {
|
|
var id = 5;
|
|
var _this = this.gamepad;
|
|
var Status = this.status;
|
|
switch(id) {
|
|
case -2:
|
|
return _this.anyButton(Status);
|
|
case -1:
|
|
return !_this.anyButton(Status);
|
|
default:
|
|
var RawID = _this.mapping.getRawID(id);
|
|
var button = _this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,get_BACK: function() {
|
|
var id = 6;
|
|
var _this = this.gamepad;
|
|
var Status = this.status;
|
|
switch(id) {
|
|
case -2:
|
|
return _this.anyButton(Status);
|
|
case -1:
|
|
return !_this.anyButton(Status);
|
|
default:
|
|
var RawID = _this.mapping.getRawID(id);
|
|
var button = _this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,get_START: function() {
|
|
var id = 7;
|
|
var _this = this.gamepad;
|
|
var Status = this.status;
|
|
switch(id) {
|
|
case -2:
|
|
return _this.anyButton(Status);
|
|
case -1:
|
|
return !_this.anyButton(Status);
|
|
default:
|
|
var RawID = _this.mapping.getRawID(id);
|
|
var button = _this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,get_LEFT_STICK_CLICK: function() {
|
|
var id = 8;
|
|
var _this = this.gamepad;
|
|
var Status = this.status;
|
|
switch(id) {
|
|
case -2:
|
|
return _this.anyButton(Status);
|
|
case -1:
|
|
return !_this.anyButton(Status);
|
|
default:
|
|
var RawID = _this.mapping.getRawID(id);
|
|
var button = _this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,get_RIGHT_STICK_CLICK: function() {
|
|
var id = 9;
|
|
var _this = this.gamepad;
|
|
var Status = this.status;
|
|
switch(id) {
|
|
case -2:
|
|
return _this.anyButton(Status);
|
|
case -1:
|
|
return !_this.anyButton(Status);
|
|
default:
|
|
var RawID = _this.mapping.getRawID(id);
|
|
var button = _this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,get_GUIDE: function() {
|
|
var id = 10;
|
|
var _this = this.gamepad;
|
|
var Status = this.status;
|
|
switch(id) {
|
|
case -2:
|
|
return _this.anyButton(Status);
|
|
case -1:
|
|
return !_this.anyButton(Status);
|
|
default:
|
|
var RawID = _this.mapping.getRawID(id);
|
|
var button = _this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,get_DPAD_UP: function() {
|
|
var id = 11;
|
|
var _this = this.gamepad;
|
|
var Status = this.status;
|
|
switch(id) {
|
|
case -2:
|
|
return _this.anyButton(Status);
|
|
case -1:
|
|
return !_this.anyButton(Status);
|
|
default:
|
|
var RawID = _this.mapping.getRawID(id);
|
|
var button = _this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,get_DPAD_DOWN: function() {
|
|
var id = 12;
|
|
var _this = this.gamepad;
|
|
var Status = this.status;
|
|
switch(id) {
|
|
case -2:
|
|
return _this.anyButton(Status);
|
|
case -1:
|
|
return !_this.anyButton(Status);
|
|
default:
|
|
var RawID = _this.mapping.getRawID(id);
|
|
var button = _this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,get_DPAD_LEFT: function() {
|
|
var id = 13;
|
|
var _this = this.gamepad;
|
|
var Status = this.status;
|
|
switch(id) {
|
|
case -2:
|
|
return _this.anyButton(Status);
|
|
case -1:
|
|
return !_this.anyButton(Status);
|
|
default:
|
|
var RawID = _this.mapping.getRawID(id);
|
|
var button = _this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,get_DPAD_RIGHT: function() {
|
|
var id = 14;
|
|
var _this = this.gamepad;
|
|
var Status = this.status;
|
|
switch(id) {
|
|
case -2:
|
|
return _this.anyButton(Status);
|
|
case -1:
|
|
return !_this.anyButton(Status);
|
|
default:
|
|
var RawID = _this.mapping.getRawID(id);
|
|
var button = _this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,get_LEFT_TRIGGER_BUTTON: function() {
|
|
var id = 15;
|
|
var _this = this.gamepad;
|
|
var Status = this.status;
|
|
switch(id) {
|
|
case -2:
|
|
return _this.anyButton(Status);
|
|
case -1:
|
|
return !_this.anyButton(Status);
|
|
default:
|
|
var RawID = _this.mapping.getRawID(id);
|
|
var button = _this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,get_RIGHT_TRIGGER_BUTTON: function() {
|
|
var id = 16;
|
|
var _this = this.gamepad;
|
|
var Status = this.status;
|
|
switch(id) {
|
|
case -2:
|
|
return _this.anyButton(Status);
|
|
case -1:
|
|
return !_this.anyButton(Status);
|
|
default:
|
|
var RawID = _this.mapping.getRawID(id);
|
|
var button = _this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,get_LEFT_TRIGGER: function() {
|
|
var id = 17;
|
|
var _this = this.gamepad;
|
|
var Status = this.status;
|
|
switch(id) {
|
|
case -2:
|
|
return _this.anyButton(Status);
|
|
case -1:
|
|
return !_this.anyButton(Status);
|
|
default:
|
|
var RawID = _this.mapping.getRawID(id);
|
|
var button = _this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,get_RIGHT_TRIGGER: function() {
|
|
var id = 18;
|
|
var _this = this.gamepad;
|
|
var Status = this.status;
|
|
switch(id) {
|
|
case -2:
|
|
return _this.anyButton(Status);
|
|
case -1:
|
|
return !_this.anyButton(Status);
|
|
default:
|
|
var RawID = _this.mapping.getRawID(id);
|
|
var button = _this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,get_LEFT_ANALOG_STICK: function() {
|
|
var id = 19;
|
|
var _this = this.gamepad;
|
|
var Status = this.status;
|
|
switch(id) {
|
|
case -2:
|
|
return _this.anyButton(Status);
|
|
case -1:
|
|
return !_this.anyButton(Status);
|
|
default:
|
|
var RawID = _this.mapping.getRawID(id);
|
|
var button = _this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,get_RIGHT_ANALOG_STICK: function() {
|
|
var id = 20;
|
|
var _this = this.gamepad;
|
|
var Status = this.status;
|
|
switch(id) {
|
|
case -2:
|
|
return _this.anyButton(Status);
|
|
case -1:
|
|
return !_this.anyButton(Status);
|
|
default:
|
|
var RawID = _this.mapping.getRawID(id);
|
|
var button = _this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,get_DPAD: function() {
|
|
var id = 21;
|
|
var _this = this.gamepad;
|
|
var Status = this.status;
|
|
switch(id) {
|
|
case -2:
|
|
return _this.anyButton(Status);
|
|
case -1:
|
|
return !_this.anyButton(Status);
|
|
default:
|
|
var RawID = _this.mapping.getRawID(id);
|
|
var button = _this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,get_TILT_PITCH: function() {
|
|
var id = 26;
|
|
var _this = this.gamepad;
|
|
var Status = this.status;
|
|
switch(id) {
|
|
case -2:
|
|
return _this.anyButton(Status);
|
|
case -1:
|
|
return !_this.anyButton(Status);
|
|
default:
|
|
var RawID = _this.mapping.getRawID(id);
|
|
var button = _this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,get_TILT_ROLL: function() {
|
|
var id = 27;
|
|
var _this = this.gamepad;
|
|
var Status = this.status;
|
|
switch(id) {
|
|
case -2:
|
|
return _this.anyButton(Status);
|
|
case -1:
|
|
return !_this.anyButton(Status);
|
|
default:
|
|
var RawID = _this.mapping.getRawID(id);
|
|
var button = _this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,get_POINTER_X: function() {
|
|
var id = 28;
|
|
var _this = this.gamepad;
|
|
var Status = this.status;
|
|
switch(id) {
|
|
case -2:
|
|
return _this.anyButton(Status);
|
|
case -1:
|
|
return !_this.anyButton(Status);
|
|
default:
|
|
var RawID = _this.mapping.getRawID(id);
|
|
var button = _this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,get_POINTER_Y: function() {
|
|
var id = 29;
|
|
var _this = this.gamepad;
|
|
var Status = this.status;
|
|
switch(id) {
|
|
case -2:
|
|
return _this.anyButton(Status);
|
|
case -1:
|
|
return !_this.anyButton(Status);
|
|
default:
|
|
var RawID = _this.mapping.getRawID(id);
|
|
var button = _this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,get_EXTRA_0: function() {
|
|
var id = 30;
|
|
var _this = this.gamepad;
|
|
var Status = this.status;
|
|
switch(id) {
|
|
case -2:
|
|
return _this.anyButton(Status);
|
|
case -1:
|
|
return !_this.anyButton(Status);
|
|
default:
|
|
var RawID = _this.mapping.getRawID(id);
|
|
var button = _this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,get_EXTRA_1: function() {
|
|
var id = 31;
|
|
var _this = this.gamepad;
|
|
var Status = this.status;
|
|
switch(id) {
|
|
case -2:
|
|
return _this.anyButton(Status);
|
|
case -1:
|
|
return !_this.anyButton(Status);
|
|
default:
|
|
var RawID = _this.mapping.getRawID(id);
|
|
var button = _this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,get_EXTRA_2: function() {
|
|
var id = 32;
|
|
var _this = this.gamepad;
|
|
var Status = this.status;
|
|
switch(id) {
|
|
case -2:
|
|
return _this.anyButton(Status);
|
|
case -1:
|
|
return !_this.anyButton(Status);
|
|
default:
|
|
var RawID = _this.mapping.getRawID(id);
|
|
var button = _this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,get_EXTRA_3: function() {
|
|
var id = 33;
|
|
var _this = this.gamepad;
|
|
var Status = this.status;
|
|
switch(id) {
|
|
case -2:
|
|
return _this.anyButton(Status);
|
|
case -1:
|
|
return !_this.anyButton(Status);
|
|
default:
|
|
var RawID = _this.mapping.getRawID(id);
|
|
var button = _this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,get_LEFT_STICK_DIGITAL_UP: function() {
|
|
var id = 34;
|
|
var _this = this.gamepad;
|
|
var Status = this.status;
|
|
switch(id) {
|
|
case -2:
|
|
return _this.anyButton(Status);
|
|
case -1:
|
|
return !_this.anyButton(Status);
|
|
default:
|
|
var RawID = _this.mapping.getRawID(id);
|
|
var button = _this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,get_LEFT_STICK_DIGITAL_RIGHT: function() {
|
|
var id = 35;
|
|
var _this = this.gamepad;
|
|
var Status = this.status;
|
|
switch(id) {
|
|
case -2:
|
|
return _this.anyButton(Status);
|
|
case -1:
|
|
return !_this.anyButton(Status);
|
|
default:
|
|
var RawID = _this.mapping.getRawID(id);
|
|
var button = _this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,get_LEFT_STICK_DIGITAL_DOWN: function() {
|
|
var id = 36;
|
|
var _this = this.gamepad;
|
|
var Status = this.status;
|
|
switch(id) {
|
|
case -2:
|
|
return _this.anyButton(Status);
|
|
case -1:
|
|
return !_this.anyButton(Status);
|
|
default:
|
|
var RawID = _this.mapping.getRawID(id);
|
|
var button = _this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,get_LEFT_STICK_DIGITAL_LEFT: function() {
|
|
var id = 37;
|
|
var _this = this.gamepad;
|
|
var Status = this.status;
|
|
switch(id) {
|
|
case -2:
|
|
return _this.anyButton(Status);
|
|
case -1:
|
|
return !_this.anyButton(Status);
|
|
default:
|
|
var RawID = _this.mapping.getRawID(id);
|
|
var button = _this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,get_RIGHT_STICK_DIGITAL_UP: function() {
|
|
var id = 38;
|
|
var _this = this.gamepad;
|
|
var Status = this.status;
|
|
switch(id) {
|
|
case -2:
|
|
return _this.anyButton(Status);
|
|
case -1:
|
|
return !_this.anyButton(Status);
|
|
default:
|
|
var RawID = _this.mapping.getRawID(id);
|
|
var button = _this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,get_RIGHT_STICK_DIGITAL_RIGHT: function() {
|
|
var id = 39;
|
|
var _this = this.gamepad;
|
|
var Status = this.status;
|
|
switch(id) {
|
|
case -2:
|
|
return _this.anyButton(Status);
|
|
case -1:
|
|
return !_this.anyButton(Status);
|
|
default:
|
|
var RawID = _this.mapping.getRawID(id);
|
|
var button = _this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,get_RIGHT_STICK_DIGITAL_DOWN: function() {
|
|
var id = 40;
|
|
var _this = this.gamepad;
|
|
var Status = this.status;
|
|
switch(id) {
|
|
case -2:
|
|
return _this.anyButton(Status);
|
|
case -1:
|
|
return !_this.anyButton(Status);
|
|
default:
|
|
var RawID = _this.mapping.getRawID(id);
|
|
var button = _this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,get_RIGHT_STICK_DIGITAL_LEFT: function() {
|
|
var id = 41;
|
|
var _this = this.gamepad;
|
|
var Status = this.status;
|
|
switch(id) {
|
|
case -2:
|
|
return _this.anyButton(Status);
|
|
case -1:
|
|
return !_this.anyButton(Status);
|
|
default:
|
|
var RawID = _this.mapping.getRawID(id);
|
|
var button = _this.buttons[RawID];
|
|
if(button != null) {
|
|
return button.hasState(Status);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
,__class__: flixel_input_gamepad_lists_FlxGamepadButtonList
|
|
,__properties__: $extend(flixel_input_gamepad_lists_FlxBaseGamepadList.prototype.__properties__,{get_RIGHT_STICK_DIGITAL_LEFT:"get_RIGHT_STICK_DIGITAL_LEFT",get_RIGHT_STICK_DIGITAL_DOWN:"get_RIGHT_STICK_DIGITAL_DOWN",get_RIGHT_STICK_DIGITAL_RIGHT:"get_RIGHT_STICK_DIGITAL_RIGHT",get_RIGHT_STICK_DIGITAL_UP:"get_RIGHT_STICK_DIGITAL_UP",get_LEFT_STICK_DIGITAL_LEFT:"get_LEFT_STICK_DIGITAL_LEFT",get_LEFT_STICK_DIGITAL_DOWN:"get_LEFT_STICK_DIGITAL_DOWN",get_LEFT_STICK_DIGITAL_RIGHT:"get_LEFT_STICK_DIGITAL_RIGHT",get_LEFT_STICK_DIGITAL_UP:"get_LEFT_STICK_DIGITAL_UP",get_EXTRA_3:"get_EXTRA_3",get_EXTRA_2:"get_EXTRA_2",get_EXTRA_1:"get_EXTRA_1",get_EXTRA_0:"get_EXTRA_0",get_POINTER_Y:"get_POINTER_Y",get_POINTER_X:"get_POINTER_X",get_TILT_ROLL:"get_TILT_ROLL",get_TILT_PITCH:"get_TILT_PITCH",get_DPAD:"get_DPAD",get_RIGHT_ANALOG_STICK:"get_RIGHT_ANALOG_STICK",get_LEFT_ANALOG_STICK:"get_LEFT_ANALOG_STICK",get_RIGHT_TRIGGER:"get_RIGHT_TRIGGER",get_LEFT_TRIGGER:"get_LEFT_TRIGGER",get_RIGHT_TRIGGER_BUTTON:"get_RIGHT_TRIGGER_BUTTON",get_LEFT_TRIGGER_BUTTON:"get_LEFT_TRIGGER_BUTTON",get_DPAD_RIGHT:"get_DPAD_RIGHT",get_DPAD_LEFT:"get_DPAD_LEFT",get_DPAD_DOWN:"get_DPAD_DOWN",get_DPAD_UP:"get_DPAD_UP",get_GUIDE:"get_GUIDE",get_RIGHT_STICK_CLICK:"get_RIGHT_STICK_CLICK",get_LEFT_STICK_CLICK:"get_LEFT_STICK_CLICK",get_START:"get_START",get_BACK:"get_BACK",get_RIGHT_SHOULDER:"get_RIGHT_SHOULDER",get_LEFT_SHOULDER:"get_LEFT_SHOULDER",get_Y:"get_Y",get_X:"get_X",get_B:"get_B",get_A:"get_A"})
|
|
});
|
|
var flixel_input_gamepad_lists_FlxGamepadMotionValueList = function(gamepad) {
|
|
this.gamepad = gamepad;
|
|
};
|
|
$hxClasses["flixel.input.gamepad.lists.FlxGamepadMotionValueList"] = flixel_input_gamepad_lists_FlxGamepadMotionValueList;
|
|
flixel_input_gamepad_lists_FlxGamepadMotionValueList.__name__ = "flixel.input.gamepad.lists.FlxGamepadMotionValueList";
|
|
flixel_input_gamepad_lists_FlxGamepadMotionValueList.prototype = {
|
|
gamepad: null
|
|
,get_TILT_PITCH: function() {
|
|
if(!this.gamepad.mapping.supportsMotion) {
|
|
return 0;
|
|
} else {
|
|
return this.gamepad.getAxis(26);
|
|
}
|
|
}
|
|
,get_TILT_ROLL: function() {
|
|
if(!this.gamepad.mapping.supportsMotion) {
|
|
return 0;
|
|
} else {
|
|
return this.gamepad.getAxis(27);
|
|
}
|
|
}
|
|
,getAxis: function(id) {
|
|
if(!this.gamepad.mapping.supportsMotion) {
|
|
return 0;
|
|
}
|
|
return this.gamepad.getAxis(id);
|
|
}
|
|
,get_isSupported: function() {
|
|
return this.gamepad.mapping.supportsMotion;
|
|
}
|
|
,__class__: flixel_input_gamepad_lists_FlxGamepadMotionValueList
|
|
,__properties__: {get_TILT_ROLL:"get_TILT_ROLL",get_TILT_PITCH:"get_TILT_PITCH",get_isSupported:"get_isSupported"}
|
|
};
|
|
var flixel_input_gamepad_lists_FlxGamepadPointerValueList = function(gamepad) {
|
|
this.gamepad = gamepad;
|
|
};
|
|
$hxClasses["flixel.input.gamepad.lists.FlxGamepadPointerValueList"] = flixel_input_gamepad_lists_FlxGamepadPointerValueList;
|
|
flixel_input_gamepad_lists_FlxGamepadPointerValueList.__name__ = "flixel.input.gamepad.lists.FlxGamepadPointerValueList";
|
|
flixel_input_gamepad_lists_FlxGamepadPointerValueList.prototype = {
|
|
gamepad: null
|
|
,get_X: function() {
|
|
if(!this.gamepad.mapping.supportsPointer) {
|
|
return 0;
|
|
} else {
|
|
return this.gamepad.getAxis(28);
|
|
}
|
|
}
|
|
,get_Y: function() {
|
|
if(!this.gamepad.mapping.supportsPointer) {
|
|
return 0;
|
|
} else {
|
|
return this.gamepad.getAxis(29);
|
|
}
|
|
}
|
|
,getAxis: function(id) {
|
|
if(!this.gamepad.mapping.supportsPointer) {
|
|
return 0;
|
|
}
|
|
return this.gamepad.getAxis(id);
|
|
}
|
|
,get_isSupported: function() {
|
|
return this.gamepad.mapping.supportsPointer;
|
|
}
|
|
,__class__: flixel_input_gamepad_lists_FlxGamepadPointerValueList
|
|
,__properties__: {get_Y:"get_Y",get_X:"get_X",get_isSupported:"get_isSupported"}
|
|
};
|
|
var flixel_input_gamepad_mappings_FlxGamepadMapping = function(attachment) {
|
|
this.attachment = flixel_input_gamepad_FlxGamepadAttachment.NONE;
|
|
this.supportsPointer = false;
|
|
this.supportsMotion = false;
|
|
if(attachment != null) {
|
|
this.set_attachment(attachment);
|
|
}
|
|
this.initValues();
|
|
};
|
|
$hxClasses["flixel.input.gamepad.mappings.FlxGamepadMapping"] = flixel_input_gamepad_mappings_FlxGamepadMapping;
|
|
flixel_input_gamepad_mappings_FlxGamepadMapping.__name__ = "flixel.input.gamepad.mappings.FlxGamepadMapping";
|
|
flixel_input_gamepad_mappings_FlxGamepadMapping.prototype = {
|
|
supportsMotion: null
|
|
,supportsPointer: null
|
|
,leftStick: null
|
|
,rightStick: null
|
|
,attachment: null
|
|
,manufacturer: null
|
|
,initValues: function() {
|
|
}
|
|
,getAnalogStick: function(ID) {
|
|
switch(ID) {
|
|
case 19:
|
|
return this.leftStick;
|
|
case 20:
|
|
return this.rightStick;
|
|
default:
|
|
return null;
|
|
}
|
|
}
|
|
,getID: function(rawID) {
|
|
return -1;
|
|
}
|
|
,getRawID: function(ID) {
|
|
return -1;
|
|
}
|
|
,isAxisFlipped: function(axisID) {
|
|
return false;
|
|
}
|
|
,isAxisForMotion: function(ID) {
|
|
return false;
|
|
}
|
|
,set_attachment: function(attachment) {
|
|
return this.attachment = attachment;
|
|
}
|
|
,getInputLabel: function(id) {
|
|
if(this.getRawID(id) == -1) {
|
|
return null;
|
|
}
|
|
switch(id) {
|
|
case 0:
|
|
return "a";
|
|
case 1:
|
|
return "b";
|
|
case 2:
|
|
return "x";
|
|
case 3:
|
|
return "y";
|
|
case 4:
|
|
return "lb";
|
|
case 5:
|
|
return "rb";
|
|
case 6:
|
|
return "back";
|
|
case 7:
|
|
return "start";
|
|
case 8:
|
|
return "ls-click";
|
|
case 9:
|
|
return "rs-click";
|
|
case 10:
|
|
return "guide";
|
|
case 11:
|
|
return "up";
|
|
case 12:
|
|
return "down";
|
|
case 13:
|
|
return "left";
|
|
case 14:
|
|
return "right";
|
|
case 15:
|
|
return "l2-click";
|
|
case 16:
|
|
return "r2-click";
|
|
case 17:
|
|
return "lt";
|
|
case 18:
|
|
return "rt";
|
|
case 19:
|
|
return "ls";
|
|
case 20:
|
|
return "rs";
|
|
case 21:
|
|
return "dpad";
|
|
case 34:
|
|
return "ls-up";
|
|
case 35:
|
|
return "ls-right";
|
|
case 36:
|
|
return "ls-down";
|
|
case 37:
|
|
return "ls-left";
|
|
case 38:
|
|
return "rs-up";
|
|
case 39:
|
|
return "rs-right";
|
|
case 40:
|
|
return "rs-down";
|
|
case 41:
|
|
return "rs-left";
|
|
default:
|
|
return null;
|
|
}
|
|
}
|
|
,__class__: flixel_input_gamepad_mappings_FlxGamepadMapping
|
|
,__properties__: {set_attachment:"set_attachment"}
|
|
};
|
|
var flixel_input_gamepad_mappings_Manufacturer = $hxEnums["flixel.input.gamepad.mappings.Manufacturer"] = { __ename__ : "flixel.input.gamepad.mappings.Manufacturer", __constructs__ : ["GooglePepper","AdobeWindows","Unknown"]
|
|
,GooglePepper: {_hx_index:0,__enum__:"flixel.input.gamepad.mappings.Manufacturer",toString:$estr}
|
|
,AdobeWindows: {_hx_index:1,__enum__:"flixel.input.gamepad.mappings.Manufacturer",toString:$estr}
|
|
,Unknown: {_hx_index:2,__enum__:"flixel.input.gamepad.mappings.Manufacturer",toString:$estr}
|
|
};
|
|
flixel_input_gamepad_mappings_Manufacturer.__meta__ = { obj : { SuppressWarnings : ["checkstyle:MemberName"]}};
|
|
var flixel_input_gamepad_mappings_LogitechMapping = function(attachment) {
|
|
flixel_input_gamepad_mappings_FlxGamepadMapping.call(this,attachment);
|
|
};
|
|
$hxClasses["flixel.input.gamepad.mappings.LogitechMapping"] = flixel_input_gamepad_mappings_LogitechMapping;
|
|
flixel_input_gamepad_mappings_LogitechMapping.__name__ = "flixel.input.gamepad.mappings.LogitechMapping";
|
|
flixel_input_gamepad_mappings_LogitechMapping.__super__ = flixel_input_gamepad_mappings_FlxGamepadMapping;
|
|
flixel_input_gamepad_mappings_LogitechMapping.prototype = $extend(flixel_input_gamepad_mappings_FlxGamepadMapping.prototype,{
|
|
initValues: function() {
|
|
this.leftStick = flixel_input_gamepad_id_LogitechID.LEFT_ANALOG_STICK;
|
|
this.rightStick = flixel_input_gamepad_id_LogitechID.RIGHT_ANALOG_STICK;
|
|
}
|
|
,getID: function(rawID) {
|
|
switch(rawID) {
|
|
case -5:
|
|
return 10;
|
|
case 0:
|
|
return 2;
|
|
case 1:
|
|
return 0;
|
|
case 2:
|
|
return 1;
|
|
case 3:
|
|
return 3;
|
|
case 4:
|
|
return 4;
|
|
case 5:
|
|
return 5;
|
|
case 6:
|
|
return 17;
|
|
case 7:
|
|
return 18;
|
|
case 8:
|
|
return 6;
|
|
case 9:
|
|
return 7;
|
|
case 10:
|
|
return 8;
|
|
case 11:
|
|
return 9;
|
|
case 16:
|
|
return 11;
|
|
case 17:
|
|
return 12;
|
|
case 18:
|
|
return 13;
|
|
case 19:
|
|
return 14;
|
|
default:
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawUp) {
|
|
return 34;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawDown) {
|
|
return 36;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawLeft) {
|
|
return 37;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawRight) {
|
|
return 35;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.rightStick.rawUp) {
|
|
return 38;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.rightStick.rawDown) {
|
|
return 40;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.rightStick.rawLeft) {
|
|
return 41;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.rightStick.rawRight) {
|
|
return 39;
|
|
} else {
|
|
return -1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,getRawID: function(ID) {
|
|
switch(ID) {
|
|
case 0:
|
|
return 1;
|
|
case 1:
|
|
return 2;
|
|
case 2:
|
|
return 0;
|
|
case 3:
|
|
return 3;
|
|
case 4:
|
|
return 4;
|
|
case 5:
|
|
return 5;
|
|
case 6:
|
|
return 8;
|
|
case 7:
|
|
return 9;
|
|
case 8:
|
|
return 10;
|
|
case 9:
|
|
return 11;
|
|
case 10:
|
|
return -5;
|
|
case 11:
|
|
return 16;
|
|
case 12:
|
|
return 17;
|
|
case 13:
|
|
return 18;
|
|
case 14:
|
|
return 19;
|
|
case 17:
|
|
return 6;
|
|
case 18:
|
|
return 7;
|
|
case 34:
|
|
return flixel_input_gamepad_id_LogitechID.LEFT_ANALOG_STICK.rawUp;
|
|
case 35:
|
|
return flixel_input_gamepad_id_LogitechID.LEFT_ANALOG_STICK.rawRight;
|
|
case 36:
|
|
return flixel_input_gamepad_id_LogitechID.LEFT_ANALOG_STICK.rawDown;
|
|
case 37:
|
|
return flixel_input_gamepad_id_LogitechID.LEFT_ANALOG_STICK.rawLeft;
|
|
case 38:
|
|
return flixel_input_gamepad_id_LogitechID.RIGHT_ANALOG_STICK.rawUp;
|
|
case 39:
|
|
return flixel_input_gamepad_id_LogitechID.RIGHT_ANALOG_STICK.rawRight;
|
|
case 40:
|
|
return flixel_input_gamepad_id_LogitechID.RIGHT_ANALOG_STICK.rawDown;
|
|
case 41:
|
|
return flixel_input_gamepad_id_LogitechID.RIGHT_ANALOG_STICK.rawLeft;
|
|
default:
|
|
return -1;
|
|
}
|
|
}
|
|
,getInputLabel: function(id) {
|
|
switch(id) {
|
|
case 0:
|
|
return "2";
|
|
case 1:
|
|
return "3";
|
|
case 2:
|
|
return "1";
|
|
case 3:
|
|
return "4";
|
|
case 4:
|
|
return "5";
|
|
case 5:
|
|
return "6";
|
|
case 6:
|
|
return "9";
|
|
case 7:
|
|
return "10";
|
|
case 10:
|
|
return "logitech";
|
|
case 17:
|
|
return "7";
|
|
case 18:
|
|
return "8";
|
|
default:
|
|
return flixel_input_gamepad_mappings_FlxGamepadMapping.prototype.getInputLabel.call(this,id);
|
|
}
|
|
}
|
|
,__class__: flixel_input_gamepad_mappings_LogitechMapping
|
|
});
|
|
var flixel_input_gamepad_mappings_MFiMapping = function(attachment) {
|
|
flixel_input_gamepad_mappings_FlxGamepadMapping.call(this,attachment);
|
|
};
|
|
$hxClasses["flixel.input.gamepad.mappings.MFiMapping"] = flixel_input_gamepad_mappings_MFiMapping;
|
|
flixel_input_gamepad_mappings_MFiMapping.__name__ = "flixel.input.gamepad.mappings.MFiMapping";
|
|
flixel_input_gamepad_mappings_MFiMapping.__super__ = flixel_input_gamepad_mappings_FlxGamepadMapping;
|
|
flixel_input_gamepad_mappings_MFiMapping.prototype = $extend(flixel_input_gamepad_mappings_FlxGamepadMapping.prototype,{
|
|
initValues: function() {
|
|
this.leftStick = flixel_input_gamepad_id_MFiID.LEFT_ANALOG_STICK;
|
|
this.rightStick = flixel_input_gamepad_id_MFiID.RIGHT_ANALOG_STICK;
|
|
}
|
|
,getID: function(rawID) {
|
|
switch(rawID) {
|
|
case 6:
|
|
return 0;
|
|
case 7:
|
|
return 1;
|
|
case 8:
|
|
return 2;
|
|
case 9:
|
|
return 3;
|
|
case 10:
|
|
return 6;
|
|
case 11:
|
|
return 10;
|
|
case 12:
|
|
return 7;
|
|
case 13:
|
|
return 8;
|
|
case 14:
|
|
return 9;
|
|
case 15:
|
|
return 4;
|
|
case 16:
|
|
return 5;
|
|
case 17:
|
|
return 11;
|
|
case 18:
|
|
return 12;
|
|
case 19:
|
|
return 13;
|
|
case 20:
|
|
return 14;
|
|
default:
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawUp) {
|
|
return 34;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawDown) {
|
|
return 36;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawLeft) {
|
|
return 37;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawRight) {
|
|
return 35;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.rightStick.rawUp) {
|
|
return 38;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.rightStick.rawDown) {
|
|
return 40;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.rightStick.rawLeft) {
|
|
return 41;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.rightStick.rawRight) {
|
|
return 39;
|
|
} else {
|
|
return -1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,getRawID: function(ID) {
|
|
switch(ID) {
|
|
case 0:
|
|
return 6;
|
|
case 1:
|
|
return 7;
|
|
case 2:
|
|
return 8;
|
|
case 3:
|
|
return 9;
|
|
case 4:
|
|
return 15;
|
|
case 5:
|
|
return 16;
|
|
case 6:
|
|
return 10;
|
|
case 7:
|
|
return 12;
|
|
case 8:
|
|
return 13;
|
|
case 9:
|
|
return 14;
|
|
case 10:
|
|
return 11;
|
|
case 11:
|
|
return 17;
|
|
case 12:
|
|
return 18;
|
|
case 13:
|
|
return 19;
|
|
case 14:
|
|
return 20;
|
|
case 17:
|
|
return 4;
|
|
case 18:
|
|
return 5;
|
|
case 34:
|
|
return flixel_input_gamepad_id_MFiID.LEFT_ANALOG_STICK.rawUp;
|
|
case 35:
|
|
return flixel_input_gamepad_id_MFiID.LEFT_ANALOG_STICK.rawRight;
|
|
case 36:
|
|
return flixel_input_gamepad_id_MFiID.LEFT_ANALOG_STICK.rawDown;
|
|
case 37:
|
|
return flixel_input_gamepad_id_MFiID.LEFT_ANALOG_STICK.rawLeft;
|
|
case 38:
|
|
return flixel_input_gamepad_id_MFiID.RIGHT_ANALOG_STICK.rawUp;
|
|
case 39:
|
|
return flixel_input_gamepad_id_MFiID.RIGHT_ANALOG_STICK.rawRight;
|
|
case 40:
|
|
return flixel_input_gamepad_id_MFiID.RIGHT_ANALOG_STICK.rawDown;
|
|
case 41:
|
|
return flixel_input_gamepad_id_MFiID.RIGHT_ANALOG_STICK.rawLeft;
|
|
default:
|
|
return -1;
|
|
}
|
|
}
|
|
,__class__: flixel_input_gamepad_mappings_MFiMapping
|
|
});
|
|
var flixel_input_gamepad_mappings_MayflashWiiRemoteMapping = function(attachment) {
|
|
flixel_input_gamepad_mappings_FlxGamepadMapping.call(this,attachment);
|
|
};
|
|
$hxClasses["flixel.input.gamepad.mappings.MayflashWiiRemoteMapping"] = flixel_input_gamepad_mappings_MayflashWiiRemoteMapping;
|
|
flixel_input_gamepad_mappings_MayflashWiiRemoteMapping.__name__ = "flixel.input.gamepad.mappings.MayflashWiiRemoteMapping";
|
|
flixel_input_gamepad_mappings_MayflashWiiRemoteMapping.__super__ = flixel_input_gamepad_mappings_FlxGamepadMapping;
|
|
flixel_input_gamepad_mappings_MayflashWiiRemoteMapping.prototype = $extend(flixel_input_gamepad_mappings_FlxGamepadMapping.prototype,{
|
|
initValues: function() {
|
|
this.supportsPointer = true;
|
|
}
|
|
,getID: function(rawID) {
|
|
switch(this.attachment._hx_index) {
|
|
case 0:
|
|
return this.getIDNunchuk(rawID);
|
|
case 1:
|
|
return this.getIDClassicController(rawID);
|
|
case 2:
|
|
return this.getIDDefault(rawID);
|
|
}
|
|
}
|
|
,getIDClassicController: function(rawID) {
|
|
switch(rawID) {
|
|
case 4:
|
|
return 11;
|
|
case 5:
|
|
return 12;
|
|
case 6:
|
|
return 13;
|
|
case 7:
|
|
return 14;
|
|
case 8:
|
|
return 2;
|
|
case 9:
|
|
return 3;
|
|
case 10:
|
|
return 0;
|
|
case 11:
|
|
return 1;
|
|
case 12:
|
|
return 17;
|
|
case 13:
|
|
return 18;
|
|
case 14:
|
|
return 4;
|
|
case 15:
|
|
return 5;
|
|
case 16:
|
|
return 6;
|
|
case 17:
|
|
return 7;
|
|
case 19:
|
|
return 10;
|
|
default:
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawUp) {
|
|
return 34;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawDown) {
|
|
return 36;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawLeft) {
|
|
return 37;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawRight) {
|
|
return 35;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.rightStick.rawUp) {
|
|
return 38;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.rightStick.rawDown) {
|
|
return 40;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.rightStick.rawLeft) {
|
|
return 41;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.rightStick.rawRight) {
|
|
return 39;
|
|
} else {
|
|
return -1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,getIDNunchuk: function(rawID) {
|
|
switch(rawID) {
|
|
case 4:
|
|
return 11;
|
|
case 5:
|
|
return 12;
|
|
case 6:
|
|
return 13;
|
|
case 7:
|
|
return 14;
|
|
case 8:
|
|
return 2;
|
|
case 9:
|
|
return 3;
|
|
case 10:
|
|
return 0;
|
|
case 11:
|
|
return 1;
|
|
case 12:
|
|
return 6;
|
|
case 13:
|
|
return 7;
|
|
case 14:
|
|
return 17;
|
|
case 15:
|
|
return 4;
|
|
case 19:
|
|
return 10;
|
|
default:
|
|
var tmp = rawID == flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_ANALOG_STICK.rawUp;
|
|
var tmp = rawID == flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_ANALOG_STICK.rawDown;
|
|
var tmp = rawID == flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_ANALOG_STICK.rawLeft;
|
|
var tmp = rawID == flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_ANALOG_STICK.rawRight;
|
|
return -1;
|
|
}
|
|
}
|
|
,getIDDefault: function(rawID) {
|
|
switch(rawID) {
|
|
case 8:
|
|
return 2;
|
|
case 9:
|
|
return 3;
|
|
case 10:
|
|
return 0;
|
|
case 11:
|
|
return 1;
|
|
case 12:
|
|
return 6;
|
|
case 13:
|
|
return 7;
|
|
case 19:
|
|
return 10;
|
|
case 22:
|
|
return 11;
|
|
case 23:
|
|
return 12;
|
|
case 24:
|
|
return 13;
|
|
case 25:
|
|
return 14;
|
|
default:
|
|
return -1;
|
|
}
|
|
}
|
|
,getRawID: function(ID) {
|
|
switch(this.attachment._hx_index) {
|
|
case 0:
|
|
return this.getRawNunchuk(ID);
|
|
case 1:
|
|
return this.getRawClassicController(ID);
|
|
case 2:
|
|
return this.getRawDefault(ID);
|
|
}
|
|
}
|
|
,getRawClassicController: function(ID) {
|
|
switch(ID) {
|
|
case 0:
|
|
return 10;
|
|
case 1:
|
|
return 11;
|
|
case 2:
|
|
return 8;
|
|
case 3:
|
|
return 9;
|
|
case 4:
|
|
return 14;
|
|
case 5:
|
|
return 15;
|
|
case 6:
|
|
return 16;
|
|
case 7:
|
|
return 17;
|
|
case 10:
|
|
return 19;
|
|
case 11:
|
|
return 4;
|
|
case 12:
|
|
return 5;
|
|
case 13:
|
|
return 6;
|
|
case 14:
|
|
return 7;
|
|
case 17:
|
|
return 12;
|
|
case 18:
|
|
return 13;
|
|
case 30:
|
|
return -1;
|
|
case 31:
|
|
return -1;
|
|
case 34:
|
|
return flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_ANALOG_STICK.rawUp;
|
|
case 35:
|
|
return flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_ANALOG_STICK.rawRight;
|
|
case 36:
|
|
return flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_ANALOG_STICK.rawDown;
|
|
case 37:
|
|
return flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_ANALOG_STICK.rawLeft;
|
|
case 38:
|
|
return flixel_input_gamepad_id_MayflashWiiRemoteID.RIGHT_ANALOG_STICK.rawUp;
|
|
case 39:
|
|
return flixel_input_gamepad_id_MayflashWiiRemoteID.RIGHT_ANALOG_STICK.rawRight;
|
|
case 40:
|
|
return flixel_input_gamepad_id_MayflashWiiRemoteID.RIGHT_ANALOG_STICK.rawDown;
|
|
case 41:
|
|
return flixel_input_gamepad_id_MayflashWiiRemoteID.RIGHT_ANALOG_STICK.rawLeft;
|
|
default:
|
|
return this.getRawDefault(ID);
|
|
}
|
|
}
|
|
,getRawNunchuk: function(ID) {
|
|
switch(ID) {
|
|
case 0:
|
|
return 10;
|
|
case 1:
|
|
return 11;
|
|
case 2:
|
|
return 8;
|
|
case 3:
|
|
return 9;
|
|
case 4:
|
|
return 15;
|
|
case 6:
|
|
return 12;
|
|
case 7:
|
|
return 13;
|
|
case 10:
|
|
return 19;
|
|
case 11:
|
|
return 4;
|
|
case 12:
|
|
return 5;
|
|
case 13:
|
|
return 6;
|
|
case 14:
|
|
return 7;
|
|
case 17:
|
|
return 14;
|
|
case 28:
|
|
return 2;
|
|
case 29:
|
|
return 3;
|
|
case 34:
|
|
return flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_ANALOG_STICK.rawUp;
|
|
case 35:
|
|
return flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_ANALOG_STICK.rawRight;
|
|
case 36:
|
|
return flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_ANALOG_STICK.rawDown;
|
|
case 37:
|
|
return flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_ANALOG_STICK.rawLeft;
|
|
default:
|
|
return -1;
|
|
}
|
|
}
|
|
,getRawDefault: function(ID) {
|
|
switch(ID) {
|
|
case 0:
|
|
return 10;
|
|
case 1:
|
|
return 11;
|
|
case 2:
|
|
return 8;
|
|
case 3:
|
|
return 9;
|
|
case 6:
|
|
return 12;
|
|
case 7:
|
|
return 13;
|
|
case 10:
|
|
return 19;
|
|
case 11:
|
|
return 22;
|
|
case 12:
|
|
return 23;
|
|
case 13:
|
|
return 24;
|
|
case 14:
|
|
return 25;
|
|
default:
|
|
return -1;
|
|
}
|
|
}
|
|
,set_attachment: function(attachment) {
|
|
var tmp;
|
|
switch(attachment._hx_index) {
|
|
case 0:case 1:
|
|
tmp = flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_ANALOG_STICK;
|
|
break;
|
|
case 2:
|
|
tmp = flixel_input_gamepad_id_MayflashWiiRemoteID.REMOTE_DPAD;
|
|
break;
|
|
}
|
|
this.leftStick = tmp;
|
|
this.rightStick = attachment._hx_index == 1 ? flixel_input_gamepad_id_MayflashWiiRemoteID.RIGHT_ANALOG_STICK : null;
|
|
return flixel_input_gamepad_mappings_FlxGamepadMapping.prototype.set_attachment.call(this,attachment);
|
|
}
|
|
,getInputLabel: function(id) {
|
|
var label = flixel_input_gamepad_mappings_WiiRemoteMapping.getWiiInputLabel(id,this.attachment);
|
|
if(label == null) {
|
|
return flixel_input_gamepad_mappings_FlxGamepadMapping.prototype.getInputLabel.call(this,id);
|
|
}
|
|
return label;
|
|
}
|
|
,__class__: flixel_input_gamepad_mappings_MayflashWiiRemoteMapping
|
|
});
|
|
var flixel_input_gamepad_mappings_OUYAMapping = function(attachment) {
|
|
flixel_input_gamepad_mappings_FlxGamepadMapping.call(this,attachment);
|
|
};
|
|
$hxClasses["flixel.input.gamepad.mappings.OUYAMapping"] = flixel_input_gamepad_mappings_OUYAMapping;
|
|
flixel_input_gamepad_mappings_OUYAMapping.__name__ = "flixel.input.gamepad.mappings.OUYAMapping";
|
|
flixel_input_gamepad_mappings_OUYAMapping.__super__ = flixel_input_gamepad_mappings_FlxGamepadMapping;
|
|
flixel_input_gamepad_mappings_OUYAMapping.prototype = $extend(flixel_input_gamepad_mappings_FlxGamepadMapping.prototype,{
|
|
initValues: function() {
|
|
this.leftStick = flixel_input_gamepad_id_OUYAID.LEFT_ANALOG_STICK;
|
|
this.rightStick = flixel_input_gamepad_id_OUYAID.RIGHT_ANALOG_STICK;
|
|
}
|
|
,getID: function(rawID) {
|
|
switch(rawID) {
|
|
case 4:
|
|
return 17;
|
|
case 5:
|
|
return 18;
|
|
case 6:
|
|
return 0;
|
|
case 7:
|
|
return 1;
|
|
case 8:
|
|
return 2;
|
|
case 9:
|
|
return 3;
|
|
case 13:
|
|
return 8;
|
|
case 14:
|
|
return 9;
|
|
case 15:
|
|
return 4;
|
|
case 16:
|
|
return 5;
|
|
case 17:
|
|
return 11;
|
|
case 18:
|
|
return 12;
|
|
case 19:
|
|
return 13;
|
|
case 20:
|
|
return 14;
|
|
case 16777234:
|
|
return 10;
|
|
default:
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawUp) {
|
|
return 34;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawDown) {
|
|
return 36;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawLeft) {
|
|
return 37;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawRight) {
|
|
return 35;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.rightStick.rawUp) {
|
|
return 38;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.rightStick.rawDown) {
|
|
return 40;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.rightStick.rawLeft) {
|
|
return 41;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.rightStick.rawRight) {
|
|
return 39;
|
|
} else {
|
|
return -1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,getRawID: function(ID) {
|
|
switch(ID) {
|
|
case 0:
|
|
return 6;
|
|
case 1:
|
|
return 7;
|
|
case 2:
|
|
return 8;
|
|
case 3:
|
|
return 9;
|
|
case 4:
|
|
return 15;
|
|
case 5:
|
|
return 16;
|
|
case 8:
|
|
return 13;
|
|
case 9:
|
|
return 14;
|
|
case 10:
|
|
return 16777234;
|
|
case 11:
|
|
return 17;
|
|
case 12:
|
|
return 18;
|
|
case 13:
|
|
return 19;
|
|
case 14:
|
|
return 20;
|
|
case 17:
|
|
return 4;
|
|
case 18:
|
|
return 5;
|
|
case 34:
|
|
return flixel_input_gamepad_id_OUYAID.LEFT_ANALOG_STICK.rawUp;
|
|
case 35:
|
|
return flixel_input_gamepad_id_OUYAID.LEFT_ANALOG_STICK.rawRight;
|
|
case 36:
|
|
return flixel_input_gamepad_id_OUYAID.LEFT_ANALOG_STICK.rawDown;
|
|
case 37:
|
|
return flixel_input_gamepad_id_OUYAID.LEFT_ANALOG_STICK.rawLeft;
|
|
case 38:
|
|
return flixel_input_gamepad_id_OUYAID.RIGHT_ANALOG_STICK.rawUp;
|
|
case 39:
|
|
return flixel_input_gamepad_id_OUYAID.RIGHT_ANALOG_STICK.rawRight;
|
|
case 40:
|
|
return flixel_input_gamepad_id_OUYAID.RIGHT_ANALOG_STICK.rawDown;
|
|
case 41:
|
|
return flixel_input_gamepad_id_OUYAID.RIGHT_ANALOG_STICK.rawLeft;
|
|
default:
|
|
return -1;
|
|
}
|
|
}
|
|
,getInputLabel: function(id) {
|
|
switch(id) {
|
|
case 0:
|
|
return "o";
|
|
case 1:
|
|
return "a";
|
|
case 2:
|
|
return "u";
|
|
case 3:
|
|
return "y";
|
|
case 10:
|
|
return "home";
|
|
default:
|
|
return flixel_input_gamepad_mappings_FlxGamepadMapping.prototype.getInputLabel.call(this,id);
|
|
}
|
|
}
|
|
,__class__: flixel_input_gamepad_mappings_OUYAMapping
|
|
});
|
|
var flixel_input_gamepad_mappings_PS4Mapping = function(attachment) {
|
|
flixel_input_gamepad_mappings_FlxGamepadMapping.call(this,attachment);
|
|
};
|
|
$hxClasses["flixel.input.gamepad.mappings.PS4Mapping"] = flixel_input_gamepad_mappings_PS4Mapping;
|
|
flixel_input_gamepad_mappings_PS4Mapping.__name__ = "flixel.input.gamepad.mappings.PS4Mapping";
|
|
flixel_input_gamepad_mappings_PS4Mapping.__super__ = flixel_input_gamepad_mappings_FlxGamepadMapping;
|
|
flixel_input_gamepad_mappings_PS4Mapping.prototype = $extend(flixel_input_gamepad_mappings_FlxGamepadMapping.prototype,{
|
|
initValues: function() {
|
|
this.leftStick = flixel_input_gamepad_id_PS4ID.LEFT_ANALOG_STICK;
|
|
this.rightStick = flixel_input_gamepad_id_PS4ID.RIGHT_ANALOG_STICK;
|
|
this.supportsMotion = true;
|
|
this.supportsPointer = true;
|
|
}
|
|
,getID: function(rawID) {
|
|
switch(rawID) {
|
|
case 6:
|
|
return 0;
|
|
case 7:
|
|
return 1;
|
|
case 8:
|
|
return 2;
|
|
case 9:
|
|
return 3;
|
|
case 10:
|
|
return 6;
|
|
case 11:
|
|
return 10;
|
|
case 12:
|
|
return 7;
|
|
case 13:
|
|
return 8;
|
|
case 14:
|
|
return 9;
|
|
case 15:
|
|
return 4;
|
|
case 16:
|
|
return 5;
|
|
case 17:
|
|
return 11;
|
|
case 18:
|
|
return 12;
|
|
case 19:
|
|
return 13;
|
|
case 20:
|
|
return 14;
|
|
default:
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawUp) {
|
|
return 34;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawDown) {
|
|
return 36;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawLeft) {
|
|
return 37;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawRight) {
|
|
return 35;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.rightStick.rawUp) {
|
|
return 38;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.rightStick.rawDown) {
|
|
return 40;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.rightStick.rawLeft) {
|
|
return 41;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.rightStick.rawRight) {
|
|
return 39;
|
|
} else {
|
|
return -1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,getRawID: function(ID) {
|
|
switch(ID) {
|
|
case 0:
|
|
return 6;
|
|
case 1:
|
|
return 7;
|
|
case 2:
|
|
return 8;
|
|
case 3:
|
|
return 9;
|
|
case 4:
|
|
return 15;
|
|
case 5:
|
|
return 16;
|
|
case 6:
|
|
return 10;
|
|
case 7:
|
|
return 12;
|
|
case 8:
|
|
return 13;
|
|
case 9:
|
|
return 14;
|
|
case 10:
|
|
return 11;
|
|
case 11:
|
|
return 17;
|
|
case 12:
|
|
return 18;
|
|
case 13:
|
|
return 19;
|
|
case 14:
|
|
return 20;
|
|
case 17:
|
|
return 4;
|
|
case 18:
|
|
return 5;
|
|
case 34:
|
|
return flixel_input_gamepad_id_PS4ID.LEFT_ANALOG_STICK.rawUp;
|
|
case 35:
|
|
return flixel_input_gamepad_id_PS4ID.LEFT_ANALOG_STICK.rawRight;
|
|
case 36:
|
|
return flixel_input_gamepad_id_PS4ID.LEFT_ANALOG_STICK.rawDown;
|
|
case 37:
|
|
return flixel_input_gamepad_id_PS4ID.LEFT_ANALOG_STICK.rawLeft;
|
|
case 38:
|
|
return flixel_input_gamepad_id_PS4ID.RIGHT_ANALOG_STICK.rawUp;
|
|
case 39:
|
|
return flixel_input_gamepad_id_PS4ID.RIGHT_ANALOG_STICK.rawRight;
|
|
case 40:
|
|
return flixel_input_gamepad_id_PS4ID.RIGHT_ANALOG_STICK.rawDown;
|
|
case 41:
|
|
return flixel_input_gamepad_id_PS4ID.RIGHT_ANALOG_STICK.rawLeft;
|
|
default:
|
|
return -1;
|
|
}
|
|
}
|
|
,getInputLabel: function(id) {
|
|
switch(id) {
|
|
case 0:
|
|
return "x";
|
|
case 1:
|
|
return "circle";
|
|
case 2:
|
|
return "square";
|
|
case 3:
|
|
return "triangle";
|
|
case 4:
|
|
return "l1";
|
|
case 5:
|
|
return "r1";
|
|
case 6:
|
|
return "share";
|
|
case 7:
|
|
return "options";
|
|
case 10:
|
|
return "ps";
|
|
case 17:
|
|
return "l2";
|
|
case 18:
|
|
return "r2";
|
|
default:
|
|
return flixel_input_gamepad_mappings_FlxGamepadMapping.prototype.getInputLabel.call(this,id);
|
|
}
|
|
}
|
|
,__class__: flixel_input_gamepad_mappings_PS4Mapping
|
|
});
|
|
var flixel_input_gamepad_mappings_PSVitaMapping = function(attachment) {
|
|
flixel_input_gamepad_mappings_FlxGamepadMapping.call(this,attachment);
|
|
};
|
|
$hxClasses["flixel.input.gamepad.mappings.PSVitaMapping"] = flixel_input_gamepad_mappings_PSVitaMapping;
|
|
flixel_input_gamepad_mappings_PSVitaMapping.__name__ = "flixel.input.gamepad.mappings.PSVitaMapping";
|
|
flixel_input_gamepad_mappings_PSVitaMapping.__super__ = flixel_input_gamepad_mappings_FlxGamepadMapping;
|
|
flixel_input_gamepad_mappings_PSVitaMapping.prototype = $extend(flixel_input_gamepad_mappings_FlxGamepadMapping.prototype,{
|
|
initValues: function() {
|
|
this.leftStick = flixel_input_gamepad_id_PSVitaID.LEFT_ANALOG_STICK;
|
|
this.rightStick = flixel_input_gamepad_id_PSVitaID.RIGHT_ANALOG_STICK;
|
|
}
|
|
,getID: function(rawID) {
|
|
switch(rawID) {
|
|
case 6:
|
|
return 0;
|
|
case 7:
|
|
return 1;
|
|
case 8:
|
|
return 2;
|
|
case 9:
|
|
return 3;
|
|
case 10:
|
|
return 6;
|
|
case 12:
|
|
return 7;
|
|
case 15:
|
|
return 4;
|
|
case 16:
|
|
return 5;
|
|
case 17:
|
|
return 11;
|
|
case 18:
|
|
return 12;
|
|
case 19:
|
|
return 13;
|
|
case 20:
|
|
return 14;
|
|
default:
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawUp) {
|
|
return 34;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawDown) {
|
|
return 34;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawLeft) {
|
|
return 37;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawRight) {
|
|
return 35;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.rightStick.rawUp) {
|
|
return 38;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.rightStick.rawDown) {
|
|
return 40;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.rightStick.rawLeft) {
|
|
return 41;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.rightStick.rawRight) {
|
|
return 39;
|
|
} else {
|
|
return -1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,getRawID: function(ID) {
|
|
switch(ID) {
|
|
case 0:
|
|
return 6;
|
|
case 1:
|
|
return 7;
|
|
case 2:
|
|
return 8;
|
|
case 3:
|
|
return 9;
|
|
case 4:
|
|
return 15;
|
|
case 5:
|
|
return 16;
|
|
case 6:
|
|
return 10;
|
|
case 7:
|
|
return 12;
|
|
case 11:
|
|
return 17;
|
|
case 12:
|
|
return 18;
|
|
case 13:
|
|
return 19;
|
|
case 14:
|
|
return 20;
|
|
case 34:
|
|
return flixel_input_gamepad_id_PSVitaID.LEFT_ANALOG_STICK.rawUp;
|
|
case 35:
|
|
return flixel_input_gamepad_id_PSVitaID.LEFT_ANALOG_STICK.rawRight;
|
|
case 36:
|
|
return flixel_input_gamepad_id_PSVitaID.LEFT_ANALOG_STICK.rawDown;
|
|
case 37:
|
|
return flixel_input_gamepad_id_PSVitaID.LEFT_ANALOG_STICK.rawLeft;
|
|
case 38:
|
|
return flixel_input_gamepad_id_PSVitaID.RIGHT_ANALOG_STICK.rawUp;
|
|
case 39:
|
|
return flixel_input_gamepad_id_PSVitaID.RIGHT_ANALOG_STICK.rawRight;
|
|
case 40:
|
|
return flixel_input_gamepad_id_PSVitaID.RIGHT_ANALOG_STICK.rawDown;
|
|
case 41:
|
|
return flixel_input_gamepad_id_PSVitaID.RIGHT_ANALOG_STICK.rawLeft;
|
|
default:
|
|
return -1;
|
|
}
|
|
}
|
|
,getInputLabel: function(id) {
|
|
switch(id) {
|
|
case 0:
|
|
return "x";
|
|
case 1:
|
|
return "circle";
|
|
case 2:
|
|
return "square";
|
|
case 3:
|
|
return "triangle";
|
|
case 4:
|
|
return "l1";
|
|
case 5:
|
|
return "r1";
|
|
case 6:
|
|
return "select";
|
|
case 17:
|
|
return "l2";
|
|
case 18:
|
|
return "r2";
|
|
default:
|
|
return flixel_input_gamepad_mappings_FlxGamepadMapping.prototype.getInputLabel.call(this,id);
|
|
}
|
|
}
|
|
,isAxisFlipped: function(axisID) {
|
|
if(axisID != flixel_input_gamepad_id_PSVitaID.LEFT_ANALOG_STICK.y) {
|
|
return axisID == flixel_input_gamepad_id_PSVitaID.RIGHT_ANALOG_STICK.y;
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
,__class__: flixel_input_gamepad_mappings_PSVitaMapping
|
|
});
|
|
var flixel_input_gamepad_mappings_SwitchJoyconLeftMapping = function(attachment) {
|
|
flixel_input_gamepad_mappings_FlxGamepadMapping.call(this,attachment);
|
|
};
|
|
$hxClasses["flixel.input.gamepad.mappings.SwitchJoyconLeftMapping"] = flixel_input_gamepad_mappings_SwitchJoyconLeftMapping;
|
|
flixel_input_gamepad_mappings_SwitchJoyconLeftMapping.__name__ = "flixel.input.gamepad.mappings.SwitchJoyconLeftMapping";
|
|
flixel_input_gamepad_mappings_SwitchJoyconLeftMapping.__super__ = flixel_input_gamepad_mappings_FlxGamepadMapping;
|
|
flixel_input_gamepad_mappings_SwitchJoyconLeftMapping.prototype = $extend(flixel_input_gamepad_mappings_FlxGamepadMapping.prototype,{
|
|
initValues: function() {
|
|
this.leftStick = flixel_input_gamepad_id_SwitchJoyconLeftID.LEFT_ANALOG_STICK;
|
|
this.supportsMotion = true;
|
|
this.supportsPointer = false;
|
|
}
|
|
,getID: function(rawID) {
|
|
switch(rawID) {
|
|
case 4:
|
|
return 17;
|
|
case 6:
|
|
return 0;
|
|
case 7:
|
|
return 1;
|
|
case 8:
|
|
return 2;
|
|
case 9:
|
|
return 3;
|
|
case 10:
|
|
return 30;
|
|
case 12:
|
|
return 7;
|
|
case 13:
|
|
return 8;
|
|
case 15:
|
|
return 4;
|
|
case 16:
|
|
return 5;
|
|
default:
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawUp) {
|
|
return 34;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawDown) {
|
|
return 36;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawLeft) {
|
|
return 37;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawRight) {
|
|
return 35;
|
|
} else {
|
|
return -1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,getRawID: function(id) {
|
|
switch(id) {
|
|
case 0:
|
|
return 6;
|
|
case 1:
|
|
return 7;
|
|
case 2:
|
|
return 8;
|
|
case 3:
|
|
return 9;
|
|
case 4:
|
|
return 15;
|
|
case 5:
|
|
return 16;
|
|
case 7:
|
|
return 12;
|
|
case 8:
|
|
return 13;
|
|
case 17:
|
|
return 4;
|
|
case 30:
|
|
return 10;
|
|
case 34:
|
|
return flixel_input_gamepad_id_SwitchJoyconLeftID.LEFT_ANALOG_STICK.rawUp;
|
|
case 35:
|
|
return flixel_input_gamepad_id_SwitchJoyconLeftID.LEFT_ANALOG_STICK.rawRight;
|
|
case 36:
|
|
return flixel_input_gamepad_id_SwitchJoyconLeftID.LEFT_ANALOG_STICK.rawDown;
|
|
case 37:
|
|
return flixel_input_gamepad_id_SwitchJoyconLeftID.LEFT_ANALOG_STICK.rawLeft;
|
|
default:
|
|
return -1;
|
|
}
|
|
}
|
|
,getInputLabel: function(id) {
|
|
switch(id) {
|
|
case 0:
|
|
return "down";
|
|
case 1:
|
|
return "right";
|
|
case 2:
|
|
return "left";
|
|
case 3:
|
|
return "up";
|
|
case 4:
|
|
return "sl";
|
|
case 5:
|
|
return "sr";
|
|
case 7:
|
|
return "minus";
|
|
case 17:
|
|
return "zl";
|
|
case 30:
|
|
return "l";
|
|
default:
|
|
return flixel_input_gamepad_mappings_FlxGamepadMapping.prototype.getInputLabel.call(this,id);
|
|
}
|
|
}
|
|
,__class__: flixel_input_gamepad_mappings_SwitchJoyconLeftMapping
|
|
});
|
|
var flixel_input_gamepad_mappings_SwitchJoyconRightMapping = function(attachment) {
|
|
flixel_input_gamepad_mappings_FlxGamepadMapping.call(this,attachment);
|
|
};
|
|
$hxClasses["flixel.input.gamepad.mappings.SwitchJoyconRightMapping"] = flixel_input_gamepad_mappings_SwitchJoyconRightMapping;
|
|
flixel_input_gamepad_mappings_SwitchJoyconRightMapping.__name__ = "flixel.input.gamepad.mappings.SwitchJoyconRightMapping";
|
|
flixel_input_gamepad_mappings_SwitchJoyconRightMapping.__super__ = flixel_input_gamepad_mappings_FlxGamepadMapping;
|
|
flixel_input_gamepad_mappings_SwitchJoyconRightMapping.prototype = $extend(flixel_input_gamepad_mappings_FlxGamepadMapping.prototype,{
|
|
initValues: function() {
|
|
this.leftStick = flixel_input_gamepad_id_SwitchJoyconRightID.LEFT_ANALOG_STICK;
|
|
this.supportsMotion = true;
|
|
this.supportsPointer = false;
|
|
}
|
|
,getID: function(rawID) {
|
|
switch(rawID) {
|
|
case 5:
|
|
return 18;
|
|
case 6:
|
|
return 0;
|
|
case 7:
|
|
return 1;
|
|
case 8:
|
|
return 2;
|
|
case 9:
|
|
return 3;
|
|
case 10:
|
|
return 30;
|
|
case 11:
|
|
return 10;
|
|
case 12:
|
|
return 7;
|
|
case 13:
|
|
return 8;
|
|
case 15:
|
|
return 4;
|
|
case 16:
|
|
return 5;
|
|
default:
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawUp) {
|
|
return 34;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawDown) {
|
|
return 36;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawLeft) {
|
|
return 37;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawRight) {
|
|
return 35;
|
|
} else {
|
|
return -1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,getRawID: function(ID) {
|
|
switch(ID) {
|
|
case 0:
|
|
return 6;
|
|
case 1:
|
|
return 7;
|
|
case 2:
|
|
return 8;
|
|
case 3:
|
|
return 9;
|
|
case 4:
|
|
return 15;
|
|
case 5:
|
|
return 16;
|
|
case 7:
|
|
return 12;
|
|
case 8:
|
|
return 13;
|
|
case 10:
|
|
return 11;
|
|
case 18:
|
|
return 5;
|
|
case 30:
|
|
return 10;
|
|
case 34:
|
|
return flixel_input_gamepad_id_SwitchJoyconRightID.LEFT_ANALOG_STICK.rawUp;
|
|
case 35:
|
|
return flixel_input_gamepad_id_SwitchJoyconRightID.LEFT_ANALOG_STICK.rawRight;
|
|
case 36:
|
|
return flixel_input_gamepad_id_SwitchJoyconRightID.LEFT_ANALOG_STICK.rawDown;
|
|
case 37:
|
|
return flixel_input_gamepad_id_SwitchJoyconRightID.LEFT_ANALOG_STICK.rawLeft;
|
|
default:
|
|
return -1;
|
|
}
|
|
}
|
|
,getInputLabel: function(id) {
|
|
switch(id) {
|
|
case 0:
|
|
return "a";
|
|
case 1:
|
|
return "x";
|
|
case 2:
|
|
return "b";
|
|
case 3:
|
|
return "y";
|
|
case 4:
|
|
return "sl";
|
|
case 5:
|
|
return "sr";
|
|
case 7:
|
|
return "plus";
|
|
case 10:
|
|
return "home";
|
|
case 18:
|
|
return "zr";
|
|
case 30:
|
|
return "r";
|
|
default:
|
|
return flixel_input_gamepad_mappings_FlxGamepadMapping.prototype.getInputLabel.call(this,id);
|
|
}
|
|
}
|
|
,__class__: flixel_input_gamepad_mappings_SwitchJoyconRightMapping
|
|
});
|
|
var flixel_input_gamepad_mappings_SwitchProMapping = function(attachment) {
|
|
flixel_input_gamepad_mappings_FlxGamepadMapping.call(this,attachment);
|
|
};
|
|
$hxClasses["flixel.input.gamepad.mappings.SwitchProMapping"] = flixel_input_gamepad_mappings_SwitchProMapping;
|
|
flixel_input_gamepad_mappings_SwitchProMapping.__name__ = "flixel.input.gamepad.mappings.SwitchProMapping";
|
|
flixel_input_gamepad_mappings_SwitchProMapping.__super__ = flixel_input_gamepad_mappings_FlxGamepadMapping;
|
|
flixel_input_gamepad_mappings_SwitchProMapping.prototype = $extend(flixel_input_gamepad_mappings_FlxGamepadMapping.prototype,{
|
|
initValues: function() {
|
|
this.leftStick = flixel_input_gamepad_id_SwitchProID.LEFT_ANALOG_STICK;
|
|
this.rightStick = flixel_input_gamepad_id_SwitchProID.RIGHT_ANALOG_STICK;
|
|
this.supportsMotion = true;
|
|
this.supportsPointer = false;
|
|
}
|
|
,getID: function(rawID) {
|
|
switch(rawID) {
|
|
case 4:
|
|
return 17;
|
|
case 5:
|
|
return 18;
|
|
case 6:
|
|
return 0;
|
|
case 7:
|
|
return 1;
|
|
case 8:
|
|
return 2;
|
|
case 9:
|
|
return 3;
|
|
case 10:
|
|
return 6;
|
|
case 11:
|
|
return 10;
|
|
case 12:
|
|
return 7;
|
|
case 13:
|
|
return 8;
|
|
case 14:
|
|
return 9;
|
|
case 15:
|
|
return 4;
|
|
case 16:
|
|
return 5;
|
|
case 17:
|
|
return 11;
|
|
case 18:
|
|
return 12;
|
|
case 19:
|
|
return 13;
|
|
case 20:
|
|
return 14;
|
|
case 21:
|
|
return 30;
|
|
default:
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawUp) {
|
|
return 34;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawDown) {
|
|
return 36;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawLeft) {
|
|
return 37;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawRight) {
|
|
return 35;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.rightStick.rawUp) {
|
|
return 38;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.rightStick.rawDown) {
|
|
return 40;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.rightStick.rawLeft) {
|
|
return 41;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.rightStick.rawRight) {
|
|
return 39;
|
|
} else {
|
|
return -1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,getRawID: function(ID) {
|
|
switch(ID) {
|
|
case 0:
|
|
return 6;
|
|
case 1:
|
|
return 7;
|
|
case 2:
|
|
return 8;
|
|
case 3:
|
|
return 9;
|
|
case 4:
|
|
return 15;
|
|
case 5:
|
|
return 16;
|
|
case 6:
|
|
return 10;
|
|
case 7:
|
|
return 12;
|
|
case 8:
|
|
return 13;
|
|
case 9:
|
|
return 14;
|
|
case 10:
|
|
return 11;
|
|
case 11:
|
|
return 17;
|
|
case 12:
|
|
return 18;
|
|
case 13:
|
|
return 19;
|
|
case 14:
|
|
return 20;
|
|
case 17:
|
|
return 4;
|
|
case 18:
|
|
return 5;
|
|
case 30:
|
|
return 21;
|
|
case 34:
|
|
return flixel_input_gamepad_id_SwitchProID.LEFT_ANALOG_STICK.rawUp;
|
|
case 35:
|
|
return flixel_input_gamepad_id_SwitchProID.LEFT_ANALOG_STICK.rawRight;
|
|
case 36:
|
|
return flixel_input_gamepad_id_SwitchProID.LEFT_ANALOG_STICK.rawDown;
|
|
case 37:
|
|
return flixel_input_gamepad_id_SwitchProID.LEFT_ANALOG_STICK.rawLeft;
|
|
case 38:
|
|
return flixel_input_gamepad_id_SwitchProID.RIGHT_ANALOG_STICK.rawUp;
|
|
case 39:
|
|
return flixel_input_gamepad_id_SwitchProID.RIGHT_ANALOG_STICK.rawRight;
|
|
case 40:
|
|
return flixel_input_gamepad_id_SwitchProID.RIGHT_ANALOG_STICK.rawDown;
|
|
case 41:
|
|
return flixel_input_gamepad_id_SwitchProID.RIGHT_ANALOG_STICK.rawLeft;
|
|
default:
|
|
return -1;
|
|
}
|
|
}
|
|
,getInputLabel: function(id) {
|
|
switch(id) {
|
|
case 0:
|
|
return "b";
|
|
case 1:
|
|
return "a";
|
|
case 2:
|
|
return "y";
|
|
case 3:
|
|
return "x";
|
|
case 4:
|
|
return "l";
|
|
case 5:
|
|
return "r";
|
|
case 6:
|
|
return "minus";
|
|
case 7:
|
|
return "plus";
|
|
case 10:
|
|
return "home";
|
|
case 17:
|
|
return "zl";
|
|
case 18:
|
|
return "zr";
|
|
case 30:
|
|
return "capture";
|
|
default:
|
|
return flixel_input_gamepad_mappings_FlxGamepadMapping.prototype.getInputLabel.call(this,id);
|
|
}
|
|
}
|
|
,__class__: flixel_input_gamepad_mappings_SwitchProMapping
|
|
});
|
|
var flixel_input_gamepad_mappings_WiiRemoteMapping = function(attachment) {
|
|
flixel_input_gamepad_mappings_FlxGamepadMapping.call(this,attachment);
|
|
};
|
|
$hxClasses["flixel.input.gamepad.mappings.WiiRemoteMapping"] = flixel_input_gamepad_mappings_WiiRemoteMapping;
|
|
flixel_input_gamepad_mappings_WiiRemoteMapping.__name__ = "flixel.input.gamepad.mappings.WiiRemoteMapping";
|
|
flixel_input_gamepad_mappings_WiiRemoteMapping.getWiiInputLabel = function(id,attachment) {
|
|
switch(id) {
|
|
case 6:
|
|
return "minus";
|
|
case 7:
|
|
return "plus";
|
|
case 10:
|
|
return "home";
|
|
default:
|
|
}
|
|
switch(attachment._hx_index) {
|
|
case 0:
|
|
switch(id) {
|
|
case 2:
|
|
return "1";
|
|
case 3:
|
|
return "2";
|
|
case 4:
|
|
return "c";
|
|
case 17:
|
|
return "z";
|
|
default:
|
|
return null;
|
|
}
|
|
break;
|
|
case 1:
|
|
switch(id) {
|
|
case 0:
|
|
return "b";
|
|
case 1:
|
|
return "a";
|
|
case 2:
|
|
return "y";
|
|
case 3:
|
|
return "x";
|
|
case 4:
|
|
return "zl";
|
|
case 5:
|
|
return "zr";
|
|
case 17:
|
|
return "l";
|
|
case 18:
|
|
return "r";
|
|
case 30:
|
|
return "1";
|
|
case 31:
|
|
return "2";
|
|
default:
|
|
return null;
|
|
}
|
|
break;
|
|
case 2:
|
|
switch(id) {
|
|
case 2:
|
|
return "1";
|
|
case 3:
|
|
return "2";
|
|
case 6:
|
|
return "minus";
|
|
case 7:
|
|
return "plus";
|
|
case 10:
|
|
return "home";
|
|
default:
|
|
return null;
|
|
}
|
|
break;
|
|
}
|
|
};
|
|
flixel_input_gamepad_mappings_WiiRemoteMapping.getLabelClassicController = function(ID) {
|
|
switch(ID) {
|
|
case 0:
|
|
return "b";
|
|
case 1:
|
|
return "a";
|
|
case 2:
|
|
return "y";
|
|
case 3:
|
|
return "x";
|
|
case 4:
|
|
return "zl";
|
|
case 5:
|
|
return "zr";
|
|
case 17:
|
|
return "l";
|
|
case 18:
|
|
return "r";
|
|
case 30:
|
|
return "1";
|
|
case 31:
|
|
return "2";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
flixel_input_gamepad_mappings_WiiRemoteMapping.getLabelNunchuk = function(ID) {
|
|
switch(ID) {
|
|
case 2:
|
|
return "1";
|
|
case 3:
|
|
return "2";
|
|
case 4:
|
|
return "c";
|
|
case 17:
|
|
return "z";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
flixel_input_gamepad_mappings_WiiRemoteMapping.getLabelDefault = function(ID) {
|
|
switch(ID) {
|
|
case 2:
|
|
return "1";
|
|
case 3:
|
|
return "2";
|
|
case 6:
|
|
return "minus";
|
|
case 7:
|
|
return "plus";
|
|
case 10:
|
|
return "home";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
flixel_input_gamepad_mappings_WiiRemoteMapping.__super__ = flixel_input_gamepad_mappings_FlxGamepadMapping;
|
|
flixel_input_gamepad_mappings_WiiRemoteMapping.prototype = $extend(flixel_input_gamepad_mappings_FlxGamepadMapping.prototype,{
|
|
initValues: function() {
|
|
this.supportsMotion = true;
|
|
this.supportsPointer = false;
|
|
}
|
|
,getID: function(rawID) {
|
|
switch(this.attachment._hx_index) {
|
|
case 0:
|
|
return this.getIDNunchuk(rawID);
|
|
case 1:
|
|
return this.getIDClassicController(rawID);
|
|
case 2:
|
|
return this.getIDDefault(rawID);
|
|
}
|
|
}
|
|
,getIDClassicController: function(rawID) {
|
|
switch(rawID) {
|
|
case 5:
|
|
return 11;
|
|
case 6:
|
|
return 12;
|
|
case 7:
|
|
return 13;
|
|
case 8:
|
|
return 14;
|
|
case 9:
|
|
return 1;
|
|
case 10:
|
|
return 0;
|
|
case 11:
|
|
return 2;
|
|
case 12:
|
|
return 3;
|
|
case 13:
|
|
return 17;
|
|
case 14:
|
|
return 18;
|
|
case 15:
|
|
return 4;
|
|
case 16:
|
|
return 5;
|
|
case 17:
|
|
return 7;
|
|
case 18:
|
|
return 6;
|
|
case 19:
|
|
return 10;
|
|
case 20:
|
|
return 30;
|
|
case 21:
|
|
return 31;
|
|
default:
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawUp) {
|
|
return 34;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawDown) {
|
|
return 36;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawLeft) {
|
|
return 37;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawRight) {
|
|
return 35;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.rightStick.rawUp) {
|
|
return 38;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.rightStick.rawDown) {
|
|
return 40;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.rightStick.rawLeft) {
|
|
return 41;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.rightStick.rawRight) {
|
|
return 39;
|
|
} else {
|
|
return -1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,getIDNunchuk: function(rawID) {
|
|
switch(rawID) {
|
|
case 5:
|
|
return 11;
|
|
case 6:
|
|
return 12;
|
|
case 7:
|
|
return 13;
|
|
case 8:
|
|
return 14;
|
|
case 9:
|
|
return 0;
|
|
case 10:
|
|
return 1;
|
|
case 11:
|
|
return 4;
|
|
case 12:
|
|
return 17;
|
|
case 13:
|
|
return 2;
|
|
case 14:
|
|
return 3;
|
|
case 15:
|
|
return 7;
|
|
case 16:
|
|
return 6;
|
|
case 17:
|
|
return 10;
|
|
default:
|
|
var tmp = rawID == flixel_input_gamepad_id_WiiRemoteID.LEFT_ANALOG_STICK.rawUp;
|
|
var tmp = rawID == flixel_input_gamepad_id_WiiRemoteID.LEFT_ANALOG_STICK.rawDown;
|
|
var tmp = rawID == flixel_input_gamepad_id_WiiRemoteID.LEFT_ANALOG_STICK.rawLeft;
|
|
var tmp = rawID == flixel_input_gamepad_id_WiiRemoteID.LEFT_ANALOG_STICK.rawRight;
|
|
return -1;
|
|
}
|
|
}
|
|
,getIDDefault: function(rawID) {
|
|
switch(rawID) {
|
|
case 9:
|
|
return 2;
|
|
case 10:
|
|
return 3;
|
|
case 11:
|
|
return 0;
|
|
case 12:
|
|
return 1;
|
|
case 13:
|
|
return 7;
|
|
case 14:
|
|
return 6;
|
|
case 15:
|
|
return 10;
|
|
case 22:
|
|
return 11;
|
|
case 23:
|
|
return 12;
|
|
case 24:
|
|
return 13;
|
|
case 25:
|
|
return 14;
|
|
default:
|
|
return -1;
|
|
}
|
|
}
|
|
,getRawID: function(ID) {
|
|
switch(this.attachment._hx_index) {
|
|
case 0:
|
|
return this.getRawNunchuk(ID);
|
|
case 1:
|
|
return this.getRawClassicController(ID);
|
|
case 2:
|
|
return this.getRawDefault(ID);
|
|
}
|
|
}
|
|
,getRawClassicController: function(ID) {
|
|
switch(ID) {
|
|
case 0:
|
|
return 10;
|
|
case 1:
|
|
return 9;
|
|
case 2:
|
|
return 11;
|
|
case 3:
|
|
return 12;
|
|
case 4:
|
|
return 15;
|
|
case 5:
|
|
return 16;
|
|
case 6:
|
|
return 18;
|
|
case 7:
|
|
return 17;
|
|
case 10:
|
|
return 19;
|
|
case 11:
|
|
return 5;
|
|
case 12:
|
|
return 6;
|
|
case 13:
|
|
return 7;
|
|
case 14:
|
|
return 8;
|
|
case 17:
|
|
return 13;
|
|
case 18:
|
|
return 14;
|
|
case 30:
|
|
return 20;
|
|
case 31:
|
|
return 21;
|
|
case 34:
|
|
return flixel_input_gamepad_id_WiiRemoteID.LEFT_ANALOG_STICK.rawUp;
|
|
case 35:
|
|
return flixel_input_gamepad_id_WiiRemoteID.LEFT_ANALOG_STICK.rawRight;
|
|
case 36:
|
|
return flixel_input_gamepad_id_WiiRemoteID.LEFT_ANALOG_STICK.rawDown;
|
|
case 37:
|
|
return flixel_input_gamepad_id_WiiRemoteID.LEFT_ANALOG_STICK.rawLeft;
|
|
case 38:
|
|
return flixel_input_gamepad_id_WiiRemoteID.RIGHT_ANALOG_STICK.rawUp;
|
|
case 39:
|
|
return flixel_input_gamepad_id_WiiRemoteID.RIGHT_ANALOG_STICK.rawRight;
|
|
case 40:
|
|
return flixel_input_gamepad_id_WiiRemoteID.RIGHT_ANALOG_STICK.rawDown;
|
|
case 41:
|
|
return flixel_input_gamepad_id_WiiRemoteID.RIGHT_ANALOG_STICK.rawLeft;
|
|
default:
|
|
return -1;
|
|
}
|
|
}
|
|
,getRawNunchuk: function(ID) {
|
|
switch(ID) {
|
|
case 0:
|
|
return 9;
|
|
case 1:
|
|
return 10;
|
|
case 2:
|
|
return 13;
|
|
case 3:
|
|
return 14;
|
|
case 4:
|
|
return 11;
|
|
case 6:
|
|
return 16;
|
|
case 7:
|
|
return 15;
|
|
case 10:
|
|
return 17;
|
|
case 11:
|
|
return 5;
|
|
case 12:
|
|
return 6;
|
|
case 13:
|
|
return 7;
|
|
case 14:
|
|
return 8;
|
|
case 17:
|
|
return 12;
|
|
case 26:
|
|
return 3;
|
|
case 27:
|
|
return 2;
|
|
case 34:
|
|
return flixel_input_gamepad_id_WiiRemoteID.LEFT_ANALOG_STICK.rawUp;
|
|
case 35:
|
|
return flixel_input_gamepad_id_WiiRemoteID.LEFT_ANALOG_STICK.rawRight;
|
|
case 36:
|
|
return flixel_input_gamepad_id_WiiRemoteID.LEFT_ANALOG_STICK.rawDown;
|
|
case 37:
|
|
return flixel_input_gamepad_id_WiiRemoteID.LEFT_ANALOG_STICK.rawLeft;
|
|
default:
|
|
return -1;
|
|
}
|
|
}
|
|
,getRawDefault: function(ID) {
|
|
switch(ID) {
|
|
case 0:
|
|
return 11;
|
|
case 1:
|
|
return 12;
|
|
case 2:
|
|
return 9;
|
|
case 3:
|
|
return 10;
|
|
case 6:
|
|
return 14;
|
|
case 7:
|
|
return 13;
|
|
case 10:
|
|
return 15;
|
|
case 11:
|
|
return 22;
|
|
case 12:
|
|
return 23;
|
|
case 13:
|
|
return 24;
|
|
case 14:
|
|
return 25;
|
|
case 26:
|
|
return 2;
|
|
case 27:
|
|
return 3;
|
|
default:
|
|
return -1;
|
|
}
|
|
}
|
|
,isAxisForMotion: function(ID) {
|
|
if(this.attachment == flixel_input_gamepad_FlxGamepadAttachment.NONE) {
|
|
if(ID == 2 || ID == 3) {
|
|
return true;
|
|
}
|
|
} else if(this.attachment == flixel_input_gamepad_FlxGamepadAttachment.WII_NUNCHUCK) {
|
|
if(ID == 3 || ID == 2) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,isAxisFlipped: function(axisID) {
|
|
return axisID == 4;
|
|
}
|
|
,set_attachment: function(attachment) {
|
|
var tmp;
|
|
switch(attachment._hx_index) {
|
|
case 0:case 1:
|
|
tmp = flixel_input_gamepad_id_WiiRemoteID.LEFT_ANALOG_STICK;
|
|
break;
|
|
case 2:
|
|
tmp = flixel_input_gamepad_id_WiiRemoteID.REMOTE_DPAD;
|
|
break;
|
|
}
|
|
this.leftStick = tmp;
|
|
this.rightStick = attachment._hx_index == 1 ? flixel_input_gamepad_id_WiiRemoteID.RIGHT_ANALOG_STICK : null;
|
|
return flixel_input_gamepad_mappings_FlxGamepadMapping.prototype.set_attachment.call(this,attachment);
|
|
}
|
|
,getInputLabel: function(id) {
|
|
var label = flixel_input_gamepad_mappings_WiiRemoteMapping.getWiiInputLabel(id,this.attachment);
|
|
if(label == null) {
|
|
return flixel_input_gamepad_mappings_FlxGamepadMapping.prototype.getInputLabel.call(this,id);
|
|
}
|
|
return label;
|
|
}
|
|
,__class__: flixel_input_gamepad_mappings_WiiRemoteMapping
|
|
});
|
|
var flixel_input_gamepad_mappings_XInputMapping = function(attachment) {
|
|
flixel_input_gamepad_mappings_FlxGamepadMapping.call(this,attachment);
|
|
};
|
|
$hxClasses["flixel.input.gamepad.mappings.XInputMapping"] = flixel_input_gamepad_mappings_XInputMapping;
|
|
flixel_input_gamepad_mappings_XInputMapping.__name__ = "flixel.input.gamepad.mappings.XInputMapping";
|
|
flixel_input_gamepad_mappings_XInputMapping.__super__ = flixel_input_gamepad_mappings_FlxGamepadMapping;
|
|
flixel_input_gamepad_mappings_XInputMapping.prototype = $extend(flixel_input_gamepad_mappings_FlxGamepadMapping.prototype,{
|
|
initValues: function() {
|
|
this.leftStick = flixel_input_gamepad_id_XInputID.LEFT_ANALOG_STICK;
|
|
this.rightStick = flixel_input_gamepad_id_XInputID.RIGHT_ANALOG_STICK;
|
|
}
|
|
,getID: function(rawID) {
|
|
switch(rawID) {
|
|
case -1:
|
|
return 10;
|
|
case 4:
|
|
return 17;
|
|
case 5:
|
|
return 18;
|
|
case 6:
|
|
return 0;
|
|
case 7:
|
|
return 1;
|
|
case 8:
|
|
return 2;
|
|
case 9:
|
|
return 3;
|
|
case 10:
|
|
return 6;
|
|
case 12:
|
|
return 7;
|
|
case 13:
|
|
return 8;
|
|
case 14:
|
|
return 9;
|
|
case 15:
|
|
return 4;
|
|
case 16:
|
|
return 5;
|
|
case 17:
|
|
return 11;
|
|
case 18:
|
|
return 12;
|
|
case 19:
|
|
return 13;
|
|
case 20:
|
|
return 14;
|
|
default:
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawUp) {
|
|
return 34;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawDown) {
|
|
return 36;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawLeft) {
|
|
return 37;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.leftStick.rawRight) {
|
|
return 35;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.rightStick.rawUp) {
|
|
return 38;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.rightStick.rawDown) {
|
|
return 40;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.rightStick.rawLeft) {
|
|
return 41;
|
|
} else {
|
|
var id = rawID;
|
|
if(id == this.rightStick.rawRight) {
|
|
return 39;
|
|
} else {
|
|
return -1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,getRawID: function(ID) {
|
|
switch(ID) {
|
|
case 0:
|
|
return 6;
|
|
case 1:
|
|
return 7;
|
|
case 2:
|
|
return 8;
|
|
case 3:
|
|
return 9;
|
|
case 4:
|
|
return 15;
|
|
case 5:
|
|
return 16;
|
|
case 6:
|
|
return 10;
|
|
case 7:
|
|
return 12;
|
|
case 8:
|
|
return 13;
|
|
case 9:
|
|
return 14;
|
|
case 10:
|
|
return -1;
|
|
case 11:
|
|
return 17;
|
|
case 12:
|
|
return 18;
|
|
case 13:
|
|
return 19;
|
|
case 14:
|
|
return 20;
|
|
case 17:
|
|
return 4;
|
|
case 18:
|
|
return 5;
|
|
case 34:
|
|
return flixel_input_gamepad_id_XInputID.LEFT_ANALOG_STICK.rawUp;
|
|
case 35:
|
|
return flixel_input_gamepad_id_XInputID.LEFT_ANALOG_STICK.rawRight;
|
|
case 36:
|
|
return flixel_input_gamepad_id_XInputID.LEFT_ANALOG_STICK.rawDown;
|
|
case 37:
|
|
return flixel_input_gamepad_id_XInputID.LEFT_ANALOG_STICK.rawLeft;
|
|
case 38:
|
|
return flixel_input_gamepad_id_XInputID.RIGHT_ANALOG_STICK.rawUp;
|
|
case 39:
|
|
return flixel_input_gamepad_id_XInputID.RIGHT_ANALOG_STICK.rawRight;
|
|
case 40:
|
|
return flixel_input_gamepad_id_XInputID.RIGHT_ANALOG_STICK.rawDown;
|
|
case 41:
|
|
return flixel_input_gamepad_id_XInputID.RIGHT_ANALOG_STICK.rawLeft;
|
|
default:
|
|
return -1;
|
|
}
|
|
}
|
|
,__class__: flixel_input_gamepad_mappings_XInputMapping
|
|
});
|
|
var flixel_input_keyboard_FlxKey = {};
|
|
flixel_input_keyboard_FlxKey.fromString = function(s) {
|
|
s = s.toUpperCase();
|
|
if(Object.prototype.hasOwnProperty.call(flixel_input_keyboard_FlxKey.fromStringMap.h,s)) {
|
|
return flixel_input_keyboard_FlxKey.fromStringMap.h[s];
|
|
} else {
|
|
return -1;
|
|
}
|
|
};
|
|
flixel_input_keyboard_FlxKey.toString = function(this1) {
|
|
return flixel_input_keyboard_FlxKey.toStringMap.h[this1];
|
|
};
|
|
var flixel_input_keyboard_FlxKeyList = function(status,keyManager) {
|
|
flixel_input_FlxBaseKeyList.call(this,status,keyManager);
|
|
};
|
|
$hxClasses["flixel.input.keyboard.FlxKeyList"] = flixel_input_keyboard_FlxKeyList;
|
|
flixel_input_keyboard_FlxKeyList.__name__ = "flixel.input.keyboard.FlxKeyList";
|
|
flixel_input_keyboard_FlxKeyList.__super__ = flixel_input_FlxBaseKeyList;
|
|
flixel_input_keyboard_FlxKeyList.prototype = $extend(flixel_input_FlxBaseKeyList.prototype,{
|
|
get_A: function() {
|
|
return this.keyManager.checkStatus(65,this.status);
|
|
}
|
|
,get_B: function() {
|
|
return this.keyManager.checkStatus(66,this.status);
|
|
}
|
|
,get_C: function() {
|
|
return this.keyManager.checkStatus(67,this.status);
|
|
}
|
|
,get_D: function() {
|
|
return this.keyManager.checkStatus(68,this.status);
|
|
}
|
|
,get_E: function() {
|
|
return this.keyManager.checkStatus(69,this.status);
|
|
}
|
|
,get_F: function() {
|
|
return this.keyManager.checkStatus(70,this.status);
|
|
}
|
|
,get_G: function() {
|
|
return this.keyManager.checkStatus(71,this.status);
|
|
}
|
|
,get_H: function() {
|
|
return this.keyManager.checkStatus(72,this.status);
|
|
}
|
|
,get_I: function() {
|
|
return this.keyManager.checkStatus(73,this.status);
|
|
}
|
|
,get_J: function() {
|
|
return this.keyManager.checkStatus(74,this.status);
|
|
}
|
|
,get_K: function() {
|
|
return this.keyManager.checkStatus(75,this.status);
|
|
}
|
|
,get_L: function() {
|
|
return this.keyManager.checkStatus(76,this.status);
|
|
}
|
|
,get_M: function() {
|
|
return this.keyManager.checkStatus(77,this.status);
|
|
}
|
|
,get_N: function() {
|
|
return this.keyManager.checkStatus(78,this.status);
|
|
}
|
|
,get_O: function() {
|
|
return this.keyManager.checkStatus(79,this.status);
|
|
}
|
|
,get_P: function() {
|
|
return this.keyManager.checkStatus(80,this.status);
|
|
}
|
|
,get_Q: function() {
|
|
return this.keyManager.checkStatus(81,this.status);
|
|
}
|
|
,get_R: function() {
|
|
return this.keyManager.checkStatus(82,this.status);
|
|
}
|
|
,get_S: function() {
|
|
return this.keyManager.checkStatus(83,this.status);
|
|
}
|
|
,get_T: function() {
|
|
return this.keyManager.checkStatus(84,this.status);
|
|
}
|
|
,get_U: function() {
|
|
return this.keyManager.checkStatus(85,this.status);
|
|
}
|
|
,get_V: function() {
|
|
return this.keyManager.checkStatus(86,this.status);
|
|
}
|
|
,get_W: function() {
|
|
return this.keyManager.checkStatus(87,this.status);
|
|
}
|
|
,get_X: function() {
|
|
return this.keyManager.checkStatus(88,this.status);
|
|
}
|
|
,get_Y: function() {
|
|
return this.keyManager.checkStatus(89,this.status);
|
|
}
|
|
,get_Z: function() {
|
|
return this.keyManager.checkStatus(90,this.status);
|
|
}
|
|
,get_ZERO: function() {
|
|
return this.keyManager.checkStatus(48,this.status);
|
|
}
|
|
,get_ONE: function() {
|
|
return this.keyManager.checkStatus(49,this.status);
|
|
}
|
|
,get_TWO: function() {
|
|
return this.keyManager.checkStatus(50,this.status);
|
|
}
|
|
,get_THREE: function() {
|
|
return this.keyManager.checkStatus(51,this.status);
|
|
}
|
|
,get_FOUR: function() {
|
|
return this.keyManager.checkStatus(52,this.status);
|
|
}
|
|
,get_FIVE: function() {
|
|
return this.keyManager.checkStatus(53,this.status);
|
|
}
|
|
,get_SIX: function() {
|
|
return this.keyManager.checkStatus(54,this.status);
|
|
}
|
|
,get_SEVEN: function() {
|
|
return this.keyManager.checkStatus(55,this.status);
|
|
}
|
|
,get_EIGHT: function() {
|
|
return this.keyManager.checkStatus(56,this.status);
|
|
}
|
|
,get_NINE: function() {
|
|
return this.keyManager.checkStatus(57,this.status);
|
|
}
|
|
,get_PAGEUP: function() {
|
|
return this.keyManager.checkStatus(33,this.status);
|
|
}
|
|
,get_PAGEDOWN: function() {
|
|
return this.keyManager.checkStatus(34,this.status);
|
|
}
|
|
,get_HOME: function() {
|
|
return this.keyManager.checkStatus(36,this.status);
|
|
}
|
|
,get_END: function() {
|
|
return this.keyManager.checkStatus(35,this.status);
|
|
}
|
|
,get_INSERT: function() {
|
|
return this.keyManager.checkStatus(45,this.status);
|
|
}
|
|
,get_ESCAPE: function() {
|
|
return this.keyManager.checkStatus(27,this.status);
|
|
}
|
|
,get_MINUS: function() {
|
|
return this.keyManager.checkStatus(189,this.status);
|
|
}
|
|
,get_PLUS: function() {
|
|
return this.keyManager.checkStatus(187,this.status);
|
|
}
|
|
,get_DELETE: function() {
|
|
return this.keyManager.checkStatus(46,this.status);
|
|
}
|
|
,get_BACKSPACE: function() {
|
|
return this.keyManager.checkStatus(8,this.status);
|
|
}
|
|
,get_LBRACKET: function() {
|
|
return this.keyManager.checkStatus(219,this.status);
|
|
}
|
|
,get_RBRACKET: function() {
|
|
return this.keyManager.checkStatus(221,this.status);
|
|
}
|
|
,get_BACKSLASH: function() {
|
|
return this.keyManager.checkStatus(220,this.status);
|
|
}
|
|
,get_CAPSLOCK: function() {
|
|
return this.keyManager.checkStatus(20,this.status);
|
|
}
|
|
,get_SEMICOLON: function() {
|
|
return this.keyManager.checkStatus(186,this.status);
|
|
}
|
|
,get_QUOTE: function() {
|
|
return this.keyManager.checkStatus(222,this.status);
|
|
}
|
|
,get_ENTER: function() {
|
|
return this.keyManager.checkStatus(13,this.status);
|
|
}
|
|
,get_SHIFT: function() {
|
|
return this.keyManager.checkStatus(16,this.status);
|
|
}
|
|
,get_COMMA: function() {
|
|
return this.keyManager.checkStatus(188,this.status);
|
|
}
|
|
,get_PERIOD: function() {
|
|
return this.keyManager.checkStatus(190,this.status);
|
|
}
|
|
,get_SLASH: function() {
|
|
return this.keyManager.checkStatus(191,this.status);
|
|
}
|
|
,get_GRAVEACCENT: function() {
|
|
return this.keyManager.checkStatus(192,this.status);
|
|
}
|
|
,get_CONTROL: function() {
|
|
return this.keyManager.checkStatus(17,this.status);
|
|
}
|
|
,get_ALT: function() {
|
|
return this.keyManager.checkStatus(18,this.status);
|
|
}
|
|
,get_SPACE: function() {
|
|
return this.keyManager.checkStatus(32,this.status);
|
|
}
|
|
,get_UP: function() {
|
|
return this.keyManager.checkStatus(38,this.status);
|
|
}
|
|
,get_DOWN: function() {
|
|
return this.keyManager.checkStatus(40,this.status);
|
|
}
|
|
,get_LEFT: function() {
|
|
return this.keyManager.checkStatus(37,this.status);
|
|
}
|
|
,get_RIGHT: function() {
|
|
return this.keyManager.checkStatus(39,this.status);
|
|
}
|
|
,get_TAB: function() {
|
|
return this.keyManager.checkStatus(9,this.status);
|
|
}
|
|
,get_PRINTSCREEN: function() {
|
|
return this.keyManager.checkStatus(301,this.status);
|
|
}
|
|
,get_F1: function() {
|
|
return this.keyManager.checkStatus(112,this.status);
|
|
}
|
|
,get_F2: function() {
|
|
return this.keyManager.checkStatus(113,this.status);
|
|
}
|
|
,get_F3: function() {
|
|
return this.keyManager.checkStatus(114,this.status);
|
|
}
|
|
,get_F4: function() {
|
|
return this.keyManager.checkStatus(115,this.status);
|
|
}
|
|
,get_F5: function() {
|
|
return this.keyManager.checkStatus(116,this.status);
|
|
}
|
|
,get_F6: function() {
|
|
return this.keyManager.checkStatus(117,this.status);
|
|
}
|
|
,get_F7: function() {
|
|
return this.keyManager.checkStatus(118,this.status);
|
|
}
|
|
,get_F8: function() {
|
|
return this.keyManager.checkStatus(119,this.status);
|
|
}
|
|
,get_F9: function() {
|
|
return this.keyManager.checkStatus(120,this.status);
|
|
}
|
|
,get_F10: function() {
|
|
return this.keyManager.checkStatus(121,this.status);
|
|
}
|
|
,get_F11: function() {
|
|
return this.keyManager.checkStatus(122,this.status);
|
|
}
|
|
,get_F12: function() {
|
|
return this.keyManager.checkStatus(123,this.status);
|
|
}
|
|
,get_NUMPADONE: function() {
|
|
return this.keyManager.checkStatus(97,this.status);
|
|
}
|
|
,get_NUMPADTWO: function() {
|
|
return this.keyManager.checkStatus(98,this.status);
|
|
}
|
|
,get_NUMPADTHREE: function() {
|
|
return this.keyManager.checkStatus(99,this.status);
|
|
}
|
|
,get_NUMPADFOUR: function() {
|
|
return this.keyManager.checkStatus(100,this.status);
|
|
}
|
|
,get_NUMPADFIVE: function() {
|
|
return this.keyManager.checkStatus(101,this.status);
|
|
}
|
|
,get_NUMPADSIX: function() {
|
|
return this.keyManager.checkStatus(102,this.status);
|
|
}
|
|
,get_NUMPADSEVEN: function() {
|
|
return this.keyManager.checkStatus(103,this.status);
|
|
}
|
|
,get_NUMPADEIGHT: function() {
|
|
return this.keyManager.checkStatus(104,this.status);
|
|
}
|
|
,get_NUMPADNINE: function() {
|
|
return this.keyManager.checkStatus(105,this.status);
|
|
}
|
|
,get_NUMPADZERO: function() {
|
|
return this.keyManager.checkStatus(96,this.status);
|
|
}
|
|
,get_NUMPADMINUS: function() {
|
|
return this.keyManager.checkStatus(109,this.status);
|
|
}
|
|
,get_NUMPADPLUS: function() {
|
|
return this.keyManager.checkStatus(107,this.status);
|
|
}
|
|
,get_NUMPADPERIOD: function() {
|
|
return this.keyManager.checkStatus(110,this.status);
|
|
}
|
|
,get_NUMPADMULTIPLY: function() {
|
|
return this.keyManager.checkStatus(106,this.status);
|
|
}
|
|
,__class__: flixel_input_keyboard_FlxKeyList
|
|
,__properties__: $extend(flixel_input_FlxBaseKeyList.prototype.__properties__,{get_NUMPADMULTIPLY:"get_NUMPADMULTIPLY",get_NUMPADPERIOD:"get_NUMPADPERIOD",get_NUMPADPLUS:"get_NUMPADPLUS",get_NUMPADMINUS:"get_NUMPADMINUS",get_NUMPADZERO:"get_NUMPADZERO",get_NUMPADNINE:"get_NUMPADNINE",get_NUMPADEIGHT:"get_NUMPADEIGHT",get_NUMPADSEVEN:"get_NUMPADSEVEN",get_NUMPADSIX:"get_NUMPADSIX",get_NUMPADFIVE:"get_NUMPADFIVE",get_NUMPADFOUR:"get_NUMPADFOUR",get_NUMPADTHREE:"get_NUMPADTHREE",get_NUMPADTWO:"get_NUMPADTWO",get_NUMPADONE:"get_NUMPADONE",get_F12:"get_F12",get_F11:"get_F11",get_F10:"get_F10",get_F9:"get_F9",get_F8:"get_F8",get_F7:"get_F7",get_F6:"get_F6",get_F5:"get_F5",get_F4:"get_F4",get_F3:"get_F3",get_F2:"get_F2",get_F1:"get_F1",get_PRINTSCREEN:"get_PRINTSCREEN",get_TAB:"get_TAB",get_RIGHT:"get_RIGHT",get_LEFT:"get_LEFT",get_DOWN:"get_DOWN",get_UP:"get_UP",get_SPACE:"get_SPACE",get_ALT:"get_ALT",get_CONTROL:"get_CONTROL",get_GRAVEACCENT:"get_GRAVEACCENT",get_SLASH:"get_SLASH",get_PERIOD:"get_PERIOD",get_COMMA:"get_COMMA",get_SHIFT:"get_SHIFT",get_ENTER:"get_ENTER",get_QUOTE:"get_QUOTE",get_SEMICOLON:"get_SEMICOLON",get_CAPSLOCK:"get_CAPSLOCK",get_BACKSLASH:"get_BACKSLASH",get_RBRACKET:"get_RBRACKET",get_LBRACKET:"get_LBRACKET",get_BACKSPACE:"get_BACKSPACE",get_DELETE:"get_DELETE",get_PLUS:"get_PLUS",get_MINUS:"get_MINUS",get_ESCAPE:"get_ESCAPE",get_INSERT:"get_INSERT",get_END:"get_END",get_HOME:"get_HOME",get_PAGEDOWN:"get_PAGEDOWN",get_PAGEUP:"get_PAGEUP",get_NINE:"get_NINE",get_EIGHT:"get_EIGHT",get_SEVEN:"get_SEVEN",get_SIX:"get_SIX",get_FIVE:"get_FIVE",get_FOUR:"get_FOUR",get_THREE:"get_THREE",get_TWO:"get_TWO",get_ONE:"get_ONE",get_ZERO:"get_ZERO",get_Z:"get_Z",get_Y:"get_Y",get_X:"get_X",get_W:"get_W",get_V:"get_V",get_U:"get_U",get_T:"get_T",get_S:"get_S",get_R:"get_R",get_Q:"get_Q",get_P:"get_P",get_O:"get_O",get_N:"get_N",get_M:"get_M",get_L:"get_L",get_K:"get_K",get_J:"get_J",get_I:"get_I",get_H:"get_H",get_G:"get_G",get_F:"get_F",get_E:"get_E",get_D:"get_D",get_C:"get_C",get_B:"get_B",get_A:"get_A"})
|
|
});
|
|
var flixel_input_keyboard_FlxKeyboard = function() {
|
|
flixel_input_FlxKeyManager.call(this,function(status,keyManager) {
|
|
return new flixel_input_keyboard_FlxKeyList(status,keyManager);
|
|
});
|
|
this.preventDefaultKeys = [38,40,37,39,32,9];
|
|
var code = haxe_ds_StringMap.valueIterator(flixel_input_keyboard_FlxKey.fromStringMap.h);
|
|
while(code.hasNext()) {
|
|
var code1 = code.next();
|
|
if(code1 != -2 && code1 != -1) {
|
|
var input = new flixel_input_FlxInput(code1);
|
|
this._keyListArray.push(input);
|
|
this._keyListMap.h[code1] = input;
|
|
}
|
|
}
|
|
};
|
|
$hxClasses["flixel.input.keyboard.FlxKeyboard"] = flixel_input_keyboard_FlxKeyboard;
|
|
flixel_input_keyboard_FlxKeyboard.__name__ = "flixel.input.keyboard.FlxKeyboard";
|
|
flixel_input_keyboard_FlxKeyboard.__super__ = flixel_input_FlxKeyManager;
|
|
flixel_input_keyboard_FlxKeyboard.prototype = $extend(flixel_input_FlxKeyManager.prototype,{
|
|
onKeyUp: function(event) {
|
|
flixel_input_FlxKeyManager.prototype.onKeyUp.call(this,event);
|
|
}
|
|
,onKeyDown: function(event) {
|
|
flixel_input_FlxKeyManager.prototype.onKeyDown.call(this,event);
|
|
}
|
|
,resolveKeyCode: function(e) {
|
|
return e.keyCode;
|
|
}
|
|
,record: function() {
|
|
var data = null;
|
|
var _g = 0;
|
|
var _g1 = this._keyListArray;
|
|
while(_g < _g1.length) {
|
|
var key = _g1[_g];
|
|
++_g;
|
|
if(key == null || (key.current == 0 || key.current == -1)) {
|
|
continue;
|
|
}
|
|
if(data == null) {
|
|
data = [];
|
|
}
|
|
data.push(new flixel_system_replay_CodeValuePair(key.ID,key.current));
|
|
}
|
|
return data;
|
|
}
|
|
,playback: function(Record) {
|
|
var i = 0;
|
|
var l = Record.length;
|
|
while(i < l) {
|
|
var o = Record[i++];
|
|
var o2 = this._keyListMap.h[o.code];
|
|
o2.current = o.value;
|
|
}
|
|
}
|
|
,__class__: flixel_input_keyboard_FlxKeyboard
|
|
});
|
|
var flixel_input_mouse__$FlxMouse_GraphicCursor = function(width,height,transparent,fillRGBA,onload) {
|
|
if(fillRGBA == null) {
|
|
fillRGBA = -1;
|
|
}
|
|
if(transparent == null) {
|
|
transparent = true;
|
|
}
|
|
openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA);
|
|
if(flixel_input_mouse__$FlxMouse_GraphicCursor.preload != null) {
|
|
this.__fromImage(flixel_input_mouse__$FlxMouse_GraphicCursor.preload);
|
|
} else {
|
|
var _gthis = this;
|
|
lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_input_mouse__$FlxMouse_GraphicCursor.resourceName),flixel_input_mouse__$FlxMouse_GraphicCursor.resourceType).then(function(image) {
|
|
_gthis.__fromImage(image);
|
|
return lime_app_Future.withValue(_gthis);
|
|
}).onComplete(function(b) {
|
|
if(flixel_input_mouse__$FlxMouse_GraphicCursor.preload == null) {
|
|
flixel_input_mouse__$FlxMouse_GraphicCursor.preload = b.image;
|
|
}
|
|
if(onload != null && Reflect.isFunction(onload)) {
|
|
onload(b);
|
|
}
|
|
});
|
|
}
|
|
};
|
|
$hxClasses["flixel.input.mouse._FlxMouse.GraphicCursor"] = flixel_input_mouse__$FlxMouse_GraphicCursor;
|
|
flixel_input_mouse__$FlxMouse_GraphicCursor.__name__ = "flixel.input.mouse._FlxMouse.GraphicCursor";
|
|
flixel_input_mouse__$FlxMouse_GraphicCursor.preload = null;
|
|
flixel_input_mouse__$FlxMouse_GraphicCursor.__super__ = openfl_display_BitmapData;
|
|
flixel_input_mouse__$FlxMouse_GraphicCursor.prototype = $extend(openfl_display_BitmapData.prototype,{
|
|
__class__: flixel_input_mouse__$FlxMouse_GraphicCursor
|
|
});
|
|
var flixel_input_mouse_FlxMouseButton = function(ID) {
|
|
this.justPressedTimeInTicks = -1;
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
this.justPressedPosition = point;
|
|
flixel_input_FlxInput.call(this,ID);
|
|
};
|
|
$hxClasses["flixel.input.mouse.FlxMouseButton"] = flixel_input_mouse_FlxMouseButton;
|
|
flixel_input_mouse_FlxMouseButton.__name__ = "flixel.input.mouse.FlxMouseButton";
|
|
flixel_input_mouse_FlxMouseButton.__interfaces__ = [flixel_util_IFlxDestroyable];
|
|
flixel_input_mouse_FlxMouseButton.getByID = function(id) {
|
|
switch(id) {
|
|
case -3:
|
|
return flixel_FlxG.mouse._rightButton;
|
|
case -2:
|
|
return flixel_FlxG.mouse._middleButton;
|
|
case -1:
|
|
return flixel_FlxG.mouse._leftButton;
|
|
}
|
|
};
|
|
flixel_input_mouse_FlxMouseButton.__super__ = flixel_input_FlxInput;
|
|
flixel_input_mouse_FlxMouseButton.prototype = $extend(flixel_input_FlxInput.prototype,{
|
|
justPressedPosition: null
|
|
,justPressedTimeInTicks: null
|
|
,update: function() {
|
|
flixel_input_FlxInput.prototype.update.call(this);
|
|
if(this.current == 2) {
|
|
this.justPressedPosition.set(flixel_FlxG.mouse.screenX,flixel_FlxG.mouse.screenY);
|
|
this.justPressedTimeInTicks = flixel_FlxG.game.ticks;
|
|
} else if(this.current == -1) {
|
|
flixel_FlxG.swipes.push(new flixel_input_FlxSwipe(this.ID,this.justPressedPosition,flixel_FlxG.mouse.getScreenPosition(),this.justPressedTimeInTicks));
|
|
}
|
|
}
|
|
,destroy: function() {
|
|
this.justPressedPosition = flixel_util_FlxDestroyUtil.put(this.justPressedPosition);
|
|
}
|
|
,onDown: function(_) {
|
|
if(flixel_FlxG.mouse.enabled) {
|
|
this.press();
|
|
}
|
|
}
|
|
,onUp: function(_) {
|
|
if(flixel_FlxG.mouse.enabled) {
|
|
this.release();
|
|
}
|
|
}
|
|
,__class__: flixel_input_mouse_FlxMouseButton
|
|
});
|
|
var flixel_input_touch_FlxTouch = function(x,y,pointID) {
|
|
if(pointID == null) {
|
|
pointID = 0;
|
|
}
|
|
if(y == null) {
|
|
y = 0;
|
|
}
|
|
if(x == null) {
|
|
x = 0;
|
|
}
|
|
this.justPressedTimeInTicks = -1;
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
this.justPressedPosition = point;
|
|
this.flashPoint = new openfl_geom_Point();
|
|
flixel_input_FlxPointer.call(this);
|
|
this.input = new flixel_input_FlxInput(pointID);
|
|
this.setXY(x,y);
|
|
};
|
|
$hxClasses["flixel.input.touch.FlxTouch"] = flixel_input_touch_FlxTouch;
|
|
flixel_input_touch_FlxTouch.__name__ = "flixel.input.touch.FlxTouch";
|
|
flixel_input_touch_FlxTouch.__interfaces__ = [flixel_input_IFlxInput,flixel_util_IFlxDestroyable];
|
|
flixel_input_touch_FlxTouch.__super__ = flixel_input_FlxPointer;
|
|
flixel_input_touch_FlxTouch.prototype = $extend(flixel_input_FlxPointer.prototype,{
|
|
input: null
|
|
,flashPoint: null
|
|
,justPressedPosition: null
|
|
,justPressedTimeInTicks: null
|
|
,destroy: function() {
|
|
this.input = null;
|
|
this.justPressedPosition = flixel_util_FlxDestroyUtil.put(this.justPressedPosition);
|
|
this.flashPoint = null;
|
|
}
|
|
,recycle: function(x,y,pointID) {
|
|
this.setXY(x,y);
|
|
this.input.ID = pointID;
|
|
this.input.reset();
|
|
}
|
|
,update: function() {
|
|
this.input.update();
|
|
if(this.input.current == 2) {
|
|
this.justPressedPosition.set(this.screenX,this.screenY);
|
|
this.justPressedTimeInTicks = flixel_FlxG.game.ticks;
|
|
} else if(this.input.current == -1) {
|
|
flixel_FlxG.swipes.push(new flixel_input_FlxSwipe(this.input.ID,this.justPressedPosition,this.getScreenPosition(),this.justPressedTimeInTicks));
|
|
}
|
|
}
|
|
,setXY: function(X,Y) {
|
|
this.flashPoint.setTo(X,Y);
|
|
this.flashPoint = flixel_FlxG.game.globalToLocal(this.flashPoint);
|
|
this._globalScreenX = this.flashPoint.x / flixel_FlxG.scaleMode.scale.x | 0;
|
|
this._globalScreenY = this.flashPoint.y / flixel_FlxG.scaleMode.scale.y | 0;
|
|
this.updatePositions();
|
|
}
|
|
,get_touchPointID: function() {
|
|
return this.input.ID;
|
|
}
|
|
,get_justReleased: function() {
|
|
return this.input.current == -1;
|
|
}
|
|
,get_released: function() {
|
|
var _this = this.input;
|
|
if(_this.current != 0) {
|
|
return _this.current == -1;
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
,get_pressed: function() {
|
|
var _this = this.input;
|
|
if(_this.current != 1) {
|
|
return _this.current == 2;
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
,get_justPressed: function() {
|
|
return this.input.current == 2;
|
|
}
|
|
,__class__: flixel_input_touch_FlxTouch
|
|
,__properties__: {get_justPressed:"get_justPressed",get_pressed:"get_pressed",get_released:"get_released",get_justReleased:"get_justReleased",get_touchPointID:"get_touchPointID"}
|
|
});
|
|
var flixel_input_touch_FlxTouchManager = function() {
|
|
this.list = [];
|
|
this._inactiveTouches = [];
|
|
this._touchesCache = new haxe_ds_IntMap();
|
|
flixel_input_touch_FlxTouchManager.maxTouchPoints = openfl_ui_Multitouch.maxTouchPoints;
|
|
openfl_ui_Multitouch.inputMode = 2;
|
|
openfl_Lib.get_current().stage.addEventListener("touchBegin",$bind(this,this.handleTouchBegin));
|
|
openfl_Lib.get_current().stage.addEventListener("touchEnd",$bind(this,this.handleTouchEnd));
|
|
openfl_Lib.get_current().stage.addEventListener("touchMove",$bind(this,this.handleTouchMove));
|
|
};
|
|
$hxClasses["flixel.input.touch.FlxTouchManager"] = flixel_input_touch_FlxTouchManager;
|
|
flixel_input_touch_FlxTouchManager.__name__ = "flixel.input.touch.FlxTouchManager";
|
|
flixel_input_touch_FlxTouchManager.__interfaces__ = [flixel_input_IFlxInputManager];
|
|
flixel_input_touch_FlxTouchManager.prototype = {
|
|
list: null
|
|
,_inactiveTouches: null
|
|
,_touchesCache: null
|
|
,getByID: function(TouchPointID) {
|
|
return this._touchesCache.h[TouchPointID];
|
|
}
|
|
,getFirst: function() {
|
|
if(this.list[0] != null) {
|
|
return this.list[0];
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
,destroy: function() {
|
|
var _g = 0;
|
|
var _g1 = this.list;
|
|
while(_g < _g1.length) {
|
|
var touch = _g1[_g];
|
|
++_g;
|
|
touch.destroy();
|
|
}
|
|
this.list = null;
|
|
var _g = 0;
|
|
var _g1 = this._inactiveTouches;
|
|
while(_g < _g1.length) {
|
|
var touch = _g1[_g];
|
|
++_g;
|
|
touch.destroy();
|
|
}
|
|
this._inactiveTouches = null;
|
|
this._touchesCache = null;
|
|
}
|
|
,justStarted: function(TouchArray) {
|
|
if(TouchArray == null) {
|
|
TouchArray = [];
|
|
}
|
|
var touchLen = TouchArray.length;
|
|
if(touchLen > 0) {
|
|
TouchArray.splice(0,touchLen);
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.list;
|
|
while(_g < _g1.length) {
|
|
var touch = _g1[_g];
|
|
++_g;
|
|
if(touch.input.current == 2) {
|
|
TouchArray.push(touch);
|
|
}
|
|
}
|
|
return TouchArray;
|
|
}
|
|
,justReleased: function(TouchArray) {
|
|
if(TouchArray == null) {
|
|
TouchArray = [];
|
|
}
|
|
var touchLen = TouchArray.length;
|
|
if(touchLen > 0) {
|
|
TouchArray.splice(0,touchLen);
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.list;
|
|
while(_g < _g1.length) {
|
|
var touch = _g1[_g];
|
|
++_g;
|
|
if(touch.input.current == -1) {
|
|
TouchArray.push(touch);
|
|
}
|
|
}
|
|
return TouchArray;
|
|
}
|
|
,reset: function() {
|
|
var key = this._touchesCache.keys();
|
|
while(key.hasNext()) {
|
|
var key1 = key.next();
|
|
this._touchesCache.remove(key1);
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.list;
|
|
while(_g < _g1.length) {
|
|
var touch = _g1[_g];
|
|
++_g;
|
|
touch.input.reset();
|
|
this._inactiveTouches.push(touch);
|
|
}
|
|
this.list.splice(0,this.list.length);
|
|
}
|
|
,handleTouchBegin: function(FlashEvent) {
|
|
var touch = this._touchesCache.h[FlashEvent.touchPointID];
|
|
if(touch != null) {
|
|
touch.setXY(FlashEvent.stageX | 0,FlashEvent.stageY | 0);
|
|
} else {
|
|
touch = this.recycle(FlashEvent.stageX | 0,FlashEvent.stageY | 0,FlashEvent.touchPointID);
|
|
}
|
|
touch.input.press();
|
|
}
|
|
,handleTouchEnd: function(FlashEvent) {
|
|
var touch = this._touchesCache.h[FlashEvent.touchPointID];
|
|
if(touch != null) {
|
|
touch.input.release();
|
|
}
|
|
}
|
|
,handleTouchMove: function(FlashEvent) {
|
|
var touch = this._touchesCache.h[FlashEvent.touchPointID];
|
|
if(touch != null) {
|
|
touch.setXY(FlashEvent.stageX | 0,FlashEvent.stageY | 0);
|
|
}
|
|
}
|
|
,add: function(Touch1) {
|
|
this.list.push(Touch1);
|
|
this._touchesCache.h[Touch1.input.ID] = Touch1;
|
|
return Touch1;
|
|
}
|
|
,recycle: function(X,Y,PointID) {
|
|
if(this._inactiveTouches.length > 0) {
|
|
var touch = this._inactiveTouches.pop();
|
|
touch.recycle(X,Y,PointID);
|
|
return this.add(touch);
|
|
}
|
|
return this.add(new flixel_input_touch_FlxTouch(X,Y,PointID));
|
|
}
|
|
,update: function() {
|
|
var i = this.list.length - 1;
|
|
var touch;
|
|
while(i >= 0) {
|
|
touch = this.list[i];
|
|
var _this = touch.input;
|
|
if((_this.current == 0 || _this.current == -1) && touch.input.current != -1) {
|
|
touch.input.reset();
|
|
this._touchesCache.remove(touch.input.ID);
|
|
this.list.splice(i,1);
|
|
this._inactiveTouches.push(touch);
|
|
} else {
|
|
touch.update();
|
|
}
|
|
--i;
|
|
}
|
|
}
|
|
,onFocus: function() {
|
|
}
|
|
,onFocusLost: function() {
|
|
this.reset();
|
|
}
|
|
,__class__: flixel_input_touch_FlxTouchManager
|
|
};
|
|
var flixel_math_FlxAngle = function() { };
|
|
$hxClasses["flixel.math.FlxAngle"] = flixel_math_FlxAngle;
|
|
flixel_math_FlxAngle.__name__ = "flixel.math.FlxAngle";
|
|
flixel_math_FlxAngle.__properties__ = {get_TO_RAD:"get_TO_RAD",get_TO_DEG:"get_TO_DEG"};
|
|
flixel_math_FlxAngle.wrapAngle = function(angle) {
|
|
if(angle > 180) {
|
|
angle = flixel_math_FlxAngle.wrapAngle(angle - 360);
|
|
} else if(angle < -180) {
|
|
angle = flixel_math_FlxAngle.wrapAngle(angle + 360);
|
|
}
|
|
return angle;
|
|
};
|
|
flixel_math_FlxAngle.asDegrees = function(radians) {
|
|
return radians * (180 / Math.PI);
|
|
};
|
|
flixel_math_FlxAngle.asRadians = function(degrees) {
|
|
return degrees * (Math.PI / 180);
|
|
};
|
|
flixel_math_FlxAngle.angleBetween = function(SpriteA,SpriteB,AsDegrees) {
|
|
if(AsDegrees == null) {
|
|
AsDegrees = false;
|
|
}
|
|
var dx = SpriteB.x + SpriteB.origin.x - (SpriteA.x + SpriteA.origin.x);
|
|
var dy = SpriteB.y + SpriteB.origin.y - (SpriteA.y + SpriteA.origin.y);
|
|
if(AsDegrees) {
|
|
return Math.atan2(dy,dx) * (180 / Math.PI);
|
|
} else {
|
|
return Math.atan2(dy,dx);
|
|
}
|
|
};
|
|
flixel_math_FlxAngle.angleBetweenPoint = function(Sprite,Target,AsDegrees) {
|
|
if(AsDegrees == null) {
|
|
AsDegrees = false;
|
|
}
|
|
var dx = Target.x - (Sprite.x + Sprite.origin.x);
|
|
var dy = Target.y - (Sprite.y + Sprite.origin.y);
|
|
if(Target._weak) {
|
|
Target.put();
|
|
}
|
|
if(AsDegrees) {
|
|
return Math.atan2(dy,dx) * (180 / Math.PI);
|
|
} else {
|
|
return Math.atan2(dy,dx);
|
|
}
|
|
};
|
|
flixel_math_FlxAngle.angleBetweenMouse = function(Object1,AsDegrees) {
|
|
if(AsDegrees == null) {
|
|
AsDegrees = false;
|
|
}
|
|
if(Object1 == null) {
|
|
return 0;
|
|
}
|
|
var p = Object1.getScreenPosition();
|
|
var dx = flixel_FlxG.mouse.screenX - p.x;
|
|
var dy = flixel_FlxG.mouse.screenY - p.y;
|
|
p.put();
|
|
if(AsDegrees) {
|
|
return Math.atan2(dy,dx) * (180 / Math.PI);
|
|
} else {
|
|
return Math.atan2(dy,dx);
|
|
}
|
|
};
|
|
flixel_math_FlxAngle.angleBetweenTouch = function(Object1,Touch1,AsDegrees) {
|
|
if(AsDegrees == null) {
|
|
AsDegrees = false;
|
|
}
|
|
var p = Object1.getScreenPosition();
|
|
var dx = Touch1.screenX - p.x;
|
|
var dy = Touch1.screenY - p.y;
|
|
p.put();
|
|
if(AsDegrees) {
|
|
return Math.atan2(dy,dx) * (180 / Math.PI);
|
|
} else {
|
|
return Math.atan2(dy,dx);
|
|
}
|
|
};
|
|
flixel_math_FlxAngle.angleFromFacing = function(FacingBitmask,AsDegrees) {
|
|
if(AsDegrees == null) {
|
|
AsDegrees = false;
|
|
}
|
|
var degrees;
|
|
switch(FacingBitmask) {
|
|
case 1:
|
|
degrees = 180;
|
|
break;
|
|
case 16:
|
|
degrees = 0;
|
|
break;
|
|
case 256:
|
|
degrees = -90;
|
|
break;
|
|
case 4096:
|
|
degrees = 90;
|
|
break;
|
|
default:
|
|
var f = FacingBitmask;
|
|
if(f == 257) {
|
|
degrees = -135;
|
|
} else {
|
|
var f = FacingBitmask;
|
|
if(f == 272) {
|
|
degrees = -45;
|
|
} else {
|
|
var f = FacingBitmask;
|
|
if(f == 4097) {
|
|
degrees = 135;
|
|
} else {
|
|
var f = FacingBitmask;
|
|
degrees = f == 4112 ? 45 : 0;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if(AsDegrees) {
|
|
return degrees;
|
|
} else {
|
|
return degrees * (Math.PI / 180);
|
|
}
|
|
};
|
|
flixel_math_FlxAngle.getCartesianCoords = function(Radius,Angle,point) {
|
|
var p = point;
|
|
if(p == null) {
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
p = point;
|
|
}
|
|
p.set_x(Radius * Math.cos(Angle * (Math.PI / 180)));
|
|
p.set_y(Radius * Math.sin(Angle * (Math.PI / 180)));
|
|
return p;
|
|
};
|
|
flixel_math_FlxAngle.getPolarCoords = function(X,Y,point) {
|
|
var p = point;
|
|
if(p == null) {
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
p = point;
|
|
}
|
|
p.set_x(Math.sqrt(X * X + Y * Y));
|
|
p.set_y(Math.atan2(Y,X) * (180 / Math.PI));
|
|
return p;
|
|
};
|
|
flixel_math_FlxAngle.get_TO_DEG = function() {
|
|
return 180 / Math.PI;
|
|
};
|
|
flixel_math_FlxAngle.get_TO_RAD = function() {
|
|
return Math.PI / 180;
|
|
};
|
|
var flixel_math_FlxMath = function() { };
|
|
$hxClasses["flixel.math.FlxMath"] = flixel_math_FlxMath;
|
|
flixel_math_FlxMath.__name__ = "flixel.math.FlxMath";
|
|
flixel_math_FlxMath.roundDecimal = function(Value,Precision) {
|
|
var mult = 1;
|
|
var _g = 0;
|
|
var _g1 = Precision;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
mult *= 10;
|
|
}
|
|
return Math.round(Value * mult) / mult;
|
|
};
|
|
flixel_math_FlxMath.bound = function(Value,Min,Max) {
|
|
var lowerBound = Min != null && Value < Min ? Min : Value;
|
|
if(Max != null && lowerBound > Max) {
|
|
return Max;
|
|
} else {
|
|
return lowerBound;
|
|
}
|
|
};
|
|
flixel_math_FlxMath.lerp = function(a,b,ratio) {
|
|
return a + ratio * (b - a);
|
|
};
|
|
flixel_math_FlxMath.inBounds = function(Value,Min,Max) {
|
|
if(Min == null || Value >= Min) {
|
|
if(Max != null) {
|
|
return Value <= Max;
|
|
} else {
|
|
return true;
|
|
}
|
|
} else {
|
|
return false;
|
|
}
|
|
};
|
|
flixel_math_FlxMath.isOdd = function(n) {
|
|
return ((n | 0) & 1) != 0;
|
|
};
|
|
flixel_math_FlxMath.isEven = function(n) {
|
|
return ((n | 0) & 1) == 0;
|
|
};
|
|
flixel_math_FlxMath.numericComparison = function(a,b) {
|
|
if(b > a) {
|
|
return -1;
|
|
} else if(a > b) {
|
|
return 1;
|
|
}
|
|
return 0;
|
|
};
|
|
flixel_math_FlxMath.pointInCoordinates = function(pointX,pointY,rectX,rectY,rectWidth,rectHeight) {
|
|
if(pointX >= rectX && pointX <= rectX + rectWidth) {
|
|
if(pointY >= rectY && pointY <= rectY + rectHeight) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
};
|
|
flixel_math_FlxMath.pointInFlxRect = function(pointX,pointY,rect) {
|
|
if(pointX >= rect.x && pointX <= rect.x + rect.width && pointY >= rect.y) {
|
|
return pointY <= rect.y + rect.height;
|
|
} else {
|
|
return false;
|
|
}
|
|
};
|
|
flixel_math_FlxMath.mouseInFlxRect = function(useWorldCoords,rect) {
|
|
if(rect == null) {
|
|
return true;
|
|
}
|
|
if(useWorldCoords) {
|
|
return flixel_math_FlxMath.pointInFlxRect(Math.floor(flixel_FlxG.mouse.x),Math.floor(flixel_FlxG.mouse.y),rect);
|
|
} else {
|
|
return flixel_math_FlxMath.pointInFlxRect(flixel_FlxG.mouse.screenX,flixel_FlxG.mouse.screenY,rect);
|
|
}
|
|
};
|
|
flixel_math_FlxMath.pointInRectangle = function(pointX,pointY,rect) {
|
|
if(pointX >= rect.x && pointX <= rect.get_right() && pointY >= rect.y) {
|
|
return pointY <= rect.get_bottom();
|
|
} else {
|
|
return false;
|
|
}
|
|
};
|
|
flixel_math_FlxMath.maxAdd = function(value,amount,max,min) {
|
|
if(min == null) {
|
|
min = 0;
|
|
}
|
|
value += amount;
|
|
if(value > max) {
|
|
value = max;
|
|
} else if(value <= min) {
|
|
value = min;
|
|
}
|
|
return value;
|
|
};
|
|
flixel_math_FlxMath.wrap = function(value,min,max) {
|
|
var range = max - min + 1;
|
|
if(value < min) {
|
|
value += range * ((min - value) / range + 1 | 0);
|
|
}
|
|
return min + (value - min) % range;
|
|
};
|
|
flixel_math_FlxMath.remapToRange = function(value,start1,stop1,start2,stop2) {
|
|
return start2 + (value - start1) * ((stop2 - start2) / (stop1 - start1));
|
|
};
|
|
flixel_math_FlxMath.dotProduct = function(ax,ay,bx,by) {
|
|
return ax * bx + ay * by;
|
|
};
|
|
flixel_math_FlxMath.vectorLength = function(dx,dy) {
|
|
return Math.sqrt(dx * dx + dy * dy);
|
|
};
|
|
flixel_math_FlxMath.distanceBetween = function(SpriteA,SpriteB) {
|
|
var dx = SpriteA.x + SpriteA.origin.x - (SpriteB.x + SpriteB.origin.x);
|
|
var dy = SpriteA.y + SpriteA.origin.y - (SpriteB.y + SpriteB.origin.y);
|
|
return Math.sqrt(dx * dx + dy * dy) | 0;
|
|
};
|
|
flixel_math_FlxMath.isDistanceWithin = function(SpriteA,SpriteB,Distance,IncludeEqual) {
|
|
if(IncludeEqual == null) {
|
|
IncludeEqual = false;
|
|
}
|
|
var dx = SpriteA.x + SpriteA.origin.x - (SpriteB.x + SpriteB.origin.x);
|
|
var dy = SpriteA.y + SpriteA.origin.y - (SpriteB.y + SpriteB.origin.y);
|
|
if(IncludeEqual) {
|
|
return dx * dx + dy * dy <= Distance * Distance;
|
|
} else {
|
|
return dx * dx + dy * dy < Distance * Distance;
|
|
}
|
|
};
|
|
flixel_math_FlxMath.distanceToPoint = function(Sprite,Target) {
|
|
var dx = Sprite.x + Sprite.origin.x - Target.x;
|
|
var dy = Sprite.y + Sprite.origin.y - Target.y;
|
|
if(Target._weak) {
|
|
Target.put();
|
|
}
|
|
return Math.sqrt(dx * dx + dy * dy) | 0;
|
|
};
|
|
flixel_math_FlxMath.isDistanceToPointWithin = function(Sprite,Target,Distance,IncludeEqual) {
|
|
if(IncludeEqual == null) {
|
|
IncludeEqual = false;
|
|
}
|
|
var dx = Sprite.x + Sprite.origin.x - Target.x;
|
|
var dy = Sprite.y + Sprite.origin.y - Target.y;
|
|
if(Target._weak) {
|
|
Target.put();
|
|
}
|
|
if(IncludeEqual) {
|
|
return dx * dx + dy * dy <= Distance * Distance;
|
|
} else {
|
|
return dx * dx + dy * dy < Distance * Distance;
|
|
}
|
|
};
|
|
flixel_math_FlxMath.distanceToMouse = function(Sprite) {
|
|
var dx = Sprite.x + Sprite.origin.x - flixel_FlxG.mouse.screenX;
|
|
var dy = Sprite.y + Sprite.origin.y - flixel_FlxG.mouse.screenY;
|
|
return Math.sqrt(dx * dx + dy * dy) | 0;
|
|
};
|
|
flixel_math_FlxMath.isDistanceToMouseWithin = function(Sprite,Distance,IncludeEqual) {
|
|
if(IncludeEqual == null) {
|
|
IncludeEqual = false;
|
|
}
|
|
var dx = Sprite.x + Sprite.origin.x - flixel_FlxG.mouse.screenX;
|
|
var dy = Sprite.y + Sprite.origin.y - flixel_FlxG.mouse.screenY;
|
|
if(IncludeEqual) {
|
|
return dx * dx + dy * dy <= Distance * Distance;
|
|
} else {
|
|
return dx * dx + dy * dy < Distance * Distance;
|
|
}
|
|
};
|
|
flixel_math_FlxMath.distanceToTouch = function(Sprite,Touch1) {
|
|
var dx = Sprite.x + Sprite.origin.x - Touch1.screenX;
|
|
var dy = Sprite.y + Sprite.origin.y - Touch1.screenY;
|
|
return Math.sqrt(dx * dx + dy * dy) | 0;
|
|
};
|
|
flixel_math_FlxMath.isDistanceToTouchWithin = function(Sprite,Touch1,Distance,IncludeEqual) {
|
|
if(IncludeEqual == null) {
|
|
IncludeEqual = false;
|
|
}
|
|
var dx = Sprite.x + Sprite.origin.x - Touch1.screenX;
|
|
var dy = Sprite.y + Sprite.origin.y - Touch1.screenY;
|
|
if(IncludeEqual) {
|
|
return dx * dx + dy * dy <= Distance * Distance;
|
|
} else {
|
|
return dx * dx + dy * dy < Distance * Distance;
|
|
}
|
|
};
|
|
flixel_math_FlxMath.getDecimals = function(n) {
|
|
var helperArray = (n == null ? "null" : "" + n).split(".");
|
|
var decimals = 0;
|
|
if(helperArray.length > 1) {
|
|
decimals = helperArray[1].length;
|
|
}
|
|
return decimals;
|
|
};
|
|
flixel_math_FlxMath.equal = function(aValueA,aValueB,aDiff) {
|
|
if(aDiff == null) {
|
|
aDiff = 0.0000001;
|
|
}
|
|
return Math.abs(aValueA - aValueB) <= aDiff;
|
|
};
|
|
flixel_math_FlxMath.signOf = function(n) {
|
|
if(n < 0) {
|
|
return -1;
|
|
} else {
|
|
return 1;
|
|
}
|
|
};
|
|
flixel_math_FlxMath.sameSign = function(a,b) {
|
|
return (a < 0 ? -1 : 1) == (b < 0 ? -1 : 1);
|
|
};
|
|
flixel_math_FlxMath.fastSin = function(n) {
|
|
n *= 0.3183098862;
|
|
if(n > 1) {
|
|
n -= Math.ceil(n) >> 1 << 1;
|
|
} else if(n < -1) {
|
|
n += Math.ceil(-n) >> 1 << 1;
|
|
}
|
|
if(n > 0) {
|
|
return n * (3.1 + n * (0.5 + n * (-7.2 + n * 3.6)));
|
|
} else {
|
|
return n * (3.1 - n * (0.5 + n * (7.2 + n * 3.6)));
|
|
}
|
|
};
|
|
flixel_math_FlxMath.fastCos = function(n) {
|
|
var n1 = n + 1.570796327;
|
|
n1 *= 0.3183098862;
|
|
if(n1 > 1) {
|
|
n1 -= Math.ceil(n1) >> 1 << 1;
|
|
} else if(n1 < -1) {
|
|
n1 += Math.ceil(-n1) >> 1 << 1;
|
|
}
|
|
if(n1 > 0) {
|
|
return n1 * (3.1 + n1 * (0.5 + n1 * (-7.2 + n1 * 3.6)));
|
|
} else {
|
|
return n1 * (3.1 - n1 * (0.5 + n1 * (7.2 + n1 * 3.6)));
|
|
}
|
|
};
|
|
flixel_math_FlxMath.sinh = function(n) {
|
|
return (Math.exp(n) - Math.exp(-n)) / 2;
|
|
};
|
|
flixel_math_FlxMath.maxInt = function(a,b) {
|
|
if(a > b) {
|
|
return a;
|
|
} else {
|
|
return b;
|
|
}
|
|
};
|
|
flixel_math_FlxMath.minInt = function(a,b) {
|
|
if(a > b) {
|
|
return b;
|
|
} else {
|
|
return a;
|
|
}
|
|
};
|
|
flixel_math_FlxMath.absInt = function(n) {
|
|
if(n > 0) {
|
|
return n;
|
|
} else {
|
|
return -n;
|
|
}
|
|
};
|
|
var flixel_math_FlxMatrix = function(a,b,c,d,tx,ty) {
|
|
openfl_geom_Matrix.call(this,a,b,c,d,tx,ty);
|
|
};
|
|
$hxClasses["flixel.math.FlxMatrix"] = flixel_math_FlxMatrix;
|
|
flixel_math_FlxMatrix.__name__ = "flixel.math.FlxMatrix";
|
|
flixel_math_FlxMatrix.__super__ = openfl_geom_Matrix;
|
|
flixel_math_FlxMatrix.prototype = $extend(openfl_geom_Matrix.prototype,{
|
|
rotateWithTrig: function(cos,sin) {
|
|
var a1 = this.a * cos - this.b * sin;
|
|
this.b = this.a * sin + this.b * cos;
|
|
this.a = a1;
|
|
var c1 = this.c * cos - this.d * sin;
|
|
this.d = this.c * sin + this.d * cos;
|
|
this.c = c1;
|
|
var tx1 = this.tx * cos - this.ty * sin;
|
|
this.ty = this.tx * sin + this.ty * cos;
|
|
this.tx = tx1;
|
|
return this;
|
|
}
|
|
,rotateBy180: function() {
|
|
this.setTo(-this.a,-this.b,-this.c,-this.d,-this.tx,-this.ty);
|
|
return this;
|
|
}
|
|
,rotateByPositive90: function() {
|
|
this.setTo(-this.b,this.a,-this.d,this.c,-this.ty,this.tx);
|
|
return this;
|
|
}
|
|
,rotateByNegative90: function() {
|
|
this.setTo(this.b,-this.a,this.d,-this.c,this.ty,-this.tx);
|
|
return this;
|
|
}
|
|
,transformX: function(px,py) {
|
|
return px * this.a + py * this.c + this.tx;
|
|
}
|
|
,transformY: function(px,py) {
|
|
return px * this.b + py * this.d + this.ty;
|
|
}
|
|
,__class__: flixel_math_FlxMatrix
|
|
});
|
|
var flixel_math_FlxCallbackPoint = function(setXCallback,setYCallback,setXYCallback) {
|
|
flixel_math_FlxPoint.call(this);
|
|
this._setXCallback = setXCallback;
|
|
this._setYCallback = setXYCallback;
|
|
this._setXYCallback = setXYCallback;
|
|
if(this._setXCallback != null) {
|
|
if(this._setYCallback == null) {
|
|
this._setYCallback = setXCallback;
|
|
}
|
|
if(this._setXYCallback == null) {
|
|
this._setXYCallback = setXCallback;
|
|
}
|
|
}
|
|
};
|
|
$hxClasses["flixel.math.FlxCallbackPoint"] = flixel_math_FlxCallbackPoint;
|
|
flixel_math_FlxCallbackPoint.__name__ = "flixel.math.FlxCallbackPoint";
|
|
flixel_math_FlxCallbackPoint.__super__ = flixel_math_FlxPoint;
|
|
flixel_math_FlxCallbackPoint.prototype = $extend(flixel_math_FlxPoint.prototype,{
|
|
_setXCallback: null
|
|
,_setYCallback: null
|
|
,_setXYCallback: null
|
|
,set: function(X,Y) {
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
flixel_math_FlxPoint.prototype.set.call(this,X,Y);
|
|
if(this._setXYCallback != null) {
|
|
this._setXYCallback(this);
|
|
}
|
|
return this;
|
|
}
|
|
,set_x: function(Value) {
|
|
flixel_math_FlxPoint.prototype.set_x.call(this,Value);
|
|
if(this._setXCallback != null) {
|
|
this._setXCallback(this);
|
|
}
|
|
return Value;
|
|
}
|
|
,set_y: function(Value) {
|
|
flixel_math_FlxPoint.prototype.set_y.call(this,Value);
|
|
if(this._setYCallback != null) {
|
|
this._setYCallback(this);
|
|
}
|
|
return Value;
|
|
}
|
|
,destroy: function() {
|
|
flixel_math_FlxPoint.prototype.destroy.call(this);
|
|
this._setXCallback = null;
|
|
this._setYCallback = null;
|
|
this._setXYCallback = null;
|
|
}
|
|
,put: function() {
|
|
}
|
|
,__class__: flixel_math_FlxCallbackPoint
|
|
});
|
|
var flixel_math_FlxVector = {};
|
|
flixel_math_FlxVector.__properties__ = {get_ly:"get_ly",get_lx:"get_lx",get_ry:"get_ry",get_rx:"get_rx",set_radians:"set_radians",get_radians:"get_radians",set_degrees:"set_degrees",get_degrees:"get_degrees",get_lengthSquared:"get_lengthSquared",set_length:"set_length",get_length:"get_length",get_dy:"get_dy",get_dx:"get_dx",set_y:"set_y",get_y:"get_y",set_x:"set_x",get_x:"get_x",get_pool:"get_pool"};
|
|
flixel_math_FlxVector.get = function(x,y) {
|
|
if(y == null) {
|
|
y = 0;
|
|
}
|
|
if(x == null) {
|
|
x = 0;
|
|
}
|
|
var X = x;
|
|
var Y = y;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
return point;
|
|
};
|
|
flixel_math_FlxVector.weak = function(x,y) {
|
|
if(y == null) {
|
|
y = 0;
|
|
}
|
|
if(x == null) {
|
|
x = 0;
|
|
}
|
|
var X = x;
|
|
var Y = y;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X1,Y1);
|
|
point._inPool = false;
|
|
var point1 = point;
|
|
point1._weak = true;
|
|
return point1;
|
|
};
|
|
flixel_math_FlxVector._new = function(x,y) {
|
|
if(y == null) {
|
|
y = 0;
|
|
}
|
|
if(x == null) {
|
|
x = 0;
|
|
}
|
|
var this1 = new flixel_math_FlxPoint(x,y);
|
|
return this1;
|
|
};
|
|
flixel_math_FlxVector.set = function(this1,x,y) {
|
|
if(y == null) {
|
|
y = 0;
|
|
}
|
|
if(x == null) {
|
|
x = 0;
|
|
}
|
|
return this1.set(x,y);
|
|
};
|
|
flixel_math_FlxVector.add = function(this1,x,y) {
|
|
if(y == null) {
|
|
y = 0;
|
|
}
|
|
if(x == null) {
|
|
x = 0;
|
|
}
|
|
var X = x;
|
|
var Y = y;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _g = this1;
|
|
_g.set_x(_g.x + X);
|
|
var _g = this1;
|
|
_g.set_y(_g.y + Y);
|
|
return this1;
|
|
};
|
|
flixel_math_FlxVector.addPoint = function(this1,point) {
|
|
return this1.addPoint(point);
|
|
};
|
|
flixel_math_FlxVector.subtract = function(this1,x,y) {
|
|
if(y == null) {
|
|
y = 0;
|
|
}
|
|
if(x == null) {
|
|
x = 0;
|
|
}
|
|
var X = x;
|
|
var Y = y;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _g = this1;
|
|
_g.set_x(_g.x - X);
|
|
var _g = this1;
|
|
_g.set_y(_g.y - Y);
|
|
return this1;
|
|
};
|
|
flixel_math_FlxVector.subtractPoint = function(this1,point) {
|
|
return this1.subtractPoint(point);
|
|
};
|
|
flixel_math_FlxVector.scale = function(this1,k) {
|
|
return this1.scale(k);
|
|
};
|
|
flixel_math_FlxVector.scaleNew = function(this1,k) {
|
|
return flixel_math_FlxVector.clone(this1).scale(k);
|
|
};
|
|
flixel_math_FlxVector.addNew = function(this1,v) {
|
|
return flixel_math_FlxVector.clone(this1).addPoint(v);
|
|
};
|
|
flixel_math_FlxVector.subtractNew = function(this1,v) {
|
|
return flixel_math_FlxVector.clone(this1).subtractPoint(v);
|
|
};
|
|
flixel_math_FlxVector.copyFrom = function(this1,point) {
|
|
this1.set_x(point.x);
|
|
this1.set_y(point.y);
|
|
if(point._weak) {
|
|
point.put();
|
|
}
|
|
return this1;
|
|
};
|
|
flixel_math_FlxVector.copyFromFlash = function(this1,flashPoint) {
|
|
this1.set_x(flashPoint.x);
|
|
this1.set_y(flashPoint.y);
|
|
return this1;
|
|
};
|
|
flixel_math_FlxVector.floor = function(this1) {
|
|
this1.set_x(Math.floor(this1.x));
|
|
this1.set_y(Math.floor(this1.y));
|
|
return this1;
|
|
};
|
|
flixel_math_FlxVector.ceil = function(this1) {
|
|
this1.set_x(Math.ceil(this1.x));
|
|
this1.set_y(Math.ceil(this1.y));
|
|
return this1;
|
|
};
|
|
flixel_math_FlxVector.round = function(this1) {
|
|
this1.set_x(Math.round(this1.x));
|
|
this1.set_y(Math.round(this1.y));
|
|
return this1;
|
|
};
|
|
flixel_math_FlxVector.rotate = function(this1,pivot,angle) {
|
|
return this1.rotate(pivot,angle);
|
|
};
|
|
flixel_math_FlxVector.transform = function(this1,matrix) {
|
|
var x1 = this1.x * matrix.a + this1.y * matrix.c + matrix.tx;
|
|
var y1 = this1.x * matrix.b + this1.y * matrix.d + matrix.ty;
|
|
return this1.set(x1,y1);
|
|
};
|
|
flixel_math_FlxVector.dotProduct = function(this1,v) {
|
|
var dp = this1.x * v.x + this1.y * v.y;
|
|
if(v._weak) {
|
|
v.put();
|
|
}
|
|
return dp;
|
|
};
|
|
flixel_math_FlxVector.dotProductWeak = function(this1,v) {
|
|
return this1.x * v.x + this1.y * v.y;
|
|
};
|
|
flixel_math_FlxVector.dotProdWithNormalizing = function(this1,v) {
|
|
var normalized = flixel_math_FlxVector.normalize(flixel_math_FlxVector.clone(v,flixel_math_FlxVector._vector1));
|
|
if(v._weak) {
|
|
v.put();
|
|
}
|
|
return this1.x * normalized.x + this1.y * normalized.y;
|
|
};
|
|
flixel_math_FlxVector.isPerpendicular = function(this1,v) {
|
|
var dp = this1.x * v.x + this1.y * v.y;
|
|
if(v._weak) {
|
|
v.put();
|
|
}
|
|
return Math.abs(dp) < 9.9999999999999984e-015;
|
|
};
|
|
flixel_math_FlxVector.crossProductLength = function(this1,v) {
|
|
var cp = this1.x * v.y - this1.y * v.x;
|
|
if(v._weak) {
|
|
v.put();
|
|
}
|
|
return cp;
|
|
};
|
|
flixel_math_FlxVector.crossProductLengthWeak = function(this1,v) {
|
|
return this1.x * v.y - this1.y * v.x;
|
|
};
|
|
flixel_math_FlxVector.isParallel = function(this1,v) {
|
|
var p = Math.abs(this1.x * v.y - this1.y * v.x) < 9.9999999999999984e-015;
|
|
if(v._weak) {
|
|
v.put();
|
|
}
|
|
return p;
|
|
};
|
|
flixel_math_FlxVector.isParallelWeak = function(this1,v) {
|
|
return Math.abs(this1.x * v.y - this1.y * v.x) < 9.9999999999999984e-015;
|
|
};
|
|
flixel_math_FlxVector.isZero = function(this1) {
|
|
if(Math.abs(this1.x) < 0.0000001) {
|
|
return Math.abs(this1.y) < 0.0000001;
|
|
} else {
|
|
return false;
|
|
}
|
|
};
|
|
flixel_math_FlxVector.zero = function(this1) {
|
|
this1.set_x(this1.set_y(0));
|
|
return this1;
|
|
};
|
|
flixel_math_FlxVector.normalize = function(this1) {
|
|
if(Math.abs(this1.x) < 0.0000001 && Math.abs(this1.y) < 0.0000001) {
|
|
return this1;
|
|
}
|
|
return this1.scale(1 / Math.sqrt(this1.x * this1.x + this1.y * this1.y));
|
|
};
|
|
flixel_math_FlxVector.isNormalized = function(this1) {
|
|
return Math.abs(this1.x * this1.x + this1.y * this1.y - 1) < 9.9999999999999984e-015;
|
|
};
|
|
flixel_math_FlxVector.rotateByRadians = function(this1,rads) {
|
|
var s = Math.sin(rads);
|
|
var c = Math.cos(rads);
|
|
var tempX = this1.x;
|
|
this1.set_x(tempX * c - this1.y * s);
|
|
this1.set_y(tempX * s + this1.y * c);
|
|
return this1;
|
|
};
|
|
flixel_math_FlxVector.rotateByDegrees = function(this1,degs) {
|
|
var rads = degs * (Math.PI / 180);
|
|
var s = Math.sin(rads);
|
|
var c = Math.cos(rads);
|
|
var tempX = this1.x;
|
|
this1.set_x(tempX * c - this1.y * s);
|
|
this1.set_y(tempX * s + this1.y * c);
|
|
return this1;
|
|
};
|
|
flixel_math_FlxVector.rotateWithTrig = function(this1,sin,cos) {
|
|
var tempX = this1.x;
|
|
this1.set_x(tempX * cos - this1.y * sin);
|
|
this1.set_y(tempX * sin + this1.y * cos);
|
|
return this1;
|
|
};
|
|
flixel_math_FlxVector.rightNormal = function(this1,vec) {
|
|
if(vec == null) {
|
|
var X = 0;
|
|
var Y = 0;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
vec = point;
|
|
}
|
|
var x = -this1.y;
|
|
var y = this1.x;
|
|
if(y == null) {
|
|
y = 0;
|
|
}
|
|
if(x == null) {
|
|
x = 0;
|
|
}
|
|
vec.set(x,y);
|
|
return vec;
|
|
};
|
|
flixel_math_FlxVector.leftNormal = function(this1,vec) {
|
|
if(vec == null) {
|
|
var X = 0;
|
|
var Y = 0;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
vec = point;
|
|
}
|
|
var x = this1.y;
|
|
var y = -this1.x;
|
|
if(y == null) {
|
|
y = 0;
|
|
}
|
|
if(x == null) {
|
|
x = 0;
|
|
}
|
|
vec.set(x,y);
|
|
return vec;
|
|
};
|
|
flixel_math_FlxVector.negate = function(this1) {
|
|
var _g = this1;
|
|
_g.set_x(_g.x * -1);
|
|
var _g = this1;
|
|
_g.set_y(_g.y * -1);
|
|
return this1;
|
|
};
|
|
flixel_math_FlxVector.negateNew = function(this1) {
|
|
var this2 = flixel_math_FlxVector.clone(this1);
|
|
var _g = this2;
|
|
_g.set_x(_g.x * -1);
|
|
var _g = this2;
|
|
_g.set_y(_g.y * -1);
|
|
return this2;
|
|
};
|
|
flixel_math_FlxVector.projectTo = function(this1,v,proj) {
|
|
var dp = this1.x * v.x + this1.y * v.y;
|
|
var lenSq = v.x * v.x + v.y * v.y;
|
|
if(proj == null) {
|
|
var X = 0;
|
|
var Y = 0;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
proj = point;
|
|
}
|
|
var x = dp * v.x / lenSq;
|
|
var y = dp * v.y / lenSq;
|
|
if(y == null) {
|
|
y = 0;
|
|
}
|
|
if(x == null) {
|
|
x = 0;
|
|
}
|
|
proj.set(x,y);
|
|
if(v._weak) {
|
|
v.put();
|
|
}
|
|
return proj;
|
|
};
|
|
flixel_math_FlxVector.projectToNormalized = function(this1,v,proj) {
|
|
var proj1 = proj;
|
|
var dp = this1.x * v.x + this1.y * v.y;
|
|
if(proj1 == null) {
|
|
var X = 0;
|
|
var Y = 0;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
proj1 = point;
|
|
}
|
|
var x = dp * v.x;
|
|
var y = dp * v.y;
|
|
if(y == null) {
|
|
y = 0;
|
|
}
|
|
if(x == null) {
|
|
x = 0;
|
|
}
|
|
proj = proj1.set(x,y);
|
|
if(v._weak) {
|
|
v.put();
|
|
}
|
|
return proj;
|
|
};
|
|
flixel_math_FlxVector.projectToNormalizedWeak = function(this1,v,proj) {
|
|
var dp = this1.x * v.x + this1.y * v.y;
|
|
if(proj == null) {
|
|
var X = 0;
|
|
var Y = 0;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
proj = point;
|
|
}
|
|
var x = dp * v.x;
|
|
var y = dp * v.y;
|
|
if(y == null) {
|
|
y = 0;
|
|
}
|
|
if(x == null) {
|
|
x = 0;
|
|
}
|
|
return proj.set(x,y);
|
|
};
|
|
flixel_math_FlxVector.perpProduct = function(this1,v) {
|
|
var pp = this1.y * v.x + -this1.x * v.y;
|
|
if(v._weak) {
|
|
v.put();
|
|
}
|
|
return pp;
|
|
};
|
|
flixel_math_FlxVector.perpProductWeak = function(this1,v) {
|
|
return this1.y * v.x + -this1.x * v.y;
|
|
};
|
|
flixel_math_FlxVector.ratio = function(this1,a,b,v) {
|
|
var r;
|
|
if(Math.abs(this1.x * v.y - this1.y * v.x) < 9.9999999999999984e-015) {
|
|
r = NaN;
|
|
} else if(this1.x * this1.x + this1.y * this1.y < 9.9999999999999984e-015 || v.x * v.x + v.y * v.y < 9.9999999999999984e-015) {
|
|
r = NaN;
|
|
} else {
|
|
flixel_math_FlxVector._vector1 = flixel_math_FlxVector.clone(b,flixel_math_FlxVector._vector1);
|
|
var _this = flixel_math_FlxVector._vector1;
|
|
var _g = _this;
|
|
_g.set_x(_g.x - a.x);
|
|
var _g = _this;
|
|
_g.set_y(_g.y - a.y);
|
|
var this2 = flixel_math_FlxVector._vector1;
|
|
r = (this2.y * v.x + -this2.x * v.y) / (this1.y * v.x + -this1.x * v.y);
|
|
}
|
|
if(a._weak) {
|
|
a.put();
|
|
}
|
|
if(b._weak) {
|
|
b.put();
|
|
}
|
|
if(v._weak) {
|
|
v.put();
|
|
}
|
|
return r;
|
|
};
|
|
flixel_math_FlxVector.ratioWeak = function(this1,a,b,v) {
|
|
if(Math.abs(this1.x * v.y - this1.y * v.x) < 9.9999999999999984e-015) {
|
|
return NaN;
|
|
}
|
|
if(this1.x * this1.x + this1.y * this1.y < 9.9999999999999984e-015 || v.x * v.x + v.y * v.y < 9.9999999999999984e-015) {
|
|
return NaN;
|
|
}
|
|
flixel_math_FlxVector._vector1 = flixel_math_FlxVector.clone(b,flixel_math_FlxVector._vector1);
|
|
var _this = flixel_math_FlxVector._vector1;
|
|
var _g = _this;
|
|
_g.set_x(_g.x - a.x);
|
|
var _g = _this;
|
|
_g.set_y(_g.y - a.y);
|
|
var this2 = flixel_math_FlxVector._vector1;
|
|
return (this2.y * v.x + -this2.x * v.y) / (this1.y * v.x + -this1.x * v.y);
|
|
};
|
|
flixel_math_FlxVector.findIntersection = function(this1,a,b,v,intersection) {
|
|
var t;
|
|
if(Math.abs(this1.x * v.y - this1.y * v.x) < 9.9999999999999984e-015) {
|
|
t = NaN;
|
|
} else if(this1.x * this1.x + this1.y * this1.y < 9.9999999999999984e-015 || v.x * v.x + v.y * v.y < 9.9999999999999984e-015) {
|
|
t = NaN;
|
|
} else {
|
|
flixel_math_FlxVector._vector1 = flixel_math_FlxVector.clone(b,flixel_math_FlxVector._vector1);
|
|
var _this = flixel_math_FlxVector._vector1;
|
|
var _g = _this;
|
|
_g.set_x(_g.x - a.x);
|
|
var _g = _this;
|
|
_g.set_y(_g.y - a.y);
|
|
var this2 = flixel_math_FlxVector._vector1;
|
|
t = (this2.y * v.x + -this2.x * v.y) / (this1.y * v.x + -this1.x * v.y);
|
|
}
|
|
if(intersection == null) {
|
|
var X = 0;
|
|
var Y = 0;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
intersection = point;
|
|
}
|
|
if(isNaN(t)) {
|
|
var x = NaN;
|
|
var y = NaN;
|
|
if(y == null) {
|
|
y = 0;
|
|
}
|
|
if(x == null) {
|
|
x = 0;
|
|
}
|
|
intersection.set(x,y);
|
|
} else {
|
|
var x = a.x + t * this1.x;
|
|
var y = a.y + t * this1.y;
|
|
if(y == null) {
|
|
y = 0;
|
|
}
|
|
if(x == null) {
|
|
x = 0;
|
|
}
|
|
intersection.set(x,y);
|
|
}
|
|
if(a._weak) {
|
|
a.put();
|
|
}
|
|
if(b._weak) {
|
|
b.put();
|
|
}
|
|
if(v._weak) {
|
|
v.put();
|
|
}
|
|
return intersection;
|
|
};
|
|
flixel_math_FlxVector.findIntersectionInBounds = function(this1,a,b,v,intersection) {
|
|
if(intersection == null) {
|
|
var X = 0;
|
|
var Y = 0;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
intersection = point;
|
|
}
|
|
var t1;
|
|
if(Math.abs(this1.x * v.y - this1.y * v.x) < 9.9999999999999984e-015) {
|
|
t1 = NaN;
|
|
} else if(this1.x * this1.x + this1.y * this1.y < 9.9999999999999984e-015 || v.x * v.x + v.y * v.y < 9.9999999999999984e-015) {
|
|
t1 = NaN;
|
|
} else {
|
|
flixel_math_FlxVector._vector1 = flixel_math_FlxVector.clone(b,flixel_math_FlxVector._vector1);
|
|
var _this = flixel_math_FlxVector._vector1;
|
|
var _g = _this;
|
|
_g.set_x(_g.x - a.x);
|
|
var _g = _this;
|
|
_g.set_y(_g.y - a.y);
|
|
var this2 = flixel_math_FlxVector._vector1;
|
|
t1 = (this2.y * v.x + -this2.x * v.y) / (this1.y * v.x + -this1.x * v.y);
|
|
}
|
|
var t2;
|
|
if(Math.abs(v.x * this1.y - v.y * this1.x) < 9.9999999999999984e-015) {
|
|
t2 = NaN;
|
|
} else if(v.x * v.x + v.y * v.y < 9.9999999999999984e-015 || this1.x * this1.x + this1.y * this1.y < 9.9999999999999984e-015) {
|
|
t2 = NaN;
|
|
} else {
|
|
flixel_math_FlxVector._vector1 = flixel_math_FlxVector.clone(a,flixel_math_FlxVector._vector1);
|
|
var _this = flixel_math_FlxVector._vector1;
|
|
var _g = _this;
|
|
_g.set_x(_g.x - b.x);
|
|
var _g = _this;
|
|
_g.set_y(_g.y - b.y);
|
|
var this2 = flixel_math_FlxVector._vector1;
|
|
t2 = (this2.y * this1.x + -this2.x * this1.y) / (v.y * this1.x + -v.x * this1.y);
|
|
}
|
|
if(!isNaN(t1) && !isNaN(t2) && t1 > 0 && t1 <= 1 && t2 > 0 && t2 <= 1) {
|
|
var x = a.x + t1 * this1.x;
|
|
var y = a.y + t1 * this1.y;
|
|
if(y == null) {
|
|
y = 0;
|
|
}
|
|
if(x == null) {
|
|
x = 0;
|
|
}
|
|
intersection.set(x,y);
|
|
} else {
|
|
var x = NaN;
|
|
var y = NaN;
|
|
if(y == null) {
|
|
y = 0;
|
|
}
|
|
if(x == null) {
|
|
x = 0;
|
|
}
|
|
intersection.set(x,y);
|
|
}
|
|
if(a._weak) {
|
|
a.put();
|
|
}
|
|
if(b._weak) {
|
|
b.put();
|
|
}
|
|
if(v._weak) {
|
|
v.put();
|
|
}
|
|
return intersection;
|
|
};
|
|
flixel_math_FlxVector.truncate = function(this1,max) {
|
|
var l = Math.min(max,Math.sqrt(this1.x * this1.x + this1.y * this1.y));
|
|
if(!(Math.abs(this1.x) < 0.0000001 && Math.abs(this1.y) < 0.0000001)) {
|
|
var a = flixel_math_FlxVector.get_radians(this1);
|
|
this1.set_x(l * Math.cos(a));
|
|
this1.set_y(l * Math.sin(a));
|
|
}
|
|
return this1;
|
|
};
|
|
flixel_math_FlxVector.radiansBetween = function(this1,v) {
|
|
var rads = Math.acos((this1.x * v.x + this1.y * v.y) / (Math.sqrt(this1.x * this1.x + this1.y * this1.y) * Math.sqrt(v.x * v.x + v.y * v.y)));
|
|
if(v._weak) {
|
|
v.put();
|
|
}
|
|
return rads;
|
|
};
|
|
flixel_math_FlxVector.degreesBetween = function(this1,v) {
|
|
var rads = Math.acos((this1.x * v.x + this1.y * v.y) / (Math.sqrt(this1.x * this1.x + this1.y * this1.y) * Math.sqrt(v.x * v.x + v.y * v.y)));
|
|
if(v._weak) {
|
|
v.put();
|
|
}
|
|
return rads * (180 / Math.PI);
|
|
};
|
|
flixel_math_FlxVector.sign = function(this1,a,b) {
|
|
var signFl = (a.x - this1.x) * (b.y - this1.y) - (a.y - this1.y) * (b.x - this1.x);
|
|
if(a._weak) {
|
|
a.put();
|
|
}
|
|
if(b._weak) {
|
|
b.put();
|
|
}
|
|
if(signFl == 0) {
|
|
return 0;
|
|
}
|
|
return Math.round(signFl / Math.abs(signFl));
|
|
};
|
|
flixel_math_FlxVector.dist = function(this1,v) {
|
|
var dx = v.x - this1.x;
|
|
var dy = v.y - this1.y;
|
|
if(v._weak) {
|
|
v.put();
|
|
}
|
|
return Math.sqrt(dx * dx + dy * dy);
|
|
};
|
|
flixel_math_FlxVector.distSquared = function(this1,v) {
|
|
var dx = v.x - this1.x;
|
|
var dy = v.y - this1.y;
|
|
if(v._weak) {
|
|
v.put();
|
|
}
|
|
return dx * dx + dy * dy;
|
|
};
|
|
flixel_math_FlxVector.bounce = function(this1,normal,bounceCoeff) {
|
|
if(bounceCoeff == null) {
|
|
bounceCoeff = 1;
|
|
}
|
|
var d = (1 + bounceCoeff) * (this1.x * normal.x + this1.y * normal.y);
|
|
var _g = this1;
|
|
_g.set_x(_g.x - d * normal.x);
|
|
var _g = this1;
|
|
_g.set_y(_g.y - d * normal.y);
|
|
if(normal._weak) {
|
|
normal.put();
|
|
}
|
|
return this1;
|
|
};
|
|
flixel_math_FlxVector.bounceWithFriction = function(this1,normal,bounceCoeff,friction) {
|
|
if(friction == null) {
|
|
friction = 0;
|
|
}
|
|
if(bounceCoeff == null) {
|
|
bounceCoeff = 1;
|
|
}
|
|
var v = flixel_math_FlxVector.rightNormal(normal,flixel_math_FlxVector._vector3);
|
|
var proj = flixel_math_FlxVector._vector1;
|
|
var dp = this1.x * v.x + this1.y * v.y;
|
|
if(proj == null) {
|
|
var X = 0;
|
|
var Y = 0;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
proj = point;
|
|
}
|
|
var x = dp * v.x;
|
|
var y = dp * v.y;
|
|
if(y == null) {
|
|
y = 0;
|
|
}
|
|
if(x == null) {
|
|
x = 0;
|
|
}
|
|
var p1 = proj.set(x,y);
|
|
var proj = flixel_math_FlxVector._vector2;
|
|
var dp = this1.x * normal.x + this1.y * normal.y;
|
|
if(proj == null) {
|
|
var X = 0;
|
|
var Y = 0;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
proj = point;
|
|
}
|
|
var x = dp * normal.x;
|
|
var y = dp * normal.y;
|
|
if(y == null) {
|
|
y = 0;
|
|
}
|
|
if(x == null) {
|
|
x = 0;
|
|
}
|
|
var p2 = proj.set(x,y);
|
|
var bounceX = -p2.x;
|
|
var bounceY = -p2.y;
|
|
var frictionX = p1.x;
|
|
var frictionY = p1.y;
|
|
this1.set_x(bounceX * bounceCoeff + frictionX * friction);
|
|
this1.set_y(bounceY * bounceCoeff + frictionY * friction);
|
|
if(normal._weak) {
|
|
normal.put();
|
|
}
|
|
return this1;
|
|
};
|
|
flixel_math_FlxVector.isValid = function(this1) {
|
|
var tmp;
|
|
var tmp1;
|
|
var f = this1.x;
|
|
if(!isNaN(f)) {
|
|
var f = this1.y;
|
|
tmp1 = !isNaN(f);
|
|
} else {
|
|
tmp1 = false;
|
|
}
|
|
if(tmp1) {
|
|
var f = this1.x;
|
|
tmp = isFinite(f);
|
|
} else {
|
|
tmp = false;
|
|
}
|
|
if(tmp) {
|
|
var f = this1.y;
|
|
return isFinite(f);
|
|
} else {
|
|
return false;
|
|
}
|
|
};
|
|
flixel_math_FlxVector.clone = function(this1,vec) {
|
|
if(vec == null) {
|
|
var X = 0;
|
|
var Y = 0;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
vec = point;
|
|
}
|
|
vec.set_x(this1.x);
|
|
vec.set_y(this1.y);
|
|
return vec;
|
|
};
|
|
flixel_math_FlxVector.get_x = function(this1) {
|
|
return this1.x;
|
|
};
|
|
flixel_math_FlxVector.set_x = function(this1,x) {
|
|
return this1.set_x(x);
|
|
};
|
|
flixel_math_FlxVector.get_y = function(this1) {
|
|
return this1.y;
|
|
};
|
|
flixel_math_FlxVector.set_y = function(this1,y) {
|
|
return this1.set_y(y);
|
|
};
|
|
flixel_math_FlxVector.get_dx = function(this1) {
|
|
if(Math.abs(this1.x) < 0.0000001 && Math.abs(this1.y) < 0.0000001) {
|
|
return 0;
|
|
}
|
|
return this1.x / Math.sqrt(this1.x * this1.x + this1.y * this1.y);
|
|
};
|
|
flixel_math_FlxVector.get_dy = function(this1) {
|
|
if(Math.abs(this1.x) < 0.0000001 && Math.abs(this1.y) < 0.0000001) {
|
|
return 0;
|
|
}
|
|
return this1.y / Math.sqrt(this1.x * this1.x + this1.y * this1.y);
|
|
};
|
|
flixel_math_FlxVector.get_length = function(this1) {
|
|
return Math.sqrt(this1.x * this1.x + this1.y * this1.y);
|
|
};
|
|
flixel_math_FlxVector.set_length = function(this1,l) {
|
|
if(!(Math.abs(this1.x) < 0.0000001 && Math.abs(this1.y) < 0.0000001)) {
|
|
var a = flixel_math_FlxVector.get_radians(this1);
|
|
this1.set_x(l * Math.cos(a));
|
|
this1.set_y(l * Math.sin(a));
|
|
}
|
|
return l;
|
|
};
|
|
flixel_math_FlxVector.get_lengthSquared = function(this1) {
|
|
return this1.x * this1.x + this1.y * this1.y;
|
|
};
|
|
flixel_math_FlxVector.get_degrees = function(this1) {
|
|
return flixel_math_FlxVector.get_radians(this1) * (180 / Math.PI);
|
|
};
|
|
flixel_math_FlxVector.set_degrees = function(this1,degs) {
|
|
var rads = degs * (Math.PI / 180);
|
|
var len = Math.sqrt(this1.x * this1.x + this1.y * this1.y);
|
|
this1.set_x(len * Math.cos(rads));
|
|
this1.set_y(len * Math.sin(rads));
|
|
return degs;
|
|
};
|
|
flixel_math_FlxVector.get_radians = function(this1) {
|
|
if(Math.abs(this1.x) < 0.0000001 && Math.abs(this1.y) < 0.0000001) {
|
|
return 0;
|
|
}
|
|
return Math.atan2(this1.y,this1.x);
|
|
};
|
|
flixel_math_FlxVector.set_radians = function(this1,rads) {
|
|
var len = Math.sqrt(this1.x * this1.x + this1.y * this1.y);
|
|
this1.set_x(len * Math.cos(rads));
|
|
this1.set_y(len * Math.sin(rads));
|
|
return rads;
|
|
};
|
|
flixel_math_FlxVector.get_rx = function(this1) {
|
|
return -this1.y;
|
|
};
|
|
flixel_math_FlxVector.get_ry = function(this1) {
|
|
return this1.x;
|
|
};
|
|
flixel_math_FlxVector.get_lx = function(this1) {
|
|
return this1.y;
|
|
};
|
|
flixel_math_FlxVector.get_ly = function(this1) {
|
|
return -this1.x;
|
|
};
|
|
flixel_math_FlxVector.get_pool = function() {
|
|
return flixel_math_FlxPoint.get_pool();
|
|
};
|
|
var flixel_math_FlxVelocity = function() { };
|
|
$hxClasses["flixel.math.FlxVelocity"] = flixel_math_FlxVelocity;
|
|
flixel_math_FlxVelocity.__name__ = "flixel.math.FlxVelocity";
|
|
flixel_math_FlxVelocity.moveTowardsObject = function(Source,Dest,Speed,MaxTime) {
|
|
if(MaxTime == null) {
|
|
MaxTime = 0;
|
|
}
|
|
if(Speed == null) {
|
|
Speed = 60;
|
|
}
|
|
var a = flixel_math_FlxAngle.angleBetween(Source,Dest);
|
|
if(MaxTime > 0) {
|
|
var dx = Source.x + Source.origin.x - (Dest.x + Dest.origin.x);
|
|
var dy = Source.y + Source.origin.y - (Dest.y + Dest.origin.y);
|
|
var d = Math.sqrt(dx * dx + dy * dy) | 0;
|
|
Speed = d / (MaxTime / 1000) | 0;
|
|
}
|
|
Source.velocity.set_x(Math.cos(a) * Speed);
|
|
Source.velocity.set_y(Math.sin(a) * Speed);
|
|
};
|
|
flixel_math_FlxVelocity.accelerateTowardsObject = function(Source,Dest,Acceleration,MaxSpeed) {
|
|
var a = flixel_math_FlxAngle.angleBetween(Source,Dest);
|
|
var sinA = Math.sin(a);
|
|
var cosA = Math.cos(a);
|
|
Source.velocity.set(0,0);
|
|
Source.acceleration.set(cosA * Acceleration,sinA * Acceleration);
|
|
Source.maxVelocity.set(Math.abs(cosA * MaxSpeed),Math.abs(sinA * MaxSpeed));
|
|
};
|
|
flixel_math_FlxVelocity.moveTowardsMouse = function(Source,Speed,MaxTime) {
|
|
if(MaxTime == null) {
|
|
MaxTime = 0;
|
|
}
|
|
if(Speed == null) {
|
|
Speed = 60;
|
|
}
|
|
var a = flixel_math_FlxAngle.angleBetweenMouse(Source);
|
|
if(MaxTime > 0) {
|
|
var dx = Source.x + Source.origin.x - flixel_FlxG.mouse.screenX;
|
|
var dy = Source.y + Source.origin.y - flixel_FlxG.mouse.screenY;
|
|
var d = Math.sqrt(dx * dx + dy * dy) | 0;
|
|
Speed = d / (MaxTime / 1000) | 0;
|
|
}
|
|
Source.velocity.set_x(Math.cos(a) * Speed);
|
|
Source.velocity.set_y(Math.sin(a) * Speed);
|
|
};
|
|
flixel_math_FlxVelocity.moveTowardsTouch = function(Source,Touch1,Speed,MaxTime) {
|
|
if(MaxTime == null) {
|
|
MaxTime = 0;
|
|
}
|
|
if(Speed == null) {
|
|
Speed = 60;
|
|
}
|
|
var a = flixel_math_FlxAngle.angleBetweenTouch(Source,Touch1);
|
|
if(MaxTime > 0) {
|
|
var dx = Source.x + Source.origin.x - Touch1.screenX;
|
|
var dy = Source.y + Source.origin.y - Touch1.screenY;
|
|
var d = Math.sqrt(dx * dx + dy * dy) | 0;
|
|
Speed = d / (MaxTime / 1000) | 0;
|
|
}
|
|
Source.velocity.set_x(Math.cos(a) * Speed);
|
|
Source.velocity.set_y(Math.sin(a) * Speed);
|
|
};
|
|
flixel_math_FlxVelocity.accelerateTowardsMouse = function(Source,Acceleration,MaxSpeed) {
|
|
var a = flixel_math_FlxAngle.angleBetweenMouse(Source);
|
|
var sinA = Math.sin(a);
|
|
var cosA = Math.cos(a);
|
|
Source.velocity.set(0,0);
|
|
Source.acceleration.set(cosA * Acceleration,sinA * Acceleration);
|
|
Source.maxVelocity.set(Math.abs(cosA * MaxSpeed),Math.abs(sinA * MaxSpeed));
|
|
};
|
|
flixel_math_FlxVelocity.accelerateTowardsTouch = function(Source,Touch1,Acceleration,MaxSpeed) {
|
|
var a = flixel_math_FlxAngle.angleBetweenTouch(Source,Touch1);
|
|
var sinA = Math.sin(a);
|
|
var cosA = Math.cos(a);
|
|
Source.velocity.set(0,0);
|
|
Source.acceleration.set(cosA * Acceleration,sinA * Acceleration);
|
|
Source.maxVelocity.set(Math.abs(cosA * MaxSpeed),Math.abs(sinA * MaxSpeed));
|
|
};
|
|
flixel_math_FlxVelocity.moveTowardsPoint = function(Source,Target,Speed,MaxTime) {
|
|
if(MaxTime == null) {
|
|
MaxTime = 0;
|
|
}
|
|
if(Speed == null) {
|
|
Speed = 60;
|
|
}
|
|
var a = flixel_math_FlxAngle.angleBetweenPoint(Source,Target);
|
|
if(MaxTime > 0) {
|
|
var dx = Source.x + Source.origin.x - Target.x;
|
|
var dy = Source.y + Source.origin.y - Target.y;
|
|
if(Target._weak) {
|
|
Target.put();
|
|
}
|
|
var d = Math.sqrt(dx * dx + dy * dy) | 0;
|
|
Speed = d / (MaxTime / 1000) | 0;
|
|
}
|
|
Source.velocity.set_x(Math.cos(a) * Speed);
|
|
Source.velocity.set_y(Math.sin(a) * Speed);
|
|
if(Target._weak) {
|
|
Target.put();
|
|
}
|
|
};
|
|
flixel_math_FlxVelocity.accelerateTowardsPoint = function(Source,Target,Acceleration,MaxSpeed) {
|
|
var a = flixel_math_FlxAngle.angleBetweenPoint(Source,Target);
|
|
var sinA = Math.sin(a);
|
|
var cosA = Math.cos(a);
|
|
Source.velocity.set(0,0);
|
|
Source.acceleration.set(cosA * Acceleration,sinA * Acceleration);
|
|
Source.maxVelocity.set(Math.abs(cosA * MaxSpeed),Math.abs(sinA * MaxSpeed));
|
|
if(Target._weak) {
|
|
Target.put();
|
|
}
|
|
};
|
|
flixel_math_FlxVelocity.velocityFromAngle = function(Angle,Speed) {
|
|
var a = Angle * (Math.PI / 180);
|
|
var X = Math.cos(a) * Speed;
|
|
var Y = Math.sin(a) * Speed;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
return point;
|
|
};
|
|
flixel_math_FlxVelocity.velocityFromFacing = function(Parent,Speed) {
|
|
var a = flixel_math_FlxAngle.angleFromFacing(Parent.facing);
|
|
var X = Math.cos(a) * Speed;
|
|
var Y = Math.sin(a) * Speed;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
return point;
|
|
};
|
|
flixel_math_FlxVelocity.computeVelocity = function(Velocity,Acceleration,Drag,Max,Elapsed) {
|
|
if(Acceleration != 0) {
|
|
Velocity += Acceleration * Elapsed;
|
|
} else if(Drag != 0) {
|
|
var drag = Drag * Elapsed;
|
|
if(Velocity - drag > 0) {
|
|
Velocity -= drag;
|
|
} else if(Velocity + drag < 0) {
|
|
Velocity += drag;
|
|
} else {
|
|
Velocity = 0;
|
|
}
|
|
}
|
|
if(Velocity != 0 && Max != 0) {
|
|
if(Velocity > Max) {
|
|
Velocity = Max;
|
|
} else if(Velocity < -Max) {
|
|
Velocity = -Max;
|
|
}
|
|
}
|
|
return Velocity;
|
|
};
|
|
flixel_math_FlxVelocity.accelerateFromAngle = function(source,radians,acceleration,maxSpeed,resetVelocity) {
|
|
if(resetVelocity == null) {
|
|
resetVelocity = true;
|
|
}
|
|
var sinA = Math.sin(radians);
|
|
var cosA = Math.cos(radians);
|
|
if(resetVelocity) {
|
|
source.velocity.set(0,0);
|
|
}
|
|
source.acceleration.set(cosA * acceleration,sinA * acceleration);
|
|
source.maxVelocity.set(Math.abs(cosA * maxSpeed),Math.abs(sinA * maxSpeed));
|
|
};
|
|
var flixel_system_GraphicLogo = function(width,height,transparent,fillRGBA,onload) {
|
|
if(fillRGBA == null) {
|
|
fillRGBA = -1;
|
|
}
|
|
if(transparent == null) {
|
|
transparent = true;
|
|
}
|
|
openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA);
|
|
if(flixel_system_GraphicLogo.preload != null) {
|
|
this.__fromImage(flixel_system_GraphicLogo.preload);
|
|
} else {
|
|
var _gthis = this;
|
|
lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_GraphicLogo.resourceName),flixel_system_GraphicLogo.resourceType).then(function(image) {
|
|
_gthis.__fromImage(image);
|
|
return lime_app_Future.withValue(_gthis);
|
|
}).onComplete(function(b) {
|
|
if(flixel_system_GraphicLogo.preload == null) {
|
|
flixel_system_GraphicLogo.preload = b.image;
|
|
}
|
|
if(onload != null && Reflect.isFunction(onload)) {
|
|
onload(b);
|
|
}
|
|
});
|
|
}
|
|
};
|
|
$hxClasses["flixel.system.GraphicLogo"] = flixel_system_GraphicLogo;
|
|
flixel_system_GraphicLogo.__name__ = "flixel.system.GraphicLogo";
|
|
flixel_system_GraphicLogo.preload = null;
|
|
flixel_system_GraphicLogo.__super__ = openfl_display_BitmapData;
|
|
flixel_system_GraphicLogo.prototype = $extend(openfl_display_BitmapData.prototype,{
|
|
__class__: flixel_system_GraphicLogo
|
|
});
|
|
var flixel_system_GraphicVirtualInput = function(width,height,transparent,fillRGBA,onload) {
|
|
if(fillRGBA == null) {
|
|
fillRGBA = -1;
|
|
}
|
|
if(transparent == null) {
|
|
transparent = true;
|
|
}
|
|
openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA);
|
|
if(flixel_system_GraphicVirtualInput.preload != null) {
|
|
this.__fromImage(flixel_system_GraphicVirtualInput.preload);
|
|
} else {
|
|
var _gthis = this;
|
|
lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_GraphicVirtualInput.resourceName),flixel_system_GraphicVirtualInput.resourceType).then(function(image) {
|
|
_gthis.__fromImage(image);
|
|
return lime_app_Future.withValue(_gthis);
|
|
}).onComplete(function(b) {
|
|
if(flixel_system_GraphicVirtualInput.preload == null) {
|
|
flixel_system_GraphicVirtualInput.preload = b.image;
|
|
}
|
|
if(onload != null && Reflect.isFunction(onload)) {
|
|
onload(b);
|
|
}
|
|
});
|
|
}
|
|
};
|
|
$hxClasses["flixel.system.GraphicVirtualInput"] = flixel_system_GraphicVirtualInput;
|
|
flixel_system_GraphicVirtualInput.__name__ = "flixel.system.GraphicVirtualInput";
|
|
flixel_system_GraphicVirtualInput.preload = null;
|
|
flixel_system_GraphicVirtualInput.__super__ = openfl_display_BitmapData;
|
|
flixel_system_GraphicVirtualInput.prototype = $extend(openfl_display_BitmapData.prototype,{
|
|
__class__: flixel_system_GraphicVirtualInput
|
|
});
|
|
var haxe_io_Bytes = function(data) {
|
|
this.length = data.byteLength;
|
|
this.b = new Uint8Array(data);
|
|
this.b.bufferValue = data;
|
|
data.hxBytes = this;
|
|
data.bytes = this.b;
|
|
};
|
|
$hxClasses["haxe.io.Bytes"] = haxe_io_Bytes;
|
|
haxe_io_Bytes.__name__ = "haxe.io.Bytes";
|
|
haxe_io_Bytes.alloc = function(length) {
|
|
return new haxe_io_Bytes(new ArrayBuffer(length));
|
|
};
|
|
haxe_io_Bytes.ofString = function(s,encoding) {
|
|
var a = [];
|
|
var i = 0;
|
|
while(i < s.length) {
|
|
var c = s.charCodeAt(i++);
|
|
if(55296 <= c && c <= 56319) {
|
|
c = c - 55232 << 10 | s.charCodeAt(i++) & 1023;
|
|
}
|
|
if(c <= 127) {
|
|
a.push(c);
|
|
} else if(c <= 2047) {
|
|
a.push(192 | c >> 6);
|
|
a.push(128 | c & 63);
|
|
} else if(c <= 65535) {
|
|
a.push(224 | c >> 12);
|
|
a.push(128 | c >> 6 & 63);
|
|
a.push(128 | c & 63);
|
|
} else {
|
|
a.push(240 | c >> 18);
|
|
a.push(128 | c >> 12 & 63);
|
|
a.push(128 | c >> 6 & 63);
|
|
a.push(128 | c & 63);
|
|
}
|
|
}
|
|
return new haxe_io_Bytes(new Uint8Array(a).buffer);
|
|
};
|
|
haxe_io_Bytes.ofData = function(b) {
|
|
var hb = b.hxBytes;
|
|
if(hb != null) {
|
|
return hb;
|
|
}
|
|
return new haxe_io_Bytes(b);
|
|
};
|
|
haxe_io_Bytes.ofHex = function(s) {
|
|
if((s.length & 1) != 0) {
|
|
throw haxe_Exception.thrown("Not a hex string (odd number of digits)");
|
|
}
|
|
var a = [];
|
|
var i = 0;
|
|
var len = s.length >> 1;
|
|
while(i < len) {
|
|
var high = s.charCodeAt(i * 2);
|
|
var low = s.charCodeAt(i * 2 + 1);
|
|
high = (high & 15) + ((high & 64) >> 6) * 9;
|
|
low = (low & 15) + ((low & 64) >> 6) * 9;
|
|
a.push((high << 4 | low) & 255);
|
|
++i;
|
|
}
|
|
return new haxe_io_Bytes(new Uint8Array(a).buffer);
|
|
};
|
|
haxe_io_Bytes.fastGet = function(b,pos) {
|
|
return b.bytes[pos];
|
|
};
|
|
haxe_io_Bytes.prototype = {
|
|
length: null
|
|
,b: null
|
|
,data: null
|
|
,get: function(pos) {
|
|
return this.b[pos];
|
|
}
|
|
,set: function(pos,v) {
|
|
this.b[pos] = v & 255;
|
|
}
|
|
,blit: function(pos,src,srcpos,len) {
|
|
if(pos < 0 || srcpos < 0 || len < 0 || pos + len > this.length || srcpos + len > src.length) {
|
|
throw haxe_Exception.thrown(haxe_io_Error.OutsideBounds);
|
|
}
|
|
if(srcpos == 0 && len == src.b.byteLength) {
|
|
this.b.set(src.b,pos);
|
|
} else {
|
|
this.b.set(src.b.subarray(srcpos,srcpos + len),pos);
|
|
}
|
|
}
|
|
,fill: function(pos,len,value) {
|
|
var _g = 0;
|
|
var _g1 = len;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
this.b[pos++] = value & 255;
|
|
}
|
|
}
|
|
,sub: function(pos,len) {
|
|
if(pos < 0 || len < 0 || pos + len > this.length) {
|
|
throw haxe_Exception.thrown(haxe_io_Error.OutsideBounds);
|
|
}
|
|
return new haxe_io_Bytes(this.b.buffer.slice(pos + this.b.byteOffset,pos + this.b.byteOffset + len));
|
|
}
|
|
,compare: function(other) {
|
|
var b1 = this.b;
|
|
var b2 = other.b;
|
|
var len = this.length < other.length ? this.length : other.length;
|
|
var _g = 0;
|
|
var _g1 = len;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(b1[i] != b2[i]) {
|
|
return b1[i] - b2[i];
|
|
}
|
|
}
|
|
return this.length - other.length;
|
|
}
|
|
,initData: function() {
|
|
if(this.data == null) {
|
|
this.data = new DataView(this.b.buffer,this.b.byteOffset,this.b.byteLength);
|
|
}
|
|
}
|
|
,getDouble: function(pos) {
|
|
if(this.data == null) {
|
|
this.data = new DataView(this.b.buffer,this.b.byteOffset,this.b.byteLength);
|
|
}
|
|
return this.data.getFloat64(pos,true);
|
|
}
|
|
,getFloat: function(pos) {
|
|
if(this.data == null) {
|
|
this.data = new DataView(this.b.buffer,this.b.byteOffset,this.b.byteLength);
|
|
}
|
|
return this.data.getFloat32(pos,true);
|
|
}
|
|
,setDouble: function(pos,v) {
|
|
if(this.data == null) {
|
|
this.data = new DataView(this.b.buffer,this.b.byteOffset,this.b.byteLength);
|
|
}
|
|
this.data.setFloat64(pos,v,true);
|
|
}
|
|
,setFloat: function(pos,v) {
|
|
if(this.data == null) {
|
|
this.data = new DataView(this.b.buffer,this.b.byteOffset,this.b.byteLength);
|
|
}
|
|
this.data.setFloat32(pos,v,true);
|
|
}
|
|
,getUInt16: function(pos) {
|
|
if(this.data == null) {
|
|
this.data = new DataView(this.b.buffer,this.b.byteOffset,this.b.byteLength);
|
|
}
|
|
return this.data.getUint16(pos,true);
|
|
}
|
|
,setUInt16: function(pos,v) {
|
|
if(this.data == null) {
|
|
this.data = new DataView(this.b.buffer,this.b.byteOffset,this.b.byteLength);
|
|
}
|
|
this.data.setUint16(pos,v,true);
|
|
}
|
|
,getInt32: function(pos) {
|
|
if(this.data == null) {
|
|
this.data = new DataView(this.b.buffer,this.b.byteOffset,this.b.byteLength);
|
|
}
|
|
return this.data.getInt32(pos,true);
|
|
}
|
|
,setInt32: function(pos,v) {
|
|
if(this.data == null) {
|
|
this.data = new DataView(this.b.buffer,this.b.byteOffset,this.b.byteLength);
|
|
}
|
|
this.data.setInt32(pos,v,true);
|
|
}
|
|
,getInt64: function(pos) {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(this.getInt32(pos + 4),this.getInt32(pos));
|
|
return this1;
|
|
}
|
|
,setInt64: function(pos,v) {
|
|
this.setInt32(pos,v.low);
|
|
this.setInt32(pos + 4,v.high);
|
|
}
|
|
,getString: function(pos,len,encoding) {
|
|
if(pos < 0 || len < 0 || pos + len > this.length) {
|
|
throw haxe_Exception.thrown(haxe_io_Error.OutsideBounds);
|
|
}
|
|
var s = "";
|
|
var b = this.b;
|
|
var fcc = _$String_String_$Impl_$.fromCharCode;
|
|
var i = pos;
|
|
var max = pos + len;
|
|
while(i < max) {
|
|
var c = b[i++];
|
|
if(c < 128) {
|
|
if(c == 0) {
|
|
break;
|
|
}
|
|
s += fcc(c);
|
|
} else if(c < 224) {
|
|
s += fcc((c & 63) << 6 | b[i++] & 127);
|
|
} else if(c < 240) {
|
|
var c2 = b[i++];
|
|
s += fcc((c & 31) << 12 | (c2 & 127) << 6 | b[i++] & 127);
|
|
} else {
|
|
var c21 = b[i++];
|
|
var c3 = b[i++];
|
|
var u = (c & 15) << 18 | (c21 & 127) << 12 | (c3 & 127) << 6 | b[i++] & 127;
|
|
s += fcc((u >> 10) + 55232);
|
|
s += fcc(u & 1023 | 56320);
|
|
}
|
|
}
|
|
return s;
|
|
}
|
|
,readString: function(pos,len) {
|
|
return this.getString(pos,len);
|
|
}
|
|
,toString: function() {
|
|
return this.getString(0,this.length);
|
|
}
|
|
,toHex: function() {
|
|
var s_b = "";
|
|
var chars = [];
|
|
var str = "0123456789abcdef";
|
|
var _g = 0;
|
|
var _g1 = str.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
chars.push(HxOverrides.cca(str,i));
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var c = this.b[i];
|
|
s_b += String.fromCodePoint(chars[c >> 4]);
|
|
s_b += String.fromCodePoint(chars[c & 15]);
|
|
}
|
|
return s_b;
|
|
}
|
|
,getData: function() {
|
|
return this.b.bufferValue;
|
|
}
|
|
,__class__: haxe_io_Bytes
|
|
};
|
|
var openfl_utils_IDataOutput = function() { };
|
|
$hxClasses["openfl.utils.IDataOutput"] = openfl_utils_IDataOutput;
|
|
openfl_utils_IDataOutput.__name__ = "openfl.utils.IDataOutput";
|
|
openfl_utils_IDataOutput.__isInterface__ = true;
|
|
openfl_utils_IDataOutput.prototype = {
|
|
get_endian: null
|
|
,set_endian: null
|
|
,objectEncoding: null
|
|
,writeBoolean: null
|
|
,writeByte: null
|
|
,writeBytes: null
|
|
,writeDouble: null
|
|
,writeFloat: null
|
|
,writeInt: null
|
|
,writeMultiByte: null
|
|
,writeObject: null
|
|
,writeShort: null
|
|
,writeUnsignedInt: null
|
|
,writeUTF: null
|
|
,writeUTFBytes: null
|
|
,__class__: openfl_utils_IDataOutput
|
|
,__properties__: {set_endian:"set_endian",get_endian:"get_endian"}
|
|
};
|
|
var openfl_utils_IDataInput = function() { };
|
|
$hxClasses["openfl.utils.IDataInput"] = openfl_utils_IDataInput;
|
|
openfl_utils_IDataInput.__name__ = "openfl.utils.IDataInput";
|
|
openfl_utils_IDataInput.__isInterface__ = true;
|
|
openfl_utils_IDataInput.prototype = {
|
|
get_bytesAvailable: null
|
|
,get_endian: null
|
|
,set_endian: null
|
|
,objectEncoding: null
|
|
,readBoolean: null
|
|
,readByte: null
|
|
,readBytes: null
|
|
,readDouble: null
|
|
,readFloat: null
|
|
,readInt: null
|
|
,readMultiByte: null
|
|
,readObject: null
|
|
,readShort: null
|
|
,readUnsignedByte: null
|
|
,readUnsignedInt: null
|
|
,readUnsignedShort: null
|
|
,readUTF: null
|
|
,readUTFBytes: null
|
|
,__class__: openfl_utils_IDataInput
|
|
,__properties__: {set_endian:"set_endian",get_endian:"get_endian",get_bytesAvailable:"get_bytesAvailable"}
|
|
};
|
|
var openfl_utils_ByteArrayData = function(length) {
|
|
if(length == null) {
|
|
length = 0;
|
|
}
|
|
var bytes = new haxe_io_Bytes(new ArrayBuffer(length));
|
|
haxe_io_Bytes.call(this,bytes.b.buffer);
|
|
this.__length = length;
|
|
if(openfl_utils_ByteArrayData.__defaultEndian == null) {
|
|
if(lime_system_System.get_endianness() == lime_system_Endian.LITTLE_ENDIAN) {
|
|
openfl_utils_ByteArrayData.__defaultEndian = 1;
|
|
} else {
|
|
openfl_utils_ByteArrayData.__defaultEndian = 0;
|
|
}
|
|
}
|
|
this.__endian = openfl_utils_ByteArrayData.__defaultEndian;
|
|
this.objectEncoding = openfl_utils_ByteArrayData.defaultObjectEncoding;
|
|
this.position = 0;
|
|
};
|
|
$hxClasses["openfl.utils.ByteArrayData"] = openfl_utils_ByteArrayData;
|
|
openfl_utils_ByteArrayData.__name__ = "openfl.utils.ByteArrayData";
|
|
openfl_utils_ByteArrayData.__interfaces__ = [openfl_utils_IDataOutput,openfl_utils_IDataInput];
|
|
openfl_utils_ByteArrayData.__properties__ = {set_defaultEndian:"set_defaultEndian",get_defaultEndian:"get_defaultEndian"};
|
|
openfl_utils_ByteArrayData.fromBytes = function(bytes) {
|
|
var result = new openfl_utils_ByteArrayData();
|
|
result.__fromBytes(bytes);
|
|
return result;
|
|
};
|
|
openfl_utils_ByteArrayData.get_defaultEndian = function() {
|
|
if(openfl_utils_ByteArrayData.__defaultEndian == null) {
|
|
if(lime_system_System.get_endianness() == lime_system_Endian.LITTLE_ENDIAN) {
|
|
openfl_utils_ByteArrayData.__defaultEndian = 1;
|
|
} else {
|
|
openfl_utils_ByteArrayData.__defaultEndian = 0;
|
|
}
|
|
}
|
|
return openfl_utils_ByteArrayData.__defaultEndian;
|
|
};
|
|
openfl_utils_ByteArrayData.set_defaultEndian = function(value) {
|
|
return openfl_utils_ByteArrayData.__defaultEndian = value;
|
|
};
|
|
openfl_utils_ByteArrayData.__super__ = haxe_io_Bytes;
|
|
openfl_utils_ByteArrayData.prototype = $extend(haxe_io_Bytes.prototype,{
|
|
objectEncoding: null
|
|
,position: null
|
|
,__endian: null
|
|
,__length: null
|
|
,clear: function() {
|
|
this.length = 0;
|
|
this.position = 0;
|
|
}
|
|
,compress: function(algorithm) {
|
|
if(algorithm == null) {
|
|
algorithm = 2;
|
|
}
|
|
if(this.__length > this.length) {
|
|
var cacheLength = this.length;
|
|
this.length = this.__length;
|
|
var data = new haxe_io_Bytes(new ArrayBuffer(cacheLength));
|
|
data.blit(0,this,0,cacheLength);
|
|
this.b = data.b;
|
|
this.__length = data.length;
|
|
this.data = data.data;
|
|
this.length = cacheLength;
|
|
}
|
|
var limeBytes = this;
|
|
var bytes;
|
|
switch(algorithm) {
|
|
case 0:
|
|
bytes = lime_utils_Bytes.compress(limeBytes,lime_utils_CompressionAlgorithm.DEFLATE);
|
|
break;
|
|
case 1:
|
|
bytes = lime_utils_Bytes.compress(limeBytes,lime_utils_CompressionAlgorithm.LZMA);
|
|
break;
|
|
default:
|
|
bytes = lime_utils_Bytes.compress(limeBytes,lime_utils_CompressionAlgorithm.ZLIB);
|
|
}
|
|
if(bytes != null) {
|
|
this.b = bytes.b;
|
|
this.__length = bytes.length;
|
|
this.data = bytes.data;
|
|
this.length = this.__length;
|
|
this.position = this.length;
|
|
}
|
|
}
|
|
,deflate: function() {
|
|
this.compress(0);
|
|
}
|
|
,inflate: function() {
|
|
this.uncompress(0);
|
|
}
|
|
,readBoolean: function() {
|
|
if(this.position < this.length) {
|
|
return this.b[this.position++] != 0;
|
|
} else {
|
|
throw haxe_Exception.thrown(new openfl_errors_EOFError());
|
|
}
|
|
}
|
|
,readByte: function() {
|
|
var value = this.readUnsignedByte();
|
|
if((value & 128) != 0) {
|
|
return value - 256;
|
|
} else {
|
|
return value;
|
|
}
|
|
}
|
|
,readBytes: function(bytes,offset,length) {
|
|
if(length == null) {
|
|
length = 0;
|
|
}
|
|
if(offset == null) {
|
|
offset = 0;
|
|
}
|
|
if(length == 0) {
|
|
length = this.length - this.position;
|
|
}
|
|
if(this.position + length > this.length) {
|
|
throw haxe_Exception.thrown(new openfl_errors_EOFError());
|
|
}
|
|
if(bytes.length < offset + length) {
|
|
bytes.__resize(offset + length);
|
|
}
|
|
bytes.blit(offset,this,this.position,length);
|
|
this.position += length;
|
|
}
|
|
,readDouble: function() {
|
|
if(this.__endian == 1) {
|
|
if(this.position + 8 > this.length) {
|
|
throw haxe_Exception.thrown(new openfl_errors_EOFError());
|
|
}
|
|
this.position += 8;
|
|
return this.getDouble(this.position - 8);
|
|
} else {
|
|
var ch1 = this.readInt();
|
|
var ch2 = this.readInt();
|
|
return haxe_io_FPHelper.i64ToDouble(ch2,ch1);
|
|
}
|
|
}
|
|
,readFloat: function() {
|
|
if(this.__endian == 1) {
|
|
if(this.position + 4 > this.length) {
|
|
throw haxe_Exception.thrown(new openfl_errors_EOFError());
|
|
}
|
|
this.position += 4;
|
|
return this.getFloat(this.position - 4);
|
|
} else {
|
|
return haxe_io_FPHelper.i32ToFloat(this.readInt());
|
|
}
|
|
}
|
|
,readInt: function() {
|
|
var ch1 = this.readUnsignedByte();
|
|
var ch2 = this.readUnsignedByte();
|
|
var ch3 = this.readUnsignedByte();
|
|
var ch4 = this.readUnsignedByte();
|
|
if(this.__endian == 1) {
|
|
return ch4 << 24 | ch3 << 16 | ch2 << 8 | ch1;
|
|
} else {
|
|
return ch1 << 24 | ch2 << 16 | ch3 << 8 | ch4;
|
|
}
|
|
}
|
|
,readMultiByte: function(length,charSet) {
|
|
return this.readUTFBytes(length);
|
|
}
|
|
,readObject: function() {
|
|
switch(this.objectEncoding) {
|
|
case 10:
|
|
var data = this.readUTF();
|
|
return haxe_Unserializer.run(data);
|
|
case 12:
|
|
var data = this.readUTF();
|
|
return JSON.parse(data);
|
|
default:
|
|
return null;
|
|
}
|
|
}
|
|
,readShort: function() {
|
|
var ch1 = this.readUnsignedByte();
|
|
var ch2 = this.readUnsignedByte();
|
|
var value;
|
|
if(this.__endian == 1) {
|
|
value = ch2 << 8 | ch1;
|
|
} else {
|
|
value = ch1 << 8 | ch2;
|
|
}
|
|
if((value & 32768) != 0) {
|
|
return value - 65536;
|
|
} else {
|
|
return value;
|
|
}
|
|
}
|
|
,readUnsignedByte: function() {
|
|
if(this.position < this.length) {
|
|
return this.b[this.position++];
|
|
} else {
|
|
throw haxe_Exception.thrown(new openfl_errors_EOFError());
|
|
}
|
|
}
|
|
,readUnsignedInt: function() {
|
|
var ch1 = this.readUnsignedByte();
|
|
var ch2 = this.readUnsignedByte();
|
|
var ch3 = this.readUnsignedByte();
|
|
var ch4 = this.readUnsignedByte();
|
|
if(this.__endian == 1) {
|
|
return ch4 << 24 | ch3 << 16 | ch2 << 8 | ch1;
|
|
} else {
|
|
return ch1 << 24 | ch2 << 16 | ch3 << 8 | ch4;
|
|
}
|
|
}
|
|
,readUnsignedShort: function() {
|
|
var ch1 = this.readUnsignedByte();
|
|
var ch2 = this.readUnsignedByte();
|
|
if(this.__endian == 1) {
|
|
return (ch2 << 8) + ch1;
|
|
} else {
|
|
return ch1 << 8 | ch2;
|
|
}
|
|
}
|
|
,readUTF: function() {
|
|
var bytesCount = this.readUnsignedShort();
|
|
return this.readUTFBytes(bytesCount);
|
|
}
|
|
,readUTFBytes: function(length) {
|
|
if(this.position + length > this.length) {
|
|
throw haxe_Exception.thrown(new openfl_errors_EOFError());
|
|
}
|
|
this.position += length;
|
|
return this.getString(this.position - length,length);
|
|
}
|
|
,uncompress: function(algorithm) {
|
|
if(algorithm == null) {
|
|
algorithm = 2;
|
|
}
|
|
if(this.__length > this.length) {
|
|
var cacheLength = this.length;
|
|
this.length = this.__length;
|
|
var data = new haxe_io_Bytes(new ArrayBuffer(cacheLength));
|
|
data.blit(0,this,0,cacheLength);
|
|
this.b = data.b;
|
|
this.__length = data.length;
|
|
this.data = data.data;
|
|
this.length = cacheLength;
|
|
}
|
|
var limeBytes = this;
|
|
var bytes;
|
|
switch(algorithm) {
|
|
case 0:
|
|
bytes = lime_utils_Bytes.decompress(limeBytes,lime_utils_CompressionAlgorithm.DEFLATE);
|
|
break;
|
|
case 1:
|
|
bytes = lime_utils_Bytes.decompress(limeBytes,lime_utils_CompressionAlgorithm.LZMA);
|
|
break;
|
|
default:
|
|
bytes = lime_utils_Bytes.decompress(limeBytes,lime_utils_CompressionAlgorithm.ZLIB);
|
|
}
|
|
if(bytes != null) {
|
|
this.b = bytes.b;
|
|
this.__length = bytes.length;
|
|
this.data = bytes.data;
|
|
this.length = this.__length;
|
|
}
|
|
this.position = 0;
|
|
}
|
|
,writeBoolean: function(value) {
|
|
this.writeByte(value ? 1 : 0);
|
|
}
|
|
,writeByte: function(value) {
|
|
this.__resize(this.position + 1);
|
|
this.b[this.position++] = value & 255 & 255;
|
|
}
|
|
,writeBytes: function(bytes,offset,length) {
|
|
if(length == null) {
|
|
length = 0;
|
|
}
|
|
if(offset == null) {
|
|
offset = 0;
|
|
}
|
|
if(openfl_utils_ByteArray.get_length(bytes) == 0) {
|
|
return;
|
|
}
|
|
if(length == 0) {
|
|
length = openfl_utils_ByteArray.get_length(bytes) - offset;
|
|
}
|
|
this.__resize(this.position + length);
|
|
this.blit(this.position,bytes,offset,length);
|
|
this.position = this.position + length;
|
|
}
|
|
,writeDouble: function(value) {
|
|
var int64 = haxe_io_FPHelper.doubleToI64(value);
|
|
if(this.__endian == 1) {
|
|
this.writeInt(int64.low);
|
|
this.writeInt(int64.high);
|
|
} else {
|
|
this.writeInt(int64.high);
|
|
this.writeInt(int64.low);
|
|
}
|
|
}
|
|
,writeFloat: function(value) {
|
|
if(this.__endian == 1) {
|
|
this.__resize(this.position + 4);
|
|
this.setFloat(this.position,value);
|
|
this.position += 4;
|
|
} else {
|
|
var int = haxe_io_FPHelper.floatToI32(value);
|
|
this.writeInt(int);
|
|
}
|
|
}
|
|
,writeInt: function(value) {
|
|
this.__resize(this.position + 4);
|
|
if(this.__endian == 1) {
|
|
this.b[this.position++] = value & 255 & 255;
|
|
this.b[this.position++] = value >> 8 & 255 & 255;
|
|
this.b[this.position++] = value >> 16 & 255 & 255;
|
|
this.b[this.position++] = value >> 24 & 255 & 255;
|
|
} else {
|
|
this.b[this.position++] = value >> 24 & 255 & 255;
|
|
this.b[this.position++] = value >> 16 & 255 & 255;
|
|
this.b[this.position++] = value >> 8 & 255 & 255;
|
|
this.b[this.position++] = value & 255 & 255;
|
|
}
|
|
}
|
|
,writeMultiByte: function(value,charSet) {
|
|
this.writeUTFBytes(value);
|
|
}
|
|
,writeObject: function(object) {
|
|
switch(this.objectEncoding) {
|
|
case 10:
|
|
var value = haxe_Serializer.run(object);
|
|
this.writeUTF(value);
|
|
break;
|
|
case 12:
|
|
var value = JSON.stringify(object);
|
|
this.writeUTF(value);
|
|
break;
|
|
default:
|
|
return;
|
|
}
|
|
}
|
|
,writeShort: function(value) {
|
|
this.__resize(this.position + 2);
|
|
if(this.__endian == 1) {
|
|
this.b[this.position++] = value & 255;
|
|
this.b[this.position++] = value >> 8 & 255;
|
|
} else {
|
|
this.b[this.position++] = value >> 8 & 255;
|
|
this.b[this.position++] = value & 255;
|
|
}
|
|
}
|
|
,writeUnsignedInt: function(value) {
|
|
this.writeInt(value);
|
|
}
|
|
,writeUTF: function(value) {
|
|
var bytes = haxe_io_Bytes.ofString(value);
|
|
this.writeShort(bytes.length);
|
|
this.writeBytes(openfl_utils_ByteArray.fromBytes(bytes));
|
|
}
|
|
,writeUTFBytes: function(value) {
|
|
var bytes = haxe_io_Bytes.ofString(value);
|
|
this.writeBytes(openfl_utils_ByteArray.fromBytes(bytes));
|
|
}
|
|
,__fromBytes: function(bytes) {
|
|
this.b = bytes.b;
|
|
this.__length = bytes.length;
|
|
this.data = bytes.data;
|
|
this.length = bytes.length;
|
|
}
|
|
,__resize: function(size) {
|
|
if(size > this.__length) {
|
|
var bytes = new haxe_io_Bytes(new ArrayBuffer((size + 1) * 3 >> 1));
|
|
if(this.__length > 0) {
|
|
var cacheLength = this.length;
|
|
this.length = this.__length;
|
|
bytes.blit(0,this,0,this.__length);
|
|
this.length = cacheLength;
|
|
}
|
|
this.b = bytes.b;
|
|
this.__length = bytes.length;
|
|
this.data = bytes.data;
|
|
}
|
|
if(this.length < size) {
|
|
this.length = size;
|
|
}
|
|
}
|
|
,__setData: function(bytes) {
|
|
this.b = bytes.b;
|
|
this.__length = bytes.length;
|
|
this.data = bytes.data;
|
|
}
|
|
,get_bytesAvailable: function() {
|
|
return this.length - this.position;
|
|
}
|
|
,get_endian: function() {
|
|
return this.__endian;
|
|
}
|
|
,set_endian: function(value) {
|
|
return this.__endian = value;
|
|
}
|
|
,__class__: openfl_utils_ByteArrayData
|
|
,__properties__: {set_endian:"set_endian",get_endian:"get_endian",get_bytesAvailable:"get_bytesAvailable"}
|
|
});
|
|
var flixel_system_VirtualInputData = function(length) {
|
|
if(length == null) {
|
|
length = 0;
|
|
}
|
|
openfl_utils_ByteArrayData.call(this);
|
|
var bytes = haxe_Resource.getBytes(flixel_system_VirtualInputData.resourceName);
|
|
this.__fromBytes(bytes);
|
|
};
|
|
$hxClasses["flixel.system.VirtualInputData"] = flixel_system_VirtualInputData;
|
|
flixel_system_VirtualInputData.__name__ = "flixel.system.VirtualInputData";
|
|
flixel_system_VirtualInputData.__super__ = openfl_utils_ByteArrayData;
|
|
flixel_system_VirtualInputData.prototype = $extend(openfl_utils_ByteArrayData.prototype,{
|
|
__class__: flixel_system_VirtualInputData
|
|
});
|
|
var flixel_system_FlxAssets = function() { };
|
|
$hxClasses["flixel.system.FlxAssets"] = flixel_system_FlxAssets;
|
|
flixel_system_FlxAssets.__name__ = "flixel.system.FlxAssets";
|
|
flixel_system_FlxAssets.drawLogo = function(graph) {
|
|
graph.beginFill(47394);
|
|
graph.moveTo(50,13);
|
|
graph.lineTo(51,13);
|
|
graph.lineTo(87,50);
|
|
graph.lineTo(87,51);
|
|
graph.lineTo(51,87);
|
|
graph.lineTo(50,87);
|
|
graph.lineTo(13,51);
|
|
graph.lineTo(13,50);
|
|
graph.lineTo(50,13);
|
|
graph.endFill();
|
|
graph.beginFill(16761138);
|
|
graph.moveTo(0,0);
|
|
graph.lineTo(25,0);
|
|
graph.lineTo(50,13);
|
|
graph.lineTo(13,50);
|
|
graph.lineTo(0,25);
|
|
graph.lineTo(0,0);
|
|
graph.endFill();
|
|
graph.beginFill(16066382);
|
|
graph.moveTo(100,0);
|
|
graph.lineTo(75,0);
|
|
graph.lineTo(51,13);
|
|
graph.lineTo(87,50);
|
|
graph.lineTo(100,25);
|
|
graph.lineTo(100,0);
|
|
graph.endFill();
|
|
graph.beginFill(3555839);
|
|
graph.moveTo(0,100);
|
|
graph.lineTo(25,100);
|
|
graph.lineTo(50,87);
|
|
graph.lineTo(13,51);
|
|
graph.lineTo(0,75);
|
|
graph.lineTo(0,100);
|
|
graph.endFill();
|
|
graph.beginFill(314875);
|
|
graph.moveTo(100,100);
|
|
graph.lineTo(75,100);
|
|
graph.lineTo(51,87);
|
|
graph.lineTo(87,51);
|
|
graph.lineTo(100,75);
|
|
graph.lineTo(100,100);
|
|
graph.endFill();
|
|
};
|
|
flixel_system_FlxAssets.getBitmapData = function(id) {
|
|
if(openfl_utils_Assets.exists(id)) {
|
|
return openfl_utils_Assets.getBitmapData(id,false);
|
|
}
|
|
return null;
|
|
};
|
|
flixel_system_FlxAssets.getBitmapFromClass = function(source) {
|
|
return Type.createInstance(source,[0,0]);
|
|
};
|
|
flixel_system_FlxAssets.resolveBitmapData = function(Graphic) {
|
|
if(((Graphic) instanceof openfl_display_BitmapData)) {
|
|
return Graphic;
|
|
} else if(js_Boot.__instanceof(Graphic,Class)) {
|
|
return Type.createInstance(Graphic,[0,0]);
|
|
} else if(typeof(Graphic) == "string") {
|
|
if(openfl_utils_Assets.exists(Graphic)) {
|
|
return openfl_utils_Assets.getBitmapData(Graphic,false);
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
return null;
|
|
};
|
|
flixel_system_FlxAssets.resolveKey = function(Graphic,Key) {
|
|
if(Key != null) {
|
|
return Key;
|
|
}
|
|
if(((Graphic) instanceof openfl_display_BitmapData)) {
|
|
return Key;
|
|
} else if(js_Boot.__instanceof(Graphic,Class)) {
|
|
var _this = flixel_FlxG.bitmap;
|
|
return Graphic.__name__;
|
|
} else if(typeof(Graphic) == "string") {
|
|
return Graphic;
|
|
}
|
|
return null;
|
|
};
|
|
flixel_system_FlxAssets.getSound = function(id) {
|
|
var extension = "";
|
|
extension = ".ogg";
|
|
return openfl_utils_Assets.getSound(id + extension);
|
|
};
|
|
flixel_system_FlxAssets.getVirtualInputFrames = function() {
|
|
var bitmapData = new flixel_system_GraphicVirtualInput(0,0);
|
|
Reflect.setProperty(bitmapData,"width",399);
|
|
Reflect.setProperty(bitmapData,"height",183);
|
|
var graphic = flixel_graphics_FlxGraphic.fromBitmapData(bitmapData);
|
|
return flixel_graphics_frames_FlxAtlasFrames.fromSpriteSheetPacker(graphic,Std.string(new flixel_system_VirtualInputData()));
|
|
};
|
|
var flixel_system_FlxBGSprite = function() {
|
|
flixel_FlxSprite.call(this);
|
|
this.makeGraphic(1,1,-1,true,flixel_FlxG.bitmap.getUniqueKey("bg_graphic_"));
|
|
this.scrollFactor.set();
|
|
};
|
|
$hxClasses["flixel.system.FlxBGSprite"] = flixel_system_FlxBGSprite;
|
|
flixel_system_FlxBGSprite.__name__ = "flixel.system.FlxBGSprite";
|
|
flixel_system_FlxBGSprite.__super__ = flixel_FlxSprite;
|
|
flixel_system_FlxBGSprite.prototype = $extend(flixel_FlxSprite.prototype,{
|
|
draw: function() {
|
|
var _g = 0;
|
|
var _g1 = this.get_cameras();
|
|
while(_g < _g1.length) {
|
|
var camera = _g1[_g];
|
|
++_g;
|
|
if(!camera.visible || !camera.exists) {
|
|
continue;
|
|
}
|
|
this._matrix.identity();
|
|
this._matrix.scale(camera.viewWidth,camera.viewHeight);
|
|
camera.drawPixels(this.frame,null,this._matrix,this.colorTransform);
|
|
}
|
|
}
|
|
,__class__: flixel_system_FlxBGSprite
|
|
});
|
|
var flixel_system__$FlxBasePreloader_DefaultPreloader = function() {
|
|
openfl_display_Sprite.call(this);
|
|
this.addEventListener("addedToStage",$bind(this,this.onAddedToStage));
|
|
};
|
|
$hxClasses["flixel.system._FlxBasePreloader.DefaultPreloader"] = flixel_system__$FlxBasePreloader_DefaultPreloader;
|
|
flixel_system__$FlxBasePreloader_DefaultPreloader.__name__ = "flixel.system._FlxBasePreloader.DefaultPreloader";
|
|
flixel_system__$FlxBasePreloader_DefaultPreloader.__super__ = openfl_display_Sprite;
|
|
flixel_system__$FlxBasePreloader_DefaultPreloader.prototype = $extend(openfl_display_Sprite.prototype,{
|
|
onAddedToStage: function(_) {
|
|
this.removeEventListener("addedToStage",$bind(this,this.onAddedToStage));
|
|
this.onInit();
|
|
this.onUpdate(this.get_loaderInfo().bytesLoaded,this.get_loaderInfo().bytesTotal);
|
|
this.addEventListener("progress",$bind(this,this.onProgress));
|
|
this.addEventListener("complete",$bind(this,this.onComplete));
|
|
}
|
|
,onComplete: function(event) {
|
|
event.preventDefault();
|
|
this.removeEventListener("progress",$bind(this,this.onProgress));
|
|
this.removeEventListener("complete",$bind(this,this.onComplete));
|
|
this.onLoaded();
|
|
}
|
|
,onProgress: function(event) {
|
|
this.onUpdate(event.bytesLoaded | 0,event.bytesTotal | 0);
|
|
}
|
|
,onInit: function() {
|
|
}
|
|
,onLoaded: function() {
|
|
this.dispatchEvent(new openfl_events_Event("unload"));
|
|
}
|
|
,onUpdate: function(bytesLoaded,bytesTotal) {
|
|
var percentLoaded = 0.0;
|
|
if(bytesTotal > 0) {
|
|
percentLoaded = bytesLoaded / bytesTotal;
|
|
if(percentLoaded > 1) {
|
|
percentLoaded = 1;
|
|
}
|
|
}
|
|
}
|
|
,__class__: flixel_system__$FlxBasePreloader_DefaultPreloader
|
|
});
|
|
var flixel_system_FlxBasePreloader = function(MinDisplayTime,AllowedURLs) {
|
|
if(MinDisplayTime == null) {
|
|
MinDisplayTime = 0;
|
|
}
|
|
this._destroyed = false;
|
|
this._urlChecked = false;
|
|
this._loaded = false;
|
|
this._percent = 0;
|
|
this.siteLockBodyText = "It appears the website you are using is hosting an unauthorized copy of this game. " + "Storage or redistribution of this content, without the express permission of the " + "developer or other copyright holder, is prohibited under copyright law.\n\n" + "Thank you for your interest in this game! Please support the developer by " + "visiting the following website to play the game:";
|
|
this.siteLockTitleText = "Sorry.";
|
|
this.siteLockURLIndex = 0;
|
|
this.minDisplayTime = 0;
|
|
flixel_system__$FlxBasePreloader_DefaultPreloader.call(this);
|
|
this.minDisplayTime = MinDisplayTime;
|
|
if(AllowedURLs != null) {
|
|
this.allowedURLs = AllowedURLs;
|
|
} else {
|
|
this.allowedURLs = [];
|
|
}
|
|
this._startTime = new Date().getTime();
|
|
};
|
|
$hxClasses["flixel.system.FlxBasePreloader"] = flixel_system_FlxBasePreloader;
|
|
flixel_system_FlxBasePreloader.__name__ = "flixel.system.FlxBasePreloader";
|
|
flixel_system_FlxBasePreloader.__super__ = flixel_system__$FlxBasePreloader_DefaultPreloader;
|
|
flixel_system_FlxBasePreloader.prototype = $extend(flixel_system__$FlxBasePreloader_DefaultPreloader.prototype,{
|
|
minDisplayTime: null
|
|
,allowedURLs: null
|
|
,siteLockURLIndex: null
|
|
,siteLockTitleText: null
|
|
,siteLockBodyText: null
|
|
,_percent: null
|
|
,_width: null
|
|
,_height: null
|
|
,_loaded: null
|
|
,_urlChecked: null
|
|
,_destroyed: null
|
|
,_startTime: null
|
|
,create: function() {
|
|
}
|
|
,onInit: function() {
|
|
flixel_system__$FlxBasePreloader_DefaultPreloader.prototype.onInit.call(this);
|
|
openfl_Lib.get_current().stage.set_scaleMode(2);
|
|
openfl_Lib.get_current().stage.align = 6;
|
|
this.create();
|
|
this.addEventListener("enterFrame",$bind(this,this.onEnterFrame));
|
|
this.checkSiteLock();
|
|
}
|
|
,onUpdate: function(bytesLoaded,bytesTotal) {
|
|
this._percent = bytesTotal != 0 ? bytesLoaded / bytesTotal : 0;
|
|
}
|
|
,onEnterFrame: function(E) {
|
|
var time = new Date().getTime() - this._startTime;
|
|
var min = this.minDisplayTime * 1000;
|
|
var percent = this._percent;
|
|
if(min > 0 && this._percent > time / min) {
|
|
percent = time / min;
|
|
}
|
|
if(!this._destroyed) {
|
|
this.update(percent);
|
|
}
|
|
if(this._loaded && (min <= 0 || time / min >= 1)) {
|
|
this.removeEventListener("enterFrame",$bind(this,this.onEnterFrame));
|
|
flixel_system__$FlxBasePreloader_DefaultPreloader.prototype.onLoaded.call(this);
|
|
this.destroy();
|
|
this._destroyed = true;
|
|
}
|
|
}
|
|
,destroy: function() {
|
|
}
|
|
,update: function(Percent) {
|
|
}
|
|
,onLoaded: function() {
|
|
this._loaded = true;
|
|
this._percent = 1;
|
|
}
|
|
,createBitmap: function(bitmapDataClass,onLoad) {
|
|
var bmp = new openfl_display_Bitmap();
|
|
bmp.set_bitmapData(Type.createInstance(bitmapDataClass,[0,0,true,-1,function(_) {
|
|
onLoad(bmp);
|
|
}]));
|
|
return bmp;
|
|
}
|
|
,loadBitmapData: function(bitmapDataClass,onLoad) {
|
|
return Type.createInstance(bitmapDataClass,[0,0,true,-1,onLoad]);
|
|
}
|
|
,checkSiteLock: function() {
|
|
if(this._urlChecked) {
|
|
return;
|
|
}
|
|
if(!this.isHostUrlAllowed()) {
|
|
this.removeChildren();
|
|
this.removeEventListener("enterFrame",$bind(this,this.onEnterFrame));
|
|
this.createSiteLockFailureScreen();
|
|
} else {
|
|
this._urlChecked = true;
|
|
}
|
|
}
|
|
,createSiteLockFailureScreen: function() {
|
|
this.addChild(this.createSiteLockFailureBackground(16777215,15066597));
|
|
this.addChild(this.createSiteLockFailureIcon(15066597,0.9));
|
|
this.addChild(this.createSiteLockFailureText(30));
|
|
}
|
|
,createSiteLockFailureBackground: function(innerColor,outerColor) {
|
|
var shape = new openfl_display_Shape();
|
|
var graphics = shape.get_graphics();
|
|
graphics.clear();
|
|
var fillMatrix = new openfl_geom_Matrix();
|
|
fillMatrix.createGradientBox(1,1,0,-0.5,-0.5);
|
|
var scaling = Math.max(this.stage.stageWidth,this.stage.stageHeight);
|
|
fillMatrix.scale(scaling,scaling);
|
|
fillMatrix.translate(0.5 * this.stage.stageWidth,0.5 * this.stage.stageHeight);
|
|
graphics.beginGradientFill(1,[innerColor,outerColor],[1,1],[0,255],fillMatrix);
|
|
graphics.drawRect(0,0,this.stage.stageWidth,this.stage.stageHeight);
|
|
graphics.endFill();
|
|
return shape;
|
|
}
|
|
,createSiteLockFailureIcon: function(color,scale) {
|
|
var shape = new openfl_display_Shape();
|
|
var graphics = shape.get_graphics();
|
|
graphics.clear();
|
|
graphics.beginFill(color);
|
|
var array = [1,6,2,2,2,6,6,2,2,2,6,1,6,2,6,2,6,2,6,1,6,6,2,2,2,6,6];
|
|
var vector = openfl_Vector.toIntVector(null);
|
|
var _g = 0;
|
|
var _g1 = array.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
vector.set(i,array[i]);
|
|
}
|
|
var tmp = vector;
|
|
var array = [120.0,0,164,0,200,35,200,79,200,130,160,130,160,79,160,57,142,40,120,40,97,40,79,57,79,79,80,130,40,130,40,79,40,35,75,0,120,0,220,140,231,140,240,148,240,160,240,300,240,311,231,320,220,320,20,320,8,320,0,311,0,300,0,160,0,148,8,140,20,140,120,190,108,190,100,198,100,210,100,217,104,223,110,227,110,270,130,270,130,227,135,223,140,217,140,210,140,198,131,190,120,190];
|
|
var vector = openfl_Vector.toFloatVector(null);
|
|
var _g = 0;
|
|
var _g1 = array.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
vector.set(i,array[i]);
|
|
}
|
|
graphics.drawPath(tmp,vector,1);
|
|
graphics.endFill();
|
|
var transformMatrix = new openfl_geom_Matrix();
|
|
transformMatrix.translate(-0.5 * shape.get_width(),-0.5 * shape.get_height());
|
|
var scaling = scale * Math.min(this.stage.stageWidth / shape.get_width(),this.stage.stageHeight / shape.get_height());
|
|
transformMatrix.scale(scaling,scaling);
|
|
transformMatrix.translate(0.5 * this.stage.stageWidth,0.5 * this.stage.stageHeight);
|
|
shape.get_transform().set_matrix(transformMatrix);
|
|
return shape;
|
|
}
|
|
,createSiteLockFailureText: function(margin) {
|
|
var sprite = new openfl_display_Sprite();
|
|
var bounds = new openfl_geom_Rectangle(0,0,this.stage.stageWidth,this.stage.stageHeight);
|
|
bounds.inflate(-margin,-margin);
|
|
var titleText = new openfl_text_TextField();
|
|
var titleTextFormat = new openfl_text_TextFormat("_sans",33,3355443,true);
|
|
titleTextFormat.align = 3;
|
|
titleText.set_defaultTextFormat(titleTextFormat);
|
|
titleText.set_selectable(false);
|
|
titleText.set_width(bounds.width);
|
|
titleText.set_text(this.siteLockTitleText);
|
|
var bodyText = new openfl_text_TextField();
|
|
var bodyTextFormat = new openfl_text_TextFormat("_sans",22,3355443);
|
|
bodyTextFormat.align = 2;
|
|
bodyText.set_defaultTextFormat(bodyTextFormat);
|
|
bodyText.set_multiline(true);
|
|
bodyText.set_wordWrap(true);
|
|
bodyText.set_selectable(false);
|
|
bodyText.set_width(bounds.width);
|
|
bodyText.set_text(this.siteLockBodyText);
|
|
var hyperlinkText = new openfl_text_TextField();
|
|
var hyperlinkTextFormat = new openfl_text_TextFormat("_sans",22,7247820,true,false,true);
|
|
hyperlinkTextFormat.align = 0;
|
|
hyperlinkTextFormat.url = this.allowedURLs[this.siteLockURLIndex];
|
|
hyperlinkText.set_defaultTextFormat(hyperlinkTextFormat);
|
|
hyperlinkText.set_selectable(true);
|
|
hyperlinkText.set_width(bounds.width);
|
|
hyperlinkText.set_text(this.allowedURLs[this.siteLockURLIndex]);
|
|
this.adjustSiteLockTextFields(titleText,bodyText,hyperlinkText);
|
|
var gutterSize = 4;
|
|
titleText.set_height(titleText.get_textHeight() + gutterSize);
|
|
bodyText.set_height(bodyText.get_textHeight() + gutterSize);
|
|
hyperlinkText.set_height(hyperlinkText.get_textHeight() + gutterSize);
|
|
titleText.set_x(bodyText.set_x(hyperlinkText.set_x(bounds.get_left())));
|
|
titleText.set_y(bounds.get_top());
|
|
bodyText.set_y(titleText.get_y() + 2.0 * titleText.get_height());
|
|
hyperlinkText.set_y(bodyText.get_y() + bodyText.get_height() + hyperlinkText.get_height());
|
|
sprite.addChild(titleText);
|
|
sprite.addChild(bodyText);
|
|
sprite.addChild(hyperlinkText);
|
|
return sprite;
|
|
}
|
|
,adjustSiteLockTextFields: function(titleText,bodyText,hyperlinkText) {
|
|
}
|
|
,goToMyURL: function(e) {
|
|
if(this.allowedURLs[this.siteLockURLIndex] != "localhost") {
|
|
var URL1 = this.allowedURLs[this.siteLockURLIndex];
|
|
var prefix = "";
|
|
if(!new EReg("^https?://","").match(URL1)) {
|
|
prefix = "http://";
|
|
}
|
|
openfl_Lib.getURL(new openfl_net_URLRequest(prefix + URL1),"_blank");
|
|
} else {
|
|
openfl_Lib.getURL(new openfl_net_URLRequest(this.allowedURLs[this.siteLockURLIndex]));
|
|
}
|
|
}
|
|
,isHostUrlAllowed: function() {
|
|
if(this.allowedURLs.length == 0) {
|
|
return true;
|
|
}
|
|
var homeURL = $global.location.href;
|
|
var homeDomain = flixel_util_FlxStringUtil.getDomain(homeURL);
|
|
var _g = 0;
|
|
var _g1 = this.allowedURLs;
|
|
while(_g < _g1.length) {
|
|
var allowedURL = _g1[_g];
|
|
++_g;
|
|
var allowedDomain = flixel_util_FlxStringUtil.getDomain(allowedURL);
|
|
if(allowedDomain == homeDomain) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,__class__: flixel_system_FlxBasePreloader
|
|
});
|
|
var flixel_system_FlxLinkedList = function() {
|
|
this.exists = true;
|
|
};
|
|
$hxClasses["flixel.system.FlxLinkedList"] = flixel_system_FlxLinkedList;
|
|
flixel_system_FlxLinkedList.__name__ = "flixel.system.FlxLinkedList";
|
|
flixel_system_FlxLinkedList.__interfaces__ = [flixel_util_IFlxDestroyable];
|
|
flixel_system_FlxLinkedList._cachedListsHead = null;
|
|
flixel_system_FlxLinkedList.recycle = function() {
|
|
if(flixel_system_FlxLinkedList._cachedListsHead != null) {
|
|
var cachedList = flixel_system_FlxLinkedList._cachedListsHead;
|
|
flixel_system_FlxLinkedList._cachedListsHead = flixel_system_FlxLinkedList._cachedListsHead.next;
|
|
flixel_system_FlxLinkedList._NUM_CACHED_FLX_LIST--;
|
|
cachedList.exists = true;
|
|
cachedList.next = null;
|
|
return cachedList;
|
|
} else {
|
|
return new flixel_system_FlxLinkedList();
|
|
}
|
|
};
|
|
flixel_system_FlxLinkedList.clearCache = function() {
|
|
while(flixel_system_FlxLinkedList._cachedListsHead != null) {
|
|
var node = flixel_system_FlxLinkedList._cachedListsHead;
|
|
flixel_system_FlxLinkedList._cachedListsHead = flixel_system_FlxLinkedList._cachedListsHead.next;
|
|
node.object = null;
|
|
node.next = null;
|
|
}
|
|
flixel_system_FlxLinkedList._NUM_CACHED_FLX_LIST = 0;
|
|
};
|
|
flixel_system_FlxLinkedList.prototype = {
|
|
object: null
|
|
,next: null
|
|
,exists: null
|
|
,destroy: function() {
|
|
if(!this.exists) {
|
|
return;
|
|
}
|
|
this.object = null;
|
|
if(this.next != null) {
|
|
this.next.destroy();
|
|
}
|
|
this.exists = false;
|
|
this.next = flixel_system_FlxLinkedList._cachedListsHead;
|
|
flixel_system_FlxLinkedList._cachedListsHead = this;
|
|
flixel_system_FlxLinkedList._NUM_CACHED_FLX_LIST++;
|
|
}
|
|
,__class__: flixel_system_FlxLinkedList
|
|
};
|
|
var flixel_system__$FlxPreloader_GraphicLogoLight = function(width,height,transparent,fillRGBA,onload) {
|
|
if(fillRGBA == null) {
|
|
fillRGBA = -1;
|
|
}
|
|
if(transparent == null) {
|
|
transparent = true;
|
|
}
|
|
openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA);
|
|
if(flixel_system__$FlxPreloader_GraphicLogoLight.preload != null) {
|
|
this.__fromImage(flixel_system__$FlxPreloader_GraphicLogoLight.preload);
|
|
} else {
|
|
var _gthis = this;
|
|
lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system__$FlxPreloader_GraphicLogoLight.resourceName),flixel_system__$FlxPreloader_GraphicLogoLight.resourceType).then(function(image) {
|
|
_gthis.__fromImage(image);
|
|
return lime_app_Future.withValue(_gthis);
|
|
}).onComplete(function(b) {
|
|
if(flixel_system__$FlxPreloader_GraphicLogoLight.preload == null) {
|
|
flixel_system__$FlxPreloader_GraphicLogoLight.preload = b.image;
|
|
}
|
|
if(onload != null && Reflect.isFunction(onload)) {
|
|
onload(b);
|
|
}
|
|
});
|
|
}
|
|
};
|
|
$hxClasses["flixel.system._FlxPreloader.GraphicLogoLight"] = flixel_system__$FlxPreloader_GraphicLogoLight;
|
|
flixel_system__$FlxPreloader_GraphicLogoLight.__name__ = "flixel.system._FlxPreloader.GraphicLogoLight";
|
|
flixel_system__$FlxPreloader_GraphicLogoLight.preload = null;
|
|
flixel_system__$FlxPreloader_GraphicLogoLight.__super__ = openfl_display_BitmapData;
|
|
flixel_system__$FlxPreloader_GraphicLogoLight.prototype = $extend(openfl_display_BitmapData.prototype,{
|
|
__class__: flixel_system__$FlxPreloader_GraphicLogoLight
|
|
});
|
|
var flixel_system__$FlxPreloader_GraphicLogoCorners = function(width,height,transparent,fillRGBA,onload) {
|
|
if(fillRGBA == null) {
|
|
fillRGBA = -1;
|
|
}
|
|
if(transparent == null) {
|
|
transparent = true;
|
|
}
|
|
openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA);
|
|
if(flixel_system__$FlxPreloader_GraphicLogoCorners.preload != null) {
|
|
this.__fromImage(flixel_system__$FlxPreloader_GraphicLogoCorners.preload);
|
|
} else {
|
|
var _gthis = this;
|
|
lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system__$FlxPreloader_GraphicLogoCorners.resourceName),flixel_system__$FlxPreloader_GraphicLogoCorners.resourceType).then(function(image) {
|
|
_gthis.__fromImage(image);
|
|
return lime_app_Future.withValue(_gthis);
|
|
}).onComplete(function(b) {
|
|
if(flixel_system__$FlxPreloader_GraphicLogoCorners.preload == null) {
|
|
flixel_system__$FlxPreloader_GraphicLogoCorners.preload = b.image;
|
|
}
|
|
if(onload != null && Reflect.isFunction(onload)) {
|
|
onload(b);
|
|
}
|
|
});
|
|
}
|
|
};
|
|
$hxClasses["flixel.system._FlxPreloader.GraphicLogoCorners"] = flixel_system__$FlxPreloader_GraphicLogoCorners;
|
|
flixel_system__$FlxPreloader_GraphicLogoCorners.__name__ = "flixel.system._FlxPreloader.GraphicLogoCorners";
|
|
flixel_system__$FlxPreloader_GraphicLogoCorners.preload = null;
|
|
flixel_system__$FlxPreloader_GraphicLogoCorners.__super__ = openfl_display_BitmapData;
|
|
flixel_system__$FlxPreloader_GraphicLogoCorners.prototype = $extend(openfl_display_BitmapData.prototype,{
|
|
__class__: flixel_system__$FlxPreloader_GraphicLogoCorners
|
|
});
|
|
var flixel_system_FlxPreloader = function(MinDisplayTime,AllowedURLs) {
|
|
if(MinDisplayTime == null) {
|
|
MinDisplayTime = 0;
|
|
}
|
|
flixel_system_FlxBasePreloader.call(this,MinDisplayTime,AllowedURLs);
|
|
};
|
|
$hxClasses["flixel.system.FlxPreloader"] = flixel_system_FlxPreloader;
|
|
flixel_system_FlxPreloader.__name__ = "flixel.system.FlxPreloader";
|
|
flixel_system_FlxPreloader.__super__ = flixel_system_FlxBasePreloader;
|
|
flixel_system_FlxPreloader.prototype = $extend(flixel_system_FlxBasePreloader.prototype,{
|
|
_buffer: null
|
|
,_bmpBar: null
|
|
,_text: null
|
|
,_logo: null
|
|
,_logoGlow: null
|
|
,create: function() {
|
|
var _gthis = this;
|
|
this._buffer = new openfl_display_Sprite();
|
|
this._buffer.set_scaleX(this._buffer.set_scaleY(2));
|
|
this.addChild(this._buffer);
|
|
this._width = openfl_Lib.get_current().stage.stageWidth / this._buffer.get_scaleX() | 0;
|
|
this._height = openfl_Lib.get_current().stage.stageHeight / this._buffer.get_scaleY() | 0;
|
|
this._buffer.addChild(new openfl_display_Bitmap(new openfl_display_BitmapData(this._width,this._height,false,13406)));
|
|
var logoLight = this.createBitmap(flixel_system__$FlxPreloader_GraphicLogoLight,function(logoLight) {
|
|
logoLight.set_width(logoLight.set_height(_gthis._height));
|
|
logoLight.set_x((_gthis._width - logoLight.get_width()) / 2);
|
|
});
|
|
logoLight.smoothing = true;
|
|
this._buffer.addChild(logoLight);
|
|
this._bmpBar = new openfl_display_Bitmap(new openfl_display_BitmapData(1,7,false,6253311));
|
|
this._bmpBar.set_x(4);
|
|
this._bmpBar.set_y(this._height - 11);
|
|
this._buffer.addChild(this._bmpBar);
|
|
this._text = new openfl_text_TextField();
|
|
this._text.set_defaultTextFormat(new openfl_text_TextFormat(flixel_system_FlxAssets.FONT_DEFAULT,8,6253311));
|
|
this._text.set_embedFonts(true);
|
|
this._text.set_selectable(false);
|
|
this._text.set_multiline(false);
|
|
this._text.set_x(2);
|
|
this._text.set_y(this._bmpBar.get_y() - 11);
|
|
this._text.set_width(200);
|
|
this._buffer.addChild(this._text);
|
|
this._logo = new openfl_display_Sprite();
|
|
flixel_system_FlxAssets.drawLogo(this._logo.get_graphics());
|
|
this._logo.set_scaleX(this._logo.set_scaleY(this._height / 8 * 0.04));
|
|
this._logo.set_x((this._width - this._logo.get_width()) / 2);
|
|
this._logo.set_y((this._height - this._logo.get_height()) / 2);
|
|
this._buffer.addChild(this._logo);
|
|
this._logoGlow = new openfl_display_Sprite();
|
|
flixel_system_FlxAssets.drawLogo(this._logoGlow.get_graphics());
|
|
this._logoGlow.set_blendMode(12);
|
|
this._logoGlow.set_scaleX(this._logoGlow.set_scaleY(this._height / 8 * 0.04));
|
|
this._logoGlow.set_x((this._width - this._logoGlow.get_width()) / 2);
|
|
this._logoGlow.set_y((this._height - this._logoGlow.get_height()) / 2);
|
|
this._buffer.addChild(this._logoGlow);
|
|
var corners = this.createBitmap(flixel_system__$FlxPreloader_GraphicLogoCorners,function(corners) {
|
|
corners.set_width(_gthis._width);
|
|
corners.set_height(_gthis.get_height());
|
|
});
|
|
corners.smoothing = true;
|
|
this._buffer.addChild(corners);
|
|
var bitmap = new openfl_display_Bitmap(new openfl_display_BitmapData(this._width,this._height,false,16777215));
|
|
var i = 0;
|
|
var j = 0;
|
|
while(i < this._height) {
|
|
j = 0;
|
|
while(j < this._width) bitmap.get_bitmapData().setPixel(j++,i,0);
|
|
i += 2;
|
|
}
|
|
bitmap.set_blendMode(11);
|
|
bitmap.set_alpha(0.25);
|
|
this._buffer.addChild(bitmap);
|
|
flixel_system_FlxBasePreloader.prototype.create.call(this);
|
|
}
|
|
,destroy: function() {
|
|
if(this._buffer != null) {
|
|
this.removeChild(this._buffer);
|
|
}
|
|
this._buffer = null;
|
|
this._bmpBar = null;
|
|
this._text = null;
|
|
this._logo = null;
|
|
this._logoGlow = null;
|
|
flixel_system_FlxBasePreloader.prototype.destroy.call(this);
|
|
}
|
|
,update: function(Percent) {
|
|
this._bmpBar.set_scaleX(Percent * (this._width - 8));
|
|
this._text.set_text(Std.string(flixel_FlxG.VERSION) + " " + (Percent * 100 | 0) + "%");
|
|
if(Percent < 0.1) {
|
|
this._logoGlow.set_alpha(0);
|
|
this._logo.set_alpha(0);
|
|
} else if(Percent < 0.15) {
|
|
this._logoGlow.set_alpha(Math.random());
|
|
this._logo.set_alpha(0);
|
|
} else if(Percent < 0.2) {
|
|
this._logoGlow.set_alpha(0);
|
|
this._logo.set_alpha(0);
|
|
} else if(Percent < 0.25) {
|
|
this._logoGlow.set_alpha(0);
|
|
this._logo.set_alpha(Math.random());
|
|
} else if(Percent < 0.7) {
|
|
this._logoGlow.set_alpha((Percent - 0.45) / 0.45);
|
|
this._logo.set_alpha(1);
|
|
} else if(Percent > 0.8 && Percent < 0.9) {
|
|
this._logoGlow.set_alpha(1 - (Percent - 0.8) / 0.1);
|
|
this._logo.set_alpha(0);
|
|
} else if(Percent > 0.9) {
|
|
this._buffer.set_alpha(1 - (Percent - 0.9) / 0.1);
|
|
}
|
|
}
|
|
,__class__: flixel_system_FlxPreloader
|
|
});
|
|
var flixel_system_FlxQuadTree = function(X,Y,Width,Height,Parent) {
|
|
flixel_math_FlxRect.call(this);
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
this.x = X1;
|
|
this.y = Y1;
|
|
this.width = Width1;
|
|
this.height = Height1;
|
|
this.reset(X,Y,Width,Height,Parent);
|
|
};
|
|
$hxClasses["flixel.system.FlxQuadTree"] = flixel_system_FlxQuadTree;
|
|
flixel_system_FlxQuadTree.__name__ = "flixel.system.FlxQuadTree";
|
|
flixel_system_FlxQuadTree.divisions = null;
|
|
flixel_system_FlxQuadTree._min = null;
|
|
flixel_system_FlxQuadTree._object = null;
|
|
flixel_system_FlxQuadTree._objectLeftEdge = null;
|
|
flixel_system_FlxQuadTree._objectTopEdge = null;
|
|
flixel_system_FlxQuadTree._objectRightEdge = null;
|
|
flixel_system_FlxQuadTree._objectBottomEdge = null;
|
|
flixel_system_FlxQuadTree._list = null;
|
|
flixel_system_FlxQuadTree._useBothLists = null;
|
|
flixel_system_FlxQuadTree._processingCallback = null;
|
|
flixel_system_FlxQuadTree._notifyCallback = null;
|
|
flixel_system_FlxQuadTree._iterator = null;
|
|
flixel_system_FlxQuadTree._objectHullX = null;
|
|
flixel_system_FlxQuadTree._objectHullY = null;
|
|
flixel_system_FlxQuadTree._objectHullWidth = null;
|
|
flixel_system_FlxQuadTree._objectHullHeight = null;
|
|
flixel_system_FlxQuadTree._checkObjectHullX = null;
|
|
flixel_system_FlxQuadTree._checkObjectHullY = null;
|
|
flixel_system_FlxQuadTree._checkObjectHullWidth = null;
|
|
flixel_system_FlxQuadTree._checkObjectHullHeight = null;
|
|
flixel_system_FlxQuadTree._cachedTreesHead = null;
|
|
flixel_system_FlxQuadTree.recycle = function(X,Y,Width,Height,Parent) {
|
|
if(flixel_system_FlxQuadTree._cachedTreesHead != null) {
|
|
var cachedTree = flixel_system_FlxQuadTree._cachedTreesHead;
|
|
flixel_system_FlxQuadTree._cachedTreesHead = flixel_system_FlxQuadTree._cachedTreesHead.next;
|
|
flixel_system_FlxQuadTree._NUM_CACHED_QUAD_TREES--;
|
|
cachedTree.reset(X,Y,Width,Height,Parent);
|
|
return cachedTree;
|
|
} else {
|
|
return new flixel_system_FlxQuadTree(X,Y,Width,Height,Parent);
|
|
}
|
|
};
|
|
flixel_system_FlxQuadTree.clearCache = function() {
|
|
while(flixel_system_FlxQuadTree._cachedTreesHead != null) {
|
|
var node = flixel_system_FlxQuadTree._cachedTreesHead;
|
|
flixel_system_FlxQuadTree._cachedTreesHead = flixel_system_FlxQuadTree._cachedTreesHead.next;
|
|
node.next = null;
|
|
}
|
|
flixel_system_FlxQuadTree._NUM_CACHED_QUAD_TREES = 0;
|
|
};
|
|
flixel_system_FlxQuadTree.__super__ = flixel_math_FlxRect;
|
|
flixel_system_FlxQuadTree.prototype = $extend(flixel_math_FlxRect.prototype,{
|
|
exists: null
|
|
,_canSubdivide: null
|
|
,_headA: null
|
|
,_tailA: null
|
|
,_headB: null
|
|
,_tailB: null
|
|
,_northWestTree: null
|
|
,_northEastTree: null
|
|
,_southEastTree: null
|
|
,_southWestTree: null
|
|
,_leftEdge: null
|
|
,_rightEdge: null
|
|
,_topEdge: null
|
|
,_bottomEdge: null
|
|
,_halfWidth: null
|
|
,_halfHeight: null
|
|
,_midpointX: null
|
|
,_midpointY: null
|
|
,next: null
|
|
,reset: function(X,Y,Width,Height,Parent) {
|
|
this.exists = true;
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
this.x = X1;
|
|
this.y = Y1;
|
|
this.width = Width1;
|
|
this.height = Height1;
|
|
this._headA = this._tailA = flixel_system_FlxLinkedList.recycle();
|
|
this._headB = this._tailB = flixel_system_FlxLinkedList.recycle();
|
|
if(Parent != null) {
|
|
var iterator;
|
|
var ot;
|
|
if(Parent._headA.object != null) {
|
|
iterator = Parent._headA;
|
|
while(iterator != null) {
|
|
if(this._tailA.object != null) {
|
|
ot = this._tailA;
|
|
this._tailA = flixel_system_FlxLinkedList.recycle();
|
|
ot.next = this._tailA;
|
|
}
|
|
this._tailA.object = iterator.object;
|
|
iterator = iterator.next;
|
|
}
|
|
}
|
|
if(Parent._headB.object != null) {
|
|
iterator = Parent._headB;
|
|
while(iterator != null) {
|
|
if(this._tailB.object != null) {
|
|
ot = this._tailB;
|
|
this._tailB = flixel_system_FlxLinkedList.recycle();
|
|
ot.next = this._tailB;
|
|
}
|
|
this._tailB.object = iterator.object;
|
|
iterator = iterator.next;
|
|
}
|
|
}
|
|
} else {
|
|
flixel_system_FlxQuadTree._min = Math.floor((this.width + this.height) / (2 * flixel_system_FlxQuadTree.divisions));
|
|
}
|
|
this._canSubdivide = this.width > flixel_system_FlxQuadTree._min || this.height > flixel_system_FlxQuadTree._min;
|
|
this._northWestTree = null;
|
|
this._northEastTree = null;
|
|
this._southEastTree = null;
|
|
this._southWestTree = null;
|
|
this._leftEdge = this.x;
|
|
this._rightEdge = this.x + this.width;
|
|
this._halfWidth = this.width / 2;
|
|
this._midpointX = this._leftEdge + this._halfWidth;
|
|
this._topEdge = this.y;
|
|
this._bottomEdge = this.y + this.height;
|
|
this._halfHeight = this.height / 2;
|
|
this._midpointY = this._topEdge + this._halfHeight;
|
|
}
|
|
,destroy: function() {
|
|
this._headA = flixel_util_FlxDestroyUtil.destroy(this._headA);
|
|
this._headB = flixel_util_FlxDestroyUtil.destroy(this._headB);
|
|
this._tailA = flixel_util_FlxDestroyUtil.destroy(this._tailA);
|
|
this._tailB = flixel_util_FlxDestroyUtil.destroy(this._tailB);
|
|
this._northWestTree = flixel_util_FlxDestroyUtil.destroy(this._northWestTree);
|
|
this._northEastTree = flixel_util_FlxDestroyUtil.destroy(this._northEastTree);
|
|
this._southWestTree = flixel_util_FlxDestroyUtil.destroy(this._southWestTree);
|
|
this._southEastTree = flixel_util_FlxDestroyUtil.destroy(this._southEastTree);
|
|
flixel_system_FlxQuadTree._object = null;
|
|
flixel_system_FlxQuadTree._processingCallback = null;
|
|
flixel_system_FlxQuadTree._notifyCallback = null;
|
|
this.exists = false;
|
|
this.next = flixel_system_FlxQuadTree._cachedTreesHead;
|
|
flixel_system_FlxQuadTree._cachedTreesHead = this;
|
|
flixel_system_FlxQuadTree._NUM_CACHED_QUAD_TREES++;
|
|
flixel_math_FlxRect.prototype.destroy.call(this);
|
|
}
|
|
,load: function(ObjectOrGroup1,ObjectOrGroup2,NotifyCallback,ProcessCallback) {
|
|
this.add(ObjectOrGroup1,0);
|
|
if(ObjectOrGroup2 != null) {
|
|
this.add(ObjectOrGroup2,1);
|
|
flixel_system_FlxQuadTree._useBothLists = true;
|
|
} else {
|
|
flixel_system_FlxQuadTree._useBothLists = false;
|
|
}
|
|
flixel_system_FlxQuadTree._notifyCallback = NotifyCallback;
|
|
flixel_system_FlxQuadTree._processingCallback = ProcessCallback;
|
|
}
|
|
,add: function(ObjectOrGroup,list) {
|
|
flixel_system_FlxQuadTree._list = list;
|
|
var group = flixel_group_FlxTypedGroup.resolveGroup(ObjectOrGroup);
|
|
if(group != null) {
|
|
var i = 0;
|
|
var basic;
|
|
var members = group.members;
|
|
var l = group.length;
|
|
while(i < l) {
|
|
basic = members[i++];
|
|
if(basic != null && basic.exists) {
|
|
group = flixel_group_FlxTypedGroup.resolveGroup(basic);
|
|
if(group != null) {
|
|
this.add(group,list);
|
|
} else {
|
|
flixel_system_FlxQuadTree._object = basic;
|
|
if(flixel_system_FlxQuadTree._object.exists && flixel_system_FlxQuadTree._object.allowCollisions != 0) {
|
|
flixel_system_FlxQuadTree._objectLeftEdge = flixel_system_FlxQuadTree._object.x;
|
|
flixel_system_FlxQuadTree._objectTopEdge = flixel_system_FlxQuadTree._object.y;
|
|
flixel_system_FlxQuadTree._objectRightEdge = flixel_system_FlxQuadTree._object.x + flixel_system_FlxQuadTree._object.get_width();
|
|
flixel_system_FlxQuadTree._objectBottomEdge = flixel_system_FlxQuadTree._object.y + flixel_system_FlxQuadTree._object.get_height();
|
|
this.addObject();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
flixel_system_FlxQuadTree._object = ObjectOrGroup;
|
|
if(flixel_system_FlxQuadTree._object.exists && flixel_system_FlxQuadTree._object.allowCollisions != 0) {
|
|
flixel_system_FlxQuadTree._objectLeftEdge = flixel_system_FlxQuadTree._object.x;
|
|
flixel_system_FlxQuadTree._objectTopEdge = flixel_system_FlxQuadTree._object.y;
|
|
flixel_system_FlxQuadTree._objectRightEdge = flixel_system_FlxQuadTree._object.x + flixel_system_FlxQuadTree._object.get_width();
|
|
flixel_system_FlxQuadTree._objectBottomEdge = flixel_system_FlxQuadTree._object.y + flixel_system_FlxQuadTree._object.get_height();
|
|
this.addObject();
|
|
}
|
|
}
|
|
}
|
|
,addObject: function() {
|
|
if(!this._canSubdivide || this._leftEdge >= flixel_system_FlxQuadTree._objectLeftEdge && this._rightEdge <= flixel_system_FlxQuadTree._objectRightEdge && this._topEdge >= flixel_system_FlxQuadTree._objectTopEdge && this._bottomEdge <= flixel_system_FlxQuadTree._objectBottomEdge) {
|
|
this.addToList();
|
|
return;
|
|
}
|
|
if(flixel_system_FlxQuadTree._objectLeftEdge > this._leftEdge && flixel_system_FlxQuadTree._objectRightEdge < this._midpointX) {
|
|
if(flixel_system_FlxQuadTree._objectTopEdge > this._topEdge && flixel_system_FlxQuadTree._objectBottomEdge < this._midpointY) {
|
|
if(this._northWestTree == null) {
|
|
this._northWestTree = flixel_system_FlxQuadTree.recycle(this._leftEdge,this._topEdge,this._halfWidth,this._halfHeight,this);
|
|
}
|
|
this._northWestTree.addObject();
|
|
return;
|
|
}
|
|
if(flixel_system_FlxQuadTree._objectTopEdge > this._midpointY && flixel_system_FlxQuadTree._objectBottomEdge < this._bottomEdge) {
|
|
if(this._southWestTree == null) {
|
|
this._southWestTree = flixel_system_FlxQuadTree.recycle(this._leftEdge,this._midpointY,this._halfWidth,this._halfHeight,this);
|
|
}
|
|
this._southWestTree.addObject();
|
|
return;
|
|
}
|
|
}
|
|
if(flixel_system_FlxQuadTree._objectLeftEdge > this._midpointX && flixel_system_FlxQuadTree._objectRightEdge < this._rightEdge) {
|
|
if(flixel_system_FlxQuadTree._objectTopEdge > this._topEdge && flixel_system_FlxQuadTree._objectBottomEdge < this._midpointY) {
|
|
if(this._northEastTree == null) {
|
|
this._northEastTree = flixel_system_FlxQuadTree.recycle(this._midpointX,this._topEdge,this._halfWidth,this._halfHeight,this);
|
|
}
|
|
this._northEastTree.addObject();
|
|
return;
|
|
}
|
|
if(flixel_system_FlxQuadTree._objectTopEdge > this._midpointY && flixel_system_FlxQuadTree._objectBottomEdge < this._bottomEdge) {
|
|
if(this._southEastTree == null) {
|
|
this._southEastTree = flixel_system_FlxQuadTree.recycle(this._midpointX,this._midpointY,this._halfWidth,this._halfHeight,this);
|
|
}
|
|
this._southEastTree.addObject();
|
|
return;
|
|
}
|
|
}
|
|
if(flixel_system_FlxQuadTree._objectRightEdge > this._leftEdge && flixel_system_FlxQuadTree._objectLeftEdge < this._midpointX && flixel_system_FlxQuadTree._objectBottomEdge > this._topEdge && flixel_system_FlxQuadTree._objectTopEdge < this._midpointY) {
|
|
if(this._northWestTree == null) {
|
|
this._northWestTree = flixel_system_FlxQuadTree.recycle(this._leftEdge,this._topEdge,this._halfWidth,this._halfHeight,this);
|
|
}
|
|
this._northWestTree.addObject();
|
|
}
|
|
if(flixel_system_FlxQuadTree._objectRightEdge > this._midpointX && flixel_system_FlxQuadTree._objectLeftEdge < this._rightEdge && flixel_system_FlxQuadTree._objectBottomEdge > this._topEdge && flixel_system_FlxQuadTree._objectTopEdge < this._midpointY) {
|
|
if(this._northEastTree == null) {
|
|
this._northEastTree = flixel_system_FlxQuadTree.recycle(this._midpointX,this._topEdge,this._halfWidth,this._halfHeight,this);
|
|
}
|
|
this._northEastTree.addObject();
|
|
}
|
|
if(flixel_system_FlxQuadTree._objectRightEdge > this._midpointX && flixel_system_FlxQuadTree._objectLeftEdge < this._rightEdge && flixel_system_FlxQuadTree._objectBottomEdge > this._midpointY && flixel_system_FlxQuadTree._objectTopEdge < this._bottomEdge) {
|
|
if(this._southEastTree == null) {
|
|
this._southEastTree = flixel_system_FlxQuadTree.recycle(this._midpointX,this._midpointY,this._halfWidth,this._halfHeight,this);
|
|
}
|
|
this._southEastTree.addObject();
|
|
}
|
|
if(flixel_system_FlxQuadTree._objectRightEdge > this._leftEdge && flixel_system_FlxQuadTree._objectLeftEdge < this._midpointX && flixel_system_FlxQuadTree._objectBottomEdge > this._midpointY && flixel_system_FlxQuadTree._objectTopEdge < this._bottomEdge) {
|
|
if(this._southWestTree == null) {
|
|
this._southWestTree = flixel_system_FlxQuadTree.recycle(this._leftEdge,this._midpointY,this._halfWidth,this._halfHeight,this);
|
|
}
|
|
this._southWestTree.addObject();
|
|
}
|
|
}
|
|
,addToList: function() {
|
|
var ot;
|
|
if(flixel_system_FlxQuadTree._list == 0) {
|
|
if(this._tailA.object != null) {
|
|
ot = this._tailA;
|
|
this._tailA = flixel_system_FlxLinkedList.recycle();
|
|
ot.next = this._tailA;
|
|
}
|
|
this._tailA.object = flixel_system_FlxQuadTree._object;
|
|
} else {
|
|
if(this._tailB.object != null) {
|
|
ot = this._tailB;
|
|
this._tailB = flixel_system_FlxLinkedList.recycle();
|
|
ot.next = this._tailB;
|
|
}
|
|
this._tailB.object = flixel_system_FlxQuadTree._object;
|
|
}
|
|
if(!this._canSubdivide) {
|
|
return;
|
|
}
|
|
if(this._northWestTree != null) {
|
|
this._northWestTree.addToList();
|
|
}
|
|
if(this._northEastTree != null) {
|
|
this._northEastTree.addToList();
|
|
}
|
|
if(this._southEastTree != null) {
|
|
this._southEastTree.addToList();
|
|
}
|
|
if(this._southWestTree != null) {
|
|
this._southWestTree.addToList();
|
|
}
|
|
}
|
|
,execute: function() {
|
|
var overlapProcessed = false;
|
|
if(this._headA.object != null) {
|
|
var iterator = this._headA;
|
|
while(iterator != null) {
|
|
flixel_system_FlxQuadTree._object = iterator.object;
|
|
if(flixel_system_FlxQuadTree._useBothLists) {
|
|
flixel_system_FlxQuadTree._iterator = this._headB;
|
|
} else {
|
|
flixel_system_FlxQuadTree._iterator = iterator.next;
|
|
}
|
|
if(flixel_system_FlxQuadTree._object != null && flixel_system_FlxQuadTree._object.exists && flixel_system_FlxQuadTree._object.allowCollisions > 0 && flixel_system_FlxQuadTree._iterator != null && flixel_system_FlxQuadTree._iterator.object != null && this.overlapNode()) {
|
|
overlapProcessed = true;
|
|
}
|
|
iterator = iterator.next;
|
|
}
|
|
}
|
|
if(this._northWestTree != null && this._northWestTree.execute()) {
|
|
overlapProcessed = true;
|
|
}
|
|
if(this._northEastTree != null && this._northEastTree.execute()) {
|
|
overlapProcessed = true;
|
|
}
|
|
if(this._southEastTree != null && this._southEastTree.execute()) {
|
|
overlapProcessed = true;
|
|
}
|
|
if(this._southWestTree != null && this._southWestTree.execute()) {
|
|
overlapProcessed = true;
|
|
}
|
|
return overlapProcessed;
|
|
}
|
|
,overlapNode: function() {
|
|
flixel_system_FlxQuadTree._objectHullX = flixel_system_FlxQuadTree._object.x < flixel_system_FlxQuadTree._object.last.x ? flixel_system_FlxQuadTree._object.x : flixel_system_FlxQuadTree._object.last.x;
|
|
flixel_system_FlxQuadTree._objectHullY = flixel_system_FlxQuadTree._object.y < flixel_system_FlxQuadTree._object.last.y ? flixel_system_FlxQuadTree._object.y : flixel_system_FlxQuadTree._object.last.y;
|
|
flixel_system_FlxQuadTree._objectHullWidth = flixel_system_FlxQuadTree._object.x - flixel_system_FlxQuadTree._object.last.x;
|
|
flixel_system_FlxQuadTree._objectHullWidth = flixel_system_FlxQuadTree._object.get_width() + (flixel_system_FlxQuadTree._objectHullWidth > 0 ? flixel_system_FlxQuadTree._objectHullWidth : -flixel_system_FlxQuadTree._objectHullWidth);
|
|
flixel_system_FlxQuadTree._objectHullHeight = flixel_system_FlxQuadTree._object.y - flixel_system_FlxQuadTree._object.last.y;
|
|
flixel_system_FlxQuadTree._objectHullHeight = flixel_system_FlxQuadTree._object.get_height() + (flixel_system_FlxQuadTree._objectHullHeight > 0 ? flixel_system_FlxQuadTree._objectHullHeight : -flixel_system_FlxQuadTree._objectHullHeight);
|
|
var overlapProcessed = false;
|
|
var checkObject;
|
|
while(flixel_system_FlxQuadTree._iterator != null) {
|
|
checkObject = flixel_system_FlxQuadTree._iterator.object;
|
|
if(flixel_system_FlxQuadTree._object == checkObject || !checkObject.exists || checkObject.allowCollisions <= 0) {
|
|
flixel_system_FlxQuadTree._iterator = flixel_system_FlxQuadTree._iterator.next;
|
|
continue;
|
|
}
|
|
flixel_system_FlxQuadTree._checkObjectHullX = checkObject.x < checkObject.last.x ? checkObject.x : checkObject.last.x;
|
|
flixel_system_FlxQuadTree._checkObjectHullY = checkObject.y < checkObject.last.y ? checkObject.y : checkObject.last.y;
|
|
flixel_system_FlxQuadTree._checkObjectHullWidth = checkObject.x - checkObject.last.x;
|
|
flixel_system_FlxQuadTree._checkObjectHullWidth = checkObject.get_width() + (flixel_system_FlxQuadTree._checkObjectHullWidth > 0 ? flixel_system_FlxQuadTree._checkObjectHullWidth : -flixel_system_FlxQuadTree._checkObjectHullWidth);
|
|
flixel_system_FlxQuadTree._checkObjectHullHeight = checkObject.y - checkObject.last.y;
|
|
flixel_system_FlxQuadTree._checkObjectHullHeight = checkObject.get_height() + (flixel_system_FlxQuadTree._checkObjectHullHeight > 0 ? flixel_system_FlxQuadTree._checkObjectHullHeight : -flixel_system_FlxQuadTree._checkObjectHullHeight);
|
|
if(flixel_system_FlxQuadTree._objectHullX + flixel_system_FlxQuadTree._objectHullWidth > flixel_system_FlxQuadTree._checkObjectHullX && flixel_system_FlxQuadTree._objectHullX < flixel_system_FlxQuadTree._checkObjectHullX + flixel_system_FlxQuadTree._checkObjectHullWidth && flixel_system_FlxQuadTree._objectHullY + flixel_system_FlxQuadTree._objectHullHeight > flixel_system_FlxQuadTree._checkObjectHullY && flixel_system_FlxQuadTree._objectHullY < flixel_system_FlxQuadTree._checkObjectHullY + flixel_system_FlxQuadTree._checkObjectHullHeight) {
|
|
if(flixel_system_FlxQuadTree._processingCallback == null || flixel_system_FlxQuadTree._processingCallback(flixel_system_FlxQuadTree._object,checkObject)) {
|
|
overlapProcessed = true;
|
|
if(flixel_system_FlxQuadTree._notifyCallback != null) {
|
|
flixel_system_FlxQuadTree._notifyCallback(flixel_system_FlxQuadTree._object,checkObject);
|
|
}
|
|
}
|
|
}
|
|
if(flixel_system_FlxQuadTree._iterator != null) {
|
|
flixel_system_FlxQuadTree._iterator = flixel_system_FlxQuadTree._iterator.next;
|
|
}
|
|
}
|
|
return overlapProcessed;
|
|
}
|
|
,__class__: flixel_system_FlxQuadTree
|
|
});
|
|
var flixel_system_FlxSound = function() {
|
|
this._alreadyPaused = false;
|
|
this._volumeAdjust = 1.0;
|
|
this._length = 0;
|
|
this._time = 0;
|
|
this.loopTime = 0;
|
|
flixel_FlxBasic.call(this);
|
|
this.reset();
|
|
};
|
|
$hxClasses["flixel.system.FlxSound"] = flixel_system_FlxSound;
|
|
flixel_system_FlxSound.__name__ = "flixel.system.FlxSound";
|
|
flixel_system_FlxSound.__super__ = flixel_FlxBasic;
|
|
flixel_system_FlxSound.prototype = $extend(flixel_FlxBasic.prototype,{
|
|
x: null
|
|
,y: null
|
|
,persist: null
|
|
,name: null
|
|
,artist: null
|
|
,amplitude: null
|
|
,amplitudeLeft: null
|
|
,amplitudeRight: null
|
|
,autoDestroy: null
|
|
,onComplete: null
|
|
,group: null
|
|
,looped: null
|
|
,loopTime: null
|
|
,endTime: null
|
|
,fadeTween: null
|
|
,_sound: null
|
|
,_channel: null
|
|
,_transform: null
|
|
,_paused: null
|
|
,_volume: null
|
|
,_time: null
|
|
,_length: null
|
|
,_volumeAdjust: null
|
|
,_target: null
|
|
,_radius: null
|
|
,_proximityPan: null
|
|
,_alreadyPaused: null
|
|
,reset: function() {
|
|
this.destroy();
|
|
this.x = 0;
|
|
this.y = 0;
|
|
this._time = 0;
|
|
this._paused = false;
|
|
this._volume = 1.0;
|
|
this._volumeAdjust = 1.0;
|
|
this.looped = false;
|
|
this.loopTime = 0.0;
|
|
this.endTime = 0.0;
|
|
this._target = null;
|
|
this._radius = 0;
|
|
this._proximityPan = false;
|
|
this.set_visible(false);
|
|
this.amplitude = 0;
|
|
this.amplitudeLeft = 0;
|
|
this.amplitudeRight = 0;
|
|
this.autoDestroy = false;
|
|
if(this._transform == null) {
|
|
this._transform = new openfl_media_SoundTransform();
|
|
}
|
|
this._transform.pan = 0;
|
|
}
|
|
,destroy: function() {
|
|
this._transform = null;
|
|
this.set_exists(false);
|
|
this.set_active(false);
|
|
this._target = null;
|
|
this.name = null;
|
|
this.artist = null;
|
|
if(this._channel != null) {
|
|
this._channel.removeEventListener("soundComplete",$bind(this,this.stopped));
|
|
this._channel.stop();
|
|
this._channel = null;
|
|
}
|
|
if(this._sound != null) {
|
|
this._sound.removeEventListener("id3",$bind(this,this.gotID3));
|
|
this._sound = null;
|
|
}
|
|
this.onComplete = null;
|
|
flixel_FlxBasic.prototype.destroy.call(this);
|
|
}
|
|
,update: function(elapsed) {
|
|
if(this._channel == null) {
|
|
return;
|
|
}
|
|
this._time = this._channel.get_position();
|
|
var radialMultiplier = 1.0;
|
|
if(this._target != null) {
|
|
var targetPosition = this._target.getPosition();
|
|
var X = this.x;
|
|
var Y = this.y;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X1,Y1);
|
|
point._inPool = false;
|
|
var point1 = point;
|
|
point1._weak = true;
|
|
radialMultiplier = targetPosition.distanceTo(point1) / this._radius;
|
|
targetPosition.put();
|
|
var lowerBound = radialMultiplier < 0 ? 0 : radialMultiplier;
|
|
radialMultiplier = 1 - (lowerBound > 1 ? 1 : lowerBound);
|
|
if(this._proximityPan) {
|
|
var d = (this.x - this._target.x) / this._radius;
|
|
var lowerBound = d < -1 ? -1 : d;
|
|
this._transform.pan = lowerBound > 1 ? 1 : lowerBound;
|
|
}
|
|
}
|
|
this._volumeAdjust = radialMultiplier;
|
|
this.updateTransform();
|
|
if(this._transform.volume > 0) {
|
|
this.amplitudeLeft = this._channel.leftPeak / this._transform.volume;
|
|
this.amplitudeRight = this._channel.rightPeak / this._transform.volume;
|
|
this.amplitude = (this.amplitudeLeft + this.amplitudeRight) * 0.5;
|
|
} else {
|
|
this.amplitudeLeft = 0;
|
|
this.amplitudeRight = 0;
|
|
this.amplitude = 0;
|
|
}
|
|
if(this.endTime != null && this._time >= this.endTime) {
|
|
this.stopped();
|
|
}
|
|
}
|
|
,kill: function() {
|
|
flixel_FlxBasic.prototype.kill.call(this);
|
|
this.cleanup(false);
|
|
}
|
|
,loadEmbedded: function(EmbeddedSound,Looped,AutoDestroy,OnComplete) {
|
|
if(AutoDestroy == null) {
|
|
AutoDestroy = false;
|
|
}
|
|
if(Looped == null) {
|
|
Looped = false;
|
|
}
|
|
if(EmbeddedSound == null) {
|
|
return this;
|
|
}
|
|
this.cleanup(true);
|
|
if(((EmbeddedSound) instanceof openfl_media_Sound)) {
|
|
this._sound = EmbeddedSound;
|
|
} else if(js_Boot.__instanceof(EmbeddedSound,Class)) {
|
|
this._sound = Type.createInstance(EmbeddedSound,[]);
|
|
} else if(typeof(EmbeddedSound) == "string") {
|
|
if(openfl_utils_Assets.exists(EmbeddedSound,"SOUND") || openfl_utils_Assets.exists(EmbeddedSound,"MUSIC")) {
|
|
this._sound = openfl_utils_Assets.getSound(EmbeddedSound);
|
|
}
|
|
}
|
|
return this.init(Looped,AutoDestroy,OnComplete);
|
|
}
|
|
,loadStream: function(SoundURL,Looped,AutoDestroy,OnComplete) {
|
|
if(AutoDestroy == null) {
|
|
AutoDestroy = false;
|
|
}
|
|
if(Looped == null) {
|
|
Looped = false;
|
|
}
|
|
this.cleanup(true);
|
|
this._sound = new openfl_media_Sound();
|
|
this._sound.addEventListener("id3",$bind(this,this.gotID3));
|
|
this._sound.load(new openfl_net_URLRequest(SoundURL));
|
|
return this.init(Looped,AutoDestroy,OnComplete);
|
|
}
|
|
,init: function(Looped,AutoDestroy,OnComplete) {
|
|
if(AutoDestroy == null) {
|
|
AutoDestroy = false;
|
|
}
|
|
if(Looped == null) {
|
|
Looped = false;
|
|
}
|
|
this.looped = Looped;
|
|
this.autoDestroy = AutoDestroy;
|
|
this.updateTransform();
|
|
this.set_exists(true);
|
|
this.onComplete = OnComplete;
|
|
this._length = this._sound == null ? 0 : this._sound.get_length();
|
|
this.endTime = this._length;
|
|
return this;
|
|
}
|
|
,proximity: function(X,Y,TargetObject,Radius,Pan) {
|
|
if(Pan == null) {
|
|
Pan = true;
|
|
}
|
|
this.x = X;
|
|
this.y = Y;
|
|
this._target = TargetObject;
|
|
this._radius = Radius;
|
|
this._proximityPan = Pan;
|
|
return this;
|
|
}
|
|
,play: function(ForceRestart,StartTime,EndTime) {
|
|
if(StartTime == null) {
|
|
StartTime = 0.0;
|
|
}
|
|
if(ForceRestart == null) {
|
|
ForceRestart = false;
|
|
}
|
|
if(!this.exists) {
|
|
return this;
|
|
}
|
|
if(ForceRestart) {
|
|
this.cleanup(false,true);
|
|
} else if(this._channel != null) {
|
|
return this;
|
|
}
|
|
if(this._paused) {
|
|
this.resume();
|
|
} else {
|
|
this.startSound(StartTime);
|
|
}
|
|
this.endTime = EndTime;
|
|
return this;
|
|
}
|
|
,resume: function() {
|
|
if(this._paused) {
|
|
this.startSound(this._time);
|
|
}
|
|
return this;
|
|
}
|
|
,pause: function() {
|
|
if(this._channel == null) {
|
|
return this;
|
|
}
|
|
this._time = this._channel.get_position();
|
|
this._paused = true;
|
|
this.cleanup(false,false);
|
|
return this;
|
|
}
|
|
,stop: function() {
|
|
this.cleanup(this.autoDestroy,true);
|
|
return this;
|
|
}
|
|
,fadeOut: function(Duration,To,onComplete) {
|
|
if(To == null) {
|
|
To = 0;
|
|
}
|
|
if(Duration == null) {
|
|
Duration = 1;
|
|
}
|
|
if(this.fadeTween != null) {
|
|
this.fadeTween.cancel();
|
|
}
|
|
this.fadeTween = flixel_tweens_FlxTween.num(this._volume,To,Duration,{ onComplete : onComplete},$bind(this,this.volumeTween));
|
|
return this;
|
|
}
|
|
,fadeIn: function(Duration,From,To,onComplete) {
|
|
if(To == null) {
|
|
To = 1;
|
|
}
|
|
if(From == null) {
|
|
From = 0;
|
|
}
|
|
if(Duration == null) {
|
|
Duration = 1;
|
|
}
|
|
if(this._channel == null) {
|
|
this.play();
|
|
}
|
|
if(this.fadeTween != null) {
|
|
this.fadeTween.cancel();
|
|
}
|
|
this.fadeTween = flixel_tweens_FlxTween.num(From,To,Duration,{ onComplete : onComplete},$bind(this,this.volumeTween));
|
|
return this;
|
|
}
|
|
,volumeTween: function(f) {
|
|
this.set_volume(f);
|
|
}
|
|
,getActualVolume: function() {
|
|
return this._volume * this._volumeAdjust;
|
|
}
|
|
,setPosition: function(X,Y) {
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
this.x = X;
|
|
this.y = Y;
|
|
}
|
|
,updateTransform: function() {
|
|
this._transform.volume = (flixel_FlxG.sound.muted ? 0 : 1) * flixel_FlxG.sound.volume * (this.group != null ? this.group.volume : 1) * this._volume * this._volumeAdjust;
|
|
if(this._channel != null) {
|
|
this._channel.set_soundTransform(this._transform);
|
|
}
|
|
}
|
|
,startSound: function(StartTime) {
|
|
if(this._sound == null) {
|
|
return;
|
|
}
|
|
this._time = StartTime;
|
|
this._paused = false;
|
|
this._channel = this._sound.play(this._time,0,this._transform);
|
|
if(this._channel != null) {
|
|
this._channel.addEventListener("soundComplete",$bind(this,this.stopped));
|
|
this.set_active(true);
|
|
} else {
|
|
this.set_exists(false);
|
|
this.set_active(false);
|
|
}
|
|
}
|
|
,stopped: function(_) {
|
|
if(this.onComplete != null) {
|
|
this.onComplete();
|
|
}
|
|
if(this.looped) {
|
|
this.cleanup(false);
|
|
this.play(false,this.loopTime,this.endTime);
|
|
} else {
|
|
this.cleanup(this.autoDestroy);
|
|
}
|
|
}
|
|
,cleanup: function(destroySound,resetPosition) {
|
|
if(resetPosition == null) {
|
|
resetPosition = true;
|
|
}
|
|
if(destroySound) {
|
|
this.reset();
|
|
return;
|
|
}
|
|
if(this._channel != null) {
|
|
this._channel.removeEventListener("soundComplete",$bind(this,this.stopped));
|
|
this._channel.stop();
|
|
this._channel = null;
|
|
}
|
|
this.set_active(false);
|
|
if(resetPosition) {
|
|
this._time = 0;
|
|
this._paused = false;
|
|
}
|
|
}
|
|
,gotID3: function(_) {
|
|
this.name = this._sound.get_id3().songName;
|
|
this.artist = this._sound.get_id3().artist;
|
|
this._sound.removeEventListener("id3",$bind(this,this.gotID3));
|
|
}
|
|
,onFocus: function() {
|
|
if(!this._alreadyPaused) {
|
|
this.resume();
|
|
}
|
|
}
|
|
,onFocusLost: function() {
|
|
this._alreadyPaused = this._paused;
|
|
this.pause();
|
|
}
|
|
,set_group: function(group) {
|
|
if(this.group != group) {
|
|
var oldGroup = this.group;
|
|
this.group = group;
|
|
if(oldGroup != null) {
|
|
oldGroup.remove(this);
|
|
}
|
|
if(group != null) {
|
|
group.add(this);
|
|
}
|
|
this.updateTransform();
|
|
}
|
|
return group;
|
|
}
|
|
,get_playing: function() {
|
|
return this._channel != null;
|
|
}
|
|
,get_volume: function() {
|
|
return this._volume;
|
|
}
|
|
,set_volume: function(Volume) {
|
|
var lowerBound = Volume < 0 ? 0 : Volume;
|
|
this._volume = lowerBound > 1 ? 1 : lowerBound;
|
|
this.updateTransform();
|
|
return Volume;
|
|
}
|
|
,get_pan: function() {
|
|
return this._transform.pan;
|
|
}
|
|
,set_pan: function(pan) {
|
|
return this._transform.pan = pan;
|
|
}
|
|
,get_time: function() {
|
|
return this._time;
|
|
}
|
|
,set_time: function(time) {
|
|
if(this._channel != null) {
|
|
this.cleanup(false,true);
|
|
this.startSound(time);
|
|
}
|
|
return this._time = time;
|
|
}
|
|
,get_length: function() {
|
|
return this._length;
|
|
}
|
|
,toString: function() {
|
|
var value = this._channel != null;
|
|
var _this = flixel_util_LabelValuePair._pool.get();
|
|
_this.label = "playing";
|
|
_this.value = value;
|
|
var value = this._time;
|
|
var _this1 = flixel_util_LabelValuePair._pool.get();
|
|
_this1.label = "time";
|
|
_this1.value = value;
|
|
var value = this._length;
|
|
var _this2 = flixel_util_LabelValuePair._pool.get();
|
|
_this2.label = "length";
|
|
_this2.value = value;
|
|
var value = this._volume;
|
|
var _this3 = flixel_util_LabelValuePair._pool.get();
|
|
_this3.label = "volume";
|
|
_this3.value = value;
|
|
return flixel_util_FlxStringUtil.getDebugString([_this,_this1,_this2,_this3]);
|
|
}
|
|
,__class__: flixel_system_FlxSound
|
|
,__properties__: $extend(flixel_FlxBasic.prototype.__properties__,{set_group:"set_group",get_length:"get_length",set_time:"set_time",get_time:"get_time",set_volume:"set_volume",get_volume:"get_volume",get_playing:"get_playing",set_pan:"set_pan",get_pan:"get_pan"})
|
|
});
|
|
var flixel_system_FlxSoundGroup = function(volume) {
|
|
if(volume == null) {
|
|
volume = 1;
|
|
}
|
|
this.sounds = [];
|
|
this.set_volume(volume);
|
|
};
|
|
$hxClasses["flixel.system.FlxSoundGroup"] = flixel_system_FlxSoundGroup;
|
|
flixel_system_FlxSoundGroup.__name__ = "flixel.system.FlxSoundGroup";
|
|
flixel_system_FlxSoundGroup.prototype = {
|
|
sounds: null
|
|
,volume: null
|
|
,add: function(sound) {
|
|
if(this.sounds.indexOf(sound) < 0) {
|
|
this.sounds.push(sound);
|
|
sound.set_group(this);
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
,remove: function(sound) {
|
|
if(this.sounds.indexOf(sound) >= 0) {
|
|
sound.set_group(null);
|
|
return HxOverrides.remove(this.sounds,sound);
|
|
}
|
|
return false;
|
|
}
|
|
,pause: function() {
|
|
var _g = 0;
|
|
var _g1 = this.sounds;
|
|
while(_g < _g1.length) {
|
|
var sound = _g1[_g];
|
|
++_g;
|
|
sound.pause();
|
|
}
|
|
}
|
|
,resume: function() {
|
|
var _g = 0;
|
|
var _g1 = this.sounds;
|
|
while(_g < _g1.length) {
|
|
var sound = _g1[_g];
|
|
++_g;
|
|
sound.resume();
|
|
}
|
|
}
|
|
,set_volume: function(volume) {
|
|
this.volume = volume;
|
|
var _g = 0;
|
|
var _g1 = this.sounds;
|
|
while(_g < _g1.length) {
|
|
var sound = _g1[_g];
|
|
++_g;
|
|
sound.updateTransform();
|
|
}
|
|
return volume;
|
|
}
|
|
,__class__: flixel_system_FlxSoundGroup
|
|
,__properties__: {set_volume:"set_volume"}
|
|
};
|
|
var flixel_system_FlxSplash = function(MaxSize) {
|
|
this._curPart = 0;
|
|
flixel_FlxState.call(this,MaxSize);
|
|
};
|
|
$hxClasses["flixel.system.FlxSplash"] = flixel_system_FlxSplash;
|
|
flixel_system_FlxSplash.__name__ = "flixel.system.FlxSplash";
|
|
flixel_system_FlxSplash.nextState = null;
|
|
flixel_system_FlxSplash.__super__ = flixel_FlxState;
|
|
flixel_system_FlxSplash.prototype = $extend(flixel_FlxState.prototype,{
|
|
_sprite: null
|
|
,_gfx: null
|
|
,_text: null
|
|
,_times: null
|
|
,_colors: null
|
|
,_functions: null
|
|
,_curPart: null
|
|
,_cachedBgColor: null
|
|
,_cachedTimestep: null
|
|
,_cachedAutoPause: null
|
|
,create: function() {
|
|
this._cachedBgColor = flixel_FlxG.cameras.get_bgColor();
|
|
flixel_FlxG.cameras.set_bgColor(-16777216);
|
|
this._cachedTimestep = flixel_FlxG.fixedTimestep;
|
|
flixel_FlxG.fixedTimestep = false;
|
|
this._cachedAutoPause = flixel_FlxG.autoPause;
|
|
flixel_FlxG.autoPause = false;
|
|
flixel_FlxG.keys.enabled = false;
|
|
this._times = [0.041,0.184,0.334,0.495,0.636];
|
|
this._colors = [47394,16761138,16066382,3555839,314875];
|
|
this._functions = [$bind(this,this.drawGreen),$bind(this,this.drawYellow),$bind(this,this.drawRed),$bind(this,this.drawBlue),$bind(this,this.drawLightBlue)];
|
|
var _g = 0;
|
|
var _g1 = this._times;
|
|
while(_g < _g1.length) {
|
|
var time = _g1[_g];
|
|
++_g;
|
|
new flixel_util_FlxTimer().start(time,$bind(this,this.timerCallback));
|
|
}
|
|
var stageWidth = openfl_Lib.get_current().stage.stageWidth;
|
|
var stageHeight = openfl_Lib.get_current().stage.stageHeight;
|
|
this._sprite = new openfl_display_Sprite();
|
|
openfl_Lib.get_current().stage.addChild(this._sprite);
|
|
this._gfx = this._sprite.get_graphics();
|
|
this._text = new openfl_text_TextField();
|
|
this._text.set_selectable(false);
|
|
this._text.set_embedFonts(true);
|
|
var dtf = new openfl_text_TextFormat(flixel_system_FlxAssets.FONT_DEFAULT,16,16777215);
|
|
dtf.align = 0;
|
|
this._text.set_defaultTextFormat(dtf);
|
|
this._text.set_text("HaxeFlixel");
|
|
openfl_Lib.get_current().stage.addChild(this._text);
|
|
this.onResize(stageWidth,stageHeight);
|
|
if(!flixel_system_FlxSplash.muted) {
|
|
var extension = "";
|
|
extension = ".ogg";
|
|
flixel_FlxG.sound.load(openfl_utils_Assets.getSound("flixel/sounds/flixel" + extension)).play();
|
|
}
|
|
}
|
|
,destroy: function() {
|
|
this._sprite = null;
|
|
this._gfx = null;
|
|
this._text = null;
|
|
this._times = null;
|
|
this._colors = null;
|
|
this._functions = null;
|
|
flixel_FlxState.prototype.destroy.call(this);
|
|
}
|
|
,onResize: function(Width,Height) {
|
|
flixel_FlxState.prototype.onResize.call(this,Width,Height);
|
|
this._sprite.set_x(Width / 2);
|
|
this._sprite.set_y(Height / 2 - 20 * flixel_FlxG.game.get_scaleY());
|
|
this._text.set_width(Width / flixel_FlxG.game.get_scaleX());
|
|
this._text.set_x(0);
|
|
this._text.set_y(this._sprite.get_y() + 80 * flixel_FlxG.game.get_scaleY());
|
|
this._sprite.set_scaleX(this._text.set_scaleX(flixel_FlxG.game.get_scaleX()));
|
|
this._sprite.set_scaleY(this._text.set_scaleY(flixel_FlxG.game.get_scaleY()));
|
|
}
|
|
,timerCallback: function(Timer) {
|
|
this._functions[this._curPart]();
|
|
this._text.set_textColor(this._colors[this._curPart]);
|
|
this._text.set_text("HaxeFlixel");
|
|
this._curPart++;
|
|
if(this._curPart == 5) {
|
|
flixel_tweens_FlxTween.tween(this._sprite,{ alpha : 0},3.0,{ ease : flixel_tweens_FlxEase.quadOut, onComplete : $bind(this,this.onComplete)});
|
|
flixel_tweens_FlxTween.tween(this._text,{ alpha : 0},3.0,{ ease : flixel_tweens_FlxEase.quadOut});
|
|
}
|
|
}
|
|
,drawGreen: function() {
|
|
this._gfx.beginFill(47394);
|
|
this._gfx.moveTo(0,-37);
|
|
this._gfx.lineTo(1,-37);
|
|
this._gfx.lineTo(37,0);
|
|
this._gfx.lineTo(37,1);
|
|
this._gfx.lineTo(1,37);
|
|
this._gfx.lineTo(0,37);
|
|
this._gfx.lineTo(-37,1);
|
|
this._gfx.lineTo(-37,0);
|
|
this._gfx.lineTo(0,-37);
|
|
this._gfx.endFill();
|
|
}
|
|
,drawYellow: function() {
|
|
this._gfx.beginFill(16761138);
|
|
this._gfx.moveTo(-50,-50);
|
|
this._gfx.lineTo(-25,-50);
|
|
this._gfx.lineTo(0,-37);
|
|
this._gfx.lineTo(-37,0);
|
|
this._gfx.lineTo(-50,-25);
|
|
this._gfx.lineTo(-50,-50);
|
|
this._gfx.endFill();
|
|
}
|
|
,drawRed: function() {
|
|
this._gfx.beginFill(16066382);
|
|
this._gfx.moveTo(50,-50);
|
|
this._gfx.lineTo(25,-50);
|
|
this._gfx.lineTo(1,-37);
|
|
this._gfx.lineTo(37,0);
|
|
this._gfx.lineTo(50,-25);
|
|
this._gfx.lineTo(50,-50);
|
|
this._gfx.endFill();
|
|
}
|
|
,drawBlue: function() {
|
|
this._gfx.beginFill(3555839);
|
|
this._gfx.moveTo(-50,50);
|
|
this._gfx.lineTo(-25,50);
|
|
this._gfx.lineTo(0,37);
|
|
this._gfx.lineTo(-37,1);
|
|
this._gfx.lineTo(-50,25);
|
|
this._gfx.lineTo(-50,50);
|
|
this._gfx.endFill();
|
|
}
|
|
,drawLightBlue: function() {
|
|
this._gfx.beginFill(314875);
|
|
this._gfx.moveTo(50,50);
|
|
this._gfx.lineTo(25,50);
|
|
this._gfx.lineTo(1,37);
|
|
this._gfx.lineTo(37,1);
|
|
this._gfx.lineTo(50,25);
|
|
this._gfx.lineTo(50,50);
|
|
this._gfx.endFill();
|
|
}
|
|
,onComplete: function(Tween) {
|
|
flixel_FlxG.cameras.set_bgColor(this._cachedBgColor);
|
|
flixel_FlxG.fixedTimestep = this._cachedTimestep;
|
|
flixel_FlxG.autoPause = this._cachedAutoPause;
|
|
flixel_FlxG.keys.enabled = true;
|
|
openfl_Lib.get_current().stage.removeChild(this._sprite);
|
|
openfl_Lib.get_current().stage.removeChild(this._text);
|
|
var nextState = Type.createInstance(flixel_system_FlxSplash.nextState,[]);
|
|
if(flixel_FlxG.game._state.switchTo(nextState)) {
|
|
flixel_FlxG.game._requestedState = nextState;
|
|
}
|
|
flixel_FlxG.game._gameJustStarted = true;
|
|
}
|
|
,__class__: flixel_system_FlxSplash
|
|
});
|
|
var flixel_system_debug_DebuggerUtil = function() { };
|
|
$hxClasses["flixel.system.debug.DebuggerUtil"] = flixel_system_debug_DebuggerUtil;
|
|
flixel_system_debug_DebuggerUtil.__name__ = "flixel.system.debug.DebuggerUtil";
|
|
flixel_system_debug_DebuggerUtil.createTextField = function(X,Y,Color,Size) {
|
|
if(Size == null) {
|
|
Size = 12;
|
|
}
|
|
if(Color == null) {
|
|
Color = -1;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
return flixel_system_debug_DebuggerUtil.initTextField(new openfl_text_TextField(),X,Y,Color,Size);
|
|
};
|
|
flixel_system_debug_DebuggerUtil.initTextField = function(tf,X,Y,Color,Size) {
|
|
if(Size == null) {
|
|
Size = 12;
|
|
}
|
|
if(Color == null) {
|
|
Color = -1;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
tf.set_x(X);
|
|
tf.set_y(Y);
|
|
tf.set_multiline(false);
|
|
tf.set_wordWrap(false);
|
|
tf.set_embedFonts(true);
|
|
tf.set_selectable(false);
|
|
tf.set_defaultTextFormat(new openfl_text_TextFormat(flixel_system_FlxAssets.FONT_DEBUGGER,Size,Color & 16777215));
|
|
tf.set_alpha((Color >> 24 & 255) / 255);
|
|
tf.set_autoSize(1);
|
|
return tf;
|
|
};
|
|
flixel_system_debug_DebuggerUtil.fixSize = function(bitmapData) {
|
|
Reflect.setProperty(bitmapData,"width",11);
|
|
Reflect.setProperty(bitmapData,"height",11);
|
|
return bitmapData;
|
|
};
|
|
var flixel_system_debug__$FlxDebugger_GraphicFlixel = function(width,height,transparent,fillRGBA,onload) {
|
|
if(fillRGBA == null) {
|
|
fillRGBA = -1;
|
|
}
|
|
if(transparent == null) {
|
|
transparent = true;
|
|
}
|
|
openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA);
|
|
if(flixel_system_debug__$FlxDebugger_GraphicFlixel.preload != null) {
|
|
this.__fromImage(flixel_system_debug__$FlxDebugger_GraphicFlixel.preload);
|
|
} else {
|
|
var _gthis = this;
|
|
lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug__$FlxDebugger_GraphicFlixel.resourceName),flixel_system_debug__$FlxDebugger_GraphicFlixel.resourceType).then(function(image) {
|
|
_gthis.__fromImage(image);
|
|
return lime_app_Future.withValue(_gthis);
|
|
}).onComplete(function(b) {
|
|
if(flixel_system_debug__$FlxDebugger_GraphicFlixel.preload == null) {
|
|
flixel_system_debug__$FlxDebugger_GraphicFlixel.preload = b.image;
|
|
}
|
|
if(onload != null && Reflect.isFunction(onload)) {
|
|
onload(b);
|
|
}
|
|
});
|
|
}
|
|
};
|
|
$hxClasses["flixel.system.debug._FlxDebugger.GraphicFlixel"] = flixel_system_debug__$FlxDebugger_GraphicFlixel;
|
|
flixel_system_debug__$FlxDebugger_GraphicFlixel.__name__ = "flixel.system.debug._FlxDebugger.GraphicFlixel";
|
|
flixel_system_debug__$FlxDebugger_GraphicFlixel.preload = null;
|
|
flixel_system_debug__$FlxDebugger_GraphicFlixel.__super__ = openfl_display_BitmapData;
|
|
flixel_system_debug__$FlxDebugger_GraphicFlixel.prototype = $extend(openfl_display_BitmapData.prototype,{
|
|
__class__: flixel_system_debug__$FlxDebugger_GraphicFlixel
|
|
});
|
|
var flixel_system_debug__$FlxDebugger_GraphicDrawDebug = function(width,height,transparent,fillRGBA,onload) {
|
|
if(fillRGBA == null) {
|
|
fillRGBA = -1;
|
|
}
|
|
if(transparent == null) {
|
|
transparent = true;
|
|
}
|
|
openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA);
|
|
if(flixel_system_debug__$FlxDebugger_GraphicDrawDebug.preload != null) {
|
|
this.__fromImage(flixel_system_debug__$FlxDebugger_GraphicDrawDebug.preload);
|
|
} else {
|
|
var _gthis = this;
|
|
lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug__$FlxDebugger_GraphicDrawDebug.resourceName),flixel_system_debug__$FlxDebugger_GraphicDrawDebug.resourceType).then(function(image) {
|
|
_gthis.__fromImage(image);
|
|
return lime_app_Future.withValue(_gthis);
|
|
}).onComplete(function(b) {
|
|
if(flixel_system_debug__$FlxDebugger_GraphicDrawDebug.preload == null) {
|
|
flixel_system_debug__$FlxDebugger_GraphicDrawDebug.preload = b.image;
|
|
}
|
|
if(onload != null && Reflect.isFunction(onload)) {
|
|
onload(b);
|
|
}
|
|
});
|
|
}
|
|
};
|
|
$hxClasses["flixel.system.debug._FlxDebugger.GraphicDrawDebug"] = flixel_system_debug__$FlxDebugger_GraphicDrawDebug;
|
|
flixel_system_debug__$FlxDebugger_GraphicDrawDebug.__name__ = "flixel.system.debug._FlxDebugger.GraphicDrawDebug";
|
|
flixel_system_debug__$FlxDebugger_GraphicDrawDebug.preload = null;
|
|
flixel_system_debug__$FlxDebugger_GraphicDrawDebug.__super__ = openfl_display_BitmapData;
|
|
flixel_system_debug__$FlxDebugger_GraphicDrawDebug.prototype = $extend(openfl_display_BitmapData.prototype,{
|
|
__class__: flixel_system_debug__$FlxDebugger_GraphicDrawDebug
|
|
});
|
|
var flixel_system_debug_GraphicLog = function(width,height,transparent,fillRGBA,onload) {
|
|
if(fillRGBA == null) {
|
|
fillRGBA = -1;
|
|
}
|
|
if(transparent == null) {
|
|
transparent = true;
|
|
}
|
|
openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA);
|
|
if(flixel_system_debug_GraphicLog.preload != null) {
|
|
this.__fromImage(flixel_system_debug_GraphicLog.preload);
|
|
} else {
|
|
var _gthis = this;
|
|
lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_GraphicLog.resourceName),flixel_system_debug_GraphicLog.resourceType).then(function(image) {
|
|
_gthis.__fromImage(image);
|
|
return lime_app_Future.withValue(_gthis);
|
|
}).onComplete(function(b) {
|
|
if(flixel_system_debug_GraphicLog.preload == null) {
|
|
flixel_system_debug_GraphicLog.preload = b.image;
|
|
}
|
|
if(onload != null && Reflect.isFunction(onload)) {
|
|
onload(b);
|
|
}
|
|
});
|
|
}
|
|
};
|
|
$hxClasses["flixel.system.debug.GraphicLog"] = flixel_system_debug_GraphicLog;
|
|
flixel_system_debug_GraphicLog.__name__ = "flixel.system.debug.GraphicLog";
|
|
flixel_system_debug_GraphicLog.preload = null;
|
|
flixel_system_debug_GraphicLog.__super__ = openfl_display_BitmapData;
|
|
flixel_system_debug_GraphicLog.prototype = $extend(openfl_display_BitmapData.prototype,{
|
|
__class__: flixel_system_debug_GraphicLog
|
|
});
|
|
var flixel_system_debug_GraphicStats = function(width,height,transparent,fillRGBA,onload) {
|
|
if(fillRGBA == null) {
|
|
fillRGBA = -1;
|
|
}
|
|
if(transparent == null) {
|
|
transparent = true;
|
|
}
|
|
openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA);
|
|
if(flixel_system_debug_GraphicStats.preload != null) {
|
|
this.__fromImage(flixel_system_debug_GraphicStats.preload);
|
|
} else {
|
|
var _gthis = this;
|
|
lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_GraphicStats.resourceName),flixel_system_debug_GraphicStats.resourceType).then(function(image) {
|
|
_gthis.__fromImage(image);
|
|
return lime_app_Future.withValue(_gthis);
|
|
}).onComplete(function(b) {
|
|
if(flixel_system_debug_GraphicStats.preload == null) {
|
|
flixel_system_debug_GraphicStats.preload = b.image;
|
|
}
|
|
if(onload != null && Reflect.isFunction(onload)) {
|
|
onload(b);
|
|
}
|
|
});
|
|
}
|
|
};
|
|
$hxClasses["flixel.system.debug.GraphicStats"] = flixel_system_debug_GraphicStats;
|
|
flixel_system_debug_GraphicStats.__name__ = "flixel.system.debug.GraphicStats";
|
|
flixel_system_debug_GraphicStats.preload = null;
|
|
flixel_system_debug_GraphicStats.__super__ = openfl_display_BitmapData;
|
|
flixel_system_debug_GraphicStats.prototype = $extend(openfl_display_BitmapData.prototype,{
|
|
__class__: flixel_system_debug_GraphicStats
|
|
});
|
|
var flixel_system_debug_GraphicWatch = function(width,height,transparent,fillRGBA,onload) {
|
|
if(fillRGBA == null) {
|
|
fillRGBA = -1;
|
|
}
|
|
if(transparent == null) {
|
|
transparent = true;
|
|
}
|
|
openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA);
|
|
if(flixel_system_debug_GraphicWatch.preload != null) {
|
|
this.__fromImage(flixel_system_debug_GraphicWatch.preload);
|
|
} else {
|
|
var _gthis = this;
|
|
lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_GraphicWatch.resourceName),flixel_system_debug_GraphicWatch.resourceType).then(function(image) {
|
|
_gthis.__fromImage(image);
|
|
return lime_app_Future.withValue(_gthis);
|
|
}).onComplete(function(b) {
|
|
if(flixel_system_debug_GraphicWatch.preload == null) {
|
|
flixel_system_debug_GraphicWatch.preload = b.image;
|
|
}
|
|
if(onload != null && Reflect.isFunction(onload)) {
|
|
onload(b);
|
|
}
|
|
});
|
|
}
|
|
};
|
|
$hxClasses["flixel.system.debug.GraphicWatch"] = flixel_system_debug_GraphicWatch;
|
|
flixel_system_debug_GraphicWatch.__name__ = "flixel.system.debug.GraphicWatch";
|
|
flixel_system_debug_GraphicWatch.preload = null;
|
|
flixel_system_debug_GraphicWatch.__super__ = openfl_display_BitmapData;
|
|
flixel_system_debug_GraphicWatch.prototype = $extend(openfl_display_BitmapData.prototype,{
|
|
__class__: flixel_system_debug_GraphicWatch
|
|
});
|
|
var flixel_system_debug_GraphicBitmapLog = function(width,height,transparent,fillRGBA,onload) {
|
|
if(fillRGBA == null) {
|
|
fillRGBA = -1;
|
|
}
|
|
if(transparent == null) {
|
|
transparent = true;
|
|
}
|
|
openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA);
|
|
if(flixel_system_debug_GraphicBitmapLog.preload != null) {
|
|
this.__fromImage(flixel_system_debug_GraphicBitmapLog.preload);
|
|
} else {
|
|
var _gthis = this;
|
|
lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_GraphicBitmapLog.resourceName),flixel_system_debug_GraphicBitmapLog.resourceType).then(function(image) {
|
|
_gthis.__fromImage(image);
|
|
return lime_app_Future.withValue(_gthis);
|
|
}).onComplete(function(b) {
|
|
if(flixel_system_debug_GraphicBitmapLog.preload == null) {
|
|
flixel_system_debug_GraphicBitmapLog.preload = b.image;
|
|
}
|
|
if(onload != null && Reflect.isFunction(onload)) {
|
|
onload(b);
|
|
}
|
|
});
|
|
}
|
|
};
|
|
$hxClasses["flixel.system.debug.GraphicBitmapLog"] = flixel_system_debug_GraphicBitmapLog;
|
|
flixel_system_debug_GraphicBitmapLog.__name__ = "flixel.system.debug.GraphicBitmapLog";
|
|
flixel_system_debug_GraphicBitmapLog.preload = null;
|
|
flixel_system_debug_GraphicBitmapLog.__super__ = openfl_display_BitmapData;
|
|
flixel_system_debug_GraphicBitmapLog.prototype = $extend(openfl_display_BitmapData.prototype,{
|
|
__class__: flixel_system_debug_GraphicBitmapLog
|
|
});
|
|
var flixel_system_debug_GraphicConsole = function(width,height,transparent,fillRGBA,onload) {
|
|
if(fillRGBA == null) {
|
|
fillRGBA = -1;
|
|
}
|
|
if(transparent == null) {
|
|
transparent = true;
|
|
}
|
|
openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA);
|
|
if(flixel_system_debug_GraphicConsole.preload != null) {
|
|
this.__fromImage(flixel_system_debug_GraphicConsole.preload);
|
|
} else {
|
|
var _gthis = this;
|
|
lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_GraphicConsole.resourceName),flixel_system_debug_GraphicConsole.resourceType).then(function(image) {
|
|
_gthis.__fromImage(image);
|
|
return lime_app_Future.withValue(_gthis);
|
|
}).onComplete(function(b) {
|
|
if(flixel_system_debug_GraphicConsole.preload == null) {
|
|
flixel_system_debug_GraphicConsole.preload = b.image;
|
|
}
|
|
if(onload != null && Reflect.isFunction(onload)) {
|
|
onload(b);
|
|
}
|
|
});
|
|
}
|
|
};
|
|
$hxClasses["flixel.system.debug.GraphicConsole"] = flixel_system_debug_GraphicConsole;
|
|
flixel_system_debug_GraphicConsole.__name__ = "flixel.system.debug.GraphicConsole";
|
|
flixel_system_debug_GraphicConsole.preload = null;
|
|
flixel_system_debug_GraphicConsole.__super__ = openfl_display_BitmapData;
|
|
flixel_system_debug_GraphicConsole.prototype = $extend(openfl_display_BitmapData.prototype,{
|
|
__class__: flixel_system_debug_GraphicConsole
|
|
});
|
|
var flixel_system_debug_GraphicArrowLeft = function(width,height,transparent,fillRGBA,onload) {
|
|
if(fillRGBA == null) {
|
|
fillRGBA = -1;
|
|
}
|
|
if(transparent == null) {
|
|
transparent = true;
|
|
}
|
|
openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA);
|
|
if(flixel_system_debug_GraphicArrowLeft.preload != null) {
|
|
this.__fromImage(flixel_system_debug_GraphicArrowLeft.preload);
|
|
} else {
|
|
var _gthis = this;
|
|
lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_GraphicArrowLeft.resourceName),flixel_system_debug_GraphicArrowLeft.resourceType).then(function(image) {
|
|
_gthis.__fromImage(image);
|
|
return lime_app_Future.withValue(_gthis);
|
|
}).onComplete(function(b) {
|
|
if(flixel_system_debug_GraphicArrowLeft.preload == null) {
|
|
flixel_system_debug_GraphicArrowLeft.preload = b.image;
|
|
}
|
|
if(onload != null && Reflect.isFunction(onload)) {
|
|
onload(b);
|
|
}
|
|
});
|
|
}
|
|
};
|
|
$hxClasses["flixel.system.debug.GraphicArrowLeft"] = flixel_system_debug_GraphicArrowLeft;
|
|
flixel_system_debug_GraphicArrowLeft.__name__ = "flixel.system.debug.GraphicArrowLeft";
|
|
flixel_system_debug_GraphicArrowLeft.preload = null;
|
|
flixel_system_debug_GraphicArrowLeft.__super__ = openfl_display_BitmapData;
|
|
flixel_system_debug_GraphicArrowLeft.prototype = $extend(openfl_display_BitmapData.prototype,{
|
|
__class__: flixel_system_debug_GraphicArrowLeft
|
|
});
|
|
var flixel_system_debug_GraphicArrowRight = function(width,height,transparent,fillRGBA,onload) {
|
|
if(fillRGBA == null) {
|
|
fillRGBA = -1;
|
|
}
|
|
if(transparent == null) {
|
|
transparent = true;
|
|
}
|
|
openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA);
|
|
if(flixel_system_debug_GraphicArrowRight.preload != null) {
|
|
this.__fromImage(flixel_system_debug_GraphicArrowRight.preload);
|
|
} else {
|
|
var _gthis = this;
|
|
lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_GraphicArrowRight.resourceName),flixel_system_debug_GraphicArrowRight.resourceType).then(function(image) {
|
|
_gthis.__fromImage(image);
|
|
return lime_app_Future.withValue(_gthis);
|
|
}).onComplete(function(b) {
|
|
if(flixel_system_debug_GraphicArrowRight.preload == null) {
|
|
flixel_system_debug_GraphicArrowRight.preload = b.image;
|
|
}
|
|
if(onload != null && Reflect.isFunction(onload)) {
|
|
onload(b);
|
|
}
|
|
});
|
|
}
|
|
};
|
|
$hxClasses["flixel.system.debug.GraphicArrowRight"] = flixel_system_debug_GraphicArrowRight;
|
|
flixel_system_debug_GraphicArrowRight.__name__ = "flixel.system.debug.GraphicArrowRight";
|
|
flixel_system_debug_GraphicArrowRight.preload = null;
|
|
flixel_system_debug_GraphicArrowRight.__super__ = openfl_display_BitmapData;
|
|
flixel_system_debug_GraphicArrowRight.prototype = $extend(openfl_display_BitmapData.prototype,{
|
|
__class__: flixel_system_debug_GraphicArrowRight
|
|
});
|
|
var flixel_system_debug_GraphicCloseButton = function(width,height,transparent,fillRGBA,onload) {
|
|
if(fillRGBA == null) {
|
|
fillRGBA = -1;
|
|
}
|
|
if(transparent == null) {
|
|
transparent = true;
|
|
}
|
|
openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA);
|
|
if(flixel_system_debug_GraphicCloseButton.preload != null) {
|
|
this.__fromImage(flixel_system_debug_GraphicCloseButton.preload);
|
|
} else {
|
|
var _gthis = this;
|
|
lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_GraphicCloseButton.resourceName),flixel_system_debug_GraphicCloseButton.resourceType).then(function(image) {
|
|
_gthis.__fromImage(image);
|
|
return lime_app_Future.withValue(_gthis);
|
|
}).onComplete(function(b) {
|
|
if(flixel_system_debug_GraphicCloseButton.preload == null) {
|
|
flixel_system_debug_GraphicCloseButton.preload = b.image;
|
|
}
|
|
if(onload != null && Reflect.isFunction(onload)) {
|
|
onload(b);
|
|
}
|
|
});
|
|
}
|
|
};
|
|
$hxClasses["flixel.system.debug.GraphicCloseButton"] = flixel_system_debug_GraphicCloseButton;
|
|
flixel_system_debug_GraphicCloseButton.__name__ = "flixel.system.debug.GraphicCloseButton";
|
|
flixel_system_debug_GraphicCloseButton.preload = null;
|
|
flixel_system_debug_GraphicCloseButton.__super__ = openfl_display_BitmapData;
|
|
flixel_system_debug_GraphicCloseButton.prototype = $extend(openfl_display_BitmapData.prototype,{
|
|
__class__: flixel_system_debug_GraphicCloseButton
|
|
});
|
|
var flixel_system_debug_GraphicInteractive = function(width,height,transparent,fillRGBA,onload) {
|
|
if(fillRGBA == null) {
|
|
fillRGBA = -1;
|
|
}
|
|
if(transparent == null) {
|
|
transparent = true;
|
|
}
|
|
openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA);
|
|
if(flixel_system_debug_GraphicInteractive.preload != null) {
|
|
this.__fromImage(flixel_system_debug_GraphicInteractive.preload);
|
|
} else {
|
|
var _gthis = this;
|
|
lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_GraphicInteractive.resourceName),flixel_system_debug_GraphicInteractive.resourceType).then(function(image) {
|
|
_gthis.__fromImage(image);
|
|
return lime_app_Future.withValue(_gthis);
|
|
}).onComplete(function(b) {
|
|
if(flixel_system_debug_GraphicInteractive.preload == null) {
|
|
flixel_system_debug_GraphicInteractive.preload = b.image;
|
|
}
|
|
if(onload != null && Reflect.isFunction(onload)) {
|
|
onload(b);
|
|
}
|
|
});
|
|
}
|
|
};
|
|
$hxClasses["flixel.system.debug.GraphicInteractive"] = flixel_system_debug_GraphicInteractive;
|
|
flixel_system_debug_GraphicInteractive.__name__ = "flixel.system.debug.GraphicInteractive";
|
|
flixel_system_debug_GraphicInteractive.preload = null;
|
|
flixel_system_debug_GraphicInteractive.__super__ = openfl_display_BitmapData;
|
|
flixel_system_debug_GraphicInteractive.prototype = $extend(openfl_display_BitmapData.prototype,{
|
|
__class__: flixel_system_debug_GraphicInteractive
|
|
});
|
|
var flixel_system_debug_FlxDebugger = function() {
|
|
openfl_display_Sprite.call(this);
|
|
};
|
|
$hxClasses["flixel.system.debug.FlxDebugger"] = flixel_system_debug_FlxDebugger;
|
|
flixel_system_debug_FlxDebugger.__name__ = "flixel.system.debug.FlxDebugger";
|
|
flixel_system_debug_FlxDebugger.__super__ = openfl_display_Sprite;
|
|
flixel_system_debug_FlxDebugger.prototype = $extend(openfl_display_Sprite.prototype,{
|
|
__class__: flixel_system_debug_FlxDebugger
|
|
});
|
|
var flixel_system_debug_FlxDebuggerLayout = $hxEnums["flixel.system.debug.FlxDebuggerLayout"] = { __ename__ : "flixel.system.debug.FlxDebuggerLayout", __constructs__ : ["STANDARD","MICRO","BIG","TOP","LEFT","RIGHT"]
|
|
,STANDARD: {_hx_index:0,__enum__:"flixel.system.debug.FlxDebuggerLayout",toString:$estr}
|
|
,MICRO: {_hx_index:1,__enum__:"flixel.system.debug.FlxDebuggerLayout",toString:$estr}
|
|
,BIG: {_hx_index:2,__enum__:"flixel.system.debug.FlxDebuggerLayout",toString:$estr}
|
|
,TOP: {_hx_index:3,__enum__:"flixel.system.debug.FlxDebuggerLayout",toString:$estr}
|
|
,LEFT: {_hx_index:4,__enum__:"flixel.system.debug.FlxDebuggerLayout",toString:$estr}
|
|
,RIGHT: {_hx_index:5,__enum__:"flixel.system.debug.FlxDebuggerLayout",toString:$estr}
|
|
};
|
|
var flixel_system_debug_Tooltip = function() { };
|
|
$hxClasses["flixel.system.debug.Tooltip"] = flixel_system_debug_Tooltip;
|
|
flixel_system_debug_Tooltip.__name__ = "flixel.system.debug.Tooltip";
|
|
flixel_system_debug_Tooltip._container = null;
|
|
flixel_system_debug_Tooltip.init = function(container) {
|
|
flixel_system_debug_Tooltip._container = container;
|
|
};
|
|
flixel_system_debug_Tooltip.add = function(element,text) {
|
|
var tooltip = new flixel_system_debug_TooltipOverlay(element,text);
|
|
flixel_system_debug_Tooltip._container.addChild(tooltip);
|
|
flixel_system_debug_Tooltip._tooltips.push(tooltip);
|
|
return tooltip;
|
|
};
|
|
flixel_system_debug_Tooltip.remove = function(element) {
|
|
var removed = false;
|
|
var _g = 0;
|
|
var _g1 = flixel_system_debug_Tooltip._tooltips.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(flixel_system_debug_Tooltip._tooltips[i] != null && flixel_system_debug_Tooltip._tooltips[i].owner == element) {
|
|
var tooltip = flixel_system_debug_Tooltip._tooltips.splice(i,1)[0];
|
|
tooltip.destroy();
|
|
removed = true;
|
|
break;
|
|
}
|
|
}
|
|
return removed;
|
|
};
|
|
var flixel_system_debug_TooltipOverlay = function(target,text,width,height) {
|
|
if(height == null) {
|
|
height = 0;
|
|
}
|
|
if(width == null) {
|
|
width = 0;
|
|
}
|
|
openfl_display_Sprite.call(this);
|
|
this.owner = target;
|
|
this.maxSize = new openfl_geom_Point(width,height);
|
|
this._shadow = new openfl_display_Bitmap(new openfl_display_BitmapData(1,2,true,-16777216));
|
|
this._background = new openfl_display_Bitmap(new openfl_display_BitmapData(1,1,true,-12961222));
|
|
this.textField = flixel_system_debug_DebuggerUtil.createTextField(2,1);
|
|
this.textField.set_alpha(0.8);
|
|
this.textField.set_text(text);
|
|
this.textField.set_wordWrap(true);
|
|
this.addChild(this._shadow);
|
|
this.addChild(this._background);
|
|
this.addChild(this.textField);
|
|
this.updateSize();
|
|
this.setVisible(false);
|
|
if(this.owner != null) {
|
|
this.owner.addEventListener("mouseOver",$bind(this,this.handleMouseEvents));
|
|
this.owner.addEventListener("mouseOut",$bind(this,this.handleMouseEvents));
|
|
}
|
|
};
|
|
$hxClasses["flixel.system.debug.TooltipOverlay"] = flixel_system_debug_TooltipOverlay;
|
|
flixel_system_debug_TooltipOverlay.__name__ = "flixel.system.debug.TooltipOverlay";
|
|
flixel_system_debug_TooltipOverlay.__super__ = openfl_display_Sprite;
|
|
flixel_system_debug_TooltipOverlay.prototype = $extend(openfl_display_Sprite.prototype,{
|
|
_width: null
|
|
,_height: null
|
|
,_background: null
|
|
,_shadow: null
|
|
,textField: null
|
|
,owner: null
|
|
,maxSize: null
|
|
,destroy: function() {
|
|
this._shadow = flixel_util_FlxDestroyUtil.removeChild(this,this._shadow);
|
|
this._background = flixel_util_FlxDestroyUtil.removeChild(this,this._background);
|
|
this.textField = flixel_util_FlxDestroyUtil.removeChild(this,this.textField);
|
|
this.maxSize = null;
|
|
if(this.owner != null) {
|
|
this.owner.removeEventListener("mouseOver",$bind(this,this.handleMouseEvents));
|
|
this.owner.removeEventListener("mouseOut",$bind(this,this.handleMouseEvents));
|
|
}
|
|
this.owner = null;
|
|
}
|
|
,resize: function(Width,Height) {
|
|
this.maxSize.x = Math.abs(Width) | 0;
|
|
this.maxSize.y = Math.abs(Height) | 0;
|
|
this.updateSize();
|
|
}
|
|
,reposition: function(X,Y) {
|
|
this.set_x(X);
|
|
this.set_y(Y);
|
|
this.ensureOnScreen();
|
|
}
|
|
,setVisible: function(Value) {
|
|
this.set_visible(Value);
|
|
if(this.get_visible()) {
|
|
this.parent.addChild(this);
|
|
this.ensureOnScreen();
|
|
}
|
|
}
|
|
,setText: function(Text1) {
|
|
this.textField.set_text(Text1);
|
|
this.updateSize();
|
|
this.ensureOnScreen();
|
|
}
|
|
,toggleVisible: function() {
|
|
this.setVisible(!this.get_visible());
|
|
}
|
|
,putOnTop: function() {
|
|
this.parent.addChild(this);
|
|
}
|
|
,update: function() {
|
|
}
|
|
,updateSize: function() {
|
|
this._width = ((this.maxSize.x <= 0 ? this.textField.get_textWidth() : Math.abs(this.maxSize.x)) | 0) + 8;
|
|
this._height = ((this.maxSize.y <= 0 ? this.textField.get_textHeight() : Math.abs(this.maxSize.y)) | 0) + 8;
|
|
this._background.set_scaleX(this._width);
|
|
this._background.set_scaleY(this._height);
|
|
this._shadow.set_scaleX(this._width);
|
|
this._shadow.set_y(this._height);
|
|
this.textField.set_width(this._width);
|
|
}
|
|
,ensureOnScreen: function() {
|
|
this.set_x(this.get_x() < 0 ? 0 : this.get_x());
|
|
this.set_y(this.get_y() < 0 ? 0 : this.get_y());
|
|
var offsetX = this.get_x() + this.get_width() >= openfl_Lib.get_current().stage.stageWidth ? openfl_Lib.get_current().stage.stageWidth - (this.get_x() + this.get_width()) : 0;
|
|
var offsetY = this.get_y() + this.get_height() >= openfl_Lib.get_current().stage.stageHeight ? openfl_Lib.get_current().stage.stageHeight - (this.get_y() + this.get_height()) : 0;
|
|
var _g = this;
|
|
_g.set_x(_g.get_x() + offsetX);
|
|
var _g = this;
|
|
_g.set_y(_g.get_y() + offsetY);
|
|
}
|
|
,handleMouseEvents: function(event) {
|
|
if(event.type == "mouseOver" && !this.get_visible()) {
|
|
this.set_x(event.stageX + 10);
|
|
this.set_y(event.stageY + 10);
|
|
this.setVisible(true);
|
|
} else if(event.type == "mouseOut") {
|
|
this.setVisible(false);
|
|
}
|
|
}
|
|
,__class__: flixel_system_debug_TooltipOverlay
|
|
});
|
|
var flixel_system_debug__$Window_GraphicWindowHandle = function(width,height,transparent,fillRGBA,onload) {
|
|
if(fillRGBA == null) {
|
|
fillRGBA = -1;
|
|
}
|
|
if(transparent == null) {
|
|
transparent = true;
|
|
}
|
|
openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA);
|
|
if(flixel_system_debug__$Window_GraphicWindowHandle.preload != null) {
|
|
this.__fromImage(flixel_system_debug__$Window_GraphicWindowHandle.preload);
|
|
} else {
|
|
var _gthis = this;
|
|
lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug__$Window_GraphicWindowHandle.resourceName),flixel_system_debug__$Window_GraphicWindowHandle.resourceType).then(function(image) {
|
|
_gthis.__fromImage(image);
|
|
return lime_app_Future.withValue(_gthis);
|
|
}).onComplete(function(b) {
|
|
if(flixel_system_debug__$Window_GraphicWindowHandle.preload == null) {
|
|
flixel_system_debug__$Window_GraphicWindowHandle.preload = b.image;
|
|
}
|
|
if(onload != null && Reflect.isFunction(onload)) {
|
|
onload(b);
|
|
}
|
|
});
|
|
}
|
|
};
|
|
$hxClasses["flixel.system.debug._Window.GraphicWindowHandle"] = flixel_system_debug__$Window_GraphicWindowHandle;
|
|
flixel_system_debug__$Window_GraphicWindowHandle.__name__ = "flixel.system.debug._Window.GraphicWindowHandle";
|
|
flixel_system_debug__$Window_GraphicWindowHandle.preload = null;
|
|
flixel_system_debug__$Window_GraphicWindowHandle.__super__ = openfl_display_BitmapData;
|
|
flixel_system_debug__$Window_GraphicWindowHandle.prototype = $extend(openfl_display_BitmapData.prototype,{
|
|
__class__: flixel_system_debug__$Window_GraphicWindowHandle
|
|
});
|
|
var flixel_system_debug_Window = function(Title,Icon,Width,Height,Resizable,Bounds,Closable,AlwaysOnTop) {
|
|
if(AlwaysOnTop == null) {
|
|
AlwaysOnTop = true;
|
|
}
|
|
if(Closable == null) {
|
|
Closable = false;
|
|
}
|
|
if(Resizable == null) {
|
|
Resizable = true;
|
|
}
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
openfl_display_Sprite.call(this);
|
|
this.minSize = new openfl_geom_Point(50,30);
|
|
this._width = Math.abs(Width) | 0;
|
|
this._height = Math.abs(Height) | 0;
|
|
this.updateBounds(Bounds);
|
|
this._drag = new openfl_geom_Point();
|
|
this._resizable = Resizable;
|
|
this._closable = Closable;
|
|
this._alwaysOnTop = AlwaysOnTop;
|
|
this._shadow = new openfl_display_Bitmap(new openfl_display_BitmapData(1,2,true,-16777216));
|
|
this._background = new openfl_display_Bitmap(new openfl_display_BitmapData(1,1,true,-580952225));
|
|
this._header = new openfl_display_Bitmap(new openfl_display_BitmapData(1,15,true,-1157627904));
|
|
this._background.set_y(this._header.get_height());
|
|
this._title = flixel_system_debug_DebuggerUtil.createTextField(2,-1);
|
|
this._title.set_alpha(0.8);
|
|
this._title.set_text(Title);
|
|
this.addChild(this._shadow);
|
|
this.addChild(this._background);
|
|
this.addChild(this._header);
|
|
this.addChild(this._title);
|
|
if(Icon != null) {
|
|
flixel_system_debug_DebuggerUtil.fixSize(Icon);
|
|
this._icon = new openfl_display_Bitmap(Icon);
|
|
this._icon.set_x(5);
|
|
this._icon.set_y(2);
|
|
this._icon.set_alpha(0.8);
|
|
this._title.set_x(this._icon.get_x() + this._icon.get_width() + 2);
|
|
this.addChild(this._icon);
|
|
}
|
|
if(this._resizable) {
|
|
this._handle = new openfl_display_Bitmap(flixel_system_debug_DebuggerUtil.fixSize(new flixel_system_debug__$Window_GraphicWindowHandle(0,0)));
|
|
this.addChild(this._handle);
|
|
}
|
|
if(Closable) {
|
|
this._closeButton = new flixel_system_ui_FlxSystemButton(new flixel_system_debug_GraphicCloseButton(0,0),$bind(this,this.close));
|
|
this._closeButton.set_alpha(0.8);
|
|
this.addChild(this._closeButton);
|
|
} else {
|
|
this._id = flixel_system_debug_Window.WINDOW_AMOUNT;
|
|
this.loadSaveData();
|
|
flixel_system_debug_Window.WINDOW_AMOUNT++;
|
|
}
|
|
if(this._width != 0 || this._height != 0) {
|
|
this.updateSize();
|
|
}
|
|
this.bound();
|
|
this.addEventListener("enterFrame",$bind(this,this.init));
|
|
};
|
|
$hxClasses["flixel.system.debug.Window"] = flixel_system_debug_Window;
|
|
flixel_system_debug_Window.__name__ = "flixel.system.debug.Window";
|
|
flixel_system_debug_Window.__super__ = openfl_display_Sprite;
|
|
flixel_system_debug_Window.prototype = $extend(openfl_display_Sprite.prototype,{
|
|
minSize: null
|
|
,maxSize: null
|
|
,toggleButton: null
|
|
,_width: null
|
|
,_height: null
|
|
,_bounds: null
|
|
,_background: null
|
|
,_header: null
|
|
,_shadow: null
|
|
,_title: null
|
|
,_handle: null
|
|
,_icon: null
|
|
,_closeButton: null
|
|
,_overHeader: null
|
|
,_overHandle: null
|
|
,_drag: null
|
|
,_dragging: null
|
|
,_resizing: null
|
|
,_resizable: null
|
|
,_closable: null
|
|
,_alwaysOnTop: null
|
|
,_id: null
|
|
,destroy: function() {
|
|
this.minSize = null;
|
|
this.maxSize = null;
|
|
this._bounds = null;
|
|
if(this._shadow != null) {
|
|
this.removeChild(this._shadow);
|
|
}
|
|
this._shadow = null;
|
|
if(this._background != null) {
|
|
this.removeChild(this._background);
|
|
}
|
|
this._background = null;
|
|
if(this._header != null) {
|
|
this.removeChild(this._header);
|
|
}
|
|
this._header = null;
|
|
if(this._title != null) {
|
|
this.removeChild(this._title);
|
|
}
|
|
this._title = null;
|
|
if(this._handle != null) {
|
|
this.removeChild(this._handle);
|
|
}
|
|
this._handle = null;
|
|
this._drag = null;
|
|
this._closeButton = flixel_util_FlxDestroyUtil.destroy(this._closeButton);
|
|
var stage = openfl_Lib.get_current().stage;
|
|
if(stage.hasEventListener("mouseMove")) {
|
|
stage.removeEventListener("mouseMove",$bind(this,this.onMouseMove));
|
|
}
|
|
if(this.hasEventListener("mouseDown")) {
|
|
this.removeEventListener("mouseDown",$bind(this,this.onMouseDown));
|
|
}
|
|
if(stage.hasEventListener("mouseUp")) {
|
|
stage.removeEventListener("mouseUp",$bind(this,this.onMouseUp));
|
|
}
|
|
}
|
|
,resize: function(Width,Height) {
|
|
this._width = Math.abs(Width) | 0;
|
|
this._height = Math.abs(Height) | 0;
|
|
this.updateSize();
|
|
}
|
|
,reposition: function(X,Y) {
|
|
this.set_x(X);
|
|
this.set_y(Y);
|
|
this.bound();
|
|
}
|
|
,updateBounds: function(Bounds) {
|
|
this._bounds = Bounds;
|
|
if(this._bounds != null) {
|
|
this.maxSize = new openfl_geom_Point(this._bounds.width,this._bounds.height);
|
|
} else {
|
|
this.maxSize = new openfl_geom_Point(1.79e+308,1.79e+308);
|
|
}
|
|
}
|
|
,setVisible: function(Value) {
|
|
this.set_visible(Value);
|
|
if(!this._closable) {
|
|
flixel_FlxG.save.data.windowSettings[this._id] = this.get_visible();
|
|
flixel_FlxG.save.flush();
|
|
}
|
|
if(this.toggleButton != null) {
|
|
this.toggleButton.set_toggled(!this.get_visible());
|
|
}
|
|
if(this.get_visible() && this._alwaysOnTop) {
|
|
this.parent.addChild(this);
|
|
}
|
|
}
|
|
,toggleVisible: function() {
|
|
this.setVisible(!this.get_visible());
|
|
}
|
|
,putOnTop: function() {
|
|
this.parent.addChild(this);
|
|
}
|
|
,loadSaveData: function() {
|
|
if(flixel_FlxG.save.data.windowSettings != null) {
|
|
this.set_visible(flixel_FlxG.save.data.windowSettings[this._id]);
|
|
} else {
|
|
this.initSaveData();
|
|
this.loadSaveData();
|
|
}
|
|
}
|
|
,initSaveData: function() {
|
|
var settings = [];
|
|
settings[0] = true;
|
|
settings[1] = true;
|
|
settings[2] = true;
|
|
settings[3] = true;
|
|
settings[4] = true;
|
|
settings[5] = true;
|
|
settings[6] = true;
|
|
settings[7] = true;
|
|
settings[8] = true;
|
|
settings[9] = true;
|
|
flixel_FlxG.save.data.windowSettings = settings;
|
|
flixel_FlxG.save.flush();
|
|
}
|
|
,update: function() {
|
|
}
|
|
,init: function(E) {
|
|
if(this.stage == null) {
|
|
return;
|
|
}
|
|
this.removeEventListener("enterFrame",$bind(this,this.init));
|
|
this.stage.addEventListener("mouseMove",$bind(this,this.onMouseMove));
|
|
this.stage.addEventListener("mouseUp",$bind(this,this.onMouseUp));
|
|
this.addEventListener("mouseDown",$bind(this,this.onMouseDown));
|
|
}
|
|
,onMouseMove: function(E) {
|
|
var mouseX = this.get_mouseX() < 0 ? 0 : this.get_mouseX();
|
|
var mouseY = this.get_mouseY() < 0 ? 0 : this.get_mouseY();
|
|
if(!this.parent.get_visible()) {
|
|
this._overHandle = this._overHeader = false;
|
|
return;
|
|
}
|
|
if(this._dragging) {
|
|
this._overHeader = true;
|
|
this.reposition(this.parent.get_mouseX() - this._drag.x,this.parent.get_mouseY() - this._drag.y);
|
|
} else if(this._resizing) {
|
|
this._overHandle = true;
|
|
this.resize(mouseX - this._drag.x,mouseY - this._drag.y);
|
|
} else if(mouseX >= 0 && mouseX <= this._width && mouseY >= 0 && mouseY <= this._height) {
|
|
this._overHeader = mouseX <= this._header.get_width() && mouseY <= this._header.get_height();
|
|
if(this._resizable) {
|
|
this._overHandle = mouseX >= this._width - this._handle.get_width() && mouseY >= this._height - this._handle.get_height();
|
|
}
|
|
} else {
|
|
this._overHandle = this._overHeader = false;
|
|
}
|
|
}
|
|
,onMouseDown: function(E) {
|
|
if(this._overHeader) {
|
|
if(this._alwaysOnTop) {
|
|
this.parent.addChild(this);
|
|
}
|
|
this._dragging = true;
|
|
this._drag.x = this.get_mouseX();
|
|
this._drag.y = this.get_mouseY();
|
|
} else if(this._overHandle) {
|
|
if(this._alwaysOnTop) {
|
|
this.parent.addChild(this);
|
|
}
|
|
this._resizing = true;
|
|
var tmp = this._width;
|
|
var tmp1 = this.get_mouseX();
|
|
this._drag.x = tmp - tmp1;
|
|
var tmp = this._height;
|
|
var tmp1 = this.get_mouseY();
|
|
this._drag.y = tmp - tmp1;
|
|
}
|
|
}
|
|
,onMouseUp: function(E) {
|
|
this._dragging = false;
|
|
this._resizing = false;
|
|
}
|
|
,bound: function() {
|
|
if(this._bounds != null) {
|
|
var Value = this.get_x();
|
|
var Min = this._bounds.get_left();
|
|
var Max = this._bounds.get_right() - this._width;
|
|
var lowerBound = Min != null && Value < Min ? Min : Value;
|
|
this.set_x(Max != null && lowerBound > Max ? Max : lowerBound);
|
|
var Value = this.get_y();
|
|
var Min = this._bounds.get_top();
|
|
var Max = this._bounds.get_bottom() - this._height;
|
|
var lowerBound = Min != null && Value < Min ? Min : Value;
|
|
this.set_y(Max != null && lowerBound > Max ? Max : lowerBound);
|
|
}
|
|
}
|
|
,updateSize: function() {
|
|
var Value = this._width;
|
|
var Min = this.minSize.x;
|
|
var Max = this.maxSize.x;
|
|
var lowerBound = Min != null && Value < Min ? Min : Value;
|
|
this._width = (Max != null && lowerBound > Max ? Max : lowerBound) | 0;
|
|
var Value = this._height;
|
|
var Min = this.minSize.y;
|
|
var Max = this.maxSize.y;
|
|
var lowerBound = Min != null && Value < Min ? Min : Value;
|
|
this._height = (Max != null && lowerBound > Max ? Max : lowerBound) | 0;
|
|
this._header.set_scaleX(this._width);
|
|
this._background.set_scaleX(this._width);
|
|
this._background.set_scaleY(this._height - this._header.get_height());
|
|
this._shadow.set_scaleX(this._width);
|
|
this._shadow.set_y(this._height);
|
|
this._title.set_width(this._width - 4);
|
|
if(this._resizable) {
|
|
this._handle.set_x(this._width - this._handle.get_width());
|
|
this._handle.set_y(this._height - this._handle.get_height());
|
|
}
|
|
if(this._closeButton != null) {
|
|
this._closeButton.set_x(this._width - this._closeButton.get_width() - 3);
|
|
this._closeButton.set_y(3);
|
|
}
|
|
}
|
|
,close: function() {
|
|
this.destroy();
|
|
}
|
|
,__class__: flixel_system_debug_Window
|
|
});
|
|
var flixel_system_debug_completion_CompletionList = function(capacity) {
|
|
this.upperVisibleIndex = 0;
|
|
this.lowerVisibleIndex = 0;
|
|
this.selectedIndex = 0;
|
|
this.entries = [];
|
|
openfl_display_Sprite.call(this);
|
|
this.set_visible(false);
|
|
this.upperVisibleIndex = capacity - 1;
|
|
this.actualHeight = capacity * 20;
|
|
this.createPopupEntries(capacity);
|
|
this.createScrollBar();
|
|
this.updateSelectedItem();
|
|
openfl_Lib.get_current().stage.addEventListener("keyDown",$bind(this,this.onKeyDown));
|
|
};
|
|
$hxClasses["flixel.system.debug.completion.CompletionList"] = flixel_system_debug_completion_CompletionList;
|
|
flixel_system_debug_completion_CompletionList.__name__ = "flixel.system.debug.completion.CompletionList";
|
|
flixel_system_debug_completion_CompletionList.__super__ = openfl_display_Sprite;
|
|
flixel_system_debug_completion_CompletionList.prototype = $extend(openfl_display_Sprite.prototype,{
|
|
completed: null
|
|
,selectionChanged: null
|
|
,closed: null
|
|
,filter: null
|
|
,items: null
|
|
,entries: null
|
|
,originalItems: null
|
|
,selectedIndex: null
|
|
,lowerVisibleIndex: null
|
|
,upperVisibleIndex: null
|
|
,scrollBar: null
|
|
,actualHeight: null
|
|
,show: function(x,items) {
|
|
this.set_visible(true);
|
|
this.set_x(x);
|
|
this.originalItems = items;
|
|
this.set_filter("");
|
|
this.updateEntries();
|
|
}
|
|
,setY: function(y) {
|
|
this.set_y(y - this.actualHeight);
|
|
}
|
|
,close: function() {
|
|
this.set_visible(false);
|
|
this.set_filter(null);
|
|
if(this.closed != null) {
|
|
this.closed();
|
|
}
|
|
}
|
|
,createPopupEntries: function(amount) {
|
|
var _g = 0;
|
|
var _g1 = amount;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var entry = new flixel_system_debug_completion_CompletionListEntry();
|
|
this.entries.push(entry);
|
|
this.addChild(entry);
|
|
entry.set_y(20 * i);
|
|
}
|
|
}
|
|
,createScrollBar: function() {
|
|
this.scrollBar = new flixel_system_debug_completion_CompletionListScrollBar(150,0,5,this.actualHeight);
|
|
this.addChild(this.scrollBar);
|
|
}
|
|
,onKeyDown: function(e) {
|
|
if(!this.get_visible()) {
|
|
return;
|
|
}
|
|
switch(e.keyCode) {
|
|
case 13:
|
|
if(this.completed != null) {
|
|
this.completed(this.items[this.selectedIndex]);
|
|
}
|
|
this.close();
|
|
return;
|
|
case 27:
|
|
this.close();
|
|
return;
|
|
case 38:
|
|
this.updateIndices(-1);
|
|
break;
|
|
case 40:
|
|
this.updateIndices(1);
|
|
break;
|
|
}
|
|
this.updateEntries();
|
|
}
|
|
,updateIndices: function(modifier) {
|
|
this.selectedIndex = this.bound(this.selectedIndex + modifier);
|
|
var Value = this.selectedIndex;
|
|
var Min = this.lowerVisibleIndex;
|
|
var Max = this.upperVisibleIndex;
|
|
if((Min == null || Value >= Min) && (Max == null || Value <= Max)) {
|
|
return;
|
|
}
|
|
this.lowerVisibleIndex = this.bound(this.lowerVisibleIndex + modifier);
|
|
this.upperVisibleIndex = this.bound(this.upperVisibleIndex + modifier);
|
|
var range = this.upperVisibleIndex - this.lowerVisibleIndex;
|
|
if(range == this.items.length) {
|
|
return;
|
|
}
|
|
if(this.lowerVisibleIndex == 0) {
|
|
this.upperVisibleIndex = this.entries.length - 1;
|
|
} else if(this.upperVisibleIndex == this.items.length - 1) {
|
|
this.lowerVisibleIndex = this.items.length - this.entries.length;
|
|
}
|
|
}
|
|
,bound: function(index) {
|
|
var Max = this.items.length - 1;
|
|
var lowerBound = index < 0 ? 0 : index;
|
|
return (Max != null && lowerBound > Max ? Max : lowerBound) | 0;
|
|
}
|
|
,updateEntries: function() {
|
|
this.updateLabels();
|
|
this.updateSelectedItem();
|
|
this.scrollBar.updateHandle(this.lowerVisibleIndex,this.items.length,this.entries.length);
|
|
}
|
|
,updateLabels: function() {
|
|
var _g = 0;
|
|
var _g1 = this.entries.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var selectedItem = this.items[this.lowerVisibleIndex + i];
|
|
if(selectedItem == null) {
|
|
selectedItem = "";
|
|
}
|
|
this.entries[i].setItem(selectedItem);
|
|
}
|
|
}
|
|
,updateSelectedItem: function() {
|
|
var _g = 0;
|
|
var _g1 = this.entries;
|
|
while(_g < _g1.length) {
|
|
var entry = _g1[_g];
|
|
++_g;
|
|
entry.set_selected(false);
|
|
}
|
|
this.entries[this.selectedIndex - this.lowerVisibleIndex].set_selected(true);
|
|
if(this.selectionChanged != null) {
|
|
this.selectionChanged(this.items[this.selectedIndex]);
|
|
}
|
|
}
|
|
,setItems: function(items) {
|
|
if(items == null) {
|
|
return;
|
|
}
|
|
if(items.length == 0) {
|
|
this.close();
|
|
}
|
|
this.items = items;
|
|
this.selectedIndex = 0;
|
|
this.lowerVisibleIndex = 0;
|
|
this.upperVisibleIndex = this.entries.length - 1;
|
|
this.updateEntries();
|
|
}
|
|
,filterItems: function(filter) {
|
|
if(filter == null) {
|
|
filter = "";
|
|
}
|
|
var _g = [];
|
|
var _g1 = 0;
|
|
var _g2 = this.originalItems;
|
|
while(_g1 < _g2.length) {
|
|
var v = _g2[_g1];
|
|
++_g1;
|
|
if(v.toLowerCase().indexOf(filter.toLowerCase()) != -1) {
|
|
_g.push(v);
|
|
}
|
|
}
|
|
return this.sortItems(filter,_g);
|
|
}
|
|
,sortItems: function(filter,items) {
|
|
var _gthis = this;
|
|
if(filter == "") {
|
|
return items;
|
|
}
|
|
items.sort(function(a,b) {
|
|
var valueA = _gthis.startsWithExt(a,filter);
|
|
var valueB = _gthis.startsWithExt(b,filter);
|
|
if(valueA > valueB) {
|
|
return -valueA;
|
|
}
|
|
if(valueB > valueA) {
|
|
return valueB;
|
|
}
|
|
if(valueA == valueB) {
|
|
return a.length - b.length | 0;
|
|
}
|
|
return 0;
|
|
});
|
|
return items;
|
|
}
|
|
,startsWithExt: function(s,start) {
|
|
if(StringTools.startsWith(s,start)) {
|
|
return 2;
|
|
}
|
|
var _this_r = new RegExp("^[_]+","".split("u").join(""));
|
|
if(StringTools.startsWith(s.replace(_this_r,""),start)) {
|
|
return 1;
|
|
}
|
|
return 0;
|
|
}
|
|
,set_filter: function(filter) {
|
|
if(filter == this.filter) {
|
|
return filter;
|
|
}
|
|
this.setItems(this.filterItems(filter));
|
|
return this.filter = filter;
|
|
}
|
|
,__class__: flixel_system_debug_completion_CompletionList
|
|
,__properties__: $extend(openfl_display_Sprite.prototype.__properties__,{set_filter:"set_filter"})
|
|
});
|
|
var flixel_system_debug_completion_CompletionListEntry = function() {
|
|
this.selected = false;
|
|
openfl_display_Sprite.call(this);
|
|
this.initBitmapDatas();
|
|
this.addChild(this.background = new openfl_display_Bitmap());
|
|
this.background.set_bitmapData(flixel_system_debug_completion_CompletionListEntry.normalBitmapData);
|
|
this.label = flixel_system_debug_DebuggerUtil.createTextField();
|
|
this.label.set_x(4);
|
|
this.addChild(this.label);
|
|
};
|
|
$hxClasses["flixel.system.debug.completion.CompletionListEntry"] = flixel_system_debug_completion_CompletionListEntry;
|
|
flixel_system_debug_completion_CompletionListEntry.__name__ = "flixel.system.debug.completion.CompletionListEntry";
|
|
flixel_system_debug_completion_CompletionListEntry.normalBitmapData = null;
|
|
flixel_system_debug_completion_CompletionListEntry.highlightBitmapData = null;
|
|
flixel_system_debug_completion_CompletionListEntry.__super__ = openfl_display_Sprite;
|
|
flixel_system_debug_completion_CompletionListEntry.prototype = $extend(openfl_display_Sprite.prototype,{
|
|
selected: null
|
|
,background: null
|
|
,label: null
|
|
,initBitmapDatas: function() {
|
|
if(flixel_system_debug_completion_CompletionListEntry.normalBitmapData == null) {
|
|
flixel_system_debug_completion_CompletionListEntry.normalBitmapData = new openfl_display_BitmapData(150,20,true,-10526881);
|
|
}
|
|
if(flixel_system_debug_completion_CompletionListEntry.highlightBitmapData == null) {
|
|
flixel_system_debug_completion_CompletionListEntry.highlightBitmapData = new openfl_display_BitmapData(150,20,true,-9605779);
|
|
}
|
|
}
|
|
,setItem: function(item) {
|
|
this.label.set_text(item);
|
|
if(this.label.get_width() > 150) {
|
|
this.label.set_width(150);
|
|
this.label.set_autoSize(2);
|
|
}
|
|
}
|
|
,set_selected: function(selected) {
|
|
if(selected == this.selected) {
|
|
return selected;
|
|
}
|
|
this.background.set_bitmapData(selected ? flixel_system_debug_completion_CompletionListEntry.highlightBitmapData : flixel_system_debug_completion_CompletionListEntry.normalBitmapData);
|
|
return this.selected = selected;
|
|
}
|
|
,__class__: flixel_system_debug_completion_CompletionListEntry
|
|
,__properties__: $extend(openfl_display_Sprite.prototype.__properties__,{set_selected:"set_selected"})
|
|
});
|
|
var flixel_system_debug_completion_CompletionListScrollBar = function(x,y,width,height) {
|
|
openfl_display_Sprite.call(this);
|
|
this.set_x(x);
|
|
this.set_y(y);
|
|
this.addChild(new openfl_display_Bitmap(new openfl_display_BitmapData(width,height,true,-12303292)));
|
|
this.handle = new openfl_display_Bitmap(new openfl_display_BitmapData(width,1,true,-14540254));
|
|
this.addChild(this.handle);
|
|
};
|
|
$hxClasses["flixel.system.debug.completion.CompletionListScrollBar"] = flixel_system_debug_completion_CompletionListScrollBar;
|
|
flixel_system_debug_completion_CompletionListScrollBar.__name__ = "flixel.system.debug.completion.CompletionListScrollBar";
|
|
flixel_system_debug_completion_CompletionListScrollBar.__super__ = openfl_display_Sprite;
|
|
flixel_system_debug_completion_CompletionListScrollBar.prototype = $extend(openfl_display_Sprite.prototype,{
|
|
handle: null
|
|
,updateHandle: function(lower,items,entries) {
|
|
this.handle.set_scaleY(Math.min(this.get_height() / items * entries,this.get_height()));
|
|
this.handle.set_y(this.get_height() / items * lower);
|
|
var tmp = this.handle;
|
|
var Value = this.handle.get_y();
|
|
var Max = this.get_height() - this.handle.get_scaleY();
|
|
var lowerBound = Value < 0 ? 0 : Value;
|
|
tmp.set_y(Max != null && lowerBound > Max ? Max : lowerBound);
|
|
}
|
|
,__class__: flixel_system_debug_completion_CompletionListScrollBar
|
|
});
|
|
var flixel_system_debug_console_ConsoleUtil = function() { };
|
|
$hxClasses["flixel.system.debug.console.ConsoleUtil"] = flixel_system_debug_console_ConsoleUtil;
|
|
flixel_system_debug_console_ConsoleUtil.__name__ = "flixel.system.debug.console.ConsoleUtil";
|
|
flixel_system_debug_console_ConsoleUtil.parser = null;
|
|
flixel_system_debug_console_ConsoleUtil.interp = null;
|
|
flixel_system_debug_console_ConsoleUtil.init = function() {
|
|
flixel_system_debug_console_ConsoleUtil.parser = new hscript_Parser();
|
|
flixel_system_debug_console_ConsoleUtil.parser.allowJSON = true;
|
|
flixel_system_debug_console_ConsoleUtil.parser.allowTypes = true;
|
|
flixel_system_debug_console_ConsoleUtil.interp = new flixel_system_debug_console__$ConsoleUtil_Interp();
|
|
};
|
|
flixel_system_debug_console_ConsoleUtil.parseCommand = function(Input) {
|
|
if(StringTools.endsWith(Input,";")) {
|
|
Input = HxOverrides.substr(Input,0,-1);
|
|
}
|
|
return flixel_system_debug_console_ConsoleUtil.parser.parseString(Input);
|
|
};
|
|
flixel_system_debug_console_ConsoleUtil.runCommand = function(Input) {
|
|
return flixel_system_debug_console_ConsoleUtil.interp.expr(flixel_system_debug_console_ConsoleUtil.parseCommand(Input));
|
|
};
|
|
flixel_system_debug_console_ConsoleUtil.runExpr = function(expr) {
|
|
return flixel_system_debug_console_ConsoleUtil.interp.expr(expr);
|
|
};
|
|
flixel_system_debug_console_ConsoleUtil.registerObject = function(ObjectAlias,AnyObject) {
|
|
if(AnyObject == null || Reflect.isObject(AnyObject)) {
|
|
flixel_system_debug_console_ConsoleUtil.interp.variables.h[ObjectAlias] = AnyObject;
|
|
}
|
|
};
|
|
flixel_system_debug_console_ConsoleUtil.registerFunction = function(FunctionAlias,Function1) {
|
|
if(Reflect.isFunction(Function1)) {
|
|
flixel_system_debug_console_ConsoleUtil.interp.variables.h[FunctionAlias] = Function1;
|
|
}
|
|
};
|
|
flixel_system_debug_console_ConsoleUtil.getFields = function(Object1) {
|
|
var fields = [];
|
|
if(js_Boot.__instanceof(Object1,Class)) {
|
|
fields = Type.getClassFields(Object1);
|
|
} else if(js_Boot.__instanceof(Object1,Enum)) {
|
|
fields = Object1.__constructs__.slice();
|
|
} else if(Reflect.isObject(Object1)) {
|
|
fields = Type.getInstanceFields(js_Boot.getClass(Object1));
|
|
}
|
|
HxOverrides.remove(fields,"__constructs__");
|
|
var filteredFields = [];
|
|
var _g = 0;
|
|
while(_g < fields.length) {
|
|
var field = fields[_g];
|
|
++_g;
|
|
if(StringTools.startsWith(field,"get_") || StringTools.startsWith(field,"set_")) {
|
|
var name = HxOverrides.substr(field,4,null);
|
|
if(fields.indexOf(name) == -1 && filteredFields.indexOf(name) == -1) {
|
|
filteredFields.push(name);
|
|
}
|
|
} else {
|
|
filteredFields.push(field);
|
|
}
|
|
}
|
|
return flixel_system_debug_console_ConsoleUtil.sortFields(filteredFields);
|
|
};
|
|
flixel_system_debug_console_ConsoleUtil.sortFields = function(fields) {
|
|
var underscoreList = [];
|
|
var _g = [];
|
|
var _g1 = 0;
|
|
var _g2 = fields;
|
|
while(_g1 < _g2.length) {
|
|
var v = _g2[_g1];
|
|
++_g1;
|
|
var fields1;
|
|
if(StringTools.startsWith(v,"_")) {
|
|
underscoreList.push(v);
|
|
fields1 = false;
|
|
} else {
|
|
fields1 = true;
|
|
}
|
|
if(fields1) {
|
|
_g.push(v);
|
|
}
|
|
}
|
|
fields = _g;
|
|
flixel_util_FlxStringUtil.sortAlphabetically(fields);
|
|
flixel_util_FlxStringUtil.sortAlphabetically(underscoreList);
|
|
return fields.concat(underscoreList);
|
|
};
|
|
flixel_system_debug_console_ConsoleUtil.log = function(Text1) {
|
|
flixel_FlxG.log.advanced([Text1],flixel_system_debug_log_LogStyle.CONSOLE);
|
|
};
|
|
var hscript_Interp = function() {
|
|
this.locals = new haxe_ds_StringMap();
|
|
this.declared = [];
|
|
this.resetVariables();
|
|
this.initOps();
|
|
};
|
|
$hxClasses["hscript.Interp"] = hscript_Interp;
|
|
hscript_Interp.__name__ = "hscript.Interp";
|
|
hscript_Interp.prototype = {
|
|
variables: null
|
|
,locals: null
|
|
,binops: null
|
|
,depth: null
|
|
,inTry: null
|
|
,declared: null
|
|
,returnValue: null
|
|
,resetVariables: function() {
|
|
var _gthis = this;
|
|
this.variables = new haxe_ds_StringMap();
|
|
this.variables.h["null"] = null;
|
|
this.variables.h["true"] = true;
|
|
this.variables.h["false"] = false;
|
|
var this1 = this.variables;
|
|
var value = Reflect.makeVarArgs(function(el) {
|
|
var inf = _gthis.posInfos();
|
|
var v = el.shift();
|
|
if(el.length > 0) {
|
|
inf.customParams = el;
|
|
}
|
|
haxe_Log.trace(Std.string(v),inf);
|
|
});
|
|
this1.h["trace"] = value;
|
|
}
|
|
,posInfos: function() {
|
|
return { fileName : "hscript", lineNumber : 0};
|
|
}
|
|
,initOps: function() {
|
|
var me = this;
|
|
this.binops = new haxe_ds_StringMap();
|
|
this.binops.h["+"] = function(e1,e2) {
|
|
return me.expr(e1) + me.expr(e2);
|
|
};
|
|
this.binops.h["-"] = function(e1,e2) {
|
|
return me.expr(e1) - me.expr(e2);
|
|
};
|
|
this.binops.h["*"] = function(e1,e2) {
|
|
return me.expr(e1) * me.expr(e2);
|
|
};
|
|
this.binops.h["/"] = function(e1,e2) {
|
|
return me.expr(e1) / me.expr(e2);
|
|
};
|
|
this.binops.h["%"] = function(e1,e2) {
|
|
return me.expr(e1) % me.expr(e2);
|
|
};
|
|
this.binops.h["&"] = function(e1,e2) {
|
|
return me.expr(e1) & me.expr(e2);
|
|
};
|
|
this.binops.h["|"] = function(e1,e2) {
|
|
return me.expr(e1) | me.expr(e2);
|
|
};
|
|
this.binops.h["^"] = function(e1,e2) {
|
|
return me.expr(e1) ^ me.expr(e2);
|
|
};
|
|
this.binops.h["<<"] = function(e1,e2) {
|
|
return me.expr(e1) << me.expr(e2);
|
|
};
|
|
this.binops.h[">>"] = function(e1,e2) {
|
|
return me.expr(e1) >> me.expr(e2);
|
|
};
|
|
this.binops.h[">>>"] = function(e1,e2) {
|
|
return me.expr(e1) >>> me.expr(e2);
|
|
};
|
|
this.binops.h["=="] = function(e1,e2) {
|
|
return me.expr(e1) == me.expr(e2);
|
|
};
|
|
this.binops.h["!="] = function(e1,e2) {
|
|
return me.expr(e1) != me.expr(e2);
|
|
};
|
|
this.binops.h[">="] = function(e1,e2) {
|
|
return me.expr(e1) >= me.expr(e2);
|
|
};
|
|
this.binops.h["<="] = function(e1,e2) {
|
|
return me.expr(e1) <= me.expr(e2);
|
|
};
|
|
this.binops.h[">"] = function(e1,e2) {
|
|
return me.expr(e1) > me.expr(e2);
|
|
};
|
|
this.binops.h["<"] = function(e1,e2) {
|
|
return me.expr(e1) < me.expr(e2);
|
|
};
|
|
this.binops.h["||"] = function(e1,e2) {
|
|
if(me.expr(e1) != true) {
|
|
return me.expr(e2) == true;
|
|
} else {
|
|
return true;
|
|
}
|
|
};
|
|
this.binops.h["&&"] = function(e1,e2) {
|
|
if(me.expr(e1) == true) {
|
|
return me.expr(e2) == true;
|
|
} else {
|
|
return false;
|
|
}
|
|
};
|
|
this.binops.h["="] = $bind(this,this.assign);
|
|
this.binops.h["..."] = function(e1,e2) {
|
|
return new IntIterator(me.expr(e1),me.expr(e2));
|
|
};
|
|
this.assignOp("+=",function(v1,v2) {
|
|
return v1 + v2;
|
|
});
|
|
this.assignOp("-=",function(v1,v2) {
|
|
return v1 - v2;
|
|
});
|
|
this.assignOp("*=",function(v1,v2) {
|
|
return v1 * v2;
|
|
});
|
|
this.assignOp("/=",function(v1,v2) {
|
|
return v1 / v2;
|
|
});
|
|
this.assignOp("%=",function(v1,v2) {
|
|
return v1 % v2;
|
|
});
|
|
this.assignOp("&=",function(v1,v2) {
|
|
return v1 & v2;
|
|
});
|
|
this.assignOp("|=",function(v1,v2) {
|
|
return v1 | v2;
|
|
});
|
|
this.assignOp("^=",function(v1,v2) {
|
|
return v1 ^ v2;
|
|
});
|
|
this.assignOp("<<=",function(v1,v2) {
|
|
return v1 << v2;
|
|
});
|
|
this.assignOp(">>=",function(v1,v2) {
|
|
return v1 >> v2;
|
|
});
|
|
this.assignOp(">>>=",function(v1,v2) {
|
|
return v1 >>> v2;
|
|
});
|
|
}
|
|
,assign: function(e1,e2) {
|
|
var v = this.expr(e2);
|
|
switch(e1._hx_index) {
|
|
case 1:
|
|
var id = e1.v;
|
|
var l = this.locals.h[id];
|
|
if(l == null) {
|
|
this.variables.h[id] = v;
|
|
} else {
|
|
l.r = v;
|
|
}
|
|
break;
|
|
case 5:
|
|
var f = e1.f;
|
|
var e = e1.e;
|
|
v = this.set(this.expr(e),f,v);
|
|
break;
|
|
case 16:
|
|
var index = e1.index;
|
|
var e = e1.e;
|
|
var arr = this.expr(e);
|
|
var index1 = this.expr(index);
|
|
if(js_Boot.__implements(arr,haxe_IMap)) {
|
|
(js_Boot.__cast(arr , haxe_IMap)).set(index1,v);
|
|
} else {
|
|
arr[index1] = v;
|
|
}
|
|
break;
|
|
default:
|
|
var e = hscript_Error.EInvalidOp("=");
|
|
throw haxe_Exception.thrown(e);
|
|
}
|
|
return v;
|
|
}
|
|
,assignOp: function(op,fop) {
|
|
var me = this;
|
|
this.binops.h[op] = function(e1,e2) {
|
|
return me.evalAssignOp(op,fop,e1,e2);
|
|
};
|
|
}
|
|
,evalAssignOp: function(op,fop,e1,e2) {
|
|
var v;
|
|
switch(e1._hx_index) {
|
|
case 1:
|
|
var id = e1.v;
|
|
var l = this.locals.h[id];
|
|
v = fop(this.expr(e1),this.expr(e2));
|
|
if(l == null) {
|
|
this.variables.h[id] = v;
|
|
} else {
|
|
l.r = v;
|
|
}
|
|
break;
|
|
case 5:
|
|
var f = e1.f;
|
|
var e = e1.e;
|
|
var obj = this.expr(e);
|
|
v = fop(this.get(obj,f),this.expr(e2));
|
|
v = this.set(obj,f,v);
|
|
break;
|
|
case 16:
|
|
var index = e1.index;
|
|
var e = e1.e;
|
|
var arr = this.expr(e);
|
|
var index1 = this.expr(index);
|
|
if(js_Boot.__implements(arr,haxe_IMap)) {
|
|
v = fop((js_Boot.__cast(arr , haxe_IMap)).get(index1),this.expr(e2));
|
|
(js_Boot.__cast(arr , haxe_IMap)).set(index1,v);
|
|
} else {
|
|
v = fop(arr[index1],this.expr(e2));
|
|
arr[index1] = v;
|
|
}
|
|
break;
|
|
default:
|
|
var e = hscript_Error.EInvalidOp(op);
|
|
throw haxe_Exception.thrown(e);
|
|
}
|
|
return v;
|
|
}
|
|
,increment: function(e,prefix,delta) {
|
|
switch(e._hx_index) {
|
|
case 1:
|
|
var id = e.v;
|
|
var l = this.locals.h[id];
|
|
var v = l == null ? this.variables.h[id] : l.r;
|
|
if(prefix) {
|
|
v += delta;
|
|
if(l == null) {
|
|
this.variables.h[id] = v;
|
|
} else {
|
|
l.r = v;
|
|
}
|
|
} else if(l == null) {
|
|
this.variables.h[id] = v + delta;
|
|
} else {
|
|
l.r = v + delta;
|
|
}
|
|
return v;
|
|
case 5:
|
|
var f = e.f;
|
|
var e1 = e.e;
|
|
var obj = this.expr(e1);
|
|
var v = this.get(obj,f);
|
|
if(prefix) {
|
|
v += delta;
|
|
this.set(obj,f,v);
|
|
} else {
|
|
this.set(obj,f,v + delta);
|
|
}
|
|
return v;
|
|
case 16:
|
|
var index = e.index;
|
|
var e1 = e.e;
|
|
var arr = this.expr(e1);
|
|
var index1 = this.expr(index);
|
|
if(js_Boot.__implements(arr,haxe_IMap)) {
|
|
var v = (js_Boot.__cast(arr , haxe_IMap)).get(index1);
|
|
if(prefix) {
|
|
v += delta;
|
|
(js_Boot.__cast(arr , haxe_IMap)).set(index1,v);
|
|
} else {
|
|
(js_Boot.__cast(arr , haxe_IMap)).set(index1,v + delta);
|
|
}
|
|
return v;
|
|
} else {
|
|
var v = arr[index1];
|
|
if(prefix) {
|
|
v += delta;
|
|
arr[index1] = v;
|
|
} else {
|
|
arr[index1] = v + delta;
|
|
}
|
|
return v;
|
|
}
|
|
break;
|
|
default:
|
|
var e = hscript_Error.EInvalidOp(delta > 0 ? "++" : "--");
|
|
throw haxe_Exception.thrown(e);
|
|
}
|
|
}
|
|
,execute: function(expr) {
|
|
this.depth = 0;
|
|
this.locals = new haxe_ds_StringMap();
|
|
this.declared = [];
|
|
return this.exprReturn(expr);
|
|
}
|
|
,exprReturn: function(e) {
|
|
try {
|
|
return this.expr(e);
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
var _g1 = haxe_Exception.caught(_g).unwrap();
|
|
if(js_Boot.__instanceof(_g1,hscript__$Interp_Stop)) {
|
|
var e = _g1;
|
|
switch(e._hx_index) {
|
|
case 0:
|
|
throw haxe_Exception.thrown("Invalid break");
|
|
case 1:
|
|
throw haxe_Exception.thrown("Invalid continue");
|
|
case 2:
|
|
var v = this.returnValue;
|
|
this.returnValue = null;
|
|
return v;
|
|
}
|
|
} else {
|
|
throw _g;
|
|
}
|
|
}
|
|
}
|
|
,duplicate: function(h) {
|
|
var h2 = new haxe_ds_StringMap();
|
|
var k = haxe_ds_StringMap.keysIterator(h.h);
|
|
while(k.hasNext()) {
|
|
var k1 = k.next();
|
|
h2.h[k1] = h.h[k1];
|
|
}
|
|
return h2;
|
|
}
|
|
,restore: function(old) {
|
|
while(this.declared.length > old) {
|
|
var d = this.declared.pop();
|
|
this.locals.h[d.n] = d.old;
|
|
}
|
|
}
|
|
,error: function(e,rethrow) {
|
|
if(rethrow == null) {
|
|
rethrow = false;
|
|
}
|
|
if(rethrow) {
|
|
throw haxe_Exception.thrown(e);
|
|
} else {
|
|
throw haxe_Exception.thrown(e);
|
|
}
|
|
}
|
|
,rethrow: function(e) {
|
|
throw haxe_Exception.thrown(e);
|
|
}
|
|
,resolve: function(id) {
|
|
var l = this.locals.h[id];
|
|
if(l != null) {
|
|
return l.r;
|
|
}
|
|
var v = this.variables.h[id];
|
|
if(v == null && !Object.prototype.hasOwnProperty.call(this.variables.h,id)) {
|
|
var e = hscript_Error.EUnknownVariable(id);
|
|
throw haxe_Exception.thrown(e);
|
|
}
|
|
return v;
|
|
}
|
|
,expr: function(e) {
|
|
var _gthis = this;
|
|
switch(e._hx_index) {
|
|
case 0:
|
|
var c = e.c;
|
|
switch(c._hx_index) {
|
|
case 0:
|
|
var v = c.v;
|
|
return v;
|
|
case 1:
|
|
var f = c.f;
|
|
return f;
|
|
case 2:
|
|
var s = c.s;
|
|
return s;
|
|
}
|
|
break;
|
|
case 1:
|
|
var id = e.v;
|
|
return this.resolve(id);
|
|
case 2:
|
|
var _g = e.t;
|
|
var e1 = e.e;
|
|
var n = e.n;
|
|
this.declared.push({ n : n, old : this.locals.h[n]});
|
|
var this1 = this.locals;
|
|
var value = e1 == null ? null : this.expr(e1);
|
|
this1.h[n] = { r : value};
|
|
return null;
|
|
case 3:
|
|
var e1 = e.e;
|
|
return this.expr(e1);
|
|
case 4:
|
|
var exprs = e.e;
|
|
var old = this.declared.length;
|
|
var v = null;
|
|
var _g = 0;
|
|
while(_g < exprs.length) {
|
|
var e1 = exprs[_g];
|
|
++_g;
|
|
v = this.expr(e1);
|
|
}
|
|
this.restore(old);
|
|
return v;
|
|
case 5:
|
|
var f = e.f;
|
|
var e1 = e.e;
|
|
return this.get(this.expr(e1),f);
|
|
case 6:
|
|
var e2 = e.e2;
|
|
var e1 = e.e1;
|
|
var op = e.op;
|
|
var fop = this.binops.h[op];
|
|
if(fop == null) {
|
|
var e3 = hscript_Error.EInvalidOp(op);
|
|
throw haxe_Exception.thrown(e3);
|
|
}
|
|
return fop(e1,e2);
|
|
case 7:
|
|
var e1 = e.e;
|
|
var prefix = e.prefix;
|
|
var op = e.op;
|
|
switch(op) {
|
|
case "!":
|
|
return this.expr(e1) != true;
|
|
case "++":
|
|
return this.increment(e1,prefix,1);
|
|
case "-":
|
|
return -this.expr(e1);
|
|
case "--":
|
|
return this.increment(e1,prefix,-1);
|
|
case "~":
|
|
return ~this.expr(e1);
|
|
default:
|
|
var e1 = hscript_Error.EInvalidOp(op);
|
|
throw haxe_Exception.thrown(e1);
|
|
}
|
|
break;
|
|
case 8:
|
|
var params = e.params;
|
|
var e1 = e.e;
|
|
var args = [];
|
|
var _g = 0;
|
|
while(_g < params.length) {
|
|
var p = params[_g];
|
|
++_g;
|
|
args.push(this.expr(p));
|
|
}
|
|
if(e1._hx_index == 5) {
|
|
var f = e1.f;
|
|
var e2 = e1.e;
|
|
var obj = this.expr(e2);
|
|
if(obj == null) {
|
|
var e2 = hscript_Error.EInvalidAccess(f);
|
|
throw haxe_Exception.thrown(e2);
|
|
}
|
|
return this.fcall(obj,f,args);
|
|
} else {
|
|
return this.call(null,this.expr(e1),args);
|
|
}
|
|
break;
|
|
case 9:
|
|
var e2 = e.e2;
|
|
var e1 = e.e1;
|
|
var econd = e.cond;
|
|
if(this.expr(econd) == true) {
|
|
return this.expr(e1);
|
|
} else if(e2 == null) {
|
|
return null;
|
|
} else {
|
|
return this.expr(e2);
|
|
}
|
|
break;
|
|
case 10:
|
|
var e1 = e.e;
|
|
var econd = e.cond;
|
|
this.whileLoop(econd,e1);
|
|
return null;
|
|
case 11:
|
|
var e1 = e.e;
|
|
var it = e.it;
|
|
var v = e.v;
|
|
this.forLoop(v,it,e1);
|
|
return null;
|
|
case 12:
|
|
throw haxe_Exception.thrown(hscript__$Interp_Stop.SBreak);
|
|
case 13:
|
|
throw haxe_Exception.thrown(hscript__$Interp_Stop.SContinue);
|
|
case 14:
|
|
var _g = e.ret;
|
|
var name = e.name;
|
|
var fexpr = e.e;
|
|
var params = e.args;
|
|
var capturedLocals = this.duplicate(this.locals);
|
|
var me = this;
|
|
var hasOpt = false;
|
|
var minParams = 0;
|
|
var _g = 0;
|
|
while(_g < params.length) {
|
|
var p = params[_g];
|
|
++_g;
|
|
if(p.opt) {
|
|
hasOpt = true;
|
|
} else {
|
|
minParams += 1;
|
|
}
|
|
}
|
|
var f = function(args) {
|
|
if((args == null ? 0 : args.length) != params.length) {
|
|
if(args.length < minParams) {
|
|
var str = "Invalid number of parameters. Got " + args.length + ", required " + minParams;
|
|
if(name != null) {
|
|
str += " for function '" + name + "'";
|
|
}
|
|
var e = hscript_Error.ECustom(str);
|
|
throw haxe_Exception.thrown(e);
|
|
}
|
|
var args2 = [];
|
|
var extraParams = args.length - minParams;
|
|
var pos = 0;
|
|
var _g = 0;
|
|
while(_g < params.length) {
|
|
var p = params[_g];
|
|
++_g;
|
|
if(p.opt) {
|
|
if(extraParams > 0) {
|
|
args2.push(args[pos++]);
|
|
--extraParams;
|
|
} else {
|
|
args2.push(null);
|
|
}
|
|
} else {
|
|
args2.push(args[pos++]);
|
|
}
|
|
}
|
|
args = args2;
|
|
}
|
|
var old = me.locals;
|
|
var depth = me.depth;
|
|
me.depth++;
|
|
me.locals = me.duplicate(capturedLocals);
|
|
var _g = 0;
|
|
var _g1 = params.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
me.locals.h[params[i].name] = { r : args[i]};
|
|
}
|
|
var r = null;
|
|
if(_gthis.inTry) {
|
|
try {
|
|
r = me.exprReturn(fexpr);
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
var e = haxe_Exception.caught(_g).unwrap();
|
|
me.locals = old;
|
|
me.depth = depth;
|
|
throw haxe_Exception.thrown(e);
|
|
}
|
|
} else {
|
|
r = me.exprReturn(fexpr);
|
|
}
|
|
me.locals = old;
|
|
me.depth = depth;
|
|
return r;
|
|
};
|
|
var f1 = Reflect.makeVarArgs(f);
|
|
if(name != null) {
|
|
if(this.depth == 0) {
|
|
this.variables.h[name] = f1;
|
|
} else {
|
|
this.declared.push({ n : name, old : this.locals.h[name]});
|
|
var ref = { r : f1};
|
|
this.locals.h[name] = ref;
|
|
capturedLocals.h[name] = ref;
|
|
}
|
|
}
|
|
return f1;
|
|
case 15:
|
|
var e1 = e.e;
|
|
this.returnValue = e1 == null ? null : this.expr(e1);
|
|
throw haxe_Exception.thrown(hscript__$Interp_Stop.SReturn);
|
|
case 16:
|
|
var index = e.index;
|
|
var e1 = e.e;
|
|
var arr = this.expr(e1);
|
|
var index1 = this.expr(index);
|
|
if(js_Boot.__implements(arr,haxe_IMap)) {
|
|
return (js_Boot.__cast(arr , haxe_IMap)).get(index1);
|
|
} else {
|
|
return arr[index1];
|
|
}
|
|
break;
|
|
case 17:
|
|
var arr = e.e;
|
|
var tmp;
|
|
if(arr.length > 0) {
|
|
var _g = arr[0];
|
|
if(_g._hx_index == 6) {
|
|
var _g1 = _g.e2;
|
|
var _g1 = _g.e1;
|
|
tmp = _g.op == "=>";
|
|
} else {
|
|
tmp = false;
|
|
}
|
|
} else {
|
|
tmp = false;
|
|
}
|
|
if(tmp) {
|
|
var isAllString = true;
|
|
var isAllInt = true;
|
|
var isAllObject = true;
|
|
var isAllEnum = true;
|
|
var keys = [];
|
|
var values = [];
|
|
var _g = 0;
|
|
while(_g < arr.length) {
|
|
var e1 = arr[_g];
|
|
++_g;
|
|
if(e1._hx_index == 6) {
|
|
if(e1.op == "=>") {
|
|
var eValue = e1.e2;
|
|
var eKey = e1.e1;
|
|
var key = this.expr(eKey);
|
|
var value = this.expr(eValue);
|
|
isAllString = isAllString && typeof(key) == "string";
|
|
isAllInt = isAllInt && (typeof(key) == "number" && ((key | 0) === key));
|
|
isAllObject = isAllObject && Reflect.isObject(key);
|
|
isAllEnum = isAllEnum && Reflect.isEnumValue(key);
|
|
keys.push(key);
|
|
values.push(value);
|
|
} else {
|
|
throw haxe_Exception.thrown("=> expected");
|
|
}
|
|
} else {
|
|
throw haxe_Exception.thrown("=> expected");
|
|
}
|
|
}
|
|
var map;
|
|
if(isAllInt) {
|
|
map = new haxe_ds_IntMap();
|
|
} else if(isAllString) {
|
|
map = new haxe_ds_StringMap();
|
|
} else if(isAllEnum) {
|
|
map = new haxe_ds_EnumValueMap();
|
|
} else if(isAllObject) {
|
|
map = new haxe_ds_ObjectMap();
|
|
} else {
|
|
throw haxe_Exception.thrown("Inconsistent key types");
|
|
}
|
|
var _g = 0;
|
|
var _g1 = keys.length;
|
|
while(_g < _g1) {
|
|
var n = _g++;
|
|
(js_Boot.__cast(map , haxe_IMap)).set(keys[n],values[n]);
|
|
}
|
|
return map;
|
|
} else {
|
|
var a = [];
|
|
var _g = 0;
|
|
while(_g < arr.length) {
|
|
var e1 = arr[_g];
|
|
++_g;
|
|
a.push(this.expr(e1));
|
|
}
|
|
return a;
|
|
}
|
|
break;
|
|
case 18:
|
|
var params1 = e.params;
|
|
var cl = e.cl;
|
|
var a = [];
|
|
var _g = 0;
|
|
while(_g < params1.length) {
|
|
var e1 = params1[_g];
|
|
++_g;
|
|
a.push(this.expr(e1));
|
|
}
|
|
return this.cnew(cl,a);
|
|
case 19:
|
|
var e1 = e.e;
|
|
throw haxe_Exception.thrown(this.expr(e1));
|
|
case 20:
|
|
var _g = e.t;
|
|
var ecatch = e.ecatch;
|
|
var n = e.v;
|
|
var e1 = e.e;
|
|
var old = this.declared.length;
|
|
var oldTry = this.inTry;
|
|
try {
|
|
this.inTry = true;
|
|
var v = this.expr(e1);
|
|
this.restore(old);
|
|
this.inTry = oldTry;
|
|
return v;
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
var _g1 = haxe_Exception.caught(_g).unwrap();
|
|
if(js_Boot.__instanceof(_g1,hscript__$Interp_Stop)) {
|
|
var err = _g1;
|
|
this.inTry = oldTry;
|
|
throw haxe_Exception.thrown(err);
|
|
} else {
|
|
var err = _g1;
|
|
this.restore(old);
|
|
this.inTry = oldTry;
|
|
this.declared.push({ n : n, old : this.locals.h[n]});
|
|
this.locals.h[n] = { r : err};
|
|
var v = this.expr(ecatch);
|
|
this.restore(old);
|
|
return v;
|
|
}
|
|
}
|
|
break;
|
|
case 21:
|
|
var fl = e.fl;
|
|
var o = { };
|
|
var _g = 0;
|
|
while(_g < fl.length) {
|
|
var f = fl[_g];
|
|
++_g;
|
|
this.set(o,f.name,this.expr(f.e));
|
|
}
|
|
return o;
|
|
case 22:
|
|
var e2 = e.e2;
|
|
var e1 = e.e1;
|
|
var econd = e.cond;
|
|
if(this.expr(econd) == true) {
|
|
return this.expr(e1);
|
|
} else {
|
|
return this.expr(e2);
|
|
}
|
|
break;
|
|
case 23:
|
|
var def = e.defaultExpr;
|
|
var cases = e.cases;
|
|
var e1 = e.e;
|
|
var val = this.expr(e1);
|
|
var match = false;
|
|
var _g = 0;
|
|
while(_g < cases.length) {
|
|
var c = cases[_g];
|
|
++_g;
|
|
var _g1 = 0;
|
|
var _g2 = c.values;
|
|
while(_g1 < _g2.length) {
|
|
var v = _g2[_g1];
|
|
++_g1;
|
|
if(this.expr(v) == val) {
|
|
match = true;
|
|
break;
|
|
}
|
|
}
|
|
if(match) {
|
|
val = this.expr(c.expr);
|
|
break;
|
|
}
|
|
}
|
|
if(!match) {
|
|
val = def == null ? null : this.expr(def);
|
|
}
|
|
return val;
|
|
case 24:
|
|
var e1 = e.e;
|
|
var econd = e.cond;
|
|
this.doWhileLoop(econd,e1);
|
|
return null;
|
|
case 25:
|
|
var _g = e.args;
|
|
var _g = e.name;
|
|
var e1 = e.e;
|
|
return this.expr(e1);
|
|
case 26:
|
|
var _g = e.t;
|
|
var e1 = e.e;
|
|
return this.expr(e1);
|
|
}
|
|
}
|
|
,doWhileLoop: function(econd,e) {
|
|
var old = this.declared.length;
|
|
_hx_loop1: while(true) {
|
|
try {
|
|
this.expr(e);
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
var _g1 = haxe_Exception.caught(_g).unwrap();
|
|
if(js_Boot.__instanceof(_g1,hscript__$Interp_Stop)) {
|
|
var err = _g1;
|
|
switch(err._hx_index) {
|
|
case 0:
|
|
break _hx_loop1;
|
|
case 1:
|
|
break;
|
|
case 2:
|
|
throw haxe_Exception.thrown(err);
|
|
}
|
|
} else {
|
|
throw _g;
|
|
}
|
|
}
|
|
if(!(this.expr(econd) == true)) {
|
|
break;
|
|
}
|
|
}
|
|
this.restore(old);
|
|
}
|
|
,whileLoop: function(econd,e) {
|
|
var old = this.declared.length;
|
|
_hx_loop1: while(this.expr(econd) == true) try {
|
|
this.expr(e);
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
var _g1 = haxe_Exception.caught(_g).unwrap();
|
|
if(js_Boot.__instanceof(_g1,hscript__$Interp_Stop)) {
|
|
var err = _g1;
|
|
switch(err._hx_index) {
|
|
case 0:
|
|
break _hx_loop1;
|
|
case 1:
|
|
break;
|
|
case 2:
|
|
throw haxe_Exception.thrown(err);
|
|
}
|
|
} else {
|
|
throw _g;
|
|
}
|
|
}
|
|
this.restore(old);
|
|
}
|
|
,makeIterator: function(v) {
|
|
try {
|
|
v = $getIterator(v);
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
}
|
|
if(v.hasNext == null || v.next == null) {
|
|
var e = hscript_Error.EInvalidIterator(v);
|
|
throw haxe_Exception.thrown(e);
|
|
}
|
|
return v;
|
|
}
|
|
,forLoop: function(n,it,e) {
|
|
var old = this.declared.length;
|
|
this.declared.push({ n : n, old : this.locals.h[n]});
|
|
var it1 = this.makeIterator(this.expr(it));
|
|
_hx_loop1: while(it1.hasNext()) {
|
|
var this1 = this.locals;
|
|
var value = { r : it1.next()};
|
|
this1.h[n] = value;
|
|
try {
|
|
this.expr(e);
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
var _g1 = haxe_Exception.caught(_g).unwrap();
|
|
if(js_Boot.__instanceof(_g1,hscript__$Interp_Stop)) {
|
|
var err = _g1;
|
|
switch(err._hx_index) {
|
|
case 0:
|
|
break _hx_loop1;
|
|
case 1:
|
|
break;
|
|
case 2:
|
|
throw haxe_Exception.thrown(err);
|
|
}
|
|
} else {
|
|
throw _g;
|
|
}
|
|
}
|
|
}
|
|
this.restore(old);
|
|
}
|
|
,isMap: function(o) {
|
|
return js_Boot.__implements(o,haxe_IMap);
|
|
}
|
|
,getMapValue: function(map,key) {
|
|
return (js_Boot.__cast(map , haxe_IMap)).get(key);
|
|
}
|
|
,setMapValue: function(map,key,value) {
|
|
(js_Boot.__cast(map , haxe_IMap)).set(key,value);
|
|
}
|
|
,get: function(o,f) {
|
|
if(o == null) {
|
|
var e = hscript_Error.EInvalidAccess(f);
|
|
throw haxe_Exception.thrown(e);
|
|
}
|
|
return Reflect.getProperty(o,f);
|
|
}
|
|
,set: function(o,f,v) {
|
|
if(o == null) {
|
|
var e = hscript_Error.EInvalidAccess(f);
|
|
throw haxe_Exception.thrown(e);
|
|
}
|
|
Reflect.setProperty(o,f,v);
|
|
return v;
|
|
}
|
|
,fcall: function(o,f,args) {
|
|
return this.call(o,this.get(o,f),args);
|
|
}
|
|
,call: function(o,f,args) {
|
|
return f.apply(o,args);
|
|
}
|
|
,cnew: function(cl,args) {
|
|
var c = $hxClasses[cl];
|
|
if(c == null) {
|
|
c = this.resolve(cl);
|
|
}
|
|
return Type.createInstance(c,args);
|
|
}
|
|
,__class__: hscript_Interp
|
|
};
|
|
var flixel_system_debug_console__$ConsoleUtil_Interp = function() {
|
|
hscript_Interp.call(this);
|
|
};
|
|
$hxClasses["flixel.system.debug.console._ConsoleUtil.Interp"] = flixel_system_debug_console__$ConsoleUtil_Interp;
|
|
flixel_system_debug_console__$ConsoleUtil_Interp.__name__ = "flixel.system.debug.console._ConsoleUtil.Interp";
|
|
flixel_system_debug_console__$ConsoleUtil_Interp.__super__ = hscript_Interp;
|
|
flixel_system_debug_console__$ConsoleUtil_Interp.prototype = $extend(hscript_Interp.prototype,{
|
|
getGlobals: function() {
|
|
return this.toArray(haxe_ds_StringMap.keysIterator(this.locals.h)).concat(this.toArray(haxe_ds_StringMap.keysIterator(this.variables.h)));
|
|
}
|
|
,toArray: function(iterator) {
|
|
var array = [];
|
|
var element = iterator;
|
|
while(element.hasNext()) {
|
|
var element1 = element.next();
|
|
array.push(element1);
|
|
}
|
|
return array;
|
|
}
|
|
,get: function(o,f) {
|
|
if(o == null) {
|
|
var e = hscript_Error.EInvalidAccess(f);
|
|
throw haxe_Exception.thrown(e);
|
|
}
|
|
return Reflect.getProperty(o,f);
|
|
}
|
|
,set: function(o,f,v) {
|
|
if(o == null) {
|
|
var e = hscript_Error.EInvalidAccess(f);
|
|
throw haxe_Exception.thrown(e);
|
|
}
|
|
Reflect.setProperty(o,f,v);
|
|
return v;
|
|
}
|
|
,__class__: flixel_system_debug_console__$ConsoleUtil_Interp
|
|
});
|
|
var flixel_system_debug_interaction_Interaction = function(container) {
|
|
this._flixelPointer = new flixel_input_FlxPointer();
|
|
this._debuggerInteraction = false;
|
|
this._keysUp = new haxe_ds_IntMap();
|
|
this._keysDown = new haxe_ds_IntMap();
|
|
this._turn = 2;
|
|
this._tools = [];
|
|
this.shouldDrawItemsSelection = true;
|
|
this.pointerPressed = false;
|
|
this.pointerJustReleased = false;
|
|
this.pointerJustPressed = false;
|
|
this.flixelPointer = new flixel_math_FlxPoint();
|
|
this.selectedItems = new flixel_group_FlxTypedGroup();
|
|
flixel_system_debug_Window.call(this,"Tools",new flixel_system_debug_GraphicInteractive(0,0),40,25,false);
|
|
this.reposition(2,100);
|
|
this._container = container;
|
|
this._customCursor = new openfl_display_Sprite();
|
|
this._customCursor.mouseEnabled = false;
|
|
this._container.addChild(this._customCursor);
|
|
this.addTool(new flixel_system_debug_interaction_tools_Pointer());
|
|
this.addTool(new flixel_system_debug_interaction_tools_Mover());
|
|
this.addTool(new flixel_system_debug_interaction_tools_Eraser());
|
|
this.addTool(new flixel_system_debug_interaction_tools_Transform());
|
|
flixel_FlxG.signals.postDraw.add($bind(this,this.postDraw));
|
|
flixel_FlxG.debugger.visibilityChanged.add($bind(this,this.handleDebuggerVisibilityChanged));
|
|
openfl_Lib.get_current().stage.addEventListener("mouseMove",$bind(this,this.updateMouse));
|
|
openfl_Lib.get_current().stage.addEventListener("mouseDown",$bind(this,this.handleMouseClick));
|
|
openfl_Lib.get_current().stage.addEventListener("mouseUp",$bind(this,this.handleMouseClick));
|
|
openfl_Lib.get_current().stage.addEventListener("keyDown",$bind(this,this.handleKeyEvent));
|
|
openfl_Lib.get_current().stage.addEventListener("keyUp",$bind(this,this.handleKeyEvent));
|
|
this._container.addEventListener("mouseOver",$bind(this,this.handleMouseInDebugger));
|
|
this._container.addEventListener("mouseOut",$bind(this,this.handleMouseInDebugger));
|
|
};
|
|
$hxClasses["flixel.system.debug.interaction.Interaction"] = flixel_system_debug_interaction_Interaction;
|
|
flixel_system_debug_interaction_Interaction.__name__ = "flixel.system.debug.interaction.Interaction";
|
|
flixel_system_debug_interaction_Interaction.__super__ = flixel_system_debug_Window;
|
|
flixel_system_debug_interaction_Interaction.prototype = $extend(flixel_system_debug_Window.prototype,{
|
|
activeTool: null
|
|
,selectedItems: null
|
|
,flixelPointer: null
|
|
,pointerJustPressed: null
|
|
,pointerJustReleased: null
|
|
,pointerPressed: null
|
|
,shouldDrawItemsSelection: null
|
|
,_container: null
|
|
,_customCursor: null
|
|
,_tools: null
|
|
,_turn: null
|
|
,_keysDown: null
|
|
,_keysUp: null
|
|
,_wasMouseVisible: null
|
|
,_wasUsingSystemCursor: null
|
|
,_debuggerInteraction: null
|
|
,_flixelPointer: null
|
|
,handleDebuggerVisibilityChanged: function() {
|
|
if(flixel_FlxG.debugger.visible) {
|
|
this.saveSystemCursorInfo();
|
|
} else {
|
|
this.restoreSystemCursor();
|
|
}
|
|
}
|
|
,updateMouse: function(event) {
|
|
if(event.stageX == null || event.stageY == null) {
|
|
return;
|
|
}
|
|
var offsetX = 0.0;
|
|
var offsetY = 0.0;
|
|
if(this.activeTool != null) {
|
|
var cursorIcon = this.activeTool.cursor;
|
|
if(cursorIcon != null) {
|
|
offsetX = cursorIcon.width / flixel_FlxG.scaleMode.scale.x / 2;
|
|
offsetY = cursorIcon.height / flixel_FlxG.scaleMode.scale.y / 2;
|
|
}
|
|
}
|
|
this._customCursor.set_x(event.stageX + offsetX);
|
|
this._customCursor.set_y(event.stageY + offsetY);
|
|
var _this = this._flixelPointer;
|
|
_this._globalScreenX = event.stageX / flixel_FlxG.scaleMode.scale.x | 0;
|
|
_this._globalScreenY = event.stageY / flixel_FlxG.scaleMode.scale.y | 0;
|
|
_this.updatePositions();
|
|
this.flixelPointer.set_x(this._flixelPointer.x + offsetX);
|
|
this.flixelPointer.set_y(this._flixelPointer.y + offsetY);
|
|
}
|
|
,handleMouseClick: function(event) {
|
|
if(event.type == "mouseDown" && this.belongsToDebugger(event.target)) {
|
|
return;
|
|
}
|
|
this.pointerJustPressed = event.type == "mouseDown";
|
|
this.pointerJustReleased = event.type == "mouseUp";
|
|
if(this.pointerJustPressed) {
|
|
this.pointerPressed = true;
|
|
} else if(this.pointerJustReleased) {
|
|
this.pointerPressed = false;
|
|
}
|
|
}
|
|
,belongsToDebugger: function(object) {
|
|
if(object == null) {
|
|
return false;
|
|
} else if(((object) instanceof flixel_system_debug_FlxDebugger)) {
|
|
return true;
|
|
}
|
|
return this.belongsToDebugger(object.parent);
|
|
}
|
|
,handleMouseInDebugger: function(event) {
|
|
if(!this.isActive()) {
|
|
return;
|
|
}
|
|
if(event.type == "mouseOver") {
|
|
this._debuggerInteraction = true;
|
|
} else if(event.type == "mouseOut") {
|
|
this._debuggerInteraction = false;
|
|
}
|
|
event.stopPropagation();
|
|
}
|
|
,handleKeyEvent: function(event) {
|
|
if(event.type == "keyDown") {
|
|
this._keysDown.h[event.keyCode] = true;
|
|
} else if(event.type == "keyUp") {
|
|
this._keysDown.h[event.keyCode] = false;
|
|
this._keysUp.h[event.keyCode] = this._turn;
|
|
}
|
|
}
|
|
,countToolsWithUIButton: function() {
|
|
var count = 0;
|
|
var _g = 0;
|
|
var _g1 = this._tools;
|
|
while(_g < _g1.length) {
|
|
var tool = _g1[_g];
|
|
++_g;
|
|
if(tool.button != null) {
|
|
++count;
|
|
}
|
|
}
|
|
return count;
|
|
}
|
|
,addTool: function(tool) {
|
|
tool.init(this);
|
|
this._tools.push(tool);
|
|
var button = tool.button;
|
|
if(button == null) {
|
|
return;
|
|
}
|
|
var buttonsPerLine = 2;
|
|
var buttons = this.countToolsWithUIButton();
|
|
var lines = Math.ceil(buttons / buttonsPerLine) | 0;
|
|
var slot = buttons / lines | 0;
|
|
button.set_x(-15 + slot * 25);
|
|
button.set_y(20 * lines);
|
|
this.addChild(button);
|
|
this.resize(25 * Math.min(buttons,buttonsPerLine) + 10,25 * lines + 10);
|
|
}
|
|
,destroy: function() {
|
|
flixel_FlxG.signals.postDraw.remove($bind(this,this.postDraw));
|
|
flixel_FlxG.debugger.visibilityChanged.remove($bind(this,this.handleDebuggerVisibilityChanged));
|
|
openfl_Lib.get_current().stage.removeEventListener("mouseMove",$bind(this,this.updateMouse));
|
|
openfl_Lib.get_current().stage.removeEventListener("mouseDown",$bind(this,this.handleMouseClick));
|
|
openfl_Lib.get_current().stage.removeEventListener("mouseUp",$bind(this,this.handleMouseClick));
|
|
openfl_Lib.get_current().stage.removeEventListener("keyDown",$bind(this,this.handleKeyEvent));
|
|
openfl_Lib.get_current().stage.removeEventListener("keyUp",$bind(this,this.handleKeyEvent));
|
|
if(this._container != null) {
|
|
this._container.removeEventListener("mouseOver",$bind(this,this.handleMouseInDebugger));
|
|
this._container.removeEventListener("mouseOut",$bind(this,this.handleMouseInDebugger));
|
|
}
|
|
if(this._customCursor != null) {
|
|
this._customCursor.parent.removeChild(this._customCursor);
|
|
this._customCursor = null;
|
|
}
|
|
this._tools = flixel_util_FlxDestroyUtil.destroyArray(this._tools);
|
|
this.selectedItems = flixel_util_FlxDestroyUtil.destroy(this.selectedItems);
|
|
this.flixelPointer = flixel_util_FlxDestroyUtil.destroy(this.flixelPointer);
|
|
this._keysDown = null;
|
|
this._keysUp = null;
|
|
}
|
|
,isActive: function() {
|
|
if(flixel_FlxG.debugger.visible) {
|
|
return this.get_visible();
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,update: function() {
|
|
if(!this.isActive()) {
|
|
return;
|
|
}
|
|
this.updateCustomCursors();
|
|
var _g = 0;
|
|
var _g1 = this._tools;
|
|
while(_g < _g1.length) {
|
|
var tool = _g1[_g];
|
|
++_g;
|
|
tool.update();
|
|
}
|
|
this.pointerJustPressed = false;
|
|
this.pointerJustReleased = false;
|
|
this._turn++;
|
|
}
|
|
,postDraw: function() {
|
|
if(!this.isActive()) {
|
|
return;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this._tools;
|
|
while(_g < _g1.length) {
|
|
var tool = _g1[_g];
|
|
++_g;
|
|
tool.draw();
|
|
}
|
|
if(this.shouldDrawItemsSelection) {
|
|
this.drawItemsSelection();
|
|
}
|
|
}
|
|
,getDebugGraphics: function() {
|
|
if(flixel_FlxG.renderBlit) {
|
|
flixel_util_FlxSpriteUtil.flashGfx.clear();
|
|
return flixel_util_FlxSpriteUtil.flashGfx;
|
|
}
|
|
return null;
|
|
}
|
|
,drawItemsSelection: function() {
|
|
var gfx = this.getDebugGraphics();
|
|
if(gfx == null) {
|
|
return;
|
|
}
|
|
var member = new flixel_group_FlxTypedGroupIterator(this.selectedItems.members,null);
|
|
while(member.hasNext()) {
|
|
var member1 = member.next();
|
|
if(member1 != null && member1.scrollFactor != null && member1.isOnScreen()) {
|
|
gfx.lineStyle(0.9,16711680);
|
|
gfx.drawRect(member1.x - flixel_FlxG.camera.scroll.x,member1.y - flixel_FlxG.camera.scroll.y,member1.get_width(),member1.get_height());
|
|
}
|
|
}
|
|
if(flixel_FlxG.renderBlit) {
|
|
flixel_FlxG.camera.buffer.draw(flixel_util_FlxSpriteUtil.flashGfxSprite);
|
|
}
|
|
}
|
|
,getTool: function(className) {
|
|
var _g = 0;
|
|
var _g1 = this._tools;
|
|
while(_g < _g1.length) {
|
|
var tool = _g1[_g];
|
|
++_g;
|
|
if(js_Boot.__instanceof(tool,className)) {
|
|
return tool;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
,toggleVisible: function() {
|
|
flixel_system_debug_Window.prototype.toggleVisible.call(this);
|
|
if(!this.get_visible()) {
|
|
this.setActiveTool(null);
|
|
this.restoreSystemCursor();
|
|
}
|
|
}
|
|
,registerCustomCursor: function(name,icon) {
|
|
if(icon == null) {
|
|
return;
|
|
}
|
|
var sprite = new openfl_display_Sprite();
|
|
sprite.set_visible(false);
|
|
sprite.set_name(name);
|
|
sprite.addChild(new openfl_display_Bitmap(icon));
|
|
this._customCursor.addChild(sprite);
|
|
}
|
|
,updateCustomCursors: function() {
|
|
if(this.activeTool != null && !this._debuggerInteraction) {
|
|
if(this.activeTool.cursor != null) {
|
|
var cursorInUse = this.activeTool.cursorInUse == "" ? this.activeTool.getName() : this.activeTool.cursorInUse;
|
|
var _g = 0;
|
|
var _g1 = this._customCursor.get_numChildren();
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var sprite = this._customCursor.getChildAt(i);
|
|
sprite.set_visible(sprite.get_name() == cursorInUse);
|
|
}
|
|
if(flixel_FlxG.mouse.visible) {
|
|
flixel_FlxG.mouse.set_visible(false);
|
|
}
|
|
} else {
|
|
flixel_FlxG.mouse.set_useSystemCursor(true);
|
|
}
|
|
} else {
|
|
flixel_FlxG.mouse.set_useSystemCursor(true);
|
|
}
|
|
}
|
|
,saveSystemCursorInfo: function() {
|
|
this._wasMouseVisible = flixel_FlxG.mouse.visible;
|
|
this._wasUsingSystemCursor = flixel_FlxG.mouse.useSystemCursor;
|
|
}
|
|
,restoreSystemCursor: function() {
|
|
flixel_FlxG.mouse.set_useSystemCursor(this._wasUsingSystemCursor);
|
|
flixel_FlxG.mouse.set_visible(this._wasMouseVisible);
|
|
this._customCursor.set_visible(false);
|
|
}
|
|
,setActiveTool: function(value) {
|
|
if(this.activeTool != null) {
|
|
this.activeTool.deactivate();
|
|
this.activeTool.button.set_toggled(true);
|
|
}
|
|
if(this.activeTool == value) {
|
|
value = null;
|
|
}
|
|
this.activeTool = value;
|
|
if(this.activeTool != null) {
|
|
this.setToolsCursorVisibility(true);
|
|
this.activeTool.button.set_toggled(false);
|
|
this.activeTool.activate();
|
|
this.updateCustomCursors();
|
|
} else {
|
|
this.setSystemCursorVisibility(true);
|
|
}
|
|
flixel_FlxG.mouse.enabled = !this.isInUse();
|
|
}
|
|
,setSystemCursorVisibility: function(status) {
|
|
flixel_FlxG.mouse.set_useSystemCursor(status);
|
|
this._customCursor.set_visible(!status);
|
|
}
|
|
,setToolsCursorVisibility: function(status) {
|
|
flixel_FlxG.mouse.set_useSystemCursor(false);
|
|
this._customCursor.set_visible(status);
|
|
if(status) {
|
|
return;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this._customCursor.get_numChildren();
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
this._customCursor.getChildAt(i).set_visible(false);
|
|
}
|
|
}
|
|
,clearSelection: function() {
|
|
this.selectedItems.clear();
|
|
}
|
|
,keyPressed: function(key) {
|
|
return this._keysDown.h[key];
|
|
}
|
|
,keyJustPressed: function(key) {
|
|
var value = this._keysUp.h[key] == null ? 0 : this._keysUp.h[key];
|
|
return this._turn - value == 1;
|
|
}
|
|
,isInUse: function() {
|
|
if(flixel_FlxG.debugger.visible && this.get_visible()) {
|
|
return this.activeTool != null;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,findItemsWithinState: function(items,state,area) {
|
|
this.findItemsWithinArea(items,state.members,area);
|
|
if(state.subState != null) {
|
|
this.findItemsWithinState(items,state.subState,area);
|
|
}
|
|
}
|
|
,findItemsWithinArea: function(items,members,area) {
|
|
var i = members.length;
|
|
while(i-- > 0) {
|
|
var member = members[i];
|
|
if(member == null || !member.visible || !member.exists) {
|
|
continue;
|
|
}
|
|
var group = flixel_group_FlxTypedGroup.resolveGroup(member);
|
|
if(group != null) {
|
|
this.findItemsWithinArea(items,group.members,area);
|
|
} else {
|
|
var tmp;
|
|
if(((member) instanceof flixel_FlxSprite)) {
|
|
var Rect = (js_Boot.__cast(member , flixel_FlxSprite)).getHitbox();
|
|
var result = Rect.x + Rect.width > area.x && Rect.x < area.x + area.width && Rect.y + Rect.height > area.y && Rect.y < area.y + area.height;
|
|
if(Rect._weak) {
|
|
if(!Rect._inPool) {
|
|
Rect._inPool = true;
|
|
Rect._weak = false;
|
|
flixel_math_FlxRect._pool.putUnsafe(Rect);
|
|
}
|
|
}
|
|
tmp = result;
|
|
} else {
|
|
tmp = false;
|
|
}
|
|
if(tmp) {
|
|
items.push(member);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,__class__: flixel_system_debug_interaction_Interaction
|
|
});
|
|
var flixel_system_debug_interaction_tools__$Eraser_GraphicEraserTool = function(width,height,transparent,fillRGBA,onload) {
|
|
if(fillRGBA == null) {
|
|
fillRGBA = -1;
|
|
}
|
|
if(transparent == null) {
|
|
transparent = true;
|
|
}
|
|
openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA);
|
|
if(flixel_system_debug_interaction_tools__$Eraser_GraphicEraserTool.preload != null) {
|
|
this.__fromImage(flixel_system_debug_interaction_tools__$Eraser_GraphicEraserTool.preload);
|
|
} else {
|
|
var _gthis = this;
|
|
lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_interaction_tools__$Eraser_GraphicEraserTool.resourceName),flixel_system_debug_interaction_tools__$Eraser_GraphicEraserTool.resourceType).then(function(image) {
|
|
_gthis.__fromImage(image);
|
|
return lime_app_Future.withValue(_gthis);
|
|
}).onComplete(function(b) {
|
|
if(flixel_system_debug_interaction_tools__$Eraser_GraphicEraserTool.preload == null) {
|
|
flixel_system_debug_interaction_tools__$Eraser_GraphicEraserTool.preload = b.image;
|
|
}
|
|
if(onload != null && Reflect.isFunction(onload)) {
|
|
onload(b);
|
|
}
|
|
});
|
|
}
|
|
};
|
|
$hxClasses["flixel.system.debug.interaction.tools._Eraser.GraphicEraserTool"] = flixel_system_debug_interaction_tools__$Eraser_GraphicEraserTool;
|
|
flixel_system_debug_interaction_tools__$Eraser_GraphicEraserTool.__name__ = "flixel.system.debug.interaction.tools._Eraser.GraphicEraserTool";
|
|
flixel_system_debug_interaction_tools__$Eraser_GraphicEraserTool.preload = null;
|
|
flixel_system_debug_interaction_tools__$Eraser_GraphicEraserTool.__super__ = openfl_display_BitmapData;
|
|
flixel_system_debug_interaction_tools__$Eraser_GraphicEraserTool.prototype = $extend(openfl_display_BitmapData.prototype,{
|
|
__class__: flixel_system_debug_interaction_tools__$Eraser_GraphicEraserTool
|
|
});
|
|
var flixel_system_debug_interaction_tools_Tool = function() {
|
|
this._name = "(Unknown tool)";
|
|
this.cursorInUse = "";
|
|
openfl_display_Sprite.call(this);
|
|
};
|
|
$hxClasses["flixel.system.debug.interaction.tools.Tool"] = flixel_system_debug_interaction_tools_Tool;
|
|
flixel_system_debug_interaction_tools_Tool.__name__ = "flixel.system.debug.interaction.tools.Tool";
|
|
flixel_system_debug_interaction_tools_Tool.__interfaces__ = [flixel_util_IFlxDestroyable];
|
|
flixel_system_debug_interaction_tools_Tool.__super__ = openfl_display_Sprite;
|
|
flixel_system_debug_interaction_tools_Tool.prototype = $extend(openfl_display_Sprite.prototype,{
|
|
button: null
|
|
,cursor: null
|
|
,cursorInUse: null
|
|
,_name: null
|
|
,_shortcut: null
|
|
,_brain: null
|
|
,init: function(brain) {
|
|
this._brain = brain;
|
|
return this;
|
|
}
|
|
,update: function() {
|
|
}
|
|
,draw: function() {
|
|
}
|
|
,activate: function() {
|
|
}
|
|
,deactivate: function() {
|
|
}
|
|
,destroy: function() {
|
|
}
|
|
,isActive: function() {
|
|
if(this._brain.activeTool == this) {
|
|
return this._brain.get_visible();
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,setButton: function(Icon) {
|
|
this.button = new flixel_system_ui_FlxSystemButton(Type.createInstance(Icon,[0,0]),$bind(this,this.onButtonClicked),true);
|
|
this.button.set_toggled(true);
|
|
var tooltip = this._name;
|
|
if(this._shortcut != null) {
|
|
tooltip += " (" + this._shortcut + ")";
|
|
}
|
|
flixel_system_debug_Tooltip.add(this.button,tooltip);
|
|
}
|
|
,setCursor: function(Icon) {
|
|
this.cursor = Icon;
|
|
this._brain.registerCustomCursor(this._name,this.cursor);
|
|
}
|
|
,setCursorInUse: function(customCursorName) {
|
|
this.cursorInUse = customCursorName;
|
|
}
|
|
,useDefaultCursor: function() {
|
|
if(this.cursorInUse != "") {
|
|
this.cursorInUse = "";
|
|
}
|
|
}
|
|
,onButtonClicked: function() {
|
|
this._brain.setActiveTool(this);
|
|
}
|
|
,getName: function() {
|
|
return this._name;
|
|
}
|
|
,__class__: flixel_system_debug_interaction_tools_Tool
|
|
});
|
|
var flixel_system_debug_interaction_tools_Eraser = function() {
|
|
flixel_system_debug_interaction_tools_Tool.call(this);
|
|
};
|
|
$hxClasses["flixel.system.debug.interaction.tools.Eraser"] = flixel_system_debug_interaction_tools_Eraser;
|
|
flixel_system_debug_interaction_tools_Eraser.__name__ = "flixel.system.debug.interaction.tools.Eraser";
|
|
flixel_system_debug_interaction_tools_Eraser.__super__ = flixel_system_debug_interaction_tools_Tool;
|
|
flixel_system_debug_interaction_tools_Eraser.prototype = $extend(flixel_system_debug_interaction_tools_Tool.prototype,{
|
|
init: function(Brain) {
|
|
flixel_system_debug_interaction_tools_Tool.prototype.init.call(this,Brain);
|
|
this._name = "Eraser";
|
|
return this;
|
|
}
|
|
,update: function() {
|
|
if(this._brain.keyJustPressed(46)) {
|
|
this.doDeletion(this._brain.keyPressed(16));
|
|
}
|
|
}
|
|
,activate: function() {
|
|
this.doDeletion(this._brain.keyPressed(16));
|
|
this._brain.setActiveTool(null);
|
|
}
|
|
,doDeletion: function(remove) {
|
|
var selectedItems = this._brain.selectedItems;
|
|
if(selectedItems != null) {
|
|
this.findAndDelete(selectedItems,remove);
|
|
selectedItems.clear();
|
|
}
|
|
}
|
|
,findAndDelete: function(items,remove) {
|
|
if(remove == null) {
|
|
remove = false;
|
|
}
|
|
var member = new flixel_group_FlxTypedGroupIterator(items.members,null);
|
|
while(member.hasNext()) {
|
|
var member1 = member.next();
|
|
if(member1 == null) {
|
|
continue;
|
|
}
|
|
if(!((member1) instanceof flixel_group_FlxTypedGroup)) {
|
|
member1.kill();
|
|
if(remove) {
|
|
this.removeFromMemory(member1,flixel_FlxG.game._state);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,removeFromMemory: function(item,parentGroup) {
|
|
var _g = 0;
|
|
var _g1 = parentGroup.members;
|
|
while(_g < _g1.length) {
|
|
var member = _g1[_g];
|
|
++_g;
|
|
if(member == null) {
|
|
continue;
|
|
}
|
|
if(((member) instanceof flixel_group_FlxTypedGroup)) {
|
|
this.removeFromMemory(item,member);
|
|
} else if(member == item) {
|
|
parentGroup.remove(member);
|
|
}
|
|
}
|
|
}
|
|
,__class__: flixel_system_debug_interaction_tools_Eraser
|
|
});
|
|
var flixel_system_debug_interaction_tools__$Mover_GraphicMoverTool = function(width,height,transparent,fillRGBA,onload) {
|
|
if(fillRGBA == null) {
|
|
fillRGBA = -1;
|
|
}
|
|
if(transparent == null) {
|
|
transparent = true;
|
|
}
|
|
openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA);
|
|
if(flixel_system_debug_interaction_tools__$Mover_GraphicMoverTool.preload != null) {
|
|
this.__fromImage(flixel_system_debug_interaction_tools__$Mover_GraphicMoverTool.preload);
|
|
} else {
|
|
var _gthis = this;
|
|
lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_interaction_tools__$Mover_GraphicMoverTool.resourceName),flixel_system_debug_interaction_tools__$Mover_GraphicMoverTool.resourceType).then(function(image) {
|
|
_gthis.__fromImage(image);
|
|
return lime_app_Future.withValue(_gthis);
|
|
}).onComplete(function(b) {
|
|
if(flixel_system_debug_interaction_tools__$Mover_GraphicMoverTool.preload == null) {
|
|
flixel_system_debug_interaction_tools__$Mover_GraphicMoverTool.preload = b.image;
|
|
}
|
|
if(onload != null && Reflect.isFunction(onload)) {
|
|
onload(b);
|
|
}
|
|
});
|
|
}
|
|
};
|
|
$hxClasses["flixel.system.debug.interaction.tools._Mover.GraphicMoverTool"] = flixel_system_debug_interaction_tools__$Mover_GraphicMoverTool;
|
|
flixel_system_debug_interaction_tools__$Mover_GraphicMoverTool.__name__ = "flixel.system.debug.interaction.tools._Mover.GraphicMoverTool";
|
|
flixel_system_debug_interaction_tools__$Mover_GraphicMoverTool.preload = null;
|
|
flixel_system_debug_interaction_tools__$Mover_GraphicMoverTool.__super__ = openfl_display_BitmapData;
|
|
flixel_system_debug_interaction_tools__$Mover_GraphicMoverTool.prototype = $extend(openfl_display_BitmapData.prototype,{
|
|
__class__: flixel_system_debug_interaction_tools__$Mover_GraphicMoverTool
|
|
});
|
|
var flixel_system_debug_interaction_tools_Mover = function() {
|
|
this._dragging = false;
|
|
flixel_system_debug_interaction_tools_Tool.call(this);
|
|
};
|
|
$hxClasses["flixel.system.debug.interaction.tools.Mover"] = flixel_system_debug_interaction_tools_Mover;
|
|
flixel_system_debug_interaction_tools_Mover.__name__ = "flixel.system.debug.interaction.tools.Mover";
|
|
flixel_system_debug_interaction_tools_Mover.__super__ = flixel_system_debug_interaction_tools_Tool;
|
|
flixel_system_debug_interaction_tools_Mover.prototype = $extend(flixel_system_debug_interaction_tools_Tool.prototype,{
|
|
_dragging: null
|
|
,_lastCursorPosition: null
|
|
,init: function(brain) {
|
|
flixel_system_debug_interaction_tools_Tool.prototype.init.call(this,brain);
|
|
this._lastCursorPosition = new flixel_math_FlxPoint(brain.flixelPointer.x,brain.flixelPointer.x);
|
|
this._name = "Mover";
|
|
this._shortcut = "Shift";
|
|
this.setButton(flixel_system_debug_interaction_tools__$Mover_GraphicMoverTool);
|
|
this.setCursor(new flixel_system_debug_interaction_tools__$Mover_GraphicMoverTool(0,0));
|
|
return this;
|
|
}
|
|
,update: function() {
|
|
if(!this.isActive() && !this._brain.keyPressed(16)) {
|
|
return;
|
|
}
|
|
if(this._brain.pointerPressed && !this._dragging) {
|
|
this.startDragging();
|
|
} else if(this._brain.pointerPressed && this._dragging) {
|
|
this.doDragging();
|
|
} else if(this._brain.pointerJustReleased) {
|
|
this.stopDragging();
|
|
}
|
|
this._lastCursorPosition.set_x(this._brain.flixelPointer.x);
|
|
this._lastCursorPosition.set_y(this._brain.flixelPointer.y);
|
|
}
|
|
,stopDragging: function() {
|
|
this._dragging = false;
|
|
}
|
|
,startDragging: function() {
|
|
if(this._dragging) {
|
|
return;
|
|
}
|
|
this._dragging = true;
|
|
if(!this.isActive() && ((this._brain.activeTool) instanceof flixel_system_debug_interaction_tools_Pointer)) {
|
|
this._brain.activeTool.cancelSelection();
|
|
}
|
|
}
|
|
,doDragging: function() {
|
|
var dx = this._brain.flixelPointer.x - this._lastCursorPosition.x;
|
|
var dy = this._brain.flixelPointer.y - this._lastCursorPosition.y;
|
|
var _g = 0;
|
|
var _g1 = this._brain.selectedItems.members;
|
|
while(_g < _g1.length) {
|
|
var member = _g1[_g];
|
|
++_g;
|
|
if(!((member) instanceof flixel_FlxObject)) {
|
|
continue;
|
|
}
|
|
var object = member;
|
|
if(object != null) {
|
|
var _g2 = object;
|
|
_g2.set_x(_g2.x + dx);
|
|
var _g3 = object;
|
|
_g3.set_y(_g3.y + dy);
|
|
}
|
|
}
|
|
}
|
|
,__class__: flixel_system_debug_interaction_tools_Mover
|
|
});
|
|
var flixel_system_debug_interaction_tools_GraphicCursorCross = function(width,height,transparent,fillRGBA,onload) {
|
|
if(fillRGBA == null) {
|
|
fillRGBA = -1;
|
|
}
|
|
if(transparent == null) {
|
|
transparent = true;
|
|
}
|
|
openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA);
|
|
if(flixel_system_debug_interaction_tools_GraphicCursorCross.preload != null) {
|
|
this.__fromImage(flixel_system_debug_interaction_tools_GraphicCursorCross.preload);
|
|
} else {
|
|
var _gthis = this;
|
|
lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_interaction_tools_GraphicCursorCross.resourceName),flixel_system_debug_interaction_tools_GraphicCursorCross.resourceType).then(function(image) {
|
|
_gthis.__fromImage(image);
|
|
return lime_app_Future.withValue(_gthis);
|
|
}).onComplete(function(b) {
|
|
if(flixel_system_debug_interaction_tools_GraphicCursorCross.preload == null) {
|
|
flixel_system_debug_interaction_tools_GraphicCursorCross.preload = b.image;
|
|
}
|
|
if(onload != null && Reflect.isFunction(onload)) {
|
|
onload(b);
|
|
}
|
|
});
|
|
}
|
|
};
|
|
$hxClasses["flixel.system.debug.interaction.tools.GraphicCursorCross"] = flixel_system_debug_interaction_tools_GraphicCursorCross;
|
|
flixel_system_debug_interaction_tools_GraphicCursorCross.__name__ = "flixel.system.debug.interaction.tools.GraphicCursorCross";
|
|
flixel_system_debug_interaction_tools_GraphicCursorCross.preload = null;
|
|
flixel_system_debug_interaction_tools_GraphicCursorCross.__super__ = openfl_display_BitmapData;
|
|
flixel_system_debug_interaction_tools_GraphicCursorCross.prototype = $extend(openfl_display_BitmapData.prototype,{
|
|
__class__: flixel_system_debug_interaction_tools_GraphicCursorCross
|
|
});
|
|
var flixel_system_debug_interaction_tools_Pointer = function() {
|
|
this._itemsInSelectionArea = [];
|
|
this._selectionArea = new flixel_math_FlxRect();
|
|
this._selectionCancelled = false;
|
|
this._selectionHappening = false;
|
|
this._selectionEndPoint = new flixel_math_FlxPoint();
|
|
this._selectionStartPoint = new flixel_math_FlxPoint();
|
|
flixel_system_debug_interaction_tools_Tool.call(this);
|
|
};
|
|
$hxClasses["flixel.system.debug.interaction.tools.Pointer"] = flixel_system_debug_interaction_tools_Pointer;
|
|
flixel_system_debug_interaction_tools_Pointer.__name__ = "flixel.system.debug.interaction.tools.Pointer";
|
|
flixel_system_debug_interaction_tools_Pointer.__super__ = flixel_system_debug_interaction_tools_Tool;
|
|
flixel_system_debug_interaction_tools_Pointer.prototype = $extend(flixel_system_debug_interaction_tools_Tool.prototype,{
|
|
_selectionStartPoint: null
|
|
,_selectionEndPoint: null
|
|
,_selectionHappening: null
|
|
,_selectionCancelled: null
|
|
,_selectionArea: null
|
|
,_itemsInSelectionArea: null
|
|
,init: function(brain) {
|
|
flixel_system_debug_interaction_tools_Tool.prototype.init.call(this,brain);
|
|
this._name = "Pointer";
|
|
this.setButton(flixel_system_debug_interaction_tools_GraphicCursorCross);
|
|
this.setCursor(new flixel_system_debug_interaction_tools_GraphicCursorCross(0,0));
|
|
return this;
|
|
}
|
|
,update: function() {
|
|
if(!this.isActive()) {
|
|
return;
|
|
}
|
|
if(this._brain.pointerJustPressed && !this._selectionHappening) {
|
|
this.startSelection();
|
|
}
|
|
if(this._selectionHappening) {
|
|
this._selectionEndPoint.set(this._brain.flixelPointer.x,this._brain.flixelPointer.y);
|
|
this.calculateSelectionArea();
|
|
}
|
|
if(!this._brain.pointerJustReleased) {
|
|
return;
|
|
}
|
|
if(this._selectionHappening) {
|
|
this.stopSelection();
|
|
}
|
|
if(this._itemsInSelectionArea.length > 0) {
|
|
this.handleItemAddition(this._itemsInSelectionArea);
|
|
} else if(!this._brain.keyPressed(17) && !this._selectionCancelled) {
|
|
this._brain.clearSelection();
|
|
}
|
|
}
|
|
,calculateSelectionArea: function() {
|
|
this._selectionArea.x = this._selectionStartPoint.x;
|
|
this._selectionArea.y = this._selectionStartPoint.y;
|
|
this._selectionArea.width = this._selectionEndPoint.x - this._selectionArea.x;
|
|
this._selectionArea.height = this._selectionEndPoint.y - this._selectionArea.y;
|
|
if(this._selectionArea.width < 0) {
|
|
this._selectionArea.width *= -1;
|
|
this._selectionArea.x -= this._selectionArea.width;
|
|
}
|
|
if(this._selectionArea.height < 0) {
|
|
this._selectionArea.height *= -1;
|
|
this._selectionArea.y -= this._selectionArea.height;
|
|
}
|
|
}
|
|
,startSelection: function() {
|
|
this._selectionHappening = true;
|
|
this._selectionCancelled = false;
|
|
this._selectionStartPoint.set(this._brain.flixelPointer.x,this._brain.flixelPointer.y);
|
|
flixel_util_FlxArrayUtil.clearArray(this._itemsInSelectionArea);
|
|
this.updateConsoleSelection();
|
|
}
|
|
,cancelSelection: function() {
|
|
if(!this._selectionHappening) {
|
|
return;
|
|
}
|
|
this._selectionCancelled = true;
|
|
this.stopSelection(false);
|
|
}
|
|
,stopSelection: function(findItems) {
|
|
if(findItems == null) {
|
|
findItems = true;
|
|
}
|
|
if(!this._selectionHappening) {
|
|
return;
|
|
}
|
|
this._selectionEndPoint.set(this._brain.flixelPointer.x,this._brain.flixelPointer.y);
|
|
this.calculateSelectionArea();
|
|
if(findItems) {
|
|
this._brain.findItemsWithinState(this._itemsInSelectionArea,flixel_FlxG.game._state,this._selectionArea);
|
|
this.updateConsoleSelection();
|
|
}
|
|
this._selectionHappening = false;
|
|
var _this = this._selectionArea;
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = 0;
|
|
var Height = 0;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
}
|
|
,updateConsoleSelection: function() {
|
|
}
|
|
,handleItemAddition: function(itemsInSelectionArea) {
|
|
var adding = this._brain.keyPressed(17);
|
|
var selectedItems = this._brain.selectedItems;
|
|
if(itemsInSelectionArea.length == 0) {
|
|
return;
|
|
}
|
|
if(!adding) {
|
|
this._brain.clearSelection();
|
|
}
|
|
var _g = 0;
|
|
while(_g < itemsInSelectionArea.length) {
|
|
var item = itemsInSelectionArea[_g];
|
|
++_g;
|
|
if(selectedItems.members.indexOf(item) != -1 && adding) {
|
|
selectedItems.remove(item);
|
|
} else {
|
|
selectedItems.add(item);
|
|
}
|
|
}
|
|
}
|
|
,draw: function() {
|
|
var gfx = this._brain.getDebugGraphics();
|
|
if(gfx == null) {
|
|
return;
|
|
}
|
|
if(this._selectionHappening) {
|
|
gfx.lineStyle(0.9,12255232);
|
|
gfx.drawRect(this._selectionArea.x - flixel_FlxG.camera.scroll.x,this._selectionArea.y - flixel_FlxG.camera.scroll.y,this._selectionArea.width,this._selectionArea.height);
|
|
}
|
|
if(flixel_FlxG.renderBlit) {
|
|
flixel_FlxG.camera.buffer.draw(flixel_util_FlxSpriteUtil.flashGfxSprite);
|
|
}
|
|
}
|
|
,__class__: flixel_system_debug_interaction_tools_Pointer
|
|
});
|
|
var flixel_system_debug_interaction_tools__$Transform_GraphicTransformTool = function(width,height,transparent,fillRGBA,onload) {
|
|
if(fillRGBA == null) {
|
|
fillRGBA = -1;
|
|
}
|
|
if(transparent == null) {
|
|
transparent = true;
|
|
}
|
|
openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA);
|
|
if(flixel_system_debug_interaction_tools__$Transform_GraphicTransformTool.preload != null) {
|
|
this.__fromImage(flixel_system_debug_interaction_tools__$Transform_GraphicTransformTool.preload);
|
|
} else {
|
|
var _gthis = this;
|
|
lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_interaction_tools__$Transform_GraphicTransformTool.resourceName),flixel_system_debug_interaction_tools__$Transform_GraphicTransformTool.resourceType).then(function(image) {
|
|
_gthis.__fromImage(image);
|
|
return lime_app_Future.withValue(_gthis);
|
|
}).onComplete(function(b) {
|
|
if(flixel_system_debug_interaction_tools__$Transform_GraphicTransformTool.preload == null) {
|
|
flixel_system_debug_interaction_tools__$Transform_GraphicTransformTool.preload = b.image;
|
|
}
|
|
if(onload != null && Reflect.isFunction(onload)) {
|
|
onload(b);
|
|
}
|
|
});
|
|
}
|
|
};
|
|
$hxClasses["flixel.system.debug.interaction.tools._Transform.GraphicTransformTool"] = flixel_system_debug_interaction_tools__$Transform_GraphicTransformTool;
|
|
flixel_system_debug_interaction_tools__$Transform_GraphicTransformTool.__name__ = "flixel.system.debug.interaction.tools._Transform.GraphicTransformTool";
|
|
flixel_system_debug_interaction_tools__$Transform_GraphicTransformTool.preload = null;
|
|
flixel_system_debug_interaction_tools__$Transform_GraphicTransformTool.__super__ = openfl_display_BitmapData;
|
|
flixel_system_debug_interaction_tools__$Transform_GraphicTransformTool.prototype = $extend(openfl_display_BitmapData.prototype,{
|
|
__class__: flixel_system_debug_interaction_tools__$Transform_GraphicTransformTool
|
|
});
|
|
var flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorDefault = function(width,height,transparent,fillRGBA,onload) {
|
|
if(fillRGBA == null) {
|
|
fillRGBA = -1;
|
|
}
|
|
if(transparent == null) {
|
|
transparent = true;
|
|
}
|
|
openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA);
|
|
if(flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorDefault.preload != null) {
|
|
this.__fromImage(flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorDefault.preload);
|
|
} else {
|
|
var _gthis = this;
|
|
lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorDefault.resourceName),flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorDefault.resourceType).then(function(image) {
|
|
_gthis.__fromImage(image);
|
|
return lime_app_Future.withValue(_gthis);
|
|
}).onComplete(function(b) {
|
|
if(flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorDefault.preload == null) {
|
|
flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorDefault.preload = b.image;
|
|
}
|
|
if(onload != null && Reflect.isFunction(onload)) {
|
|
onload(b);
|
|
}
|
|
});
|
|
}
|
|
};
|
|
$hxClasses["flixel.system.debug.interaction.tools._Transform.GraphicTransformCursorDefault"] = flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorDefault;
|
|
flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorDefault.__name__ = "flixel.system.debug.interaction.tools._Transform.GraphicTransformCursorDefault";
|
|
flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorDefault.preload = null;
|
|
flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorDefault.__super__ = openfl_display_BitmapData;
|
|
flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorDefault.prototype = $extend(openfl_display_BitmapData.prototype,{
|
|
__class__: flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorDefault
|
|
});
|
|
var flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleY = function(width,height,transparent,fillRGBA,onload) {
|
|
if(fillRGBA == null) {
|
|
fillRGBA = -1;
|
|
}
|
|
if(transparent == null) {
|
|
transparent = true;
|
|
}
|
|
openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA);
|
|
if(flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleY.preload != null) {
|
|
this.__fromImage(flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleY.preload);
|
|
} else {
|
|
var _gthis = this;
|
|
lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleY.resourceName),flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleY.resourceType).then(function(image) {
|
|
_gthis.__fromImage(image);
|
|
return lime_app_Future.withValue(_gthis);
|
|
}).onComplete(function(b) {
|
|
if(flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleY.preload == null) {
|
|
flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleY.preload = b.image;
|
|
}
|
|
if(onload != null && Reflect.isFunction(onload)) {
|
|
onload(b);
|
|
}
|
|
});
|
|
}
|
|
};
|
|
$hxClasses["flixel.system.debug.interaction.tools._Transform.GraphicTransformCursorScaleY"] = flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleY;
|
|
flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleY.__name__ = "flixel.system.debug.interaction.tools._Transform.GraphicTransformCursorScaleY";
|
|
flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleY.preload = null;
|
|
flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleY.__super__ = openfl_display_BitmapData;
|
|
flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleY.prototype = $extend(openfl_display_BitmapData.prototype,{
|
|
__class__: flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleY
|
|
});
|
|
var flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleX = function(width,height,transparent,fillRGBA,onload) {
|
|
if(fillRGBA == null) {
|
|
fillRGBA = -1;
|
|
}
|
|
if(transparent == null) {
|
|
transparent = true;
|
|
}
|
|
openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA);
|
|
if(flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleX.preload != null) {
|
|
this.__fromImage(flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleX.preload);
|
|
} else {
|
|
var _gthis = this;
|
|
lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleX.resourceName),flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleX.resourceType).then(function(image) {
|
|
_gthis.__fromImage(image);
|
|
return lime_app_Future.withValue(_gthis);
|
|
}).onComplete(function(b) {
|
|
if(flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleX.preload == null) {
|
|
flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleX.preload = b.image;
|
|
}
|
|
if(onload != null && Reflect.isFunction(onload)) {
|
|
onload(b);
|
|
}
|
|
});
|
|
}
|
|
};
|
|
$hxClasses["flixel.system.debug.interaction.tools._Transform.GraphicTransformCursorScaleX"] = flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleX;
|
|
flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleX.__name__ = "flixel.system.debug.interaction.tools._Transform.GraphicTransformCursorScaleX";
|
|
flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleX.preload = null;
|
|
flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleX.__super__ = openfl_display_BitmapData;
|
|
flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleX.prototype = $extend(openfl_display_BitmapData.prototype,{
|
|
__class__: flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleX
|
|
});
|
|
var flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleXY = function(width,height,transparent,fillRGBA,onload) {
|
|
if(fillRGBA == null) {
|
|
fillRGBA = -1;
|
|
}
|
|
if(transparent == null) {
|
|
transparent = true;
|
|
}
|
|
openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA);
|
|
if(flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleXY.preload != null) {
|
|
this.__fromImage(flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleXY.preload);
|
|
} else {
|
|
var _gthis = this;
|
|
lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleXY.resourceName),flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleXY.resourceType).then(function(image) {
|
|
_gthis.__fromImage(image);
|
|
return lime_app_Future.withValue(_gthis);
|
|
}).onComplete(function(b) {
|
|
if(flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleXY.preload == null) {
|
|
flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleXY.preload = b.image;
|
|
}
|
|
if(onload != null && Reflect.isFunction(onload)) {
|
|
onload(b);
|
|
}
|
|
});
|
|
}
|
|
};
|
|
$hxClasses["flixel.system.debug.interaction.tools._Transform.GraphicTransformCursorScaleXY"] = flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleXY;
|
|
flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleXY.__name__ = "flixel.system.debug.interaction.tools._Transform.GraphicTransformCursorScaleXY";
|
|
flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleXY.preload = null;
|
|
flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleXY.__super__ = openfl_display_BitmapData;
|
|
flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleXY.prototype = $extend(openfl_display_BitmapData.prototype,{
|
|
__class__: flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleXY
|
|
});
|
|
var flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorRotate = function(width,height,transparent,fillRGBA,onload) {
|
|
if(fillRGBA == null) {
|
|
fillRGBA = -1;
|
|
}
|
|
if(transparent == null) {
|
|
transparent = true;
|
|
}
|
|
openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA);
|
|
if(flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorRotate.preload != null) {
|
|
this.__fromImage(flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorRotate.preload);
|
|
} else {
|
|
var _gthis = this;
|
|
lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorRotate.resourceName),flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorRotate.resourceType).then(function(image) {
|
|
_gthis.__fromImage(image);
|
|
return lime_app_Future.withValue(_gthis);
|
|
}).onComplete(function(b) {
|
|
if(flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorRotate.preload == null) {
|
|
flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorRotate.preload = b.image;
|
|
}
|
|
if(onload != null && Reflect.isFunction(onload)) {
|
|
onload(b);
|
|
}
|
|
});
|
|
}
|
|
};
|
|
$hxClasses["flixel.system.debug.interaction.tools._Transform.GraphicTransformCursorRotate"] = flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorRotate;
|
|
flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorRotate.__name__ = "flixel.system.debug.interaction.tools._Transform.GraphicTransformCursorRotate";
|
|
flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorRotate.preload = null;
|
|
flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorRotate.__super__ = openfl_display_BitmapData;
|
|
flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorRotate.prototype = $extend(openfl_display_BitmapData.prototype,{
|
|
__class__: flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorRotate
|
|
});
|
|
var flixel_system_debug_interaction_tools_Transform = function() {
|
|
this._mouseCursor = new flixel_math_FlxPoint();
|
|
this._targetArea = new flixel_math_FlxRect();
|
|
this._markers = [];
|
|
this._actionScaleDirection = new flixel_math_FlxPoint();
|
|
this._actionStartPoint = new flixel_math_FlxPoint();
|
|
this._actionTargetStartScale = new flixel_math_FlxPoint();
|
|
flixel_system_debug_interaction_tools_Tool.call(this);
|
|
};
|
|
$hxClasses["flixel.system.debug.interaction.tools.Transform"] = flixel_system_debug_interaction_tools_Transform;
|
|
flixel_system_debug_interaction_tools_Transform.__name__ = "flixel.system.debug.interaction.tools.Transform";
|
|
flixel_system_debug_interaction_tools_Transform.__super__ = flixel_system_debug_interaction_tools_Tool;
|
|
flixel_system_debug_interaction_tools_Transform.prototype = $extend(flixel_system_debug_interaction_tools_Tool.prototype,{
|
|
_actionTargetStartScale: null
|
|
,_actionTargetStartAngle: null
|
|
,_actionStartPoint: null
|
|
,_actionHappening: null
|
|
,_actionMarker: null
|
|
,_actionScaleDirection: null
|
|
,_tooltip: null
|
|
,_markers: null
|
|
,_target: null
|
|
,_targetArea: null
|
|
,_mouseCursor: null
|
|
,init: function(brain) {
|
|
var _gthis = this;
|
|
flixel_system_debug_interaction_tools_Tool.prototype.init.call(this,brain);
|
|
this._name = "Transform";
|
|
this.setButton(flixel_system_debug_interaction_tools__$Transform_GraphicTransformTool);
|
|
this.setCursor(new flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorDefault(0,0));
|
|
brain.registerCustomCursor("transformRotate",new flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorRotate(0,0));
|
|
brain.registerCustomCursor("transformScaleX",new flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleX(0,0));
|
|
brain.registerCustomCursor("transformScaleY",new flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleY(0,0));
|
|
brain.registerCustomCursor("transformScaleXY",new flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleXY(0,0));
|
|
this._tooltip = flixel_system_debug_Tooltip.add(null,"");
|
|
this._tooltip.textField.set_wordWrap(false);
|
|
this._markers.push(new flixel_math_FlxPoint());
|
|
this._markers.push(new flixel_math_FlxPoint());
|
|
this._markers.push(new flixel_math_FlxPoint());
|
|
this._markers.push(new flixel_math_FlxPoint());
|
|
this.stopAction();
|
|
flixel_FlxG.signals.preStateSwitch.add(function() {
|
|
_gthis._target = null;
|
|
});
|
|
return this;
|
|
}
|
|
,updateTargetArea: function() {
|
|
if(this._target == null) {
|
|
var _this = this._targetArea;
|
|
_this.x = 0;
|
|
_this.y = 0;
|
|
var _this = this._targetArea;
|
|
_this.width = 0;
|
|
_this.height = 0;
|
|
} else {
|
|
var _this = this._targetArea;
|
|
_this.x = this._target.x - flixel_FlxG.camera.scroll.x;
|
|
_this.y = this._target.y - flixel_FlxG.camera.scroll.y;
|
|
var _this = this._targetArea;
|
|
var Width = this._target.get_width();
|
|
var Height = this._target.get_height();
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
}
|
|
}
|
|
,startAction: function(whichMarker) {
|
|
if(this._actionHappening) {
|
|
return;
|
|
}
|
|
this._actionHappening = true;
|
|
this._actionMarker = whichMarker;
|
|
this._actionStartPoint.set(this._brain.flixelPointer.x - flixel_FlxG.camera.scroll.x,this._brain.flixelPointer.y - flixel_FlxG.camera.scroll.y);
|
|
this._actionTargetStartAngle = flixel_math_FlxAngle.angleBetweenPoint(this._target,this._markers[0],true);
|
|
this._actionTargetStartScale.set(this._target.scale.x,this._target.scale.y);
|
|
}
|
|
,stopAction: function() {
|
|
this._actionHappening = false;
|
|
this._actionMarker = -1;
|
|
this._tooltip.setVisible(false);
|
|
}
|
|
,getCursorNameByMarker: function(marker) {
|
|
switch(marker) {
|
|
case 0:
|
|
return "transformRotate";
|
|
case 1:
|
|
return "transformScaleX";
|
|
case 2:
|
|
return "transformScaleXY";
|
|
case 3:
|
|
return "transformScaleY";
|
|
default:
|
|
return "";
|
|
}
|
|
}
|
|
,handleInteractionsWithMarkersUI: function() {
|
|
if(this._actionHappening) {
|
|
return;
|
|
}
|
|
var cursorName = "";
|
|
var _g = 0;
|
|
var _g1 = this._markers.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(this._mouseCursor.distanceTo(this._markers[i]) <= 5.0) {
|
|
cursorName = this.getCursorNameByMarker(i);
|
|
if(this._brain.pointerJustPressed) {
|
|
this.startAction(i);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
if(cursorName != "") {
|
|
this.setCursorInUse(cursorName);
|
|
} else {
|
|
this.useDefaultCursor();
|
|
}
|
|
}
|
|
,formatFloat: function(number) {
|
|
var value = flixel_math_FlxMath.roundDecimal(number,flixel_FlxG.debugger.precision);
|
|
if(value == null) {
|
|
return "null";
|
|
} else {
|
|
return "" + value;
|
|
}
|
|
}
|
|
,showTooltip: function(text) {
|
|
if(!this._tooltip.get_visible()) {
|
|
this._tooltip.setVisible(true);
|
|
}
|
|
this._tooltip.set_x(this._target.x - flixel_FlxG.camera.scroll.x);
|
|
this._tooltip.set_y(this._target.y - flixel_FlxG.camera.scroll.y);
|
|
this._tooltip.setText(text);
|
|
}
|
|
,updateScaleActionDirection: function() {
|
|
var deltaX = this._mouseCursor.x - this._actionStartPoint.x;
|
|
var deltaY = this._mouseCursor.y - this._actionStartPoint.y;
|
|
this._actionScaleDirection.set_x(deltaX >= 0 ? 1 : -1);
|
|
this._actionScaleDirection.set_y(deltaY >= 0 ? 1 : -1);
|
|
}
|
|
,updateScaleAction: function() {
|
|
this.updateScaleActionDirection();
|
|
var deltaX = this._actionScaleDirection.x * Math.abs(this._mouseCursor.x - this._actionStartPoint.x) / 10.0;
|
|
var deltaY = this._actionScaleDirection.y * Math.abs(this._mouseCursor.y - this._actionStartPoint.y) / 10.0;
|
|
if(this._actionMarker == 1 || this._actionMarker == 2) {
|
|
this._target.scale.set_x(this._actionTargetStartScale.x + deltaX);
|
|
}
|
|
if(this._actionMarker == 2 || this._actionMarker == 3) {
|
|
this._target.scale.set_y(this._actionTargetStartScale.y + deltaY);
|
|
}
|
|
this._target.updateHitbox();
|
|
var _this = this._target;
|
|
_this.origin.set(_this.frameWidth * 0.5,_this.frameHeight * 0.5);
|
|
this.showTooltip("w: " + this.formatFloat(this._target.get_width()) + "\nh: " + this.formatFloat(this._target.get_height()));
|
|
}
|
|
,updateRotateAction: function() {
|
|
this._target.set_angle(flixel_math_FlxAngle.angleBetweenPoint(this._target,this._brain.flixelPointer,true) - this._actionTargetStartAngle);
|
|
this.showTooltip("deg: " + this.formatFloat(this._target.angle) + "\nrad: " + this.formatFloat(this._target.angle * (Math.PI / 180)));
|
|
}
|
|
,updateAction: function() {
|
|
if(!this._actionHappening || this._actionMarker < 0) {
|
|
return;
|
|
}
|
|
if(this._actionMarker == 0) {
|
|
this.updateRotateAction();
|
|
} else {
|
|
this.updateScaleAction();
|
|
}
|
|
}
|
|
,updateMarkersPosition: function() {
|
|
var topLeftX = this._targetArea.x - 5.0;
|
|
var topLeftY = this._targetArea.y - 5.0;
|
|
var width = this._targetArea.width + 10.;
|
|
var height = this._targetArea.height + 10.;
|
|
this._markers[0].set(topLeftX,topLeftY);
|
|
this._markers[1].set(topLeftX + width,topLeftY);
|
|
this._markers[2].set(topLeftX + width,topLeftY + height);
|
|
this._markers[3].set(topLeftX,topLeftY + height);
|
|
if(this._target.angle != 0) {
|
|
this.updateMarkersRotation(width,height);
|
|
}
|
|
}
|
|
,updateMarkersRotation: function(outlineWidth,outlineHeight) {
|
|
var rotationAngleRad = this._target.angle * (Math.PI / 180);
|
|
var originX = this._markers[0].x + outlineWidth / 2;
|
|
var originY = this._markers[0].y + outlineHeight / 2;
|
|
var n = rotationAngleRad + 1.570796327;
|
|
n *= 0.3183098862;
|
|
if(n > 1) {
|
|
n -= Math.ceil(n) >> 1 << 1;
|
|
} else if(n < -1) {
|
|
n += Math.ceil(-n) >> 1 << 1;
|
|
}
|
|
var cos = n > 0 ? n * (3.1 + n * (0.5 + n * (-7.2 + n * 3.6))) : n * (3.1 - n * (0.5 + n * (7.2 + n * 3.6)));
|
|
var n = rotationAngleRad;
|
|
n *= 0.3183098862;
|
|
if(n > 1) {
|
|
n -= Math.ceil(n) >> 1 << 1;
|
|
} else if(n < -1) {
|
|
n += Math.ceil(-n) >> 1 << 1;
|
|
}
|
|
var sin = n > 0 ? n * (3.1 + n * (0.5 + n * (-7.2 + n * 3.6))) : n * (3.1 - n * (0.5 + n * (7.2 + n * 3.6)));
|
|
var _g = 0;
|
|
var _g1 = this._markers;
|
|
while(_g < _g1.length) {
|
|
var marker = _g1[_g];
|
|
++_g;
|
|
var rotatedX = (marker.x - originX) * cos - (marker.y - originY) * sin;
|
|
var rotatedY = (marker.x - originX) * sin + (marker.y - originY) * cos;
|
|
marker.set(rotatedX + originX,rotatedY + originY);
|
|
}
|
|
}
|
|
,update: function() {
|
|
if(!this.isActive() || this._target == null) {
|
|
return;
|
|
}
|
|
this._mouseCursor.set_x(this._brain.flixelPointer.x - flixel_FlxG.camera.scroll.x);
|
|
this._mouseCursor.set_y(this._brain.flixelPointer.y - flixel_FlxG.camera.scroll.y);
|
|
this.updateTargetArea();
|
|
this.updateMarkersPosition();
|
|
this.handleInteractionsWithMarkersUI();
|
|
if(this._actionHappening) {
|
|
this.updateAction();
|
|
if(this._brain.pointerJustReleased) {
|
|
this.stopAction();
|
|
}
|
|
}
|
|
}
|
|
,drawTargetAreaOutline: function(gfx) {
|
|
gfx.lineStyle(0.9,-65281,1.0,false,2,2);
|
|
gfx.moveTo(this._markers[0].x,this._markers[0].y);
|
|
var _g = 0;
|
|
var _g1 = this._markers.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
gfx.lineTo(this._markers[i].x,this._markers[i].y);
|
|
}
|
|
gfx.lineTo(this._markers[0].x,this._markers[0].y);
|
|
}
|
|
,drawMarkers: function(gfx) {
|
|
gfx.lineStyle(0.9,-65281,1.0,false,2,2);
|
|
gfx.beginFill(-65281);
|
|
var _g = 0;
|
|
var _g1 = this._markers.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(i == 0) {
|
|
gfx.drawCircle(this._markers[i].x,this._markers[i].y,2.7);
|
|
} else {
|
|
gfx.drawRect(this._markers[i].x - 1.5,this._markers[i].y - 1.5,3.0,3.0);
|
|
}
|
|
}
|
|
gfx.endFill();
|
|
}
|
|
,draw: function() {
|
|
var gfx = this._brain.getDebugGraphics();
|
|
if(gfx == null || this._target == null || !this.isActive()) {
|
|
return;
|
|
}
|
|
this.drawTargetAreaOutline(gfx);
|
|
this.drawMarkers(gfx);
|
|
if(flixel_FlxG.renderBlit) {
|
|
flixel_FlxG.camera.buffer.draw(flixel_util_FlxSpriteUtil.flashGfxSprite);
|
|
}
|
|
}
|
|
,activate: function() {
|
|
this._target = null;
|
|
if(this._brain.selectedItems.length == 0) {
|
|
return;
|
|
}
|
|
var member = new flixel_group_FlxTypedGroupIterator(this._brain.selectedItems.members,null);
|
|
while(member.hasNext()) {
|
|
var member1 = member.next();
|
|
if(member1 != null && member1.scrollFactor != null && member1.isOnScreen()) {
|
|
this._target = member1;
|
|
break;
|
|
}
|
|
}
|
|
this._brain.shouldDrawItemsSelection = false;
|
|
}
|
|
,deactivate: function() {
|
|
this._brain.shouldDrawItemsSelection = true;
|
|
}
|
|
,__class__: flixel_system_debug_interaction_tools_Transform
|
|
});
|
|
var flixel_system_debug_log_LogStyle = function(Prefix,Color,Size,Bold,Italic,Underlined,ErrorSound,OpenConsole,CallbackFunction) {
|
|
if(OpenConsole == null) {
|
|
OpenConsole = false;
|
|
}
|
|
if(Underlined == null) {
|
|
Underlined = false;
|
|
}
|
|
if(Italic == null) {
|
|
Italic = false;
|
|
}
|
|
if(Bold == null) {
|
|
Bold = false;
|
|
}
|
|
if(Size == null) {
|
|
Size = 12;
|
|
}
|
|
if(Color == null) {
|
|
Color = "FFFFFF";
|
|
}
|
|
if(Prefix == null) {
|
|
Prefix = "";
|
|
}
|
|
this.prefix = Prefix;
|
|
this.color = Color;
|
|
this.size = Size;
|
|
this.bold = Bold;
|
|
this.italic = Italic;
|
|
this.underlined = Underlined;
|
|
this.errorSound = ErrorSound;
|
|
this.openConsole = OpenConsole;
|
|
this.callbackFunction = CallbackFunction;
|
|
};
|
|
$hxClasses["flixel.system.debug.log.LogStyle"] = flixel_system_debug_log_LogStyle;
|
|
flixel_system_debug_log_LogStyle.__name__ = "flixel.system.debug.log.LogStyle";
|
|
flixel_system_debug_log_LogStyle.prototype = {
|
|
prefix: null
|
|
,color: null
|
|
,size: null
|
|
,bold: null
|
|
,italic: null
|
|
,underlined: null
|
|
,errorSound: null
|
|
,openConsole: null
|
|
,callbackFunction: null
|
|
,__class__: flixel_system_debug_log_LogStyle
|
|
};
|
|
var flixel_system_debug_stats__$Stats_GraphicMinimizeButton = function(width,height,transparent,fillRGBA,onload) {
|
|
if(fillRGBA == null) {
|
|
fillRGBA = -1;
|
|
}
|
|
if(transparent == null) {
|
|
transparent = true;
|
|
}
|
|
openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA);
|
|
if(flixel_system_debug_stats__$Stats_GraphicMinimizeButton.preload != null) {
|
|
this.__fromImage(flixel_system_debug_stats__$Stats_GraphicMinimizeButton.preload);
|
|
} else {
|
|
var _gthis = this;
|
|
lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_stats__$Stats_GraphicMinimizeButton.resourceName),flixel_system_debug_stats__$Stats_GraphicMinimizeButton.resourceType).then(function(image) {
|
|
_gthis.__fromImage(image);
|
|
return lime_app_Future.withValue(_gthis);
|
|
}).onComplete(function(b) {
|
|
if(flixel_system_debug_stats__$Stats_GraphicMinimizeButton.preload == null) {
|
|
flixel_system_debug_stats__$Stats_GraphicMinimizeButton.preload = b.image;
|
|
}
|
|
if(onload != null && Reflect.isFunction(onload)) {
|
|
onload(b);
|
|
}
|
|
});
|
|
}
|
|
};
|
|
$hxClasses["flixel.system.debug.stats._Stats.GraphicMinimizeButton"] = flixel_system_debug_stats__$Stats_GraphicMinimizeButton;
|
|
flixel_system_debug_stats__$Stats_GraphicMinimizeButton.__name__ = "flixel.system.debug.stats._Stats.GraphicMinimizeButton";
|
|
flixel_system_debug_stats__$Stats_GraphicMinimizeButton.preload = null;
|
|
flixel_system_debug_stats__$Stats_GraphicMinimizeButton.__super__ = openfl_display_BitmapData;
|
|
flixel_system_debug_stats__$Stats_GraphicMinimizeButton.prototype = $extend(openfl_display_BitmapData.prototype,{
|
|
__class__: flixel_system_debug_stats__$Stats_GraphicMinimizeButton
|
|
});
|
|
var flixel_system_debug_stats__$Stats_GraphicMaximizeButton = function(width,height,transparent,fillRGBA,onload) {
|
|
if(fillRGBA == null) {
|
|
fillRGBA = -1;
|
|
}
|
|
if(transparent == null) {
|
|
transparent = true;
|
|
}
|
|
openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA);
|
|
if(flixel_system_debug_stats__$Stats_GraphicMaximizeButton.preload != null) {
|
|
this.__fromImage(flixel_system_debug_stats__$Stats_GraphicMaximizeButton.preload);
|
|
} else {
|
|
var _gthis = this;
|
|
lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_stats__$Stats_GraphicMaximizeButton.resourceName),flixel_system_debug_stats__$Stats_GraphicMaximizeButton.resourceType).then(function(image) {
|
|
_gthis.__fromImage(image);
|
|
return lime_app_Future.withValue(_gthis);
|
|
}).onComplete(function(b) {
|
|
if(flixel_system_debug_stats__$Stats_GraphicMaximizeButton.preload == null) {
|
|
flixel_system_debug_stats__$Stats_GraphicMaximizeButton.preload = b.image;
|
|
}
|
|
if(onload != null && Reflect.isFunction(onload)) {
|
|
onload(b);
|
|
}
|
|
});
|
|
}
|
|
};
|
|
$hxClasses["flixel.system.debug.stats._Stats.GraphicMaximizeButton"] = flixel_system_debug_stats__$Stats_GraphicMaximizeButton;
|
|
flixel_system_debug_stats__$Stats_GraphicMaximizeButton.__name__ = "flixel.system.debug.stats._Stats.GraphicMaximizeButton";
|
|
flixel_system_debug_stats__$Stats_GraphicMaximizeButton.preload = null;
|
|
flixel_system_debug_stats__$Stats_GraphicMaximizeButton.__super__ = openfl_display_BitmapData;
|
|
flixel_system_debug_stats__$Stats_GraphicMaximizeButton.prototype = $extend(openfl_display_BitmapData.prototype,{
|
|
__class__: flixel_system_debug_stats__$Stats_GraphicMaximizeButton
|
|
});
|
|
var flixel_system_debug_watch_Watch = function(Title,Icon,Width,Height,Resizable,Bounds,Closable,AlwaysOnTop) {
|
|
flixel_system_debug_Window.call(this,Title,Icon,Width,Height,Resizable,Bounds,Closable,AlwaysOnTop);
|
|
};
|
|
$hxClasses["flixel.system.debug.watch.Watch"] = flixel_system_debug_watch_Watch;
|
|
flixel_system_debug_watch_Watch.__name__ = "flixel.system.debug.watch.Watch";
|
|
flixel_system_debug_watch_Watch.__super__ = flixel_system_debug_Window;
|
|
flixel_system_debug_watch_Watch.prototype = $extend(flixel_system_debug_Window.prototype,{
|
|
__class__: flixel_system_debug_watch_Watch
|
|
});
|
|
var flixel_system_debug_watch_Tracker = function(Title,Icon,Width,Height,Resizable,Bounds,Closable,AlwaysOnTop) {
|
|
flixel_system_debug_watch_Watch.call(this,Title,Icon,Width,Height,Resizable,Bounds,Closable,AlwaysOnTop);
|
|
};
|
|
$hxClasses["flixel.system.debug.watch.Tracker"] = flixel_system_debug_watch_Tracker;
|
|
flixel_system_debug_watch_Tracker.__name__ = "flixel.system.debug.watch.Tracker";
|
|
flixel_system_debug_watch_Tracker.__super__ = flixel_system_debug_watch_Watch;
|
|
flixel_system_debug_watch_Tracker.prototype = $extend(flixel_system_debug_watch_Watch.prototype,{
|
|
__class__: flixel_system_debug_watch_Tracker
|
|
});
|
|
var flixel_system_debug_watch_TrackerProfile = function(ObjectClass,Variables,Extensions) {
|
|
this.objectClass = ObjectClass;
|
|
this.variables = Variables;
|
|
this.extensions = Extensions;
|
|
};
|
|
$hxClasses["flixel.system.debug.watch.TrackerProfile"] = flixel_system_debug_watch_TrackerProfile;
|
|
flixel_system_debug_watch_TrackerProfile.__name__ = "flixel.system.debug.watch.TrackerProfile";
|
|
flixel_system_debug_watch_TrackerProfile.prototype = {
|
|
objectClass: null
|
|
,variables: null
|
|
,extensions: null
|
|
,toString: function() {
|
|
var value = this.variables;
|
|
var _this = flixel_util_LabelValuePair._pool.get();
|
|
_this.label = "variables";
|
|
_this.value = value;
|
|
var value = this.extensions;
|
|
var _this1 = flixel_util_LabelValuePair._pool.get();
|
|
_this1.label = "extensions";
|
|
_this1.value = value;
|
|
return flixel_util_FlxStringUtil.getDebugString([_this,_this1]);
|
|
}
|
|
,__class__: flixel_system_debug_watch_TrackerProfile
|
|
};
|
|
var flixel_system_frontEnds_FlxBrowser = $hxEnums["flixel.system.frontEnds.FlxBrowser"] = { __ename__ : "flixel.system.frontEnds.FlxBrowser", __constructs__ : ["INTERNET_EXPLORER","CHROME","FIREFOX","SAFARI","OPERA","UNKNOWN"]
|
|
,INTERNET_EXPLORER: {_hx_index:0,__enum__:"flixel.system.frontEnds.FlxBrowser",toString:$estr}
|
|
,CHROME: {_hx_index:1,__enum__:"flixel.system.frontEnds.FlxBrowser",toString:$estr}
|
|
,FIREFOX: {_hx_index:2,__enum__:"flixel.system.frontEnds.FlxBrowser",toString:$estr}
|
|
,SAFARI: {_hx_index:3,__enum__:"flixel.system.frontEnds.FlxBrowser",toString:$estr}
|
|
,OPERA: {_hx_index:4,__enum__:"flixel.system.frontEnds.FlxBrowser",toString:$estr}
|
|
,UNKNOWN: {_hx_index:5,__enum__:"flixel.system.frontEnds.FlxBrowser",toString:$estr}
|
|
};
|
|
var flixel_system_frontEnds_FlxPlatform = $hxEnums["flixel.system.frontEnds.FlxPlatform"] = { __ename__ : "flixel.system.frontEnds.FlxPlatform", __constructs__ : ["WINDOWS","LINUX","MAC","ANDROID","BLACKBERRY","WINDOWS_PHONE","IOS","UNKNOWN"]
|
|
,WINDOWS: {_hx_index:0,__enum__:"flixel.system.frontEnds.FlxPlatform",toString:$estr}
|
|
,LINUX: {_hx_index:1,__enum__:"flixel.system.frontEnds.FlxPlatform",toString:$estr}
|
|
,MAC: {_hx_index:2,__enum__:"flixel.system.frontEnds.FlxPlatform",toString:$estr}
|
|
,ANDROID: {_hx_index:3,__enum__:"flixel.system.frontEnds.FlxPlatform",toString:$estr}
|
|
,BLACKBERRY: {_hx_index:4,__enum__:"flixel.system.frontEnds.FlxPlatform",toString:$estr}
|
|
,WINDOWS_PHONE: {_hx_index:5,__enum__:"flixel.system.frontEnds.FlxPlatform",toString:$estr}
|
|
,IOS: ($_=function(device) { return {_hx_index:6,device:device,__enum__:"flixel.system.frontEnds.FlxPlatform",toString:$estr}; },$_.__params__ = ["device"],$_)
|
|
,UNKNOWN: {_hx_index:7,__enum__:"flixel.system.frontEnds.FlxPlatform",toString:$estr}
|
|
};
|
|
var flixel_system_frontEnds_FlxIOSDevice = $hxEnums["flixel.system.frontEnds.FlxIOSDevice"] = { __ename__ : "flixel.system.frontEnds.FlxIOSDevice", __constructs__ : ["IPHONE","IPAD","IPOD"]
|
|
,IPHONE: {_hx_index:0,__enum__:"flixel.system.frontEnds.FlxIOSDevice",toString:$estr}
|
|
,IPAD: {_hx_index:1,__enum__:"flixel.system.frontEnds.FlxIOSDevice",toString:$estr}
|
|
,IPOD: {_hx_index:2,__enum__:"flixel.system.frontEnds.FlxIOSDevice",toString:$estr}
|
|
};
|
|
var flixel_system_frontEnds_PluginFrontEnd = function() {
|
|
this.list = [];
|
|
this.add_flixel_util_FlxTimerManager(flixel_util_FlxTimer.globalManager = new flixel_util_FlxTimerManager());
|
|
this.add_flixel_tweens_FlxTweenManager(flixel_tweens_FlxTween.globalManager = new flixel_tweens_FlxTweenManager());
|
|
};
|
|
$hxClasses["flixel.system.frontEnds.PluginFrontEnd"] = flixel_system_frontEnds_PluginFrontEnd;
|
|
flixel_system_frontEnds_PluginFrontEnd.__name__ = "flixel.system.frontEnds.PluginFrontEnd";
|
|
flixel_system_frontEnds_PluginFrontEnd.prototype = {
|
|
add_flixel_tweens_FlxTweenManager: function(Plugin1) {
|
|
var _g = 0;
|
|
var _g1 = this.list;
|
|
while(_g < _g1.length) {
|
|
var plugin = _g1[_g];
|
|
++_g;
|
|
if(flixel_util_FlxStringUtil.getClassName(Plugin1,true) == flixel_util_FlxStringUtil.getClassName(plugin,true)) {
|
|
return Plugin1;
|
|
}
|
|
}
|
|
this.list.push(Plugin1);
|
|
return Plugin1;
|
|
}
|
|
,add_flixel_util_FlxTimerManager: function(Plugin1) {
|
|
var _g = 0;
|
|
var _g1 = this.list;
|
|
while(_g < _g1.length) {
|
|
var plugin = _g1[_g];
|
|
++_g;
|
|
if(flixel_util_FlxStringUtil.getClassName(Plugin1,true) == flixel_util_FlxStringUtil.getClassName(plugin,true)) {
|
|
return Plugin1;
|
|
}
|
|
}
|
|
this.list.push(Plugin1);
|
|
return Plugin1;
|
|
}
|
|
,list: null
|
|
,get: function(ClassType) {
|
|
var _g = 0;
|
|
var _g1 = this.list;
|
|
while(_g < _g1.length) {
|
|
var plugin = _g1[_g];
|
|
++_g;
|
|
if(js_Boot.__instanceof(plugin,ClassType)) {
|
|
return plugin;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
,remove: function(Plugin1) {
|
|
var i = this.list.length - 1;
|
|
while(i >= 0) {
|
|
if(this.list[i] == Plugin1) {
|
|
this.list.splice(i,1);
|
|
return Plugin1;
|
|
}
|
|
--i;
|
|
}
|
|
return Plugin1;
|
|
}
|
|
,removeType: function(ClassType) {
|
|
var results = false;
|
|
var i = this.list.length - 1;
|
|
while(i >= 0) {
|
|
if(js_Boot.__instanceof(this.list[i],ClassType)) {
|
|
this.list.splice(i,1);
|
|
results = true;
|
|
}
|
|
--i;
|
|
}
|
|
return results;
|
|
}
|
|
,update: function(elapsed) {
|
|
var _g = 0;
|
|
var _g1 = this.list;
|
|
while(_g < _g1.length) {
|
|
var plugin = _g1[_g];
|
|
++_g;
|
|
if(plugin.exists && plugin.active) {
|
|
plugin.update(elapsed);
|
|
}
|
|
}
|
|
}
|
|
,draw: function() {
|
|
var _g = 0;
|
|
var _g1 = this.list;
|
|
while(_g < _g1.length) {
|
|
var plugin = _g1[_g];
|
|
++_g;
|
|
if(plugin.exists && plugin.visible) {
|
|
plugin.draw();
|
|
}
|
|
}
|
|
}
|
|
,__class__: flixel_system_frontEnds_PluginFrontEnd
|
|
};
|
|
var flixel_system_frontEnds_SoundFrontEnd = function() {
|
|
this.volume = 1;
|
|
this.list = new flixel_group_FlxTypedGroup();
|
|
this.defaultSoundGroup = new flixel_system_FlxSoundGroup();
|
|
this.defaultMusicGroup = new flixel_system_FlxSoundGroup();
|
|
this.soundTrayEnabled = true;
|
|
this.muteKeys = [48,96];
|
|
this.volumeDownKeys = [189,109];
|
|
this.volumeUpKeys = [187,107];
|
|
this.muted = false;
|
|
this.loadSavedPrefs();
|
|
};
|
|
$hxClasses["flixel.system.frontEnds.SoundFrontEnd"] = flixel_system_frontEnds_SoundFrontEnd;
|
|
flixel_system_frontEnds_SoundFrontEnd.__name__ = "flixel.system.frontEnds.SoundFrontEnd";
|
|
flixel_system_frontEnds_SoundFrontEnd.prototype = {
|
|
music: null
|
|
,muted: null
|
|
,volumeHandler: null
|
|
,volumeUpKeys: null
|
|
,volumeDownKeys: null
|
|
,muteKeys: null
|
|
,soundTrayEnabled: null
|
|
,defaultMusicGroup: null
|
|
,defaultSoundGroup: null
|
|
,list: null
|
|
,volume: null
|
|
,playMusic: function(Music,Volume,Looped,Group) {
|
|
if(Looped == null) {
|
|
Looped = true;
|
|
}
|
|
if(Volume == null) {
|
|
Volume = 1;
|
|
}
|
|
if(this.music == null) {
|
|
this.music = new flixel_system_FlxSound();
|
|
} else if(this.music.active) {
|
|
var _this = this.music;
|
|
_this.cleanup(_this.autoDestroy,true);
|
|
}
|
|
this.music.loadEmbedded(Music,Looped);
|
|
this.music.set_volume(Volume);
|
|
this.music.persist = true;
|
|
this.music.set_group(Group == null ? this.defaultMusicGroup : Group);
|
|
this.music.play();
|
|
}
|
|
,load: function(EmbeddedSound,Volume,Looped,Group,AutoDestroy,AutoPlay,URL1,OnComplete) {
|
|
if(AutoPlay == null) {
|
|
AutoPlay = false;
|
|
}
|
|
if(AutoDestroy == null) {
|
|
AutoDestroy = false;
|
|
}
|
|
if(Looped == null) {
|
|
Looped = false;
|
|
}
|
|
if(Volume == null) {
|
|
Volume = 1;
|
|
}
|
|
if(EmbeddedSound == null && URL1 == null) {
|
|
return null;
|
|
}
|
|
var sound = this.list.recycle(flixel_system_FlxSound);
|
|
if(EmbeddedSound != null) {
|
|
sound.loadEmbedded(EmbeddedSound,Looped,AutoDestroy,OnComplete);
|
|
} else {
|
|
sound.loadStream(URL1,Looped,AutoDestroy,OnComplete);
|
|
}
|
|
sound.set_volume(Volume);
|
|
if(AutoPlay) {
|
|
sound.play();
|
|
}
|
|
sound.set_group(Group == null ? this.defaultSoundGroup : Group);
|
|
return sound;
|
|
}
|
|
,cache: function(EmbeddedSound) {
|
|
if(openfl_utils_Assets.exists(EmbeddedSound,"SOUND") || openfl_utils_Assets.exists(EmbeddedSound,"MUSIC")) {
|
|
return openfl_utils_Assets.getSound(EmbeddedSound,true);
|
|
}
|
|
return null;
|
|
}
|
|
,cacheAll: function() {
|
|
var _g = 0;
|
|
var _g1 = openfl_utils_Assets.list("SOUND");
|
|
while(_g < _g1.length) {
|
|
var id = _g1[_g];
|
|
++_g;
|
|
if(openfl_utils_Assets.exists(id,"SOUND") || openfl_utils_Assets.exists(id,"MUSIC")) {
|
|
openfl_utils_Assets.getSound(id,true);
|
|
}
|
|
}
|
|
}
|
|
,play: function(EmbeddedSound,Volume,Looped,Group,AutoDestroy,OnComplete) {
|
|
if(AutoDestroy == null) {
|
|
AutoDestroy = true;
|
|
}
|
|
if(Looped == null) {
|
|
Looped = false;
|
|
}
|
|
if(Volume == null) {
|
|
Volume = 1;
|
|
}
|
|
if(typeof(EmbeddedSound) == "string") {
|
|
EmbeddedSound = openfl_utils_Assets.exists(EmbeddedSound,"SOUND") || openfl_utils_Assets.exists(EmbeddedSound,"MUSIC") ? openfl_utils_Assets.getSound(EmbeddedSound,true) : null;
|
|
}
|
|
var sound = this.list.recycle(flixel_system_FlxSound).loadEmbedded(EmbeddedSound,Looped,AutoDestroy,OnComplete);
|
|
sound.set_volume(Volume);
|
|
sound.set_group(Group == null ? this.defaultSoundGroup : Group);
|
|
return sound.play();
|
|
}
|
|
,stream: function(URL1,Volume,Looped,Group,AutoDestroy,OnComplete) {
|
|
if(AutoDestroy == null) {
|
|
AutoDestroy = true;
|
|
}
|
|
if(Looped == null) {
|
|
Looped = false;
|
|
}
|
|
if(Volume == null) {
|
|
Volume = 1;
|
|
}
|
|
return this.load(null,Volume,Looped,null,AutoDestroy,true,URL1,OnComplete);
|
|
}
|
|
,pause: function() {
|
|
if(this.music != null && this.music.exists && this.music.active) {
|
|
this.music.pause();
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.list.members;
|
|
while(_g < _g1.length) {
|
|
var sound = _g1[_g];
|
|
++_g;
|
|
if(sound != null && sound.exists && sound.active) {
|
|
sound.pause();
|
|
}
|
|
}
|
|
}
|
|
,resume: function() {
|
|
if(this.music != null && this.music.exists) {
|
|
this.music.resume();
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.list.members;
|
|
while(_g < _g1.length) {
|
|
var sound = _g1[_g];
|
|
++_g;
|
|
if(sound != null && sound.exists) {
|
|
sound.resume();
|
|
}
|
|
}
|
|
}
|
|
,destroy: function(ForceDestroy) {
|
|
if(ForceDestroy == null) {
|
|
ForceDestroy = false;
|
|
}
|
|
if(this.music != null && (ForceDestroy || !this.music.persist)) {
|
|
this.destroySound(this.music);
|
|
this.music = null;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.list.members;
|
|
while(_g < _g1.length) {
|
|
var sound = _g1[_g];
|
|
++_g;
|
|
if(sound != null && (ForceDestroy || !sound.persist)) {
|
|
this.destroySound(sound);
|
|
}
|
|
}
|
|
}
|
|
,destroySound: function(sound) {
|
|
this.defaultMusicGroup.remove(sound);
|
|
this.defaultSoundGroup.remove(sound);
|
|
sound.destroy();
|
|
}
|
|
,toggleMuted: function() {
|
|
this.muted = !this.muted;
|
|
if(this.volumeHandler != null) {
|
|
this.volumeHandler(this.muted ? 0 : this.volume);
|
|
}
|
|
this.showSoundTray();
|
|
}
|
|
,changeVolume: function(Amount) {
|
|
this.muted = false;
|
|
var _g = this;
|
|
_g.set_volume(_g.volume + Amount);
|
|
this.showSoundTray();
|
|
}
|
|
,showSoundTray: function() {
|
|
if(flixel_FlxG.game.soundTray != null && this.soundTrayEnabled) {
|
|
flixel_FlxG.game.soundTray.show();
|
|
}
|
|
}
|
|
,update: function(elapsed) {
|
|
if(this.music != null && this.music.active) {
|
|
this.music.update(elapsed);
|
|
}
|
|
if(this.list != null && this.list.active) {
|
|
this.list.update(elapsed);
|
|
}
|
|
if(flixel_FlxG.keys.checkKeyArrayState(this.muteKeys,-1)) {
|
|
this.toggleMuted();
|
|
} else if(flixel_FlxG.keys.checkKeyArrayState(this.volumeUpKeys,-1)) {
|
|
this.changeVolume(0.1);
|
|
} else if(flixel_FlxG.keys.checkKeyArrayState(this.volumeDownKeys,-1)) {
|
|
this.changeVolume(-0.1);
|
|
}
|
|
}
|
|
,onFocusLost: function() {
|
|
if(this.music != null) {
|
|
this.music.onFocusLost();
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.list.members;
|
|
while(_g < _g1.length) {
|
|
var sound = _g1[_g];
|
|
++_g;
|
|
if(sound != null) {
|
|
sound.onFocusLost();
|
|
}
|
|
}
|
|
}
|
|
,onFocus: function() {
|
|
if(this.music != null) {
|
|
this.music.onFocus();
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.list.members;
|
|
while(_g < _g1.length) {
|
|
var sound = _g1[_g];
|
|
++_g;
|
|
if(sound != null) {
|
|
sound.onFocus();
|
|
}
|
|
}
|
|
}
|
|
,loadSavedPrefs: function() {
|
|
if(flixel_FlxG.save.data.volume != null) {
|
|
this.set_volume(flixel_FlxG.save.data.volume);
|
|
}
|
|
if(flixel_FlxG.save.data.mute != null) {
|
|
this.muted = flixel_FlxG.save.data.mute;
|
|
}
|
|
}
|
|
,set_volume: function(Volume) {
|
|
var lowerBound = Volume < 0 ? 0 : Volume;
|
|
Volume = lowerBound > 1 ? 1 : lowerBound;
|
|
if(this.volumeHandler != null) {
|
|
var param = this.muted ? 0 : Volume;
|
|
this.volumeHandler(param);
|
|
}
|
|
return this.volume = Volume;
|
|
}
|
|
,__class__: flixel_system_frontEnds_SoundFrontEnd
|
|
,__properties__: {set_volume:"set_volume"}
|
|
};
|
|
var flixel_system_frontEnds_VCRFrontEnd = function() {
|
|
this.stepRequested = false;
|
|
this.paused = false;
|
|
};
|
|
$hxClasses["flixel.system.frontEnds.VCRFrontEnd"] = flixel_system_frontEnds_VCRFrontEnd;
|
|
flixel_system_frontEnds_VCRFrontEnd.__name__ = "flixel.system.frontEnds.VCRFrontEnd";
|
|
flixel_system_frontEnds_VCRFrontEnd.prototype = {
|
|
paused: null
|
|
,stepRequested: null
|
|
,pause: function() {
|
|
if(!this.paused) {
|
|
if(!flixel_FlxG.mouse.useSystemCursor) {
|
|
openfl_ui_Mouse.show();
|
|
}
|
|
this.paused = true;
|
|
}
|
|
}
|
|
,resume: function() {
|
|
if(this.paused) {
|
|
if(!flixel_FlxG.mouse.useSystemCursor) {
|
|
openfl_ui_Mouse.hide();
|
|
}
|
|
this.paused = false;
|
|
}
|
|
}
|
|
,__class__: flixel_system_frontEnds_VCRFrontEnd
|
|
};
|
|
var flixel_system_macros_FlxMacroUtil = function() { };
|
|
$hxClasses["flixel.system.macros.FlxMacroUtil"] = flixel_system_macros_FlxMacroUtil;
|
|
flixel_system_macros_FlxMacroUtil.__name__ = "flixel.system.macros.FlxMacroUtil";
|
|
var flixel_system_replay_CodeValuePair = function(code,value) {
|
|
this.code = code;
|
|
this.value = value;
|
|
};
|
|
$hxClasses["flixel.system.replay.CodeValuePair"] = flixel_system_replay_CodeValuePair;
|
|
flixel_system_replay_CodeValuePair.__name__ = "flixel.system.replay.CodeValuePair";
|
|
flixel_system_replay_CodeValuePair.prototype = {
|
|
code: null
|
|
,value: null
|
|
,__class__: flixel_system_replay_CodeValuePair
|
|
};
|
|
var flixel_system_replay_MouseRecord = function(x,y,button,wheel) {
|
|
this.x = x;
|
|
this.y = y;
|
|
this.button = button;
|
|
this.wheel = wheel;
|
|
};
|
|
$hxClasses["flixel.system.replay.MouseRecord"] = flixel_system_replay_MouseRecord;
|
|
flixel_system_replay_MouseRecord.__name__ = "flixel.system.replay.MouseRecord";
|
|
flixel_system_replay_MouseRecord.prototype = {
|
|
x: null
|
|
,y: null
|
|
,button: null
|
|
,wheel: null
|
|
,__class__: flixel_system_replay_MouseRecord
|
|
};
|
|
var flixel_system_ui_FlxSoundTray = function() {
|
|
this._defaultScale = 2.0;
|
|
this._width = 80;
|
|
openfl_display_Sprite.call(this);
|
|
this.set_visible(false);
|
|
this.set_scaleX(this._defaultScale);
|
|
this.set_scaleY(this._defaultScale);
|
|
var tmp = new openfl_display_Bitmap(new openfl_display_BitmapData(this._width,30,true,2130706432));
|
|
this.screenCenter();
|
|
this.addChild(tmp);
|
|
var text = new openfl_text_TextField();
|
|
text.set_width(tmp.get_width());
|
|
text.set_height(tmp.get_height());
|
|
text.set_multiline(true);
|
|
text.set_wordWrap(true);
|
|
text.set_selectable(false);
|
|
var dtf = new openfl_text_TextFormat(flixel_system_FlxAssets.FONT_DEFAULT,10,16777215);
|
|
dtf.align = 0;
|
|
text.set_defaultTextFormat(dtf);
|
|
this.addChild(text);
|
|
text.set_text("VOLUME");
|
|
text.set_y(16);
|
|
var bx = 10;
|
|
var by = 14;
|
|
this._bars = [];
|
|
var _g = 0;
|
|
while(_g < 10) {
|
|
var i = _g++;
|
|
tmp = new openfl_display_Bitmap(new openfl_display_BitmapData(4,i + 1,false,-1));
|
|
tmp.set_x(bx);
|
|
tmp.set_y(by);
|
|
this.addChild(tmp);
|
|
this._bars.push(tmp);
|
|
bx += 6;
|
|
--by;
|
|
}
|
|
this.set_y(-this.get_height());
|
|
this.set_visible(false);
|
|
};
|
|
$hxClasses["flixel.system.ui.FlxSoundTray"] = flixel_system_ui_FlxSoundTray;
|
|
flixel_system_ui_FlxSoundTray.__name__ = "flixel.system.ui.FlxSoundTray";
|
|
flixel_system_ui_FlxSoundTray.__super__ = openfl_display_Sprite;
|
|
flixel_system_ui_FlxSoundTray.prototype = $extend(openfl_display_Sprite.prototype,{
|
|
active: null
|
|
,_timer: null
|
|
,_bars: null
|
|
,_width: null
|
|
,_defaultScale: null
|
|
,update: function(MS) {
|
|
if(this._timer > 0) {
|
|
this._timer -= MS / 1000;
|
|
} else if(this.get_y() > -this.get_height()) {
|
|
var _g = this;
|
|
_g.set_y(_g.get_y() - MS / 1000 * flixel_FlxG.height * 2);
|
|
if(this.get_y() <= -this.get_height()) {
|
|
this.set_visible(false);
|
|
this.active = false;
|
|
flixel_FlxG.save.data.mute = flixel_FlxG.sound.muted;
|
|
flixel_FlxG.save.data.volume = flixel_FlxG.sound.volume;
|
|
flixel_FlxG.save.flush();
|
|
}
|
|
}
|
|
}
|
|
,show: function(Silent) {
|
|
if(Silent == null) {
|
|
Silent = false;
|
|
}
|
|
if(!Silent) {
|
|
var extension = "";
|
|
extension = ".ogg";
|
|
var sound = openfl_utils_Assets.getSound("flixel/sounds/beep" + extension);
|
|
if(sound != null) {
|
|
flixel_FlxG.sound.load(sound).play();
|
|
}
|
|
}
|
|
this._timer = 1;
|
|
this.set_y(0);
|
|
this.set_visible(true);
|
|
this.active = true;
|
|
var globalVolume = Math.round(flixel_FlxG.sound.volume * 10);
|
|
if(flixel_FlxG.sound.muted) {
|
|
globalVolume = 0;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this._bars.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(i < globalVolume) {
|
|
this._bars[i].set_alpha(1);
|
|
} else {
|
|
this._bars[i].set_alpha(0.5);
|
|
}
|
|
}
|
|
}
|
|
,screenCenter: function() {
|
|
this.set_scaleX(this._defaultScale);
|
|
this.set_scaleY(this._defaultScale);
|
|
this.set_x(0.5 * (openfl_Lib.get_current().stage.stageWidth - this._width * this._defaultScale) - flixel_FlxG.game.get_x());
|
|
}
|
|
,__class__: flixel_system_ui_FlxSoundTray
|
|
});
|
|
var flixel_system_ui_FlxSystemButton = function(Icon,UpHandler,ToggleMode) {
|
|
if(ToggleMode == null) {
|
|
ToggleMode = false;
|
|
}
|
|
this._mouseDown = false;
|
|
this.toggled = false;
|
|
this.toggleMode = false;
|
|
this.enabled = true;
|
|
openfl_display_Sprite.call(this);
|
|
if(Icon != null) {
|
|
this.changeIcon(Icon);
|
|
}
|
|
this.upHandler = UpHandler;
|
|
this.toggleMode = ToggleMode;
|
|
this.addEventListener("mouseUp",$bind(this,this.onMouseUp));
|
|
this.addEventListener("mouseDown",$bind(this,this.onMouseDown));
|
|
this.addEventListener("mouseOut",$bind(this,this.onMouseOut));
|
|
this.addEventListener("mouseOver",$bind(this,this.onMouseOver));
|
|
};
|
|
$hxClasses["flixel.system.ui.FlxSystemButton"] = flixel_system_ui_FlxSystemButton;
|
|
flixel_system_ui_FlxSystemButton.__name__ = "flixel.system.ui.FlxSystemButton";
|
|
flixel_system_ui_FlxSystemButton.__interfaces__ = [flixel_util_IFlxDestroyable];
|
|
flixel_system_ui_FlxSystemButton.__super__ = openfl_display_Sprite;
|
|
flixel_system_ui_FlxSystemButton.prototype = $extend(openfl_display_Sprite.prototype,{
|
|
upHandler: null
|
|
,enabled: null
|
|
,toggleMode: null
|
|
,toggled: null
|
|
,_icon: null
|
|
,_mouseDown: null
|
|
,changeIcon: function(Icon) {
|
|
if(this._icon != null) {
|
|
this.removeChild(this._icon);
|
|
}
|
|
flixel_system_debug_DebuggerUtil.fixSize(Icon);
|
|
this._icon = new openfl_display_Bitmap(Icon);
|
|
this.addChild(this._icon);
|
|
}
|
|
,destroy: function() {
|
|
this.removeEventListener("mouseUp",$bind(this,this.onMouseUp));
|
|
this.removeEventListener("mouseDown",$bind(this,this.onMouseDown));
|
|
this.removeEventListener("mouseOut",$bind(this,this.onMouseOut));
|
|
this.removeEventListener("mouseOver",$bind(this,this.onMouseOver));
|
|
this._icon = null;
|
|
this.upHandler = null;
|
|
}
|
|
,onMouseUp: function(_) {
|
|
if(this.enabled && this._mouseDown) {
|
|
this.set_toggled(!this.toggled);
|
|
this._mouseDown = false;
|
|
if(this.upHandler != null) {
|
|
this.upHandler();
|
|
}
|
|
}
|
|
}
|
|
,onMouseDown: function(_) {
|
|
this._mouseDown = true;
|
|
}
|
|
,onMouseOver: function(_) {
|
|
if(this.enabled) {
|
|
var _g = this;
|
|
_g.set_alpha(_g.get_alpha() - 0.2);
|
|
}
|
|
}
|
|
,onMouseOut: function(_) {
|
|
if(this.enabled) {
|
|
var _g = this;
|
|
_g.set_alpha(_g.get_alpha() + 0.2);
|
|
}
|
|
}
|
|
,set_toggled: function(Value) {
|
|
if(this.toggleMode) {
|
|
this.set_alpha(Value ? 0.3 : 1);
|
|
}
|
|
return this.toggled = Value;
|
|
}
|
|
,__class__: flixel_system_ui_FlxSystemButton
|
|
,__properties__: $extend(openfl_display_Sprite.prototype.__properties__,{set_toggled:"set_toggled"})
|
|
});
|
|
var flixel_text_FlxTextFormat = function(FontColor,Bold,Italic,BorderColor) {
|
|
this.format = new openfl_text_TextFormat(null,null,FontColor,Bold,Italic);
|
|
this.borderColor = BorderColor == null ? 0 : BorderColor;
|
|
};
|
|
$hxClasses["flixel.text.FlxTextFormat"] = flixel_text_FlxTextFormat;
|
|
flixel_text_FlxTextFormat.__name__ = "flixel.text.FlxTextFormat";
|
|
flixel_text_FlxTextFormat.prototype = {
|
|
borderColor: null
|
|
,format: null
|
|
,__class__: flixel_text_FlxTextFormat
|
|
};
|
|
var flixel_text__$FlxText_FlxTextFormatRange = function(format,start,end) {
|
|
this.range = new flixel_util_helpers_FlxRange(start,end);
|
|
this.format = format;
|
|
};
|
|
$hxClasses["flixel.text._FlxText.FlxTextFormatRange"] = flixel_text__$FlxText_FlxTextFormatRange;
|
|
flixel_text__$FlxText_FlxTextFormatRange.__name__ = "flixel.text._FlxText.FlxTextFormatRange";
|
|
flixel_text__$FlxText_FlxTextFormatRange.prototype = {
|
|
range: null
|
|
,format: null
|
|
,__class__: flixel_text__$FlxText_FlxTextFormatRange
|
|
};
|
|
var flixel_text_FlxTextFormatMarkerPair = function(format,marker) {
|
|
this.format = format;
|
|
this.marker = marker;
|
|
};
|
|
$hxClasses["flixel.text.FlxTextFormatMarkerPair"] = flixel_text_FlxTextFormatMarkerPair;
|
|
flixel_text_FlxTextFormatMarkerPair.__name__ = "flixel.text.FlxTextFormatMarkerPair";
|
|
flixel_text_FlxTextFormatMarkerPair.prototype = {
|
|
format: null
|
|
,marker: null
|
|
,__class__: flixel_text_FlxTextFormatMarkerPair
|
|
};
|
|
var flixel_text_FlxTextBorderStyle = $hxEnums["flixel.text.FlxTextBorderStyle"] = { __ename__ : "flixel.text.FlxTextBorderStyle", __constructs__ : ["NONE","SHADOW","OUTLINE","OUTLINE_FAST"]
|
|
,NONE: {_hx_index:0,__enum__:"flixel.text.FlxTextBorderStyle",toString:$estr}
|
|
,SHADOW: {_hx_index:1,__enum__:"flixel.text.FlxTextBorderStyle",toString:$estr}
|
|
,OUTLINE: {_hx_index:2,__enum__:"flixel.text.FlxTextBorderStyle",toString:$estr}
|
|
,OUTLINE_FAST: {_hx_index:3,__enum__:"flixel.text.FlxTextBorderStyle",toString:$estr}
|
|
};
|
|
var flixel_text_FlxTextAlign = {};
|
|
flixel_text_FlxTextAlign.fromOpenFL = function(align) {
|
|
switch(align) {
|
|
case 0:
|
|
return "center";
|
|
case 2:
|
|
return "justify";
|
|
case 3:
|
|
return "left";
|
|
case 4:
|
|
return "right";
|
|
default:
|
|
return "left";
|
|
}
|
|
};
|
|
flixel_text_FlxTextAlign.toOpenFL = function(align) {
|
|
switch(align) {
|
|
case "center":
|
|
return 0;
|
|
case "justify":
|
|
return 2;
|
|
case "left":
|
|
return 3;
|
|
case "right":
|
|
return 4;
|
|
default:
|
|
return 3;
|
|
}
|
|
};
|
|
var flixel_tile_FlxBaseTilemap = function() {
|
|
this._collideIndex = 0;
|
|
this._drawIndex = 0;
|
|
this._startingIndex = 0;
|
|
this._tileObjects = [];
|
|
this.totalTiles = 0;
|
|
this.heightInTiles = 0;
|
|
this.widthInTiles = 0;
|
|
this.auto = flixel_tile_FlxTilemapAutoTiling.OFF;
|
|
flixel_FlxObject.call(this);
|
|
this.flixelType = 3;
|
|
this.set_immovable(true);
|
|
this.set_moves(false);
|
|
};
|
|
$hxClasses["flixel.tile.FlxBaseTilemap"] = flixel_tile_FlxBaseTilemap;
|
|
flixel_tile_FlxBaseTilemap.__name__ = "flixel.tile.FlxBaseTilemap";
|
|
flixel_tile_FlxBaseTilemap.__super__ = flixel_FlxObject;
|
|
flixel_tile_FlxBaseTilemap.prototype = $extend(flixel_FlxObject.prototype,{
|
|
auto: null
|
|
,widthInTiles: null
|
|
,heightInTiles: null
|
|
,totalTiles: null
|
|
,customTileRemap: null
|
|
,_randomIndices: null
|
|
,_randomChoices: null
|
|
,_randomLambda: null
|
|
,_tileObjects: null
|
|
,_startingIndex: null
|
|
,_data: null
|
|
,_drawIndex: null
|
|
,_collideIndex: null
|
|
,updateTile: function(Index) {
|
|
throw haxe_Exception.thrown("updateTile must be implemented");
|
|
}
|
|
,cacheGraphics: function(TileWidth,TileHeight,TileGraphic) {
|
|
throw haxe_Exception.thrown("cacheGraphics must be implemented");
|
|
}
|
|
,initTileObjects: function() {
|
|
throw haxe_Exception.thrown("initTileObjects must be implemented");
|
|
}
|
|
,updateMap: function() {
|
|
throw haxe_Exception.thrown("updateMap must be implemented");
|
|
}
|
|
,computeDimensions: function() {
|
|
throw haxe_Exception.thrown("computeDimensions must be implemented");
|
|
}
|
|
,getTileIndexByCoords: function(Coord) {
|
|
throw haxe_Exception.thrown("getTileIndexByCoords must be implemented");
|
|
}
|
|
,getTileCoordsByIndex: function(Index,Midpoint) {
|
|
if(Midpoint == null) {
|
|
Midpoint = true;
|
|
}
|
|
throw haxe_Exception.thrown("getTileCoordsByIndex must be implemented");
|
|
}
|
|
,ray: function(Start,End,Result,Resolution) {
|
|
if(Resolution == null) {
|
|
Resolution = 1;
|
|
}
|
|
throw haxe_Exception.thrown("ray must be implemented");
|
|
}
|
|
,overlapsWithCallback: function(Object1,Callback,FlipCallbackParams,Position) {
|
|
if(FlipCallbackParams == null) {
|
|
FlipCallbackParams = false;
|
|
}
|
|
throw haxe_Exception.thrown("overlapsWithCallback must be implemented");
|
|
}
|
|
,setDirty: function(Dirty) {
|
|
if(Dirty == null) {
|
|
Dirty = true;
|
|
}
|
|
throw haxe_Exception.thrown("setDirty must be implemented");
|
|
}
|
|
,destroy: function() {
|
|
this._data = null;
|
|
flixel_FlxObject.prototype.destroy.call(this);
|
|
}
|
|
,loadMapFromCSV: function(MapData,TileGraphic,TileWidth,TileHeight,AutoTile,StartingIndex,DrawIndex,CollideIndex) {
|
|
if(CollideIndex == null) {
|
|
CollideIndex = 1;
|
|
}
|
|
if(DrawIndex == null) {
|
|
DrawIndex = 1;
|
|
}
|
|
if(StartingIndex == null) {
|
|
StartingIndex = 0;
|
|
}
|
|
if(TileHeight == null) {
|
|
TileHeight = 0;
|
|
}
|
|
if(TileWidth == null) {
|
|
TileWidth = 0;
|
|
}
|
|
if(openfl_utils_Assets.exists(MapData)) {
|
|
MapData = openfl_utils_Assets.getText(MapData);
|
|
}
|
|
this._data = [];
|
|
var columns;
|
|
var regex = new EReg("[ \t]*((\r\n)|\r|\n)[ \t]*","g");
|
|
var lines = regex.split(MapData);
|
|
var _g = [];
|
|
var _g1 = 0;
|
|
var _g2 = lines;
|
|
while(_g1 < _g2.length) {
|
|
var v = _g2[_g1];
|
|
++_g1;
|
|
if(v != "") {
|
|
_g.push(v);
|
|
}
|
|
}
|
|
var rows = _g;
|
|
this.heightInTiles = rows.length;
|
|
this.widthInTiles = 0;
|
|
var row = 0;
|
|
while(row < this.heightInTiles) {
|
|
var rowString = rows[row];
|
|
if(StringTools.endsWith(rowString,",")) {
|
|
rowString = HxOverrides.substr(rowString,0,rowString.length - 1);
|
|
}
|
|
columns = rowString.split(",");
|
|
if(columns.length == 0) {
|
|
this.heightInTiles--;
|
|
continue;
|
|
}
|
|
if(this.widthInTiles == 0) {
|
|
this.widthInTiles = columns.length;
|
|
}
|
|
var column = 0;
|
|
while(column < this.widthInTiles) {
|
|
var columnString = columns[column];
|
|
var curTile = Std.parseInt(columnString);
|
|
if(curTile == null) {
|
|
throw haxe_Exception.thrown("String in row " + row + ", column " + column + " is not a valid integer: \"" + columnString + "\"");
|
|
}
|
|
this._data.push(curTile);
|
|
++column;
|
|
}
|
|
++row;
|
|
}
|
|
this.loadMapHelper(TileGraphic,TileWidth,TileHeight,AutoTile,StartingIndex,DrawIndex,CollideIndex);
|
|
return this;
|
|
}
|
|
,loadMapFromArray: function(MapData,WidthInTiles,HeightInTiles,TileGraphic,TileWidth,TileHeight,AutoTile,StartingIndex,DrawIndex,CollideIndex) {
|
|
if(CollideIndex == null) {
|
|
CollideIndex = 1;
|
|
}
|
|
if(DrawIndex == null) {
|
|
DrawIndex = 1;
|
|
}
|
|
if(StartingIndex == null) {
|
|
StartingIndex = 0;
|
|
}
|
|
if(TileHeight == null) {
|
|
TileHeight = 0;
|
|
}
|
|
if(TileWidth == null) {
|
|
TileWidth = 0;
|
|
}
|
|
this.widthInTiles = WidthInTiles;
|
|
this.heightInTiles = HeightInTiles;
|
|
this._data = MapData.slice();
|
|
this.loadMapHelper(TileGraphic,TileWidth,TileHeight,AutoTile,StartingIndex,DrawIndex,CollideIndex);
|
|
return this;
|
|
}
|
|
,loadMapFrom2DArray: function(MapData,TileGraphic,TileWidth,TileHeight,AutoTile,StartingIndex,DrawIndex,CollideIndex) {
|
|
if(CollideIndex == null) {
|
|
CollideIndex = 1;
|
|
}
|
|
if(DrawIndex == null) {
|
|
DrawIndex = 1;
|
|
}
|
|
if(StartingIndex == null) {
|
|
StartingIndex = 0;
|
|
}
|
|
if(TileHeight == null) {
|
|
TileHeight = 0;
|
|
}
|
|
if(TileWidth == null) {
|
|
TileWidth = 0;
|
|
}
|
|
this.widthInTiles = MapData[0].length;
|
|
this.heightInTiles = MapData.length;
|
|
this._data = flixel_util_FlxArrayUtil.flatten2DArray_Int(MapData);
|
|
this.loadMapHelper(TileGraphic,TileWidth,TileHeight,AutoTile,StartingIndex,DrawIndex,CollideIndex);
|
|
return this;
|
|
}
|
|
,loadMapFromGraphic: function(MapGraphic,Invert,Scale,ColorMap,TileGraphic,TileWidth,TileHeight,AutoTile,StartingIndex,DrawIndex,CollideIndex) {
|
|
if(CollideIndex == null) {
|
|
CollideIndex = 1;
|
|
}
|
|
if(DrawIndex == null) {
|
|
DrawIndex = 1;
|
|
}
|
|
if(StartingIndex == null) {
|
|
StartingIndex = 0;
|
|
}
|
|
if(TileHeight == null) {
|
|
TileHeight = 0;
|
|
}
|
|
if(TileWidth == null) {
|
|
TileWidth = 0;
|
|
}
|
|
if(Scale == null) {
|
|
Scale = 1;
|
|
}
|
|
if(Invert == null) {
|
|
Invert = false;
|
|
}
|
|
var mapBitmap = flixel_system_FlxAssets.resolveBitmapData(MapGraphic);
|
|
var mapData = flixel_util_FlxStringUtil.bitmapToCSV(mapBitmap,Invert,Scale,ColorMap);
|
|
return this.loadMapFromCSV(mapData,TileGraphic,TileWidth,TileHeight,AutoTile,StartingIndex,DrawIndex,CollideIndex);
|
|
}
|
|
,loadMapHelper: function(TileGraphic,TileWidth,TileHeight,AutoTile,StartingIndex,DrawIndex,CollideIndex) {
|
|
if(CollideIndex == null) {
|
|
CollideIndex = 1;
|
|
}
|
|
if(DrawIndex == null) {
|
|
DrawIndex = 1;
|
|
}
|
|
if(StartingIndex == null) {
|
|
StartingIndex = 0;
|
|
}
|
|
if(TileHeight == null) {
|
|
TileHeight = 0;
|
|
}
|
|
if(TileWidth == null) {
|
|
TileWidth = 0;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this._data.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(this._data[i] < 0) {
|
|
this._data[i] = 0;
|
|
}
|
|
}
|
|
this.totalTiles = this._data.length;
|
|
this.auto = AutoTile == null ? flixel_tile_FlxTilemapAutoTiling.OFF : AutoTile;
|
|
this._startingIndex = StartingIndex <= 0 ? 0 : StartingIndex;
|
|
if(this.auto != flixel_tile_FlxTilemapAutoTiling.OFF) {
|
|
this._startingIndex = 1;
|
|
DrawIndex = 1;
|
|
CollideIndex = 1;
|
|
}
|
|
this._drawIndex = DrawIndex;
|
|
this._collideIndex = CollideIndex;
|
|
this.applyAutoTile();
|
|
this.applyCustomRemap();
|
|
this.randomizeIndices();
|
|
this.cacheGraphics(TileWidth,TileHeight,TileGraphic);
|
|
this.postGraphicLoad();
|
|
}
|
|
,postGraphicLoad: function() {
|
|
this.initTileObjects();
|
|
this.computeDimensions();
|
|
this.updateMap();
|
|
}
|
|
,applyAutoTile: function() {
|
|
if(this.auto != flixel_tile_FlxTilemapAutoTiling.OFF) {
|
|
var i = 0;
|
|
while(i < this.totalTiles) this.autoTile(i++);
|
|
}
|
|
}
|
|
,applyCustomRemap: function() {
|
|
var i = 0;
|
|
if(this.customTileRemap != null) {
|
|
while(i < this.totalTiles) {
|
|
var oldIndex = this._data[i];
|
|
var newIndex = oldIndex;
|
|
if(oldIndex < this.customTileRemap.length) {
|
|
newIndex = this.customTileRemap[oldIndex];
|
|
}
|
|
this._data[i] = newIndex;
|
|
++i;
|
|
}
|
|
}
|
|
}
|
|
,randomizeIndices: function() {
|
|
var i = 0;
|
|
if(this._randomIndices != null) {
|
|
var randLambda = this._randomLambda != null ? this._randomLambda : function() {
|
|
return flixel_FlxG.random.float();
|
|
};
|
|
while(i < this.totalTiles) {
|
|
var oldIndex = this._data[i];
|
|
var j = 0;
|
|
var newIndex = oldIndex;
|
|
var _g = 0;
|
|
var _g1 = this._randomIndices;
|
|
while(_g < _g1.length) {
|
|
var rand = _g1[_g];
|
|
++_g;
|
|
if(oldIndex == rand) {
|
|
var k = randLambda() * this._randomChoices[j].length | 0;
|
|
newIndex = this._randomChoices[j][k];
|
|
}
|
|
++j;
|
|
}
|
|
this._data[i] = newIndex;
|
|
++i;
|
|
}
|
|
}
|
|
}
|
|
,autoTile: function(Index) {
|
|
if(this._data[Index] == 0) {
|
|
return;
|
|
}
|
|
if(this.auto == flixel_tile_FlxTilemapAutoTiling.FULL) {
|
|
this.autoTileFull(Index);
|
|
return;
|
|
}
|
|
this._data[Index] = 0;
|
|
if(Index - this.widthInTiles < 0 || this._data[Index - this.widthInTiles] > 0) {
|
|
this._data[Index] += 1;
|
|
}
|
|
if(Index % this.widthInTiles >= this.widthInTiles - 1 || this._data[Index + 1] > 0) {
|
|
this._data[Index] += 2;
|
|
}
|
|
if((Index + this.widthInTiles | 0) >= this.totalTiles || this._data[Index + this.widthInTiles] > 0) {
|
|
this._data[Index] += 4;
|
|
}
|
|
if(Index % this.widthInTiles <= 0 || this._data[Index - 1] > 0) {
|
|
this._data[Index] += 8;
|
|
}
|
|
if(this.auto == flixel_tile_FlxTilemapAutoTiling.ALT && this._data[Index] == 15) {
|
|
if(Index % this.widthInTiles > 0 && (Index + this.widthInTiles | 0) < this.totalTiles && this._data[Index + this.widthInTiles - 1] <= 0) {
|
|
this._data[Index] = 1;
|
|
}
|
|
if(Index % this.widthInTiles > 0 && Index - this.widthInTiles >= 0 && this._data[Index - this.widthInTiles - 1] <= 0) {
|
|
this._data[Index] = 2;
|
|
}
|
|
if(Index % this.widthInTiles < this.widthInTiles - 1 && Index - this.widthInTiles >= 0 && this._data[Index - this.widthInTiles + 1] <= 0) {
|
|
this._data[Index] = 4;
|
|
}
|
|
if(Index % this.widthInTiles < this.widthInTiles - 1 && (Index + this.widthInTiles | 0) < this.totalTiles && this._data[Index + this.widthInTiles + 1] <= 0) {
|
|
this._data[Index] = 8;
|
|
}
|
|
}
|
|
this._data[Index] += 1;
|
|
}
|
|
,autoTileFull: function(Index) {
|
|
this._data[Index] = 0;
|
|
var wallUp = Index - this.widthInTiles < 0;
|
|
var wallRight = Index % this.widthInTiles >= this.widthInTiles - 1;
|
|
var wallDown = (Index + this.widthInTiles | 0) >= this.totalTiles;
|
|
var wallLeft = Index % this.widthInTiles <= 0;
|
|
var up = wallUp || this._data[Index - this.widthInTiles] > 0;
|
|
var upRight = wallUp || wallRight || this._data[Index - this.widthInTiles + 1] > 0;
|
|
var right = wallRight || this._data[Index + 1] > 0;
|
|
var rightDown = wallRight || wallDown || this._data[Index + this.widthInTiles + 1] > 0;
|
|
var down = wallDown || this._data[Index + this.widthInTiles] > 0;
|
|
var downLeft = wallDown || wallLeft || this._data[Index + this.widthInTiles - 1] > 0;
|
|
var left = wallLeft || this._data[Index - 1] > 0;
|
|
var leftUp = wallLeft || wallUp || this._data[Index - this.widthInTiles - 1] > 0;
|
|
if(up) {
|
|
this._data[Index] += 1;
|
|
}
|
|
if(upRight && up && right) {
|
|
this._data[Index] += 2;
|
|
}
|
|
if(right) {
|
|
this._data[Index] += 4;
|
|
}
|
|
if(rightDown && right && down) {
|
|
this._data[Index] += 8;
|
|
}
|
|
if(down) {
|
|
this._data[Index] += 16;
|
|
}
|
|
if(downLeft && down && left) {
|
|
this._data[Index] += 32;
|
|
}
|
|
if(left) {
|
|
this._data[Index] += 64;
|
|
}
|
|
if(leftUp && left && up) {
|
|
this._data[Index] += 128;
|
|
}
|
|
this._data[Index] -= flixel_tile_FlxBaseTilemap.offsetAutoTile[this._data[Index]] - 1;
|
|
}
|
|
,setCustomTileMappings: function(mappings,randomIndices,randomChoices,randomLambda) {
|
|
this.customTileRemap = mappings;
|
|
this._randomIndices = randomIndices;
|
|
this._randomChoices = randomChoices;
|
|
this._randomLambda = randomLambda;
|
|
if(this._randomIndices != null && (this._randomChoices == null || this._randomChoices.length == 0)) {
|
|
throw haxe_Exception.thrown("You must provide valid 'randomChoices' if you wish to randomize tilemap indices, please read documentation of 'setCustomTileMappings' function.");
|
|
}
|
|
}
|
|
,getTile: function(X,Y) {
|
|
return this._data[Y * this.widthInTiles + X];
|
|
}
|
|
,getTileByIndex: function(Index) {
|
|
return this._data[Index];
|
|
}
|
|
,getTileCollisions: function(Index) {
|
|
return this._tileObjects[Index].allowCollisions;
|
|
}
|
|
,getTileInstances: function(Index) {
|
|
var array = null;
|
|
var i = 0;
|
|
var l = this.widthInTiles * this.heightInTiles;
|
|
while(i < l) {
|
|
if(this._data[i] == Index) {
|
|
if(array == null) {
|
|
array = [];
|
|
}
|
|
array.push(i);
|
|
}
|
|
++i;
|
|
}
|
|
return array;
|
|
}
|
|
,setTile: function(X,Y,Tile,UpdateGraphics) {
|
|
if(UpdateGraphics == null) {
|
|
UpdateGraphics = true;
|
|
}
|
|
if(X >= this.widthInTiles || Y >= this.heightInTiles) {
|
|
return false;
|
|
}
|
|
return this.setTileByIndex(Y * this.widthInTiles + X,Tile,UpdateGraphics);
|
|
}
|
|
,setTileByIndex: function(Index,Tile,UpdateGraphics) {
|
|
if(UpdateGraphics == null) {
|
|
UpdateGraphics = true;
|
|
}
|
|
if(Index >= this._data.length) {
|
|
return false;
|
|
}
|
|
var ok = true;
|
|
this._data[Index] = Tile;
|
|
if(!UpdateGraphics) {
|
|
return ok;
|
|
}
|
|
this.setDirty();
|
|
if(this.auto == flixel_tile_FlxTilemapAutoTiling.OFF) {
|
|
this.updateTile(this._data[Index]);
|
|
return ok;
|
|
}
|
|
var i;
|
|
var row = (Index / this.widthInTiles | 0) - 1;
|
|
var rowLength = row + 3;
|
|
var column = Index % this.widthInTiles - 1;
|
|
var columnHeight = column + 3;
|
|
while(row < rowLength) {
|
|
column = columnHeight - 3;
|
|
while(column < columnHeight) {
|
|
if(row >= 0 && row < this.heightInTiles && column >= 0 && column < this.widthInTiles) {
|
|
i = row * this.widthInTiles + column;
|
|
this.autoTile(i);
|
|
this.updateTile(this._data[i]);
|
|
}
|
|
++column;
|
|
}
|
|
++row;
|
|
}
|
|
return ok;
|
|
}
|
|
,setTileProperties: function(Tile,AllowCollisions,Callback,CallbackFilter,Range1) {
|
|
if(Range1 == null) {
|
|
Range1 = 1;
|
|
}
|
|
if(AllowCollisions == null) {
|
|
AllowCollisions = 4369;
|
|
}
|
|
if(Range1 <= 0) {
|
|
Range1 = 1;
|
|
}
|
|
var tile;
|
|
var i = Tile;
|
|
var l = Tile + Range1;
|
|
var maxIndex = this._tileObjects.length;
|
|
if(l > maxIndex) {
|
|
throw haxe_Exception.thrown("Index " + l + " exceeds the maximum tile index of " + maxIndex + ". Please verify the Tile (" + Tile + ") and Range (" + Range1 + ") parameters.");
|
|
}
|
|
while(i < l) {
|
|
tile = this._tileObjects[i++];
|
|
tile.set_allowCollisions(AllowCollisions);
|
|
tile.callbackFunction = Callback;
|
|
tile.filter = CallbackFilter;
|
|
}
|
|
}
|
|
,getData: function(Simple) {
|
|
if(Simple == null) {
|
|
Simple = false;
|
|
}
|
|
if(!Simple) {
|
|
return this._data;
|
|
}
|
|
var i = 0;
|
|
var l = this._data.length;
|
|
var data = [];
|
|
flixel_util_FlxArrayUtil.setLength_Int(data,l);
|
|
while(i < l) {
|
|
data[i] = this._tileObjects[this._data[i]].allowCollisions > 0 ? 1 : 0;
|
|
++i;
|
|
}
|
|
return data;
|
|
}
|
|
,findPath: function(Start,End,Simplify,RaySimplify,DiagonalPolicy) {
|
|
if(DiagonalPolicy == null) {
|
|
DiagonalPolicy = 2;
|
|
}
|
|
if(RaySimplify == null) {
|
|
RaySimplify = false;
|
|
}
|
|
if(Simplify == null) {
|
|
Simplify = true;
|
|
}
|
|
var startIndex = this.getTileIndexByCoords(Start);
|
|
var endIndex = this.getTileIndexByCoords(End);
|
|
if(startIndex < 0 || endIndex < 0) {
|
|
return null;
|
|
}
|
|
if(this._tileObjects[this._data[startIndex]].allowCollisions > 0 || this._tileObjects[this._data[endIndex]].allowCollisions > 0) {
|
|
return null;
|
|
}
|
|
var distances = this.computePathDistance(startIndex,endIndex,DiagonalPolicy);
|
|
if(distances == null) {
|
|
return null;
|
|
}
|
|
var points = [];
|
|
this.walkPath(distances,endIndex,points);
|
|
var node = points[points.length - 1];
|
|
node.set_x(Start.x);
|
|
node.set_y(Start.y);
|
|
if(Start._weak) {
|
|
Start.put();
|
|
}
|
|
node = points[0];
|
|
node.set_x(End.x);
|
|
node.set_y(End.y);
|
|
if(End._weak) {
|
|
End.put();
|
|
}
|
|
if(Simplify) {
|
|
this.simplifyPath(points);
|
|
}
|
|
if(RaySimplify) {
|
|
this.raySimplifyPath(points);
|
|
}
|
|
var path = [];
|
|
var i = points.length - 1;
|
|
while(i >= 0) {
|
|
node = points[i--];
|
|
if(node != null) {
|
|
path.push(node);
|
|
}
|
|
}
|
|
return path;
|
|
}
|
|
,computePathDistance: function(StartIndex,EndIndex,DiagonalPolicy,StopOnEnd) {
|
|
if(StopOnEnd == null) {
|
|
StopOnEnd = true;
|
|
}
|
|
var mapSize = this.widthInTiles * this.heightInTiles;
|
|
var distances = [];
|
|
flixel_util_FlxArrayUtil.setLength_Int(distances,mapSize);
|
|
var i = 0;
|
|
while(i < mapSize) {
|
|
if(this._tileObjects[this._data[i]].allowCollisions != 0) {
|
|
distances[i] = -2;
|
|
} else {
|
|
distances[i] = -1;
|
|
}
|
|
++i;
|
|
}
|
|
distances[StartIndex] = 0;
|
|
var distance = 1;
|
|
var neighbors = [StartIndex];
|
|
var current;
|
|
var currentIndex;
|
|
var left;
|
|
var right;
|
|
var up;
|
|
var down;
|
|
var currentLength;
|
|
var foundEnd = false;
|
|
while(neighbors.length > 0) {
|
|
current = neighbors;
|
|
neighbors = [];
|
|
i = 0;
|
|
currentLength = current.length;
|
|
while(i < currentLength) {
|
|
currentIndex = current[i++];
|
|
if(currentIndex == (EndIndex | 0)) {
|
|
foundEnd = true;
|
|
if(StopOnEnd) {
|
|
neighbors = [];
|
|
break;
|
|
}
|
|
}
|
|
left = currentIndex % this.widthInTiles > 0;
|
|
right = currentIndex % this.widthInTiles < this.widthInTiles - 1;
|
|
up = currentIndex / this.widthInTiles > 0;
|
|
down = currentIndex / this.widthInTiles < this.heightInTiles - 1;
|
|
var index;
|
|
if(up) {
|
|
index = currentIndex - this.widthInTiles;
|
|
if(distances[index] == -1) {
|
|
distances[index] = distance;
|
|
neighbors.push(index);
|
|
}
|
|
}
|
|
if(right) {
|
|
index = currentIndex + 1;
|
|
if(distances[index] == -1) {
|
|
distances[index] = distance;
|
|
neighbors.push(index);
|
|
}
|
|
}
|
|
if(down) {
|
|
index = currentIndex + this.widthInTiles;
|
|
if(distances[index] == -1) {
|
|
distances[index] = distance;
|
|
neighbors.push(index);
|
|
}
|
|
}
|
|
if(left) {
|
|
index = currentIndex - 1;
|
|
if(distances[index] == -1) {
|
|
distances[index] = distance;
|
|
neighbors.push(index);
|
|
}
|
|
}
|
|
if(DiagonalPolicy != 0) {
|
|
var wideDiagonal = DiagonalPolicy == 2;
|
|
if(up && right) {
|
|
index = currentIndex - this.widthInTiles + 1;
|
|
if(wideDiagonal && distances[index] == -1 && distances[currentIndex - this.widthInTiles] >= -1 && distances[currentIndex + 1] >= -1) {
|
|
distances[index] = distance;
|
|
neighbors.push(index);
|
|
} else if(!wideDiagonal && distances[index] == -1) {
|
|
distances[index] = distance;
|
|
neighbors.push(index);
|
|
}
|
|
}
|
|
if(right && down) {
|
|
index = currentIndex + this.widthInTiles + 1;
|
|
if(wideDiagonal && distances[index] == -1 && distances[currentIndex + this.widthInTiles] >= -1 && distances[currentIndex + 1] >= -1) {
|
|
distances[index] = distance;
|
|
neighbors.push(index);
|
|
} else if(!wideDiagonal && distances[index] == -1) {
|
|
distances[index] = distance;
|
|
neighbors.push(index);
|
|
}
|
|
}
|
|
if(left && down) {
|
|
index = currentIndex + this.widthInTiles - 1;
|
|
if(wideDiagonal && distances[index] == -1 && distances[currentIndex + this.widthInTiles] >= -1 && distances[currentIndex - 1] >= -1) {
|
|
distances[index] = distance;
|
|
neighbors.push(index);
|
|
} else if(!wideDiagonal && distances[index] == -1) {
|
|
distances[index] = distance;
|
|
neighbors.push(index);
|
|
}
|
|
}
|
|
if(up && left) {
|
|
index = currentIndex - this.widthInTiles - 1;
|
|
if(wideDiagonal && distances[index] == -1 && distances[currentIndex - this.widthInTiles] >= -1 && distances[currentIndex - 1] >= -1) {
|
|
distances[index] = distance;
|
|
neighbors.push(index);
|
|
} else if(!wideDiagonal && distances[index] == -1) {
|
|
distances[index] = distance;
|
|
neighbors.push(index);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
++distance;
|
|
}
|
|
if(!foundEnd) {
|
|
distances = null;
|
|
}
|
|
return distances;
|
|
}
|
|
,walkPath: function(Data,Start,Points) {
|
|
Points.push(this.getTileCoordsByIndex(Start));
|
|
if(Data[Start] == 0) {
|
|
return;
|
|
}
|
|
var left = Start % this.widthInTiles > 0;
|
|
var right = Start % this.widthInTiles < this.widthInTiles - 1;
|
|
var up = Start / this.widthInTiles > 0;
|
|
var down = Start / this.widthInTiles < this.heightInTiles - 1;
|
|
var current = Data[Start];
|
|
var i;
|
|
if(up) {
|
|
i = Start - this.widthInTiles;
|
|
if(i >= 0 && Data[i] >= 0 && Data[i] < current) {
|
|
this.walkPath(Data,i,Points);
|
|
return;
|
|
}
|
|
}
|
|
if(right) {
|
|
i = Start + 1;
|
|
if(i >= 0 && Data[i] >= 0 && Data[i] < current) {
|
|
this.walkPath(Data,i,Points);
|
|
return;
|
|
}
|
|
}
|
|
if(down) {
|
|
i = Start + this.widthInTiles;
|
|
if(i >= 0 && Data[i] >= 0 && Data[i] < current) {
|
|
this.walkPath(Data,i,Points);
|
|
return;
|
|
}
|
|
}
|
|
if(left) {
|
|
i = Start - 1;
|
|
if(i >= 0 && Data[i] >= 0 && Data[i] < current) {
|
|
this.walkPath(Data,i,Points);
|
|
return;
|
|
}
|
|
}
|
|
if(up && right) {
|
|
i = Start - this.widthInTiles + 1;
|
|
if(i >= 0 && Data[i] >= 0 && Data[i] < current) {
|
|
this.walkPath(Data,i,Points);
|
|
return;
|
|
}
|
|
}
|
|
if(right && down) {
|
|
i = Start + this.widthInTiles + 1;
|
|
if(i >= 0 && Data[i] >= 0 && Data[i] < current) {
|
|
this.walkPath(Data,i,Points);
|
|
return;
|
|
}
|
|
}
|
|
if(left && down) {
|
|
i = Start + this.widthInTiles - 1;
|
|
if(i >= 0 && Data[i] >= 0 && Data[i] < current) {
|
|
this.walkPath(Data,i,Points);
|
|
return;
|
|
}
|
|
}
|
|
if(up && left) {
|
|
i = Start - this.widthInTiles - 1;
|
|
if(i >= 0 && Data[i] >= 0 && Data[i] < current) {
|
|
this.walkPath(Data,i,Points);
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
,simplifyPath: function(Points) {
|
|
var deltaPrevious;
|
|
var deltaNext;
|
|
var last = Points[0];
|
|
var node;
|
|
var i = 1;
|
|
var l = Points.length - 1;
|
|
while(i < l) {
|
|
node = Points[i];
|
|
deltaPrevious = (node.x - last.x) / (node.y - last.y);
|
|
deltaNext = (node.x - Points[i + 1].x) / (node.y - Points[i + 1].y);
|
|
if(last.x == Points[i + 1].x || last.y == Points[i + 1].y || deltaPrevious == deltaNext) {
|
|
Points[i] = null;
|
|
} else {
|
|
last = node;
|
|
}
|
|
++i;
|
|
}
|
|
}
|
|
,raySimplifyPath: function(Points) {
|
|
var source = Points[0];
|
|
var lastIndex = -1;
|
|
var node;
|
|
var i = 1;
|
|
var l = Points.length;
|
|
while(i < l) {
|
|
node = Points[i++];
|
|
if(node == null) {
|
|
continue;
|
|
}
|
|
if(this.ray(source,node,this._point)) {
|
|
if(lastIndex >= 0) {
|
|
Points[lastIndex] = null;
|
|
}
|
|
} else {
|
|
source = Points[lastIndex];
|
|
}
|
|
lastIndex = i - 1;
|
|
}
|
|
}
|
|
,overlaps: function(ObjectOrGroup,InScreenSpace,Camera) {
|
|
if(InScreenSpace == null) {
|
|
InScreenSpace = false;
|
|
}
|
|
var group = flixel_group_FlxTypedGroup.resolveGroup(ObjectOrGroup);
|
|
if(group != null) {
|
|
return flixel_group_FlxTypedGroup.overlaps($bind(this,this.tilemapOverlapsCallback),group,0,0,InScreenSpace,Camera);
|
|
} else if(ObjectOrGroup.flixelType == 1 || ObjectOrGroup.flixelType == 3 ? this.overlapsWithCallback(ObjectOrGroup) : this.overlaps(ObjectOrGroup,false,null)) {
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
,tilemapOverlapsCallback: function(ObjectOrGroup,X,Y,InScreenSpace,Camera) {
|
|
if(InScreenSpace == null) {
|
|
InScreenSpace = false;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
if(ObjectOrGroup.flixelType == 1 || ObjectOrGroup.flixelType == 3) {
|
|
return this.overlapsWithCallback(ObjectOrGroup);
|
|
} else {
|
|
return this.overlaps(ObjectOrGroup,InScreenSpace,Camera);
|
|
}
|
|
}
|
|
,overlapsAt: function(X,Y,ObjectOrGroup,InScreenSpace,Camera) {
|
|
if(InScreenSpace == null) {
|
|
InScreenSpace = false;
|
|
}
|
|
var group = flixel_group_FlxTypedGroup.resolveGroup(ObjectOrGroup);
|
|
if(group != null) {
|
|
return flixel_group_FlxTypedGroup.overlaps($bind(this,this.tilemapOverlapsAtCallback),group,X,Y,InScreenSpace,Camera);
|
|
} else if(ObjectOrGroup.flixelType == 1 || ObjectOrGroup.flixelType == 3 ? this.overlapsWithCallback(ObjectOrGroup,null,false,this._point.set(X,Y)) : this.overlapsAt(X,Y,ObjectOrGroup,InScreenSpace,Camera)) {
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
,tilemapOverlapsAtCallback: function(ObjectOrGroup,X,Y,InScreenSpace,Camera) {
|
|
if(ObjectOrGroup.flixelType == 1 || ObjectOrGroup.flixelType == 3) {
|
|
return this.overlapsWithCallback(ObjectOrGroup,null,false,this._point.set(X,Y));
|
|
} else {
|
|
return this.overlapsAt(X,Y,ObjectOrGroup,InScreenSpace,Camera);
|
|
}
|
|
}
|
|
,overlapsPoint: function(WorldPoint,InScreenSpace,Camera) {
|
|
if(InScreenSpace == null) {
|
|
InScreenSpace = false;
|
|
}
|
|
if(InScreenSpace) {
|
|
if(Camera == null) {
|
|
Camera = flixel_FlxG.camera;
|
|
}
|
|
WorldPoint.subtractPoint(Camera.scroll);
|
|
if(WorldPoint._weak) {
|
|
WorldPoint.put();
|
|
}
|
|
}
|
|
return this.tileAtPointAllowsCollisions(WorldPoint);
|
|
}
|
|
,tileAtPointAllowsCollisions: function(point) {
|
|
var tileIndex = this.getTileIndexByCoords(point);
|
|
if(tileIndex < 0 || tileIndex >= this._data.length) {
|
|
return false;
|
|
}
|
|
return this._tileObjects[this._data[tileIndex]].allowCollisions > 0;
|
|
}
|
|
,getBounds: function(Bounds) {
|
|
if(Bounds == null) {
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = 0;
|
|
var Height = 0;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
Bounds = rect;
|
|
}
|
|
var X = this.x;
|
|
var Y = this.y;
|
|
var Width = this.get_width();
|
|
var Height = this.get_height();
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
Bounds.x = X;
|
|
Bounds.y = Y;
|
|
Bounds.width = Width;
|
|
Bounds.height = Height;
|
|
return Bounds;
|
|
}
|
|
,__class__: flixel_tile_FlxBaseTilemap
|
|
});
|
|
var flixel_tile_FlxTilemapAutoTiling = $hxEnums["flixel.tile.FlxTilemapAutoTiling"] = { __ename__ : "flixel.tile.FlxTilemapAutoTiling", __constructs__ : ["OFF","AUTO","ALT","FULL"]
|
|
,OFF: {_hx_index:0,__enum__:"flixel.tile.FlxTilemapAutoTiling",toString:$estr}
|
|
,AUTO: {_hx_index:1,__enum__:"flixel.tile.FlxTilemapAutoTiling",toString:$estr}
|
|
,ALT: {_hx_index:2,__enum__:"flixel.tile.FlxTilemapAutoTiling",toString:$estr}
|
|
,FULL: {_hx_index:3,__enum__:"flixel.tile.FlxTilemapAutoTiling",toString:$estr}
|
|
};
|
|
var flixel_tile_FlxTileblock = function(X,Y,Width,Height) {
|
|
flixel_FlxSprite.call(this,X,Y);
|
|
this.makeGraphic(Width,Height,0,true);
|
|
this.set_active(false);
|
|
this.set_immovable(true);
|
|
this.set_moves(false);
|
|
};
|
|
$hxClasses["flixel.tile.FlxTileblock"] = flixel_tile_FlxTileblock;
|
|
flixel_tile_FlxTileblock.__name__ = "flixel.tile.FlxTileblock";
|
|
flixel_tile_FlxTileblock.__super__ = flixel_FlxSprite;
|
|
flixel_tile_FlxTileblock.prototype = $extend(flixel_FlxSprite.prototype,{
|
|
tileSprite: null
|
|
,destroy: function() {
|
|
this.tileSprite = flixel_util_FlxDestroyUtil.destroy(this.tileSprite);
|
|
flixel_FlxSprite.prototype.destroy.call(this);
|
|
}
|
|
,loadFrames: function(tileFrames,empties) {
|
|
if(empties == null) {
|
|
empties = 0;
|
|
}
|
|
if(tileFrames == null) {
|
|
return this;
|
|
}
|
|
this.tileSprite = this.tileSprite == null ? new flixel_FlxSprite() : this.tileSprite;
|
|
this.tileSprite.set_frames(tileFrames);
|
|
var spriteWidth = this.tileSprite.get_width() | 0;
|
|
var spriteHeight = this.tileSprite.get_height() | 0;
|
|
var total = this.tileSprite.numFrames + empties;
|
|
var regen = false;
|
|
if(this.get_width() % this.tileSprite.get_width() != 0) {
|
|
this.set_width((this.get_width() / spriteWidth + 1 | 0) * spriteWidth);
|
|
regen = true;
|
|
}
|
|
if(this.get_height() % this.tileSprite.get_height() != 0) {
|
|
this.set_height((this.get_height() / spriteHeight + 1 | 0) * spriteHeight);
|
|
regen = true;
|
|
}
|
|
if(regen) {
|
|
this.makeGraphic(this.get_width() | 0,this.get_height() | 0,0,true);
|
|
} else {
|
|
flixel_util_FlxSpriteUtil.fill(this,0);
|
|
}
|
|
var row = 0;
|
|
var column;
|
|
var destinationX;
|
|
var destinationY = 0;
|
|
var widthInTiles = this.get_width() / spriteWidth | 0;
|
|
var heightInTiles = this.get_height() / spriteHeight | 0;
|
|
while(row < heightInTiles) {
|
|
destinationX = 0;
|
|
column = 0;
|
|
while(column < widthInTiles) {
|
|
if(flixel_FlxG.random.float() * total > empties) {
|
|
this.tileSprite.animation.randomFrame();
|
|
this.tileSprite.drawFrame();
|
|
this.stamp(this.tileSprite,destinationX,destinationY);
|
|
}
|
|
destinationX += spriteWidth;
|
|
++column;
|
|
}
|
|
destinationY += spriteHeight;
|
|
++row;
|
|
}
|
|
this.dirty = true;
|
|
return this;
|
|
}
|
|
,loadTiles: function(TileGraphic,TileWidth,TileHeight,Empties) {
|
|
if(Empties == null) {
|
|
Empties = 0;
|
|
}
|
|
if(TileHeight == null) {
|
|
TileHeight = 0;
|
|
}
|
|
if(TileWidth == null) {
|
|
TileWidth = 0;
|
|
}
|
|
if(TileGraphic == null) {
|
|
return this;
|
|
}
|
|
var graph = flixel_FlxG.bitmap.add(TileGraphic);
|
|
if(graph == null) {
|
|
return this;
|
|
}
|
|
if(TileWidth == 0) {
|
|
TileWidth = graph.height;
|
|
if(TileWidth > graph.width) {
|
|
TileWidth = graph.width;
|
|
}
|
|
}
|
|
if(TileHeight == 0) {
|
|
TileHeight = TileWidth;
|
|
if(TileHeight > graph.height) {
|
|
TileHeight = graph.height;
|
|
}
|
|
}
|
|
var X = TileWidth;
|
|
var Y = TileHeight;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
var tileFrames = flixel_graphics_frames_FlxTileFrames.fromGraphic(graph,point);
|
|
return this.loadFrames(tileFrames,Empties);
|
|
}
|
|
,setTile: function(x,y,index) {
|
|
this.tileSprite.animation.set_frameIndex(index);
|
|
this.stamp(this.tileSprite,x * (this.tileSprite.get_width() | 0),y * (this.tileSprite.get_height() | 0));
|
|
this.dirty = true;
|
|
}
|
|
,__class__: flixel_tile_FlxTileblock
|
|
});
|
|
var flixel_tweens_FlxEase = function() { };
|
|
$hxClasses["flixel.tweens.FlxEase"] = flixel_tweens_FlxEase;
|
|
flixel_tweens_FlxEase.__name__ = "flixel.tweens.FlxEase";
|
|
flixel_tweens_FlxEase.linear = function(t) {
|
|
return t;
|
|
};
|
|
flixel_tweens_FlxEase.quadIn = function(t) {
|
|
return t * t;
|
|
};
|
|
flixel_tweens_FlxEase.quadOut = function(t) {
|
|
return -t * (t - 2);
|
|
};
|
|
flixel_tweens_FlxEase.quadInOut = function(t) {
|
|
if(t <= .5) {
|
|
return t * t * 2;
|
|
} else {
|
|
return 1 - --t * t * 2;
|
|
}
|
|
};
|
|
flixel_tweens_FlxEase.cubeIn = function(t) {
|
|
return t * t * t;
|
|
};
|
|
flixel_tweens_FlxEase.cubeOut = function(t) {
|
|
return 1 + --t * t * t;
|
|
};
|
|
flixel_tweens_FlxEase.cubeInOut = function(t) {
|
|
if(t <= .5) {
|
|
return t * t * t * 4;
|
|
} else {
|
|
return 1 + --t * t * t * 4;
|
|
}
|
|
};
|
|
flixel_tweens_FlxEase.quartIn = function(t) {
|
|
return t * t * t * t;
|
|
};
|
|
flixel_tweens_FlxEase.quartOut = function(t) {
|
|
return 1 - --t * t * t * t;
|
|
};
|
|
flixel_tweens_FlxEase.quartInOut = function(t) {
|
|
if(t <= .5) {
|
|
return t * t * t * t * 8;
|
|
} else {
|
|
t = t * 2 - 2;
|
|
return (1 - t * t * t * t) / 2 + .5;
|
|
}
|
|
};
|
|
flixel_tweens_FlxEase.quintIn = function(t) {
|
|
return t * t * t * t * t;
|
|
};
|
|
flixel_tweens_FlxEase.quintOut = function(t) {
|
|
return --t * t * t * t * t + 1;
|
|
};
|
|
flixel_tweens_FlxEase.quintInOut = function(t) {
|
|
if((t *= 2) < 1) {
|
|
return t * t * t * t * t / 2;
|
|
} else {
|
|
return ((t -= 2) * t * t * t * t + 2) / 2;
|
|
}
|
|
};
|
|
flixel_tweens_FlxEase.smoothStepIn = function(t) {
|
|
var t1 = t / 2;
|
|
return 2 * (t1 * t1 * (t1 * -2 + 3));
|
|
};
|
|
flixel_tweens_FlxEase.smoothStepOut = function(t) {
|
|
var t1 = t / 2 + 0.5;
|
|
return 2 * (t1 * t1 * (t1 * -2 + 3)) - 1;
|
|
};
|
|
flixel_tweens_FlxEase.smoothStepInOut = function(t) {
|
|
return t * t * (t * -2 + 3);
|
|
};
|
|
flixel_tweens_FlxEase.smootherStepIn = function(t) {
|
|
var t1 = t / 2;
|
|
return 2 * (t1 * t1 * t1 * (t1 * (t1 * 6 - 15) + 10));
|
|
};
|
|
flixel_tweens_FlxEase.smootherStepOut = function(t) {
|
|
var t1 = t / 2 + 0.5;
|
|
return 2 * (t1 * t1 * t1 * (t1 * (t1 * 6 - 15) + 10)) - 1;
|
|
};
|
|
flixel_tweens_FlxEase.smootherStepInOut = function(t) {
|
|
return t * t * t * (t * (t * 6 - 15) + 10);
|
|
};
|
|
flixel_tweens_FlxEase.sineIn = function(t) {
|
|
return -Math.cos(flixel_tweens_FlxEase.PI2 * t) + 1;
|
|
};
|
|
flixel_tweens_FlxEase.sineOut = function(t) {
|
|
return Math.sin(flixel_tweens_FlxEase.PI2 * t);
|
|
};
|
|
flixel_tweens_FlxEase.sineInOut = function(t) {
|
|
return -Math.cos(Math.PI * t) / 2 + .5;
|
|
};
|
|
flixel_tweens_FlxEase.bounceIn = function(t) {
|
|
t = 1 - t;
|
|
if(t < flixel_tweens_FlxEase.B1) {
|
|
return 1 - 7.5625 * t * t;
|
|
}
|
|
if(t < flixel_tweens_FlxEase.B2) {
|
|
return 1 - (7.5625 * (t - flixel_tweens_FlxEase.B3) * (t - flixel_tweens_FlxEase.B3) + .75);
|
|
}
|
|
if(t < flixel_tweens_FlxEase.B4) {
|
|
return 1 - (7.5625 * (t - flixel_tweens_FlxEase.B5) * (t - flixel_tweens_FlxEase.B5) + .9375);
|
|
}
|
|
return 1 - (7.5625 * (t - flixel_tweens_FlxEase.B6) * (t - flixel_tweens_FlxEase.B6) + .984375);
|
|
};
|
|
flixel_tweens_FlxEase.bounceOut = function(t) {
|
|
if(t < flixel_tweens_FlxEase.B1) {
|
|
return 7.5625 * t * t;
|
|
}
|
|
if(t < flixel_tweens_FlxEase.B2) {
|
|
return 7.5625 * (t - flixel_tweens_FlxEase.B3) * (t - flixel_tweens_FlxEase.B3) + .75;
|
|
}
|
|
if(t < flixel_tweens_FlxEase.B4) {
|
|
return 7.5625 * (t - flixel_tweens_FlxEase.B5) * (t - flixel_tweens_FlxEase.B5) + .9375;
|
|
}
|
|
return 7.5625 * (t - flixel_tweens_FlxEase.B6) * (t - flixel_tweens_FlxEase.B6) + .984375;
|
|
};
|
|
flixel_tweens_FlxEase.bounceInOut = function(t) {
|
|
if(t < .5) {
|
|
t = 1 - t * 2;
|
|
if(t < flixel_tweens_FlxEase.B1) {
|
|
return (1 - 7.5625 * t * t) / 2;
|
|
}
|
|
if(t < flixel_tweens_FlxEase.B2) {
|
|
return (1 - (7.5625 * (t - flixel_tweens_FlxEase.B3) * (t - flixel_tweens_FlxEase.B3) + .75)) / 2;
|
|
}
|
|
if(t < flixel_tweens_FlxEase.B4) {
|
|
return (1 - (7.5625 * (t - flixel_tweens_FlxEase.B5) * (t - flixel_tweens_FlxEase.B5) + .9375)) / 2;
|
|
}
|
|
return (1 - (7.5625 * (t - flixel_tweens_FlxEase.B6) * (t - flixel_tweens_FlxEase.B6) + .984375)) / 2;
|
|
}
|
|
t = t * 2 - 1;
|
|
if(t < flixel_tweens_FlxEase.B1) {
|
|
return 7.5625 * t * t / 2 + .5;
|
|
}
|
|
if(t < flixel_tweens_FlxEase.B2) {
|
|
return (7.5625 * (t - flixel_tweens_FlxEase.B3) * (t - flixel_tweens_FlxEase.B3) + .75) / 2 + .5;
|
|
}
|
|
if(t < flixel_tweens_FlxEase.B4) {
|
|
return (7.5625 * (t - flixel_tweens_FlxEase.B5) * (t - flixel_tweens_FlxEase.B5) + .9375) / 2 + .5;
|
|
}
|
|
return (7.5625 * (t - flixel_tweens_FlxEase.B6) * (t - flixel_tweens_FlxEase.B6) + .984375) / 2 + .5;
|
|
};
|
|
flixel_tweens_FlxEase.circIn = function(t) {
|
|
return -(Math.sqrt(1 - t * t) - 1);
|
|
};
|
|
flixel_tweens_FlxEase.circOut = function(t) {
|
|
return Math.sqrt(1 - (t - 1) * (t - 1));
|
|
};
|
|
flixel_tweens_FlxEase.circInOut = function(t) {
|
|
if(t <= .5) {
|
|
return (Math.sqrt(1 - t * t * 4) - 1) / -2;
|
|
} else {
|
|
return (Math.sqrt(1 - (t * 2 - 2) * (t * 2 - 2)) + 1) / 2;
|
|
}
|
|
};
|
|
flixel_tweens_FlxEase.expoIn = function(t) {
|
|
return Math.pow(2,10 * (t - 1));
|
|
};
|
|
flixel_tweens_FlxEase.expoOut = function(t) {
|
|
return -Math.pow(2,-10 * t) + 1;
|
|
};
|
|
flixel_tweens_FlxEase.expoInOut = function(t) {
|
|
if(t < .5) {
|
|
return Math.pow(2,10 * (t * 2 - 1)) / 2;
|
|
} else {
|
|
return (-Math.pow(2,-10 * (t * 2 - 1)) + 2) / 2;
|
|
}
|
|
};
|
|
flixel_tweens_FlxEase.backIn = function(t) {
|
|
return t * t * (2.70158 * t - 1.70158);
|
|
};
|
|
flixel_tweens_FlxEase.backOut = function(t) {
|
|
return 1 - --t * t * (-2.70158 * t - 1.70158);
|
|
};
|
|
flixel_tweens_FlxEase.backInOut = function(t) {
|
|
t *= 2;
|
|
if(t < 1) {
|
|
return t * t * (2.70158 * t - 1.70158) / 2;
|
|
}
|
|
--t;
|
|
return (1 - --t * t * (-2.70158 * t - 1.70158)) / 2 + .5;
|
|
};
|
|
flixel_tweens_FlxEase.elasticIn = function(t) {
|
|
return -(flixel_tweens_FlxEase.ELASTIC_AMPLITUDE * Math.pow(2,10 * --t) * Math.sin((t - flixel_tweens_FlxEase.ELASTIC_PERIOD / (2 * Math.PI) * Math.asin(1 / flixel_tweens_FlxEase.ELASTIC_AMPLITUDE)) * (2 * Math.PI) / flixel_tweens_FlxEase.ELASTIC_PERIOD));
|
|
};
|
|
flixel_tweens_FlxEase.elasticOut = function(t) {
|
|
return flixel_tweens_FlxEase.ELASTIC_AMPLITUDE * Math.pow(2,-10 * t) * Math.sin((t - flixel_tweens_FlxEase.ELASTIC_PERIOD / (2 * Math.PI) * Math.asin(1 / flixel_tweens_FlxEase.ELASTIC_AMPLITUDE)) * (2 * Math.PI) / flixel_tweens_FlxEase.ELASTIC_PERIOD) + 1;
|
|
};
|
|
flixel_tweens_FlxEase.elasticInOut = function(t) {
|
|
if(t < 0.5) {
|
|
return -0.5 * (Math.pow(2,10 * (t -= 0.5)) * Math.sin((t - flixel_tweens_FlxEase.ELASTIC_PERIOD / 4) * (2 * Math.PI) / flixel_tweens_FlxEase.ELASTIC_PERIOD));
|
|
}
|
|
return Math.pow(2,-10 * (t -= 0.5)) * Math.sin((t - flixel_tweens_FlxEase.ELASTIC_PERIOD / 4) * (2 * Math.PI) / flixel_tweens_FlxEase.ELASTIC_PERIOD) * 0.5 + 1;
|
|
};
|
|
var flixel_tweens_FlxTween = function(Options,manager) {
|
|
this._waitingForRestart = false;
|
|
this._running = false;
|
|
this._delayToUse = 0;
|
|
this._secondsSinceStart = 0;
|
|
this.loopDelay = 0;
|
|
this.startDelay = 0;
|
|
this.executions = 0;
|
|
this.scale = 0;
|
|
this.duration = 0;
|
|
this.active = false;
|
|
Options = this.resolveTweenOptions(Options);
|
|
this.set_type(Options.type);
|
|
this.onStart = Options.onStart;
|
|
this.onUpdate = Options.onUpdate;
|
|
this.onComplete = Options.onComplete;
|
|
this.ease = Options.ease;
|
|
this.setDelays(Options.startDelay,Options.loopDelay);
|
|
this.manager = manager != null ? manager : flixel_tweens_FlxTween.globalManager;
|
|
};
|
|
$hxClasses["flixel.tweens.FlxTween"] = flixel_tweens_FlxTween;
|
|
flixel_tweens_FlxTween.__name__ = "flixel.tweens.FlxTween";
|
|
flixel_tweens_FlxTween.__interfaces__ = [flixel_util_IFlxDestroyable];
|
|
flixel_tweens_FlxTween.globalManager = null;
|
|
flixel_tweens_FlxTween.tween = function(Object1,Values,Duration,Options) {
|
|
if(Duration == null) {
|
|
Duration = 1;
|
|
}
|
|
return flixel_tweens_FlxTween.globalManager.tween(Object1,Values,Duration,Options);
|
|
};
|
|
flixel_tweens_FlxTween.num = function(FromValue,ToValue,Duration,Options,TweenFunction) {
|
|
if(Duration == null) {
|
|
Duration = 1;
|
|
}
|
|
return flixel_tweens_FlxTween.globalManager.num(FromValue,ToValue,Duration,Options,TweenFunction);
|
|
};
|
|
flixel_tweens_FlxTween.angle = function(Sprite,FromAngle,ToAngle,Duration,Options) {
|
|
if(Duration == null) {
|
|
Duration = 1;
|
|
}
|
|
return flixel_tweens_FlxTween.globalManager.angle(Sprite,FromAngle,ToAngle,Duration,Options);
|
|
};
|
|
flixel_tweens_FlxTween.color = function(Sprite,Duration,FromColor,ToColor,Options) {
|
|
if(Duration == null) {
|
|
Duration = 1;
|
|
}
|
|
return flixel_tweens_FlxTween.globalManager.color(Sprite,Duration,FromColor,ToColor,Options);
|
|
};
|
|
flixel_tweens_FlxTween.linearMotion = function(Object1,FromX,FromY,ToX,ToY,DurationOrSpeed,UseDuration,Options) {
|
|
if(UseDuration == null) {
|
|
UseDuration = true;
|
|
}
|
|
if(DurationOrSpeed == null) {
|
|
DurationOrSpeed = 1;
|
|
}
|
|
return flixel_tweens_FlxTween.globalManager.linearMotion(Object1,FromX,FromY,ToX,ToY,DurationOrSpeed,UseDuration,Options);
|
|
};
|
|
flixel_tweens_FlxTween.quadMotion = function(Object1,FromX,FromY,ControlX,ControlY,ToX,ToY,DurationOrSpeed,UseDuration,Options) {
|
|
if(UseDuration == null) {
|
|
UseDuration = true;
|
|
}
|
|
if(DurationOrSpeed == null) {
|
|
DurationOrSpeed = 1;
|
|
}
|
|
return flixel_tweens_FlxTween.globalManager.quadMotion(Object1,FromX,FromY,ControlX,ControlY,ToX,ToY,DurationOrSpeed,UseDuration,Options);
|
|
};
|
|
flixel_tweens_FlxTween.cubicMotion = function(Object1,FromX,FromY,aX,aY,bX,bY,ToX,ToY,Duration,Options) {
|
|
if(Duration == null) {
|
|
Duration = 1;
|
|
}
|
|
return flixel_tweens_FlxTween.globalManager.cubicMotion(Object1,FromX,FromY,aX,aY,bX,bY,ToX,ToY,Duration,Options);
|
|
};
|
|
flixel_tweens_FlxTween.circularMotion = function(Object1,CenterX,CenterY,Radius,Angle,Clockwise,DurationOrSpeed,UseDuration,Options) {
|
|
if(UseDuration == null) {
|
|
UseDuration = true;
|
|
}
|
|
if(DurationOrSpeed == null) {
|
|
DurationOrSpeed = 1;
|
|
}
|
|
return flixel_tweens_FlxTween.globalManager.circularMotion(Object1,CenterX,CenterY,Radius,Angle,Clockwise,DurationOrSpeed,UseDuration,Options);
|
|
};
|
|
flixel_tweens_FlxTween.linearPath = function(Object1,Points,DurationOrSpeed,UseDuration,Options) {
|
|
if(UseDuration == null) {
|
|
UseDuration = true;
|
|
}
|
|
if(DurationOrSpeed == null) {
|
|
DurationOrSpeed = 1;
|
|
}
|
|
return flixel_tweens_FlxTween.globalManager.linearPath(Object1,Points,DurationOrSpeed,UseDuration,Options);
|
|
};
|
|
flixel_tweens_FlxTween.quadPath = function(Object1,Points,DurationOrSpeed,UseDuration,Options) {
|
|
if(UseDuration == null) {
|
|
UseDuration = true;
|
|
}
|
|
if(DurationOrSpeed == null) {
|
|
DurationOrSpeed = 1;
|
|
}
|
|
return flixel_tweens_FlxTween.globalManager.quadPath(Object1,Points,DurationOrSpeed,UseDuration,Options);
|
|
};
|
|
flixel_tweens_FlxTween.prototype = {
|
|
manager: null
|
|
,active: null
|
|
,duration: null
|
|
,ease: null
|
|
,onStart: null
|
|
,onUpdate: null
|
|
,onComplete: null
|
|
,type: null
|
|
,finished: null
|
|
,scale: null
|
|
,backward: null
|
|
,executions: null
|
|
,startDelay: null
|
|
,loopDelay: null
|
|
,_secondsSinceStart: null
|
|
,_delayToUse: null
|
|
,_running: null
|
|
,_waitingForRestart: null
|
|
,_chainedTweens: null
|
|
,_nextTweenInChain: null
|
|
,resolveTweenOptions: function(Options) {
|
|
if(Options == null) {
|
|
Options = { type : 8};
|
|
}
|
|
if(Options.type == null) {
|
|
Options.type = 8;
|
|
}
|
|
return Options;
|
|
}
|
|
,destroy: function() {
|
|
this.onStart = null;
|
|
this.onUpdate = null;
|
|
this.onComplete = null;
|
|
this.ease = null;
|
|
this.manager = null;
|
|
this._chainedTweens = null;
|
|
this._nextTweenInChain = null;
|
|
}
|
|
,then: function(tween) {
|
|
return this.addChainedTween(tween);
|
|
}
|
|
,wait: function(delay) {
|
|
return this.addChainedTween(flixel_tweens_FlxTween.num(0,0,delay));
|
|
}
|
|
,addChainedTween: function(tween) {
|
|
tween.setVarsOnEnd();
|
|
tween.manager.remove(tween,false);
|
|
if(this._chainedTweens == null) {
|
|
this._chainedTweens = [];
|
|
}
|
|
this._chainedTweens.push(tween);
|
|
return this;
|
|
}
|
|
,update: function(elapsed) {
|
|
this._secondsSinceStart += elapsed;
|
|
var delay = this.executions > 0 ? this.loopDelay : this.startDelay;
|
|
if(this._secondsSinceStart < delay) {
|
|
return;
|
|
}
|
|
this.scale = Math.max(this._secondsSinceStart - delay,0) / this.duration;
|
|
if(this.ease != null) {
|
|
this.scale = this.ease(this.scale);
|
|
}
|
|
if(this.backward) {
|
|
this.scale = 1 - this.scale;
|
|
}
|
|
if(this._secondsSinceStart > delay && !this._running) {
|
|
this._running = true;
|
|
if(this.onStart != null) {
|
|
this.onStart(this);
|
|
}
|
|
}
|
|
if(this._secondsSinceStart >= this.duration + delay) {
|
|
this.scale = this.backward ? 0 : 1;
|
|
this.finished = true;
|
|
} else if(this.onUpdate != null) {
|
|
this.onUpdate(this);
|
|
}
|
|
}
|
|
,start: function() {
|
|
this._waitingForRestart = false;
|
|
this._secondsSinceStart = 0;
|
|
this._delayToUse = this.executions > 0 ? this.loopDelay : this.startDelay;
|
|
if(this.duration == 0) {
|
|
this.set_active(false);
|
|
return this;
|
|
}
|
|
this.set_active(true);
|
|
this._running = false;
|
|
this.finished = false;
|
|
return this;
|
|
}
|
|
,cancel: function() {
|
|
this.onEnd();
|
|
if(this.manager != null) {
|
|
this.manager.remove(this);
|
|
}
|
|
}
|
|
,cancelChain: function() {
|
|
if(this._nextTweenInChain != null) {
|
|
this._nextTweenInChain.cancelChain();
|
|
}
|
|
if(this._chainedTweens != null) {
|
|
this._chainedTweens = null;
|
|
}
|
|
this.cancel();
|
|
}
|
|
,finish: function() {
|
|
this.executions++;
|
|
if(this.onComplete != null) {
|
|
this.onComplete(this);
|
|
}
|
|
var type = this.type & ~16;
|
|
if(type == 1 || type == 8) {
|
|
this.onEnd();
|
|
this._secondsSinceStart = this.duration + this.startDelay;
|
|
if(type == 8 && this.manager != null) {
|
|
this.manager.remove(this);
|
|
}
|
|
}
|
|
if(type == 2 || type == 4) {
|
|
this._secondsSinceStart = (this._secondsSinceStart - this._delayToUse) % this.duration + this._delayToUse;
|
|
this.scale = Math.max(this._secondsSinceStart - this._delayToUse,0) / this.duration;
|
|
if(this.ease != null && this.scale > 0 && this.scale < 1) {
|
|
this.scale = this.ease(this.scale);
|
|
}
|
|
if(type == 4) {
|
|
this.backward = !this.backward;
|
|
if(this.backward) {
|
|
this.scale = 1 - this.scale;
|
|
}
|
|
}
|
|
this.restart();
|
|
}
|
|
}
|
|
,onEnd: function() {
|
|
this.setVarsOnEnd();
|
|
this.processTweenChain();
|
|
}
|
|
,setVarsOnEnd: function() {
|
|
this.set_active(false);
|
|
this._running = false;
|
|
this.finished = true;
|
|
}
|
|
,processTweenChain: function() {
|
|
if(this._chainedTweens == null || this._chainedTweens.length <= 0) {
|
|
return;
|
|
}
|
|
this._nextTweenInChain = this._chainedTweens.shift();
|
|
this.doNextTween(this._nextTweenInChain);
|
|
this._chainedTweens = null;
|
|
}
|
|
,doNextTween: function(tween) {
|
|
if(!tween.active) {
|
|
tween.start();
|
|
this.manager.add_flixel_tweens_FlxTween(tween);
|
|
}
|
|
tween.setChain(this._chainedTweens);
|
|
}
|
|
,setChain: function(previousChain) {
|
|
if(previousChain == null) {
|
|
return;
|
|
}
|
|
if(this._chainedTweens == null) {
|
|
this._chainedTweens = previousChain;
|
|
} else {
|
|
this._chainedTweens = this._chainedTweens.concat(previousChain);
|
|
}
|
|
}
|
|
,restart: function() {
|
|
if(this.active) {
|
|
this.start();
|
|
} else {
|
|
this._waitingForRestart = true;
|
|
}
|
|
}
|
|
,setDelays: function(StartDelay,LoopDelay) {
|
|
this.set_startDelay(StartDelay != null ? StartDelay : 0);
|
|
this.set_loopDelay(LoopDelay != null ? LoopDelay : 0);
|
|
return this;
|
|
}
|
|
,set_startDelay: function(value) {
|
|
var dly = Math.abs(value);
|
|
if(this.executions == 0) {
|
|
this._secondsSinceStart = this.duration * (Math.max(this._secondsSinceStart - this._delayToUse,0) / this.duration) + Math.max(dly - this.startDelay,0);
|
|
this._delayToUse = dly;
|
|
}
|
|
return this.startDelay = dly;
|
|
}
|
|
,set_loopDelay: function(value) {
|
|
var dly = Math.abs(value);
|
|
if(this.executions > 0) {
|
|
this._secondsSinceStart = this.duration * (Math.max(this._secondsSinceStart - this._delayToUse,0) / this.duration) + Math.max(dly - this.loopDelay,0);
|
|
this._delayToUse = dly;
|
|
}
|
|
return this.loopDelay = dly;
|
|
}
|
|
,get_percent: function() {
|
|
return Math.max(this._secondsSinceStart - this._delayToUse,0) / this.duration;
|
|
}
|
|
,set_percent: function(value) {
|
|
return this._secondsSinceStart = this.duration * value + this._delayToUse;
|
|
}
|
|
,set_type: function(value) {
|
|
if(value == 0) {
|
|
value = 8;
|
|
} else if(value == 16) {
|
|
value = 1 | 16;
|
|
}
|
|
this.backward = (value & 16) > 0;
|
|
return this.type = value;
|
|
}
|
|
,set_active: function(active) {
|
|
this.active = active;
|
|
if(this._waitingForRestart) {
|
|
this.restart();
|
|
}
|
|
return active;
|
|
}
|
|
,__class__: flixel_tweens_FlxTween
|
|
,__properties__: {set_loopDelay:"set_loopDelay",set_startDelay:"set_startDelay",set_percent:"set_percent",get_percent:"get_percent",set_type:"set_type",set_active:"set_active"}
|
|
};
|
|
var flixel_tweens_FlxTweenManager = function() {
|
|
this._tweens = [];
|
|
flixel_FlxBasic.call(this);
|
|
this.set_visible(false);
|
|
flixel_FlxG.signals.preStateSwitch.add($bind(this,this.clear));
|
|
};
|
|
$hxClasses["flixel.tweens.FlxTweenManager"] = flixel_tweens_FlxTweenManager;
|
|
flixel_tweens_FlxTweenManager.__name__ = "flixel.tweens.FlxTweenManager";
|
|
flixel_tweens_FlxTweenManager.__super__ = flixel_FlxBasic;
|
|
flixel_tweens_FlxTweenManager.prototype = $extend(flixel_FlxBasic.prototype,{
|
|
add_flixel_tweens_motion_QuadPath: function(Tween,Start) {
|
|
if(Start == null) {
|
|
Start = false;
|
|
}
|
|
if(Tween == null) {
|
|
return null;
|
|
}
|
|
this._tweens.push(Tween);
|
|
if(Start) {
|
|
Tween.start();
|
|
}
|
|
return Tween;
|
|
}
|
|
,add_flixel_tweens_motion_LinearPath: function(Tween,Start) {
|
|
if(Start == null) {
|
|
Start = false;
|
|
}
|
|
if(Tween == null) {
|
|
return null;
|
|
}
|
|
this._tweens.push(Tween);
|
|
if(Start) {
|
|
Tween.start();
|
|
}
|
|
return Tween;
|
|
}
|
|
,add_flixel_tweens_motion_CircularMotion: function(Tween,Start) {
|
|
if(Start == null) {
|
|
Start = false;
|
|
}
|
|
if(Tween == null) {
|
|
return null;
|
|
}
|
|
this._tweens.push(Tween);
|
|
if(Start) {
|
|
Tween.start();
|
|
}
|
|
return Tween;
|
|
}
|
|
,add_flixel_tweens_motion_CubicMotion: function(Tween,Start) {
|
|
if(Start == null) {
|
|
Start = false;
|
|
}
|
|
if(Tween == null) {
|
|
return null;
|
|
}
|
|
this._tweens.push(Tween);
|
|
if(Start) {
|
|
Tween.start();
|
|
}
|
|
return Tween;
|
|
}
|
|
,add_flixel_tweens_motion_QuadMotion: function(Tween,Start) {
|
|
if(Start == null) {
|
|
Start = false;
|
|
}
|
|
if(Tween == null) {
|
|
return null;
|
|
}
|
|
this._tweens.push(Tween);
|
|
if(Start) {
|
|
Tween.start();
|
|
}
|
|
return Tween;
|
|
}
|
|
,add_flixel_tweens_motion_LinearMotion: function(Tween,Start) {
|
|
if(Start == null) {
|
|
Start = false;
|
|
}
|
|
if(Tween == null) {
|
|
return null;
|
|
}
|
|
this._tweens.push(Tween);
|
|
if(Start) {
|
|
Tween.start();
|
|
}
|
|
return Tween;
|
|
}
|
|
,add_flixel_tweens_misc_ColorTween: function(Tween,Start) {
|
|
if(Start == null) {
|
|
Start = false;
|
|
}
|
|
if(Tween == null) {
|
|
return null;
|
|
}
|
|
this._tweens.push(Tween);
|
|
if(Start) {
|
|
Tween.start();
|
|
}
|
|
return Tween;
|
|
}
|
|
,add_flixel_tweens_misc_AngleTween: function(Tween,Start) {
|
|
if(Start == null) {
|
|
Start = false;
|
|
}
|
|
if(Tween == null) {
|
|
return null;
|
|
}
|
|
this._tweens.push(Tween);
|
|
if(Start) {
|
|
Tween.start();
|
|
}
|
|
return Tween;
|
|
}
|
|
,add_flixel_tweens_misc_NumTween: function(Tween,Start) {
|
|
if(Start == null) {
|
|
Start = false;
|
|
}
|
|
if(Tween == null) {
|
|
return null;
|
|
}
|
|
this._tweens.push(Tween);
|
|
if(Start) {
|
|
Tween.start();
|
|
}
|
|
return Tween;
|
|
}
|
|
,add_flixel_tweens_FlxTween: function(Tween,Start) {
|
|
if(Start == null) {
|
|
Start = false;
|
|
}
|
|
if(Tween == null) {
|
|
return null;
|
|
}
|
|
this._tweens.push(Tween);
|
|
if(Start) {
|
|
Tween.start();
|
|
}
|
|
return Tween;
|
|
}
|
|
,add_flixel_tweens_misc_VarTween: function(Tween,Start) {
|
|
if(Start == null) {
|
|
Start = false;
|
|
}
|
|
if(Tween == null) {
|
|
return null;
|
|
}
|
|
this._tweens.push(Tween);
|
|
if(Start) {
|
|
Tween.start();
|
|
}
|
|
return Tween;
|
|
}
|
|
,_tweens: null
|
|
,tween: function(Object1,Values,Duration,Options) {
|
|
if(Duration == null) {
|
|
Duration = 1;
|
|
}
|
|
var tween = new flixel_tweens_misc_VarTween(Options,this);
|
|
tween.tween(Object1,Values,Duration);
|
|
return this.add_flixel_tweens_misc_VarTween(tween);
|
|
}
|
|
,num: function(FromValue,ToValue,Duration,Options,TweenFunction) {
|
|
if(Duration == null) {
|
|
Duration = 1;
|
|
}
|
|
var tween = new flixel_tweens_misc_NumTween(Options,this);
|
|
tween.tween(FromValue,ToValue,Duration,TweenFunction);
|
|
return this.add_flixel_tweens_misc_NumTween(tween);
|
|
}
|
|
,angle: function(Sprite,FromAngle,ToAngle,Duration,Options) {
|
|
if(Duration == null) {
|
|
Duration = 1;
|
|
}
|
|
var tween = new flixel_tweens_misc_AngleTween(Options,this);
|
|
tween.tween(FromAngle,ToAngle,Duration,Sprite);
|
|
return this.add_flixel_tweens_misc_AngleTween(tween);
|
|
}
|
|
,color: function(Sprite,Duration,FromColor,ToColor,Options) {
|
|
if(Duration == null) {
|
|
Duration = 1;
|
|
}
|
|
var tween = new flixel_tweens_misc_ColorTween(Options,this);
|
|
tween.tween(Duration,FromColor,ToColor,Sprite);
|
|
return this.add_flixel_tweens_misc_ColorTween(tween);
|
|
}
|
|
,linearMotion: function(Object1,FromX,FromY,ToX,ToY,DurationOrSpeed,UseDuration,Options) {
|
|
if(UseDuration == null) {
|
|
UseDuration = true;
|
|
}
|
|
if(DurationOrSpeed == null) {
|
|
DurationOrSpeed = 1;
|
|
}
|
|
var tween = new flixel_tweens_motion_LinearMotion(Options,this);
|
|
tween.setObject(Object1);
|
|
tween.setMotion(FromX,FromY,ToX,ToY,DurationOrSpeed,UseDuration);
|
|
return this.add_flixel_tweens_motion_LinearMotion(tween);
|
|
}
|
|
,quadMotion: function(Object1,FromX,FromY,ControlX,ControlY,ToX,ToY,DurationOrSpeed,UseDuration,Options) {
|
|
if(UseDuration == null) {
|
|
UseDuration = true;
|
|
}
|
|
if(DurationOrSpeed == null) {
|
|
DurationOrSpeed = 1;
|
|
}
|
|
var tween = new flixel_tweens_motion_QuadMotion(Options,this);
|
|
tween.setObject(Object1);
|
|
tween.setMotion(FromX,FromY,ControlX,ControlY,ToX,ToY,DurationOrSpeed,UseDuration);
|
|
return this.add_flixel_tweens_motion_QuadMotion(tween);
|
|
}
|
|
,cubicMotion: function(Object1,FromX,FromY,aX,aY,bX,bY,ToX,ToY,Duration,Options) {
|
|
if(Duration == null) {
|
|
Duration = 1;
|
|
}
|
|
var tween = new flixel_tweens_motion_CubicMotion(Options,this);
|
|
tween.setObject(Object1);
|
|
tween.setMotion(FromX,FromY,aX,aY,bX,bY,ToX,ToY,Duration);
|
|
return this.add_flixel_tweens_motion_CubicMotion(tween);
|
|
}
|
|
,circularMotion: function(Object1,CenterX,CenterY,Radius,Angle,Clockwise,DurationOrSpeed,UseDuration,Options) {
|
|
if(UseDuration == null) {
|
|
UseDuration = true;
|
|
}
|
|
if(DurationOrSpeed == null) {
|
|
DurationOrSpeed = 1;
|
|
}
|
|
var tween = new flixel_tweens_motion_CircularMotion(Options,this);
|
|
tween.setObject(Object1);
|
|
tween.setMotion(CenterX,CenterY,Radius,Angle,Clockwise,DurationOrSpeed,UseDuration);
|
|
return this.add_flixel_tweens_motion_CircularMotion(tween);
|
|
}
|
|
,linearPath: function(Object1,Points,DurationOrSpeed,UseDuration,Options) {
|
|
if(UseDuration == null) {
|
|
UseDuration = true;
|
|
}
|
|
if(DurationOrSpeed == null) {
|
|
DurationOrSpeed = 1;
|
|
}
|
|
var tween = new flixel_tweens_motion_LinearPath(Options,this);
|
|
if(Points != null) {
|
|
var _g = 0;
|
|
while(_g < Points.length) {
|
|
var point = Points[_g];
|
|
++_g;
|
|
tween.addPoint(point.x,point.y);
|
|
}
|
|
}
|
|
tween.setObject(Object1);
|
|
tween.setMotion(DurationOrSpeed,UseDuration);
|
|
return this.add_flixel_tweens_motion_LinearPath(tween);
|
|
}
|
|
,quadPath: function(Object1,Points,DurationOrSpeed,UseDuration,Options) {
|
|
if(UseDuration == null) {
|
|
UseDuration = true;
|
|
}
|
|
if(DurationOrSpeed == null) {
|
|
DurationOrSpeed = 1;
|
|
}
|
|
var tween = new flixel_tweens_motion_QuadPath(Options,this);
|
|
if(Points != null) {
|
|
var _g = 0;
|
|
while(_g < Points.length) {
|
|
var point = Points[_g];
|
|
++_g;
|
|
tween.addPoint(point.x,point.y);
|
|
}
|
|
}
|
|
tween.setObject(Object1);
|
|
tween.setMotion(DurationOrSpeed,UseDuration);
|
|
return this.add_flixel_tweens_motion_QuadPath(tween);
|
|
}
|
|
,destroy: function() {
|
|
flixel_FlxBasic.prototype.destroy.call(this);
|
|
flixel_FlxG.signals.preStateSwitch.remove($bind(this,this.clear));
|
|
}
|
|
,update: function(elapsed) {
|
|
var finishedTweens = null;
|
|
var _g = 0;
|
|
var _g1 = this._tweens;
|
|
while(_g < _g1.length) {
|
|
var tween = _g1[_g];
|
|
++_g;
|
|
if(!tween.active) {
|
|
continue;
|
|
}
|
|
tween.update(elapsed);
|
|
if(tween.finished) {
|
|
if(finishedTweens == null) {
|
|
finishedTweens = [];
|
|
}
|
|
finishedTweens.push(tween);
|
|
}
|
|
}
|
|
if(finishedTweens != null) {
|
|
while(finishedTweens.length > 0) finishedTweens.shift().finish();
|
|
}
|
|
}
|
|
,remove: function(Tween,Destroy) {
|
|
if(Destroy == null) {
|
|
Destroy = true;
|
|
}
|
|
if(Tween == null) {
|
|
return null;
|
|
}
|
|
Tween.set_active(false);
|
|
if(Destroy) {
|
|
Tween.destroy();
|
|
}
|
|
var array = this._tweens;
|
|
var index = array.indexOf(Tween);
|
|
if(index != -1) {
|
|
array[index] = array[array.length - 1];
|
|
array.pop();
|
|
}
|
|
return Tween;
|
|
}
|
|
,clear: function() {
|
|
var _g = 0;
|
|
var _g1 = this._tweens;
|
|
while(_g < _g1.length) {
|
|
var tween = _g1[_g];
|
|
++_g;
|
|
if(tween != null) {
|
|
tween.set_active(false);
|
|
tween.destroy();
|
|
}
|
|
}
|
|
this._tweens.splice(0,this._tweens.length);
|
|
}
|
|
,completeAll: function() {
|
|
var _g = 0;
|
|
var _g1 = this._tweens;
|
|
while(_g < _g1.length) {
|
|
var tween = _g1[_g];
|
|
++_g;
|
|
if((tween.type & 2) == 0 && (tween.type & 4) == 0 && tween.active) {
|
|
tween.update(1.79e+308);
|
|
}
|
|
}
|
|
}
|
|
,forEach: function(Function1) {
|
|
var _g = 0;
|
|
var _g1 = this._tweens;
|
|
while(_g < _g1.length) {
|
|
var tween = _g1[_g];
|
|
++_g;
|
|
Function1(tween);
|
|
}
|
|
}
|
|
,__class__: flixel_tweens_FlxTweenManager
|
|
});
|
|
var flixel_tweens_misc_AngleTween = function(Options,manager) {
|
|
flixel_tweens_FlxTween.call(this,Options,manager);
|
|
};
|
|
$hxClasses["flixel.tweens.misc.AngleTween"] = flixel_tweens_misc_AngleTween;
|
|
flixel_tweens_misc_AngleTween.__name__ = "flixel.tweens.misc.AngleTween";
|
|
flixel_tweens_misc_AngleTween.__super__ = flixel_tweens_FlxTween;
|
|
flixel_tweens_misc_AngleTween.prototype = $extend(flixel_tweens_FlxTween.prototype,{
|
|
angle: null
|
|
,sprite: null
|
|
,_start: null
|
|
,_range: null
|
|
,destroy: function() {
|
|
flixel_tweens_FlxTween.prototype.destroy.call(this);
|
|
this.sprite = null;
|
|
}
|
|
,tween: function(FromAngle,ToAngle,Duration,Sprite) {
|
|
this._start = this.angle = FromAngle;
|
|
this._range = ToAngle - this.angle;
|
|
this.duration = Duration;
|
|
this.sprite = Sprite;
|
|
if(this.sprite != null) {
|
|
this.sprite.set_angle(this.angle % 360);
|
|
}
|
|
this.start();
|
|
return this;
|
|
}
|
|
,update: function(elapsed) {
|
|
flixel_tweens_FlxTween.prototype.update.call(this,elapsed);
|
|
this.angle = this._start + this._range * this.scale;
|
|
if(this.sprite != null) {
|
|
var spriteAngle = this.angle % 360;
|
|
this.sprite.set_angle(spriteAngle);
|
|
}
|
|
}
|
|
,__class__: flixel_tweens_misc_AngleTween
|
|
});
|
|
var flixel_tweens_misc_ColorTween = function(Options,manager) {
|
|
flixel_tweens_FlxTween.call(this,Options,manager);
|
|
};
|
|
$hxClasses["flixel.tweens.misc.ColorTween"] = flixel_tweens_misc_ColorTween;
|
|
flixel_tweens_misc_ColorTween.__name__ = "flixel.tweens.misc.ColorTween";
|
|
flixel_tweens_misc_ColorTween.__super__ = flixel_tweens_FlxTween;
|
|
flixel_tweens_misc_ColorTween.prototype = $extend(flixel_tweens_FlxTween.prototype,{
|
|
color: null
|
|
,startColor: null
|
|
,endColor: null
|
|
,sprite: null
|
|
,destroy: function() {
|
|
flixel_tweens_FlxTween.prototype.destroy.call(this);
|
|
this.sprite = null;
|
|
}
|
|
,tween: function(Duration,FromColor,ToColor,Sprite) {
|
|
this.color = this.startColor = FromColor;
|
|
this.endColor = ToColor;
|
|
this.duration = Duration;
|
|
this.sprite = Sprite;
|
|
this.start();
|
|
return this;
|
|
}
|
|
,update: function(elapsed) {
|
|
flixel_tweens_FlxTween.prototype.update.call(this,elapsed);
|
|
var Color1 = this.startColor;
|
|
var Color2 = this.endColor;
|
|
var Factor = this.scale;
|
|
if(Factor == null) {
|
|
Factor = 0.5;
|
|
}
|
|
var r = ((Color2 >> 16 & 255) - (Color1 >> 16 & 255)) * Factor + (Color1 >> 16 & 255) | 0;
|
|
var g = ((Color2 >> 8 & 255) - (Color1 >> 8 & 255)) * Factor + (Color1 >> 8 & 255) | 0;
|
|
var b = ((Color2 & 255) - (Color1 & 255)) * Factor + (Color1 & 255) | 0;
|
|
var a = ((Color2 >> 24 & 255) - (Color1 >> 24 & 255)) * Factor + (Color1 >> 24 & 255) | 0;
|
|
var Alpha = a;
|
|
if(Alpha == null) {
|
|
Alpha = 255;
|
|
}
|
|
var color = flixel_util_FlxColor._new();
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 255;
|
|
}
|
|
color &= -16711681;
|
|
color |= (r > 255 ? 255 : r < 0 ? 0 : r) << 16;
|
|
color &= -65281;
|
|
color |= (g > 255 ? 255 : g < 0 ? 0 : g) << 8;
|
|
color &= -256;
|
|
color |= b > 255 ? 255 : b < 0 ? 0 : b;
|
|
color &= 16777215;
|
|
color |= (Alpha1 > 255 ? 255 : Alpha1 < 0 ? 0 : Alpha1) << 24;
|
|
this.color = color;
|
|
if(this.sprite != null) {
|
|
this.sprite.set_color(this.color);
|
|
this.sprite.set_alpha((this.color >> 24 & 255) / 255);
|
|
}
|
|
}
|
|
,__class__: flixel_tweens_misc_ColorTween
|
|
});
|
|
var flixel_tweens_misc_NumTween = function(Options,manager) {
|
|
flixel_tweens_FlxTween.call(this,Options,manager);
|
|
};
|
|
$hxClasses["flixel.tweens.misc.NumTween"] = flixel_tweens_misc_NumTween;
|
|
flixel_tweens_misc_NumTween.__name__ = "flixel.tweens.misc.NumTween";
|
|
flixel_tweens_misc_NumTween.__super__ = flixel_tweens_FlxTween;
|
|
flixel_tweens_misc_NumTween.prototype = $extend(flixel_tweens_FlxTween.prototype,{
|
|
value: null
|
|
,_tweenFunction: null
|
|
,_start: null
|
|
,_range: null
|
|
,destroy: function() {
|
|
flixel_tweens_FlxTween.prototype.destroy.call(this);
|
|
this._tweenFunction = null;
|
|
}
|
|
,tween: function(fromValue,toValue,duration,tweenFunction) {
|
|
this._tweenFunction = tweenFunction;
|
|
this._start = this.value = fromValue;
|
|
this._range = toValue - this.value;
|
|
this.duration = duration;
|
|
this.start();
|
|
return this;
|
|
}
|
|
,update: function(elapsed) {
|
|
flixel_tweens_FlxTween.prototype.update.call(this,elapsed);
|
|
this.value = this._start + this._range * this.scale;
|
|
if(this._tweenFunction != null) {
|
|
this._tweenFunction(this.value);
|
|
}
|
|
}
|
|
,__class__: flixel_tweens_misc_NumTween
|
|
});
|
|
var flixel_tweens_misc_VarTween = function(options,manager) {
|
|
flixel_tweens_FlxTween.call(this,options,manager);
|
|
};
|
|
$hxClasses["flixel.tweens.misc.VarTween"] = flixel_tweens_misc_VarTween;
|
|
flixel_tweens_misc_VarTween.__name__ = "flixel.tweens.misc.VarTween";
|
|
flixel_tweens_misc_VarTween.__super__ = flixel_tweens_FlxTween;
|
|
flixel_tweens_misc_VarTween.prototype = $extend(flixel_tweens_FlxTween.prototype,{
|
|
_object: null
|
|
,_properties: null
|
|
,_propertyInfos: null
|
|
,tween: function(object,properties,duration) {
|
|
this._object = object;
|
|
this._properties = properties;
|
|
this._propertyInfos = [];
|
|
this.duration = duration;
|
|
this.start();
|
|
return this;
|
|
}
|
|
,update: function(elapsed) {
|
|
var delay = this.executions > 0 ? this.loopDelay : this.startDelay;
|
|
if(this._secondsSinceStart < delay) {
|
|
flixel_tweens_FlxTween.prototype.update.call(this,elapsed);
|
|
} else {
|
|
if(this._propertyInfos.length == 0) {
|
|
this.initializeVars();
|
|
}
|
|
flixel_tweens_FlxTween.prototype.update.call(this,elapsed);
|
|
var _g = 0;
|
|
var _g1 = this._propertyInfos;
|
|
while(_g < _g1.length) {
|
|
var info = _g1[_g];
|
|
++_g;
|
|
Reflect.setProperty(info.object,info.field,info.startValue + info.range * this.scale);
|
|
}
|
|
}
|
|
}
|
|
,initializeVars: function() {
|
|
var fieldPaths;
|
|
if(Reflect.isObject(this._properties)) {
|
|
fieldPaths = Reflect.fields(this._properties);
|
|
} else {
|
|
throw haxe_Exception.thrown("Unsupported properties container - use an object containing key/value pairs.");
|
|
}
|
|
var _g = 0;
|
|
while(_g < fieldPaths.length) {
|
|
var fieldPath = fieldPaths[_g];
|
|
++_g;
|
|
var target = this._object;
|
|
var path = fieldPath.split(".");
|
|
var field = path.pop();
|
|
var _g1 = 0;
|
|
while(_g1 < path.length) {
|
|
var component = path[_g1];
|
|
++_g1;
|
|
target = Reflect.getProperty(target,component);
|
|
if(!Reflect.isObject(target)) {
|
|
throw haxe_Exception.thrown("The object does not have the property \"" + component + "\" in \"" + fieldPath + "\"");
|
|
}
|
|
}
|
|
if(Reflect.getProperty(target,field) == null) {
|
|
throw haxe_Exception.thrown("The object does not have the property \"" + field + "\"");
|
|
}
|
|
var value = Reflect.getProperty(target,field);
|
|
if(isNaN(value)) {
|
|
throw haxe_Exception.thrown("The property \"" + field + "\" is not numeric.");
|
|
}
|
|
var targetValue = Reflect.getProperty(this._properties,fieldPath);
|
|
this._propertyInfos.push({ object : target, field : field, startValue : value, range : targetValue - value});
|
|
}
|
|
}
|
|
,destroy: function() {
|
|
flixel_tweens_FlxTween.prototype.destroy.call(this);
|
|
this._object = null;
|
|
this._properties = null;
|
|
this._propertyInfos = null;
|
|
}
|
|
,__class__: flixel_tweens_misc_VarTween
|
|
});
|
|
var flixel_tweens_motion_Motion = function(Options,manager) {
|
|
this.y = 0;
|
|
this.x = 0;
|
|
flixel_tweens_FlxTween.call(this,Options,manager);
|
|
};
|
|
$hxClasses["flixel.tweens.motion.Motion"] = flixel_tweens_motion_Motion;
|
|
flixel_tweens_motion_Motion.__name__ = "flixel.tweens.motion.Motion";
|
|
flixel_tweens_motion_Motion.__super__ = flixel_tweens_FlxTween;
|
|
flixel_tweens_motion_Motion.prototype = $extend(flixel_tweens_FlxTween.prototype,{
|
|
x: null
|
|
,y: null
|
|
,_object: null
|
|
,_wasObjectImmovable: null
|
|
,destroy: function() {
|
|
flixel_tweens_FlxTween.prototype.destroy.call(this);
|
|
this._object = null;
|
|
}
|
|
,setObject: function(object) {
|
|
this._object = object;
|
|
this._wasObjectImmovable = this._object.immovable;
|
|
this._object.set_immovable(true);
|
|
return this;
|
|
}
|
|
,update: function(elapsed) {
|
|
flixel_tweens_FlxTween.prototype.update.call(this,elapsed);
|
|
this.postUpdate();
|
|
}
|
|
,onEnd: function() {
|
|
this._object.set_immovable(this._wasObjectImmovable);
|
|
flixel_tweens_FlxTween.prototype.onEnd.call(this);
|
|
}
|
|
,postUpdate: function() {
|
|
if(this._object != null) {
|
|
this._object.setPosition(this.x,this.y);
|
|
}
|
|
}
|
|
,__class__: flixel_tweens_motion_Motion
|
|
});
|
|
var flixel_tweens_motion_CircularMotion = function(Options,manager) {
|
|
this._angleFinish = 0;
|
|
this._angleStart = 0;
|
|
this._radius = 0;
|
|
this._centerY = 0;
|
|
this._centerX = 0;
|
|
this.angle = 0;
|
|
flixel_tweens_motion_Motion.call(this,Options,manager);
|
|
};
|
|
$hxClasses["flixel.tweens.motion.CircularMotion"] = flixel_tweens_motion_CircularMotion;
|
|
flixel_tweens_motion_CircularMotion.__name__ = "flixel.tweens.motion.CircularMotion";
|
|
flixel_tweens_motion_CircularMotion.__super__ = flixel_tweens_motion_Motion;
|
|
flixel_tweens_motion_CircularMotion.prototype = $extend(flixel_tweens_motion_Motion.prototype,{
|
|
angle: null
|
|
,_centerX: null
|
|
,_centerY: null
|
|
,_radius: null
|
|
,_angleStart: null
|
|
,_angleFinish: null
|
|
,setMotion: function(CenterX,CenterY,Radius,Angle,Clockwise,DurationOrSpeed,UseDuration) {
|
|
if(UseDuration == null) {
|
|
UseDuration = true;
|
|
}
|
|
this._centerX = CenterX;
|
|
this._centerY = CenterY;
|
|
this._radius = Radius;
|
|
this.angle = this._angleStart = Angle * Math.PI / -180;
|
|
this._angleFinish = Math.PI * 2 * (Clockwise ? 1 : -1);
|
|
if(UseDuration) {
|
|
this.duration = DurationOrSpeed;
|
|
} else {
|
|
this.duration = this._radius * (Math.PI * 2) / DurationOrSpeed;
|
|
}
|
|
this.start();
|
|
return this;
|
|
}
|
|
,update: function(elapsed) {
|
|
flixel_tweens_motion_Motion.prototype.update.call(this,elapsed);
|
|
this.angle = this._angleStart + this._angleFinish * this.scale;
|
|
this.x = this._centerX + Math.cos(this.angle) * this._radius;
|
|
this.y = this._centerY + Math.sin(this.angle) * this._radius;
|
|
if(this.finished) {
|
|
this.postUpdate();
|
|
}
|
|
}
|
|
,get_circumference: function() {
|
|
return this._radius * (Math.PI * 2);
|
|
}
|
|
,__class__: flixel_tweens_motion_CircularMotion
|
|
,__properties__: $extend(flixel_tweens_motion_Motion.prototype.__properties__,{get_circumference:"get_circumference"})
|
|
});
|
|
var flixel_tweens_motion_CubicMotion = function(Options,manager) {
|
|
this._tt = 0;
|
|
this._ttt = 0;
|
|
this._bY = 0;
|
|
this._bX = 0;
|
|
this._aY = 0;
|
|
this._aX = 0;
|
|
this._toY = 0;
|
|
this._toX = 0;
|
|
this._fromY = 0;
|
|
this._fromX = 0;
|
|
flixel_tweens_motion_Motion.call(this,Options,manager);
|
|
};
|
|
$hxClasses["flixel.tweens.motion.CubicMotion"] = flixel_tweens_motion_CubicMotion;
|
|
flixel_tweens_motion_CubicMotion.__name__ = "flixel.tweens.motion.CubicMotion";
|
|
flixel_tweens_motion_CubicMotion.__super__ = flixel_tweens_motion_Motion;
|
|
flixel_tweens_motion_CubicMotion.prototype = $extend(flixel_tweens_motion_Motion.prototype,{
|
|
_fromX: null
|
|
,_fromY: null
|
|
,_toX: null
|
|
,_toY: null
|
|
,_aX: null
|
|
,_aY: null
|
|
,_bX: null
|
|
,_bY: null
|
|
,_ttt: null
|
|
,_tt: null
|
|
,setMotion: function(fromX,fromY,aX,aY,bX,bY,toX,toY,duration) {
|
|
this.x = this._fromX = fromX;
|
|
this.y = this._fromY = fromY;
|
|
this._aX = aX;
|
|
this._aY = aY;
|
|
this._bX = bX;
|
|
this._bY = bY;
|
|
this._toX = toX;
|
|
this._toY = toY;
|
|
this.duration = duration;
|
|
this.start();
|
|
return this;
|
|
}
|
|
,update: function(elapsed) {
|
|
flixel_tweens_motion_Motion.prototype.update.call(this,elapsed);
|
|
this.x = this.scale * this.scale * this.scale * (this._toX + 3 * (this._aX - this._bX) - this._fromX) + 3 * this.scale * this.scale * (this._fromX - 2 * this._aX + this._bX) + 3 * this.scale * (this._aX - this._fromX) + this._fromX;
|
|
this.y = this.scale * this.scale * this.scale * (this._toY + 3 * (this._aY - this._bY) - this._fromY) + 3 * this.scale * this.scale * (this._fromY - 2 * this._aY + this._bY) + 3 * this.scale * (this._aY - this._fromY) + this._fromY;
|
|
if(this.finished) {
|
|
this.postUpdate();
|
|
}
|
|
}
|
|
,__class__: flixel_tweens_motion_CubicMotion
|
|
});
|
|
var flixel_tweens_motion_LinearMotion = function(Options,manager) {
|
|
this._distance = -1;
|
|
this._moveY = 0;
|
|
this._moveX = 0;
|
|
this._fromY = 0;
|
|
this._fromX = 0;
|
|
flixel_tweens_motion_Motion.call(this,Options,manager);
|
|
};
|
|
$hxClasses["flixel.tweens.motion.LinearMotion"] = flixel_tweens_motion_LinearMotion;
|
|
flixel_tweens_motion_LinearMotion.__name__ = "flixel.tweens.motion.LinearMotion";
|
|
flixel_tweens_motion_LinearMotion.__super__ = flixel_tweens_motion_Motion;
|
|
flixel_tweens_motion_LinearMotion.prototype = $extend(flixel_tweens_motion_Motion.prototype,{
|
|
_fromX: null
|
|
,_fromY: null
|
|
,_moveX: null
|
|
,_moveY: null
|
|
,_distance: null
|
|
,setMotion: function(FromX,FromY,ToX,ToY,DurationOrSpeed,UseDuration) {
|
|
if(UseDuration == null) {
|
|
UseDuration = true;
|
|
}
|
|
this._distance = -1;
|
|
this.x = this._fromX = FromX;
|
|
this.y = this._fromY = FromY;
|
|
this._moveX = ToX - FromX;
|
|
this._moveY = ToY - FromY;
|
|
if(UseDuration) {
|
|
this.duration = DurationOrSpeed;
|
|
} else {
|
|
this.duration = this.get_distance() / DurationOrSpeed;
|
|
}
|
|
this.start();
|
|
return this;
|
|
}
|
|
,update: function(elapsed) {
|
|
flixel_tweens_motion_Motion.prototype.update.call(this,elapsed);
|
|
this.x = this._fromX + this._moveX * this.scale;
|
|
this.y = this._fromY + this._moveY * this.scale;
|
|
if(this.x == this._fromX + this._moveX && this.y == this._fromY + this._moveY && this.active && this._secondsSinceStart >= this.duration) {
|
|
this.finished = true;
|
|
}
|
|
if(this.finished) {
|
|
this.postUpdate();
|
|
}
|
|
}
|
|
,get_distance: function() {
|
|
if(this._distance >= 0) {
|
|
return this._distance;
|
|
}
|
|
return this._distance = Math.sqrt(this._moveX * this._moveX + this._moveY * this._moveY);
|
|
}
|
|
,__class__: flixel_tweens_motion_LinearMotion
|
|
,__properties__: $extend(flixel_tweens_motion_Motion.prototype.__properties__,{get_distance:"get_distance"})
|
|
});
|
|
var flixel_tweens_motion_LinearPath = function(Options,manager) {
|
|
this._index = 0;
|
|
this._speed = 0;
|
|
this.distance = 0;
|
|
flixel_tweens_motion_Motion.call(this,Options,manager);
|
|
this.points = [];
|
|
this._pointD = [0];
|
|
this._pointT = [0];
|
|
};
|
|
$hxClasses["flixel.tweens.motion.LinearPath"] = flixel_tweens_motion_LinearPath;
|
|
flixel_tweens_motion_LinearPath.__name__ = "flixel.tweens.motion.LinearPath";
|
|
flixel_tweens_motion_LinearPath.__super__ = flixel_tweens_motion_Motion;
|
|
flixel_tweens_motion_LinearPath.prototype = $extend(flixel_tweens_motion_Motion.prototype,{
|
|
distance: null
|
|
,points: null
|
|
,_pointD: null
|
|
,_pointT: null
|
|
,_speed: null
|
|
,_index: null
|
|
,_last: null
|
|
,_prevPoint: null
|
|
,_nextPoint: null
|
|
,destroy: function() {
|
|
flixel_tweens_motion_Motion.prototype.destroy.call(this);
|
|
var _g = 0;
|
|
var _g1 = this.points;
|
|
while(_g < _g1.length) {
|
|
var point = _g1[_g];
|
|
++_g;
|
|
point = flixel_util_FlxDestroyUtil.put(point);
|
|
}
|
|
this._last = flixel_util_FlxDestroyUtil.put(this._last);
|
|
this._prevPoint = flixel_util_FlxDestroyUtil.put(this._prevPoint);
|
|
this._nextPoint = flixel_util_FlxDestroyUtil.put(this._nextPoint);
|
|
}
|
|
,setMotion: function(DurationOrSpeed,UseDuration) {
|
|
if(UseDuration == null) {
|
|
UseDuration = true;
|
|
}
|
|
this.updatePath();
|
|
if(UseDuration) {
|
|
this.duration = DurationOrSpeed;
|
|
this._speed = this.distance / DurationOrSpeed;
|
|
} else {
|
|
this.duration = this.distance / DurationOrSpeed;
|
|
this._speed = DurationOrSpeed;
|
|
}
|
|
this.start();
|
|
return this;
|
|
}
|
|
,addPoint: function(x,y) {
|
|
if(y == null) {
|
|
y = 0;
|
|
}
|
|
if(x == null) {
|
|
x = 0;
|
|
}
|
|
if(this._last != null) {
|
|
this.distance += Math.sqrt((x - this._last.x) * (x - this._last.x) + (y - this._last.y) * (y - this._last.y));
|
|
this._pointD[this.points.length] = this.distance;
|
|
}
|
|
var tmp = this.points;
|
|
var tmp1 = this.points.length;
|
|
var X = x;
|
|
var Y = y;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
tmp[tmp1] = this._last = point;
|
|
return this;
|
|
}
|
|
,getPoint: function(index) {
|
|
if(index == null) {
|
|
index = 0;
|
|
}
|
|
if(this.points.length == 0) {
|
|
throw haxe_Exception.thrown("No points have been added to the path yet.");
|
|
}
|
|
return this.points[index % this.points.length];
|
|
}
|
|
,start: function() {
|
|
this._index = this.backward ? this.points.length - 1 : 0;
|
|
flixel_tweens_motion_Motion.prototype.start.call(this);
|
|
return this;
|
|
}
|
|
,update: function(elapsed) {
|
|
flixel_tweens_motion_Motion.prototype.update.call(this,elapsed);
|
|
var td;
|
|
var tt;
|
|
if(this.points == null) {
|
|
return;
|
|
}
|
|
if(!this.backward) {
|
|
if(this._index < this.points.length - 1) {
|
|
while(this.scale > this._pointT[this._index + 1]) {
|
|
this._index++;
|
|
if(this._index == this.points.length - 1) {
|
|
this._index -= 1;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
td = this._pointT[this._index];
|
|
tt = this._pointT[this._index + 1] - td;
|
|
td = (this.scale - td) / tt;
|
|
this._prevPoint = this.points[this._index];
|
|
this._nextPoint = this.points[this._index + 1];
|
|
this.x = this._prevPoint.x + (this._nextPoint.x - this._prevPoint.x) * td;
|
|
this.y = this._prevPoint.y + (this._nextPoint.y - this._prevPoint.y) * td;
|
|
} else {
|
|
if(this._index > 0) {
|
|
while(this.scale < this._pointT[this._index - 1]) {
|
|
this._index -= 1;
|
|
if(this._index == 0) {
|
|
this._index += 1;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
td = this._pointT[this._index];
|
|
tt = this._pointT[this._index - 1] - td;
|
|
td = (this.scale - td) / tt;
|
|
this._prevPoint = this.points[this._index];
|
|
this._nextPoint = this.points[this._index - 1];
|
|
this.x = this._prevPoint.x + (this._nextPoint.x - this._prevPoint.x) * td;
|
|
this.y = this._prevPoint.y + (this._nextPoint.y - this._prevPoint.y) * td;
|
|
}
|
|
flixel_tweens_motion_Motion.prototype.postUpdate.call(this);
|
|
}
|
|
,updatePath: function() {
|
|
if(this.points.length < 2) {
|
|
throw haxe_Exception.thrown("A LinearPath must have at least 2 points to operate.");
|
|
}
|
|
if(this._pointD.length == this._pointT.length) {
|
|
return;
|
|
}
|
|
var i = 0;
|
|
while(i < this.points.length) this._pointT[i] = this._pointD[i++] / this.distance;
|
|
}
|
|
,__class__: flixel_tweens_motion_LinearPath
|
|
});
|
|
var flixel_tweens_motion_QuadMotion = function(Options,manager) {
|
|
this._controlY = 0;
|
|
this._controlX = 0;
|
|
this._toY = 0;
|
|
this._toX = 0;
|
|
this._fromY = 0;
|
|
this._fromX = 0;
|
|
this._distance = -1;
|
|
flixel_tweens_motion_Motion.call(this,Options,manager);
|
|
};
|
|
$hxClasses["flixel.tweens.motion.QuadMotion"] = flixel_tweens_motion_QuadMotion;
|
|
flixel_tweens_motion_QuadMotion.__name__ = "flixel.tweens.motion.QuadMotion";
|
|
flixel_tweens_motion_QuadMotion.__super__ = flixel_tweens_motion_Motion;
|
|
flixel_tweens_motion_QuadMotion.prototype = $extend(flixel_tweens_motion_Motion.prototype,{
|
|
_distance: null
|
|
,_fromX: null
|
|
,_fromY: null
|
|
,_toX: null
|
|
,_toY: null
|
|
,_controlX: null
|
|
,_controlY: null
|
|
,setMotion: function(FromX,FromY,ControlX,ControlY,ToX,ToY,DurationOrSpeed,UseDuration) {
|
|
if(UseDuration == null) {
|
|
UseDuration = true;
|
|
}
|
|
this._distance = -1;
|
|
this.x = this._fromX = FromX;
|
|
this.y = this._fromY = FromY;
|
|
this._controlX = ControlX;
|
|
this._controlY = ControlY;
|
|
this._toX = ToX;
|
|
this._toY = ToY;
|
|
if(UseDuration) {
|
|
this.duration = DurationOrSpeed;
|
|
} else {
|
|
this.duration = this.get_distance() / DurationOrSpeed;
|
|
}
|
|
this.start();
|
|
return this;
|
|
}
|
|
,update: function(elapsed) {
|
|
flixel_tweens_motion_Motion.prototype.update.call(this,elapsed);
|
|
this.x = this._fromX * (1 - this.scale) * (1 - this.scale) + this._controlX * 2 * (1 - this.scale) * this.scale + this._toX * this.scale * this.scale;
|
|
this.y = this._fromY * (1 - this.scale) * (1 - this.scale) + this._controlY * 2 * (1 - this.scale) * this.scale + this._toY * this.scale * this.scale;
|
|
if(this.finished) {
|
|
this.postUpdate();
|
|
}
|
|
}
|
|
,get_distance: function() {
|
|
if(this._distance >= 0) {
|
|
return this._distance;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
var p1 = point;
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
var p2 = point;
|
|
p1.set_x(this.x - 2 * this._controlX + this._toX);
|
|
p1.set_y(this.y - 2 * this._controlY + this._toY);
|
|
p2.set_x(2 * this._controlX - 2 * this.x);
|
|
p2.set_y(2 * this._controlY - 2 * this.y);
|
|
var a = 4 * (p1.x * p1.x + p1.y * p1.y);
|
|
var b = 4 * (p1.x * p2.x + p1.y * p2.y);
|
|
var c = p2.x * p2.x + p2.y * p2.y;
|
|
var abc = 2 * Math.sqrt(a + b + c);
|
|
var a2 = Math.sqrt(a);
|
|
var a32 = 2 * a * a2;
|
|
var c2 = 2 * Math.sqrt(c);
|
|
var ba = b / a2;
|
|
p1.put();
|
|
p2.put();
|
|
return (a32 * abc + a2 * b * (abc - c2) + (4 * c * a - b * b) * Math.log((2 * a2 + ba + abc) / (ba + c2))) / (4 * a32);
|
|
}
|
|
,__class__: flixel_tweens_motion_QuadMotion
|
|
,__properties__: $extend(flixel_tweens_motion_Motion.prototype.__properties__,{get_distance:"get_distance"})
|
|
});
|
|
var flixel_tweens_motion_QuadPath = function(Options,manager) {
|
|
this._updateCurve = true;
|
|
this._numSegs = 0;
|
|
this._index = 0;
|
|
this._speed = 0;
|
|
this._distance = 0;
|
|
flixel_tweens_motion_Motion.call(this,Options,manager);
|
|
this._points = [];
|
|
this._curveT = [];
|
|
this._curveD = [];
|
|
};
|
|
$hxClasses["flixel.tweens.motion.QuadPath"] = flixel_tweens_motion_QuadPath;
|
|
flixel_tweens_motion_QuadPath.__name__ = "flixel.tweens.motion.QuadPath";
|
|
flixel_tweens_motion_QuadPath.__super__ = flixel_tweens_motion_Motion;
|
|
flixel_tweens_motion_QuadPath.prototype = $extend(flixel_tweens_motion_Motion.prototype,{
|
|
_points: null
|
|
,_distance: null
|
|
,_speed: null
|
|
,_index: null
|
|
,_numSegs: null
|
|
,_updateCurve: null
|
|
,_curveT: null
|
|
,_curveD: null
|
|
,_a: null
|
|
,_b: null
|
|
,_c: null
|
|
,destroy: function() {
|
|
flixel_tweens_motion_Motion.prototype.destroy.call(this);
|
|
var _g = 0;
|
|
var _g1 = this._points;
|
|
while(_g < _g1.length) {
|
|
var point = _g1[_g];
|
|
++_g;
|
|
point = flixel_util_FlxDestroyUtil.put(point);
|
|
}
|
|
this._a = flixel_util_FlxDestroyUtil.put(this._a);
|
|
this._b = flixel_util_FlxDestroyUtil.put(this._b);
|
|
this._c = flixel_util_FlxDestroyUtil.put(this._c);
|
|
}
|
|
,setMotion: function(DurationOrSpeed,UseDuration) {
|
|
if(UseDuration == null) {
|
|
UseDuration = true;
|
|
}
|
|
this.updatePath();
|
|
if(UseDuration) {
|
|
this.duration = DurationOrSpeed;
|
|
this._speed = this._distance / DurationOrSpeed;
|
|
} else {
|
|
this.duration = this._distance / DurationOrSpeed;
|
|
this._speed = DurationOrSpeed;
|
|
}
|
|
this.start();
|
|
return this;
|
|
}
|
|
,addPoint: function(x,y) {
|
|
if(y == null) {
|
|
y = 0;
|
|
}
|
|
if(x == null) {
|
|
x = 0;
|
|
}
|
|
this._updateCurve = true;
|
|
var tmp = this._points;
|
|
var X = x;
|
|
var Y = y;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
tmp.push(point);
|
|
return this;
|
|
}
|
|
,getPoint: function(index) {
|
|
if(index == null) {
|
|
index = 0;
|
|
}
|
|
if(this._points.length == 0) {
|
|
throw haxe_Exception.thrown("No points have been added to the path yet.");
|
|
}
|
|
return this._points[index % this._points.length];
|
|
}
|
|
,start: function() {
|
|
this._index = this.backward ? this._numSegs - 1 : 0;
|
|
flixel_tweens_motion_Motion.prototype.start.call(this);
|
|
return this;
|
|
}
|
|
,update: function(elapsed) {
|
|
flixel_tweens_motion_Motion.prototype.update.call(this,elapsed);
|
|
var td;
|
|
var tt;
|
|
if(!this.backward && this._points != null) {
|
|
if(this._index < this._numSegs - 1) {
|
|
while(this.scale > this._curveT[this._index + 1]) {
|
|
this._index++;
|
|
if(this._index == this._numSegs - 1) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
td = this._curveT[this._index];
|
|
tt = this._curveT[this._index + 1] - td;
|
|
td = (this.scale - td) / tt;
|
|
this._a = this._points[this._index * 2];
|
|
this._b = this._points[this._index * 2 + 1];
|
|
this._c = this._points[this._index * 2 + 2];
|
|
this.x = this._a.x * (1 - td) * (1 - td) + this._b.x * 2 * (1 - td) * td + this._c.x * td * td;
|
|
this.y = this._a.y * (1 - td) * (1 - td) + this._b.y * 2 * (1 - td) * td + this._c.y * td * td;
|
|
} else if(this._points != null) {
|
|
if(this._index > 0) {
|
|
while(this.scale < this._curveT[this._index]) {
|
|
this._index--;
|
|
if(this._index == 0) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
td = this._curveT[this._index + 1];
|
|
tt = this._curveT[this._index] - td;
|
|
td = (this.scale - td) / tt;
|
|
this._a = this._points[this._index * 2 + 2];
|
|
this._b = this._points[this._index * 2 + 1];
|
|
this._c = this._points[this._index * 2];
|
|
this.x = this._a.x * (1 - td) * (1 - td) + this._b.x * 2 * (1 - td) * td + this._c.x * td * td;
|
|
this.y = this._a.y * (1 - td) * (1 - td) + this._b.y * 2 * (1 - td) * td + this._c.y * td * td;
|
|
}
|
|
flixel_tweens_motion_Motion.prototype.postUpdate.call(this);
|
|
}
|
|
,updatePath: function() {
|
|
if((this._points.length - 1) % 2 != 0 || this._points.length < 3) {
|
|
throw haxe_Exception.thrown("A QuadPath must have at least 3 points to operate and number of points must be a odd.");
|
|
}
|
|
if(!this._updateCurve) {
|
|
return;
|
|
}
|
|
this._updateCurve = false;
|
|
var i = 0;
|
|
var j = 0;
|
|
this._distance = 0;
|
|
this._numSegs = (this._points.length - 1) / 2 | 0;
|
|
while(i < this._numSegs) {
|
|
j = i * 2;
|
|
this._curveD[i] = this.getCurveLength(this._points[j],this._points[j + 1],this._points[j + 2]);
|
|
this._distance += this._curveD[i++];
|
|
}
|
|
i = 0;
|
|
var d = 0;
|
|
while(i < this._numSegs) {
|
|
d += this._curveD[i];
|
|
this._curveT[i++] = d / this._distance;
|
|
}
|
|
this._curveT[this._numSegs - 1] = 1;
|
|
this._curveT.unshift(0);
|
|
}
|
|
,getCurveLength: function(start,control,finish) {
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
var p1 = point;
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
var p2 = point;
|
|
p1.set_x(start.x - 2 * control.x + finish.x);
|
|
p1.set_y(start.y - 2 * control.y + finish.y);
|
|
p2.set_x(2 * control.x - 2 * start.x);
|
|
p2.set_y(2 * control.y - 2 * start.y);
|
|
var a = 4 * (p1.x * p1.x + p1.y * p1.y);
|
|
var b = 4 * (p1.x * p2.x + p1.y * p2.y);
|
|
var c = p2.x * p2.x + p2.y * p2.y;
|
|
var abc = 2 * Math.sqrt(a + b + c);
|
|
var a2 = Math.sqrt(a);
|
|
var a32 = 2 * a * a2;
|
|
var c2 = 2 * Math.sqrt(c);
|
|
var ba = b / a2;
|
|
p1.put();
|
|
p2.put();
|
|
return (a32 * abc + a2 * b * (abc - c2) + (4 * c * a - b * b) * Math.log((2 * a2 + ba + abc) / (ba + c2))) / (4 * a32);
|
|
}
|
|
,__class__: flixel_tweens_motion_QuadPath
|
|
});
|
|
var flixel_ui_FlxBarFillDirection = $hxEnums["flixel.ui.FlxBarFillDirection"] = { __ename__ : "flixel.ui.FlxBarFillDirection", __constructs__ : ["LEFT_TO_RIGHT","RIGHT_TO_LEFT","TOP_TO_BOTTOM","BOTTOM_TO_TOP","HORIZONTAL_INSIDE_OUT","HORIZONTAL_OUTSIDE_IN","VERTICAL_INSIDE_OUT","VERTICAL_OUTSIDE_IN"]
|
|
,LEFT_TO_RIGHT: {_hx_index:0,__enum__:"flixel.ui.FlxBarFillDirection",toString:$estr}
|
|
,RIGHT_TO_LEFT: {_hx_index:1,__enum__:"flixel.ui.FlxBarFillDirection",toString:$estr}
|
|
,TOP_TO_BOTTOM: {_hx_index:2,__enum__:"flixel.ui.FlxBarFillDirection",toString:$estr}
|
|
,BOTTOM_TO_TOP: {_hx_index:3,__enum__:"flixel.ui.FlxBarFillDirection",toString:$estr}
|
|
,HORIZONTAL_INSIDE_OUT: {_hx_index:4,__enum__:"flixel.ui.FlxBarFillDirection",toString:$estr}
|
|
,HORIZONTAL_OUTSIDE_IN: {_hx_index:5,__enum__:"flixel.ui.FlxBarFillDirection",toString:$estr}
|
|
,VERTICAL_INSIDE_OUT: {_hx_index:6,__enum__:"flixel.ui.FlxBarFillDirection",toString:$estr}
|
|
,VERTICAL_OUTSIDE_IN: {_hx_index:7,__enum__:"flixel.ui.FlxBarFillDirection",toString:$estr}
|
|
};
|
|
var flixel_ui_FlxTypedButton_$flixel_$text_$FlxText = function(X,Y,OnClick) {
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
this.lastStatus = -1;
|
|
this.maxInputMovement = Infinity;
|
|
this.mouseButtons = [-1];
|
|
this.allowSwiping = true;
|
|
this.statusAnimations = ["normal","highlight","pressed"];
|
|
this.labelAlphas = [0.8,1.0,0.5];
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
var point1 = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point1._inPool = false;
|
|
var point2 = flixel_math_FlxPoint._pool.get().set(0,1);
|
|
point2._inPool = false;
|
|
this.labelOffsets = [point,point1,point2];
|
|
flixel_FlxSprite.call(this,X,Y);
|
|
this.loadDefaultGraphic();
|
|
this.onUp = new flixel_ui__$FlxButton_FlxButtonEvent(OnClick);
|
|
this.onDown = new flixel_ui__$FlxButton_FlxButtonEvent();
|
|
this.onOver = new flixel_ui__$FlxButton_FlxButtonEvent();
|
|
this.onOut = new flixel_ui__$FlxButton_FlxButtonEvent();
|
|
this.set_status(0);
|
|
this.scrollFactor.set();
|
|
openfl_Lib.get_current().stage.addEventListener("mouseUp",$bind(this,this.onUpEventListener));
|
|
this.input = new flixel_input_FlxInput(0);
|
|
};
|
|
$hxClasses["flixel.ui.FlxTypedButton_flixel_text_FlxText"] = flixel_ui_FlxTypedButton_$flixel_$text_$FlxText;
|
|
flixel_ui_FlxTypedButton_$flixel_$text_$FlxText.__name__ = "flixel.ui.FlxTypedButton_flixel_text_FlxText";
|
|
flixel_ui_FlxTypedButton_$flixel_$text_$FlxText.__interfaces__ = [flixel_input_IFlxInput];
|
|
flixel_ui_FlxTypedButton_$flixel_$text_$FlxText.__super__ = flixel_FlxSprite;
|
|
flixel_ui_FlxTypedButton_$flixel_$text_$FlxText.prototype = $extend(flixel_FlxSprite.prototype,{
|
|
label: null
|
|
,labelOffsets: null
|
|
,labelAlphas: null
|
|
,statusAnimations: null
|
|
,allowSwiping: null
|
|
,mouseButtons: null
|
|
,maxInputMovement: null
|
|
,status: null
|
|
,onUp: null
|
|
,onDown: null
|
|
,onOver: null
|
|
,onOut: null
|
|
,_spriteLabel: null
|
|
,input: null
|
|
,currentInput: null
|
|
,lastStatus: null
|
|
,graphicLoaded: function() {
|
|
flixel_FlxSprite.prototype.graphicLoaded.call(this);
|
|
this.setupAnimation("normal",0);
|
|
this.setupAnimation("highlight",1);
|
|
this.setupAnimation("pressed",2);
|
|
}
|
|
,loadDefaultGraphic: function() {
|
|
this.loadGraphic("flixel/images/ui/button.png",true,80,20);
|
|
}
|
|
,setupAnimation: function(animationName,frameIndex) {
|
|
frameIndex = Math.min(frameIndex,this.animation._sprite.numFrames - 1) | 0;
|
|
this.animation.add(animationName,[frameIndex]);
|
|
}
|
|
,destroy: function() {
|
|
this.set_label(flixel_util_FlxDestroyUtil.destroy(this.label));
|
|
this._spriteLabel = null;
|
|
this.onUp = flixel_util_FlxDestroyUtil.destroy(this.onUp);
|
|
this.onDown = flixel_util_FlxDestroyUtil.destroy(this.onDown);
|
|
this.onOver = flixel_util_FlxDestroyUtil.destroy(this.onOver);
|
|
this.onOut = flixel_util_FlxDestroyUtil.destroy(this.onOut);
|
|
this.labelOffsets = flixel_util_FlxDestroyUtil.putArray(this.labelOffsets);
|
|
this.labelAlphas = null;
|
|
this.currentInput = null;
|
|
this.input = null;
|
|
openfl_Lib.get_current().stage.removeEventListener("mouseUp",$bind(this,this.onUpEventListener));
|
|
flixel_FlxSprite.prototype.destroy.call(this);
|
|
}
|
|
,update: function(elapsed) {
|
|
flixel_FlxSprite.prototype.update.call(this,elapsed);
|
|
if(this.visible) {
|
|
this.updateButton();
|
|
if(this.lastStatus != this.status) {
|
|
this.updateStatusAnimation();
|
|
this.lastStatus = this.status;
|
|
}
|
|
}
|
|
this.input.update();
|
|
}
|
|
,updateStatusAnimation: function() {
|
|
this.animation.play(this.statusAnimations[this.status]);
|
|
}
|
|
,draw: function() {
|
|
flixel_FlxSprite.prototype.draw.call(this);
|
|
if(this._spriteLabel != null && this._spriteLabel.visible) {
|
|
this._spriteLabel.set_cameras(this.get_cameras());
|
|
this._spriteLabel.draw();
|
|
}
|
|
}
|
|
,stampOnAtlas: function(atlas) {
|
|
var buttonNode = atlas.addNode(this.graphic.bitmap,this.graphic.key);
|
|
var result = buttonNode != null;
|
|
if(buttonNode != null) {
|
|
var buttonFrames = this.frames;
|
|
var X = buttonFrames.tileSize.x;
|
|
var Y = buttonFrames.tileSize.y;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
var tileSize = point;
|
|
var tileFrames = buttonNode.getTileFrames(tileSize);
|
|
this.set_frames(tileFrames);
|
|
}
|
|
if(result && this.label != null) {
|
|
var labelNode = atlas.addNode(this.label.graphic.bitmap,this.label.graphic.key);
|
|
result = result && labelNode != null;
|
|
if(labelNode != null) {
|
|
this.label.set_frames(labelNode.getImageFrame());
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
,updateButton: function() {
|
|
var overlapFound = this.checkMouseOverlap();
|
|
if(!overlapFound) {
|
|
overlapFound = this.checkTouchOverlap();
|
|
}
|
|
if(this.currentInput != null && this.currentInput.get_justReleased() && overlapFound) {
|
|
this.onUpHandler();
|
|
}
|
|
if(this.status != 0 && (!overlapFound || this.currentInput != null && this.currentInput.get_justReleased())) {
|
|
this.onOutHandler();
|
|
}
|
|
}
|
|
,checkMouseOverlap: function() {
|
|
var overlap = false;
|
|
var _g = 0;
|
|
var _g1 = this.get_cameras();
|
|
while(_g < _g1.length) {
|
|
var camera = _g1[_g];
|
|
++_g;
|
|
var _g2 = 0;
|
|
var _g3 = this.mouseButtons;
|
|
while(_g2 < _g3.length) {
|
|
var buttonID = _g3[_g2];
|
|
++_g2;
|
|
var button = flixel_input_mouse_FlxMouseButton.getByID(buttonID);
|
|
if(button != null && this.checkInput(flixel_FlxG.mouse,button,button.justPressedPosition,camera)) {
|
|
overlap = true;
|
|
}
|
|
}
|
|
}
|
|
return overlap;
|
|
}
|
|
,checkTouchOverlap: function() {
|
|
var overlap = false;
|
|
var _g = 0;
|
|
var _g1 = this.get_cameras();
|
|
while(_g < _g1.length) {
|
|
var camera = _g1[_g];
|
|
++_g;
|
|
var _g2 = 0;
|
|
var _g3 = flixel_FlxG.touches.list;
|
|
while(_g2 < _g3.length) {
|
|
var touch = _g3[_g2];
|
|
++_g2;
|
|
if(this.checkInput(touch,touch,touch.justPressedPosition,camera)) {
|
|
overlap = true;
|
|
}
|
|
}
|
|
}
|
|
return overlap;
|
|
}
|
|
,checkInput: function(pointer,input,justPressedPosition,camera) {
|
|
var tmp;
|
|
if(this.maxInputMovement != Infinity) {
|
|
var X = 0;
|
|
var Y = 0;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
var point1 = point;
|
|
point1._weak = true;
|
|
tmp = justPressedPosition.distanceTo(pointer.getScreenPosition(null,point1)) > this.maxInputMovement;
|
|
} else {
|
|
tmp = false;
|
|
}
|
|
if(tmp && input == this.currentInput) {
|
|
this.currentInput = null;
|
|
} else if(this.overlapsPoint(pointer.getWorldPosition(camera,this._point),true,camera)) {
|
|
this.updateStatus(input);
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
,updateStatus: function(input) {
|
|
if(input.get_justPressed()) {
|
|
this.currentInput = input;
|
|
this.onDownHandler();
|
|
} else if(this.status == 0) {
|
|
if(this.allowSwiping && input.get_pressed()) {
|
|
this.onDownHandler();
|
|
} else {
|
|
this.onOverHandler();
|
|
}
|
|
}
|
|
}
|
|
,updateLabelPosition: function() {
|
|
if(this._spriteLabel != null) {
|
|
this._spriteLabel.set_x((this.pixelPerfectPosition ? Math.floor(this.x) : this.x) + this.labelOffsets[this.status].x);
|
|
this._spriteLabel.set_y((this.pixelPerfectPosition ? Math.floor(this.y) : this.y) + this.labelOffsets[this.status].y);
|
|
}
|
|
}
|
|
,updateLabelAlpha: function() {
|
|
if(this._spriteLabel != null && this.labelAlphas.length > this.status) {
|
|
this._spriteLabel.set_alpha(this.alpha * this.labelAlphas[this.status]);
|
|
}
|
|
}
|
|
,onUpEventListener: function(_) {
|
|
if(this.visible && this.exists && this.active && this.status == 2) {
|
|
this.onUpHandler();
|
|
}
|
|
}
|
|
,onUpHandler: function() {
|
|
this.set_status(0);
|
|
this.input.release();
|
|
this.currentInput = null;
|
|
var _this = this.onUp;
|
|
if(_this.callback != null) {
|
|
_this.callback();
|
|
}
|
|
if(_this.sound != null) {
|
|
_this.sound.play(true);
|
|
}
|
|
}
|
|
,onDownHandler: function() {
|
|
this.set_status(2);
|
|
this.input.press();
|
|
var _this = this.onDown;
|
|
if(_this.callback != null) {
|
|
_this.callback();
|
|
}
|
|
if(_this.sound != null) {
|
|
_this.sound.play(true);
|
|
}
|
|
}
|
|
,onOverHandler: function() {
|
|
if(!flixel_FlxG.mouse.enabled) {
|
|
this.set_status(0);
|
|
return;
|
|
}
|
|
this.set_status(1);
|
|
var _this = this.onOver;
|
|
if(_this.callback != null) {
|
|
_this.callback();
|
|
}
|
|
if(_this.sound != null) {
|
|
_this.sound.play(true);
|
|
}
|
|
}
|
|
,onOutHandler: function() {
|
|
this.set_status(0);
|
|
this.input.release();
|
|
var _this = this.onOut;
|
|
if(_this.callback != null) {
|
|
_this.callback();
|
|
}
|
|
if(_this.sound != null) {
|
|
_this.sound.play(true);
|
|
}
|
|
}
|
|
,set_label: function(Value) {
|
|
if(Value != null) {
|
|
Value.scrollFactor.put();
|
|
Value.scrollFactor = this.scrollFactor;
|
|
}
|
|
this.label = Value;
|
|
this._spriteLabel = this.label;
|
|
this.updateLabelPosition();
|
|
return Value;
|
|
}
|
|
,set_status: function(Value) {
|
|
this.status = Value;
|
|
this.updateLabelAlpha();
|
|
return this.status;
|
|
}
|
|
,set_alpha: function(Value) {
|
|
flixel_FlxSprite.prototype.set_alpha.call(this,Value);
|
|
this.updateLabelAlpha();
|
|
return this.alpha;
|
|
}
|
|
,set_x: function(Value) {
|
|
flixel_FlxSprite.prototype.set_x.call(this,Value);
|
|
this.updateLabelPosition();
|
|
return this.x;
|
|
}
|
|
,set_y: function(Value) {
|
|
flixel_FlxSprite.prototype.set_y.call(this,Value);
|
|
this.updateLabelPosition();
|
|
return this.y;
|
|
}
|
|
,get_justReleased: function() {
|
|
return this.input.current == -1;
|
|
}
|
|
,get_released: function() {
|
|
var _this = this.input;
|
|
if(_this.current != 0) {
|
|
return _this.current == -1;
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
,get_pressed: function() {
|
|
var _this = this.input;
|
|
if(_this.current != 1) {
|
|
return _this.current == 2;
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
,get_justPressed: function() {
|
|
return this.input.current == 2;
|
|
}
|
|
,__class__: flixel_ui_FlxTypedButton_$flixel_$text_$FlxText
|
|
,__properties__: $extend(flixel_FlxSprite.prototype.__properties__,{get_justPressed:"get_justPressed",get_pressed:"get_pressed",get_released:"get_released",get_justReleased:"get_justReleased",set_status:"set_status",set_label:"set_label"})
|
|
});
|
|
var flixel_ui_FlxButton = function(X,Y,Text1,OnClick) {
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
flixel_ui_FlxTypedButton_$flixel_$text_$FlxText.call(this,X,Y,OnClick);
|
|
var _g = 0;
|
|
var _g1 = this.labelOffsets;
|
|
while(_g < _g1.length) {
|
|
var point = _g1[_g];
|
|
++_g;
|
|
point.set(point.x - 1,point.y + 3);
|
|
}
|
|
if(Text1 != null) {
|
|
this.set_label(new flixel_text_FlxText(this.x + this.labelOffsets[0].x,this.y + this.labelOffsets[0].y,80,Text1));
|
|
this.label.setFormat(null,8,3355443,"center");
|
|
this.label.set_alpha(this.labelAlphas[this.status]);
|
|
this.label.drawFrame(true);
|
|
}
|
|
};
|
|
$hxClasses["flixel.ui.FlxButton"] = flixel_ui_FlxButton;
|
|
flixel_ui_FlxButton.__name__ = "flixel.ui.FlxButton";
|
|
flixel_ui_FlxButton.__super__ = flixel_ui_FlxTypedButton_$flixel_$text_$FlxText;
|
|
flixel_ui_FlxButton.prototype = $extend(flixel_ui_FlxTypedButton_$flixel_$text_$FlxText.prototype,{
|
|
resetHelpers: function() {
|
|
flixel_ui_FlxTypedButton_$flixel_$text_$FlxText.prototype.resetHelpers.call(this);
|
|
if(this.label != null) {
|
|
var tmp = this.label;
|
|
var tmp1 = this.get_width() | 0;
|
|
tmp.set_fieldWidth(this.label.frameWidth = tmp1);
|
|
this.label.set_size(this.label._defaultFormat.size | 0);
|
|
}
|
|
}
|
|
,initLabel: function(Text1) {
|
|
if(Text1 != null) {
|
|
this.set_label(new flixel_text_FlxText(this.x + this.labelOffsets[0].x,this.y + this.labelOffsets[0].y,80,Text1));
|
|
this.label.setFormat(null,8,3355443,"center");
|
|
this.label.set_alpha(this.labelAlphas[this.status]);
|
|
this.label.drawFrame(true);
|
|
}
|
|
}
|
|
,get_text: function() {
|
|
if(this.label != null) {
|
|
return this.label.text;
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
,set_text: function(Text1) {
|
|
if(this.label == null) {
|
|
if(Text1 != null) {
|
|
this.set_label(new flixel_text_FlxText(this.x + this.labelOffsets[0].x,this.y + this.labelOffsets[0].y,80,Text1));
|
|
this.label.setFormat(null,8,3355443,"center");
|
|
this.label.set_alpha(this.labelAlphas[this.status]);
|
|
this.label.drawFrame(true);
|
|
}
|
|
} else {
|
|
this.label.set_text(Text1);
|
|
}
|
|
return Text1;
|
|
}
|
|
,__class__: flixel_ui_FlxButton
|
|
,__properties__: $extend(flixel_ui_FlxTypedButton_$flixel_$text_$FlxText.prototype.__properties__,{set_text:"set_text",get_text:"get_text"})
|
|
});
|
|
var flixel_ui__$FlxButton_FlxButtonEvent = function(Callback,sound) {
|
|
this.callback = Callback;
|
|
this.sound = sound;
|
|
};
|
|
$hxClasses["flixel.ui._FlxButton.FlxButtonEvent"] = flixel_ui__$FlxButton_FlxButtonEvent;
|
|
flixel_ui__$FlxButton_FlxButtonEvent.__name__ = "flixel.ui._FlxButton.FlxButtonEvent";
|
|
flixel_ui__$FlxButton_FlxButtonEvent.__interfaces__ = [flixel_util_IFlxDestroyable];
|
|
flixel_ui__$FlxButton_FlxButtonEvent.prototype = {
|
|
callback: null
|
|
,sound: null
|
|
,destroy: function() {
|
|
this.callback = null;
|
|
this.sound = flixel_util_FlxDestroyUtil.destroy(this.sound);
|
|
}
|
|
,fire: function() {
|
|
if(this.callback != null) {
|
|
this.callback();
|
|
}
|
|
if(this.sound != null) {
|
|
this.sound.play(true);
|
|
}
|
|
}
|
|
,__class__: flixel_ui__$FlxButton_FlxButtonEvent
|
|
};
|
|
var flixel_ui_FlxTypedButton_$flixel_$FlxSprite = function(X,Y,OnClick) {
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
this.lastStatus = -1;
|
|
this.maxInputMovement = Infinity;
|
|
this.mouseButtons = [-1];
|
|
this.allowSwiping = true;
|
|
this.statusAnimations = ["normal","highlight","pressed"];
|
|
this.labelAlphas = [0.8,1.0,0.5];
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
var point1 = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point1._inPool = false;
|
|
var point2 = flixel_math_FlxPoint._pool.get().set(0,1);
|
|
point2._inPool = false;
|
|
this.labelOffsets = [point,point1,point2];
|
|
flixel_FlxSprite.call(this,X,Y);
|
|
this.loadDefaultGraphic();
|
|
this.onUp = new flixel_ui__$FlxButton_FlxButtonEvent(OnClick);
|
|
this.onDown = new flixel_ui__$FlxButton_FlxButtonEvent();
|
|
this.onOver = new flixel_ui__$FlxButton_FlxButtonEvent();
|
|
this.onOut = new flixel_ui__$FlxButton_FlxButtonEvent();
|
|
this.set_status(0);
|
|
this.scrollFactor.set();
|
|
openfl_Lib.get_current().stage.addEventListener("mouseUp",$bind(this,this.onUpEventListener));
|
|
this.input = new flixel_input_FlxInput(0);
|
|
};
|
|
$hxClasses["flixel.ui.FlxTypedButton_flixel_FlxSprite"] = flixel_ui_FlxTypedButton_$flixel_$FlxSprite;
|
|
flixel_ui_FlxTypedButton_$flixel_$FlxSprite.__name__ = "flixel.ui.FlxTypedButton_flixel_FlxSprite";
|
|
flixel_ui_FlxTypedButton_$flixel_$FlxSprite.__interfaces__ = [flixel_input_IFlxInput];
|
|
flixel_ui_FlxTypedButton_$flixel_$FlxSprite.__super__ = flixel_FlxSprite;
|
|
flixel_ui_FlxTypedButton_$flixel_$FlxSprite.prototype = $extend(flixel_FlxSprite.prototype,{
|
|
label: null
|
|
,labelOffsets: null
|
|
,labelAlphas: null
|
|
,statusAnimations: null
|
|
,allowSwiping: null
|
|
,mouseButtons: null
|
|
,maxInputMovement: null
|
|
,status: null
|
|
,onUp: null
|
|
,onDown: null
|
|
,onOver: null
|
|
,onOut: null
|
|
,_spriteLabel: null
|
|
,input: null
|
|
,currentInput: null
|
|
,lastStatus: null
|
|
,graphicLoaded: function() {
|
|
flixel_FlxSprite.prototype.graphicLoaded.call(this);
|
|
this.setupAnimation("normal",0);
|
|
this.setupAnimation("highlight",1);
|
|
this.setupAnimation("pressed",2);
|
|
}
|
|
,loadDefaultGraphic: function() {
|
|
this.loadGraphic("flixel/images/ui/button.png",true,80,20);
|
|
}
|
|
,setupAnimation: function(animationName,frameIndex) {
|
|
frameIndex = Math.min(frameIndex,this.animation._sprite.numFrames - 1) | 0;
|
|
this.animation.add(animationName,[frameIndex]);
|
|
}
|
|
,destroy: function() {
|
|
this.set_label(flixel_util_FlxDestroyUtil.destroy(this.label));
|
|
this._spriteLabel = null;
|
|
this.onUp = flixel_util_FlxDestroyUtil.destroy(this.onUp);
|
|
this.onDown = flixel_util_FlxDestroyUtil.destroy(this.onDown);
|
|
this.onOver = flixel_util_FlxDestroyUtil.destroy(this.onOver);
|
|
this.onOut = flixel_util_FlxDestroyUtil.destroy(this.onOut);
|
|
this.labelOffsets = flixel_util_FlxDestroyUtil.putArray(this.labelOffsets);
|
|
this.labelAlphas = null;
|
|
this.currentInput = null;
|
|
this.input = null;
|
|
openfl_Lib.get_current().stage.removeEventListener("mouseUp",$bind(this,this.onUpEventListener));
|
|
flixel_FlxSprite.prototype.destroy.call(this);
|
|
}
|
|
,update: function(elapsed) {
|
|
flixel_FlxSprite.prototype.update.call(this,elapsed);
|
|
if(this.visible) {
|
|
this.updateButton();
|
|
if(this.lastStatus != this.status) {
|
|
this.updateStatusAnimation();
|
|
this.lastStatus = this.status;
|
|
}
|
|
}
|
|
this.input.update();
|
|
}
|
|
,updateStatusAnimation: function() {
|
|
this.animation.play(this.statusAnimations[this.status]);
|
|
}
|
|
,draw: function() {
|
|
flixel_FlxSprite.prototype.draw.call(this);
|
|
if(this._spriteLabel != null && this._spriteLabel.visible) {
|
|
this._spriteLabel.set_cameras(this.get_cameras());
|
|
this._spriteLabel.draw();
|
|
}
|
|
}
|
|
,stampOnAtlas: function(atlas) {
|
|
var buttonNode = atlas.addNode(this.graphic.bitmap,this.graphic.key);
|
|
var result = buttonNode != null;
|
|
if(buttonNode != null) {
|
|
var buttonFrames = this.frames;
|
|
var X = buttonFrames.tileSize.x;
|
|
var Y = buttonFrames.tileSize.y;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
var tileSize = point;
|
|
var tileFrames = buttonNode.getTileFrames(tileSize);
|
|
this.set_frames(tileFrames);
|
|
}
|
|
if(result && this.label != null) {
|
|
var labelNode = atlas.addNode(this.label.graphic.bitmap,this.label.graphic.key);
|
|
result = result && labelNode != null;
|
|
if(labelNode != null) {
|
|
this.label.set_frames(labelNode.getImageFrame());
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
,updateButton: function() {
|
|
var overlapFound = this.checkMouseOverlap();
|
|
if(!overlapFound) {
|
|
overlapFound = this.checkTouchOverlap();
|
|
}
|
|
if(this.currentInput != null && this.currentInput.get_justReleased() && overlapFound) {
|
|
this.onUpHandler();
|
|
}
|
|
if(this.status != 0 && (!overlapFound || this.currentInput != null && this.currentInput.get_justReleased())) {
|
|
this.onOutHandler();
|
|
}
|
|
}
|
|
,checkMouseOverlap: function() {
|
|
var overlap = false;
|
|
var _g = 0;
|
|
var _g1 = this.get_cameras();
|
|
while(_g < _g1.length) {
|
|
var camera = _g1[_g];
|
|
++_g;
|
|
var _g2 = 0;
|
|
var _g3 = this.mouseButtons;
|
|
while(_g2 < _g3.length) {
|
|
var buttonID = _g3[_g2];
|
|
++_g2;
|
|
var button = flixel_input_mouse_FlxMouseButton.getByID(buttonID);
|
|
if(button != null && this.checkInput(flixel_FlxG.mouse,button,button.justPressedPosition,camera)) {
|
|
overlap = true;
|
|
}
|
|
}
|
|
}
|
|
return overlap;
|
|
}
|
|
,checkTouchOverlap: function() {
|
|
var overlap = false;
|
|
var _g = 0;
|
|
var _g1 = this.get_cameras();
|
|
while(_g < _g1.length) {
|
|
var camera = _g1[_g];
|
|
++_g;
|
|
var _g2 = 0;
|
|
var _g3 = flixel_FlxG.touches.list;
|
|
while(_g2 < _g3.length) {
|
|
var touch = _g3[_g2];
|
|
++_g2;
|
|
if(this.checkInput(touch,touch,touch.justPressedPosition,camera)) {
|
|
overlap = true;
|
|
}
|
|
}
|
|
}
|
|
return overlap;
|
|
}
|
|
,checkInput: function(pointer,input,justPressedPosition,camera) {
|
|
var tmp;
|
|
if(this.maxInputMovement != Infinity) {
|
|
var X = 0;
|
|
var Y = 0;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
var point1 = point;
|
|
point1._weak = true;
|
|
tmp = justPressedPosition.distanceTo(pointer.getScreenPosition(null,point1)) > this.maxInputMovement;
|
|
} else {
|
|
tmp = false;
|
|
}
|
|
if(tmp && input == this.currentInput) {
|
|
this.currentInput = null;
|
|
} else if(this.overlapsPoint(pointer.getWorldPosition(camera,this._point),true,camera)) {
|
|
this.updateStatus(input);
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
,updateStatus: function(input) {
|
|
if(input.get_justPressed()) {
|
|
this.currentInput = input;
|
|
this.onDownHandler();
|
|
} else if(this.status == 0) {
|
|
if(this.allowSwiping && input.get_pressed()) {
|
|
this.onDownHandler();
|
|
} else {
|
|
this.onOverHandler();
|
|
}
|
|
}
|
|
}
|
|
,updateLabelPosition: function() {
|
|
if(this._spriteLabel != null) {
|
|
this._spriteLabel.set_x((this.pixelPerfectPosition ? Math.floor(this.x) : this.x) + this.labelOffsets[this.status].x);
|
|
this._spriteLabel.set_y((this.pixelPerfectPosition ? Math.floor(this.y) : this.y) + this.labelOffsets[this.status].y);
|
|
}
|
|
}
|
|
,updateLabelAlpha: function() {
|
|
if(this._spriteLabel != null && this.labelAlphas.length > this.status) {
|
|
this._spriteLabel.set_alpha(this.alpha * this.labelAlphas[this.status]);
|
|
}
|
|
}
|
|
,onUpEventListener: function(_) {
|
|
if(this.visible && this.exists && this.active && this.status == 2) {
|
|
this.onUpHandler();
|
|
}
|
|
}
|
|
,onUpHandler: function() {
|
|
this.set_status(0);
|
|
this.input.release();
|
|
this.currentInput = null;
|
|
var _this = this.onUp;
|
|
if(_this.callback != null) {
|
|
_this.callback();
|
|
}
|
|
if(_this.sound != null) {
|
|
_this.sound.play(true);
|
|
}
|
|
}
|
|
,onDownHandler: function() {
|
|
this.set_status(2);
|
|
this.input.press();
|
|
var _this = this.onDown;
|
|
if(_this.callback != null) {
|
|
_this.callback();
|
|
}
|
|
if(_this.sound != null) {
|
|
_this.sound.play(true);
|
|
}
|
|
}
|
|
,onOverHandler: function() {
|
|
if(!flixel_FlxG.mouse.enabled) {
|
|
this.set_status(0);
|
|
return;
|
|
}
|
|
this.set_status(1);
|
|
var _this = this.onOver;
|
|
if(_this.callback != null) {
|
|
_this.callback();
|
|
}
|
|
if(_this.sound != null) {
|
|
_this.sound.play(true);
|
|
}
|
|
}
|
|
,onOutHandler: function() {
|
|
this.set_status(0);
|
|
this.input.release();
|
|
var _this = this.onOut;
|
|
if(_this.callback != null) {
|
|
_this.callback();
|
|
}
|
|
if(_this.sound != null) {
|
|
_this.sound.play(true);
|
|
}
|
|
}
|
|
,set_label: function(Value) {
|
|
if(Value != null) {
|
|
Value.scrollFactor.put();
|
|
Value.scrollFactor = this.scrollFactor;
|
|
}
|
|
this.label = Value;
|
|
this._spriteLabel = this.label;
|
|
this.updateLabelPosition();
|
|
return Value;
|
|
}
|
|
,set_status: function(Value) {
|
|
this.status = Value;
|
|
this.updateLabelAlpha();
|
|
return this.status;
|
|
}
|
|
,set_alpha: function(Value) {
|
|
flixel_FlxSprite.prototype.set_alpha.call(this,Value);
|
|
this.updateLabelAlpha();
|
|
return this.alpha;
|
|
}
|
|
,set_x: function(Value) {
|
|
flixel_FlxSprite.prototype.set_x.call(this,Value);
|
|
this.updateLabelPosition();
|
|
return this.x;
|
|
}
|
|
,set_y: function(Value) {
|
|
flixel_FlxSprite.prototype.set_y.call(this,Value);
|
|
this.updateLabelPosition();
|
|
return this.y;
|
|
}
|
|
,get_justReleased: function() {
|
|
return this.input.current == -1;
|
|
}
|
|
,get_released: function() {
|
|
var _this = this.input;
|
|
if(_this.current != 0) {
|
|
return _this.current == -1;
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
,get_pressed: function() {
|
|
var _this = this.input;
|
|
if(_this.current != 1) {
|
|
return _this.current == 2;
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
,get_justPressed: function() {
|
|
return this.input.current == 2;
|
|
}
|
|
,__class__: flixel_ui_FlxTypedButton_$flixel_$FlxSprite
|
|
,__properties__: $extend(flixel_FlxSprite.prototype.__properties__,{get_justPressed:"get_justPressed",get_pressed:"get_pressed",get_released:"get_released",get_justReleased:"get_justReleased",set_status:"set_status",set_label:"set_label"})
|
|
});
|
|
var flixel_ui_FlxSpriteButton = function(X,Y,Label,OnClick) {
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
flixel_ui_FlxTypedButton_$flixel_$FlxSprite.call(this,X,Y,OnClick);
|
|
var _g = 0;
|
|
var _g1 = this.labelOffsets;
|
|
while(_g < _g1.length) {
|
|
var point = _g1[_g];
|
|
++_g;
|
|
point.set(point.x - 1,point.y + 4);
|
|
}
|
|
this.set_label(Label);
|
|
};
|
|
$hxClasses["flixel.ui.FlxSpriteButton"] = flixel_ui_FlxSpriteButton;
|
|
flixel_ui_FlxSpriteButton.__name__ = "flixel.ui.FlxSpriteButton";
|
|
flixel_ui_FlxSpriteButton.__interfaces__ = [flixel_input_IFlxInput];
|
|
flixel_ui_FlxSpriteButton.__super__ = flixel_ui_FlxTypedButton_$flixel_$FlxSprite;
|
|
flixel_ui_FlxSpriteButton.prototype = $extend(flixel_ui_FlxTypedButton_$flixel_$FlxSprite.prototype,{
|
|
createTextLabel: function(Text1,font,size,color,align) {
|
|
if(align == null) {
|
|
align = "center";
|
|
}
|
|
if(color == null) {
|
|
color = 3355443;
|
|
}
|
|
if(size == null) {
|
|
size = 8;
|
|
}
|
|
if(Text1 != null) {
|
|
var text = new flixel_text_FlxText(0,0,this.frameWidth,Text1);
|
|
text.setFormat(font,size,color,align);
|
|
text.set_alpha(this.labelAlphas[this.status]);
|
|
text.drawFrame(true);
|
|
var labelBitmap = text.graphic.bitmap.clone();
|
|
var labelKey = text.graphic.key;
|
|
text.destroy();
|
|
if(this.label == null) {
|
|
this.set_label(new flixel_FlxSprite());
|
|
}
|
|
var labelGraphic = flixel_FlxG.bitmap.add(labelBitmap,false,labelKey);
|
|
this.label.set_frames(flixel_graphics_frames_FlxImageFrame.fromGraphic(labelGraphic));
|
|
}
|
|
return this;
|
|
}
|
|
,__class__: flixel_ui_FlxSpriteButton
|
|
});
|
|
var flixel_util_FlxArrayUtil = function() { };
|
|
$hxClasses["flixel.util.FlxArrayUtil"] = flixel_util_FlxArrayUtil;
|
|
flixel_util_FlxArrayUtil.__name__ = "flixel.util.FlxArrayUtil";
|
|
flixel_util_FlxArrayUtil.setLength_Int = function(array,newLength) {
|
|
if(newLength < 0) {
|
|
return array;
|
|
}
|
|
var oldLength = array.length;
|
|
var diff = newLength - oldLength;
|
|
if(diff >= 0) {
|
|
return array;
|
|
}
|
|
diff = -diff;
|
|
var _g = 0;
|
|
var _g1 = diff;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
array.pop();
|
|
}
|
|
return array;
|
|
};
|
|
flixel_util_FlxArrayUtil.flatten2DArray_Int = function(array) {
|
|
var result = [];
|
|
var _g = 0;
|
|
while(_g < array.length) {
|
|
var innerArray = array[_g];
|
|
++_g;
|
|
var _g1 = 0;
|
|
while(_g1 < innerArray.length) {
|
|
var element = innerArray[_g1];
|
|
++_g1;
|
|
result.push(element);
|
|
}
|
|
}
|
|
return result;
|
|
};
|
|
flixel_util_FlxArrayUtil.setLength_cacheValue_T = function(array,newLength) {
|
|
if(newLength < 0) {
|
|
return array;
|
|
}
|
|
var oldLength = array.length;
|
|
var diff = newLength - oldLength;
|
|
if(diff >= 0) {
|
|
return array;
|
|
}
|
|
diff = -diff;
|
|
var _g = 0;
|
|
var _g1 = diff;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
array.pop();
|
|
}
|
|
return array;
|
|
};
|
|
flixel_util_FlxArrayUtil.fastSplice_flixel_tweens_FlxTween = function(array,element) {
|
|
var index = array.indexOf(element);
|
|
if(index != -1) {
|
|
array[index] = array[array.length - 1];
|
|
array.pop();
|
|
return array;
|
|
}
|
|
return array;
|
|
};
|
|
flixel_util_FlxArrayUtil.fastSplice_flixel_util_FlxTimer = function(array,element) {
|
|
var index = array.indexOf(element);
|
|
if(index != -1) {
|
|
array[index] = array[array.length - 1];
|
|
array.pop();
|
|
return array;
|
|
}
|
|
return array;
|
|
};
|
|
flixel_util_FlxArrayUtil.swapAndPop_fastSplice_T = function(array,index) {
|
|
array[index] = array[array.length - 1];
|
|
array.pop();
|
|
return array;
|
|
};
|
|
flixel_util_FlxArrayUtil.setLength_flixel_group_FlxTypedGroup_T = function(array,newLength) {
|
|
if(newLength < 0) {
|
|
return array;
|
|
}
|
|
var oldLength = array.length;
|
|
var diff = newLength - oldLength;
|
|
if(diff >= 0) {
|
|
return array;
|
|
}
|
|
diff = -diff;
|
|
var _g = 0;
|
|
var _g1 = diff;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
array.pop();
|
|
}
|
|
return array;
|
|
};
|
|
flixel_util_FlxArrayUtil.clearArray = function(array,recursive) {
|
|
if(recursive == null) {
|
|
recursive = false;
|
|
}
|
|
if(array == null) {
|
|
return array;
|
|
}
|
|
if(recursive) {
|
|
while(array.length > 0) {
|
|
var thing = array.pop();
|
|
if(((thing) instanceof Array)) {
|
|
flixel_util_FlxArrayUtil.clearArray(array,recursive);
|
|
}
|
|
}
|
|
} else {
|
|
while(array.length > 0) array.pop();
|
|
}
|
|
return array;
|
|
};
|
|
flixel_util_FlxArrayUtil.equals = function(array1,array2) {
|
|
if(array1 == null && array2 == null) {
|
|
return true;
|
|
}
|
|
if(array1 == null && array2 != null) {
|
|
return false;
|
|
}
|
|
if(array1 != null && array2 == null) {
|
|
return false;
|
|
}
|
|
if(array1.length != array2.length) {
|
|
return false;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = array1.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(array1[i] != array2[i]) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
};
|
|
flixel_util_FlxArrayUtil.last = function(array) {
|
|
if(array == null || array.length == 0) {
|
|
return null;
|
|
}
|
|
return array[array.length - 1];
|
|
};
|
|
flixel_util_FlxArrayUtil.safePush = function(array,element) {
|
|
if(array == null) {
|
|
array = [];
|
|
}
|
|
array.push(element);
|
|
return array;
|
|
};
|
|
flixel_util_FlxArrayUtil.contains = function(array,element) {
|
|
return array.indexOf(element) != -1;
|
|
};
|
|
var flixel_util_FlxAxes = $hxEnums["flixel.util.FlxAxes"] = { __ename__ : "flixel.util.FlxAxes", __constructs__ : ["X","Y","XY"]
|
|
,X: {_hx_index:0,__enum__:"flixel.util.FlxAxes",toString:$estr}
|
|
,Y: {_hx_index:1,__enum__:"flixel.util.FlxAxes",toString:$estr}
|
|
,XY: {_hx_index:2,__enum__:"flixel.util.FlxAxes",toString:$estr}
|
|
};
|
|
var flixel_util_FlxBitmapDataPool = function() { };
|
|
$hxClasses["flixel.util.FlxBitmapDataPool"] = flixel_util_FlxBitmapDataPool;
|
|
flixel_util_FlxBitmapDataPool.__name__ = "flixel.util.FlxBitmapDataPool";
|
|
flixel_util_FlxBitmapDataPool.__properties__ = {set_maxLength:"set_maxLength"};
|
|
flixel_util_FlxBitmapDataPool.get = function(w,h,transparent,fillColor,exactSize) {
|
|
if(exactSize == null) {
|
|
exactSize = false;
|
|
}
|
|
if(transparent == null) {
|
|
transparent = true;
|
|
}
|
|
var res = null;
|
|
var node = flixel_util_FlxBitmapDataPool._head;
|
|
while(node != null) {
|
|
var bmd = node.bmd;
|
|
if(bmd.transparent == transparent && bmd.width >= w && bmd.height >= h && (!exactSize || exactSize && bmd.width == w && bmd.height == h)) {
|
|
res = bmd;
|
|
if(node.prev != null) {
|
|
node.prev.next = node.next;
|
|
}
|
|
if(node.next != null) {
|
|
node.next.prev = node.prev;
|
|
}
|
|
if(node == flixel_util_FlxBitmapDataPool._head) {
|
|
flixel_util_FlxBitmapDataPool._head = node.next;
|
|
}
|
|
if(node == flixel_util_FlxBitmapDataPool._tail) {
|
|
flixel_util_FlxBitmapDataPool._tail = node.prev;
|
|
}
|
|
node = null;
|
|
flixel_util_FlxBitmapDataPool.$length--;
|
|
break;
|
|
}
|
|
node = node.next;
|
|
}
|
|
if(res != null) {
|
|
if(fillColor != null) {
|
|
flixel_util_FlxBitmapDataPool._rect.x = 0;
|
|
flixel_util_FlxBitmapDataPool._rect.y = 0;
|
|
flixel_util_FlxBitmapDataPool._rect.width = w;
|
|
flixel_util_FlxBitmapDataPool._rect.height = h;
|
|
res.fillRect(flixel_util_FlxBitmapDataPool._rect,fillColor);
|
|
}
|
|
} else {
|
|
res = new openfl_display_BitmapData(w,h,transparent,fillColor != null ? fillColor : -1);
|
|
}
|
|
return res;
|
|
};
|
|
flixel_util_FlxBitmapDataPool.put = function(bmd) {
|
|
if(flixel_util_FlxBitmapDataPool.$length >= flixel_util_FlxBitmapDataPool.maxLength) {
|
|
var last = flixel_util_FlxBitmapDataPool._tail;
|
|
last.bmd.dispose();
|
|
if(last.prev != null) {
|
|
last.prev.next = null;
|
|
flixel_util_FlxBitmapDataPool._tail = last.prev;
|
|
}
|
|
last = null;
|
|
flixel_util_FlxBitmapDataPool.$length--;
|
|
}
|
|
var node = new flixel_util__$FlxBitmapDataPool_FlxBitmapDataPoolNode(bmd);
|
|
node.next = flixel_util_FlxBitmapDataPool._head;
|
|
if(flixel_util_FlxBitmapDataPool._head == null) {
|
|
flixel_util_FlxBitmapDataPool._head = flixel_util_FlxBitmapDataPool._tail = node;
|
|
} else {
|
|
flixel_util_FlxBitmapDataPool._head = node;
|
|
node.next.prev = node;
|
|
}
|
|
flixel_util_FlxBitmapDataPool.$length++;
|
|
};
|
|
flixel_util_FlxBitmapDataPool.clear = function() {
|
|
var node = flixel_util_FlxBitmapDataPool._head;
|
|
while(node != null) {
|
|
var bmd = node.bmd;
|
|
bmd.dispose();
|
|
bmd = null;
|
|
node = node.next;
|
|
}
|
|
flixel_util_FlxBitmapDataPool.$length = 0;
|
|
flixel_util_FlxBitmapDataPool._head = flixel_util_FlxBitmapDataPool._tail = null;
|
|
};
|
|
flixel_util_FlxBitmapDataPool.set_maxLength = function(value) {
|
|
if(flixel_util_FlxBitmapDataPool.maxLength != value) {
|
|
var node = flixel_util_FlxBitmapDataPool._tail;
|
|
while(node != null && flixel_util_FlxBitmapDataPool.$length > value) {
|
|
var bmd = node.bmd;
|
|
bmd.dispose();
|
|
bmd = null;
|
|
node = node.prev;
|
|
flixel_util_FlxBitmapDataPool.$length--;
|
|
}
|
|
}
|
|
return flixel_util_FlxBitmapDataPool.maxLength = value;
|
|
};
|
|
var flixel_util__$FlxBitmapDataPool_FlxBitmapDataPoolNode = function(bmd,prev,next) {
|
|
this.bmd = bmd;
|
|
this.prev = prev;
|
|
this.next = next;
|
|
};
|
|
$hxClasses["flixel.util._FlxBitmapDataPool.FlxBitmapDataPoolNode"] = flixel_util__$FlxBitmapDataPool_FlxBitmapDataPoolNode;
|
|
flixel_util__$FlxBitmapDataPool_FlxBitmapDataPoolNode.__name__ = "flixel.util._FlxBitmapDataPool.FlxBitmapDataPoolNode";
|
|
flixel_util__$FlxBitmapDataPool_FlxBitmapDataPoolNode.prototype = {
|
|
bmd: null
|
|
,prev: null
|
|
,next: null
|
|
,__class__: flixel_util__$FlxBitmapDataPool_FlxBitmapDataPoolNode
|
|
};
|
|
var flixel_util_FlxBitmapDataUtil = function() { };
|
|
$hxClasses["flixel.util.FlxBitmapDataUtil"] = flixel_util_FlxBitmapDataUtil;
|
|
flixel_util_FlxBitmapDataUtil.__name__ = "flixel.util.FlxBitmapDataUtil";
|
|
flixel_util_FlxBitmapDataUtil.merge = function(sourceBitmapData,sourceRect,destBitmapData,destPoint,redMultiplier,greenMultiplier,blueMultiplier,alphaMultiplier) {
|
|
if(destPoint.x >= destBitmapData.width || destPoint.y >= destBitmapData.height || sourceRect.x >= sourceBitmapData.width || sourceRect.y >= sourceBitmapData.height || sourceRect.x + sourceRect.width <= 0 || sourceRect.y + sourceRect.height <= 0) {
|
|
return;
|
|
}
|
|
while(sourceRect.x + sourceRect.width > sourceBitmapData.width || sourceRect.y + sourceRect.height > sourceBitmapData.height || sourceRect.x < 0 || sourceRect.y < 0 || destPoint.x < 0 || destPoint.y < 0) {
|
|
if(sourceRect.x + sourceRect.width > sourceBitmapData.width) {
|
|
sourceRect.width = sourceBitmapData.width - sourceRect.x;
|
|
}
|
|
if(sourceRect.y + sourceRect.height > sourceBitmapData.height) {
|
|
sourceRect.height = sourceBitmapData.height - sourceRect.y;
|
|
}
|
|
if(sourceRect.x < 0) {
|
|
destPoint.x -= sourceRect.x;
|
|
sourceRect.width += sourceRect.x;
|
|
sourceRect.x = 0;
|
|
}
|
|
if(sourceRect.y < 0) {
|
|
destPoint.y -= sourceRect.y;
|
|
sourceRect.height += sourceRect.y;
|
|
sourceRect.y = 0;
|
|
}
|
|
if(destPoint.x >= destBitmapData.width || destPoint.y >= destBitmapData.height) {
|
|
return;
|
|
}
|
|
if(destPoint.x < 0) {
|
|
sourceRect.x -= destPoint.x;
|
|
sourceRect.width += destPoint.x;
|
|
destPoint.x = 0;
|
|
}
|
|
if(destPoint.y < 0) {
|
|
sourceRect.y -= destPoint.y;
|
|
sourceRect.height += destPoint.y;
|
|
destPoint.y = 0;
|
|
}
|
|
}
|
|
if(sourceRect.width <= 0 || sourceRect.height <= 0) {
|
|
return;
|
|
}
|
|
var startSourceX = Math.round(sourceRect.x);
|
|
var startSourceY = Math.round(sourceRect.y);
|
|
var width = Math.round(sourceRect.width);
|
|
var height = Math.round(sourceRect.height);
|
|
var sourceX = startSourceX;
|
|
var sourceY = startSourceY;
|
|
var destX = Math.round(destPoint.x);
|
|
var destY = Math.round(destPoint.y);
|
|
var currX = destX;
|
|
var currY = destY;
|
|
var sourceColor;
|
|
var destColor;
|
|
var resultRed;
|
|
var resultGreen;
|
|
var resultBlue;
|
|
var resultAlpha;
|
|
var resultColor = 0;
|
|
destBitmapData.lock();
|
|
var _g = 0;
|
|
var _g1 = width;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var _g2 = 0;
|
|
var _g3 = height;
|
|
while(_g2 < _g3) {
|
|
var j = _g2++;
|
|
sourceX = startSourceX + i;
|
|
sourceY = startSourceY + j;
|
|
currX = destX + i;
|
|
currY = destY + j;
|
|
sourceColor = sourceBitmapData.getPixel32(sourceX,sourceY);
|
|
destColor = destBitmapData.getPixel32(currX,currY);
|
|
resultRed = ((sourceColor >> 16 & 255) * redMultiplier + (destColor >> 16 & 255) * (256 - redMultiplier)) / 256 | 0;
|
|
resultGreen = ((sourceColor >> 8 & 255) * greenMultiplier + (destColor >> 8 & 255) * (256 - greenMultiplier)) / 256 | 0;
|
|
resultBlue = ((sourceColor & 255) * blueMultiplier + (destColor & 255) * (256 - blueMultiplier)) / 256 | 0;
|
|
resultAlpha = ((sourceColor >> 24 & 255) * alphaMultiplier + (destColor >> 24 & 255) * (256 - alphaMultiplier)) / 256 | 0;
|
|
var Alpha = resultAlpha;
|
|
if(Alpha == null) {
|
|
Alpha = 255;
|
|
}
|
|
var color = flixel_util_FlxColor._new();
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 255;
|
|
}
|
|
color &= -16711681;
|
|
color |= (resultRed > 255 ? 255 : resultRed < 0 ? 0 : resultRed) << 16;
|
|
color &= -65281;
|
|
color |= (resultGreen > 255 ? 255 : resultGreen < 0 ? 0 : resultGreen) << 8;
|
|
color &= -256;
|
|
color |= resultBlue > 255 ? 255 : resultBlue < 0 ? 0 : resultBlue;
|
|
color &= 16777215;
|
|
color |= (Alpha1 > 255 ? 255 : Alpha1 < 0 ? 0 : Alpha1) << 24;
|
|
resultColor = color;
|
|
destBitmapData.setPixel32(currX,currY,resultColor);
|
|
}
|
|
}
|
|
destBitmapData.unlock();
|
|
};
|
|
flixel_util_FlxBitmapDataUtil.mergeColorComponent = function(source,dest,multiplier) {
|
|
return (source * multiplier + dest * (256 - multiplier)) / 256 | 0;
|
|
};
|
|
flixel_util_FlxBitmapDataUtil.compare = function(Bitmap1,Bitmap2) {
|
|
if(Bitmap1 == Bitmap2) {
|
|
return 0;
|
|
}
|
|
if(Bitmap1.width != Bitmap2.width) {
|
|
return -3;
|
|
} else if(Bitmap1.height != Bitmap2.height) {
|
|
return -4;
|
|
} else {
|
|
var width = Bitmap1.width;
|
|
var height = Bitmap1.height;
|
|
var result = new openfl_display_BitmapData(width,height,true,0);
|
|
var identical = true;
|
|
var _g = 0;
|
|
var _g1 = width;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var _g2 = 0;
|
|
var _g3 = height;
|
|
while(_g2 < _g3) {
|
|
var j = _g2++;
|
|
var pixel1 = Bitmap1.getPixel32(i,j);
|
|
var pixel2 = Bitmap2.getPixel32(i,j);
|
|
if(pixel1 != pixel2) {
|
|
identical = false;
|
|
if((pixel1 & 16777215) != (pixel2 & 16777215)) {
|
|
var diff = (pixel1 >> 16 & 255) - (pixel2 >> 16 & 255);
|
|
var Red = diff >= 0 ? diff : 256 + diff;
|
|
var diff1 = (pixel1 >> 8 & 255) - (pixel2 >> 8 & 255);
|
|
var Green = diff1 >= 0 ? diff1 : 256 + diff1;
|
|
var diff2 = (pixel1 & 255) - (pixel2 & 255);
|
|
var Blue = diff2 >= 0 ? diff2 : 256 + diff2;
|
|
var color = flixel_util_FlxColor._new();
|
|
var Alpha = 255;
|
|
if(Alpha == null) {
|
|
Alpha = 255;
|
|
}
|
|
color &= -16711681;
|
|
color |= (Red > 255 ? 255 : Red < 0 ? 0 : Red) << 16;
|
|
color &= -65281;
|
|
color |= (Green > 255 ? 255 : Green < 0 ? 0 : Green) << 8;
|
|
color &= -256;
|
|
color |= Blue > 255 ? 255 : Blue < 0 ? 0 : Blue;
|
|
color &= 16777215;
|
|
color |= (Alpha > 255 ? 255 : Alpha < 0 ? 0 : Alpha) << 24;
|
|
result.setPixel32(i,j,color);
|
|
} else {
|
|
var alpha1 = pixel1 >> 24 & 255;
|
|
var alpha2 = pixel2 >> 24 & 255;
|
|
if(alpha1 != alpha2) {
|
|
var diff3 = alpha1 - alpha2;
|
|
var Alpha1 = diff3 >= 0 ? diff3 : 256 + diff3;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 255;
|
|
}
|
|
var color1 = flixel_util_FlxColor._new();
|
|
var Alpha2 = Alpha1;
|
|
if(Alpha2 == null) {
|
|
Alpha2 = 255;
|
|
}
|
|
color1 &= -16711681;
|
|
color1 |= 16711680;
|
|
color1 &= -65281;
|
|
color1 |= 65280;
|
|
color1 &= -256;
|
|
color1 |= 255;
|
|
color1 &= 16777215;
|
|
color1 |= (Alpha2 > 255 ? 255 : Alpha2 < 0 ? 0 : Alpha2) << 24;
|
|
result.setPixel32(i,j,color1);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if(!identical) {
|
|
return result;
|
|
}
|
|
}
|
|
return 0;
|
|
};
|
|
flixel_util_FlxBitmapDataUtil.getDiff = function(value1,value2) {
|
|
var diff = value1 - value2;
|
|
if(diff >= 0) {
|
|
return diff;
|
|
} else {
|
|
return 256 + diff;
|
|
}
|
|
};
|
|
flixel_util_FlxBitmapDataUtil.getMemorySize = function(bitmapData) {
|
|
return bitmapData.width * bitmapData.height * 4;
|
|
};
|
|
flixel_util_FlxBitmapDataUtil.replaceColor = function(bitmapData,color,newColor,fetchPositions,rect) {
|
|
if(fetchPositions == null) {
|
|
fetchPositions = false;
|
|
}
|
|
var positions = null;
|
|
if(fetchPositions) {
|
|
positions = [];
|
|
}
|
|
var startX = 0;
|
|
var startY = 0;
|
|
var columns = bitmapData.width;
|
|
var rows = bitmapData.height;
|
|
if(rect != null) {
|
|
startX = rect.x | 0;
|
|
startY = rect.y | 0;
|
|
columns = rect.width | 0;
|
|
rows = rect.height | 0;
|
|
}
|
|
columns = Math.max(columns,bitmapData.width) | 0;
|
|
rows = Math.max(rows,bitmapData.height) | 0;
|
|
var row = 0;
|
|
var column = 0;
|
|
var x;
|
|
var y;
|
|
var changed = false;
|
|
bitmapData.lock();
|
|
while(row < rows) {
|
|
column = 0;
|
|
while(column < columns) {
|
|
x = startX + column;
|
|
y = startY + row;
|
|
if(bitmapData.getPixel32(x,y) == color) {
|
|
bitmapData.setPixel32(x,y,newColor);
|
|
changed = true;
|
|
if(fetchPositions) {
|
|
var X = x;
|
|
var Y = y;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
positions.push(point);
|
|
}
|
|
}
|
|
++column;
|
|
}
|
|
++row;
|
|
}
|
|
bitmapData.unlock();
|
|
if(changed && positions == null) {
|
|
positions = [];
|
|
}
|
|
return positions;
|
|
};
|
|
flixel_util_FlxBitmapDataUtil.addSpacesAndBorders = function(bitmapData,frameSize,spacing,border,region) {
|
|
if(region == null) {
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = bitmapData.width;
|
|
var Height = bitmapData.height;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
var Width1 = Width;
|
|
var Height1 = Height;
|
|
if(Height1 == null) {
|
|
Height1 = 0;
|
|
}
|
|
if(Width1 == null) {
|
|
Width1 = 0;
|
|
}
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
_this.x = X1;
|
|
_this.y = Y1;
|
|
_this.width = Width1;
|
|
_this.height = Height1;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
region = rect;
|
|
}
|
|
var frameWidth = region.width | 0;
|
|
var frameHeight = region.height | 0;
|
|
if(frameSize != null) {
|
|
frameWidth = frameSize.x | 0;
|
|
frameHeight = frameSize.y | 0;
|
|
}
|
|
var numHorizontalFrames = region.width / frameWidth | 0;
|
|
var numVerticalFrames = region.height / frameHeight | 0;
|
|
var spaceX = 0;
|
|
var spaceY = 0;
|
|
if(spacing != null) {
|
|
spaceX = spacing.x | 0;
|
|
spaceY = spacing.y | 0;
|
|
}
|
|
var borderX = 0;
|
|
var borderY = 0;
|
|
if(border != null) {
|
|
borderX = border.x | 0;
|
|
borderY = border.y | 0;
|
|
}
|
|
var result = new openfl_display_BitmapData(region.width + (numHorizontalFrames - 1) * spaceX + 2 * numHorizontalFrames * borderX | 0,region.height + (numVerticalFrames - 1) * spaceY + 2 * numVerticalFrames * borderY | 0,true,0);
|
|
result.lock();
|
|
var tempRect = new openfl_geom_Rectangle(0,0,frameWidth,frameHeight);
|
|
var tempPoint = new openfl_geom_Point();
|
|
var _g = 0;
|
|
var _g1 = numHorizontalFrames;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
tempPoint.x = i * (frameWidth + spaceX + 2 * borderX) + borderX;
|
|
tempRect.x = i * frameWidth + region.x;
|
|
var _g2 = 0;
|
|
var _g3 = numVerticalFrames;
|
|
while(_g2 < _g3) {
|
|
var j = _g2++;
|
|
tempPoint.y = j * (frameHeight + spaceY + 2 * borderY) + borderY;
|
|
tempRect.y = j * frameHeight + region.y;
|
|
result.copyPixels(bitmapData,tempRect,tempPoint);
|
|
}
|
|
}
|
|
result.unlock();
|
|
flixel_util_FlxBitmapDataUtil.copyBorderPixels(result,frameWidth,frameHeight,spaceX,spaceY,borderX,borderY,numHorizontalFrames,numVerticalFrames);
|
|
return result;
|
|
};
|
|
flixel_util_FlxBitmapDataUtil.copyBorderPixels = function(bitmapData,frameWidth,frameHeight,spaceX,spaceY,borderX,borderY,horizontalFrames,verticalFrames) {
|
|
var tempRect = new openfl_geom_Rectangle(0,0,1,bitmapData.height);
|
|
var tempPoint = new openfl_geom_Point();
|
|
bitmapData.lock();
|
|
var _g = 0;
|
|
var _g1 = horizontalFrames;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
tempRect.x = i * (frameWidth + 2 * borderX + spaceX) + borderX;
|
|
var _g2 = 0;
|
|
var _g3 = borderX;
|
|
while(_g2 < _g3) {
|
|
var j = _g2++;
|
|
tempPoint.x = tempRect.x - j - 1;
|
|
bitmapData.copyPixels(bitmapData,tempRect,tempPoint);
|
|
}
|
|
tempRect.x += frameWidth - 1;
|
|
var _g4 = 0;
|
|
var _g5 = borderX;
|
|
while(_g4 < _g5) {
|
|
var j1 = _g4++;
|
|
tempPoint.x = tempRect.x + j1 + 1;
|
|
bitmapData.copyPixels(bitmapData,tempRect,tempPoint);
|
|
}
|
|
}
|
|
tempPoint.setTo(0,0);
|
|
tempRect.setTo(0,0,bitmapData.width,1);
|
|
var _g = 0;
|
|
var _g1 = verticalFrames;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
tempRect.y = i * (frameHeight + 2 * borderY + spaceY) + borderY;
|
|
var _g2 = 0;
|
|
var _g3 = borderY;
|
|
while(_g2 < _g3) {
|
|
var j = _g2++;
|
|
tempPoint.y = tempRect.y - j - 1;
|
|
bitmapData.copyPixels(bitmapData,tempRect,tempPoint);
|
|
}
|
|
tempRect.y += frameHeight - 1;
|
|
var _g4 = 0;
|
|
var _g5 = borderY;
|
|
while(_g4 < _g5) {
|
|
var j1 = _g4++;
|
|
tempPoint.y = tempRect.y + j1 + 1;
|
|
bitmapData.copyPixels(bitmapData,tempRect,tempPoint);
|
|
}
|
|
}
|
|
bitmapData.unlock();
|
|
return bitmapData;
|
|
};
|
|
flixel_util_FlxBitmapDataUtil.generateRotations = function(brush,rotations,antiAliasing,autoBuffer) {
|
|
if(autoBuffer == null) {
|
|
autoBuffer = false;
|
|
}
|
|
if(antiAliasing == null) {
|
|
antiAliasing = false;
|
|
}
|
|
if(rotations == null) {
|
|
rotations = 16;
|
|
}
|
|
var brushWidth = brush.width;
|
|
var brushHeight = brush.height;
|
|
var max = brushHeight > brushWidth ? brushHeight : brushWidth;
|
|
if(autoBuffer) {
|
|
max = max * 1.5 | 0;
|
|
}
|
|
var rows = Math.sqrt(rotations) | 0;
|
|
var columns = Math.ceil(rotations / rows);
|
|
var bakedRotationAngle = 360 / rotations;
|
|
var width = max * columns;
|
|
var height = max * rows;
|
|
var result = new openfl_display_BitmapData(width,height,true,0);
|
|
var row = 0;
|
|
var column = 0;
|
|
var bakedAngle = 0;
|
|
var halfBrushWidth = brushWidth * 0.5 | 0;
|
|
var halfBrushHeight = brushHeight * 0.5 | 0;
|
|
var midpointX = max * 0.5 | 0;
|
|
var midpointY = max * 0.5 | 0;
|
|
while(row < rows) {
|
|
column = 0;
|
|
while(column < columns) {
|
|
flixel_util_FlxBitmapDataUtil.matrix.identity();
|
|
flixel_util_FlxBitmapDataUtil.matrix.translate(-halfBrushWidth,-halfBrushHeight);
|
|
flixel_util_FlxBitmapDataUtil.matrix.rotate(bakedAngle * (Math.PI / 180));
|
|
flixel_util_FlxBitmapDataUtil.matrix.translate(max * column + midpointX,midpointY);
|
|
bakedAngle += bakedRotationAngle;
|
|
result.draw(brush,flixel_util_FlxBitmapDataUtil.matrix,null,null,null,antiAliasing);
|
|
++column;
|
|
}
|
|
midpointY += max;
|
|
++row;
|
|
}
|
|
return result;
|
|
};
|
|
var flixel_util_FlxCollision = function() { };
|
|
$hxClasses["flixel.util.FlxCollision"] = flixel_util_FlxCollision;
|
|
flixel_util_FlxCollision.__name__ = "flixel.util.FlxCollision";
|
|
flixel_util_FlxCollision.pixelPerfectCheck = function(Contact,Target,AlphaTolerance,Camera) {
|
|
if(AlphaTolerance == null) {
|
|
AlphaTolerance = 1;
|
|
}
|
|
var considerRotation = Contact.angle != 0 || Target.angle != 0;
|
|
if(Camera == null) {
|
|
Camera = flixel_FlxG.camera;
|
|
}
|
|
flixel_util_FlxCollision.pointA.set_x(Contact.x - (Camera.scroll.x * Contact.scrollFactor.x | 0) - Contact.offset.x);
|
|
flixel_util_FlxCollision.pointA.set_y(Contact.y - (Camera.scroll.y * Contact.scrollFactor.y | 0) - Contact.offset.y);
|
|
flixel_util_FlxCollision.pointB.set_x(Target.x - (Camera.scroll.x * Target.scrollFactor.x | 0) - Target.offset.x);
|
|
flixel_util_FlxCollision.pointB.set_y(Target.y - (Camera.scroll.y * Target.scrollFactor.y | 0) - Target.offset.y);
|
|
if(considerRotation) {
|
|
Contact.origin.copyTo(flixel_util_FlxCollision.centerA);
|
|
Target.origin.copyTo(flixel_util_FlxCollision.centerB);
|
|
var this1 = flixel_util_FlxCollision.centerA;
|
|
var lengthA = Math.sqrt(this1.x * this1.x + this1.y * this1.y);
|
|
flixel_util_FlxCollision.boundsA.x = flixel_util_FlxCollision.pointA.x + flixel_util_FlxCollision.centerA.x - lengthA;
|
|
flixel_util_FlxCollision.boundsA.y = flixel_util_FlxCollision.pointA.y + flixel_util_FlxCollision.centerA.y - lengthA;
|
|
flixel_util_FlxCollision.boundsA.width = lengthA * 2;
|
|
flixel_util_FlxCollision.boundsA.height = flixel_util_FlxCollision.boundsA.width;
|
|
var this1 = flixel_util_FlxCollision.centerB;
|
|
var lengthB = Math.sqrt(this1.x * this1.x + this1.y * this1.y);
|
|
flixel_util_FlxCollision.boundsB.x = flixel_util_FlxCollision.pointB.x + flixel_util_FlxCollision.centerB.x - lengthB;
|
|
flixel_util_FlxCollision.boundsB.y = flixel_util_FlxCollision.pointB.y + flixel_util_FlxCollision.centerB.y - lengthB;
|
|
flixel_util_FlxCollision.boundsB.width = lengthB * 2;
|
|
flixel_util_FlxCollision.boundsB.height = flixel_util_FlxCollision.boundsB.width;
|
|
} else {
|
|
flixel_util_FlxCollision.boundsA.x = flixel_util_FlxCollision.pointA.x;
|
|
flixel_util_FlxCollision.boundsA.y = flixel_util_FlxCollision.pointA.y;
|
|
flixel_util_FlxCollision.boundsA.width = Contact.frameWidth;
|
|
flixel_util_FlxCollision.boundsA.height = Contact.frameHeight;
|
|
flixel_util_FlxCollision.boundsB.x = flixel_util_FlxCollision.pointB.x;
|
|
flixel_util_FlxCollision.boundsB.y = flixel_util_FlxCollision.pointB.y;
|
|
flixel_util_FlxCollision.boundsB.width = Target.frameWidth;
|
|
flixel_util_FlxCollision.boundsB.height = Target.frameHeight;
|
|
}
|
|
var _this = flixel_util_FlxCollision.intersect;
|
|
_this.x = 0;
|
|
_this.y = 0;
|
|
_this.width = 0;
|
|
_this.height = 0;
|
|
flixel_util_FlxCollision.boundsA.intersection(flixel_util_FlxCollision.boundsB,_this);
|
|
var _this = flixel_util_FlxCollision.intersect;
|
|
if(_this.width == 0 || _this.height == 0 || flixel_util_FlxCollision.intersect.width < 1 || flixel_util_FlxCollision.intersect.height < 1) {
|
|
return false;
|
|
}
|
|
flixel_util_FlxCollision.matrixA.identity();
|
|
flixel_util_FlxCollision.matrixA.translate(-(flixel_util_FlxCollision.intersect.x - flixel_util_FlxCollision.boundsA.x),-(flixel_util_FlxCollision.intersect.y - flixel_util_FlxCollision.boundsA.y));
|
|
flixel_util_FlxCollision.matrixB.identity();
|
|
flixel_util_FlxCollision.matrixB.translate(-(flixel_util_FlxCollision.intersect.x - flixel_util_FlxCollision.boundsB.x),-(flixel_util_FlxCollision.intersect.y - flixel_util_FlxCollision.boundsB.y));
|
|
Contact.drawFrame();
|
|
Target.drawFrame();
|
|
var testA = Contact.framePixels;
|
|
var testB = Target.framePixels;
|
|
var overlapWidth = flixel_util_FlxCollision.intersect.width | 0;
|
|
var overlapHeight = flixel_util_FlxCollision.intersect.height | 0;
|
|
if(considerRotation) {
|
|
flixel_util_FlxCollision.testMatrix.identity();
|
|
flixel_util_FlxCollision.testMatrix.translate(-Contact.origin.x,-Contact.origin.y);
|
|
flixel_util_FlxCollision.testMatrix.rotate(Contact.angle * (Math.PI / 180));
|
|
flixel_util_FlxCollision.testMatrix.translate(flixel_util_FlxCollision.boundsA.width / 2,flixel_util_FlxCollision.boundsA.height / 2);
|
|
var testA2 = flixel_util_FlxBitmapDataPool.get(Math.floor(flixel_util_FlxCollision.boundsA.width),Math.floor(flixel_util_FlxCollision.boundsA.height),true,0,false);
|
|
testA2.draw(testA,flixel_util_FlxCollision.testMatrix,null,null,null,false);
|
|
testA = testA2;
|
|
flixel_util_FlxCollision.testMatrix.identity();
|
|
flixel_util_FlxCollision.testMatrix.translate(-Target.origin.x,-Target.origin.y);
|
|
flixel_util_FlxCollision.testMatrix.rotate(Target.angle * (Math.PI / 180));
|
|
flixel_util_FlxCollision.testMatrix.translate(flixel_util_FlxCollision.boundsB.width / 2,flixel_util_FlxCollision.boundsB.height / 2);
|
|
var testB2 = flixel_util_FlxBitmapDataPool.get(Math.floor(flixel_util_FlxCollision.boundsB.width),Math.floor(flixel_util_FlxCollision.boundsB.height),true,0,false);
|
|
testB2.draw(testB,flixel_util_FlxCollision.testMatrix,null,null,null,false);
|
|
testB = testB2;
|
|
}
|
|
flixel_util_FlxCollision.boundsA.x = -flixel_util_FlxCollision.matrixA.tx | 0;
|
|
flixel_util_FlxCollision.boundsA.y = -flixel_util_FlxCollision.matrixA.ty | 0;
|
|
flixel_util_FlxCollision.boundsA.width = overlapWidth;
|
|
flixel_util_FlxCollision.boundsA.height = overlapHeight;
|
|
flixel_util_FlxCollision.boundsB.x = -flixel_util_FlxCollision.matrixB.tx | 0;
|
|
flixel_util_FlxCollision.boundsB.y = -flixel_util_FlxCollision.matrixB.ty | 0;
|
|
flixel_util_FlxCollision.boundsB.width = overlapWidth;
|
|
flixel_util_FlxCollision.boundsB.height = overlapHeight;
|
|
var _this = flixel_util_FlxCollision.boundsA;
|
|
var FlashRect = flixel_util_FlxCollision.flashRect;
|
|
if(FlashRect == null) {
|
|
FlashRect = new openfl_geom_Rectangle();
|
|
}
|
|
FlashRect.x = _this.x;
|
|
FlashRect.y = _this.y;
|
|
FlashRect.width = _this.width;
|
|
FlashRect.height = _this.height;
|
|
var pixelsA = testA.getPixels(flixel_util_FlxCollision.flashRect);
|
|
var _this = flixel_util_FlxCollision.boundsB;
|
|
var FlashRect = flixel_util_FlxCollision.flashRect;
|
|
if(FlashRect == null) {
|
|
FlashRect = new openfl_geom_Rectangle();
|
|
}
|
|
FlashRect.x = _this.x;
|
|
FlashRect.y = _this.y;
|
|
FlashRect.width = _this.width;
|
|
FlashRect.height = _this.height;
|
|
var pixelsB = testB.getPixels(flixel_util_FlxCollision.flashRect);
|
|
var hit = false;
|
|
var alphaA = 0;
|
|
var alphaB = 0;
|
|
var overlapPixels = overlapWidth * overlapHeight;
|
|
var alphaIdx = 0;
|
|
var _g = 0;
|
|
var _g1 = Math.ceil(overlapPixels / 2);
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
alphaIdx = i << 3;
|
|
pixelsA.position = pixelsB.position = alphaIdx;
|
|
alphaA = pixelsA.readUnsignedByte();
|
|
alphaB = pixelsB.readUnsignedByte();
|
|
if(alphaA >= AlphaTolerance && alphaB >= AlphaTolerance) {
|
|
hit = true;
|
|
break;
|
|
}
|
|
}
|
|
if(!hit) {
|
|
var _g = 0;
|
|
var _g1 = overlapPixels >> 1;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
alphaIdx = (i << 3) + 4;
|
|
pixelsA.position = pixelsB.position = alphaIdx;
|
|
alphaA = pixelsA.readUnsignedByte();
|
|
alphaB = pixelsB.readUnsignedByte();
|
|
if(alphaA >= AlphaTolerance && alphaB >= AlphaTolerance) {
|
|
hit = true;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
if(considerRotation) {
|
|
flixel_util_FlxBitmapDataPool.put(testA);
|
|
flixel_util_FlxBitmapDataPool.put(testB);
|
|
}
|
|
return hit;
|
|
};
|
|
flixel_util_FlxCollision.pixelPerfectPointCheck = function(PointX,PointY,Target,AlphaTolerance) {
|
|
if(AlphaTolerance == null) {
|
|
AlphaTolerance = 1;
|
|
}
|
|
if(!flixel_math_FlxMath.pointInCoordinates(PointX,PointY,Math.floor(Target.x),Math.floor(Target.y),Target.get_width() | 0,Target.get_height() | 0)) {
|
|
return false;
|
|
}
|
|
if(flixel_FlxG.renderTile) {
|
|
Target.drawFrame();
|
|
}
|
|
var test = Target.framePixels;
|
|
var pixelAlpha = flixel_util_FlxColor._new(test.getPixel32(Math.floor(PointX - Target.x),Math.floor(PointY - Target.y))) >> 24 & 255;
|
|
if(flixel_FlxG.renderTile) {
|
|
pixelAlpha = pixelAlpha * Target.alpha | 0;
|
|
}
|
|
return pixelAlpha >= AlphaTolerance;
|
|
};
|
|
flixel_util_FlxCollision.createCameraWall = function(Camera,PlaceOutside,Thickness,AdjustWorldBounds) {
|
|
if(AdjustWorldBounds == null) {
|
|
AdjustWorldBounds = false;
|
|
}
|
|
if(PlaceOutside == null) {
|
|
PlaceOutside = true;
|
|
}
|
|
var left = null;
|
|
var right = null;
|
|
var top = null;
|
|
var bottom = null;
|
|
if(PlaceOutside) {
|
|
left = new flixel_tile_FlxTileblock(Math.floor(Camera.x - Thickness),Math.floor(Camera.y + Thickness),Thickness,Camera.height - Thickness * 2);
|
|
right = new flixel_tile_FlxTileblock(Math.floor(Camera.x + Camera.width),Math.floor(Camera.y + Thickness),Thickness,Camera.height - Thickness * 2);
|
|
top = new flixel_tile_FlxTileblock(Math.floor(Camera.x - Thickness),Math.floor(Camera.y - Thickness),Camera.width + Thickness * 2,Thickness);
|
|
bottom = new flixel_tile_FlxTileblock(Math.floor(Camera.x - Thickness),Camera.height,Camera.width + Thickness * 2,Thickness);
|
|
if(AdjustWorldBounds) {
|
|
var _this = flixel_FlxG.worldBounds;
|
|
var X = Camera.x - Thickness;
|
|
var Y = Camera.y - Thickness;
|
|
var Width = Camera.width + Thickness * 2;
|
|
var Height = Camera.height + Thickness * 2;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
}
|
|
} else {
|
|
left = new flixel_tile_FlxTileblock(Math.floor(Camera.x),Math.floor(Camera.y + Thickness),Thickness,Camera.height - Thickness * 2);
|
|
right = new flixel_tile_FlxTileblock(Math.floor(Camera.x + Camera.width - Thickness),Math.floor(Camera.y + Thickness),Thickness,Camera.height - Thickness * 2);
|
|
top = new flixel_tile_FlxTileblock(Math.floor(Camera.x),Math.floor(Camera.y),Camera.width,Thickness);
|
|
bottom = new flixel_tile_FlxTileblock(Math.floor(Camera.x),Camera.height - Thickness,Camera.width,Thickness);
|
|
if(AdjustWorldBounds) {
|
|
var _this = flixel_FlxG.worldBounds;
|
|
var X = Camera.x;
|
|
var Y = Camera.y;
|
|
var Width = Camera.width;
|
|
var Height = Camera.height;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
}
|
|
}
|
|
var result = new flixel_group_FlxTypedGroup();
|
|
result.add(left);
|
|
result.add(right);
|
|
result.add(top);
|
|
result.add(bottom);
|
|
return result;
|
|
};
|
|
var flixel_util_FlxColor = {};
|
|
flixel_util_FlxColor.__properties__ = {set_lightness:"set_lightness",get_lightness:"get_lightness",set_brightness:"set_brightness",get_brightness:"get_brightness",set_saturation:"set_saturation",get_saturation:"get_saturation",set_hue:"set_hue",get_hue:"get_hue",set_black:"set_black",get_black:"get_black",set_yellow:"set_yellow",get_yellow:"get_yellow",set_magenta:"set_magenta",get_magenta:"get_magenta",set_cyan:"set_cyan",get_cyan:"get_cyan",set_alphaFloat:"set_alphaFloat",get_alphaFloat:"get_alphaFloat",set_greenFloat:"set_greenFloat",get_greenFloat:"get_greenFloat",set_blueFloat:"set_blueFloat",get_blueFloat:"get_blueFloat",set_redFloat:"set_redFloat",get_redFloat:"get_redFloat",set_alpha:"set_alpha",get_alpha:"get_alpha",set_green:"set_green",get_green:"get_green",set_blue:"set_blue",get_blue:"get_blue",set_red:"set_red",get_red:"get_red"};
|
|
flixel_util_FlxColor.fromInt = function(Value) {
|
|
return flixel_util_FlxColor._new(Value);
|
|
};
|
|
flixel_util_FlxColor.fromRGB = function(Red,Green,Blue,Alpha) {
|
|
if(Alpha == null) {
|
|
Alpha = 255;
|
|
}
|
|
var color = flixel_util_FlxColor._new();
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 255;
|
|
}
|
|
color &= -16711681;
|
|
color |= (Red > 255 ? 255 : Red < 0 ? 0 : Red) << 16;
|
|
color &= -65281;
|
|
color |= (Green > 255 ? 255 : Green < 0 ? 0 : Green) << 8;
|
|
color &= -256;
|
|
color |= Blue > 255 ? 255 : Blue < 0 ? 0 : Blue;
|
|
color &= 16777215;
|
|
color |= (Alpha1 > 255 ? 255 : Alpha1 < 0 ? 0 : Alpha1) << 24;
|
|
return color;
|
|
};
|
|
flixel_util_FlxColor.fromRGBFloat = function(Red,Green,Blue,Alpha) {
|
|
if(Alpha == null) {
|
|
Alpha = 1;
|
|
}
|
|
var color = flixel_util_FlxColor._new();
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(Red * 255);
|
|
color &= -16711681;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(Green * 255);
|
|
color &= -65281;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(Blue * 255);
|
|
color &= -256;
|
|
color |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
color &= 16777215;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
return color;
|
|
};
|
|
flixel_util_FlxColor.fromCMYK = function(Cyan,Magenta,Yellow,Black,Alpha) {
|
|
if(Alpha == null) {
|
|
Alpha = 1;
|
|
}
|
|
var color = flixel_util_FlxColor._new();
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = (1 - Cyan) * (1 - Black);
|
|
var Value1 = Math.round(Value * 255);
|
|
color &= -16711681;
|
|
color |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16;
|
|
var Value = (1 - Magenta) * (1 - Black);
|
|
var Value1 = Math.round(Value * 255);
|
|
color &= -65281;
|
|
color |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8;
|
|
var Value = (1 - Yellow) * (1 - Black);
|
|
var Value1 = Math.round(Value * 255);
|
|
color &= -256;
|
|
color |= Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
color &= 16777215;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
return color;
|
|
};
|
|
flixel_util_FlxColor.fromHSB = function(Hue,Saturation,Brightness,Alpha) {
|
|
if(Alpha == null) {
|
|
Alpha = 1;
|
|
}
|
|
var color = flixel_util_FlxColor._new();
|
|
var chroma = Brightness * Saturation;
|
|
var match = Brightness - chroma;
|
|
var Hue1 = Hue;
|
|
var Chroma = chroma;
|
|
Hue1 %= 360;
|
|
var hueD = Hue1 / 60;
|
|
var mid = Chroma * (1 - Math.abs(hueD % 2 - 1)) + match;
|
|
Chroma += match;
|
|
switch(hueD | 0) {
|
|
case 0:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(Chroma * 255);
|
|
color &= -16711681;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(mid * 255);
|
|
color &= -65281;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(match * 255);
|
|
color &= -256;
|
|
color |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
color &= 16777215;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
break;
|
|
case 1:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(mid * 255);
|
|
color &= -16711681;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(Chroma * 255);
|
|
color &= -65281;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(match * 255);
|
|
color &= -256;
|
|
color |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
color &= 16777215;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
break;
|
|
case 2:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(match * 255);
|
|
color &= -16711681;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(Chroma * 255);
|
|
color &= -65281;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(mid * 255);
|
|
color &= -256;
|
|
color |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
color &= 16777215;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
break;
|
|
case 3:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(match * 255);
|
|
color &= -16711681;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(mid * 255);
|
|
color &= -65281;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(Chroma * 255);
|
|
color &= -256;
|
|
color |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
color &= 16777215;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
break;
|
|
case 4:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(mid * 255);
|
|
color &= -16711681;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(match * 255);
|
|
color &= -65281;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(Chroma * 255);
|
|
color &= -256;
|
|
color |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
color &= 16777215;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
break;
|
|
case 5:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(Chroma * 255);
|
|
color &= -16711681;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(match * 255);
|
|
color &= -65281;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(mid * 255);
|
|
color &= -256;
|
|
color |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
color &= 16777215;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
break;
|
|
}
|
|
return color;
|
|
};
|
|
flixel_util_FlxColor.fromHSL = function(Hue,Saturation,Lightness,Alpha) {
|
|
if(Alpha == null) {
|
|
Alpha = 1;
|
|
}
|
|
var color = flixel_util_FlxColor._new();
|
|
var chroma = (1 - Math.abs(2 * Lightness - 1)) * Saturation;
|
|
var match = Lightness - chroma / 2;
|
|
var Hue1 = Hue;
|
|
var Chroma = chroma;
|
|
Hue1 %= 360;
|
|
var hueD = Hue1 / 60;
|
|
var mid = Chroma * (1 - Math.abs(hueD % 2 - 1)) + match;
|
|
Chroma += match;
|
|
switch(hueD | 0) {
|
|
case 0:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(Chroma * 255);
|
|
color &= -16711681;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(mid * 255);
|
|
color &= -65281;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(match * 255);
|
|
color &= -256;
|
|
color |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
color &= 16777215;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
break;
|
|
case 1:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(mid * 255);
|
|
color &= -16711681;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(Chroma * 255);
|
|
color &= -65281;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(match * 255);
|
|
color &= -256;
|
|
color |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
color &= 16777215;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
break;
|
|
case 2:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(match * 255);
|
|
color &= -16711681;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(Chroma * 255);
|
|
color &= -65281;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(mid * 255);
|
|
color &= -256;
|
|
color |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
color &= 16777215;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
break;
|
|
case 3:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(match * 255);
|
|
color &= -16711681;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(mid * 255);
|
|
color &= -65281;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(Chroma * 255);
|
|
color &= -256;
|
|
color |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
color &= 16777215;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
break;
|
|
case 4:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(mid * 255);
|
|
color &= -16711681;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(match * 255);
|
|
color &= -65281;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(Chroma * 255);
|
|
color &= -256;
|
|
color |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
color &= 16777215;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
break;
|
|
case 5:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(Chroma * 255);
|
|
color &= -16711681;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(match * 255);
|
|
color &= -65281;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(mid * 255);
|
|
color &= -256;
|
|
color |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
color &= 16777215;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
break;
|
|
}
|
|
return color;
|
|
};
|
|
flixel_util_FlxColor.fromString = function(str) {
|
|
var result = null;
|
|
str = StringTools.trim(str);
|
|
if(flixel_util_FlxColor.COLOR_REGEX.match(str)) {
|
|
var hexColor = "0x" + flixel_util_FlxColor.COLOR_REGEX.matched(2);
|
|
result = flixel_util_FlxColor._new(Std.parseInt(hexColor));
|
|
if(hexColor.length == 8) {
|
|
var Value = Math.round(255);
|
|
result &= 16777215;
|
|
result |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
}
|
|
} else {
|
|
str = str.toUpperCase();
|
|
var key = haxe_ds_StringMap.keysIterator(flixel_util_FlxColor.colorLookup.h);
|
|
while(key.hasNext()) {
|
|
var key1 = key.next();
|
|
if(key1.toUpperCase() == str) {
|
|
result = flixel_util_FlxColor._new(flixel_util_FlxColor.colorLookup.h[key1]);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
return result;
|
|
};
|
|
flixel_util_FlxColor.getHSBColorWheel = function(Alpha) {
|
|
if(Alpha == null) {
|
|
Alpha = 255;
|
|
}
|
|
var _g = [];
|
|
var _g1 = 0;
|
|
while(_g1 < 360) {
|
|
var c = _g1++;
|
|
_g.push(flixel_util_FlxColor.fromHSB(c,1.0,1.0,Alpha));
|
|
}
|
|
return _g;
|
|
};
|
|
flixel_util_FlxColor.interpolate = function(Color1,Color2,Factor) {
|
|
if(Factor == null) {
|
|
Factor = 0.5;
|
|
}
|
|
var r = ((Color2 >> 16 & 255) - (Color1 >> 16 & 255)) * Factor + (Color1 >> 16 & 255) | 0;
|
|
var g = ((Color2 >> 8 & 255) - (Color1 >> 8 & 255)) * Factor + (Color1 >> 8 & 255) | 0;
|
|
var b = ((Color2 & 255) - (Color1 & 255)) * Factor + (Color1 & 255) | 0;
|
|
var a = ((Color2 >> 24 & 255) - (Color1 >> 24 & 255)) * Factor + (Color1 >> 24 & 255) | 0;
|
|
var Alpha = a;
|
|
if(Alpha == null) {
|
|
Alpha = 255;
|
|
}
|
|
var color = flixel_util_FlxColor._new();
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 255;
|
|
}
|
|
color &= -16711681;
|
|
color |= (r > 255 ? 255 : r < 0 ? 0 : r) << 16;
|
|
color &= -65281;
|
|
color |= (g > 255 ? 255 : g < 0 ? 0 : g) << 8;
|
|
color &= -256;
|
|
color |= b > 255 ? 255 : b < 0 ? 0 : b;
|
|
color &= 16777215;
|
|
color |= (Alpha1 > 255 ? 255 : Alpha1 < 0 ? 0 : Alpha1) << 24;
|
|
return color;
|
|
};
|
|
flixel_util_FlxColor.gradient = function(Color1,Color2,Steps,Ease) {
|
|
var output = [];
|
|
if(Ease == null) {
|
|
Ease = function(t) {
|
|
return t;
|
|
};
|
|
}
|
|
var _g = 0;
|
|
var _g1 = Steps;
|
|
while(_g < _g1) {
|
|
var step = _g++;
|
|
var Factor = Ease(step / (Steps - 1));
|
|
if(Factor == null) {
|
|
Factor = 0.5;
|
|
}
|
|
var r = ((Color2 >> 16 & 255) - (Color1 >> 16 & 255)) * Factor + (Color1 >> 16 & 255) | 0;
|
|
var g = ((Color2 >> 8 & 255) - (Color1 >> 8 & 255)) * Factor + (Color1 >> 8 & 255) | 0;
|
|
var b = ((Color2 & 255) - (Color1 & 255)) * Factor + (Color1 & 255) | 0;
|
|
var a = ((Color2 >> 24 & 255) - (Color1 >> 24 & 255)) * Factor + (Color1 >> 24 & 255) | 0;
|
|
var Alpha = a;
|
|
if(Alpha == null) {
|
|
Alpha = 255;
|
|
}
|
|
var color = flixel_util_FlxColor._new();
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 255;
|
|
}
|
|
color &= -16711681;
|
|
color |= (r > 255 ? 255 : r < 0 ? 0 : r) << 16;
|
|
color &= -65281;
|
|
color |= (g > 255 ? 255 : g < 0 ? 0 : g) << 8;
|
|
color &= -256;
|
|
color |= b > 255 ? 255 : b < 0 ? 0 : b;
|
|
color &= 16777215;
|
|
color |= (Alpha1 > 255 ? 255 : Alpha1 < 0 ? 0 : Alpha1) << 24;
|
|
output[step] = color;
|
|
}
|
|
return output;
|
|
};
|
|
flixel_util_FlxColor.multiply = function(lhs,rhs) {
|
|
var Red = (lhs >> 16 & 255) / 255 * ((rhs >> 16 & 255) / 255);
|
|
var Green = (lhs >> 8 & 255) / 255 * ((rhs >> 8 & 255) / 255);
|
|
var Blue = (lhs & 255) / 255 * ((rhs & 255) / 255);
|
|
var color = flixel_util_FlxColor._new();
|
|
var Alpha = 1;
|
|
if(Alpha == null) {
|
|
Alpha = 1;
|
|
}
|
|
var Value = Math.round(Red * 255);
|
|
color &= -16711681;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(Green * 255);
|
|
color &= -65281;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(Blue * 255);
|
|
color &= -256;
|
|
color |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha * 255);
|
|
color &= 16777215;
|
|
color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
return color;
|
|
};
|
|
flixel_util_FlxColor.add = function(lhs,rhs) {
|
|
var Red = (lhs >> 16 & 255) + (rhs >> 16 & 255);
|
|
var Green = (lhs >> 8 & 255) + (rhs >> 8 & 255);
|
|
var Blue = (lhs & 255) + (rhs & 255);
|
|
var color = flixel_util_FlxColor._new();
|
|
var Alpha = 255;
|
|
if(Alpha == null) {
|
|
Alpha = 255;
|
|
}
|
|
color &= -16711681;
|
|
color |= (Red > 255 ? 255 : Red < 0 ? 0 : Red) << 16;
|
|
color &= -65281;
|
|
color |= (Green > 255 ? 255 : Green < 0 ? 0 : Green) << 8;
|
|
color &= -256;
|
|
color |= Blue > 255 ? 255 : Blue < 0 ? 0 : Blue;
|
|
color &= 16777215;
|
|
color |= (Alpha > 255 ? 255 : Alpha < 0 ? 0 : Alpha) << 24;
|
|
return color;
|
|
};
|
|
flixel_util_FlxColor.subtract = function(lhs,rhs) {
|
|
var Red = (lhs >> 16 & 255) - (rhs >> 16 & 255);
|
|
var Green = (lhs >> 8 & 255) - (rhs >> 8 & 255);
|
|
var Blue = (lhs & 255) - (rhs & 255);
|
|
var color = flixel_util_FlxColor._new();
|
|
var Alpha = 255;
|
|
if(Alpha == null) {
|
|
Alpha = 255;
|
|
}
|
|
color &= -16711681;
|
|
color |= (Red > 255 ? 255 : Red < 0 ? 0 : Red) << 16;
|
|
color &= -65281;
|
|
color |= (Green > 255 ? 255 : Green < 0 ? 0 : Green) << 8;
|
|
color &= -256;
|
|
color |= Blue > 255 ? 255 : Blue < 0 ? 0 : Blue;
|
|
color &= 16777215;
|
|
color |= (Alpha > 255 ? 255 : Alpha < 0 ? 0 : Alpha) << 24;
|
|
return color;
|
|
};
|
|
flixel_util_FlxColor.getComplementHarmony = function(this1) {
|
|
return flixel_util_FlxColor.fromHSB(flixel_math_FlxMath.wrap((flixel_util_FlxColor.get_hue(this1) | 0) + 180,0,350),Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),(Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) - Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),(this1 >> 24 & 255) / 255);
|
|
};
|
|
flixel_util_FlxColor.getAnalogousHarmony = function(this1,Threshold) {
|
|
if(Threshold == null) {
|
|
Threshold = 30;
|
|
}
|
|
var warmer = flixel_util_FlxColor.fromHSB(flixel_math_FlxMath.wrap((flixel_util_FlxColor.get_hue(this1) | 0) - Threshold,0,350),(Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) - Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),(this1 >> 24 & 255) / 255);
|
|
var colder = flixel_util_FlxColor.fromHSB(flixel_math_FlxMath.wrap((flixel_util_FlxColor.get_hue(this1) | 0) + Threshold,0,350),(Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) - Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),(this1 >> 24 & 255) / 255);
|
|
return { original : this1, warmer : warmer, colder : colder};
|
|
};
|
|
flixel_util_FlxColor.getSplitComplementHarmony = function(this1,Threshold) {
|
|
if(Threshold == null) {
|
|
Threshold = 30;
|
|
}
|
|
var oppositeHue = flixel_math_FlxMath.wrap((flixel_util_FlxColor.get_hue(this1) | 0) + 180,0,350);
|
|
var warmer = flixel_util_FlxColor.fromHSB(flixel_math_FlxMath.wrap(oppositeHue - Threshold,0,350),(Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) - Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),(this1 >> 24 & 255) / 255);
|
|
var colder = flixel_util_FlxColor.fromHSB(flixel_math_FlxMath.wrap(oppositeHue + Threshold,0,350),(Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) - Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),(this1 >> 24 & 255) / 255);
|
|
return { original : this1, warmer : warmer, colder : colder};
|
|
};
|
|
flixel_util_FlxColor.getTriadicHarmony = function(this1) {
|
|
var triadic1 = flixel_util_FlxColor.fromHSB(flixel_math_FlxMath.wrap((flixel_util_FlxColor.get_hue(this1) | 0) + 120,0,359),(Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) - Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),(this1 >> 24 & 255) / 255);
|
|
var triadic2 = flixel_util_FlxColor.fromHSB(flixel_math_FlxMath.wrap((flixel_util_FlxColor.get_hue(triadic1) | 0) + 120,0,359),(Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) - Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),(this1 >> 24 & 255) / 255);
|
|
return { color1 : this1, color2 : triadic1, color3 : triadic2};
|
|
};
|
|
flixel_util_FlxColor.to24Bit = function(this1) {
|
|
return this1 & 16777215;
|
|
};
|
|
flixel_util_FlxColor.toHexString = function(this1,Alpha,Prefix) {
|
|
if(Prefix == null) {
|
|
Prefix = true;
|
|
}
|
|
if(Alpha == null) {
|
|
Alpha = true;
|
|
}
|
|
var tmp = Alpha ? StringTools.hex(this1 >> 24 & 255,2) : "";
|
|
return (Prefix ? "0x" : "") + tmp + StringTools.hex(this1 >> 16 & 255,2) + StringTools.hex(this1 >> 8 & 255,2) + StringTools.hex(this1 & 255,2);
|
|
};
|
|
flixel_util_FlxColor.toWebString = function(this1) {
|
|
var Alpha = false;
|
|
var Prefix = false;
|
|
if(Prefix == null) {
|
|
Prefix = true;
|
|
}
|
|
if(Alpha == null) {
|
|
Alpha = true;
|
|
}
|
|
var tmp = Alpha ? StringTools.hex(this1 >> 24 & 255,2) : "";
|
|
return "#" + ((Prefix ? "0x" : "") + tmp + StringTools.hex(this1 >> 16 & 255,2) + StringTools.hex(this1 >> 8 & 255,2) + StringTools.hex(this1 & 255,2));
|
|
};
|
|
flixel_util_FlxColor.getColorInfo = function(this1) {
|
|
var result = "0x" + StringTools.hex(this1 >> 24 & 255,2) + StringTools.hex(this1 >> 16 & 255,2) + StringTools.hex(this1 >> 8 & 255,2) + StringTools.hex(this1 & 255,2) + "\n";
|
|
result += "Alpha: " + (this1 >> 24 & 255) + " Red: " + (this1 >> 16 & 255) + " Green: " + (this1 >> 8 & 255) + " Blue: " + (this1 & 255) + "\n";
|
|
result += "Hue: " + flixel_math_FlxMath.roundDecimal(flixel_util_FlxColor.get_hue(this1),2) + " Saturation: " + flixel_math_FlxMath.roundDecimal((Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) - Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),2) + " Brightness: " + flixel_math_FlxMath.roundDecimal(Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),2) + " Lightness: " + flixel_math_FlxMath.roundDecimal((Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) + Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / 2,2);
|
|
return result;
|
|
};
|
|
flixel_util_FlxColor.getDarkened = function(this1,Factor) {
|
|
if(Factor == null) {
|
|
Factor = 0.2;
|
|
}
|
|
var lowerBound = Factor < 0 ? 0 : Factor;
|
|
Factor = lowerBound > 1 ? 1 : lowerBound;
|
|
var output = this1;
|
|
var Value = (Math.max((output >> 16 & 255) / 255,Math.max((output >> 8 & 255) / 255,(output & 255) / 255)) + Math.min((output >> 16 & 255) / 255,Math.min((output >> 8 & 255) / 255,(output & 255) / 255))) / 2 * (1 - Factor);
|
|
var Hue = flixel_util_FlxColor.get_hue(output);
|
|
var Alpha = (output >> 24 & 255) / 255;
|
|
var chroma = (1 - Math.abs(2 * Value - 1)) * ((Math.max((output >> 16 & 255) / 255,Math.max((output >> 8 & 255) / 255,(output & 255) / 255)) - Math.min((output >> 16 & 255) / 255,Math.min((output >> 8 & 255) / 255,(output & 255) / 255))) / Math.max((output >> 16 & 255) / 255,Math.max((output >> 8 & 255) / 255,(output & 255) / 255)));
|
|
var match = Value - chroma / 2;
|
|
var Hue1 = Hue;
|
|
var Chroma = chroma;
|
|
Hue1 %= 360;
|
|
var hueD = Hue1 / 60;
|
|
var mid = Chroma * (1 - Math.abs(hueD % 2 - 1)) + match;
|
|
Chroma += match;
|
|
switch(hueD | 0) {
|
|
case 0:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(Chroma * 255);
|
|
output &= -16711681;
|
|
output |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(mid * 255);
|
|
output &= -65281;
|
|
output |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(match * 255);
|
|
output &= -256;
|
|
output |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
output &= 16777215;
|
|
output |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
break;
|
|
case 1:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(mid * 255);
|
|
output &= -16711681;
|
|
output |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(Chroma * 255);
|
|
output &= -65281;
|
|
output |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(match * 255);
|
|
output &= -256;
|
|
output |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
output &= 16777215;
|
|
output |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
break;
|
|
case 2:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(match * 255);
|
|
output &= -16711681;
|
|
output |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(Chroma * 255);
|
|
output &= -65281;
|
|
output |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(mid * 255);
|
|
output &= -256;
|
|
output |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
output &= 16777215;
|
|
output |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
break;
|
|
case 3:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(match * 255);
|
|
output &= -16711681;
|
|
output |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(mid * 255);
|
|
output &= -65281;
|
|
output |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(Chroma * 255);
|
|
output &= -256;
|
|
output |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
output &= 16777215;
|
|
output |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
break;
|
|
case 4:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(mid * 255);
|
|
output &= -16711681;
|
|
output |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(match * 255);
|
|
output &= -65281;
|
|
output |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(Chroma * 255);
|
|
output &= -256;
|
|
output |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
output &= 16777215;
|
|
output |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
break;
|
|
case 5:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(Chroma * 255);
|
|
output &= -16711681;
|
|
output |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(match * 255);
|
|
output &= -65281;
|
|
output |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(mid * 255);
|
|
output &= -256;
|
|
output |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
output &= 16777215;
|
|
output |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
break;
|
|
}
|
|
return output;
|
|
};
|
|
flixel_util_FlxColor.getLightened = function(this1,Factor) {
|
|
if(Factor == null) {
|
|
Factor = 0.2;
|
|
}
|
|
var lowerBound = Factor < 0 ? 0 : Factor;
|
|
Factor = lowerBound > 1 ? 1 : lowerBound;
|
|
var output = this1;
|
|
var Value = (Math.max((output >> 16 & 255) / 255,Math.max((output >> 8 & 255) / 255,(output & 255) / 255)) + Math.min((output >> 16 & 255) / 255,Math.min((output >> 8 & 255) / 255,(output & 255) / 255))) / 2 + (1 - (Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) + Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / 2) * Factor;
|
|
var Hue = flixel_util_FlxColor.get_hue(output);
|
|
var Alpha = (output >> 24 & 255) / 255;
|
|
var chroma = (1 - Math.abs(2 * Value - 1)) * ((Math.max((output >> 16 & 255) / 255,Math.max((output >> 8 & 255) / 255,(output & 255) / 255)) - Math.min((output >> 16 & 255) / 255,Math.min((output >> 8 & 255) / 255,(output & 255) / 255))) / Math.max((output >> 16 & 255) / 255,Math.max((output >> 8 & 255) / 255,(output & 255) / 255)));
|
|
var match = Value - chroma / 2;
|
|
var Hue1 = Hue;
|
|
var Chroma = chroma;
|
|
Hue1 %= 360;
|
|
var hueD = Hue1 / 60;
|
|
var mid = Chroma * (1 - Math.abs(hueD % 2 - 1)) + match;
|
|
Chroma += match;
|
|
switch(hueD | 0) {
|
|
case 0:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(Chroma * 255);
|
|
output &= -16711681;
|
|
output |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(mid * 255);
|
|
output &= -65281;
|
|
output |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(match * 255);
|
|
output &= -256;
|
|
output |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
output &= 16777215;
|
|
output |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
break;
|
|
case 1:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(mid * 255);
|
|
output &= -16711681;
|
|
output |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(Chroma * 255);
|
|
output &= -65281;
|
|
output |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(match * 255);
|
|
output &= -256;
|
|
output |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
output &= 16777215;
|
|
output |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
break;
|
|
case 2:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(match * 255);
|
|
output &= -16711681;
|
|
output |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(Chroma * 255);
|
|
output &= -65281;
|
|
output |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(mid * 255);
|
|
output &= -256;
|
|
output |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
output &= 16777215;
|
|
output |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
break;
|
|
case 3:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(match * 255);
|
|
output &= -16711681;
|
|
output |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(mid * 255);
|
|
output &= -65281;
|
|
output |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(Chroma * 255);
|
|
output &= -256;
|
|
output |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
output &= 16777215;
|
|
output |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
break;
|
|
case 4:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(mid * 255);
|
|
output &= -16711681;
|
|
output |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(match * 255);
|
|
output &= -65281;
|
|
output |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(Chroma * 255);
|
|
output &= -256;
|
|
output |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
output &= 16777215;
|
|
output |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
break;
|
|
case 5:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(Chroma * 255);
|
|
output &= -16711681;
|
|
output |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(match * 255);
|
|
output &= -65281;
|
|
output |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(mid * 255);
|
|
output &= -256;
|
|
output |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
output &= 16777215;
|
|
output |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
break;
|
|
}
|
|
return output;
|
|
};
|
|
flixel_util_FlxColor.getInverted = function(this1) {
|
|
var oldAlpha = this1 >> 24 & 255;
|
|
var lhs = -1;
|
|
var Red = (lhs >> 16 & 255) - (this1 >> 16 & 255);
|
|
var Green = (lhs >> 8 & 255) - (this1 >> 8 & 255);
|
|
var Blue = (lhs & 255) - (this1 & 255);
|
|
var color = flixel_util_FlxColor._new();
|
|
var Alpha = 255;
|
|
if(Alpha == null) {
|
|
Alpha = 255;
|
|
}
|
|
color &= -16711681;
|
|
color |= (Red > 255 ? 255 : Red < 0 ? 0 : Red) << 16;
|
|
color &= -65281;
|
|
color |= (Green > 255 ? 255 : Green < 0 ? 0 : Green) << 8;
|
|
color &= -256;
|
|
color |= Blue > 255 ? 255 : Blue < 0 ? 0 : Blue;
|
|
color &= 16777215;
|
|
color |= (Alpha > 255 ? 255 : Alpha < 0 ? 0 : Alpha) << 24;
|
|
var output = color;
|
|
output &= 16777215;
|
|
output |= (oldAlpha > 255 ? 255 : oldAlpha < 0 ? 0 : oldAlpha) << 24;
|
|
return output;
|
|
};
|
|
flixel_util_FlxColor.setRGB = function(this1,Red,Green,Blue,Alpha) {
|
|
if(Alpha == null) {
|
|
Alpha = 255;
|
|
}
|
|
this1 &= -16711681;
|
|
this1 |= (Red > 255 ? 255 : Red < 0 ? 0 : Red) << 16;
|
|
this1 &= -65281;
|
|
this1 |= (Green > 255 ? 255 : Green < 0 ? 0 : Green) << 8;
|
|
this1 &= -256;
|
|
this1 |= Blue > 255 ? 255 : Blue < 0 ? 0 : Blue;
|
|
this1 &= 16777215;
|
|
this1 |= (Alpha > 255 ? 255 : Alpha < 0 ? 0 : Alpha) << 24;
|
|
return this1;
|
|
};
|
|
flixel_util_FlxColor.setRGBFloat = function(this1,Red,Green,Blue,Alpha) {
|
|
if(Alpha == null) {
|
|
Alpha = 1;
|
|
}
|
|
var Value = Math.round(Red * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(Green * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(Blue * 255);
|
|
this1 &= -256;
|
|
this1 |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
return this1;
|
|
};
|
|
flixel_util_FlxColor.setCMYK = function(this1,Cyan,Magenta,Yellow,Black,Alpha) {
|
|
if(Alpha == null) {
|
|
Alpha = 1;
|
|
}
|
|
var Value = (1 - Cyan) * (1 - Black);
|
|
var Value1 = Math.round(Value * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16;
|
|
var Value = (1 - Magenta) * (1 - Black);
|
|
var Value1 = Math.round(Value * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8;
|
|
var Value = (1 - Yellow) * (1 - Black);
|
|
var Value1 = Math.round(Value * 255);
|
|
this1 &= -256;
|
|
this1 |= Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1;
|
|
var Value = Math.round(Alpha * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
return this1;
|
|
};
|
|
flixel_util_FlxColor.setHSB = function(this1,Hue,Saturation,Brightness,Alpha) {
|
|
var chroma = Brightness * Saturation;
|
|
var match = Brightness - chroma;
|
|
var Hue1 = Hue;
|
|
var Chroma = chroma;
|
|
Hue1 %= 360;
|
|
var hueD = Hue1 / 60;
|
|
var mid = Chroma * (1 - Math.abs(hueD % 2 - 1)) + match;
|
|
Chroma += match;
|
|
switch(hueD | 0) {
|
|
case 0:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(Chroma * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(mid * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(match * 255);
|
|
this1 &= -256;
|
|
this1 |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
break;
|
|
case 1:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(mid * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(Chroma * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(match * 255);
|
|
this1 &= -256;
|
|
this1 |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
break;
|
|
case 2:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(match * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(Chroma * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(mid * 255);
|
|
this1 &= -256;
|
|
this1 |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
break;
|
|
case 3:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(match * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(mid * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(Chroma * 255);
|
|
this1 &= -256;
|
|
this1 |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
break;
|
|
case 4:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(mid * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(match * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(Chroma * 255);
|
|
this1 &= -256;
|
|
this1 |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
break;
|
|
case 5:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(Chroma * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(match * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(mid * 255);
|
|
this1 &= -256;
|
|
this1 |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
break;
|
|
}
|
|
return this1;
|
|
};
|
|
flixel_util_FlxColor.setHSL = function(this1,Hue,Saturation,Lightness,Alpha) {
|
|
var chroma = (1 - Math.abs(2 * Lightness - 1)) * Saturation;
|
|
var match = Lightness - chroma / 2;
|
|
var Hue1 = Hue;
|
|
var Chroma = chroma;
|
|
Hue1 %= 360;
|
|
var hueD = Hue1 / 60;
|
|
var mid = Chroma * (1 - Math.abs(hueD % 2 - 1)) + match;
|
|
Chroma += match;
|
|
switch(hueD | 0) {
|
|
case 0:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(Chroma * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(mid * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(match * 255);
|
|
this1 &= -256;
|
|
this1 |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
break;
|
|
case 1:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(mid * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(Chroma * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(match * 255);
|
|
this1 &= -256;
|
|
this1 |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
break;
|
|
case 2:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(match * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(Chroma * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(mid * 255);
|
|
this1 &= -256;
|
|
this1 |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
break;
|
|
case 3:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(match * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(mid * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(Chroma * 255);
|
|
this1 &= -256;
|
|
this1 |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
break;
|
|
case 4:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(mid * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(match * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(Chroma * 255);
|
|
this1 &= -256;
|
|
this1 |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
break;
|
|
case 5:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(Chroma * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(match * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(mid * 255);
|
|
this1 &= -256;
|
|
this1 |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
break;
|
|
}
|
|
return this1;
|
|
};
|
|
flixel_util_FlxColor.setHSChromaMatch = function(this1,Hue,Saturation,Chroma,Match,Alpha) {
|
|
Hue %= 360;
|
|
var hueD = Hue / 60;
|
|
var mid = Chroma * (1 - Math.abs(hueD % 2 - 1)) + Match;
|
|
Chroma += Match;
|
|
switch(hueD | 0) {
|
|
case 0:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(Chroma * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(mid * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(Match * 255);
|
|
this1 &= -256;
|
|
this1 |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
break;
|
|
case 1:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(mid * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(Chroma * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(Match * 255);
|
|
this1 &= -256;
|
|
this1 |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
break;
|
|
case 2:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(Match * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(Chroma * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(mid * 255);
|
|
this1 &= -256;
|
|
this1 |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
break;
|
|
case 3:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(Match * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(mid * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(Chroma * 255);
|
|
this1 &= -256;
|
|
this1 |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
break;
|
|
case 4:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(mid * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(Match * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(Chroma * 255);
|
|
this1 &= -256;
|
|
this1 |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
break;
|
|
case 5:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value = Math.round(Chroma * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
var Value = Math.round(Match * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
var Value = Math.round(mid * 255);
|
|
this1 &= -256;
|
|
this1 |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
var Value = Math.round(Alpha1 * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
break;
|
|
}
|
|
return this1;
|
|
};
|
|
flixel_util_FlxColor._new = function(Value) {
|
|
if(Value == null) {
|
|
Value = 0;
|
|
}
|
|
var this1 = Value;
|
|
return this1;
|
|
};
|
|
flixel_util_FlxColor.getThis = function(this1) {
|
|
return this1;
|
|
};
|
|
flixel_util_FlxColor.validate = function(this1) {
|
|
};
|
|
flixel_util_FlxColor.get_red = function(this1) {
|
|
return this1 >> 16 & 255;
|
|
};
|
|
flixel_util_FlxColor.get_green = function(this1) {
|
|
return this1 >> 8 & 255;
|
|
};
|
|
flixel_util_FlxColor.get_blue = function(this1) {
|
|
return this1 & 255;
|
|
};
|
|
flixel_util_FlxColor.get_alpha = function(this1) {
|
|
return this1 >> 24 & 255;
|
|
};
|
|
flixel_util_FlxColor.get_redFloat = function(this1) {
|
|
return (this1 >> 16 & 255) / 255;
|
|
};
|
|
flixel_util_FlxColor.get_greenFloat = function(this1) {
|
|
return (this1 >> 8 & 255) / 255;
|
|
};
|
|
flixel_util_FlxColor.get_blueFloat = function(this1) {
|
|
return (this1 & 255) / 255;
|
|
};
|
|
flixel_util_FlxColor.get_alphaFloat = function(this1) {
|
|
return (this1 >> 24 & 255) / 255;
|
|
};
|
|
flixel_util_FlxColor.set_red = function(this1,Value) {
|
|
this1 &= -16711681;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16;
|
|
return Value;
|
|
};
|
|
flixel_util_FlxColor.set_green = function(this1,Value) {
|
|
this1 &= -65281;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8;
|
|
return Value;
|
|
};
|
|
flixel_util_FlxColor.set_blue = function(this1,Value) {
|
|
this1 &= -256;
|
|
this1 |= Value > 255 ? 255 : Value < 0 ? 0 : Value;
|
|
return Value;
|
|
};
|
|
flixel_util_FlxColor.set_alpha = function(this1,Value) {
|
|
this1 &= 16777215;
|
|
this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24;
|
|
return Value;
|
|
};
|
|
flixel_util_FlxColor.set_redFloat = function(this1,Value) {
|
|
var Value1 = Math.round(Value * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16;
|
|
return Value;
|
|
};
|
|
flixel_util_FlxColor.set_greenFloat = function(this1,Value) {
|
|
var Value1 = Math.round(Value * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8;
|
|
return Value;
|
|
};
|
|
flixel_util_FlxColor.set_blueFloat = function(this1,Value) {
|
|
var Value1 = Math.round(Value * 255);
|
|
this1 &= -256;
|
|
this1 |= Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1;
|
|
return Value;
|
|
};
|
|
flixel_util_FlxColor.set_alphaFloat = function(this1,Value) {
|
|
var Value1 = Math.round(Value * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 24;
|
|
return Value;
|
|
};
|
|
flixel_util_FlxColor.get_cyan = function(this1) {
|
|
return (1 - (this1 >> 16 & 255) / 255 - (1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255));
|
|
};
|
|
flixel_util_FlxColor.get_magenta = function(this1) {
|
|
return (1 - (this1 >> 8 & 255) / 255 - (1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255));
|
|
};
|
|
flixel_util_FlxColor.get_yellow = function(this1) {
|
|
return (1 - (this1 & 255) / 255 - (1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255));
|
|
};
|
|
flixel_util_FlxColor.get_black = function(this1) {
|
|
return 1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255));
|
|
};
|
|
flixel_util_FlxColor.set_cyan = function(this1,Value) {
|
|
var Magenta = (1 - (this1 >> 8 & 255) / 255 - (1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255));
|
|
var Yellow = (1 - (this1 & 255) / 255 - (1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255));
|
|
var Black = 1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255));
|
|
var Alpha = (this1 >> 24 & 255) / 255;
|
|
if(Alpha == null) {
|
|
Alpha = 1;
|
|
}
|
|
var Value1 = (1 - Value) * (1 - Black);
|
|
var Value2 = Math.round(Value1 * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2) << 16;
|
|
var Value1 = (1 - Magenta) * (1 - Black);
|
|
var Value2 = Math.round(Value1 * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2) << 8;
|
|
var Value1 = (1 - Yellow) * (1 - Black);
|
|
var Value2 = Math.round(Value1 * 255);
|
|
this1 &= -256;
|
|
this1 |= Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2;
|
|
var Value1 = Math.round(Alpha * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 24;
|
|
return Value;
|
|
};
|
|
flixel_util_FlxColor.set_magenta = function(this1,Value) {
|
|
var Yellow = (1 - (this1 & 255) / 255 - (1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255));
|
|
var Black = 1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255));
|
|
var Alpha = (this1 >> 24 & 255) / 255;
|
|
if(Alpha == null) {
|
|
Alpha = 1;
|
|
}
|
|
var Value1 = (1 - (1 - (this1 >> 16 & 255) / 255 - (1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) * (1 - Black);
|
|
var Value2 = Math.round(Value1 * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2) << 16;
|
|
var Value1 = (1 - Value) * (1 - Black);
|
|
var Value2 = Math.round(Value1 * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2) << 8;
|
|
var Value1 = (1 - Yellow) * (1 - Black);
|
|
var Value2 = Math.round(Value1 * 255);
|
|
this1 &= -256;
|
|
this1 |= Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2;
|
|
var Value1 = Math.round(Alpha * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 24;
|
|
return Value;
|
|
};
|
|
flixel_util_FlxColor.set_yellow = function(this1,Value) {
|
|
var Magenta = (1 - (this1 >> 8 & 255) / 255 - (1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255));
|
|
var Black = 1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255));
|
|
var Alpha = (this1 >> 24 & 255) / 255;
|
|
if(Alpha == null) {
|
|
Alpha = 1;
|
|
}
|
|
var Value1 = (1 - (1 - (this1 >> 16 & 255) / 255 - (1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) * (1 - Black);
|
|
var Value2 = Math.round(Value1 * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2) << 16;
|
|
var Value1 = (1 - Magenta) * (1 - Black);
|
|
var Value2 = Math.round(Value1 * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2) << 8;
|
|
var Value1 = (1 - Value) * (1 - Black);
|
|
var Value2 = Math.round(Value1 * 255);
|
|
this1 &= -256;
|
|
this1 |= Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2;
|
|
var Value1 = Math.round(Alpha * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 24;
|
|
return Value;
|
|
};
|
|
flixel_util_FlxColor.set_black = function(this1,Value) {
|
|
var Magenta = (1 - (this1 >> 8 & 255) / 255 - (1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255));
|
|
var Yellow = (1 - (this1 & 255) / 255 - (1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255));
|
|
var Alpha = (this1 >> 24 & 255) / 255;
|
|
if(Alpha == null) {
|
|
Alpha = 1;
|
|
}
|
|
var Value1 = (1 - (1 - (this1 >> 16 & 255) / 255 - (1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) * (1 - Value);
|
|
var Value2 = Math.round(Value1 * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2) << 16;
|
|
var Value1 = (1 - Magenta) * (1 - Value);
|
|
var Value2 = Math.round(Value1 * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2) << 8;
|
|
var Value1 = (1 - Yellow) * (1 - Value);
|
|
var Value2 = Math.round(Value1 * 255);
|
|
this1 &= -256;
|
|
this1 |= Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2;
|
|
var Value1 = Math.round(Alpha * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 24;
|
|
return Value;
|
|
};
|
|
flixel_util_FlxColor.get_hue = function(this1) {
|
|
var hueRad = Math.atan2(Math.sqrt(3) * ((this1 >> 8 & 255) / 255 - (this1 & 255) / 255),2 * ((this1 >> 16 & 255) / 255) - (this1 >> 8 & 255) / 255 - (this1 & 255) / 255);
|
|
var hue = 0;
|
|
if(hueRad != 0) {
|
|
hue = 180 / Math.PI * Math.atan2(Math.sqrt(3) * ((this1 >> 8 & 255) / 255 - (this1 & 255) / 255),2 * ((this1 >> 16 & 255) / 255) - (this1 >> 8 & 255) / 255 - (this1 & 255) / 255);
|
|
}
|
|
if(hue < 0) {
|
|
return hue + 360;
|
|
} else {
|
|
return hue;
|
|
}
|
|
};
|
|
flixel_util_FlxColor.get_brightness = function(this1) {
|
|
return Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255));
|
|
};
|
|
flixel_util_FlxColor.get_saturation = function(this1) {
|
|
return (Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) - Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255));
|
|
};
|
|
flixel_util_FlxColor.get_lightness = function(this1) {
|
|
return (Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) + Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / 2;
|
|
};
|
|
flixel_util_FlxColor.set_hue = function(this1,Value) {
|
|
var Brightness = Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255));
|
|
var Alpha = (this1 >> 24 & 255) / 255;
|
|
var chroma = Brightness * ((Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) - Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)));
|
|
var match = Brightness - chroma;
|
|
var Hue = Value;
|
|
var Chroma = chroma;
|
|
Hue %= 360;
|
|
var hueD = Hue / 60;
|
|
var mid = Chroma * (1 - Math.abs(hueD % 2 - 1)) + match;
|
|
Chroma += match;
|
|
switch(hueD | 0) {
|
|
case 0:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value1 = Math.round(Chroma * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16;
|
|
var Value1 = Math.round(mid * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8;
|
|
var Value1 = Math.round(match * 255);
|
|
this1 &= -256;
|
|
this1 |= Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1;
|
|
var Value1 = Math.round(Alpha1 * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 24;
|
|
break;
|
|
case 1:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value1 = Math.round(mid * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16;
|
|
var Value1 = Math.round(Chroma * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8;
|
|
var Value1 = Math.round(match * 255);
|
|
this1 &= -256;
|
|
this1 |= Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1;
|
|
var Value1 = Math.round(Alpha1 * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 24;
|
|
break;
|
|
case 2:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value1 = Math.round(match * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16;
|
|
var Value1 = Math.round(Chroma * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8;
|
|
var Value1 = Math.round(mid * 255);
|
|
this1 &= -256;
|
|
this1 |= Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1;
|
|
var Value1 = Math.round(Alpha1 * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 24;
|
|
break;
|
|
case 3:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value1 = Math.round(match * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16;
|
|
var Value1 = Math.round(mid * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8;
|
|
var Value1 = Math.round(Chroma * 255);
|
|
this1 &= -256;
|
|
this1 |= Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1;
|
|
var Value1 = Math.round(Alpha1 * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 24;
|
|
break;
|
|
case 4:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value1 = Math.round(mid * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16;
|
|
var Value1 = Math.round(match * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8;
|
|
var Value1 = Math.round(Chroma * 255);
|
|
this1 &= -256;
|
|
this1 |= Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1;
|
|
var Value1 = Math.round(Alpha1 * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 24;
|
|
break;
|
|
case 5:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value1 = Math.round(Chroma * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16;
|
|
var Value1 = Math.round(match * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8;
|
|
var Value1 = Math.round(mid * 255);
|
|
this1 &= -256;
|
|
this1 |= Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1;
|
|
var Value1 = Math.round(Alpha1 * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 24;
|
|
break;
|
|
}
|
|
return Value;
|
|
};
|
|
flixel_util_FlxColor.set_saturation = function(this1,Value) {
|
|
var Hue = flixel_util_FlxColor.get_hue(this1);
|
|
var Brightness = Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255));
|
|
var Alpha = (this1 >> 24 & 255) / 255;
|
|
var chroma = Brightness * Value;
|
|
var match = Brightness - chroma;
|
|
var Hue1 = Hue;
|
|
var Chroma = chroma;
|
|
Hue1 %= 360;
|
|
var hueD = Hue1 / 60;
|
|
var mid = Chroma * (1 - Math.abs(hueD % 2 - 1)) + match;
|
|
Chroma += match;
|
|
switch(hueD | 0) {
|
|
case 0:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value1 = Math.round(Chroma * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16;
|
|
var Value1 = Math.round(mid * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8;
|
|
var Value1 = Math.round(match * 255);
|
|
this1 &= -256;
|
|
this1 |= Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1;
|
|
var Value1 = Math.round(Alpha1 * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 24;
|
|
break;
|
|
case 1:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value1 = Math.round(mid * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16;
|
|
var Value1 = Math.round(Chroma * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8;
|
|
var Value1 = Math.round(match * 255);
|
|
this1 &= -256;
|
|
this1 |= Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1;
|
|
var Value1 = Math.round(Alpha1 * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 24;
|
|
break;
|
|
case 2:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value1 = Math.round(match * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16;
|
|
var Value1 = Math.round(Chroma * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8;
|
|
var Value1 = Math.round(mid * 255);
|
|
this1 &= -256;
|
|
this1 |= Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1;
|
|
var Value1 = Math.round(Alpha1 * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 24;
|
|
break;
|
|
case 3:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value1 = Math.round(match * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16;
|
|
var Value1 = Math.round(mid * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8;
|
|
var Value1 = Math.round(Chroma * 255);
|
|
this1 &= -256;
|
|
this1 |= Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1;
|
|
var Value1 = Math.round(Alpha1 * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 24;
|
|
break;
|
|
case 4:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value1 = Math.round(mid * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16;
|
|
var Value1 = Math.round(match * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8;
|
|
var Value1 = Math.round(Chroma * 255);
|
|
this1 &= -256;
|
|
this1 |= Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1;
|
|
var Value1 = Math.round(Alpha1 * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 24;
|
|
break;
|
|
case 5:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value1 = Math.round(Chroma * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16;
|
|
var Value1 = Math.round(match * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8;
|
|
var Value1 = Math.round(mid * 255);
|
|
this1 &= -256;
|
|
this1 |= Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1;
|
|
var Value1 = Math.round(Alpha1 * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 24;
|
|
break;
|
|
}
|
|
return Value;
|
|
};
|
|
flixel_util_FlxColor.set_brightness = function(this1,Value) {
|
|
var Hue = flixel_util_FlxColor.get_hue(this1);
|
|
var Alpha = (this1 >> 24 & 255) / 255;
|
|
var chroma = Value * ((Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) - Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)));
|
|
var match = Value - chroma;
|
|
var Hue1 = Hue;
|
|
var Chroma = chroma;
|
|
Hue1 %= 360;
|
|
var hueD = Hue1 / 60;
|
|
var mid = Chroma * (1 - Math.abs(hueD % 2 - 1)) + match;
|
|
Chroma += match;
|
|
switch(hueD | 0) {
|
|
case 0:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value1 = Math.round(Chroma * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16;
|
|
var Value1 = Math.round(mid * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8;
|
|
var Value1 = Math.round(match * 255);
|
|
this1 &= -256;
|
|
this1 |= Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1;
|
|
var Value1 = Math.round(Alpha1 * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 24;
|
|
break;
|
|
case 1:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value1 = Math.round(mid * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16;
|
|
var Value1 = Math.round(Chroma * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8;
|
|
var Value1 = Math.round(match * 255);
|
|
this1 &= -256;
|
|
this1 |= Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1;
|
|
var Value1 = Math.round(Alpha1 * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 24;
|
|
break;
|
|
case 2:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value1 = Math.round(match * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16;
|
|
var Value1 = Math.round(Chroma * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8;
|
|
var Value1 = Math.round(mid * 255);
|
|
this1 &= -256;
|
|
this1 |= Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1;
|
|
var Value1 = Math.round(Alpha1 * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 24;
|
|
break;
|
|
case 3:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value1 = Math.round(match * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16;
|
|
var Value1 = Math.round(mid * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8;
|
|
var Value1 = Math.round(Chroma * 255);
|
|
this1 &= -256;
|
|
this1 |= Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1;
|
|
var Value1 = Math.round(Alpha1 * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 24;
|
|
break;
|
|
case 4:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value1 = Math.round(mid * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16;
|
|
var Value1 = Math.round(match * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8;
|
|
var Value1 = Math.round(Chroma * 255);
|
|
this1 &= -256;
|
|
this1 |= Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1;
|
|
var Value1 = Math.round(Alpha1 * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 24;
|
|
break;
|
|
case 5:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value1 = Math.round(Chroma * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16;
|
|
var Value1 = Math.round(match * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8;
|
|
var Value1 = Math.round(mid * 255);
|
|
this1 &= -256;
|
|
this1 |= Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1;
|
|
var Value1 = Math.round(Alpha1 * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 24;
|
|
break;
|
|
}
|
|
return Value;
|
|
};
|
|
flixel_util_FlxColor.set_lightness = function(this1,Value) {
|
|
var Hue = flixel_util_FlxColor.get_hue(this1);
|
|
var Alpha = (this1 >> 24 & 255) / 255;
|
|
var chroma = (1 - Math.abs(2 * Value - 1)) * ((Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) - Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)));
|
|
var match = Value - chroma / 2;
|
|
var Hue1 = Hue;
|
|
var Chroma = chroma;
|
|
Hue1 %= 360;
|
|
var hueD = Hue1 / 60;
|
|
var mid = Chroma * (1 - Math.abs(hueD % 2 - 1)) + match;
|
|
Chroma += match;
|
|
switch(hueD | 0) {
|
|
case 0:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value1 = Math.round(Chroma * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16;
|
|
var Value1 = Math.round(mid * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8;
|
|
var Value1 = Math.round(match * 255);
|
|
this1 &= -256;
|
|
this1 |= Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1;
|
|
var Value1 = Math.round(Alpha1 * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 24;
|
|
break;
|
|
case 1:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value1 = Math.round(mid * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16;
|
|
var Value1 = Math.round(Chroma * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8;
|
|
var Value1 = Math.round(match * 255);
|
|
this1 &= -256;
|
|
this1 |= Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1;
|
|
var Value1 = Math.round(Alpha1 * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 24;
|
|
break;
|
|
case 2:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value1 = Math.round(match * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16;
|
|
var Value1 = Math.round(Chroma * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8;
|
|
var Value1 = Math.round(mid * 255);
|
|
this1 &= -256;
|
|
this1 |= Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1;
|
|
var Value1 = Math.round(Alpha1 * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 24;
|
|
break;
|
|
case 3:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value1 = Math.round(match * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16;
|
|
var Value1 = Math.round(mid * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8;
|
|
var Value1 = Math.round(Chroma * 255);
|
|
this1 &= -256;
|
|
this1 |= Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1;
|
|
var Value1 = Math.round(Alpha1 * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 24;
|
|
break;
|
|
case 4:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value1 = Math.round(mid * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16;
|
|
var Value1 = Math.round(match * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8;
|
|
var Value1 = Math.round(Chroma * 255);
|
|
this1 &= -256;
|
|
this1 |= Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1;
|
|
var Value1 = Math.round(Alpha1 * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 24;
|
|
break;
|
|
case 5:
|
|
var Alpha1 = Alpha;
|
|
if(Alpha1 == null) {
|
|
Alpha1 = 1;
|
|
}
|
|
var Value1 = Math.round(Chroma * 255);
|
|
this1 &= -16711681;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16;
|
|
var Value1 = Math.round(match * 255);
|
|
this1 &= -65281;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8;
|
|
var Value1 = Math.round(mid * 255);
|
|
this1 &= -256;
|
|
this1 |= Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1;
|
|
var Value1 = Math.round(Alpha1 * 255);
|
|
this1 &= 16777215;
|
|
this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 24;
|
|
break;
|
|
}
|
|
return Value;
|
|
};
|
|
flixel_util_FlxColor.maxColor = function(this1) {
|
|
return Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255));
|
|
};
|
|
flixel_util_FlxColor.minColor = function(this1) {
|
|
return Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255));
|
|
};
|
|
flixel_util_FlxColor.boundChannel = function(this1,Value) {
|
|
if(Value > 255) {
|
|
return 255;
|
|
} else if(Value < 0) {
|
|
return 0;
|
|
} else {
|
|
return Value;
|
|
}
|
|
};
|
|
var flixel_util_FlxColorTransformUtil = function() { };
|
|
$hxClasses["flixel.util.FlxColorTransformUtil"] = flixel_util_FlxColorTransformUtil;
|
|
flixel_util_FlxColorTransformUtil.__name__ = "flixel.util.FlxColorTransformUtil";
|
|
flixel_util_FlxColorTransformUtil.setMultipliers = function(transform,red,green,blue,alpha) {
|
|
transform.redMultiplier = red;
|
|
transform.greenMultiplier = green;
|
|
transform.blueMultiplier = blue;
|
|
transform.alphaMultiplier = alpha;
|
|
return transform;
|
|
};
|
|
flixel_util_FlxColorTransformUtil.setOffsets = function(transform,red,green,blue,alpha) {
|
|
transform.redOffset = red;
|
|
transform.greenOffset = green;
|
|
transform.blueOffset = blue;
|
|
transform.alphaOffset = alpha;
|
|
return transform;
|
|
};
|
|
flixel_util_FlxColorTransformUtil.hasRGBMultipliers = function(transform) {
|
|
if(!(transform.redMultiplier != 1 || transform.greenMultiplier != 1)) {
|
|
return transform.blueMultiplier != 1;
|
|
} else {
|
|
return true;
|
|
}
|
|
};
|
|
flixel_util_FlxColorTransformUtil.hasRGBAMultipliers = function(transform) {
|
|
if(!flixel_util_FlxColorTransformUtil.hasRGBMultipliers(transform)) {
|
|
return transform.alphaMultiplier != 1;
|
|
} else {
|
|
return true;
|
|
}
|
|
};
|
|
flixel_util_FlxColorTransformUtil.hasRGBOffsets = function(transform) {
|
|
if(!(transform.redOffset != 0 || transform.greenOffset != 0)) {
|
|
return transform.blueOffset != 0;
|
|
} else {
|
|
return true;
|
|
}
|
|
};
|
|
flixel_util_FlxColorTransformUtil.hasRGBAOffsets = function(transform) {
|
|
if(!flixel_util_FlxColorTransformUtil.hasRGBOffsets(transform)) {
|
|
return transform.alphaOffset != 0;
|
|
} else {
|
|
return true;
|
|
}
|
|
};
|
|
var flixel_util_FlxDestroyUtil = function() { };
|
|
$hxClasses["flixel.util.FlxDestroyUtil"] = flixel_util_FlxDestroyUtil;
|
|
flixel_util_FlxDestroyUtil.__name__ = "flixel.util.FlxDestroyUtil";
|
|
flixel_util_FlxDestroyUtil.destroy = function(object) {
|
|
if(object != null) {
|
|
object.destroy();
|
|
}
|
|
return null;
|
|
};
|
|
flixel_util_FlxDestroyUtil.destroyArray = function(array) {
|
|
if(array != null) {
|
|
var _g = 0;
|
|
while(_g < array.length) {
|
|
var e = array[_g];
|
|
++_g;
|
|
flixel_util_FlxDestroyUtil.destroy(e);
|
|
}
|
|
array.splice(0,array.length);
|
|
}
|
|
return null;
|
|
};
|
|
flixel_util_FlxDestroyUtil.put = function(object) {
|
|
if(object != null) {
|
|
object.put();
|
|
}
|
|
return null;
|
|
};
|
|
flixel_util_FlxDestroyUtil.putArray = function(array) {
|
|
if(array != null) {
|
|
var _g = 0;
|
|
while(_g < array.length) {
|
|
var e = array[_g];
|
|
++_g;
|
|
flixel_util_FlxDestroyUtil.put(e);
|
|
}
|
|
array.splice(0,array.length);
|
|
}
|
|
return null;
|
|
};
|
|
flixel_util_FlxDestroyUtil.dispose = function(bitmapData) {
|
|
if(bitmapData != null) {
|
|
bitmapData.dispose();
|
|
}
|
|
return null;
|
|
};
|
|
flixel_util_FlxDestroyUtil.disposeIfNotEqual = function(bitmapData,width,height) {
|
|
if(bitmapData != null && (bitmapData.width != width || bitmapData.height != height)) {
|
|
bitmapData.dispose();
|
|
return null;
|
|
} else if(bitmapData != null) {
|
|
return bitmapData;
|
|
}
|
|
return null;
|
|
};
|
|
flixel_util_FlxDestroyUtil.removeChild = function(parent,child) {
|
|
if(parent != null && child != null && parent.contains(child)) {
|
|
parent.removeChild(child);
|
|
}
|
|
return null;
|
|
};
|
|
var flixel_util_FlxGradient = function() { };
|
|
$hxClasses["flixel.util.FlxGradient"] = flixel_util_FlxGradient;
|
|
flixel_util_FlxGradient.__name__ = "flixel.util.FlxGradient";
|
|
flixel_util_FlxGradient.createGradientMatrix = function(width,height,colors,chunkSize,rotation) {
|
|
if(rotation == null) {
|
|
rotation = 90;
|
|
}
|
|
if(chunkSize == null) {
|
|
chunkSize = 1;
|
|
}
|
|
var gradientMatrix = new openfl_geom_Matrix();
|
|
var rot = rotation * (Math.PI / 180);
|
|
gradientMatrix.createGradientBox(width,UInt.toFloat(height) / UInt.toFloat(chunkSize),rot,0,0);
|
|
var alpha = [];
|
|
var _g = 0;
|
|
var _g1 = colors.length;
|
|
while(_g < _g1) {
|
|
var ai = _g++;
|
|
alpha.push((colors[ai] >> 24 & 255) / 255);
|
|
}
|
|
var ratio = [];
|
|
if(colors.length == 2) {
|
|
ratio[0] = 0;
|
|
ratio[1] = 255;
|
|
} else {
|
|
var spread = 255 / (colors.length - 1) | 0;
|
|
ratio.push(0);
|
|
var _g = 1;
|
|
var _g1 = colors.length - 1;
|
|
while(_g < _g1) {
|
|
var ri = _g++;
|
|
ratio.push(ri * spread);
|
|
}
|
|
ratio.push(255);
|
|
}
|
|
return { matrix : gradientMatrix, alpha : alpha, ratio : ratio};
|
|
};
|
|
flixel_util_FlxGradient.createGradientArray = function(width,height,colors,chunkSize,rotation,interpolate) {
|
|
if(interpolate == null) {
|
|
interpolate = true;
|
|
}
|
|
if(rotation == null) {
|
|
rotation = 90;
|
|
}
|
|
if(chunkSize == null) {
|
|
chunkSize = 1;
|
|
}
|
|
var data = flixel_util_FlxGradient.createGradientBitmapData(width,height,colors,chunkSize,rotation,interpolate);
|
|
var result = [];
|
|
var _g = 0;
|
|
var _g1 = data.height;
|
|
while(_g < _g1) {
|
|
var y = _g++;
|
|
result.push(data.getPixel32(0,y));
|
|
}
|
|
return result;
|
|
};
|
|
flixel_util_FlxGradient.createGradientFlxSprite = function(width,height,colors,chunkSize,rotation,interpolate) {
|
|
if(interpolate == null) {
|
|
interpolate = true;
|
|
}
|
|
if(rotation == null) {
|
|
rotation = 90;
|
|
}
|
|
if(chunkSize == null) {
|
|
chunkSize = 1;
|
|
}
|
|
var data = flixel_util_FlxGradient.createGradientBitmapData(width,height,colors,chunkSize,rotation,interpolate);
|
|
var dest = new flixel_FlxSprite();
|
|
dest.set_pixels(data);
|
|
return dest;
|
|
};
|
|
flixel_util_FlxGradient.createGradientBitmapData = function(width,height,colors,chunkSize,rotation,interpolate) {
|
|
if(interpolate == null) {
|
|
interpolate = true;
|
|
}
|
|
if(rotation == null) {
|
|
rotation = 90;
|
|
}
|
|
if(chunkSize == null) {
|
|
chunkSize = 1;
|
|
}
|
|
if(UInt.gt(1,width)) {
|
|
width = 1;
|
|
}
|
|
if(UInt.gt(1,height)) {
|
|
height = 1;
|
|
}
|
|
var gradient = flixel_util_FlxGradient.createGradientMatrix(width,height,colors,chunkSize,rotation);
|
|
var shape = new openfl_display_Shape();
|
|
var interpolationMethod = interpolate ? 1 : 0;
|
|
shape.get_graphics().beginGradientFill(0,colors,gradient.alpha,gradient.ratio,gradient.matrix,0,interpolationMethod,0);
|
|
shape.get_graphics().drawRect(0,0,UInt.toFloat(width),UInt.toFloat(height) / UInt.toFloat(chunkSize));
|
|
var data = new openfl_display_BitmapData(width,height,true,0);
|
|
if(chunkSize == 1) {
|
|
data.draw(shape);
|
|
} else {
|
|
var tempBitmap = new openfl_display_Bitmap(new openfl_display_BitmapData(width,UInt.toFloat(height) / UInt.toFloat(chunkSize) | 0,true,0));
|
|
tempBitmap.get_bitmapData().draw(shape);
|
|
tempBitmap.set_scaleY(UInt.toFloat(chunkSize));
|
|
var sM = new openfl_geom_Matrix();
|
|
sM.scale(tempBitmap.get_scaleX(),tempBitmap.get_scaleY());
|
|
data.draw(tempBitmap,sM);
|
|
}
|
|
return data;
|
|
};
|
|
flixel_util_FlxGradient.overlayGradientOnFlxSprite = function(dest,width,height,colors,destX,destY,chunkSize,rotation,interpolate) {
|
|
if(interpolate == null) {
|
|
interpolate = true;
|
|
}
|
|
if(rotation == null) {
|
|
rotation = 90;
|
|
}
|
|
if(chunkSize == null) {
|
|
chunkSize = 1;
|
|
}
|
|
if(destY == null) {
|
|
destY = 0;
|
|
}
|
|
if(destX == null) {
|
|
destX = 0;
|
|
}
|
|
if(width > dest.get_width()) {
|
|
width = dest.get_width() | 0;
|
|
}
|
|
if(height > dest.get_height()) {
|
|
height = dest.get_height() | 0;
|
|
}
|
|
var source = flixel_util_FlxGradient.createGradientFlxSprite(width,height,colors,chunkSize,rotation,interpolate);
|
|
dest.stamp(source,destX,destY);
|
|
source.destroy();
|
|
return dest;
|
|
};
|
|
flixel_util_FlxGradient.overlayGradientOnBitmapData = function(dest,width,height,colors,destX,destY,chunkSize,rotation,interpolate) {
|
|
if(interpolate == null) {
|
|
interpolate = true;
|
|
}
|
|
if(rotation == null) {
|
|
rotation = 90;
|
|
}
|
|
if(chunkSize == null) {
|
|
chunkSize = 1;
|
|
}
|
|
if(destY == null) {
|
|
destY = 0;
|
|
}
|
|
if(destX == null) {
|
|
destX = 0;
|
|
}
|
|
if(width > dest.width) {
|
|
width = dest.width;
|
|
}
|
|
if(height > dest.height) {
|
|
height = dest.height;
|
|
}
|
|
var source = flixel_util_FlxGradient.createGradientBitmapData(width,height,colors,chunkSize,rotation,interpolate);
|
|
dest.copyPixels(source,new openfl_geom_Rectangle(0,0,source.width,source.height),new openfl_geom_Point(destX,destY),null,null,true);
|
|
source.dispose();
|
|
return dest;
|
|
};
|
|
var flixel_util_FlxHorizontalAlign = $hxEnums["flixel.util.FlxHorizontalAlign"] = { __ename__ : "flixel.util.FlxHorizontalAlign", __constructs__ : ["LEFT","CENTER","RIGHT"]
|
|
,LEFT: {_hx_index:0,__enum__:"flixel.util.FlxHorizontalAlign",toString:$estr}
|
|
,CENTER: {_hx_index:1,__enum__:"flixel.util.FlxHorizontalAlign",toString:$estr}
|
|
,RIGHT: {_hx_index:2,__enum__:"flixel.util.FlxHorizontalAlign",toString:$estr}
|
|
};
|
|
var flixel_util_FlxPath = function(Nodes) {
|
|
this._firstUpdate = false;
|
|
this._wasObjectImmovable = null;
|
|
this._autoRotate = false;
|
|
this._inc = 1;
|
|
this.finished = false;
|
|
this.nodeIndex = 0;
|
|
this.active = false;
|
|
this.autoCenter = true;
|
|
this.angle = 0;
|
|
this.speed = 0;
|
|
if(Nodes != null) {
|
|
this._nodes = Nodes.slice();
|
|
} else {
|
|
this._nodes = [];
|
|
}
|
|
};
|
|
$hxClasses["flixel.util.FlxPath"] = flixel_util_FlxPath;
|
|
flixel_util_FlxPath.__name__ = "flixel.util.FlxPath";
|
|
flixel_util_FlxPath.__interfaces__ = [flixel_util_IFlxDestroyable];
|
|
flixel_util_FlxPath.prototype = {
|
|
_nodes: null
|
|
,speed: null
|
|
,angle: null
|
|
,autoCenter: null
|
|
,active: null
|
|
,onComplete: null
|
|
,nodeIndex: null
|
|
,finished: null
|
|
,_mode: null
|
|
,_inc: null
|
|
,_autoRotate: null
|
|
,_wasObjectImmovable: null
|
|
,_firstUpdate: null
|
|
,object: null
|
|
,reset: function() {
|
|
this.autoCenter = true;
|
|
return this;
|
|
}
|
|
,setProperties: function(Speed,Mode,AutoRotate) {
|
|
if(AutoRotate == null) {
|
|
AutoRotate = false;
|
|
}
|
|
if(Mode == null) {
|
|
Mode = 0;
|
|
}
|
|
if(Speed == null) {
|
|
Speed = 100;
|
|
}
|
|
this.speed = Math.abs(Speed);
|
|
this._mode = Mode;
|
|
this._autoRotate = AutoRotate;
|
|
return this;
|
|
}
|
|
,start: function(Nodes,Speed,Mode,AutoRotate,NodesAsReference) {
|
|
if(NodesAsReference == null) {
|
|
NodesAsReference = false;
|
|
}
|
|
if(AutoRotate == null) {
|
|
AutoRotate = false;
|
|
}
|
|
if(Mode == null) {
|
|
Mode = 0;
|
|
}
|
|
if(Speed == null) {
|
|
Speed = 100;
|
|
}
|
|
if(Nodes != null) {
|
|
if(NodesAsReference) {
|
|
this._nodes = Nodes;
|
|
} else {
|
|
this._nodes = Nodes.slice();
|
|
}
|
|
}
|
|
this.setProperties(Speed,Mode,AutoRotate);
|
|
if(this._nodes.length > 0) {
|
|
this.restart();
|
|
}
|
|
return this;
|
|
}
|
|
,restart: function() {
|
|
this.finished = false;
|
|
this._firstUpdate = true;
|
|
this.active = this._nodes.length > 0;
|
|
if(!this.active) {
|
|
return this;
|
|
}
|
|
if(this._mode == 1 || this._mode == 256) {
|
|
this.nodeIndex = this._nodes.length - 1;
|
|
this._inc = -1;
|
|
} else {
|
|
this.nodeIndex = 0;
|
|
this._inc = 1;
|
|
}
|
|
return this;
|
|
}
|
|
,setNode: function(NodeIndex) {
|
|
if(NodeIndex < 0) {
|
|
NodeIndex = 0;
|
|
} else if(NodeIndex > this._nodes.length - 1) {
|
|
NodeIndex = this._nodes.length - 1;
|
|
}
|
|
this.nodeIndex = NodeIndex;
|
|
this.advancePath();
|
|
return this;
|
|
}
|
|
,update: function(elapsed) {
|
|
if(this.object == null) {
|
|
return;
|
|
}
|
|
if(this._firstUpdate) {
|
|
this._wasObjectImmovable = this.object.immovable;
|
|
this.object.set_immovable(true);
|
|
this._firstUpdate = false;
|
|
}
|
|
flixel_util_FlxPath._point.set_x(this.object.x);
|
|
flixel_util_FlxPath._point.set_y(this.object.y);
|
|
if(this.autoCenter) {
|
|
var _this = flixel_util_FlxPath._point;
|
|
var X = this.object.get_width() * 0.5;
|
|
var Y = this.object.get_height() * 0.5;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _g = _this;
|
|
_g.set_x(_g.x + X);
|
|
var _g = _this;
|
|
_g.set_y(_g.y + Y);
|
|
}
|
|
var node = this._nodes[this.nodeIndex];
|
|
var deltaX = node.x - flixel_util_FlxPath._point.x;
|
|
var deltaY = node.y - flixel_util_FlxPath._point.y;
|
|
var horizontalOnly = (this._mode & 65536) > 0;
|
|
var verticalOnly = (this._mode & 1048576) > 0;
|
|
if(horizontalOnly) {
|
|
if((deltaX > 0 ? deltaX : -deltaX) < this.speed * elapsed) {
|
|
node = this.advancePath();
|
|
}
|
|
} else if(verticalOnly) {
|
|
if((deltaY > 0 ? deltaY : -deltaY) < this.speed * elapsed) {
|
|
node = this.advancePath();
|
|
}
|
|
} else if(Math.sqrt(deltaX * deltaX + deltaY * deltaY) < this.speed * elapsed) {
|
|
node = this.advancePath();
|
|
}
|
|
if(this.object != null && this.speed != 0) {
|
|
flixel_util_FlxPath._point.set_x(this.object.x);
|
|
flixel_util_FlxPath._point.set_y(this.object.y);
|
|
if(this.autoCenter) {
|
|
var _this = flixel_util_FlxPath._point;
|
|
var X = this.object.get_width() * 0.5;
|
|
var Y = this.object.get_height() * 0.5;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var _g = _this;
|
|
_g.set_x(_g.x + X);
|
|
var _g = _this;
|
|
_g.set_y(_g.y + Y);
|
|
}
|
|
var _this = flixel_util_FlxPath._point;
|
|
var result = Math.abs(_this.x - node.x) <= 0.0000001 && Math.abs(_this.y - node.y) <= 0.0000001;
|
|
if(node._weak) {
|
|
node.put();
|
|
}
|
|
if(!result) {
|
|
this.calculateVelocity(node,horizontalOnly,verticalOnly);
|
|
} else {
|
|
this.object.velocity.set();
|
|
}
|
|
if(this._autoRotate) {
|
|
this.object.angularVelocity = 0;
|
|
this.object.angularAcceleration = 0;
|
|
this.object.set_angle(this.angle);
|
|
}
|
|
if(this.finished) {
|
|
this.cancel();
|
|
}
|
|
}
|
|
}
|
|
,calculateVelocity: function(node,horizontalOnly,verticalOnly) {
|
|
if(horizontalOnly || flixel_util_FlxPath._point.y == node.y) {
|
|
this.object.velocity.set_x(flixel_util_FlxPath._point.x < node.x ? this.speed : -this.speed);
|
|
this.angle = this.object.velocity.x < 0 ? -90 : 90;
|
|
if(!horizontalOnly) {
|
|
this.object.velocity.set_y(0);
|
|
}
|
|
} else if(verticalOnly || flixel_util_FlxPath._point.x == node.x) {
|
|
this.object.velocity.set_y(flixel_util_FlxPath._point.y < node.y ? this.speed : -this.speed);
|
|
this.angle = this.object.velocity.y < 0 ? 0 : 180;
|
|
if(!verticalOnly) {
|
|
this.object.velocity.set_x(0);
|
|
}
|
|
} else {
|
|
this.object.velocity.set_x(flixel_util_FlxPath._point.x < node.x ? this.speed : -this.speed);
|
|
this.object.velocity.set_y(flixel_util_FlxPath._point.y < node.y ? this.speed : -this.speed);
|
|
this.angle = flixel_util_FlxPath._point.angleBetween(node);
|
|
this.object.velocity.set(0,-this.speed);
|
|
var tmp = this.object.velocity;
|
|
var X = 0;
|
|
var Y = 0;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X1,Y1);
|
|
point._inPool = false;
|
|
var point1 = point;
|
|
point1._weak = true;
|
|
tmp.rotate(point1,this.angle);
|
|
}
|
|
}
|
|
,advancePath: function(Snap) {
|
|
if(Snap == null) {
|
|
Snap = true;
|
|
}
|
|
if(Snap) {
|
|
var oldNode = this._nodes[this.nodeIndex];
|
|
if(oldNode != null) {
|
|
if((this._mode & 1048576) == 0) {
|
|
this.object.set_x(oldNode.x);
|
|
if(this.autoCenter) {
|
|
var _g = this.object;
|
|
_g.set_x(_g.x - this.object.get_width() * 0.5);
|
|
}
|
|
}
|
|
if((this._mode & 65536) == 0) {
|
|
this.object.set_y(oldNode.y);
|
|
if(this.autoCenter) {
|
|
var _g = this.object;
|
|
_g.set_y(_g.y - this.object.get_height() * 0.5);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
var callComplete = false;
|
|
this.nodeIndex += this._inc;
|
|
if((this._mode & 1) > 0) {
|
|
if(this.nodeIndex < 0) {
|
|
this.nodeIndex = 0;
|
|
callComplete = true;
|
|
this.onEnd();
|
|
}
|
|
} else if((this._mode & 16) > 0) {
|
|
if(this.nodeIndex >= this._nodes.length) {
|
|
callComplete = true;
|
|
this.nodeIndex = 0;
|
|
}
|
|
} else if((this._mode & 256) > 0) {
|
|
if(this.nodeIndex < 0) {
|
|
this.nodeIndex = this._nodes.length - 1;
|
|
callComplete = true;
|
|
if(this.nodeIndex < 0) {
|
|
this.nodeIndex = 0;
|
|
}
|
|
}
|
|
} else if((this._mode & 4096) > 0) {
|
|
if(this._inc > 0) {
|
|
if(this.nodeIndex >= this._nodes.length) {
|
|
this.nodeIndex = this._nodes.length - 2;
|
|
callComplete = true;
|
|
if(this.nodeIndex < 0) {
|
|
this.nodeIndex = 0;
|
|
}
|
|
this._inc = -this._inc;
|
|
}
|
|
} else if(this.nodeIndex < 0) {
|
|
this.nodeIndex = 1;
|
|
callComplete = true;
|
|
if(this.nodeIndex >= this._nodes.length) {
|
|
this.nodeIndex = this._nodes.length - 1;
|
|
}
|
|
if(this.nodeIndex < 0) {
|
|
this.nodeIndex = 0;
|
|
}
|
|
this._inc = -this._inc;
|
|
}
|
|
} else if(this.nodeIndex >= this._nodes.length) {
|
|
this.nodeIndex = this._nodes.length - 1;
|
|
callComplete = true;
|
|
this.onEnd();
|
|
}
|
|
if(callComplete && this.onComplete != null) {
|
|
this.onComplete(this);
|
|
}
|
|
return this._nodes[this.nodeIndex];
|
|
}
|
|
,cancel: function() {
|
|
this.onEnd();
|
|
if(this.object != null) {
|
|
this.object.velocity.set(0,0);
|
|
}
|
|
return this;
|
|
}
|
|
,onEnd: function() {
|
|
this.finished = true;
|
|
this.active = false;
|
|
if(this._wasObjectImmovable != null) {
|
|
this.object.set_immovable(this._wasObjectImmovable);
|
|
}
|
|
this._wasObjectImmovable = null;
|
|
}
|
|
,destroy: function() {
|
|
flixel_util_FlxDestroyUtil.putArray(this._nodes);
|
|
this._nodes = null;
|
|
this.object = null;
|
|
this.onComplete = null;
|
|
}
|
|
,add: function(X,Y) {
|
|
var tmp = this._nodes;
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X1,Y1);
|
|
point._inPool = false;
|
|
tmp.push(point);
|
|
return this;
|
|
}
|
|
,addAt: function(X,Y,Index) {
|
|
if(Index < 0) {
|
|
return this;
|
|
}
|
|
var _this = this._nodes;
|
|
var X1 = X;
|
|
var Y1 = Y;
|
|
if(Y1 == null) {
|
|
Y1 = 0;
|
|
}
|
|
if(X1 == null) {
|
|
X1 = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X1,Y1);
|
|
point._inPool = false;
|
|
_this.splice(Index,0,point);
|
|
return this;
|
|
}
|
|
,addPoint: function(Node1,AsReference) {
|
|
if(AsReference == null) {
|
|
AsReference = false;
|
|
}
|
|
if(AsReference) {
|
|
this._nodes.push(Node1);
|
|
} else {
|
|
var tmp = this._nodes;
|
|
var X = Node1.x;
|
|
var Y = Node1.y;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
tmp.push(point);
|
|
}
|
|
return this;
|
|
}
|
|
,addPointAt: function(Node1,Index,AsReference) {
|
|
if(AsReference == null) {
|
|
AsReference = false;
|
|
}
|
|
if(Index < 0) {
|
|
return this;
|
|
}
|
|
if(AsReference) {
|
|
this._nodes.splice(Index,0,Node1);
|
|
} else {
|
|
var _this = this._nodes;
|
|
var X = Node1.x;
|
|
var Y = Node1.y;
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
var point = flixel_math_FlxPoint._pool.get().set(X,Y);
|
|
point._inPool = false;
|
|
_this.splice(Index,0,point);
|
|
}
|
|
return this;
|
|
}
|
|
,remove: function(Node1) {
|
|
var index = this._nodes.indexOf(Node1);
|
|
if(index >= 0) {
|
|
return this._nodes.splice(index,1)[0];
|
|
}
|
|
return null;
|
|
}
|
|
,removeAt: function(Index) {
|
|
if(this._nodes.length <= 0) {
|
|
return null;
|
|
}
|
|
if(Index >= this._nodes.length - 1) {
|
|
this._nodes.pop();
|
|
}
|
|
return this._nodes.splice(Index,1)[0];
|
|
}
|
|
,head: function() {
|
|
if(this._nodes.length > 0) {
|
|
return this._nodes[0];
|
|
}
|
|
return null;
|
|
}
|
|
,tail: function() {
|
|
if(this._nodes.length > 0) {
|
|
return this._nodes[this._nodes.length - 1];
|
|
}
|
|
return null;
|
|
}
|
|
,get_nodes: function() {
|
|
return this._nodes;
|
|
}
|
|
,set_nodes: function(Nodes) {
|
|
if(Nodes != null) {
|
|
this._nodes = Nodes;
|
|
}
|
|
return this._nodes;
|
|
}
|
|
,__class__: flixel_util_FlxPath
|
|
,__properties__: {set_nodes:"set_nodes",get_nodes:"get_nodes"}
|
|
};
|
|
var flixel_util_FlxPool = function(classObj) {
|
|
this._count = 0;
|
|
this._pool = [];
|
|
this._class = classObj;
|
|
};
|
|
$hxClasses["flixel.util.FlxPool"] = flixel_util_FlxPool;
|
|
flixel_util_FlxPool.__name__ = "flixel.util.FlxPool";
|
|
flixel_util_FlxPool.__interfaces__ = [flixel_util_IFlxPool];
|
|
flixel_util_FlxPool.prototype = {
|
|
_pool: null
|
|
,_class: null
|
|
,_count: null
|
|
,get: function() {
|
|
if(this._count == 0) {
|
|
return Type.createInstance(this._class,[]);
|
|
}
|
|
return this._pool[--this._count];
|
|
}
|
|
,put: function(obj) {
|
|
if(obj != null) {
|
|
var i = this._pool.indexOf(obj);
|
|
if(i == -1 || i >= this._count) {
|
|
obj.destroy();
|
|
this._pool[this._count++] = obj;
|
|
}
|
|
}
|
|
}
|
|
,putUnsafe: function(obj) {
|
|
if(obj != null) {
|
|
obj.destroy();
|
|
this._pool[this._count++] = obj;
|
|
}
|
|
}
|
|
,preAllocate: function(numObjects) {
|
|
while(numObjects-- > 0) this._pool[this._count++] = Type.createInstance(this._class,[]);
|
|
}
|
|
,clear: function() {
|
|
this._count = 0;
|
|
var oldPool = this._pool;
|
|
this._pool = [];
|
|
return oldPool;
|
|
}
|
|
,get_length: function() {
|
|
return this._count;
|
|
}
|
|
,__class__: flixel_util_FlxPool
|
|
,__properties__: {get_length:"get_length"}
|
|
};
|
|
var flixel_util_FlxPool_$flixel_$util_$LabelValuePair = function(classObj) {
|
|
this._count = 0;
|
|
this._pool = [];
|
|
this._class = classObj;
|
|
};
|
|
$hxClasses["flixel.util.FlxPool_flixel_util_LabelValuePair"] = flixel_util_FlxPool_$flixel_$util_$LabelValuePair;
|
|
flixel_util_FlxPool_$flixel_$util_$LabelValuePair.__name__ = "flixel.util.FlxPool_flixel_util_LabelValuePair";
|
|
flixel_util_FlxPool_$flixel_$util_$LabelValuePair.__interfaces__ = [flixel_util_IFlxPool];
|
|
flixel_util_FlxPool_$flixel_$util_$LabelValuePair.prototype = {
|
|
_pool: null
|
|
,_class: null
|
|
,_count: null
|
|
,get: function() {
|
|
if(this._count == 0) {
|
|
return Type.createInstance(this._class,[]);
|
|
}
|
|
return this._pool[--this._count];
|
|
}
|
|
,put: function(obj) {
|
|
if(obj != null) {
|
|
var i = this._pool.indexOf(obj);
|
|
if(i == -1 || i >= this._count) {
|
|
obj.label = null;
|
|
obj.value = null;
|
|
this._pool[this._count++] = obj;
|
|
}
|
|
}
|
|
}
|
|
,putUnsafe: function(obj) {
|
|
if(obj != null) {
|
|
obj.label = null;
|
|
obj.value = null;
|
|
this._pool[this._count++] = obj;
|
|
}
|
|
}
|
|
,preAllocate: function(numObjects) {
|
|
while(numObjects-- > 0) this._pool[this._count++] = Type.createInstance(this._class,[]);
|
|
}
|
|
,clear: function() {
|
|
this._count = 0;
|
|
var oldPool = this._pool;
|
|
this._pool = [];
|
|
return oldPool;
|
|
}
|
|
,get_length: function() {
|
|
return this._count;
|
|
}
|
|
,__class__: flixel_util_FlxPool_$flixel_$util_$LabelValuePair
|
|
,__properties__: {get_length:"get_length"}
|
|
};
|
|
var flixel_util_FlxSaveStatus = $hxEnums["flixel.util.FlxSaveStatus"] = { __ename__ : "flixel.util.FlxSaveStatus", __constructs__ : ["SUCCESS","PENDING","ERROR"]
|
|
,SUCCESS: {_hx_index:0,__enum__:"flixel.util.FlxSaveStatus",toString:$estr}
|
|
,PENDING: {_hx_index:1,__enum__:"flixel.util.FlxSaveStatus",toString:$estr}
|
|
,ERROR: {_hx_index:2,__enum__:"flixel.util.FlxSaveStatus",toString:$estr}
|
|
};
|
|
var flixel_util__$FlxSignal_FlxSignalHandler = function(listener,dispatchOnce) {
|
|
this.dispatchOnce = false;
|
|
this.listener = listener;
|
|
this.dispatchOnce = dispatchOnce;
|
|
};
|
|
$hxClasses["flixel.util._FlxSignal.FlxSignalHandler"] = flixel_util__$FlxSignal_FlxSignalHandler;
|
|
flixel_util__$FlxSignal_FlxSignalHandler.__name__ = "flixel.util._FlxSignal.FlxSignalHandler";
|
|
flixel_util__$FlxSignal_FlxSignalHandler.__interfaces__ = [flixel_util_IFlxDestroyable];
|
|
flixel_util__$FlxSignal_FlxSignalHandler.prototype = {
|
|
listener: null
|
|
,dispatchOnce: null
|
|
,destroy: function() {
|
|
this.listener = null;
|
|
}
|
|
,__class__: flixel_util__$FlxSignal_FlxSignalHandler
|
|
};
|
|
var flixel_util_IFlxSignal = function() { };
|
|
$hxClasses["flixel.util.IFlxSignal"] = flixel_util_IFlxSignal;
|
|
flixel_util_IFlxSignal.__name__ = "flixel.util.IFlxSignal";
|
|
flixel_util_IFlxSignal.__isInterface__ = true;
|
|
flixel_util_IFlxSignal.__interfaces__ = [flixel_util_IFlxDestroyable];
|
|
flixel_util_IFlxSignal.prototype = {
|
|
dispatch: null
|
|
,add: null
|
|
,addOnce: null
|
|
,remove: null
|
|
,removeAll: null
|
|
,has: null
|
|
,__class__: flixel_util_IFlxSignal
|
|
};
|
|
var flixel_util__$FlxSignal_FlxBaseSignal = function() {
|
|
this.processingListeners = false;
|
|
this.handlers = [];
|
|
this.pendingRemove = [];
|
|
};
|
|
$hxClasses["flixel.util._FlxSignal.FlxBaseSignal"] = flixel_util__$FlxSignal_FlxBaseSignal;
|
|
flixel_util__$FlxSignal_FlxBaseSignal.__name__ = "flixel.util._FlxSignal.FlxBaseSignal";
|
|
flixel_util__$FlxSignal_FlxBaseSignal.__interfaces__ = [flixel_util_IFlxSignal];
|
|
flixel_util__$FlxSignal_FlxBaseSignal.prototype = {
|
|
dispatch: null
|
|
,handlers: null
|
|
,pendingRemove: null
|
|
,processingListeners: null
|
|
,add: function(listener) {
|
|
if(listener != null) {
|
|
this.registerListener(listener,false);
|
|
}
|
|
}
|
|
,addOnce: function(listener) {
|
|
if(listener != null) {
|
|
this.registerListener(listener,true);
|
|
}
|
|
}
|
|
,remove: function(listener) {
|
|
if(listener != null) {
|
|
var handler = this.getHandler(listener);
|
|
if(handler != null) {
|
|
if(this.processingListeners) {
|
|
this.pendingRemove.push(handler);
|
|
} else {
|
|
HxOverrides.remove(this.handlers,handler);
|
|
handler.destroy();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,has: function(listener) {
|
|
if(listener == null) {
|
|
return false;
|
|
}
|
|
return this.getHandler(listener) != null;
|
|
}
|
|
,removeAll: function() {
|
|
flixel_util_FlxDestroyUtil.destroyArray(this.handlers);
|
|
}
|
|
,destroy: function() {
|
|
flixel_util_FlxDestroyUtil.destroyArray(this.handlers);
|
|
this.handlers = null;
|
|
this.pendingRemove = null;
|
|
}
|
|
,registerListener: function(listener,dispatchOnce) {
|
|
var handler = this.getHandler(listener);
|
|
if(handler == null) {
|
|
handler = new flixel_util__$FlxSignal_FlxSignalHandler(listener,dispatchOnce);
|
|
this.handlers.push(handler);
|
|
return handler;
|
|
} else if(handler.dispatchOnce != dispatchOnce) {
|
|
throw haxe_Exception.thrown("You cannot addOnce() then add() the same listener without removing the relationship first.");
|
|
} else {
|
|
return handler;
|
|
}
|
|
}
|
|
,getHandler: function(listener) {
|
|
var _g = 0;
|
|
var _g1 = this.handlers;
|
|
while(_g < _g1.length) {
|
|
var handler = _g1[_g];
|
|
++_g;
|
|
if(handler.listener == listener) {
|
|
return handler;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
,__class__: flixel_util__$FlxSignal_FlxBaseSignal
|
|
};
|
|
var flixel_util__$FlxSignal_FlxSignal0 = function() {
|
|
flixel_util__$FlxSignal_FlxBaseSignal.call(this);
|
|
this.dispatch = $bind(this,this.dispatch0);
|
|
};
|
|
$hxClasses["flixel.util._FlxSignal.FlxSignal0"] = flixel_util__$FlxSignal_FlxSignal0;
|
|
flixel_util__$FlxSignal_FlxSignal0.__name__ = "flixel.util._FlxSignal.FlxSignal0";
|
|
flixel_util__$FlxSignal_FlxSignal0.__super__ = flixel_util__$FlxSignal_FlxBaseSignal;
|
|
flixel_util__$FlxSignal_FlxSignal0.prototype = $extend(flixel_util__$FlxSignal_FlxBaseSignal.prototype,{
|
|
dispatch0: function() {
|
|
this.processingListeners = true;
|
|
var _g = 0;
|
|
var _g1 = this.handlers;
|
|
while(_g < _g1.length) {
|
|
var handler = _g1[_g];
|
|
++_g;
|
|
handler.listener();
|
|
if(handler.dispatchOnce) {
|
|
this.remove(handler.listener);
|
|
}
|
|
}
|
|
this.processingListeners = false;
|
|
var _g = 0;
|
|
var _g1 = this.pendingRemove;
|
|
while(_g < _g1.length) {
|
|
var handler = _g1[_g];
|
|
++_g;
|
|
this.remove(handler.listener);
|
|
}
|
|
if(this.pendingRemove.length > 0) {
|
|
this.pendingRemove = [];
|
|
}
|
|
}
|
|
,__class__: flixel_util__$FlxSignal_FlxSignal0
|
|
});
|
|
var flixel_util__$FlxSignal_FlxSignal1 = function() {
|
|
flixel_util__$FlxSignal_FlxBaseSignal.call(this);
|
|
this.dispatch = $bind(this,this.dispatch1);
|
|
};
|
|
$hxClasses["flixel.util._FlxSignal.FlxSignal1"] = flixel_util__$FlxSignal_FlxSignal1;
|
|
flixel_util__$FlxSignal_FlxSignal1.__name__ = "flixel.util._FlxSignal.FlxSignal1";
|
|
flixel_util__$FlxSignal_FlxSignal1.__super__ = flixel_util__$FlxSignal_FlxBaseSignal;
|
|
flixel_util__$FlxSignal_FlxSignal1.prototype = $extend(flixel_util__$FlxSignal_FlxBaseSignal.prototype,{
|
|
dispatch1: function(value1) {
|
|
this.processingListeners = true;
|
|
var _g = 0;
|
|
var _g1 = this.handlers;
|
|
while(_g < _g1.length) {
|
|
var handler = _g1[_g];
|
|
++_g;
|
|
handler.listener(value1);
|
|
if(handler.dispatchOnce) {
|
|
this.remove(handler.listener);
|
|
}
|
|
}
|
|
this.processingListeners = false;
|
|
var _g = 0;
|
|
var _g1 = this.pendingRemove;
|
|
while(_g < _g1.length) {
|
|
var handler = _g1[_g];
|
|
++_g;
|
|
this.remove(handler.listener);
|
|
}
|
|
if(this.pendingRemove.length > 0) {
|
|
this.pendingRemove = [];
|
|
}
|
|
}
|
|
,__class__: flixel_util__$FlxSignal_FlxSignal1
|
|
});
|
|
var flixel_util__$FlxSignal_FlxSignal2 = function() {
|
|
flixel_util__$FlxSignal_FlxBaseSignal.call(this);
|
|
this.dispatch = $bind(this,this.dispatch2);
|
|
};
|
|
$hxClasses["flixel.util._FlxSignal.FlxSignal2"] = flixel_util__$FlxSignal_FlxSignal2;
|
|
flixel_util__$FlxSignal_FlxSignal2.__name__ = "flixel.util._FlxSignal.FlxSignal2";
|
|
flixel_util__$FlxSignal_FlxSignal2.__super__ = flixel_util__$FlxSignal_FlxBaseSignal;
|
|
flixel_util__$FlxSignal_FlxSignal2.prototype = $extend(flixel_util__$FlxSignal_FlxBaseSignal.prototype,{
|
|
dispatch2: function(value1,value2) {
|
|
this.processingListeners = true;
|
|
var _g = 0;
|
|
var _g1 = this.handlers;
|
|
while(_g < _g1.length) {
|
|
var handler = _g1[_g];
|
|
++_g;
|
|
handler.listener(value1,value2);
|
|
if(handler.dispatchOnce) {
|
|
this.remove(handler.listener);
|
|
}
|
|
}
|
|
this.processingListeners = false;
|
|
var _g = 0;
|
|
var _g1 = this.pendingRemove;
|
|
while(_g < _g1.length) {
|
|
var handler = _g1[_g];
|
|
++_g;
|
|
this.remove(handler.listener);
|
|
}
|
|
if(this.pendingRemove.length > 0) {
|
|
this.pendingRemove = [];
|
|
}
|
|
}
|
|
,__class__: flixel_util__$FlxSignal_FlxSignal2
|
|
});
|
|
var flixel_util__$FlxSignal_FlxSignal3 = function() {
|
|
flixel_util__$FlxSignal_FlxBaseSignal.call(this);
|
|
this.dispatch = $bind(this,this.dispatch3);
|
|
};
|
|
$hxClasses["flixel.util._FlxSignal.FlxSignal3"] = flixel_util__$FlxSignal_FlxSignal3;
|
|
flixel_util__$FlxSignal_FlxSignal3.__name__ = "flixel.util._FlxSignal.FlxSignal3";
|
|
flixel_util__$FlxSignal_FlxSignal3.__super__ = flixel_util__$FlxSignal_FlxBaseSignal;
|
|
flixel_util__$FlxSignal_FlxSignal3.prototype = $extend(flixel_util__$FlxSignal_FlxBaseSignal.prototype,{
|
|
dispatch3: function(value1,value2,value3) {
|
|
this.processingListeners = true;
|
|
var _g = 0;
|
|
var _g1 = this.handlers;
|
|
while(_g < _g1.length) {
|
|
var handler = _g1[_g];
|
|
++_g;
|
|
handler.listener(value1,value2,value3);
|
|
if(handler.dispatchOnce) {
|
|
this.remove(handler.listener);
|
|
}
|
|
}
|
|
this.processingListeners = false;
|
|
var _g = 0;
|
|
var _g1 = this.pendingRemove;
|
|
while(_g < _g1.length) {
|
|
var handler = _g1[_g];
|
|
++_g;
|
|
this.remove(handler.listener);
|
|
}
|
|
if(this.pendingRemove.length > 0) {
|
|
this.pendingRemove = [];
|
|
}
|
|
}
|
|
,__class__: flixel_util__$FlxSignal_FlxSignal3
|
|
});
|
|
var flixel_util__$FlxSignal_FlxSignal4 = function() {
|
|
flixel_util__$FlxSignal_FlxBaseSignal.call(this);
|
|
this.dispatch = $bind(this,this.dispatch4);
|
|
};
|
|
$hxClasses["flixel.util._FlxSignal.FlxSignal4"] = flixel_util__$FlxSignal_FlxSignal4;
|
|
flixel_util__$FlxSignal_FlxSignal4.__name__ = "flixel.util._FlxSignal.FlxSignal4";
|
|
flixel_util__$FlxSignal_FlxSignal4.__super__ = flixel_util__$FlxSignal_FlxBaseSignal;
|
|
flixel_util__$FlxSignal_FlxSignal4.prototype = $extend(flixel_util__$FlxSignal_FlxBaseSignal.prototype,{
|
|
dispatch4: function(value1,value2,value3,value4) {
|
|
this.processingListeners = true;
|
|
var _g = 0;
|
|
var _g1 = this.handlers;
|
|
while(_g < _g1.length) {
|
|
var handler = _g1[_g];
|
|
++_g;
|
|
handler.listener(value1,value2,value3,value4);
|
|
if(handler.dispatchOnce) {
|
|
this.remove(handler.listener);
|
|
}
|
|
}
|
|
this.processingListeners = false;
|
|
var _g = 0;
|
|
var _g1 = this.pendingRemove;
|
|
while(_g < _g1.length) {
|
|
var handler = _g1[_g];
|
|
++_g;
|
|
this.remove(handler.listener);
|
|
}
|
|
if(this.pendingRemove.length > 0) {
|
|
this.pendingRemove = [];
|
|
}
|
|
}
|
|
,__class__: flixel_util__$FlxSignal_FlxSignal4
|
|
});
|
|
var flixel_util__$FlxSignal_Macro = function() { };
|
|
$hxClasses["flixel.util._FlxSignal.Macro"] = flixel_util__$FlxSignal_Macro;
|
|
flixel_util__$FlxSignal_Macro.__name__ = "flixel.util._FlxSignal.Macro";
|
|
var flixel_util_FlxSort = function() { };
|
|
$hxClasses["flixel.util.FlxSort"] = flixel_util_FlxSort;
|
|
flixel_util_FlxSort.__name__ = "flixel.util.FlxSort";
|
|
flixel_util_FlxSort.byY = function(Order,Obj1,Obj2) {
|
|
var Value1 = Obj1.y;
|
|
var Value2 = Obj2.y;
|
|
var result = 0;
|
|
if(Value1 < Value2) {
|
|
result = Order;
|
|
} else if(Value1 > Value2) {
|
|
result = -Order;
|
|
}
|
|
return result;
|
|
};
|
|
flixel_util_FlxSort.byValues = function(Order,Value1,Value2) {
|
|
var result = 0;
|
|
if(Value1 < Value2) {
|
|
result = Order;
|
|
} else if(Value1 > Value2) {
|
|
result = -Order;
|
|
}
|
|
return result;
|
|
};
|
|
var flixel_util_FlxSpriteUtil = function() { };
|
|
$hxClasses["flixel.util.FlxSpriteUtil"] = flixel_util_FlxSpriteUtil;
|
|
flixel_util_FlxSpriteUtil.__name__ = "flixel.util.FlxSpriteUtil";
|
|
flixel_util_FlxSpriteUtil.alphaMask = function(output,source,mask) {
|
|
var data = flixel_system_FlxAssets.resolveBitmapData(source);
|
|
var maskData = flixel_system_FlxAssets.resolveBitmapData(mask);
|
|
if(data == null || maskData == null) {
|
|
return null;
|
|
}
|
|
data = data.clone();
|
|
data.copyChannel(maskData,new openfl_geom_Rectangle(0,0,data.width,data.height),new openfl_geom_Point(),8,8);
|
|
output.set_pixels(data);
|
|
return output;
|
|
};
|
|
flixel_util_FlxSpriteUtil.alphaMaskFlxSprite = function(sprite,mask,output) {
|
|
sprite.drawFrame();
|
|
var data = sprite.get_pixels().clone();
|
|
data.copyChannel(mask.get_pixels(),new openfl_geom_Rectangle(0,0,sprite.get_width(),sprite.get_height()),new openfl_geom_Point(),8,8);
|
|
output.set_pixels(data);
|
|
return output;
|
|
};
|
|
flixel_util_FlxSpriteUtil.screenWrap = function(sprite,Left,Right,Top,Bottom) {
|
|
if(Bottom == null) {
|
|
Bottom = true;
|
|
}
|
|
if(Top == null) {
|
|
Top = true;
|
|
}
|
|
if(Right == null) {
|
|
Right = true;
|
|
}
|
|
if(Left == null) {
|
|
Left = true;
|
|
}
|
|
if(Left && sprite.x + sprite.frameWidth / 2 <= 0) {
|
|
sprite.set_x(flixel_FlxG.width);
|
|
} else if(Right && sprite.x >= flixel_FlxG.width) {
|
|
sprite.set_x(0);
|
|
}
|
|
if(Top && sprite.y + sprite.frameHeight / 2 <= 0) {
|
|
sprite.set_y(flixel_FlxG.height);
|
|
} else if(Bottom && sprite.y >= flixel_FlxG.height) {
|
|
sprite.set_y(0);
|
|
}
|
|
return sprite;
|
|
};
|
|
flixel_util_FlxSpriteUtil.bound = function(sprite,MinX,MaxX,MinY,MaxY) {
|
|
if(MaxY == null) {
|
|
MaxY = 0;
|
|
}
|
|
if(MinY == null) {
|
|
MinY = 0;
|
|
}
|
|
if(MaxX == null) {
|
|
MaxX = 0;
|
|
}
|
|
if(MinX == null) {
|
|
MinX = 0;
|
|
}
|
|
if(MaxX <= 0) {
|
|
MaxX = flixel_FlxG.width;
|
|
}
|
|
if(MaxY <= 0) {
|
|
MaxY = flixel_FlxG.height;
|
|
}
|
|
MaxX -= sprite.frameWidth;
|
|
MaxY -= sprite.frameHeight;
|
|
var Value = sprite.x;
|
|
var lowerBound = MinX != null && Value < MinX ? MinX : Value;
|
|
sprite.set_x(MaxX != null && lowerBound > MaxX ? MaxX : lowerBound);
|
|
var Value = sprite.y;
|
|
var lowerBound = MinY != null && Value < MinY ? MinY : Value;
|
|
sprite.set_y(MaxY != null && lowerBound > MaxY ? MaxY : lowerBound);
|
|
return sprite;
|
|
};
|
|
flixel_util_FlxSpriteUtil.space = function(objects,startX,startY,horizontalSpacing,verticalSpacing,spaceFromBounds,position) {
|
|
if(spaceFromBounds == null) {
|
|
spaceFromBounds = false;
|
|
}
|
|
var prevWidth = 0;
|
|
var runningX = 0;
|
|
if(horizontalSpacing != null) {
|
|
if(spaceFromBounds) {
|
|
prevWidth = objects[0].get_width();
|
|
}
|
|
runningX = startX;
|
|
} else {
|
|
runningX = objects[0].x;
|
|
}
|
|
var prevHeight = 0;
|
|
var runningY = 0;
|
|
if(verticalSpacing != null) {
|
|
if(spaceFromBounds) {
|
|
prevHeight = objects[0].get_height();
|
|
}
|
|
runningY = startY;
|
|
} else {
|
|
runningY = objects[0].y;
|
|
}
|
|
if(position != null) {
|
|
position(objects[0],runningX,runningY);
|
|
} else {
|
|
objects[0].set_x(runningX);
|
|
objects[0].set_y(runningY);
|
|
}
|
|
var curX = 0;
|
|
var curY = 0;
|
|
var _g = 1;
|
|
var _g1 = objects.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var object = objects[i];
|
|
if(horizontalSpacing != null) {
|
|
curX = runningX + prevWidth + horizontalSpacing;
|
|
runningX = curX;
|
|
} else {
|
|
curX = object.x;
|
|
}
|
|
if(verticalSpacing != null) {
|
|
curY = runningY + prevHeight + verticalSpacing;
|
|
runningY = curY;
|
|
} else {
|
|
curY = object.y;
|
|
}
|
|
if(position != null) {
|
|
position(object,curX,curY);
|
|
} else {
|
|
object.set_x(curX);
|
|
object.set_y(curY);
|
|
}
|
|
if(spaceFromBounds) {
|
|
prevWidth = object.get_width();
|
|
prevHeight = object.get_height();
|
|
}
|
|
}
|
|
};
|
|
flixel_util_FlxSpriteUtil.drawLine = function(sprite,StartX,StartY,EndX,EndY,lineStyle,drawStyle) {
|
|
var lineStyle1 = lineStyle;
|
|
if(lineStyle1 == null) {
|
|
lineStyle1 = { thickness : 1, color : -1};
|
|
}
|
|
if(lineStyle1.thickness == null) {
|
|
lineStyle1.thickness = 1;
|
|
}
|
|
if(lineStyle1.color == null) {
|
|
lineStyle1.color = -1;
|
|
}
|
|
lineStyle = lineStyle1;
|
|
flixel_util_FlxSpriteUtil.flashGfx.clear();
|
|
if(lineStyle != null) {
|
|
var color = lineStyle.color == null ? -16777216 : lineStyle.color;
|
|
if(lineStyle.thickness == null) {
|
|
lineStyle.thickness = 1;
|
|
}
|
|
if(lineStyle.pixelHinting == null) {
|
|
lineStyle.pixelHinting = false;
|
|
}
|
|
if(lineStyle.miterLimit == null) {
|
|
lineStyle.miterLimit = 3;
|
|
}
|
|
flixel_util_FlxSpriteUtil.flashGfx.lineStyle(lineStyle.thickness,color & 16777215,(color >> 24 & 255) / 255,lineStyle.pixelHinting,lineStyle.scaleMode,lineStyle.capsStyle,lineStyle.jointStyle,lineStyle.miterLimit);
|
|
}
|
|
if(0 != 0) {
|
|
flixel_util_FlxSpriteUtil.flashGfx.beginFill(0,0.);
|
|
}
|
|
flixel_util_FlxSpriteUtil.flashGfx.moveTo(StartX,StartY);
|
|
flixel_util_FlxSpriteUtil.flashGfx.lineTo(EndX,EndY);
|
|
flixel_util_FlxSpriteUtil.flashGfx.endFill();
|
|
flixel_util_FlxSpriteUtil.updateSpriteGraphic(sprite,drawStyle);
|
|
return sprite;
|
|
};
|
|
flixel_util_FlxSpriteUtil.drawCurve = function(sprite,StartX,StartY,EndX,EndY,ControlX,ControlY,FillColor,lineStyle,drawStyle) {
|
|
if(FillColor == null) {
|
|
FillColor = 0;
|
|
}
|
|
var lineStyle1 = lineStyle;
|
|
if(lineStyle1 == null) {
|
|
lineStyle1 = { thickness : 1, color : -1};
|
|
}
|
|
if(lineStyle1.thickness == null) {
|
|
lineStyle1.thickness = 1;
|
|
}
|
|
if(lineStyle1.color == null) {
|
|
lineStyle1.color = -1;
|
|
}
|
|
lineStyle = lineStyle1;
|
|
flixel_util_FlxSpriteUtil.flashGfx.clear();
|
|
if(lineStyle != null) {
|
|
var color = lineStyle.color == null ? -16777216 : lineStyle.color;
|
|
if(lineStyle.thickness == null) {
|
|
lineStyle.thickness = 1;
|
|
}
|
|
if(lineStyle.pixelHinting == null) {
|
|
lineStyle.pixelHinting = false;
|
|
}
|
|
if(lineStyle.miterLimit == null) {
|
|
lineStyle.miterLimit = 3;
|
|
}
|
|
flixel_util_FlxSpriteUtil.flashGfx.lineStyle(lineStyle.thickness,color & 16777215,(color >> 24 & 255) / 255,lineStyle.pixelHinting,lineStyle.scaleMode,lineStyle.capsStyle,lineStyle.jointStyle,lineStyle.miterLimit);
|
|
}
|
|
if(FillColor != 0) {
|
|
flixel_util_FlxSpriteUtil.flashGfx.beginFill(FillColor & 16777215,(FillColor >> 24 & 255) / 255);
|
|
}
|
|
flixel_util_FlxSpriteUtil.flashGfx.moveTo(StartX,StartY);
|
|
flixel_util_FlxSpriteUtil.flashGfx.curveTo(EndX,EndY,ControlX,ControlY);
|
|
flixel_util_FlxSpriteUtil.flashGfx.endFill();
|
|
flixel_util_FlxSpriteUtil.updateSpriteGraphic(sprite,drawStyle);
|
|
return sprite;
|
|
};
|
|
flixel_util_FlxSpriteUtil.drawRect = function(sprite,X,Y,Width,Height,FillColor,lineStyle,drawStyle) {
|
|
if(FillColor == null) {
|
|
FillColor = -1;
|
|
}
|
|
flixel_util_FlxSpriteUtil.flashGfx.clear();
|
|
if(lineStyle != null) {
|
|
var color = lineStyle.color == null ? -16777216 : lineStyle.color;
|
|
if(lineStyle.thickness == null) {
|
|
lineStyle.thickness = 1;
|
|
}
|
|
if(lineStyle.pixelHinting == null) {
|
|
lineStyle.pixelHinting = false;
|
|
}
|
|
if(lineStyle.miterLimit == null) {
|
|
lineStyle.miterLimit = 3;
|
|
}
|
|
flixel_util_FlxSpriteUtil.flashGfx.lineStyle(lineStyle.thickness,color & 16777215,(color >> 24 & 255) / 255,lineStyle.pixelHinting,lineStyle.scaleMode,lineStyle.capsStyle,lineStyle.jointStyle,lineStyle.miterLimit);
|
|
}
|
|
if(FillColor != 0) {
|
|
flixel_util_FlxSpriteUtil.flashGfx.beginFill(FillColor & 16777215,(FillColor >> 24 & 255) / 255);
|
|
}
|
|
flixel_util_FlxSpriteUtil.flashGfx.drawRect(X,Y,Width,Height);
|
|
flixel_util_FlxSpriteUtil.flashGfx.endFill();
|
|
flixel_util_FlxSpriteUtil.updateSpriteGraphic(sprite,drawStyle);
|
|
return sprite;
|
|
};
|
|
flixel_util_FlxSpriteUtil.drawRoundRect = function(sprite,X,Y,Width,Height,EllipseWidth,EllipseHeight,FillColor,lineStyle,drawStyle) {
|
|
if(FillColor == null) {
|
|
FillColor = -1;
|
|
}
|
|
flixel_util_FlxSpriteUtil.flashGfx.clear();
|
|
if(lineStyle != null) {
|
|
var color = lineStyle.color == null ? -16777216 : lineStyle.color;
|
|
if(lineStyle.thickness == null) {
|
|
lineStyle.thickness = 1;
|
|
}
|
|
if(lineStyle.pixelHinting == null) {
|
|
lineStyle.pixelHinting = false;
|
|
}
|
|
if(lineStyle.miterLimit == null) {
|
|
lineStyle.miterLimit = 3;
|
|
}
|
|
flixel_util_FlxSpriteUtil.flashGfx.lineStyle(lineStyle.thickness,color & 16777215,(color >> 24 & 255) / 255,lineStyle.pixelHinting,lineStyle.scaleMode,lineStyle.capsStyle,lineStyle.jointStyle,lineStyle.miterLimit);
|
|
}
|
|
if(FillColor != 0) {
|
|
flixel_util_FlxSpriteUtil.flashGfx.beginFill(FillColor & 16777215,(FillColor >> 24 & 255) / 255);
|
|
}
|
|
flixel_util_FlxSpriteUtil.flashGfx.drawRoundRect(X,Y,Width,Height,EllipseWidth,EllipseHeight);
|
|
flixel_util_FlxSpriteUtil.flashGfx.endFill();
|
|
flixel_util_FlxSpriteUtil.updateSpriteGraphic(sprite,drawStyle);
|
|
return sprite;
|
|
};
|
|
flixel_util_FlxSpriteUtil.drawCircle = function(sprite,X,Y,Radius,FillColor,lineStyle,drawStyle) {
|
|
if(FillColor == null) {
|
|
FillColor = -1;
|
|
}
|
|
if(Radius == null) {
|
|
Radius = -1;
|
|
}
|
|
if(Y == null) {
|
|
Y = -1;
|
|
}
|
|
if(X == null) {
|
|
X = -1;
|
|
}
|
|
if(X == -1 || Y == -1) {
|
|
var midPoint = sprite.getGraphicMidpoint();
|
|
if(X == -1) {
|
|
X = midPoint.x - sprite.x;
|
|
}
|
|
if(Y == -1) {
|
|
Y = midPoint.y - sprite.y;
|
|
}
|
|
midPoint.put();
|
|
}
|
|
if(Radius < 1) {
|
|
var minVal = Math.min(sprite.frameWidth,sprite.frameHeight);
|
|
Radius = minVal / 2;
|
|
}
|
|
flixel_util_FlxSpriteUtil.flashGfx.clear();
|
|
if(lineStyle != null) {
|
|
var color = lineStyle.color == null ? -16777216 : lineStyle.color;
|
|
if(lineStyle.thickness == null) {
|
|
lineStyle.thickness = 1;
|
|
}
|
|
if(lineStyle.pixelHinting == null) {
|
|
lineStyle.pixelHinting = false;
|
|
}
|
|
if(lineStyle.miterLimit == null) {
|
|
lineStyle.miterLimit = 3;
|
|
}
|
|
flixel_util_FlxSpriteUtil.flashGfx.lineStyle(lineStyle.thickness,color & 16777215,(color >> 24 & 255) / 255,lineStyle.pixelHinting,lineStyle.scaleMode,lineStyle.capsStyle,lineStyle.jointStyle,lineStyle.miterLimit);
|
|
}
|
|
if(FillColor != 0) {
|
|
flixel_util_FlxSpriteUtil.flashGfx.beginFill(FillColor & 16777215,(FillColor >> 24 & 255) / 255);
|
|
}
|
|
flixel_util_FlxSpriteUtil.flashGfx.drawCircle(X,Y,Radius);
|
|
flixel_util_FlxSpriteUtil.flashGfx.endFill();
|
|
flixel_util_FlxSpriteUtil.updateSpriteGraphic(sprite,drawStyle);
|
|
return sprite;
|
|
};
|
|
flixel_util_FlxSpriteUtil.drawEllipse = function(sprite,X,Y,Width,Height,FillColor,lineStyle,drawStyle) {
|
|
if(FillColor == null) {
|
|
FillColor = -1;
|
|
}
|
|
flixel_util_FlxSpriteUtil.flashGfx.clear();
|
|
if(lineStyle != null) {
|
|
var color = lineStyle.color == null ? -16777216 : lineStyle.color;
|
|
if(lineStyle.thickness == null) {
|
|
lineStyle.thickness = 1;
|
|
}
|
|
if(lineStyle.pixelHinting == null) {
|
|
lineStyle.pixelHinting = false;
|
|
}
|
|
if(lineStyle.miterLimit == null) {
|
|
lineStyle.miterLimit = 3;
|
|
}
|
|
flixel_util_FlxSpriteUtil.flashGfx.lineStyle(lineStyle.thickness,color & 16777215,(color >> 24 & 255) / 255,lineStyle.pixelHinting,lineStyle.scaleMode,lineStyle.capsStyle,lineStyle.jointStyle,lineStyle.miterLimit);
|
|
}
|
|
if(FillColor != 0) {
|
|
flixel_util_FlxSpriteUtil.flashGfx.beginFill(FillColor & 16777215,(FillColor >> 24 & 255) / 255);
|
|
}
|
|
flixel_util_FlxSpriteUtil.flashGfx.drawEllipse(X,Y,Width,Height);
|
|
flixel_util_FlxSpriteUtil.flashGfx.endFill();
|
|
flixel_util_FlxSpriteUtil.updateSpriteGraphic(sprite,drawStyle);
|
|
return sprite;
|
|
};
|
|
flixel_util_FlxSpriteUtil.drawTriangle = function(sprite,X,Y,Height,FillColor,lineStyle,drawStyle) {
|
|
if(FillColor == null) {
|
|
FillColor = -1;
|
|
}
|
|
flixel_util_FlxSpriteUtil.flashGfx.clear();
|
|
if(lineStyle != null) {
|
|
var color = lineStyle.color == null ? -16777216 : lineStyle.color;
|
|
if(lineStyle.thickness == null) {
|
|
lineStyle.thickness = 1;
|
|
}
|
|
if(lineStyle.pixelHinting == null) {
|
|
lineStyle.pixelHinting = false;
|
|
}
|
|
if(lineStyle.miterLimit == null) {
|
|
lineStyle.miterLimit = 3;
|
|
}
|
|
flixel_util_FlxSpriteUtil.flashGfx.lineStyle(lineStyle.thickness,color & 16777215,(color >> 24 & 255) / 255,lineStyle.pixelHinting,lineStyle.scaleMode,lineStyle.capsStyle,lineStyle.jointStyle,lineStyle.miterLimit);
|
|
}
|
|
if(FillColor != 0) {
|
|
flixel_util_FlxSpriteUtil.flashGfx.beginFill(FillColor & 16777215,(FillColor >> 24 & 255) / 255);
|
|
}
|
|
flixel_util_FlxSpriteUtil.flashGfx.moveTo(X + Height / 2,Y);
|
|
flixel_util_FlxSpriteUtil.flashGfx.lineTo(X + Height,Height + Y);
|
|
flixel_util_FlxSpriteUtil.flashGfx.lineTo(X,Height + Y);
|
|
flixel_util_FlxSpriteUtil.flashGfx.lineTo(X + Height / 2,Y);
|
|
flixel_util_FlxSpriteUtil.flashGfx.endFill();
|
|
flixel_util_FlxSpriteUtil.updateSpriteGraphic(sprite,drawStyle);
|
|
return sprite;
|
|
};
|
|
flixel_util_FlxSpriteUtil.drawPolygon = function(sprite,Vertices,FillColor,lineStyle,drawStyle) {
|
|
if(FillColor == null) {
|
|
FillColor = -1;
|
|
}
|
|
flixel_util_FlxSpriteUtil.flashGfx.clear();
|
|
if(lineStyle != null) {
|
|
var color = lineStyle.color == null ? -16777216 : lineStyle.color;
|
|
if(lineStyle.thickness == null) {
|
|
lineStyle.thickness = 1;
|
|
}
|
|
if(lineStyle.pixelHinting == null) {
|
|
lineStyle.pixelHinting = false;
|
|
}
|
|
if(lineStyle.miterLimit == null) {
|
|
lineStyle.miterLimit = 3;
|
|
}
|
|
flixel_util_FlxSpriteUtil.flashGfx.lineStyle(lineStyle.thickness,color & 16777215,(color >> 24 & 255) / 255,lineStyle.pixelHinting,lineStyle.scaleMode,lineStyle.capsStyle,lineStyle.jointStyle,lineStyle.miterLimit);
|
|
}
|
|
if(FillColor != 0) {
|
|
flixel_util_FlxSpriteUtil.flashGfx.beginFill(FillColor & 16777215,(FillColor >> 24 & 255) / 255);
|
|
}
|
|
var p = Vertices.shift();
|
|
flixel_util_FlxSpriteUtil.flashGfx.moveTo(p.x,p.y);
|
|
var _g = 0;
|
|
while(_g < Vertices.length) {
|
|
var p1 = Vertices[_g];
|
|
++_g;
|
|
flixel_util_FlxSpriteUtil.flashGfx.lineTo(p1.x,p1.y);
|
|
}
|
|
flixel_util_FlxSpriteUtil.flashGfx.endFill();
|
|
flixel_util_FlxSpriteUtil.updateSpriteGraphic(sprite,drawStyle);
|
|
Vertices.unshift(p);
|
|
return sprite;
|
|
};
|
|
flixel_util_FlxSpriteUtil.beginDraw = function(FillColor,lineStyle) {
|
|
flixel_util_FlxSpriteUtil.flashGfx.clear();
|
|
if(lineStyle != null) {
|
|
var color = lineStyle.color == null ? -16777216 : lineStyle.color;
|
|
if(lineStyle.thickness == null) {
|
|
lineStyle.thickness = 1;
|
|
}
|
|
if(lineStyle.pixelHinting == null) {
|
|
lineStyle.pixelHinting = false;
|
|
}
|
|
if(lineStyle.miterLimit == null) {
|
|
lineStyle.miterLimit = 3;
|
|
}
|
|
flixel_util_FlxSpriteUtil.flashGfx.lineStyle(lineStyle.thickness,color & 16777215,(color >> 24 & 255) / 255,lineStyle.pixelHinting,lineStyle.scaleMode,lineStyle.capsStyle,lineStyle.jointStyle,lineStyle.miterLimit);
|
|
}
|
|
if(FillColor != 0) {
|
|
flixel_util_FlxSpriteUtil.flashGfx.beginFill(FillColor & 16777215,(FillColor >> 24 & 255) / 255);
|
|
}
|
|
};
|
|
flixel_util_FlxSpriteUtil.endDraw = function(sprite,drawStyle) {
|
|
flixel_util_FlxSpriteUtil.flashGfx.endFill();
|
|
flixel_util_FlxSpriteUtil.updateSpriteGraphic(sprite,drawStyle);
|
|
return sprite;
|
|
};
|
|
flixel_util_FlxSpriteUtil.updateSpriteGraphic = function(sprite,drawStyle) {
|
|
if(drawStyle == null) {
|
|
drawStyle = { smoothing : false};
|
|
} else if(drawStyle.smoothing == null) {
|
|
drawStyle.smoothing = false;
|
|
}
|
|
sprite.get_pixels().draw(flixel_util_FlxSpriteUtil.flashGfxSprite,drawStyle.matrix,drawStyle.colorTransform,drawStyle.blendMode,drawStyle.clipRect,drawStyle.smoothing);
|
|
sprite.dirty = true;
|
|
return sprite;
|
|
};
|
|
flixel_util_FlxSpriteUtil.setLineStyle = function(lineStyle) {
|
|
if(lineStyle != null) {
|
|
var color = lineStyle.color == null ? -16777216 : lineStyle.color;
|
|
if(lineStyle.thickness == null) {
|
|
lineStyle.thickness = 1;
|
|
}
|
|
if(lineStyle.pixelHinting == null) {
|
|
lineStyle.pixelHinting = false;
|
|
}
|
|
if(lineStyle.miterLimit == null) {
|
|
lineStyle.miterLimit = 3;
|
|
}
|
|
flixel_util_FlxSpriteUtil.flashGfx.lineStyle(lineStyle.thickness,color & 16777215,(color >> 24 & 255) / 255,lineStyle.pixelHinting,lineStyle.scaleMode,lineStyle.capsStyle,lineStyle.jointStyle,lineStyle.miterLimit);
|
|
}
|
|
};
|
|
flixel_util_FlxSpriteUtil.getDefaultLineStyle = function(lineStyle) {
|
|
if(lineStyle == null) {
|
|
lineStyle = { thickness : 1, color : -1};
|
|
}
|
|
if(lineStyle.thickness == null) {
|
|
lineStyle.thickness = 1;
|
|
}
|
|
if(lineStyle.color == null) {
|
|
lineStyle.color = -1;
|
|
}
|
|
return lineStyle;
|
|
};
|
|
flixel_util_FlxSpriteUtil.fill = function(sprite,FillColor) {
|
|
sprite.get_pixels().fillRect(sprite.get_pixels().rect,FillColor);
|
|
if(sprite.get_pixels() != sprite.framePixels) {
|
|
sprite.dirty = true;
|
|
}
|
|
return sprite;
|
|
};
|
|
flixel_util_FlxSpriteUtil.flicker = function(Object1,Duration,Interval,EndVisibility,ForceRestart,CompletionCallback,ProgressCallback) {
|
|
if(ForceRestart == null) {
|
|
ForceRestart = true;
|
|
}
|
|
if(EndVisibility == null) {
|
|
EndVisibility = true;
|
|
}
|
|
if(Interval == null) {
|
|
Interval = 0.04;
|
|
}
|
|
if(Duration == null) {
|
|
Duration = 1;
|
|
}
|
|
return flixel_effects_FlxFlicker.flicker(Object1,Duration,Interval,EndVisibility,ForceRestart,CompletionCallback,ProgressCallback);
|
|
};
|
|
flixel_util_FlxSpriteUtil.isFlickering = function(Object1) {
|
|
return flixel_effects_FlxFlicker.isFlickering(Object1);
|
|
};
|
|
flixel_util_FlxSpriteUtil.stopFlickering = function(Object1) {
|
|
flixel_effects_FlxFlicker.stopFlickering(Object1);
|
|
return Object1;
|
|
};
|
|
flixel_util_FlxSpriteUtil.fadeIn = function(sprite,Duration,ResetAlpha,OnComplete) {
|
|
if(Duration == null) {
|
|
Duration = 1;
|
|
}
|
|
if(ResetAlpha) {
|
|
sprite.set_alpha(0);
|
|
}
|
|
var sprite1 = sprite;
|
|
var tmp = function(f) {
|
|
flixel_util_FlxSpriteUtil.alphaTween(sprite1,f);
|
|
};
|
|
flixel_tweens_FlxTween.num(sprite.alpha,1,Duration,{ onComplete : OnComplete},tmp);
|
|
return sprite;
|
|
};
|
|
flixel_util_FlxSpriteUtil.fadeOut = function(sprite,Duration,OnComplete) {
|
|
if(Duration == null) {
|
|
Duration = 1;
|
|
}
|
|
var sprite1 = sprite;
|
|
var tmp = function(f) {
|
|
flixel_util_FlxSpriteUtil.alphaTween(sprite1,f);
|
|
};
|
|
flixel_tweens_FlxTween.num(sprite.alpha,0,Duration,{ onComplete : OnComplete},tmp);
|
|
return sprite;
|
|
};
|
|
flixel_util_FlxSpriteUtil.alphaTween = function(sprite,f) {
|
|
sprite.set_alpha(f);
|
|
};
|
|
var flixel_util_FlxStringUtil = function() { };
|
|
$hxClasses["flixel.util.FlxStringUtil"] = flixel_util_FlxStringUtil;
|
|
flixel_util_FlxStringUtil.__name__ = "flixel.util.FlxStringUtil";
|
|
flixel_util_FlxStringUtil.formatTicks = function(StartTicks,EndTicks) {
|
|
return Math.abs(EndTicks - StartTicks) / 1000 + "s";
|
|
};
|
|
flixel_util_FlxStringUtil.formatTime = function(Seconds,ShowMS) {
|
|
if(ShowMS == null) {
|
|
ShowMS = false;
|
|
}
|
|
var timeString = (Seconds / 60 | 0) + ":";
|
|
var timeStringHelper = (Seconds | 0) % 60;
|
|
if(timeStringHelper < 10) {
|
|
timeString += "0";
|
|
}
|
|
timeString += timeStringHelper;
|
|
if(ShowMS) {
|
|
timeString += ".";
|
|
timeStringHelper = (Seconds - (Seconds | 0)) * 100 | 0;
|
|
if(timeStringHelper < 10) {
|
|
timeString += "0";
|
|
}
|
|
timeString += timeStringHelper;
|
|
}
|
|
return timeString;
|
|
};
|
|
flixel_util_FlxStringUtil.formatArray = function(AnyArray) {
|
|
var string = "";
|
|
if(AnyArray != null && AnyArray.length > 0) {
|
|
string = Std.string(AnyArray[0]);
|
|
var i = 1;
|
|
var l = AnyArray.length;
|
|
while(i < l) string += ", " + Std.string(AnyArray[i++]);
|
|
}
|
|
return string;
|
|
};
|
|
flixel_util_FlxStringUtil.formatStringMap = function(AnyMap) {
|
|
var string = "";
|
|
var key = haxe_ds_StringMap.keysIterator(AnyMap.h);
|
|
while(key.hasNext()) {
|
|
var key1 = key.next();
|
|
string += key1 == null ? "null" : "" + key1;
|
|
string += ", ";
|
|
}
|
|
return string.substring(0,string.length - 2);
|
|
};
|
|
flixel_util_FlxStringUtil.formatMoney = function(Amount,ShowDecimal,EnglishStyle) {
|
|
if(EnglishStyle == null) {
|
|
EnglishStyle = true;
|
|
}
|
|
if(ShowDecimal == null) {
|
|
ShowDecimal = true;
|
|
}
|
|
var isNegative = Amount < 0;
|
|
Amount = Math.abs(Amount);
|
|
var string = "";
|
|
var comma = "";
|
|
var amount = Math.floor(Amount);
|
|
while(amount > 0) {
|
|
if(string.length > 0 && comma.length <= 0) {
|
|
comma = EnglishStyle ? "," : ".";
|
|
}
|
|
var zeroes = "";
|
|
var helper = amount - Math.floor(amount / 1000) * 1000;
|
|
amount = Math.floor(amount / 1000);
|
|
if(amount > 0) {
|
|
if(helper < 100) {
|
|
zeroes += "0";
|
|
}
|
|
if(helper < 10) {
|
|
zeroes += "0";
|
|
}
|
|
}
|
|
string = zeroes + helper + comma + string;
|
|
}
|
|
if(string == "") {
|
|
string = "0";
|
|
}
|
|
if(ShowDecimal) {
|
|
amount = Math.floor(Amount * 100) - Math.floor(Amount) * 100;
|
|
string += EnglishStyle ? "." : ",";
|
|
if(amount < 10) {
|
|
string += "0";
|
|
}
|
|
string += amount;
|
|
}
|
|
if(isNegative) {
|
|
string = "-" + string;
|
|
}
|
|
return string;
|
|
};
|
|
flixel_util_FlxStringUtil.formatBytes = function(Bytes,Precision) {
|
|
if(Precision == null) {
|
|
Precision = 2;
|
|
}
|
|
var units = ["Bytes","kB","MB","GB","TB","PB"];
|
|
var curUnit = 0;
|
|
while(Bytes >= 1024 && curUnit < units.length - 1) {
|
|
Bytes /= 1024;
|
|
++curUnit;
|
|
}
|
|
return flixel_math_FlxMath.roundDecimal(Bytes,Precision) + units[curUnit];
|
|
};
|
|
flixel_util_FlxStringUtil.filterDigits = function(Input) {
|
|
var output_b = "";
|
|
var _g = 0;
|
|
var _g1 = Input.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var c = HxOverrides.cca(Input,i);
|
|
if(c >= 48 && c <= 57) {
|
|
output_b += String.fromCodePoint(c);
|
|
}
|
|
}
|
|
return output_b;
|
|
};
|
|
flixel_util_FlxStringUtil.htmlFormat = function(Text1,Size,Color,Bold,Italic,Underlined) {
|
|
if(Underlined == null) {
|
|
Underlined = false;
|
|
}
|
|
if(Italic == null) {
|
|
Italic = false;
|
|
}
|
|
if(Bold == null) {
|
|
Bold = false;
|
|
}
|
|
if(Color == null) {
|
|
Color = "FFFFFF";
|
|
}
|
|
if(Size == null) {
|
|
Size = 12;
|
|
}
|
|
var prefix = "<font size='" + Size + "' color='#" + Color + "'>";
|
|
var suffix = "</font>";
|
|
if(Bold) {
|
|
prefix = "<b>" + prefix;
|
|
suffix += "</b>";
|
|
}
|
|
if(Italic) {
|
|
prefix = "<i>" + prefix;
|
|
suffix += "</i>";
|
|
}
|
|
if(Underlined) {
|
|
prefix = "<u>" + prefix;
|
|
suffix += "</u>";
|
|
}
|
|
return prefix + Text1 + suffix;
|
|
};
|
|
flixel_util_FlxStringUtil.getClassName = function(objectOrClass,simple) {
|
|
if(simple == null) {
|
|
simple = false;
|
|
}
|
|
var cl;
|
|
if(js_Boot.__instanceof(objectOrClass,Class)) {
|
|
cl = objectOrClass;
|
|
} else {
|
|
cl = js_Boot.getClass(objectOrClass);
|
|
}
|
|
return flixel_util_FlxStringUtil.formatPackage(cl.__name__,simple);
|
|
};
|
|
flixel_util_FlxStringUtil.getEnumName = function(enumValueOrEnum,simple) {
|
|
if(simple == null) {
|
|
simple = false;
|
|
}
|
|
var e;
|
|
if(js_Boot.__instanceof(enumValueOrEnum,Enum)) {
|
|
e = enumValueOrEnum;
|
|
} else {
|
|
e = Type.getEnum(enumValueOrEnum);
|
|
}
|
|
return flixel_util_FlxStringUtil.formatPackage(e.__ename__,simple);
|
|
};
|
|
flixel_util_FlxStringUtil.formatPackage = function(s,simple) {
|
|
if(s == null) {
|
|
return null;
|
|
}
|
|
s = StringTools.replace(s,"::",".");
|
|
if(simple) {
|
|
s = HxOverrides.substr(s,s.lastIndexOf(".") + 1,null);
|
|
}
|
|
return s;
|
|
};
|
|
flixel_util_FlxStringUtil.getHost = function(url) {
|
|
var hostFromURL = new EReg("^(?:[a-z][a-z0-9+\\-.]*://)?(?:[a-z0-9\\-._~%!$&'()*+,;=]+@)?([a-z0-9\\-._~%]{3,}|\\[[a-f0-9:.]+\\])?(?::[0-9]+)?","i");
|
|
if(hostFromURL.match(url)) {
|
|
var host = hostFromURL.matched(1);
|
|
if(host != null) {
|
|
return decodeURIComponent(host.split("+").join(" ")).toLowerCase();
|
|
} else {
|
|
return "";
|
|
}
|
|
}
|
|
return "";
|
|
};
|
|
flixel_util_FlxStringUtil.getDomain = function(url) {
|
|
var host = flixel_util_FlxStringUtil.getHost(url);
|
|
var isLocalhostOrIpAddress = new EReg("^(localhost|[0-9.]+|\\[[a-f0-9:.]+\\])$","i");
|
|
var domainFromHost = new EReg("^(?:[a-z0-9\\-]+\\.)*([a-z0-9\\-]+\\.[a-z0-9\\-]+)$","i");
|
|
if(!isLocalhostOrIpAddress.match(host) && domainFromHost.match(host)) {
|
|
var domain = domainFromHost.matched(1);
|
|
if(domain != null) {
|
|
return domain.toLowerCase();
|
|
} else {
|
|
return "";
|
|
}
|
|
}
|
|
return "";
|
|
};
|
|
flixel_util_FlxStringUtil.sameClassName = function(Obj1,Obj2,Simple) {
|
|
if(Simple == null) {
|
|
Simple = true;
|
|
}
|
|
return flixel_util_FlxStringUtil.getClassName(Obj1,Simple) == flixel_util_FlxStringUtil.getClassName(Obj2,Simple);
|
|
};
|
|
flixel_util_FlxStringUtil.toIntArray = function(Data) {
|
|
if(Data != null && Data != "") {
|
|
var strArray = Data.split(",");
|
|
var iArray = [];
|
|
var _g = 0;
|
|
while(_g < strArray.length) {
|
|
var str = strArray[_g];
|
|
++_g;
|
|
iArray.push(Std.parseInt(str));
|
|
}
|
|
return iArray;
|
|
}
|
|
return null;
|
|
};
|
|
flixel_util_FlxStringUtil.toFloatArray = function(Data) {
|
|
if(Data != null && Data != "") {
|
|
var strArray = Data.split(",");
|
|
var fArray = [];
|
|
var _g = 0;
|
|
while(_g < strArray.length) {
|
|
var str = strArray[_g];
|
|
++_g;
|
|
fArray.push(parseFloat(str));
|
|
}
|
|
return fArray;
|
|
}
|
|
return null;
|
|
};
|
|
flixel_util_FlxStringUtil.arrayToCSV = function(Data,Width,Invert) {
|
|
if(Invert == null) {
|
|
Invert = false;
|
|
}
|
|
var row = 0;
|
|
var column;
|
|
var csv = "";
|
|
var height = Data.length / Width | 0;
|
|
var index;
|
|
var offset = 0;
|
|
while(row < height) {
|
|
column = 0;
|
|
while(column < Width) {
|
|
index = Data[offset];
|
|
if(Invert) {
|
|
if(index == 0) {
|
|
index = 1;
|
|
} else if(index == 1) {
|
|
index = 0;
|
|
}
|
|
}
|
|
if(column == 0) {
|
|
if(row == 0) {
|
|
csv += index;
|
|
} else {
|
|
csv += "\n" + index;
|
|
}
|
|
} else {
|
|
csv += ", " + index;
|
|
}
|
|
++column;
|
|
++offset;
|
|
}
|
|
++row;
|
|
}
|
|
return csv;
|
|
};
|
|
flixel_util_FlxStringUtil.bitmapToCSV = function(Bitmap,Invert,Scale,ColorMap) {
|
|
if(Scale == null) {
|
|
Scale = 1;
|
|
}
|
|
if(Invert == null) {
|
|
Invert = false;
|
|
}
|
|
if(Scale < 1) {
|
|
Scale = 1;
|
|
}
|
|
if(Scale > 1) {
|
|
var bd = Bitmap;
|
|
Bitmap = new openfl_display_BitmapData(Bitmap.width * Scale,Bitmap.height * Scale);
|
|
var bdW = bd.width;
|
|
var bdH = bd.height;
|
|
var pCol = 0;
|
|
var _g = 0;
|
|
var _g1 = bdW;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var _g2 = 0;
|
|
var _g3 = bdH;
|
|
while(_g2 < _g3) {
|
|
var j = _g2++;
|
|
pCol = bd.getPixel(i,j);
|
|
var _g4 = 0;
|
|
var _g5 = Scale;
|
|
while(_g4 < _g5) {
|
|
var k = _g4++;
|
|
var _g6 = 0;
|
|
var _g7 = Scale;
|
|
while(_g6 < _g7) {
|
|
var m = _g6++;
|
|
Bitmap.setPixel(i * Scale + k,j * Scale + m,pCol);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if(ColorMap != null) {
|
|
var _g = 0;
|
|
var _g1 = ColorMap.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
ColorMap[i] = ColorMap[i] & 16777215;
|
|
}
|
|
}
|
|
var row = 0;
|
|
var column;
|
|
var pixel;
|
|
var csv = "";
|
|
var bitmapWidth = Bitmap.width;
|
|
var bitmapHeight = Bitmap.height;
|
|
while(row < bitmapHeight) {
|
|
column = 0;
|
|
while(column < bitmapWidth) {
|
|
pixel = Bitmap.getPixel(column,row);
|
|
if(ColorMap != null) {
|
|
pixel = ColorMap.indexOf(pixel);
|
|
} else if(Invert && pixel > 0 || !Invert && pixel == 0) {
|
|
pixel = 1;
|
|
} else {
|
|
pixel = 0;
|
|
}
|
|
if(column == 0) {
|
|
if(row == 0) {
|
|
csv += pixel;
|
|
} else {
|
|
csv += "\n" + pixel;
|
|
}
|
|
} else {
|
|
csv += ", " + pixel;
|
|
}
|
|
++column;
|
|
}
|
|
++row;
|
|
}
|
|
return csv;
|
|
};
|
|
flixel_util_FlxStringUtil.imageToCSV = function(ImageFile,Invert,Scale,ColorMap) {
|
|
if(Scale == null) {
|
|
Scale = 1;
|
|
}
|
|
if(Invert == null) {
|
|
Invert = false;
|
|
}
|
|
var tempBitmapData;
|
|
if(typeof(ImageFile) == "string") {
|
|
var id = ImageFile;
|
|
tempBitmapData = openfl_utils_Assets.exists(id) ? openfl_utils_Assets.getBitmapData(id,false) : null;
|
|
} else {
|
|
tempBitmapData = Type.createInstance(ImageFile,[]).bitmapData;
|
|
}
|
|
return flixel_util_FlxStringUtil.bitmapToCSV(tempBitmapData,Invert,Scale,ColorMap);
|
|
};
|
|
flixel_util_FlxStringUtil.getDebugString = function(LabelValuePairs) {
|
|
var output = "(";
|
|
var _g = 0;
|
|
while(_g < LabelValuePairs.length) {
|
|
var pair = LabelValuePairs[_g];
|
|
++_g;
|
|
output += pair.label + ": ";
|
|
var value = pair.value;
|
|
if(typeof(value) == "number") {
|
|
value = flixel_math_FlxMath.roundDecimal(value,flixel_FlxG.debugger.precision);
|
|
}
|
|
output += Std.string(value) + " | ";
|
|
flixel_util_LabelValuePair._pool.put(pair);
|
|
}
|
|
output = StringTools.trim(HxOverrides.substr(output,0,output.length - 2));
|
|
return output + ")";
|
|
};
|
|
flixel_util_FlxStringUtil.contains = function(s,str) {
|
|
return s.indexOf(str) != -1;
|
|
};
|
|
flixel_util_FlxStringUtil.remove = function(s,sub) {
|
|
return StringTools.replace(s,sub,"");
|
|
};
|
|
flixel_util_FlxStringUtil.insert = function(s,pos,insertion) {
|
|
return s.substring(0,pos) + insertion + HxOverrides.substr(s,pos,null);
|
|
};
|
|
flixel_util_FlxStringUtil.sortAlphabetically = function(list) {
|
|
list.sort(function(a,b) {
|
|
a = a.toLowerCase();
|
|
b = b.toLowerCase();
|
|
if(a < b) {
|
|
return -1;
|
|
}
|
|
if(a > b) {
|
|
return 1;
|
|
}
|
|
return 0;
|
|
});
|
|
return list;
|
|
};
|
|
flixel_util_FlxStringUtil.isNullOrEmpty = function(s) {
|
|
if(s != null) {
|
|
return s.length == 0;
|
|
} else {
|
|
return true;
|
|
}
|
|
};
|
|
var flixel_util_LabelValuePair = function() {
|
|
};
|
|
$hxClasses["flixel.util.LabelValuePair"] = flixel_util_LabelValuePair;
|
|
flixel_util_LabelValuePair.__name__ = "flixel.util.LabelValuePair";
|
|
flixel_util_LabelValuePair.__interfaces__ = [flixel_util_IFlxDestroyable];
|
|
flixel_util_LabelValuePair.weak = function(label,value) {
|
|
var _this = flixel_util_LabelValuePair._pool.get();
|
|
_this.label = label;
|
|
_this.value = value;
|
|
return _this;
|
|
};
|
|
flixel_util_LabelValuePair.prototype = {
|
|
label: null
|
|
,value: null
|
|
,create: function(label,value) {
|
|
this.label = label;
|
|
this.value = value;
|
|
return this;
|
|
}
|
|
,put: function() {
|
|
flixel_util_LabelValuePair._pool.put(this);
|
|
}
|
|
,destroy: function() {
|
|
this.label = null;
|
|
this.value = null;
|
|
}
|
|
,__class__: flixel_util_LabelValuePair
|
|
};
|
|
var flixel_util_FlxTimer = function(manager) {
|
|
this._inManager = false;
|
|
this._loopsCounter = 0;
|
|
this._timeCounter = 0;
|
|
this.finished = false;
|
|
this.active = false;
|
|
this.loops = 0;
|
|
this.time = 0;
|
|
this.manager = manager != null ? manager : flixel_util_FlxTimer.globalManager;
|
|
};
|
|
$hxClasses["flixel.util.FlxTimer"] = flixel_util_FlxTimer;
|
|
flixel_util_FlxTimer.__name__ = "flixel.util.FlxTimer";
|
|
flixel_util_FlxTimer.__interfaces__ = [flixel_util_IFlxDestroyable];
|
|
flixel_util_FlxTimer.globalManager = null;
|
|
flixel_util_FlxTimer.prototype = {
|
|
manager: null
|
|
,time: null
|
|
,loops: null
|
|
,active: null
|
|
,finished: null
|
|
,onComplete: null
|
|
,_timeCounter: null
|
|
,_loopsCounter: null
|
|
,_inManager: null
|
|
,destroy: function() {
|
|
this.onComplete = null;
|
|
}
|
|
,start: function(Time,OnComplete,Loops) {
|
|
if(Loops == null) {
|
|
Loops = 1;
|
|
}
|
|
if(Time == null) {
|
|
Time = 1;
|
|
}
|
|
if(this.manager != null && !this._inManager) {
|
|
this.manager.add(this);
|
|
this._inManager = true;
|
|
}
|
|
this.active = true;
|
|
this.finished = false;
|
|
this.time = Math.abs(Time);
|
|
if(Loops < 0) {
|
|
Loops *= -1;
|
|
}
|
|
this.loops = Loops;
|
|
this.onComplete = OnComplete;
|
|
this._timeCounter = 0;
|
|
this._loopsCounter = 0;
|
|
return this;
|
|
}
|
|
,reset: function(NewTime) {
|
|
if(NewTime == null) {
|
|
NewTime = -1;
|
|
}
|
|
if(NewTime < 0) {
|
|
NewTime = this.time;
|
|
}
|
|
this.start(NewTime,this.onComplete,this.loops);
|
|
return this;
|
|
}
|
|
,cancel: function() {
|
|
this.finished = true;
|
|
this.active = false;
|
|
if(this.manager != null && this._inManager) {
|
|
this.manager.remove(this);
|
|
this._inManager = false;
|
|
}
|
|
}
|
|
,update: function(elapsed) {
|
|
this._timeCounter += elapsed;
|
|
while(this._timeCounter >= this.time && this.active && !this.finished) {
|
|
this._timeCounter -= this.time;
|
|
this._loopsCounter++;
|
|
if(this.loops > 0 && this._loopsCounter >= this.loops) {
|
|
this.finished = true;
|
|
}
|
|
}
|
|
}
|
|
,onLoopFinished: function() {
|
|
if(this.finished) {
|
|
this.cancel();
|
|
}
|
|
if(this.onComplete != null) {
|
|
this.onComplete(this);
|
|
}
|
|
}
|
|
,get_timeLeft: function() {
|
|
return this.time - this._timeCounter;
|
|
}
|
|
,get_elapsedTime: function() {
|
|
return this._timeCounter;
|
|
}
|
|
,get_loopsLeft: function() {
|
|
return this.loops - this._loopsCounter;
|
|
}
|
|
,get_elapsedLoops: function() {
|
|
return this._loopsCounter;
|
|
}
|
|
,get_progress: function() {
|
|
if(this.time > 0) {
|
|
return this._timeCounter / this.time;
|
|
} else {
|
|
return 0;
|
|
}
|
|
}
|
|
,__class__: flixel_util_FlxTimer
|
|
,__properties__: {get_progress:"get_progress",get_elapsedLoops:"get_elapsedLoops",get_loopsLeft:"get_loopsLeft",get_elapsedTime:"get_elapsedTime",get_timeLeft:"get_timeLeft"}
|
|
};
|
|
var flixel_util_FlxTimerManager = function() {
|
|
this._timers = [];
|
|
flixel_FlxBasic.call(this);
|
|
this.set_visible(false);
|
|
flixel_FlxG.signals.preStateSwitch.add($bind(this,this.clear));
|
|
};
|
|
$hxClasses["flixel.util.FlxTimerManager"] = flixel_util_FlxTimerManager;
|
|
flixel_util_FlxTimerManager.__name__ = "flixel.util.FlxTimerManager";
|
|
flixel_util_FlxTimerManager.__super__ = flixel_FlxBasic;
|
|
flixel_util_FlxTimerManager.prototype = $extend(flixel_FlxBasic.prototype,{
|
|
_timers: null
|
|
,destroy: function() {
|
|
flixel_util_FlxArrayUtil.clearArray(this._timers);
|
|
this._timers = null;
|
|
flixel_FlxG.signals.preStateSwitch.remove($bind(this,this.clear));
|
|
flixel_FlxBasic.prototype.destroy.call(this);
|
|
}
|
|
,update: function(elapsed) {
|
|
var loopedTimers = null;
|
|
var _g = 0;
|
|
var _g1 = this._timers;
|
|
while(_g < _g1.length) {
|
|
var timer = _g1[_g];
|
|
++_g;
|
|
if(timer.active && !timer.finished && timer.time >= 0) {
|
|
var timerLoops = timer._loopsCounter;
|
|
timer.update(elapsed);
|
|
if(timerLoops != timer._loopsCounter) {
|
|
if(loopedTimers == null) {
|
|
loopedTimers = [];
|
|
}
|
|
loopedTimers.push(timer);
|
|
}
|
|
}
|
|
}
|
|
if(loopedTimers != null) {
|
|
while(loopedTimers.length > 0) loopedTimers.shift().onLoopFinished();
|
|
}
|
|
}
|
|
,add: function(Timer) {
|
|
this._timers.push(Timer);
|
|
}
|
|
,remove: function(Timer) {
|
|
var array = this._timers;
|
|
var index = array.indexOf(Timer);
|
|
if(index != -1) {
|
|
array[index] = array[array.length - 1];
|
|
array.pop();
|
|
}
|
|
}
|
|
,completeAll: function() {
|
|
var timersToFinish = [];
|
|
var _g = 0;
|
|
var _g1 = this._timers;
|
|
while(_g < _g1.length) {
|
|
var timer = _g1[_g];
|
|
++_g;
|
|
if(timer.loops > 0 && timer.active) {
|
|
timersToFinish.push(timer);
|
|
}
|
|
}
|
|
var _g = 0;
|
|
while(_g < timersToFinish.length) {
|
|
var timer = timersToFinish[_g];
|
|
++_g;
|
|
while(!timer.finished) {
|
|
timer.update(timer.time - timer._timeCounter);
|
|
timer.onLoopFinished();
|
|
}
|
|
}
|
|
}
|
|
,clear: function() {
|
|
flixel_util_FlxArrayUtil.clearArray(this._timers);
|
|
}
|
|
,forEach: function(Function1) {
|
|
var _g = 0;
|
|
var _g1 = this._timers;
|
|
while(_g < _g1.length) {
|
|
var timer = _g1[_g];
|
|
++_g;
|
|
Function1(timer);
|
|
}
|
|
}
|
|
,__class__: flixel_util_FlxTimerManager
|
|
});
|
|
var flixel_util_FlxUnicodeUtil = function() { };
|
|
$hxClasses["flixel.util.FlxUnicodeUtil"] = flixel_util_FlxUnicodeUtil;
|
|
flixel_util_FlxUnicodeUtil.__name__ = "flixel.util.FlxUnicodeUtil";
|
|
flixel_util_FlxUnicodeUtil.uLength = function(s) {
|
|
return UnicodeString.get_length(s);
|
|
};
|
|
flixel_util_FlxUnicodeUtil.uEquals = function(a,b) {
|
|
return a == b;
|
|
};
|
|
flixel_util_FlxUnicodeUtil.uSub = function(s,pos,len) {
|
|
return UnicodeString.substr(s,pos,len);
|
|
};
|
|
flixel_util_FlxUnicodeUtil.uCharCodeAt = function(s,index) {
|
|
return UnicodeString.charCodeAt(s,index);
|
|
};
|
|
var flixel_util_UnicodeBuffer = {};
|
|
flixel_util_UnicodeBuffer._new = function(s) {
|
|
if(s == null) {
|
|
s = "";
|
|
}
|
|
var this1 = s;
|
|
return this1;
|
|
};
|
|
flixel_util_UnicodeBuffer.addChar = function(this1,c) {
|
|
var s = this1 + String.fromCodePoint(c);
|
|
if(s == null) {
|
|
s = "";
|
|
}
|
|
var this1 = s;
|
|
return this1;
|
|
};
|
|
flixel_util_UnicodeBuffer.toString = function(this1) {
|
|
return this1;
|
|
};
|
|
var flixel_util_FlxVerticalAlign = $hxEnums["flixel.util.FlxVerticalAlign"] = { __ename__ : "flixel.util.FlxVerticalAlign", __constructs__ : ["TOP","CENTER","BOTTOM"]
|
|
,TOP: {_hx_index:0,__enum__:"flixel.util.FlxVerticalAlign",toString:$estr}
|
|
,CENTER: {_hx_index:1,__enum__:"flixel.util.FlxVerticalAlign",toString:$estr}
|
|
,BOTTOM: {_hx_index:2,__enum__:"flixel.util.FlxVerticalAlign",toString:$estr}
|
|
};
|
|
var flixel_util_helpers_FlxRange = function(start,end) {
|
|
this.active = true;
|
|
this.start = start;
|
|
this.end = end == null ? start : end;
|
|
};
|
|
$hxClasses["flixel.util.helpers.FlxRange"] = flixel_util_helpers_FlxRange;
|
|
flixel_util_helpers_FlxRange.__name__ = "flixel.util.helpers.FlxRange";
|
|
flixel_util_helpers_FlxRange.prototype = {
|
|
start: null
|
|
,end: null
|
|
,active: null
|
|
,set: function(start,end) {
|
|
this.start = start;
|
|
this.end = end == null ? start : end;
|
|
return this;
|
|
}
|
|
,equals: function(OtherFlxRange) {
|
|
if(this.start == OtherFlxRange.start) {
|
|
return this.end == OtherFlxRange.end;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,toString: function() {
|
|
var value = this.start;
|
|
var _this = flixel_util_LabelValuePair._pool.get();
|
|
_this.label = "start";
|
|
_this.value = value;
|
|
var value = this.end;
|
|
var _this1 = flixel_util_LabelValuePair._pool.get();
|
|
_this1.label = "end";
|
|
_this1.value = value;
|
|
return flixel_util_FlxStringUtil.getDebugString([_this,_this1]);
|
|
}
|
|
,__class__: flixel_util_helpers_FlxRange
|
|
};
|
|
var haxe_StackItem = $hxEnums["haxe.StackItem"] = { __ename__ : "haxe.StackItem", __constructs__ : ["CFunction","Module","FilePos","Method","LocalFunction"]
|
|
,CFunction: {_hx_index:0,__enum__:"haxe.StackItem",toString:$estr}
|
|
,Module: ($_=function(m) { return {_hx_index:1,m:m,__enum__:"haxe.StackItem",toString:$estr}; },$_.__params__ = ["m"],$_)
|
|
,FilePos: ($_=function(s,file,line,column) { return {_hx_index:2,s:s,file:file,line:line,column:column,__enum__:"haxe.StackItem",toString:$estr}; },$_.__params__ = ["s","file","line","column"],$_)
|
|
,Method: ($_=function(classname,method) { return {_hx_index:3,classname:classname,method:method,__enum__:"haxe.StackItem",toString:$estr}; },$_.__params__ = ["classname","method"],$_)
|
|
,LocalFunction: ($_=function(v) { return {_hx_index:4,v:v,__enum__:"haxe.StackItem",toString:$estr}; },$_.__params__ = ["v"],$_)
|
|
};
|
|
var haxe_CallStack = {};
|
|
haxe_CallStack.callStack = function() {
|
|
return haxe_NativeStackTrace.toHaxe(haxe_NativeStackTrace.callStack());
|
|
};
|
|
haxe_CallStack.exceptionStack = function(fullStack) {
|
|
if(fullStack == null) {
|
|
fullStack = false;
|
|
}
|
|
var eStack = haxe_NativeStackTrace.toHaxe(haxe_NativeStackTrace.exceptionStack());
|
|
return fullStack ? eStack : haxe_CallStack.subtract(eStack,haxe_CallStack.callStack());
|
|
};
|
|
haxe_CallStack.toString = function(stack) {
|
|
var b = new StringBuf();
|
|
var _g = 0;
|
|
var _g1 = stack;
|
|
while(_g < _g1.length) {
|
|
var s = _g1[_g];
|
|
++_g;
|
|
b.b += "\nCalled from ";
|
|
haxe_CallStack.itemToString(b,s);
|
|
}
|
|
return b.b;
|
|
};
|
|
haxe_CallStack.subtract = function(this1,stack) {
|
|
var startIndex = -1;
|
|
var i = -1;
|
|
while(++i < this1.length) {
|
|
var _g = 0;
|
|
var _g1 = stack.length;
|
|
while(_g < _g1) {
|
|
var j = _g++;
|
|
if(haxe_CallStack.equalItems(this1[i],stack[j])) {
|
|
if(startIndex < 0) {
|
|
startIndex = i;
|
|
}
|
|
++i;
|
|
if(i >= this1.length) {
|
|
break;
|
|
}
|
|
} else {
|
|
startIndex = -1;
|
|
}
|
|
}
|
|
if(startIndex >= 0) {
|
|
break;
|
|
}
|
|
}
|
|
if(startIndex >= 0) {
|
|
return this1.slice(0,startIndex);
|
|
} else {
|
|
return this1;
|
|
}
|
|
};
|
|
haxe_CallStack.equalItems = function(item1,item2) {
|
|
if(item1 == null) {
|
|
if(item2 == null) {
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
} else {
|
|
switch(item1._hx_index) {
|
|
case 0:
|
|
if(item2 == null) {
|
|
return false;
|
|
} else if(item2._hx_index == 0) {
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
break;
|
|
case 1:
|
|
if(item2 == null) {
|
|
return false;
|
|
} else if(item2._hx_index == 1) {
|
|
var m1 = item1.m;
|
|
var m2 = item2.m;
|
|
return m1 == m2;
|
|
} else {
|
|
return false;
|
|
}
|
|
break;
|
|
case 2:
|
|
if(item2 == null) {
|
|
return false;
|
|
} else if(item2._hx_index == 2) {
|
|
var item11 = item1.s;
|
|
var file1 = item1.file;
|
|
var line1 = item1.line;
|
|
var col1 = item1.column;
|
|
var col2 = item2.column;
|
|
var line2 = item2.line;
|
|
var file2 = item2.file;
|
|
var item21 = item2.s;
|
|
if(file1 == file2 && line1 == line2 && col1 == col2) {
|
|
return haxe_CallStack.equalItems(item11,item21);
|
|
} else {
|
|
return false;
|
|
}
|
|
} else {
|
|
return false;
|
|
}
|
|
break;
|
|
case 3:
|
|
if(item2 == null) {
|
|
return false;
|
|
} else if(item2._hx_index == 3) {
|
|
var class1 = item1.classname;
|
|
var method1 = item1.method;
|
|
var method2 = item2.method;
|
|
var class2 = item2.classname;
|
|
if(class1 == class2) {
|
|
return method1 == method2;
|
|
} else {
|
|
return false;
|
|
}
|
|
} else {
|
|
return false;
|
|
}
|
|
break;
|
|
case 4:
|
|
if(item2 == null) {
|
|
return false;
|
|
} else if(item2._hx_index == 4) {
|
|
var v1 = item1.v;
|
|
var v2 = item2.v;
|
|
return v1 == v2;
|
|
} else {
|
|
return false;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
};
|
|
haxe_CallStack.itemToString = function(b,s) {
|
|
switch(s._hx_index) {
|
|
case 0:
|
|
b.b += "a C function";
|
|
break;
|
|
case 1:
|
|
var m = s.m;
|
|
b.b += "module ";
|
|
b.b += m == null ? "null" : "" + m;
|
|
break;
|
|
case 2:
|
|
var col = s.column;
|
|
var line = s.line;
|
|
var file = s.file;
|
|
var s1 = s.s;
|
|
if(s1 != null) {
|
|
haxe_CallStack.itemToString(b,s1);
|
|
b.b += " (";
|
|
}
|
|
b.b += file == null ? "null" : "" + file;
|
|
b.b += " line ";
|
|
b.b += line == null ? "null" : "" + line;
|
|
if(col != null) {
|
|
b.b += " column ";
|
|
b.b += col == null ? "null" : "" + col;
|
|
}
|
|
if(s1 != null) {
|
|
b.b += ")";
|
|
}
|
|
break;
|
|
case 3:
|
|
var meth = s.method;
|
|
var cname = s.classname;
|
|
b.b += Std.string(cname == null ? "<unknown>" : cname);
|
|
b.b += ".";
|
|
b.b += meth == null ? "null" : "" + meth;
|
|
break;
|
|
case 4:
|
|
var n = s.v;
|
|
b.b += "local function #";
|
|
b.b += n == null ? "null" : "" + n;
|
|
break;
|
|
}
|
|
};
|
|
var haxe_Exception = function(message,previous,native) {
|
|
Error.call(this,message);
|
|
this.message = message;
|
|
this.__previousException = previous;
|
|
this.__nativeException = native != null ? native : this;
|
|
this.__skipStack = 0;
|
|
var old = Error.prepareStackTrace;
|
|
Error.prepareStackTrace = function(e) { return e.stack; }
|
|
if(((native) instanceof Error)) {
|
|
this.stack = native.stack;
|
|
} else {
|
|
var e = null;
|
|
if(Error.captureStackTrace) {
|
|
Error.captureStackTrace(this,haxe_Exception);
|
|
e = this;
|
|
} else {
|
|
e = new Error();
|
|
if(typeof(e.stack) == "undefined") {
|
|
try { throw e; } catch(_) {}
|
|
this.__skipStack++;
|
|
}
|
|
}
|
|
this.stack = e.stack;
|
|
}
|
|
Error.prepareStackTrace = old;
|
|
};
|
|
$hxClasses["haxe.Exception"] = haxe_Exception;
|
|
haxe_Exception.__name__ = "haxe.Exception";
|
|
haxe_Exception.caught = function(value) {
|
|
if(((value) instanceof haxe_Exception)) {
|
|
return value;
|
|
} else if(((value) instanceof Error)) {
|
|
return new haxe_Exception(value.message,null,value);
|
|
} else {
|
|
return new haxe_ValueException(value,null,value);
|
|
}
|
|
};
|
|
haxe_Exception.thrown = function(value) {
|
|
if(((value) instanceof haxe_Exception)) {
|
|
return value.get_native();
|
|
} else if(((value) instanceof Error)) {
|
|
return value;
|
|
} else {
|
|
var e = new haxe_ValueException(value);
|
|
e.__skipStack++;
|
|
return e;
|
|
}
|
|
};
|
|
haxe_Exception.__super__ = Error;
|
|
haxe_Exception.prototype = $extend(Error.prototype,{
|
|
__skipStack: null
|
|
,__nativeException: null
|
|
,__previousException: null
|
|
,unwrap: function() {
|
|
return this.__nativeException;
|
|
}
|
|
,__shiftStack: function() {
|
|
this.__skipStack++;
|
|
}
|
|
,get_native: function() {
|
|
return this.__nativeException;
|
|
}
|
|
,get_stack: function() {
|
|
var _g = this.__exceptionStack;
|
|
if(_g == null) {
|
|
var value = haxe_NativeStackTrace.toHaxe(haxe_NativeStackTrace.normalize(this.stack),this.__skipStack);
|
|
this.setProperty("__exceptionStack",value);
|
|
return value;
|
|
} else {
|
|
var s = _g;
|
|
return s;
|
|
}
|
|
}
|
|
,setProperty: function(name,value) {
|
|
try {
|
|
Object.defineProperty(this,name,{ value : value});
|
|
} catch( _g ) {
|
|
this[name] = value;
|
|
}
|
|
}
|
|
,__class__: haxe_Exception
|
|
,__properties__: {get_native:"get_native",get_stack:"get_stack"}
|
|
});
|
|
var haxe__$Int64__$_$_$Int64 = function(high,low) {
|
|
this.high = high;
|
|
this.low = low;
|
|
};
|
|
$hxClasses["haxe._Int64.___Int64"] = haxe__$Int64__$_$_$Int64;
|
|
haxe__$Int64__$_$_$Int64.__name__ = "haxe._Int64.___Int64";
|
|
haxe__$Int64__$_$_$Int64.prototype = {
|
|
high: null
|
|
,low: null
|
|
,__class__: haxe__$Int64__$_$_$Int64
|
|
};
|
|
var haxe_NativeStackTrace = function() { };
|
|
$hxClasses["haxe.NativeStackTrace"] = haxe_NativeStackTrace;
|
|
haxe_NativeStackTrace.__name__ = "haxe.NativeStackTrace";
|
|
haxe_NativeStackTrace.lastError = null;
|
|
haxe_NativeStackTrace.wrapCallSite = null;
|
|
haxe_NativeStackTrace.saveStack = function(e) {
|
|
haxe_NativeStackTrace.lastError = e;
|
|
};
|
|
haxe_NativeStackTrace.callStack = function() {
|
|
var e = new Error("");
|
|
var stack = haxe_NativeStackTrace.tryHaxeStack(e);
|
|
if(typeof(stack) == "undefined") {
|
|
try {
|
|
throw e;
|
|
} catch( _g ) {
|
|
}
|
|
stack = e.stack;
|
|
}
|
|
return haxe_NativeStackTrace.normalize(stack,2);
|
|
};
|
|
haxe_NativeStackTrace.exceptionStack = function() {
|
|
return haxe_NativeStackTrace.normalize(haxe_NativeStackTrace.tryHaxeStack(haxe_NativeStackTrace.lastError));
|
|
};
|
|
haxe_NativeStackTrace.toHaxe = function(s,skip) {
|
|
if(skip == null) {
|
|
skip = 0;
|
|
}
|
|
if(s == null) {
|
|
return [];
|
|
} else if(typeof(s) == "string") {
|
|
var stack = s.split("\n");
|
|
if(stack[0] == "Error") {
|
|
stack.shift();
|
|
}
|
|
var m = [];
|
|
var _g = 0;
|
|
var _g1 = stack.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(skip > i) {
|
|
continue;
|
|
}
|
|
var line = stack[i];
|
|
var matched = line.match(/^ at ([A-Za-z0-9_. ]+) \(([^)]+):([0-9]+):([0-9]+)\)$/);
|
|
if(matched != null) {
|
|
var path = matched[1].split(".");
|
|
if(path[0] == "$hxClasses") {
|
|
path.shift();
|
|
}
|
|
var meth = path.pop();
|
|
var file = matched[2];
|
|
var line1 = Std.parseInt(matched[3]);
|
|
var column = Std.parseInt(matched[4]);
|
|
m.push(haxe_StackItem.FilePos(meth == "Anonymous function" ? haxe_StackItem.LocalFunction() : meth == "Global code" ? null : haxe_StackItem.Method(path.join("."),meth),file,line1,column));
|
|
} else {
|
|
m.push(haxe_StackItem.Module(StringTools.trim(line)));
|
|
}
|
|
}
|
|
return m;
|
|
} else if(skip > 0 && Array.isArray(s)) {
|
|
return s.slice(skip);
|
|
} else {
|
|
return s;
|
|
}
|
|
};
|
|
haxe_NativeStackTrace.tryHaxeStack = function(e) {
|
|
if(e == null) {
|
|
return [];
|
|
}
|
|
var oldValue = Error.prepareStackTrace;
|
|
Error.prepareStackTrace = haxe_NativeStackTrace.prepareHxStackTrace;
|
|
var stack = e.stack;
|
|
Error.prepareStackTrace = oldValue;
|
|
return stack;
|
|
};
|
|
haxe_NativeStackTrace.prepareHxStackTrace = function(e,callsites) {
|
|
var stack = [];
|
|
var _g = 0;
|
|
while(_g < callsites.length) {
|
|
var site = callsites[_g];
|
|
++_g;
|
|
if(haxe_NativeStackTrace.wrapCallSite != null) {
|
|
site = haxe_NativeStackTrace.wrapCallSite(site);
|
|
}
|
|
var method = null;
|
|
var fullName = site.getFunctionName();
|
|
if(fullName != null) {
|
|
var idx = fullName.lastIndexOf(".");
|
|
if(idx >= 0) {
|
|
var className = fullName.substring(0,idx);
|
|
var methodName = fullName.substring(idx + 1);
|
|
method = haxe_StackItem.Method(className,methodName);
|
|
} else {
|
|
method = haxe_StackItem.Method(null,fullName);
|
|
}
|
|
}
|
|
var fileName = site.getFileName();
|
|
var fileAddr = fileName == null ? -1 : fileName.indexOf("file:");
|
|
if(haxe_NativeStackTrace.wrapCallSite != null && fileAddr > 0) {
|
|
fileName = fileName.substring(fileAddr + 6);
|
|
}
|
|
stack.push(haxe_StackItem.FilePos(method,fileName,site.getLineNumber(),site.getColumnNumber()));
|
|
}
|
|
return stack;
|
|
};
|
|
haxe_NativeStackTrace.normalize = function(stack,skipItems) {
|
|
if(skipItems == null) {
|
|
skipItems = 0;
|
|
}
|
|
if(Array.isArray(stack) && skipItems > 0) {
|
|
return stack.slice(skipItems);
|
|
} else if(typeof(stack) == "string") {
|
|
switch(stack.substring(0,6)) {
|
|
case "Error\n":case "Error:":
|
|
++skipItems;
|
|
break;
|
|
default:
|
|
}
|
|
return haxe_NativeStackTrace.skipLines(stack,skipItems);
|
|
} else {
|
|
return stack;
|
|
}
|
|
};
|
|
haxe_NativeStackTrace.skipLines = function(stack,skip,pos) {
|
|
if(pos == null) {
|
|
pos = 0;
|
|
}
|
|
if(skip > 0) {
|
|
pos = stack.indexOf("\n",pos);
|
|
if(pos < 0) {
|
|
return "";
|
|
} else {
|
|
return haxe_NativeStackTrace.skipLines(stack,--skip,pos + 1);
|
|
}
|
|
} else {
|
|
return stack.substring(pos);
|
|
}
|
|
};
|
|
var haxe_Resource = function() { };
|
|
$hxClasses["haxe.Resource"] = haxe_Resource;
|
|
haxe_Resource.__name__ = "haxe.Resource";
|
|
haxe_Resource.content = null;
|
|
haxe_Resource.getString = function(name) {
|
|
var _g = 0;
|
|
var _g1 = haxe_Resource.content;
|
|
while(_g < _g1.length) {
|
|
var x = _g1[_g];
|
|
++_g;
|
|
if(x.name == name) {
|
|
if(x.str != null) {
|
|
return x.str;
|
|
}
|
|
var b = haxe_crypto_Base64.decode(x.data);
|
|
return b.toString();
|
|
}
|
|
}
|
|
return null;
|
|
};
|
|
haxe_Resource.getBytes = function(name) {
|
|
var _g = 0;
|
|
var _g1 = haxe_Resource.content;
|
|
while(_g < _g1.length) {
|
|
var x = _g1[_g];
|
|
++_g;
|
|
if(x.name == name) {
|
|
if(x.str != null) {
|
|
return haxe_io_Bytes.ofString(x.str);
|
|
}
|
|
return haxe_crypto_Base64.decode(x.data);
|
|
}
|
|
}
|
|
return null;
|
|
};
|
|
var haxe_Serializer = function() {
|
|
this.buf = new StringBuf();
|
|
this.cache = [];
|
|
this.useCache = haxe_Serializer.USE_CACHE;
|
|
this.useEnumIndex = haxe_Serializer.USE_ENUM_INDEX;
|
|
this.shash = new haxe_ds_StringMap();
|
|
this.scount = 0;
|
|
};
|
|
$hxClasses["haxe.Serializer"] = haxe_Serializer;
|
|
haxe_Serializer.__name__ = "haxe.Serializer";
|
|
haxe_Serializer.run = function(v) {
|
|
var s = new haxe_Serializer();
|
|
s.serialize(v);
|
|
return s.toString();
|
|
};
|
|
haxe_Serializer.prototype = {
|
|
buf: null
|
|
,cache: null
|
|
,shash: null
|
|
,scount: null
|
|
,useCache: null
|
|
,useEnumIndex: null
|
|
,toString: function() {
|
|
return this.buf.b;
|
|
}
|
|
,serializeString: function(s) {
|
|
var x = this.shash.h[s];
|
|
if(x != null) {
|
|
this.buf.b += "R";
|
|
this.buf.b += x == null ? "null" : "" + x;
|
|
return;
|
|
}
|
|
this.shash.h[s] = this.scount++;
|
|
this.buf.b += "y";
|
|
s = encodeURIComponent(s);
|
|
this.buf.b += Std.string(s.length);
|
|
this.buf.b += ":";
|
|
this.buf.b += s == null ? "null" : "" + s;
|
|
}
|
|
,serializeRef: function(v) {
|
|
var vt = typeof(v);
|
|
var _g = 0;
|
|
var _g1 = this.cache.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var ci = this.cache[i];
|
|
if(typeof(ci) == vt && ci == v) {
|
|
this.buf.b += "r";
|
|
this.buf.b += i == null ? "null" : "" + i;
|
|
return true;
|
|
}
|
|
}
|
|
this.cache.push(v);
|
|
return false;
|
|
}
|
|
,serializeFields: function(v) {
|
|
var _g = 0;
|
|
var _g1 = Reflect.fields(v);
|
|
while(_g < _g1.length) {
|
|
var f = _g1[_g];
|
|
++_g;
|
|
this.serializeString(f);
|
|
this.serialize(Reflect.field(v,f));
|
|
}
|
|
this.buf.b += "g";
|
|
}
|
|
,serialize: function(v) {
|
|
var _g = Type.typeof(v);
|
|
switch(_g._hx_index) {
|
|
case 0:
|
|
this.buf.b += "n";
|
|
break;
|
|
case 1:
|
|
var v1 = v;
|
|
if(v1 == 0) {
|
|
this.buf.b += "z";
|
|
return;
|
|
}
|
|
this.buf.b += "i";
|
|
this.buf.b += v1 == null ? "null" : "" + v1;
|
|
break;
|
|
case 2:
|
|
var v1 = v;
|
|
if(isNaN(v1)) {
|
|
this.buf.b += "k";
|
|
} else if(!isFinite(v1)) {
|
|
this.buf.b += v1 < 0 ? "m" : "p";
|
|
} else {
|
|
this.buf.b += "d";
|
|
this.buf.b += v1 == null ? "null" : "" + v1;
|
|
}
|
|
break;
|
|
case 3:
|
|
this.buf.b += v ? "t" : "f";
|
|
break;
|
|
case 4:
|
|
if(js_Boot.__instanceof(v,Class)) {
|
|
var className = v.__name__;
|
|
this.buf.b += "A";
|
|
this.serializeString(className);
|
|
} else if(js_Boot.__instanceof(v,Enum)) {
|
|
this.buf.b += "B";
|
|
this.serializeString(v.__ename__);
|
|
} else {
|
|
if(this.useCache && this.serializeRef(v)) {
|
|
return;
|
|
}
|
|
this.buf.b += "o";
|
|
this.serializeFields(v);
|
|
}
|
|
break;
|
|
case 5:
|
|
throw haxe_Exception.thrown("Cannot serialize function");
|
|
case 6:
|
|
var c = _g.c;
|
|
if(c == String) {
|
|
this.serializeString(v);
|
|
return;
|
|
}
|
|
if(this.useCache && this.serializeRef(v)) {
|
|
return;
|
|
}
|
|
switch(c) {
|
|
case Array:
|
|
var ucount = 0;
|
|
this.buf.b += "a";
|
|
var l = v["length"];
|
|
var _g1 = 0;
|
|
var _g2 = l;
|
|
while(_g1 < _g2) {
|
|
var i = _g1++;
|
|
if(v[i] == null) {
|
|
++ucount;
|
|
} else {
|
|
if(ucount > 0) {
|
|
if(ucount == 1) {
|
|
this.buf.b += "n";
|
|
} else {
|
|
this.buf.b += "u";
|
|
this.buf.b += ucount == null ? "null" : "" + ucount;
|
|
}
|
|
ucount = 0;
|
|
}
|
|
this.serialize(v[i]);
|
|
}
|
|
}
|
|
if(ucount > 0) {
|
|
if(ucount == 1) {
|
|
this.buf.b += "n";
|
|
} else {
|
|
this.buf.b += "u";
|
|
this.buf.b += ucount == null ? "null" : "" + ucount;
|
|
}
|
|
}
|
|
this.buf.b += "h";
|
|
break;
|
|
case Date:
|
|
var d = v;
|
|
this.buf.b += "v";
|
|
this.buf.b += Std.string(d.getTime());
|
|
break;
|
|
case haxe_ds_IntMap:
|
|
this.buf.b += "q";
|
|
var v1 = v;
|
|
var k = v1.keys();
|
|
while(k.hasNext()) {
|
|
var k1 = k.next();
|
|
this.buf.b += ":";
|
|
this.buf.b += k1 == null ? "null" : "" + k1;
|
|
this.serialize(v1.h[k1]);
|
|
}
|
|
this.buf.b += "h";
|
|
break;
|
|
case haxe_ds_List:
|
|
this.buf.b += "l";
|
|
var v1 = v;
|
|
var _g_head = v1.h;
|
|
while(_g_head != null) {
|
|
var val = _g_head.item;
|
|
_g_head = _g_head.next;
|
|
var i = val;
|
|
this.serialize(i);
|
|
}
|
|
this.buf.b += "h";
|
|
break;
|
|
case haxe_ds_ObjectMap:
|
|
this.buf.b += "M";
|
|
var v1 = v;
|
|
var k = v1.keys();
|
|
while(k.hasNext()) {
|
|
var k1 = k.next();
|
|
var id = Reflect.field(k1,"__id__");
|
|
Reflect.deleteField(k1,"__id__");
|
|
this.serialize(k1);
|
|
k1["__id__"] = id;
|
|
this.serialize(v1.h[k1.__id__]);
|
|
}
|
|
this.buf.b += "h";
|
|
break;
|
|
case haxe_ds_StringMap:
|
|
this.buf.b += "b";
|
|
var v1 = v;
|
|
var k = haxe_ds_StringMap.keysIterator(v1.h);
|
|
while(k.hasNext()) {
|
|
var k1 = k.next();
|
|
this.serializeString(k1);
|
|
this.serialize(v1.h[k1]);
|
|
}
|
|
this.buf.b += "h";
|
|
break;
|
|
case haxe_io_Bytes:
|
|
var v1 = v;
|
|
this.buf.b += "s";
|
|
this.buf.b += Std.string(Math.ceil(v1.length * 8 / 6));
|
|
this.buf.b += ":";
|
|
var i = 0;
|
|
var max = v1.length - 2;
|
|
var b64 = haxe_Serializer.BASE64_CODES;
|
|
if(b64 == null) {
|
|
var this1 = new Array(haxe_Serializer.BASE64.length);
|
|
b64 = this1;
|
|
var _g1 = 0;
|
|
var _g2 = haxe_Serializer.BASE64.length;
|
|
while(_g1 < _g2) {
|
|
var i1 = _g1++;
|
|
b64[i1] = HxOverrides.cca(haxe_Serializer.BASE64,i1);
|
|
}
|
|
haxe_Serializer.BASE64_CODES = b64;
|
|
}
|
|
while(i < max) {
|
|
var b1 = v1.b[i++];
|
|
var b2 = v1.b[i++];
|
|
var b3 = v1.b[i++];
|
|
this.buf.b += String.fromCodePoint(b64[b1 >> 2]);
|
|
this.buf.b += String.fromCodePoint(b64[(b1 << 4 | b2 >> 4) & 63]);
|
|
this.buf.b += String.fromCodePoint(b64[(b2 << 2 | b3 >> 6) & 63]);
|
|
this.buf.b += String.fromCodePoint(b64[b3 & 63]);
|
|
}
|
|
if(i == max) {
|
|
var b1 = v1.b[i++];
|
|
var b2 = v1.b[i++];
|
|
this.buf.b += String.fromCodePoint(b64[b1 >> 2]);
|
|
this.buf.b += String.fromCodePoint(b64[(b1 << 4 | b2 >> 4) & 63]);
|
|
this.buf.b += String.fromCodePoint(b64[b2 << 2 & 63]);
|
|
} else if(i == max + 1) {
|
|
var b1 = v1.b[i++];
|
|
this.buf.b += String.fromCodePoint(b64[b1 >> 2]);
|
|
this.buf.b += String.fromCodePoint(b64[b1 << 4 & 63]);
|
|
}
|
|
break;
|
|
default:
|
|
if(this.useCache) {
|
|
this.cache.pop();
|
|
}
|
|
if(v.hxSerialize != null) {
|
|
this.buf.b += "C";
|
|
this.serializeString(c.__name__);
|
|
if(this.useCache) {
|
|
this.cache.push(v);
|
|
}
|
|
v.hxSerialize(this);
|
|
this.buf.b += "g";
|
|
} else {
|
|
this.buf.b += "c";
|
|
this.serializeString(c.__name__);
|
|
if(this.useCache) {
|
|
this.cache.push(v);
|
|
}
|
|
this.serializeFields(v);
|
|
}
|
|
}
|
|
break;
|
|
case 7:
|
|
var e = _g.e;
|
|
if(this.useCache) {
|
|
if(this.serializeRef(v)) {
|
|
return;
|
|
}
|
|
this.cache.pop();
|
|
}
|
|
this.buf.b += Std.string(this.useEnumIndex ? "j" : "w");
|
|
this.serializeString(e.__ename__);
|
|
if(this.useEnumIndex) {
|
|
this.buf.b += ":";
|
|
this.buf.b += Std.string(v._hx_index);
|
|
} else {
|
|
var e = v;
|
|
this.serializeString($hxEnums[e.__enum__].__constructs__[e._hx_index]);
|
|
}
|
|
this.buf.b += ":";
|
|
var params = Type.enumParameters(v);
|
|
this.buf.b += Std.string(params.length);
|
|
var _g = 0;
|
|
while(_g < params.length) {
|
|
var p = params[_g];
|
|
++_g;
|
|
this.serialize(p);
|
|
}
|
|
if(this.useCache) {
|
|
this.cache.push(v);
|
|
}
|
|
break;
|
|
default:
|
|
throw haxe_Exception.thrown("Cannot serialize " + Std.string(v));
|
|
}
|
|
}
|
|
,__class__: haxe_Serializer
|
|
};
|
|
var haxe_Timer = function(time_ms) {
|
|
var me = this;
|
|
this.id = setInterval(function() {
|
|
me.run();
|
|
},time_ms);
|
|
};
|
|
$hxClasses["haxe.Timer"] = haxe_Timer;
|
|
haxe_Timer.__name__ = "haxe.Timer";
|
|
haxe_Timer.delay = function(f,time_ms) {
|
|
var t = new haxe_Timer(time_ms);
|
|
t.run = function() {
|
|
t.stop();
|
|
f();
|
|
};
|
|
return t;
|
|
};
|
|
haxe_Timer.measure = function(f,pos) {
|
|
var t0 = new Date().getTime() / 1000;
|
|
var r = f();
|
|
haxe_Log.trace(new Date().getTime() / 1000 - t0 + "s",pos);
|
|
return r;
|
|
};
|
|
haxe_Timer.stamp = function() {
|
|
return new Date().getTime() / 1000;
|
|
};
|
|
haxe_Timer.prototype = {
|
|
id: null
|
|
,stop: function() {
|
|
if(this.id == null) {
|
|
return;
|
|
}
|
|
clearInterval(this.id);
|
|
this.id = null;
|
|
}
|
|
,run: function() {
|
|
}
|
|
,__class__: haxe_Timer
|
|
};
|
|
var haxe__$Unserializer_DefaultResolver = function() {
|
|
};
|
|
$hxClasses["haxe._Unserializer.DefaultResolver"] = haxe__$Unserializer_DefaultResolver;
|
|
haxe__$Unserializer_DefaultResolver.__name__ = "haxe._Unserializer.DefaultResolver";
|
|
haxe__$Unserializer_DefaultResolver.prototype = {
|
|
resolveClass: function(name) {
|
|
return $hxClasses[name];
|
|
}
|
|
,resolveEnum: function(name) {
|
|
return $hxEnums[name];
|
|
}
|
|
,__class__: haxe__$Unserializer_DefaultResolver
|
|
};
|
|
var haxe_Unserializer = function(buf) {
|
|
this.buf = buf;
|
|
this.length = buf.length;
|
|
this.pos = 0;
|
|
this.scache = [];
|
|
this.cache = [];
|
|
var r = haxe_Unserializer.DEFAULT_RESOLVER;
|
|
if(r == null) {
|
|
r = new haxe__$Unserializer_DefaultResolver();
|
|
haxe_Unserializer.DEFAULT_RESOLVER = r;
|
|
}
|
|
this.resolver = r;
|
|
};
|
|
$hxClasses["haxe.Unserializer"] = haxe_Unserializer;
|
|
haxe_Unserializer.__name__ = "haxe.Unserializer";
|
|
haxe_Unserializer.initCodes = function() {
|
|
var codes = [];
|
|
var _g = 0;
|
|
var _g1 = haxe_Unserializer.BASE64.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
codes[haxe_Unserializer.BASE64.charCodeAt(i)] = i;
|
|
}
|
|
return codes;
|
|
};
|
|
haxe_Unserializer.run = function(v) {
|
|
return new haxe_Unserializer(v).unserialize();
|
|
};
|
|
haxe_Unserializer.prototype = {
|
|
buf: null
|
|
,pos: null
|
|
,length: null
|
|
,cache: null
|
|
,scache: null
|
|
,resolver: null
|
|
,setResolver: function(r) {
|
|
if(r == null) {
|
|
if(haxe__$Unserializer_NullResolver.instance == null) {
|
|
haxe__$Unserializer_NullResolver.instance = new haxe__$Unserializer_NullResolver();
|
|
}
|
|
this.resolver = haxe__$Unserializer_NullResolver.instance;
|
|
} else {
|
|
this.resolver = r;
|
|
}
|
|
}
|
|
,readDigits: function() {
|
|
var k = 0;
|
|
var s = false;
|
|
var fpos = this.pos;
|
|
while(true) {
|
|
var c = this.buf.charCodeAt(this.pos);
|
|
if(c != c) {
|
|
break;
|
|
}
|
|
if(c == 45) {
|
|
if(this.pos != fpos) {
|
|
break;
|
|
}
|
|
s = true;
|
|
this.pos++;
|
|
continue;
|
|
}
|
|
if(c < 48 || c > 57) {
|
|
break;
|
|
}
|
|
k = k * 10 + (c - 48);
|
|
this.pos++;
|
|
}
|
|
if(s) {
|
|
k *= -1;
|
|
}
|
|
return k;
|
|
}
|
|
,readFloat: function() {
|
|
var p1 = this.pos;
|
|
while(true) {
|
|
var c = this.buf.charCodeAt(this.pos);
|
|
if(c != c) {
|
|
break;
|
|
}
|
|
if(c >= 43 && c < 58 || c == 101 || c == 69) {
|
|
this.pos++;
|
|
} else {
|
|
break;
|
|
}
|
|
}
|
|
return parseFloat(HxOverrides.substr(this.buf,p1,this.pos - p1));
|
|
}
|
|
,unserializeObject: function(o) {
|
|
while(true) {
|
|
if(this.pos >= this.length) {
|
|
throw haxe_Exception.thrown("Invalid object");
|
|
}
|
|
if(this.buf.charCodeAt(this.pos) == 103) {
|
|
break;
|
|
}
|
|
var k = this.unserialize();
|
|
if(typeof(k) != "string") {
|
|
throw haxe_Exception.thrown("Invalid object key");
|
|
}
|
|
var v = this.unserialize();
|
|
o[k] = v;
|
|
}
|
|
this.pos++;
|
|
}
|
|
,unserializeEnum: function(edecl,tag) {
|
|
if(this.buf.charCodeAt(this.pos++) != 58) {
|
|
throw haxe_Exception.thrown("Invalid enum format");
|
|
}
|
|
var nargs = this.readDigits();
|
|
if(nargs == 0) {
|
|
return Type.createEnum(edecl,tag);
|
|
}
|
|
var args = [];
|
|
while(nargs-- > 0) args.push(this.unserialize());
|
|
return Type.createEnum(edecl,tag,args);
|
|
}
|
|
,unserialize: function() {
|
|
switch(this.buf.charCodeAt(this.pos++)) {
|
|
case 65:
|
|
var name = this.unserialize();
|
|
var cl = this.resolver.resolveClass(name);
|
|
if(cl == null) {
|
|
throw haxe_Exception.thrown("Class not found " + name);
|
|
}
|
|
return cl;
|
|
case 66:
|
|
var name = this.unserialize();
|
|
var e = this.resolver.resolveEnum(name);
|
|
if(e == null) {
|
|
throw haxe_Exception.thrown("Enum not found " + name);
|
|
}
|
|
return e;
|
|
case 67:
|
|
var name = this.unserialize();
|
|
var cl = this.resolver.resolveClass(name);
|
|
if(cl == null) {
|
|
throw haxe_Exception.thrown("Class not found " + name);
|
|
}
|
|
var o = Object.create(cl.prototype);
|
|
this.cache.push(o);
|
|
o.hxUnserialize(this);
|
|
if(this.buf.charCodeAt(this.pos++) != 103) {
|
|
throw haxe_Exception.thrown("Invalid custom data");
|
|
}
|
|
return o;
|
|
case 77:
|
|
var h = new haxe_ds_ObjectMap();
|
|
this.cache.push(h);
|
|
var buf = this.buf;
|
|
while(this.buf.charCodeAt(this.pos) != 104) {
|
|
var s = this.unserialize();
|
|
h.set(s,this.unserialize());
|
|
}
|
|
this.pos++;
|
|
return h;
|
|
case 82:
|
|
var n = this.readDigits();
|
|
if(n < 0 || n >= this.scache.length) {
|
|
throw haxe_Exception.thrown("Invalid string reference");
|
|
}
|
|
return this.scache[n];
|
|
case 97:
|
|
var buf = this.buf;
|
|
var a = [];
|
|
this.cache.push(a);
|
|
while(true) {
|
|
var c = this.buf.charCodeAt(this.pos);
|
|
if(c == 104) {
|
|
this.pos++;
|
|
break;
|
|
}
|
|
if(c == 117) {
|
|
this.pos++;
|
|
var n = this.readDigits();
|
|
a[a.length + n - 1] = null;
|
|
} else {
|
|
a.push(this.unserialize());
|
|
}
|
|
}
|
|
return a;
|
|
case 98:
|
|
var h = new haxe_ds_StringMap();
|
|
this.cache.push(h);
|
|
var buf = this.buf;
|
|
while(this.buf.charCodeAt(this.pos) != 104) {
|
|
var s = this.unserialize();
|
|
var value = this.unserialize();
|
|
h.h[s] = value;
|
|
}
|
|
this.pos++;
|
|
return h;
|
|
case 99:
|
|
var name = this.unserialize();
|
|
var cl = this.resolver.resolveClass(name);
|
|
if(cl == null) {
|
|
throw haxe_Exception.thrown("Class not found " + name);
|
|
}
|
|
var o = Object.create(cl.prototype);
|
|
this.cache.push(o);
|
|
this.unserializeObject(o);
|
|
return o;
|
|
case 100:
|
|
return this.readFloat();
|
|
case 102:
|
|
return false;
|
|
case 105:
|
|
return this.readDigits();
|
|
case 106:
|
|
var name = this.unserialize();
|
|
var edecl = this.resolver.resolveEnum(name);
|
|
if(edecl == null) {
|
|
throw haxe_Exception.thrown("Enum not found " + name);
|
|
}
|
|
this.pos++;
|
|
var index = this.readDigits();
|
|
var tag = edecl.__constructs__.slice()[index];
|
|
if(tag == null) {
|
|
throw haxe_Exception.thrown("Unknown enum index " + name + "@" + index);
|
|
}
|
|
var e = this.unserializeEnum(edecl,tag);
|
|
this.cache.push(e);
|
|
return e;
|
|
case 107:
|
|
return NaN;
|
|
case 108:
|
|
var l = new haxe_ds_List();
|
|
this.cache.push(l);
|
|
var buf = this.buf;
|
|
while(this.buf.charCodeAt(this.pos) != 104) l.add(this.unserialize());
|
|
this.pos++;
|
|
return l;
|
|
case 109:
|
|
return -Infinity;
|
|
case 110:
|
|
return null;
|
|
case 111:
|
|
var o = { };
|
|
this.cache.push(o);
|
|
this.unserializeObject(o);
|
|
return o;
|
|
case 112:
|
|
return Infinity;
|
|
case 113:
|
|
var h = new haxe_ds_IntMap();
|
|
this.cache.push(h);
|
|
var buf = this.buf;
|
|
var c = this.buf.charCodeAt(this.pos++);
|
|
while(c == 58) {
|
|
var i = this.readDigits();
|
|
var value = this.unserialize();
|
|
h.h[i] = value;
|
|
c = this.buf.charCodeAt(this.pos++);
|
|
}
|
|
if(c != 104) {
|
|
throw haxe_Exception.thrown("Invalid IntMap format");
|
|
}
|
|
return h;
|
|
case 114:
|
|
var n = this.readDigits();
|
|
if(n < 0 || n >= this.cache.length) {
|
|
throw haxe_Exception.thrown("Invalid reference");
|
|
}
|
|
return this.cache[n];
|
|
case 115:
|
|
var len = this.readDigits();
|
|
var buf = this.buf;
|
|
if(this.buf.charCodeAt(this.pos++) != 58 || this.length - this.pos < len) {
|
|
throw haxe_Exception.thrown("Invalid bytes length");
|
|
}
|
|
var codes = haxe_Unserializer.CODES;
|
|
if(codes == null) {
|
|
codes = haxe_Unserializer.initCodes();
|
|
haxe_Unserializer.CODES = codes;
|
|
}
|
|
var i = this.pos;
|
|
var rest = len & 3;
|
|
var size = (len >> 2) * 3 + (rest >= 2 ? rest - 1 : 0);
|
|
var max = i + (len - rest);
|
|
var bytes = new haxe_io_Bytes(new ArrayBuffer(size));
|
|
var bpos = 0;
|
|
while(i < max) {
|
|
var c1 = codes[buf.charCodeAt(i++)];
|
|
var c2 = codes[buf.charCodeAt(i++)];
|
|
bytes.b[bpos++] = (c1 << 2 | c2 >> 4) & 255;
|
|
var c3 = codes[buf.charCodeAt(i++)];
|
|
bytes.b[bpos++] = (c2 << 4 | c3 >> 2) & 255;
|
|
var c4 = codes[buf.charCodeAt(i++)];
|
|
bytes.b[bpos++] = (c3 << 6 | c4) & 255;
|
|
}
|
|
if(rest >= 2) {
|
|
var c1 = codes[buf.charCodeAt(i++)];
|
|
var c2 = codes[buf.charCodeAt(i++)];
|
|
bytes.b[bpos++] = (c1 << 2 | c2 >> 4) & 255;
|
|
if(rest == 3) {
|
|
var c3 = codes[buf.charCodeAt(i++)];
|
|
bytes.b[bpos++] = (c2 << 4 | c3 >> 2) & 255;
|
|
}
|
|
}
|
|
this.pos += len;
|
|
this.cache.push(bytes);
|
|
return bytes;
|
|
case 116:
|
|
return true;
|
|
case 118:
|
|
var d;
|
|
if(this.buf.charCodeAt(this.pos) >= 48 && this.buf.charCodeAt(this.pos) <= 57 && this.buf.charCodeAt(this.pos + 1) >= 48 && this.buf.charCodeAt(this.pos + 1) <= 57 && this.buf.charCodeAt(this.pos + 2) >= 48 && this.buf.charCodeAt(this.pos + 2) <= 57 && this.buf.charCodeAt(this.pos + 3) >= 48 && this.buf.charCodeAt(this.pos + 3) <= 57 && this.buf.charCodeAt(this.pos + 4) == 45) {
|
|
d = HxOverrides.strDate(HxOverrides.substr(this.buf,this.pos,19));
|
|
this.pos += 19;
|
|
} else {
|
|
d = new Date(this.readFloat());
|
|
}
|
|
this.cache.push(d);
|
|
return d;
|
|
case 119:
|
|
var name = this.unserialize();
|
|
var edecl = this.resolver.resolveEnum(name);
|
|
if(edecl == null) {
|
|
throw haxe_Exception.thrown("Enum not found " + name);
|
|
}
|
|
var e = this.unserializeEnum(edecl,this.unserialize());
|
|
this.cache.push(e);
|
|
return e;
|
|
case 120:
|
|
throw haxe_Exception.thrown(this.unserialize());
|
|
case 121:
|
|
var len = this.readDigits();
|
|
if(this.buf.charCodeAt(this.pos++) != 58 || this.length - this.pos < len) {
|
|
throw haxe_Exception.thrown("Invalid string length");
|
|
}
|
|
var s = HxOverrides.substr(this.buf,this.pos,len);
|
|
this.pos += len;
|
|
s = decodeURIComponent(s.split("+").join(" "));
|
|
this.scache.push(s);
|
|
return s;
|
|
case 122:
|
|
return 0;
|
|
default:
|
|
}
|
|
this.pos--;
|
|
throw haxe_Exception.thrown("Invalid char " + this.buf.charAt(this.pos) + " at position " + this.pos);
|
|
}
|
|
,__class__: haxe_Unserializer
|
|
};
|
|
var haxe__$Unserializer_NullResolver = function() {
|
|
};
|
|
$hxClasses["haxe._Unserializer.NullResolver"] = haxe__$Unserializer_NullResolver;
|
|
haxe__$Unserializer_NullResolver.__name__ = "haxe._Unserializer.NullResolver";
|
|
haxe__$Unserializer_NullResolver.instance = null;
|
|
haxe__$Unserializer_NullResolver.prototype = {
|
|
resolveClass: function(name) {
|
|
return null;
|
|
}
|
|
,resolveEnum: function(name) {
|
|
return null;
|
|
}
|
|
,__class__: haxe__$Unserializer_NullResolver
|
|
};
|
|
var haxe_Utf8 = function() { };
|
|
$hxClasses["haxe.Utf8"] = haxe_Utf8;
|
|
haxe_Utf8.__name__ = "haxe.Utf8";
|
|
haxe_Utf8.iter = function(s,chars) {
|
|
var _g = 0;
|
|
var _g1 = s.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
chars(HxOverrides.cca(s,i));
|
|
}
|
|
};
|
|
var haxe_ValueException = function(value,previous,native) {
|
|
haxe_Exception.call(this,String(value),previous,native);
|
|
this.value = value;
|
|
this.__skipStack++;
|
|
};
|
|
$hxClasses["haxe.ValueException"] = haxe_ValueException;
|
|
haxe_ValueException.__name__ = "haxe.ValueException";
|
|
haxe_ValueException.__super__ = haxe_Exception;
|
|
haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{
|
|
value: null
|
|
,unwrap: function() {
|
|
return this.value;
|
|
}
|
|
,__class__: haxe_ValueException
|
|
});
|
|
var haxe_crypto_Adler32 = function() {
|
|
this.a1 = 1;
|
|
this.a2 = 0;
|
|
};
|
|
$hxClasses["haxe.crypto.Adler32"] = haxe_crypto_Adler32;
|
|
haxe_crypto_Adler32.__name__ = "haxe.crypto.Adler32";
|
|
haxe_crypto_Adler32.read = function(i) {
|
|
var a = new haxe_crypto_Adler32();
|
|
var a2a = i.readByte();
|
|
var a2b = i.readByte();
|
|
var a1a = i.readByte();
|
|
var a1b = i.readByte();
|
|
a.a1 = a1a << 8 | a1b;
|
|
a.a2 = a2a << 8 | a2b;
|
|
return a;
|
|
};
|
|
haxe_crypto_Adler32.prototype = {
|
|
a1: null
|
|
,a2: null
|
|
,update: function(b,pos,len) {
|
|
var a1 = this.a1;
|
|
var a2 = this.a2;
|
|
var _g = pos;
|
|
var _g1 = pos + len;
|
|
while(_g < _g1) {
|
|
var p = _g++;
|
|
var c = b.b[p];
|
|
a1 = (a1 + c) % 65521;
|
|
a2 = (a2 + a1) % 65521;
|
|
}
|
|
this.a1 = a1;
|
|
this.a2 = a2;
|
|
}
|
|
,equals: function(a) {
|
|
if(a.a1 == this.a1) {
|
|
return a.a2 == this.a2;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,__class__: haxe_crypto_Adler32
|
|
};
|
|
var haxe_crypto_Base64 = function() { };
|
|
$hxClasses["haxe.crypto.Base64"] = haxe_crypto_Base64;
|
|
haxe_crypto_Base64.__name__ = "haxe.crypto.Base64";
|
|
haxe_crypto_Base64.encode = function(bytes,complement) {
|
|
if(complement == null) {
|
|
complement = true;
|
|
}
|
|
var str = new haxe_crypto_BaseCode(haxe_crypto_Base64.BYTES).encodeBytes(bytes).toString();
|
|
if(complement) {
|
|
switch(bytes.length % 3) {
|
|
case 1:
|
|
str += "==";
|
|
break;
|
|
case 2:
|
|
str += "=";
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
return str;
|
|
};
|
|
haxe_crypto_Base64.decode = function(str,complement) {
|
|
if(complement == null) {
|
|
complement = true;
|
|
}
|
|
if(complement) {
|
|
while(HxOverrides.cca(str,str.length - 1) == 61) str = HxOverrides.substr(str,0,-1);
|
|
}
|
|
return new haxe_crypto_BaseCode(haxe_crypto_Base64.BYTES).decodeBytes(haxe_io_Bytes.ofString(str));
|
|
};
|
|
var haxe_crypto_BaseCode = function(base) {
|
|
var len = base.length;
|
|
var nbits = 1;
|
|
while(len > 1 << nbits) ++nbits;
|
|
if(nbits > 8 || len != 1 << nbits) {
|
|
throw haxe_Exception.thrown("BaseCode : base length must be a power of two.");
|
|
}
|
|
this.base = base;
|
|
this.nbits = nbits;
|
|
};
|
|
$hxClasses["haxe.crypto.BaseCode"] = haxe_crypto_BaseCode;
|
|
haxe_crypto_BaseCode.__name__ = "haxe.crypto.BaseCode";
|
|
haxe_crypto_BaseCode.prototype = {
|
|
base: null
|
|
,nbits: null
|
|
,tbl: null
|
|
,encodeBytes: function(b) {
|
|
var nbits = this.nbits;
|
|
var base = this.base;
|
|
var size = b.length * 8 / nbits | 0;
|
|
var out = new haxe_io_Bytes(new ArrayBuffer(size + (b.length * 8 % nbits == 0 ? 0 : 1)));
|
|
var buf = 0;
|
|
var curbits = 0;
|
|
var mask = (1 << nbits) - 1;
|
|
var pin = 0;
|
|
var pout = 0;
|
|
while(pout < size) {
|
|
while(curbits < nbits) {
|
|
curbits += 8;
|
|
buf <<= 8;
|
|
buf |= b.b[pin++];
|
|
}
|
|
curbits -= nbits;
|
|
out.b[pout++] = base.b[buf >> curbits & mask] & 255;
|
|
}
|
|
if(curbits > 0) {
|
|
out.b[pout++] = base.b[buf << nbits - curbits & mask] & 255;
|
|
}
|
|
return out;
|
|
}
|
|
,initTable: function() {
|
|
var tbl = [];
|
|
var _g = 0;
|
|
while(_g < 256) {
|
|
var i = _g++;
|
|
tbl[i] = -1;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.base.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
tbl[this.base.b[i]] = i;
|
|
}
|
|
this.tbl = tbl;
|
|
}
|
|
,decodeBytes: function(b) {
|
|
var nbits = this.nbits;
|
|
var base = this.base;
|
|
if(this.tbl == null) {
|
|
this.initTable();
|
|
}
|
|
var tbl = this.tbl;
|
|
var size = b.length * nbits >> 3;
|
|
var out = new haxe_io_Bytes(new ArrayBuffer(size));
|
|
var buf = 0;
|
|
var curbits = 0;
|
|
var pin = 0;
|
|
var pout = 0;
|
|
while(pout < size) {
|
|
while(curbits < 8) {
|
|
curbits += nbits;
|
|
buf <<= nbits;
|
|
var i = tbl[b.b[pin++]];
|
|
if(i == -1) {
|
|
throw haxe_Exception.thrown("BaseCode : invalid encoded char");
|
|
}
|
|
buf |= i;
|
|
}
|
|
curbits -= 8;
|
|
out.b[pout++] = buf >> curbits & 255 & 255;
|
|
}
|
|
return out;
|
|
}
|
|
,__class__: haxe_crypto_BaseCode
|
|
};
|
|
var haxe_ds_ArraySort = function() { };
|
|
$hxClasses["haxe.ds.ArraySort"] = haxe_ds_ArraySort;
|
|
haxe_ds_ArraySort.__name__ = "haxe.ds.ArraySort";
|
|
haxe_ds_ArraySort.sort = function(a,cmp) {
|
|
haxe_ds_ArraySort.rec(a,cmp,0,a.length);
|
|
};
|
|
haxe_ds_ArraySort.rec = function(a,cmp,from,to) {
|
|
var middle = from + to >> 1;
|
|
if(to - from < 12) {
|
|
if(to <= from) {
|
|
return;
|
|
}
|
|
var _g = from + 1;
|
|
var _g1 = to;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var j = i;
|
|
while(j > from) {
|
|
if(cmp(a[j],a[j - 1]) < 0) {
|
|
haxe_ds_ArraySort.swap(a,j - 1,j);
|
|
} else {
|
|
break;
|
|
}
|
|
--j;
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
haxe_ds_ArraySort.rec(a,cmp,from,middle);
|
|
haxe_ds_ArraySort.rec(a,cmp,middle,to);
|
|
haxe_ds_ArraySort.doMerge(a,cmp,from,middle,to,middle - from,to - middle);
|
|
};
|
|
haxe_ds_ArraySort.doMerge = function(a,cmp,from,pivot,to,len1,len2) {
|
|
var first_cut;
|
|
var second_cut;
|
|
var len11;
|
|
var len22;
|
|
if(len1 == 0 || len2 == 0) {
|
|
return;
|
|
}
|
|
if(len1 + len2 == 2) {
|
|
if(cmp(a[pivot],a[from]) < 0) {
|
|
haxe_ds_ArraySort.swap(a,pivot,from);
|
|
}
|
|
return;
|
|
}
|
|
if(len1 > len2) {
|
|
len11 = len1 >> 1;
|
|
first_cut = from + len11;
|
|
second_cut = haxe_ds_ArraySort.lower(a,cmp,pivot,to,first_cut);
|
|
len22 = second_cut - pivot;
|
|
} else {
|
|
len22 = len2 >> 1;
|
|
second_cut = pivot + len22;
|
|
first_cut = haxe_ds_ArraySort.upper(a,cmp,from,pivot,second_cut);
|
|
len11 = first_cut - from;
|
|
}
|
|
haxe_ds_ArraySort.rotate(a,cmp,first_cut,pivot,second_cut);
|
|
var new_mid = first_cut + len22;
|
|
haxe_ds_ArraySort.doMerge(a,cmp,from,first_cut,new_mid,len11,len22);
|
|
haxe_ds_ArraySort.doMerge(a,cmp,new_mid,second_cut,to,len1 - len11,len2 - len22);
|
|
};
|
|
haxe_ds_ArraySort.rotate = function(a,cmp,from,mid,to) {
|
|
if(from == mid || mid == to) {
|
|
return;
|
|
}
|
|
var n = haxe_ds_ArraySort.gcd(to - from,mid - from);
|
|
while(n-- != 0) {
|
|
var val = a[from + n];
|
|
var shift = mid - from;
|
|
var p1 = from + n;
|
|
var p2 = from + n + shift;
|
|
while(p2 != from + n) {
|
|
a[p1] = a[p2];
|
|
p1 = p2;
|
|
if(to - p2 > shift) {
|
|
p2 += shift;
|
|
} else {
|
|
p2 = from + (shift - (to - p2));
|
|
}
|
|
}
|
|
a[p1] = val;
|
|
}
|
|
};
|
|
haxe_ds_ArraySort.gcd = function(m,n) {
|
|
while(n != 0) {
|
|
var t = m % n;
|
|
m = n;
|
|
n = t;
|
|
}
|
|
return m;
|
|
};
|
|
haxe_ds_ArraySort.upper = function(a,cmp,from,to,val) {
|
|
var len = to - from;
|
|
var half;
|
|
var mid;
|
|
while(len > 0) {
|
|
half = len >> 1;
|
|
mid = from + half;
|
|
if(cmp(a[val],a[mid]) < 0) {
|
|
len = half;
|
|
} else {
|
|
from = mid + 1;
|
|
len = len - half - 1;
|
|
}
|
|
}
|
|
return from;
|
|
};
|
|
haxe_ds_ArraySort.lower = function(a,cmp,from,to,val) {
|
|
var len = to - from;
|
|
var half;
|
|
var mid;
|
|
while(len > 0) {
|
|
half = len >> 1;
|
|
mid = from + half;
|
|
if(cmp(a[mid],a[val]) < 0) {
|
|
from = mid + 1;
|
|
len = len - half - 1;
|
|
} else {
|
|
len = half;
|
|
}
|
|
}
|
|
return from;
|
|
};
|
|
haxe_ds_ArraySort.swap = function(a,i,j) {
|
|
var tmp = a[i];
|
|
a[i] = a[j];
|
|
a[j] = tmp;
|
|
};
|
|
var haxe_ds_BalancedTree = function() {
|
|
};
|
|
$hxClasses["haxe.ds.BalancedTree"] = haxe_ds_BalancedTree;
|
|
haxe_ds_BalancedTree.__name__ = "haxe.ds.BalancedTree";
|
|
haxe_ds_BalancedTree.__interfaces__ = [haxe_IMap];
|
|
haxe_ds_BalancedTree.prototype = {
|
|
root: null
|
|
,set: function(key,value) {
|
|
this.root = this.setLoop(key,value,this.root);
|
|
}
|
|
,get: function(key) {
|
|
var node = this.root;
|
|
while(node != null) {
|
|
var c = this.compare(key,node.key);
|
|
if(c == 0) {
|
|
return node.value;
|
|
}
|
|
if(c < 0) {
|
|
node = node.left;
|
|
} else {
|
|
node = node.right;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
,remove: function(key) {
|
|
try {
|
|
this.root = this.removeLoop(key,this.root);
|
|
return true;
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
if(typeof(haxe_Exception.caught(_g).unwrap()) == "string") {
|
|
return false;
|
|
} else {
|
|
throw _g;
|
|
}
|
|
}
|
|
}
|
|
,exists: function(key) {
|
|
var node = this.root;
|
|
while(node != null) {
|
|
var c = this.compare(key,node.key);
|
|
if(c == 0) {
|
|
return true;
|
|
} else if(c < 0) {
|
|
node = node.left;
|
|
} else {
|
|
node = node.right;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,keys: function() {
|
|
var ret = [];
|
|
this.keysLoop(this.root,ret);
|
|
return new haxe_iterators_ArrayIterator(ret);
|
|
}
|
|
,setLoop: function(k,v,node) {
|
|
if(node == null) {
|
|
return new haxe_ds_TreeNode(null,k,v,null);
|
|
}
|
|
var c = this.compare(k,node.key);
|
|
if(c == 0) {
|
|
return new haxe_ds_TreeNode(node.left,k,v,node.right,node == null ? 0 : node._height);
|
|
} else if(c < 0) {
|
|
var nl = this.setLoop(k,v,node.left);
|
|
return this.balance(nl,node.key,node.value,node.right);
|
|
} else {
|
|
var nr = this.setLoop(k,v,node.right);
|
|
return this.balance(node.left,node.key,node.value,nr);
|
|
}
|
|
}
|
|
,removeLoop: function(k,node) {
|
|
if(node == null) {
|
|
throw haxe_Exception.thrown("Not_found");
|
|
}
|
|
var c = this.compare(k,node.key);
|
|
if(c == 0) {
|
|
return this.merge(node.left,node.right);
|
|
} else if(c < 0) {
|
|
return this.balance(this.removeLoop(k,node.left),node.key,node.value,node.right);
|
|
} else {
|
|
return this.balance(node.left,node.key,node.value,this.removeLoop(k,node.right));
|
|
}
|
|
}
|
|
,keysLoop: function(node,acc) {
|
|
if(node != null) {
|
|
this.keysLoop(node.left,acc);
|
|
acc.push(node.key);
|
|
this.keysLoop(node.right,acc);
|
|
}
|
|
}
|
|
,merge: function(t1,t2) {
|
|
if(t1 == null) {
|
|
return t2;
|
|
}
|
|
if(t2 == null) {
|
|
return t1;
|
|
}
|
|
var t = this.minBinding(t2);
|
|
return this.balance(t1,t.key,t.value,this.removeMinBinding(t2));
|
|
}
|
|
,minBinding: function(t) {
|
|
if(t == null) {
|
|
throw haxe_Exception.thrown("Not_found");
|
|
} else if(t.left == null) {
|
|
return t;
|
|
} else {
|
|
return this.minBinding(t.left);
|
|
}
|
|
}
|
|
,removeMinBinding: function(t) {
|
|
if(t.left == null) {
|
|
return t.right;
|
|
} else {
|
|
return this.balance(this.removeMinBinding(t.left),t.key,t.value,t.right);
|
|
}
|
|
}
|
|
,balance: function(l,k,v,r) {
|
|
var hl = l == null ? 0 : l._height;
|
|
var hr = r == null ? 0 : r._height;
|
|
if(hl > hr + 2) {
|
|
var _this = l.left;
|
|
var _this1 = l.right;
|
|
if((_this == null ? 0 : _this._height) >= (_this1 == null ? 0 : _this1._height)) {
|
|
return new haxe_ds_TreeNode(l.left,l.key,l.value,new haxe_ds_TreeNode(l.right,k,v,r));
|
|
} else {
|
|
return new haxe_ds_TreeNode(new haxe_ds_TreeNode(l.left,l.key,l.value,l.right.left),l.right.key,l.right.value,new haxe_ds_TreeNode(l.right.right,k,v,r));
|
|
}
|
|
} else if(hr > hl + 2) {
|
|
var _this = r.right;
|
|
var _this1 = r.left;
|
|
if((_this == null ? 0 : _this._height) > (_this1 == null ? 0 : _this1._height)) {
|
|
return new haxe_ds_TreeNode(new haxe_ds_TreeNode(l,k,v,r.left),r.key,r.value,r.right);
|
|
} else {
|
|
return new haxe_ds_TreeNode(new haxe_ds_TreeNode(l,k,v,r.left.left),r.left.key,r.left.value,new haxe_ds_TreeNode(r.left.right,r.key,r.value,r.right));
|
|
}
|
|
} else {
|
|
return new haxe_ds_TreeNode(l,k,v,r,(hl > hr ? hl : hr) + 1);
|
|
}
|
|
}
|
|
,compare: function(k1,k2) {
|
|
return Reflect.compare(k1,k2);
|
|
}
|
|
,__class__: haxe_ds_BalancedTree
|
|
};
|
|
var haxe_ds_TreeNode = function(l,k,v,r,h) {
|
|
if(h == null) {
|
|
h = -1;
|
|
}
|
|
this.left = l;
|
|
this.key = k;
|
|
this.value = v;
|
|
this.right = r;
|
|
if(h == -1) {
|
|
var tmp;
|
|
var _this = this.left;
|
|
var _this1 = this.right;
|
|
if((_this == null ? 0 : _this._height) > (_this1 == null ? 0 : _this1._height)) {
|
|
var _this = this.left;
|
|
tmp = _this == null ? 0 : _this._height;
|
|
} else {
|
|
var _this = this.right;
|
|
tmp = _this == null ? 0 : _this._height;
|
|
}
|
|
this._height = tmp + 1;
|
|
} else {
|
|
this._height = h;
|
|
}
|
|
};
|
|
$hxClasses["haxe.ds.TreeNode"] = haxe_ds_TreeNode;
|
|
haxe_ds_TreeNode.__name__ = "haxe.ds.TreeNode";
|
|
haxe_ds_TreeNode.prototype = {
|
|
left: null
|
|
,right: null
|
|
,key: null
|
|
,value: null
|
|
,_height: null
|
|
,__class__: haxe_ds_TreeNode
|
|
};
|
|
var haxe_ds_EnumValueMap = function() {
|
|
haxe_ds_BalancedTree.call(this);
|
|
};
|
|
$hxClasses["haxe.ds.EnumValueMap"] = haxe_ds_EnumValueMap;
|
|
haxe_ds_EnumValueMap.__name__ = "haxe.ds.EnumValueMap";
|
|
haxe_ds_EnumValueMap.__interfaces__ = [haxe_IMap];
|
|
haxe_ds_EnumValueMap.__super__ = haxe_ds_BalancedTree;
|
|
haxe_ds_EnumValueMap.prototype = $extend(haxe_ds_BalancedTree.prototype,{
|
|
compare: function(k1,k2) {
|
|
var d = k1._hx_index - k2._hx_index;
|
|
if(d != 0) {
|
|
return d;
|
|
}
|
|
var p1 = Type.enumParameters(k1);
|
|
var p2 = Type.enumParameters(k2);
|
|
if(p1.length == 0 && p2.length == 0) {
|
|
return 0;
|
|
}
|
|
return this.compareArgs(p1,p2);
|
|
}
|
|
,compareArgs: function(a1,a2) {
|
|
var ld = a1.length - a2.length;
|
|
if(ld != 0) {
|
|
return ld;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = a1.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var d = this.compareArg(a1[i],a2[i]);
|
|
if(d != 0) {
|
|
return d;
|
|
}
|
|
}
|
|
return 0;
|
|
}
|
|
,compareArg: function(v1,v2) {
|
|
if(Reflect.isEnumValue(v1) && Reflect.isEnumValue(v2)) {
|
|
return this.compare(v1,v2);
|
|
} else if(((v1) instanceof Array) && ((v2) instanceof Array)) {
|
|
return this.compareArgs(v1,v2);
|
|
} else {
|
|
return Reflect.compare(v1,v2);
|
|
}
|
|
}
|
|
,__class__: haxe_ds_EnumValueMap
|
|
});
|
|
var haxe_ds_GenericCell = function(elt,next) {
|
|
this.elt = elt;
|
|
this.next = next;
|
|
};
|
|
$hxClasses["haxe.ds.GenericCell"] = haxe_ds_GenericCell;
|
|
haxe_ds_GenericCell.__name__ = "haxe.ds.GenericCell";
|
|
haxe_ds_GenericCell.prototype = {
|
|
elt: null
|
|
,next: null
|
|
,__class__: haxe_ds_GenericCell
|
|
};
|
|
var haxe_ds_GenericStack = function() {
|
|
};
|
|
$hxClasses["haxe.ds.GenericStack"] = haxe_ds_GenericStack;
|
|
haxe_ds_GenericStack.__name__ = "haxe.ds.GenericStack";
|
|
haxe_ds_GenericStack.prototype = {
|
|
head: null
|
|
,__class__: haxe_ds_GenericStack
|
|
};
|
|
var haxe_ds_IntMap = function() {
|
|
this.h = { };
|
|
};
|
|
$hxClasses["haxe.ds.IntMap"] = haxe_ds_IntMap;
|
|
haxe_ds_IntMap.__name__ = "haxe.ds.IntMap";
|
|
haxe_ds_IntMap.__interfaces__ = [haxe_IMap];
|
|
haxe_ds_IntMap.prototype = {
|
|
h: null
|
|
,set: function(key,value) {
|
|
this.h[key] = value;
|
|
}
|
|
,get: function(key) {
|
|
return this.h[key];
|
|
}
|
|
,exists: function(key) {
|
|
return this.h.hasOwnProperty(key);
|
|
}
|
|
,remove: function(key) {
|
|
if(!this.h.hasOwnProperty(key)) {
|
|
return false;
|
|
}
|
|
delete(this.h[key]);
|
|
return true;
|
|
}
|
|
,keys: function() {
|
|
var a = [];
|
|
for( var key in this.h ) if(this.h.hasOwnProperty(key)) a.push(key | 0);
|
|
return new haxe_iterators_ArrayIterator(a);
|
|
}
|
|
,iterator: function() {
|
|
return { ref : this.h, it : this.keys(), hasNext : function() {
|
|
return this.it.hasNext();
|
|
}, next : function() {
|
|
var i = this.it.next();
|
|
return this.ref[i];
|
|
}};
|
|
}
|
|
,__class__: haxe_ds_IntMap
|
|
};
|
|
var haxe_ds__$List_ListNode = function(item,next) {
|
|
this.item = item;
|
|
this.next = next;
|
|
};
|
|
$hxClasses["haxe.ds._List.ListNode"] = haxe_ds__$List_ListNode;
|
|
haxe_ds__$List_ListNode.__name__ = "haxe.ds._List.ListNode";
|
|
haxe_ds__$List_ListNode.prototype = {
|
|
item: null
|
|
,next: null
|
|
,__class__: haxe_ds__$List_ListNode
|
|
};
|
|
var haxe_ds__$List_ListIterator = function(head) {
|
|
this.head = head;
|
|
};
|
|
$hxClasses["haxe.ds._List.ListIterator"] = haxe_ds__$List_ListIterator;
|
|
haxe_ds__$List_ListIterator.__name__ = "haxe.ds._List.ListIterator";
|
|
haxe_ds__$List_ListIterator.prototype = {
|
|
head: null
|
|
,hasNext: function() {
|
|
return this.head != null;
|
|
}
|
|
,next: function() {
|
|
var val = this.head.item;
|
|
this.head = this.head.next;
|
|
return val;
|
|
}
|
|
,__class__: haxe_ds__$List_ListIterator
|
|
};
|
|
var haxe_ds_StringMap = function() {
|
|
this.h = Object.create(null);
|
|
};
|
|
$hxClasses["haxe.ds.StringMap"] = haxe_ds_StringMap;
|
|
haxe_ds_StringMap.__name__ = "haxe.ds.StringMap";
|
|
haxe_ds_StringMap.__interfaces__ = [haxe_IMap];
|
|
haxe_ds_StringMap.keysIterator = function(h) {
|
|
var keys = Object.keys(h);
|
|
var len = keys.length;
|
|
var idx = 0;
|
|
return { hasNext : function() {
|
|
return idx < len;
|
|
}, next : function() {
|
|
idx += 1;
|
|
return keys[idx - 1];
|
|
}};
|
|
};
|
|
haxe_ds_StringMap.valueIterator = function(h) {
|
|
var keys = Object.keys(h);
|
|
var len = keys.length;
|
|
var idx = 0;
|
|
return { hasNext : function() {
|
|
return idx < len;
|
|
}, next : function() {
|
|
idx += 1;
|
|
return h[keys[idx - 1]];
|
|
}};
|
|
};
|
|
haxe_ds_StringMap.kvIterator = function(h) {
|
|
var keys = Object.keys(h);
|
|
var len = keys.length;
|
|
var idx = 0;
|
|
return { hasNext : function() {
|
|
return idx < len;
|
|
}, next : function() {
|
|
idx += 1;
|
|
var k = keys[idx - 1];
|
|
return { key : k, value : h[k]};
|
|
}};
|
|
};
|
|
haxe_ds_StringMap.prototype = {
|
|
h: null
|
|
,exists: function(key) {
|
|
return Object.prototype.hasOwnProperty.call(this.h,key);
|
|
}
|
|
,get: function(key) {
|
|
return this.h[key];
|
|
}
|
|
,set: function(key,value) {
|
|
this.h[key] = value;
|
|
}
|
|
,remove: function(key) {
|
|
if(Object.prototype.hasOwnProperty.call(this.h,key)) {
|
|
delete(this.h[key]);
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,keys: function() {
|
|
return haxe_ds_StringMap.keysIterator(this.h);
|
|
}
|
|
,__class__: haxe_ds_StringMap
|
|
};
|
|
var haxe_http_HttpBase = function(url) {
|
|
this.url = url;
|
|
this.headers = [];
|
|
this.params = [];
|
|
this.emptyOnData = $bind(this,this.onData);
|
|
};
|
|
$hxClasses["haxe.http.HttpBase"] = haxe_http_HttpBase;
|
|
haxe_http_HttpBase.__name__ = "haxe.http.HttpBase";
|
|
haxe_http_HttpBase.prototype = {
|
|
url: null
|
|
,responseBytes: null
|
|
,responseAsString: null
|
|
,postData: null
|
|
,postBytes: null
|
|
,headers: null
|
|
,params: null
|
|
,emptyOnData: null
|
|
,setParameter: function(name,value) {
|
|
var _g = 0;
|
|
var _g1 = this.params.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(this.params[i].name == name) {
|
|
this.params[i] = { name : name, value : value};
|
|
return;
|
|
}
|
|
}
|
|
this.params.push({ name : name, value : value});
|
|
}
|
|
,onData: function(data) {
|
|
}
|
|
,onBytes: function(data) {
|
|
}
|
|
,onError: function(msg) {
|
|
}
|
|
,onStatus: function(status) {
|
|
}
|
|
,hasOnData: function() {
|
|
return !Reflect.compareMethods($bind(this,this.onData),this.emptyOnData);
|
|
}
|
|
,success: function(data) {
|
|
this.responseBytes = data;
|
|
this.responseAsString = null;
|
|
if(this.hasOnData()) {
|
|
this.onData(this.get_responseData());
|
|
}
|
|
this.onBytes(this.responseBytes);
|
|
}
|
|
,get_responseData: function() {
|
|
if(this.responseAsString == null && this.responseBytes != null) {
|
|
this.responseAsString = this.responseBytes.getString(0,this.responseBytes.length,haxe_io_Encoding.UTF8);
|
|
}
|
|
return this.responseAsString;
|
|
}
|
|
,__class__: haxe_http_HttpBase
|
|
,__properties__: {get_responseData:"get_responseData"}
|
|
};
|
|
var haxe_http_HttpJs = function(url) {
|
|
this.async = true;
|
|
this.withCredentials = false;
|
|
haxe_http_HttpBase.call(this,url);
|
|
};
|
|
$hxClasses["haxe.http.HttpJs"] = haxe_http_HttpJs;
|
|
haxe_http_HttpJs.__name__ = "haxe.http.HttpJs";
|
|
haxe_http_HttpJs.__super__ = haxe_http_HttpBase;
|
|
haxe_http_HttpJs.prototype = $extend(haxe_http_HttpBase.prototype,{
|
|
async: null
|
|
,withCredentials: null
|
|
,req: null
|
|
,request: function(post) {
|
|
var _gthis = this;
|
|
this.responseAsString = null;
|
|
this.responseBytes = null;
|
|
var r = this.req = js_Browser.createXMLHttpRequest();
|
|
var onreadystatechange = function(_) {
|
|
if(r.readyState != 4) {
|
|
return;
|
|
}
|
|
var s;
|
|
try {
|
|
s = r.status;
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
s = null;
|
|
}
|
|
if(s == 0 && typeof(window) != "undefined" && $global.location != null) {
|
|
var protocol = $global.location.protocol.toLowerCase();
|
|
var rlocalProtocol = new EReg("^(?:about|app|app-storage|.+-extension|file|res|widget):$","");
|
|
var isLocal = rlocalProtocol.match(protocol);
|
|
if(isLocal) {
|
|
s = r.response != null ? 200 : 404;
|
|
}
|
|
}
|
|
if(s == undefined) {
|
|
s = null;
|
|
}
|
|
if(s != null) {
|
|
_gthis.onStatus(s);
|
|
}
|
|
if(s != null && s >= 200 && s < 400) {
|
|
_gthis.req = null;
|
|
_gthis.success(haxe_io_Bytes.ofData(r.response));
|
|
} else if(s == null || s == 0 && r.response == null) {
|
|
_gthis.req = null;
|
|
_gthis.onError("Failed to connect or resolve host");
|
|
} else if(s == null) {
|
|
_gthis.req = null;
|
|
var onreadystatechange = r.response != null ? haxe_io_Bytes.ofData(r.response) : null;
|
|
_gthis.responseBytes = onreadystatechange;
|
|
_gthis.onError("Http Error #" + r.status);
|
|
} else {
|
|
switch(s) {
|
|
case 12007:
|
|
_gthis.req = null;
|
|
_gthis.onError("Unknown host");
|
|
break;
|
|
case 12029:
|
|
_gthis.req = null;
|
|
_gthis.onError("Failed to connect to host");
|
|
break;
|
|
default:
|
|
_gthis.req = null;
|
|
var onreadystatechange = r.response != null ? haxe_io_Bytes.ofData(r.response) : null;
|
|
_gthis.responseBytes = onreadystatechange;
|
|
_gthis.onError("Http Error #" + r.status);
|
|
}
|
|
}
|
|
};
|
|
if(this.async) {
|
|
r.onreadystatechange = onreadystatechange;
|
|
}
|
|
var uri;
|
|
var _g = this.postBytes;
|
|
var _g1 = this.postData;
|
|
if(_g1 == null) {
|
|
if(_g == null) {
|
|
uri = null;
|
|
} else {
|
|
var bytes = _g;
|
|
uri = new Blob([bytes.b.bufferValue]);
|
|
}
|
|
} else if(_g == null) {
|
|
var str = _g1;
|
|
uri = str;
|
|
} else {
|
|
uri = null;
|
|
}
|
|
if(uri != null) {
|
|
post = true;
|
|
} else {
|
|
var _g = 0;
|
|
var _g1 = this.params;
|
|
while(_g < _g1.length) {
|
|
var p = _g1[_g];
|
|
++_g;
|
|
if(uri == null) {
|
|
uri = "";
|
|
} else {
|
|
uri = (uri == null ? "null" : Std.string(uri)) + "&";
|
|
}
|
|
var s = p.name;
|
|
var value = (uri == null ? "null" : Std.string(uri)) + encodeURIComponent(s) + "=";
|
|
var s1 = p.value;
|
|
uri = value + encodeURIComponent(s1);
|
|
}
|
|
}
|
|
try {
|
|
if(post) {
|
|
r.open("POST",this.url,this.async);
|
|
} else if(uri != null) {
|
|
var question = this.url.split("?").length <= 1;
|
|
r.open("GET",this.url + (question ? "?" : "&") + (uri == null ? "null" : Std.string(uri)),this.async);
|
|
uri = null;
|
|
} else {
|
|
r.open("GET",this.url,this.async);
|
|
}
|
|
r.responseType = "arraybuffer";
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
var e = haxe_Exception.caught(_g).unwrap();
|
|
this.req = null;
|
|
this.onError(e.toString());
|
|
return;
|
|
}
|
|
r.withCredentials = this.withCredentials;
|
|
if(!Lambda.exists(this.headers,function(h) {
|
|
return h.name == "Content-Type";
|
|
}) && post && this.postData == null) {
|
|
r.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.headers;
|
|
while(_g < _g1.length) {
|
|
var h = _g1[_g];
|
|
++_g;
|
|
r.setRequestHeader(h.name,h.value);
|
|
}
|
|
r.send(uri);
|
|
if(!this.async) {
|
|
onreadystatechange(null);
|
|
}
|
|
}
|
|
,__class__: haxe_http_HttpJs
|
|
});
|
|
var haxe_io_BytesBuffer = function() {
|
|
this.pos = 0;
|
|
this.size = 0;
|
|
};
|
|
$hxClasses["haxe.io.BytesBuffer"] = haxe_io_BytesBuffer;
|
|
haxe_io_BytesBuffer.__name__ = "haxe.io.BytesBuffer";
|
|
haxe_io_BytesBuffer.prototype = {
|
|
buffer: null
|
|
,view: null
|
|
,u8: null
|
|
,pos: null
|
|
,size: null
|
|
,addByte: function(byte) {
|
|
if(this.pos == this.size) {
|
|
this.grow(1);
|
|
}
|
|
this.view.setUint8(this.pos++,byte);
|
|
}
|
|
,add: function(src) {
|
|
if(this.pos + src.length > this.size) {
|
|
this.grow(src.length);
|
|
}
|
|
if(this.size == 0) {
|
|
return;
|
|
}
|
|
var sub = new Uint8Array(src.b.buffer,src.b.byteOffset,src.length);
|
|
this.u8.set(sub,this.pos);
|
|
this.pos += src.length;
|
|
}
|
|
,addBytes: function(src,pos,len) {
|
|
if(pos < 0 || len < 0 || pos + len > src.length) {
|
|
throw haxe_Exception.thrown(haxe_io_Error.OutsideBounds);
|
|
}
|
|
if(this.pos + len > this.size) {
|
|
this.grow(len);
|
|
}
|
|
if(this.size == 0) {
|
|
return;
|
|
}
|
|
var sub = new Uint8Array(src.b.buffer,src.b.byteOffset + pos,len);
|
|
this.u8.set(sub,this.pos);
|
|
this.pos += len;
|
|
}
|
|
,grow: function(delta) {
|
|
var req = this.pos + delta;
|
|
var nsize = this.size == 0 ? 16 : this.size;
|
|
while(nsize < req) nsize = nsize * 3 >> 1;
|
|
var nbuf = new ArrayBuffer(nsize);
|
|
var nu8 = new Uint8Array(nbuf);
|
|
if(this.size > 0) {
|
|
nu8.set(this.u8);
|
|
}
|
|
this.size = nsize;
|
|
this.buffer = nbuf;
|
|
this.u8 = nu8;
|
|
this.view = new DataView(this.buffer);
|
|
}
|
|
,getBytes: function() {
|
|
if(this.size == 0) {
|
|
return new haxe_io_Bytes(new ArrayBuffer(0));
|
|
}
|
|
var b = new haxe_io_Bytes(this.buffer);
|
|
b.length = this.pos;
|
|
return b;
|
|
}
|
|
,__class__: haxe_io_BytesBuffer
|
|
};
|
|
var haxe_io_Input = function() { };
|
|
$hxClasses["haxe.io.Input"] = haxe_io_Input;
|
|
haxe_io_Input.__name__ = "haxe.io.Input";
|
|
haxe_io_Input.prototype = {
|
|
bigEndian: null
|
|
,readByte: function() {
|
|
throw haxe_Exception.thrown("Not implemented");
|
|
}
|
|
,readBytes: function(s,pos,len) {
|
|
var k = len;
|
|
var b = s.b;
|
|
if(pos < 0 || len < 0 || pos + len > s.length) {
|
|
throw haxe_Exception.thrown(haxe_io_Error.OutsideBounds);
|
|
}
|
|
try {
|
|
while(k > 0) {
|
|
b[pos] = this.readByte();
|
|
++pos;
|
|
--k;
|
|
}
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
if(!((haxe_Exception.caught(_g).unwrap()) instanceof haxe_io_Eof)) {
|
|
throw _g;
|
|
}
|
|
}
|
|
return len - k;
|
|
}
|
|
,readFullBytes: function(s,pos,len) {
|
|
while(len > 0) {
|
|
var k = this.readBytes(s,pos,len);
|
|
if(k == 0) {
|
|
throw haxe_Exception.thrown(haxe_io_Error.Blocked);
|
|
}
|
|
pos += k;
|
|
len -= k;
|
|
}
|
|
}
|
|
,read: function(nbytes) {
|
|
var s = new haxe_io_Bytes(new ArrayBuffer(nbytes));
|
|
var p = 0;
|
|
while(nbytes > 0) {
|
|
var k = this.readBytes(s,p,nbytes);
|
|
if(k == 0) {
|
|
throw haxe_Exception.thrown(haxe_io_Error.Blocked);
|
|
}
|
|
p += k;
|
|
nbytes -= k;
|
|
}
|
|
return s;
|
|
}
|
|
,readInt16: function() {
|
|
var ch1 = this.readByte();
|
|
var ch2 = this.readByte();
|
|
var n = this.bigEndian ? ch2 | ch1 << 8 : ch1 | ch2 << 8;
|
|
if((n & 32768) != 0) {
|
|
return n - 65536;
|
|
}
|
|
return n;
|
|
}
|
|
,readUInt16: function() {
|
|
var ch1 = this.readByte();
|
|
var ch2 = this.readByte();
|
|
if(this.bigEndian) {
|
|
return ch2 | ch1 << 8;
|
|
} else {
|
|
return ch1 | ch2 << 8;
|
|
}
|
|
}
|
|
,readInt32: function() {
|
|
var ch1 = this.readByte();
|
|
var ch2 = this.readByte();
|
|
var ch3 = this.readByte();
|
|
var ch4 = this.readByte();
|
|
if(this.bigEndian) {
|
|
return ch4 | ch3 << 8 | ch2 << 16 | ch1 << 24;
|
|
} else {
|
|
return ch1 | ch2 << 8 | ch3 << 16 | ch4 << 24;
|
|
}
|
|
}
|
|
,readString: function(len,encoding) {
|
|
var b = new haxe_io_Bytes(new ArrayBuffer(len));
|
|
this.readFullBytes(b,0,len);
|
|
return b.getString(0,len,encoding);
|
|
}
|
|
,__class__: haxe_io_Input
|
|
};
|
|
var haxe_io_BytesInput = function(b,pos,len) {
|
|
if(pos == null) {
|
|
pos = 0;
|
|
}
|
|
if(len == null) {
|
|
len = b.length - pos;
|
|
}
|
|
if(pos < 0 || len < 0 || pos + len > b.length) {
|
|
throw haxe_Exception.thrown(haxe_io_Error.OutsideBounds);
|
|
}
|
|
this.b = b.b;
|
|
this.pos = pos;
|
|
this.len = len;
|
|
this.totlen = len;
|
|
};
|
|
$hxClasses["haxe.io.BytesInput"] = haxe_io_BytesInput;
|
|
haxe_io_BytesInput.__name__ = "haxe.io.BytesInput";
|
|
haxe_io_BytesInput.__super__ = haxe_io_Input;
|
|
haxe_io_BytesInput.prototype = $extend(haxe_io_Input.prototype,{
|
|
b: null
|
|
,pos: null
|
|
,len: null
|
|
,totlen: null
|
|
,readByte: function() {
|
|
if(this.len == 0) {
|
|
throw haxe_Exception.thrown(new haxe_io_Eof());
|
|
}
|
|
this.len--;
|
|
return this.b[this.pos++];
|
|
}
|
|
,readBytes: function(buf,pos,len) {
|
|
if(pos < 0 || len < 0 || pos + len > buf.length) {
|
|
throw haxe_Exception.thrown(haxe_io_Error.OutsideBounds);
|
|
}
|
|
if(this.len == 0 && len > 0) {
|
|
throw haxe_Exception.thrown(new haxe_io_Eof());
|
|
}
|
|
if(this.len < len) {
|
|
len = this.len;
|
|
}
|
|
var b1 = this.b;
|
|
var b2 = buf.b;
|
|
var _g = 0;
|
|
var _g1 = len;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
b2[pos + i] = b1[this.pos + i];
|
|
}
|
|
this.pos += len;
|
|
this.len -= len;
|
|
return len;
|
|
}
|
|
,__class__: haxe_io_BytesInput
|
|
});
|
|
var haxe_io_Encoding = $hxEnums["haxe.io.Encoding"] = { __ename__ : "haxe.io.Encoding", __constructs__ : ["UTF8","RawNative"]
|
|
,UTF8: {_hx_index:0,__enum__:"haxe.io.Encoding",toString:$estr}
|
|
,RawNative: {_hx_index:1,__enum__:"haxe.io.Encoding",toString:$estr}
|
|
};
|
|
var haxe_io_Eof = function() {
|
|
};
|
|
$hxClasses["haxe.io.Eof"] = haxe_io_Eof;
|
|
haxe_io_Eof.__name__ = "haxe.io.Eof";
|
|
haxe_io_Eof.prototype = {
|
|
toString: function() {
|
|
return "Eof";
|
|
}
|
|
,__class__: haxe_io_Eof
|
|
};
|
|
var haxe_io_Error = $hxEnums["haxe.io.Error"] = { __ename__ : "haxe.io.Error", __constructs__ : ["Blocked","Overflow","OutsideBounds","Custom"]
|
|
,Blocked: {_hx_index:0,__enum__:"haxe.io.Error",toString:$estr}
|
|
,Overflow: {_hx_index:1,__enum__:"haxe.io.Error",toString:$estr}
|
|
,OutsideBounds: {_hx_index:2,__enum__:"haxe.io.Error",toString:$estr}
|
|
,Custom: ($_=function(e) { return {_hx_index:3,e:e,__enum__:"haxe.io.Error",toString:$estr}; },$_.__params__ = ["e"],$_)
|
|
};
|
|
var haxe_io_FPHelper = function() { };
|
|
$hxClasses["haxe.io.FPHelper"] = haxe_io_FPHelper;
|
|
haxe_io_FPHelper.__name__ = "haxe.io.FPHelper";
|
|
haxe_io_FPHelper.i32ToFloat = function(i) {
|
|
haxe_io_FPHelper.helper.setInt32(0,i,true);
|
|
return haxe_io_FPHelper.helper.getFloat32(0,true);
|
|
};
|
|
haxe_io_FPHelper.floatToI32 = function(f) {
|
|
haxe_io_FPHelper.helper.setFloat32(0,f,true);
|
|
return haxe_io_FPHelper.helper.getInt32(0,true);
|
|
};
|
|
haxe_io_FPHelper.i64ToDouble = function(low,high) {
|
|
haxe_io_FPHelper.helper.setInt32(0,low,true);
|
|
haxe_io_FPHelper.helper.setInt32(4,high,true);
|
|
return haxe_io_FPHelper.helper.getFloat64(0,true);
|
|
};
|
|
haxe_io_FPHelper.doubleToI64 = function(v) {
|
|
var i64 = haxe_io_FPHelper.i64tmp;
|
|
haxe_io_FPHelper.helper.setFloat64(0,v,true);
|
|
i64.low = haxe_io_FPHelper.helper.getInt32(0,true);
|
|
i64.high = haxe_io_FPHelper.helper.getInt32(4,true);
|
|
return i64;
|
|
};
|
|
var haxe_io_Path = function(path) {
|
|
switch(path) {
|
|
case ".":case "..":
|
|
this.dir = path;
|
|
this.file = "";
|
|
return;
|
|
}
|
|
var c1 = path.lastIndexOf("/");
|
|
var c2 = path.lastIndexOf("\\");
|
|
if(c1 < c2) {
|
|
this.dir = HxOverrides.substr(path,0,c2);
|
|
path = HxOverrides.substr(path,c2 + 1,null);
|
|
this.backslash = true;
|
|
} else if(c2 < c1) {
|
|
this.dir = HxOverrides.substr(path,0,c1);
|
|
path = HxOverrides.substr(path,c1 + 1,null);
|
|
} else {
|
|
this.dir = null;
|
|
}
|
|
var cp = path.lastIndexOf(".");
|
|
if(cp != -1) {
|
|
this.ext = HxOverrides.substr(path,cp + 1,null);
|
|
this.file = HxOverrides.substr(path,0,cp);
|
|
} else {
|
|
this.ext = null;
|
|
this.file = path;
|
|
}
|
|
};
|
|
$hxClasses["haxe.io.Path"] = haxe_io_Path;
|
|
haxe_io_Path.__name__ = "haxe.io.Path";
|
|
haxe_io_Path.withoutDirectory = function(path) {
|
|
var s = new haxe_io_Path(path);
|
|
s.dir = null;
|
|
return s.toString();
|
|
};
|
|
haxe_io_Path.directory = function(path) {
|
|
var s = new haxe_io_Path(path);
|
|
if(s.dir == null) {
|
|
return "";
|
|
}
|
|
return s.dir;
|
|
};
|
|
haxe_io_Path.extension = function(path) {
|
|
var s = new haxe_io_Path(path);
|
|
if(s.ext == null) {
|
|
return "";
|
|
}
|
|
return s.ext;
|
|
};
|
|
haxe_io_Path.prototype = {
|
|
dir: null
|
|
,file: null
|
|
,ext: null
|
|
,backslash: null
|
|
,toString: function() {
|
|
return (this.dir == null ? "" : this.dir + (this.backslash ? "\\" : "/")) + this.file + (this.ext == null ? "" : "." + this.ext);
|
|
}
|
|
,__class__: haxe_io_Path
|
|
};
|
|
var haxe_iterators_ArrayIterator = function(array) {
|
|
this.current = 0;
|
|
this.array = array;
|
|
};
|
|
$hxClasses["haxe.iterators.ArrayIterator"] = haxe_iterators_ArrayIterator;
|
|
haxe_iterators_ArrayIterator.__name__ = "haxe.iterators.ArrayIterator";
|
|
haxe_iterators_ArrayIterator.prototype = {
|
|
array: null
|
|
,current: null
|
|
,hasNext: function() {
|
|
return this.current < this.array.length;
|
|
}
|
|
,next: function() {
|
|
return this.array[this.current++];
|
|
}
|
|
,__class__: haxe_iterators_ArrayIterator
|
|
};
|
|
var haxe_iterators_MapKeyValueIterator = function(map) {
|
|
this.map = map;
|
|
this.keys = map.keys();
|
|
};
|
|
$hxClasses["haxe.iterators.MapKeyValueIterator"] = haxe_iterators_MapKeyValueIterator;
|
|
haxe_iterators_MapKeyValueIterator.__name__ = "haxe.iterators.MapKeyValueIterator";
|
|
haxe_iterators_MapKeyValueIterator.prototype = {
|
|
map: null
|
|
,keys: null
|
|
,hasNext: function() {
|
|
return this.keys.hasNext();
|
|
}
|
|
,next: function() {
|
|
var key = this.keys.next();
|
|
return { value : this.map.get(key), key : key};
|
|
}
|
|
,__class__: haxe_iterators_MapKeyValueIterator
|
|
};
|
|
var haxe_xml__$Access_NodeAccess = {};
|
|
haxe_xml__$Access_NodeAccess.resolve = function(this1,name) {
|
|
var x = this1.elementsNamed(name).next();
|
|
if(x == null) {
|
|
var xname;
|
|
if(this1.nodeType == Xml.Document) {
|
|
xname = "Document";
|
|
} else {
|
|
if(this1.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element but found " + (this1.nodeType == null ? "null" : XmlType.toString(this1.nodeType)));
|
|
}
|
|
xname = this1.nodeName;
|
|
}
|
|
throw haxe_Exception.thrown(xname + " is missing element " + name);
|
|
}
|
|
if(x.nodeType != Xml.Document && x.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Invalid nodeType " + (x.nodeType == null ? "null" : XmlType.toString(x.nodeType)));
|
|
}
|
|
var this1 = x;
|
|
return this1;
|
|
};
|
|
var haxe_xml__$Access_AttribAccess = {};
|
|
haxe_xml__$Access_AttribAccess.resolve = function(this1,name) {
|
|
if(this1.nodeType == Xml.Document) {
|
|
throw haxe_Exception.thrown("Cannot access document attribute " + name);
|
|
}
|
|
var v = this1.get(name);
|
|
if(v == null) {
|
|
if(this1.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element but found " + (this1.nodeType == null ? "null" : XmlType.toString(this1.nodeType)));
|
|
}
|
|
throw haxe_Exception.thrown(this1.nodeName + " is missing attribute " + name);
|
|
}
|
|
return v;
|
|
};
|
|
var haxe_xml__$Access_HasAttribAccess = {};
|
|
haxe_xml__$Access_HasAttribAccess.resolve = function(this1,name) {
|
|
if(this1.nodeType == Xml.Document) {
|
|
throw haxe_Exception.thrown("Cannot access document attribute " + name);
|
|
}
|
|
return this1.exists(name);
|
|
};
|
|
var haxe_xml__$Access_HasNodeAccess = {};
|
|
haxe_xml__$Access_HasNodeAccess.resolve = function(this1,name) {
|
|
return this1.elementsNamed(name).hasNext();
|
|
};
|
|
var haxe_xml__$Access_NodeListAccess = {};
|
|
haxe_xml__$Access_NodeListAccess.resolve = function(this1,name) {
|
|
var l = [];
|
|
var x = this1.elementsNamed(name);
|
|
while(x.hasNext()) {
|
|
var x1 = x.next();
|
|
if(x1.nodeType != Xml.Document && x1.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Invalid nodeType " + (x1.nodeType == null ? "null" : XmlType.toString(x1.nodeType)));
|
|
}
|
|
var this1 = x1;
|
|
l.push(this1);
|
|
}
|
|
return l;
|
|
};
|
|
var haxe_xml_XmlParserException = function(message,xml,position) {
|
|
this.xml = xml;
|
|
this.message = message;
|
|
this.position = position;
|
|
this.lineNumber = 1;
|
|
this.positionAtLine = 0;
|
|
var _g = 0;
|
|
var _g1 = position;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var c = xml.charCodeAt(i);
|
|
if(c == 10) {
|
|
this.lineNumber++;
|
|
this.positionAtLine = 0;
|
|
} else if(c != 13) {
|
|
this.positionAtLine++;
|
|
}
|
|
}
|
|
};
|
|
$hxClasses["haxe.xml.XmlParserException"] = haxe_xml_XmlParserException;
|
|
haxe_xml_XmlParserException.__name__ = "haxe.xml.XmlParserException";
|
|
haxe_xml_XmlParserException.prototype = {
|
|
message: null
|
|
,lineNumber: null
|
|
,positionAtLine: null
|
|
,position: null
|
|
,xml: null
|
|
,toString: function() {
|
|
var c = js_Boot.getClass(this);
|
|
return c.__name__ + ": " + this.message + " at line " + this.lineNumber + " char " + this.positionAtLine;
|
|
}
|
|
,__class__: haxe_xml_XmlParserException
|
|
};
|
|
var haxe_xml_Parser = function() { };
|
|
$hxClasses["haxe.xml.Parser"] = haxe_xml_Parser;
|
|
haxe_xml_Parser.__name__ = "haxe.xml.Parser";
|
|
haxe_xml_Parser.parse = function(str,strict) {
|
|
if(strict == null) {
|
|
strict = false;
|
|
}
|
|
var doc = Xml.createDocument();
|
|
haxe_xml_Parser.doParse(str,strict,0,doc);
|
|
return doc;
|
|
};
|
|
haxe_xml_Parser.doParse = function(str,strict,p,parent) {
|
|
if(p == null) {
|
|
p = 0;
|
|
}
|
|
var xml = null;
|
|
var state = 1;
|
|
var next = 1;
|
|
var aname = null;
|
|
var start = 0;
|
|
var nsubs = 0;
|
|
var nbrackets = 0;
|
|
var c = str.charCodeAt(p);
|
|
var buf = new StringBuf();
|
|
var escapeNext = 1;
|
|
var attrValQuote = -1;
|
|
while(c == c) {
|
|
switch(state) {
|
|
case 0:
|
|
switch(c) {
|
|
case 9:case 10:case 13:case 32:
|
|
break;
|
|
default:
|
|
state = next;
|
|
continue;
|
|
}
|
|
break;
|
|
case 1:
|
|
if(c == 60) {
|
|
state = 0;
|
|
next = 2;
|
|
} else {
|
|
start = p;
|
|
state = 13;
|
|
continue;
|
|
}
|
|
break;
|
|
case 2:
|
|
switch(c) {
|
|
case 33:
|
|
if(str.charCodeAt(p + 1) == 91) {
|
|
p += 2;
|
|
if(HxOverrides.substr(str,p,6).toUpperCase() != "CDATA[") {
|
|
throw haxe_Exception.thrown(new haxe_xml_XmlParserException("Expected <![CDATA[",str,p));
|
|
}
|
|
p += 5;
|
|
state = 17;
|
|
start = p + 1;
|
|
} else if(str.charCodeAt(p + 1) == 68 || str.charCodeAt(p + 1) == 100) {
|
|
if(HxOverrides.substr(str,p + 2,6).toUpperCase() != "OCTYPE") {
|
|
throw haxe_Exception.thrown(new haxe_xml_XmlParserException("Expected <!DOCTYPE",str,p));
|
|
}
|
|
p += 8;
|
|
state = 16;
|
|
start = p + 1;
|
|
} else if(str.charCodeAt(p + 1) != 45 || str.charCodeAt(p + 2) != 45) {
|
|
throw haxe_Exception.thrown(new haxe_xml_XmlParserException("Expected <!--",str,p));
|
|
} else {
|
|
p += 2;
|
|
state = 15;
|
|
start = p + 1;
|
|
}
|
|
break;
|
|
case 47:
|
|
if(parent == null) {
|
|
throw haxe_Exception.thrown(new haxe_xml_XmlParserException("Expected node name",str,p));
|
|
}
|
|
start = p + 1;
|
|
state = 0;
|
|
next = 10;
|
|
break;
|
|
case 63:
|
|
state = 14;
|
|
start = p;
|
|
break;
|
|
default:
|
|
state = 3;
|
|
start = p;
|
|
continue;
|
|
}
|
|
break;
|
|
case 3:
|
|
if(!(c >= 97 && c <= 122 || c >= 65 && c <= 90 || c >= 48 && c <= 57 || c == 58 || c == 46 || c == 95 || c == 45)) {
|
|
if(p == start) {
|
|
throw haxe_Exception.thrown(new haxe_xml_XmlParserException("Expected node name",str,p));
|
|
}
|
|
xml = Xml.createElement(HxOverrides.substr(str,start,p - start));
|
|
parent.addChild(xml);
|
|
++nsubs;
|
|
state = 0;
|
|
next = 4;
|
|
continue;
|
|
}
|
|
break;
|
|
case 4:
|
|
switch(c) {
|
|
case 47:
|
|
state = 11;
|
|
break;
|
|
case 62:
|
|
state = 9;
|
|
break;
|
|
default:
|
|
state = 5;
|
|
start = p;
|
|
continue;
|
|
}
|
|
break;
|
|
case 5:
|
|
if(!(c >= 97 && c <= 122 || c >= 65 && c <= 90 || c >= 48 && c <= 57 || c == 58 || c == 46 || c == 95 || c == 45)) {
|
|
if(start == p) {
|
|
throw haxe_Exception.thrown(new haxe_xml_XmlParserException("Expected attribute name",str,p));
|
|
}
|
|
var tmp = HxOverrides.substr(str,start,p - start);
|
|
aname = tmp;
|
|
if(xml.exists(aname)) {
|
|
throw haxe_Exception.thrown(new haxe_xml_XmlParserException("Duplicate attribute [" + aname + "]",str,p));
|
|
}
|
|
state = 0;
|
|
next = 6;
|
|
continue;
|
|
}
|
|
break;
|
|
case 6:
|
|
if(c == 61) {
|
|
state = 0;
|
|
next = 7;
|
|
} else {
|
|
throw haxe_Exception.thrown(new haxe_xml_XmlParserException("Expected =",str,p));
|
|
}
|
|
break;
|
|
case 7:
|
|
switch(c) {
|
|
case 34:case 39:
|
|
buf = new StringBuf();
|
|
state = 8;
|
|
start = p + 1;
|
|
attrValQuote = c;
|
|
break;
|
|
default:
|
|
throw haxe_Exception.thrown(new haxe_xml_XmlParserException("Expected \"",str,p));
|
|
}
|
|
break;
|
|
case 8:
|
|
switch(c) {
|
|
case 38:
|
|
var len = p - start;
|
|
buf.b += len == null ? HxOverrides.substr(str,start,null) : HxOverrides.substr(str,start,len);
|
|
state = 18;
|
|
escapeNext = 8;
|
|
start = p + 1;
|
|
break;
|
|
case 60:case 62:
|
|
if(strict) {
|
|
throw haxe_Exception.thrown(new haxe_xml_XmlParserException("Invalid unescaped " + String.fromCodePoint(c) + " in attribute value",str,p));
|
|
} else if(c == attrValQuote) {
|
|
var len1 = p - start;
|
|
buf.b += len1 == null ? HxOverrides.substr(str,start,null) : HxOverrides.substr(str,start,len1);
|
|
var val = buf.b;
|
|
buf = new StringBuf();
|
|
xml.set(aname,val);
|
|
state = 0;
|
|
next = 4;
|
|
}
|
|
break;
|
|
default:
|
|
if(c == attrValQuote) {
|
|
var len2 = p - start;
|
|
buf.b += len2 == null ? HxOverrides.substr(str,start,null) : HxOverrides.substr(str,start,len2);
|
|
var val1 = buf.b;
|
|
buf = new StringBuf();
|
|
xml.set(aname,val1);
|
|
state = 0;
|
|
next = 4;
|
|
}
|
|
}
|
|
break;
|
|
case 9:
|
|
p = haxe_xml_Parser.doParse(str,strict,p,xml);
|
|
start = p;
|
|
state = 1;
|
|
break;
|
|
case 10:
|
|
if(!(c >= 97 && c <= 122 || c >= 65 && c <= 90 || c >= 48 && c <= 57 || c == 58 || c == 46 || c == 95 || c == 45)) {
|
|
if(start == p) {
|
|
throw haxe_Exception.thrown(new haxe_xml_XmlParserException("Expected node name",str,p));
|
|
}
|
|
var v = HxOverrides.substr(str,start,p - start);
|
|
if(parent == null || parent.nodeType != 0) {
|
|
throw haxe_Exception.thrown(new haxe_xml_XmlParserException("Unexpected </" + v + ">, tag is not open",str,p));
|
|
}
|
|
if(parent.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element but found " + (parent.nodeType == null ? "null" : XmlType.toString(parent.nodeType)));
|
|
}
|
|
if(v != parent.nodeName) {
|
|
if(parent.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element but found " + (parent.nodeType == null ? "null" : XmlType.toString(parent.nodeType)));
|
|
}
|
|
throw haxe_Exception.thrown(new haxe_xml_XmlParserException("Expected </" + parent.nodeName + ">",str,p));
|
|
}
|
|
state = 0;
|
|
next = 12;
|
|
continue;
|
|
}
|
|
break;
|
|
case 11:
|
|
if(c == 62) {
|
|
state = 1;
|
|
} else {
|
|
throw haxe_Exception.thrown(new haxe_xml_XmlParserException("Expected >",str,p));
|
|
}
|
|
break;
|
|
case 12:
|
|
if(c == 62) {
|
|
if(nsubs == 0) {
|
|
parent.addChild(Xml.createPCData(""));
|
|
}
|
|
return p;
|
|
} else {
|
|
throw haxe_Exception.thrown(new haxe_xml_XmlParserException("Expected >",str,p));
|
|
}
|
|
break;
|
|
case 13:
|
|
if(c == 60) {
|
|
var len3 = p - start;
|
|
buf.b += len3 == null ? HxOverrides.substr(str,start,null) : HxOverrides.substr(str,start,len3);
|
|
var child = Xml.createPCData(buf.b);
|
|
buf = new StringBuf();
|
|
parent.addChild(child);
|
|
++nsubs;
|
|
state = 0;
|
|
next = 2;
|
|
} else if(c == 38) {
|
|
var len4 = p - start;
|
|
buf.b += len4 == null ? HxOverrides.substr(str,start,null) : HxOverrides.substr(str,start,len4);
|
|
state = 18;
|
|
escapeNext = 13;
|
|
start = p + 1;
|
|
}
|
|
break;
|
|
case 14:
|
|
if(c == 63 && str.charCodeAt(p + 1) == 62) {
|
|
++p;
|
|
var str1 = HxOverrides.substr(str,start + 1,p - start - 2);
|
|
parent.addChild(Xml.createProcessingInstruction(str1));
|
|
++nsubs;
|
|
state = 1;
|
|
}
|
|
break;
|
|
case 15:
|
|
if(c == 45 && str.charCodeAt(p + 1) == 45 && str.charCodeAt(p + 2) == 62) {
|
|
parent.addChild(Xml.createComment(HxOverrides.substr(str,start,p - start)));
|
|
++nsubs;
|
|
p += 2;
|
|
state = 1;
|
|
}
|
|
break;
|
|
case 16:
|
|
if(c == 91) {
|
|
++nbrackets;
|
|
} else if(c == 93) {
|
|
--nbrackets;
|
|
} else if(c == 62 && nbrackets == 0) {
|
|
parent.addChild(Xml.createDocType(HxOverrides.substr(str,start,p - start)));
|
|
++nsubs;
|
|
state = 1;
|
|
}
|
|
break;
|
|
case 17:
|
|
if(c == 93 && str.charCodeAt(p + 1) == 93 && str.charCodeAt(p + 2) == 62) {
|
|
var child1 = Xml.createCData(HxOverrides.substr(str,start,p - start));
|
|
parent.addChild(child1);
|
|
++nsubs;
|
|
p += 2;
|
|
state = 1;
|
|
}
|
|
break;
|
|
case 18:
|
|
if(c == 59) {
|
|
var s = HxOverrides.substr(str,start,p - start);
|
|
if(s.charCodeAt(0) == 35) {
|
|
var c1 = s.charCodeAt(1) == 120 ? Std.parseInt("0" + HxOverrides.substr(s,1,s.length - 1)) : Std.parseInt(HxOverrides.substr(s,1,s.length - 1));
|
|
buf.b += String.fromCodePoint(c1);
|
|
} else if(!Object.prototype.hasOwnProperty.call(haxe_xml_Parser.escapes.h,s)) {
|
|
if(strict) {
|
|
throw haxe_Exception.thrown(new haxe_xml_XmlParserException("Undefined entity: " + s,str,p));
|
|
}
|
|
buf.b += Std.string("&" + s + ";");
|
|
} else {
|
|
buf.b += Std.string(haxe_xml_Parser.escapes.h[s]);
|
|
}
|
|
start = p + 1;
|
|
state = escapeNext;
|
|
} else if(!(c >= 97 && c <= 122 || c >= 65 && c <= 90 || c >= 48 && c <= 57 || c == 58 || c == 46 || c == 95 || c == 45) && c != 35) {
|
|
if(strict) {
|
|
throw haxe_Exception.thrown(new haxe_xml_XmlParserException("Invalid character in entity: " + String.fromCodePoint(c),str,p));
|
|
}
|
|
buf.b += String.fromCodePoint(38);
|
|
var len5 = p - start;
|
|
buf.b += len5 == null ? HxOverrides.substr(str,start,null) : HxOverrides.substr(str,start,len5);
|
|
--p;
|
|
start = p + 1;
|
|
state = escapeNext;
|
|
}
|
|
break;
|
|
}
|
|
c = str.charCodeAt(++p);
|
|
}
|
|
if(state == 1) {
|
|
start = p;
|
|
state = 13;
|
|
}
|
|
if(state == 13) {
|
|
if(parent.nodeType == 0) {
|
|
if(parent.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element but found " + (parent.nodeType == null ? "null" : XmlType.toString(parent.nodeType)));
|
|
}
|
|
throw haxe_Exception.thrown(new haxe_xml_XmlParserException("Unclosed node <" + parent.nodeName + ">",str,p));
|
|
}
|
|
if(p != start || nsubs == 0) {
|
|
var len = p - start;
|
|
buf.b += len == null ? HxOverrides.substr(str,start,null) : HxOverrides.substr(str,start,len);
|
|
parent.addChild(Xml.createPCData(buf.b));
|
|
++nsubs;
|
|
}
|
|
return p;
|
|
}
|
|
if(!strict && state == 18 && escapeNext == 13) {
|
|
buf.b += String.fromCodePoint(38);
|
|
var len = p - start;
|
|
buf.b += len == null ? HxOverrides.substr(str,start,null) : HxOverrides.substr(str,start,len);
|
|
parent.addChild(Xml.createPCData(buf.b));
|
|
++nsubs;
|
|
return p;
|
|
}
|
|
throw haxe_Exception.thrown(new haxe_xml_XmlParserException("Unexpected end",str,p));
|
|
};
|
|
var haxe_xml_Printer = function(pretty) {
|
|
this.output = new StringBuf();
|
|
this.pretty = pretty;
|
|
};
|
|
$hxClasses["haxe.xml.Printer"] = haxe_xml_Printer;
|
|
haxe_xml_Printer.__name__ = "haxe.xml.Printer";
|
|
haxe_xml_Printer.print = function(xml,pretty) {
|
|
if(pretty == null) {
|
|
pretty = false;
|
|
}
|
|
var printer = new haxe_xml_Printer(pretty);
|
|
printer.writeNode(xml,"");
|
|
return printer.output.b;
|
|
};
|
|
haxe_xml_Printer.prototype = {
|
|
output: null
|
|
,pretty: null
|
|
,writeNode: function(value,tabs) {
|
|
switch(value.nodeType) {
|
|
case 0:
|
|
this.output.b += Std.string(tabs + "<");
|
|
if(value.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element but found " + (value.nodeType == null ? "null" : XmlType.toString(value.nodeType)));
|
|
}
|
|
this.output.b += Std.string(value.nodeName);
|
|
var attribute = value.attributes();
|
|
while(attribute.hasNext()) {
|
|
var attribute1 = attribute.next();
|
|
this.output.b += Std.string(" " + attribute1 + "=\"");
|
|
var input = StringTools.htmlEscape(value.get(attribute1),true);
|
|
this.output.b += Std.string(input);
|
|
this.output.b += "\"";
|
|
}
|
|
if(this.hasChildren(value)) {
|
|
this.output.b += ">";
|
|
if(this.pretty) {
|
|
this.output.b += "\n";
|
|
}
|
|
if(value.nodeType != Xml.Document && value.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element or Document but found " + (value.nodeType == null ? "null" : XmlType.toString(value.nodeType)));
|
|
}
|
|
var _g_current = 0;
|
|
var _g_array = value.children;
|
|
while(_g_current < _g_array.length) {
|
|
var child = _g_array[_g_current++];
|
|
this.writeNode(child,this.pretty ? tabs + "\t" : tabs);
|
|
}
|
|
this.output.b += Std.string(tabs + "</");
|
|
if(value.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element but found " + (value.nodeType == null ? "null" : XmlType.toString(value.nodeType)));
|
|
}
|
|
this.output.b += Std.string(value.nodeName);
|
|
this.output.b += ">";
|
|
if(this.pretty) {
|
|
this.output.b += "\n";
|
|
}
|
|
} else {
|
|
this.output.b += "/>";
|
|
if(this.pretty) {
|
|
this.output.b += "\n";
|
|
}
|
|
}
|
|
break;
|
|
case 1:
|
|
if(value.nodeType == Xml.Document || value.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (value.nodeType == null ? "null" : XmlType.toString(value.nodeType)));
|
|
}
|
|
var nodeValue = value.nodeValue;
|
|
if(nodeValue.length != 0) {
|
|
var input = tabs + StringTools.htmlEscape(nodeValue);
|
|
this.output.b += Std.string(input);
|
|
if(this.pretty) {
|
|
this.output.b += "\n";
|
|
}
|
|
}
|
|
break;
|
|
case 2:
|
|
this.output.b += Std.string(tabs + "<![CDATA[");
|
|
if(value.nodeType == Xml.Document || value.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (value.nodeType == null ? "null" : XmlType.toString(value.nodeType)));
|
|
}
|
|
this.output.b += Std.string(value.nodeValue);
|
|
this.output.b += "]]>";
|
|
if(this.pretty) {
|
|
this.output.b += "\n";
|
|
}
|
|
break;
|
|
case 3:
|
|
if(value.nodeType == Xml.Document || value.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (value.nodeType == null ? "null" : XmlType.toString(value.nodeType)));
|
|
}
|
|
var commentContent = value.nodeValue;
|
|
var _this_r = new RegExp("[\n\r\t]+","g".split("u").join(""));
|
|
commentContent = commentContent.replace(_this_r,"");
|
|
commentContent = "<!--" + commentContent + "-->";
|
|
this.output.b += tabs == null ? "null" : "" + tabs;
|
|
var input = StringTools.trim(commentContent);
|
|
this.output.b += Std.string(input);
|
|
if(this.pretty) {
|
|
this.output.b += "\n";
|
|
}
|
|
break;
|
|
case 4:
|
|
if(value.nodeType == Xml.Document || value.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (value.nodeType == null ? "null" : XmlType.toString(value.nodeType)));
|
|
}
|
|
this.output.b += Std.string("<!DOCTYPE " + value.nodeValue + ">");
|
|
if(this.pretty) {
|
|
this.output.b += "\n";
|
|
}
|
|
break;
|
|
case 5:
|
|
if(value.nodeType == Xml.Document || value.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (value.nodeType == null ? "null" : XmlType.toString(value.nodeType)));
|
|
}
|
|
this.output.b += Std.string("<?" + value.nodeValue + "?>");
|
|
if(this.pretty) {
|
|
this.output.b += "\n";
|
|
}
|
|
break;
|
|
case 6:
|
|
if(value.nodeType != Xml.Document && value.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element or Document but found " + (value.nodeType == null ? "null" : XmlType.toString(value.nodeType)));
|
|
}
|
|
var _g_current = 0;
|
|
var _g_array = value.children;
|
|
while(_g_current < _g_array.length) {
|
|
var child = _g_array[_g_current++];
|
|
this.writeNode(child,tabs);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
,hasChildren: function(value) {
|
|
if(value.nodeType != Xml.Document && value.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element or Document but found " + (value.nodeType == null ? "null" : XmlType.toString(value.nodeType)));
|
|
}
|
|
var _g_current = 0;
|
|
var _g_array = value.children;
|
|
while(_g_current < _g_array.length) {
|
|
var child = _g_array[_g_current++];
|
|
switch(child.nodeType) {
|
|
case 0:case 1:
|
|
return true;
|
|
case 2:case 3:
|
|
if(child.nodeType == Xml.Document || child.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (child.nodeType == null ? "null" : XmlType.toString(child.nodeType)));
|
|
}
|
|
if(StringTools.ltrim(child.nodeValue).length != 0) {
|
|
return true;
|
|
}
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,__class__: haxe_xml_Printer
|
|
};
|
|
var haxe_zip_ExtraField = $hxEnums["haxe.zip.ExtraField"] = { __ename__ : "haxe.zip.ExtraField", __constructs__ : ["FUnknown","FInfoZipUnicodePath","FUtf8"]
|
|
,FUnknown: ($_=function(tag,bytes) { return {_hx_index:0,tag:tag,bytes:bytes,__enum__:"haxe.zip.ExtraField",toString:$estr}; },$_.__params__ = ["tag","bytes"],$_)
|
|
,FInfoZipUnicodePath: ($_=function(name,crc) { return {_hx_index:1,name:name,crc:crc,__enum__:"haxe.zip.ExtraField",toString:$estr}; },$_.__params__ = ["name","crc"],$_)
|
|
,FUtf8: {_hx_index:2,__enum__:"haxe.zip.ExtraField",toString:$estr}
|
|
};
|
|
var haxe_zip_Huffman = $hxEnums["haxe.zip.Huffman"] = { __ename__ : "haxe.zip.Huffman", __constructs__ : ["Found","NeedBit","NeedBits"]
|
|
,Found: ($_=function(i) { return {_hx_index:0,i:i,__enum__:"haxe.zip.Huffman",toString:$estr}; },$_.__params__ = ["i"],$_)
|
|
,NeedBit: ($_=function(left,right) { return {_hx_index:1,left:left,right:right,__enum__:"haxe.zip.Huffman",toString:$estr}; },$_.__params__ = ["left","right"],$_)
|
|
,NeedBits: ($_=function(n,table) { return {_hx_index:2,n:n,table:table,__enum__:"haxe.zip.Huffman",toString:$estr}; },$_.__params__ = ["n","table"],$_)
|
|
};
|
|
var haxe_zip_HuffTools = function() {
|
|
};
|
|
$hxClasses["haxe.zip.HuffTools"] = haxe_zip_HuffTools;
|
|
haxe_zip_HuffTools.__name__ = "haxe.zip.HuffTools";
|
|
haxe_zip_HuffTools.prototype = {
|
|
treeDepth: function(t) {
|
|
switch(t._hx_index) {
|
|
case 0:
|
|
var _g = t.i;
|
|
return 0;
|
|
case 1:
|
|
var b = t.right;
|
|
var a = t.left;
|
|
var da = this.treeDepth(a);
|
|
var db = this.treeDepth(b);
|
|
return 1 + (da < db ? da : db);
|
|
case 2:
|
|
var _g = t.table;
|
|
var _g = t.n;
|
|
throw haxe_Exception.thrown("assert");
|
|
}
|
|
}
|
|
,treeCompress: function(t) {
|
|
var d = this.treeDepth(t);
|
|
if(d == 0) {
|
|
return t;
|
|
}
|
|
if(d == 1) {
|
|
if(t._hx_index == 1) {
|
|
var b = t.right;
|
|
var a = t.left;
|
|
return haxe_zip_Huffman.NeedBit(this.treeCompress(a),this.treeCompress(b));
|
|
} else {
|
|
throw haxe_Exception.thrown("assert");
|
|
}
|
|
}
|
|
var size = 1 << d;
|
|
var table = [];
|
|
var _g = 0;
|
|
var _g1 = size;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
table.push(haxe_zip_Huffman.Found(-1));
|
|
}
|
|
this.treeWalk(table,0,0,d,t);
|
|
return haxe_zip_Huffman.NeedBits(d,table);
|
|
}
|
|
,treeWalk: function(table,p,cd,d,t) {
|
|
if(t._hx_index == 1) {
|
|
var b = t.right;
|
|
var a = t.left;
|
|
if(d > 0) {
|
|
this.treeWalk(table,p,cd + 1,d - 1,a);
|
|
this.treeWalk(table,p | 1 << cd,cd + 1,d - 1,b);
|
|
} else {
|
|
table[p] = this.treeCompress(t);
|
|
}
|
|
} else {
|
|
table[p] = this.treeCompress(t);
|
|
}
|
|
}
|
|
,treeMake: function(bits,maxbits,v,len) {
|
|
if(len > maxbits) {
|
|
throw haxe_Exception.thrown("Invalid huffman");
|
|
}
|
|
var idx = v << 5 | len;
|
|
if(bits.h.hasOwnProperty(idx)) {
|
|
return haxe_zip_Huffman.Found(bits.h[idx]);
|
|
}
|
|
v <<= 1;
|
|
++len;
|
|
return haxe_zip_Huffman.NeedBit(this.treeMake(bits,maxbits,v,len),this.treeMake(bits,maxbits,v | 1,len));
|
|
}
|
|
,make: function(lengths,pos,nlengths,maxbits) {
|
|
if(nlengths == 1) {
|
|
return haxe_zip_Huffman.NeedBit(haxe_zip_Huffman.Found(0),haxe_zip_Huffman.Found(0));
|
|
}
|
|
var counts = [];
|
|
var tmp = [];
|
|
if(maxbits > 32) {
|
|
throw haxe_Exception.thrown("Invalid huffman");
|
|
}
|
|
var _g = 0;
|
|
var _g1 = maxbits;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
counts.push(0);
|
|
tmp.push(0);
|
|
}
|
|
var _g = 0;
|
|
var _g1 = nlengths;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var p = lengths[i + pos];
|
|
if(p >= maxbits) {
|
|
throw haxe_Exception.thrown("Invalid huffman");
|
|
}
|
|
counts[p]++;
|
|
}
|
|
var code = 0;
|
|
var _g = 1;
|
|
var _g1 = maxbits - 1;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
code = code + counts[i] << 1;
|
|
tmp[i] = code;
|
|
}
|
|
var bits = new haxe_ds_IntMap();
|
|
var _g = 0;
|
|
var _g1 = nlengths;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var l = lengths[i + pos];
|
|
if(l != 0) {
|
|
var n = tmp[l - 1];
|
|
tmp[l - 1] = n + 1;
|
|
bits.h[n << 5 | l] = i;
|
|
}
|
|
}
|
|
return this.treeCompress(haxe_zip_Huffman.NeedBit(this.treeMake(bits,maxbits,0,1),this.treeMake(bits,maxbits,1,1)));
|
|
}
|
|
,__class__: haxe_zip_HuffTools
|
|
};
|
|
var haxe_zip__$InflateImpl_Window = function(hasCrc) {
|
|
this.buffer = new haxe_io_Bytes(new ArrayBuffer(65536));
|
|
this.pos = 0;
|
|
if(hasCrc) {
|
|
this.crc = new haxe_crypto_Adler32();
|
|
}
|
|
};
|
|
$hxClasses["haxe.zip._InflateImpl.Window"] = haxe_zip__$InflateImpl_Window;
|
|
haxe_zip__$InflateImpl_Window.__name__ = "haxe.zip._InflateImpl.Window";
|
|
haxe_zip__$InflateImpl_Window.prototype = {
|
|
buffer: null
|
|
,pos: null
|
|
,crc: null
|
|
,slide: function() {
|
|
if(this.crc != null) {
|
|
this.crc.update(this.buffer,0,32768);
|
|
}
|
|
var b = new haxe_io_Bytes(new ArrayBuffer(65536));
|
|
this.pos -= 32768;
|
|
b.blit(0,this.buffer,32768,this.pos);
|
|
this.buffer = b;
|
|
}
|
|
,addBytes: function(b,p,len) {
|
|
if(this.pos + len > 65536) {
|
|
this.slide();
|
|
}
|
|
this.buffer.blit(this.pos,b,p,len);
|
|
this.pos += len;
|
|
}
|
|
,addByte: function(c) {
|
|
if(this.pos == 65536) {
|
|
this.slide();
|
|
}
|
|
this.buffer.b[this.pos] = c & 255;
|
|
this.pos++;
|
|
}
|
|
,getLastChar: function() {
|
|
return this.buffer.b[this.pos - 1];
|
|
}
|
|
,available: function() {
|
|
return this.pos;
|
|
}
|
|
,checksum: function() {
|
|
if(this.crc != null) {
|
|
this.crc.update(this.buffer,0,this.pos);
|
|
}
|
|
return this.crc;
|
|
}
|
|
,__class__: haxe_zip__$InflateImpl_Window
|
|
};
|
|
var haxe_zip__$InflateImpl_State = $hxEnums["haxe.zip._InflateImpl.State"] = { __ename__ : "haxe.zip._InflateImpl.State", __constructs__ : ["Head","Block","CData","Flat","Crc","Dist","DistOne","Done"]
|
|
,Head: {_hx_index:0,__enum__:"haxe.zip._InflateImpl.State",toString:$estr}
|
|
,Block: {_hx_index:1,__enum__:"haxe.zip._InflateImpl.State",toString:$estr}
|
|
,CData: {_hx_index:2,__enum__:"haxe.zip._InflateImpl.State",toString:$estr}
|
|
,Flat: {_hx_index:3,__enum__:"haxe.zip._InflateImpl.State",toString:$estr}
|
|
,Crc: {_hx_index:4,__enum__:"haxe.zip._InflateImpl.State",toString:$estr}
|
|
,Dist: {_hx_index:5,__enum__:"haxe.zip._InflateImpl.State",toString:$estr}
|
|
,DistOne: {_hx_index:6,__enum__:"haxe.zip._InflateImpl.State",toString:$estr}
|
|
,Done: {_hx_index:7,__enum__:"haxe.zip._InflateImpl.State",toString:$estr}
|
|
};
|
|
var haxe_zip_InflateImpl = function(i,header,crc) {
|
|
if(crc == null) {
|
|
crc = true;
|
|
}
|
|
if(header == null) {
|
|
header = true;
|
|
}
|
|
this.isFinal = false;
|
|
this.htools = new haxe_zip_HuffTools();
|
|
this.huffman = this.buildFixedHuffman();
|
|
this.huffdist = null;
|
|
this.len = 0;
|
|
this.dist = 0;
|
|
this.state = header ? haxe_zip__$InflateImpl_State.Head : haxe_zip__$InflateImpl_State.Block;
|
|
this.input = i;
|
|
this.bits = 0;
|
|
this.nbits = 0;
|
|
this.needed = 0;
|
|
this.output = null;
|
|
this.outpos = 0;
|
|
this.lengths = [];
|
|
this.lengths.push(-1);
|
|
this.lengths.push(-1);
|
|
this.lengths.push(-1);
|
|
this.lengths.push(-1);
|
|
this.lengths.push(-1);
|
|
this.lengths.push(-1);
|
|
this.lengths.push(-1);
|
|
this.lengths.push(-1);
|
|
this.lengths.push(-1);
|
|
this.lengths.push(-1);
|
|
this.lengths.push(-1);
|
|
this.lengths.push(-1);
|
|
this.lengths.push(-1);
|
|
this.lengths.push(-1);
|
|
this.lengths.push(-1);
|
|
this.lengths.push(-1);
|
|
this.lengths.push(-1);
|
|
this.lengths.push(-1);
|
|
this.lengths.push(-1);
|
|
this.window = new haxe_zip__$InflateImpl_Window(crc);
|
|
};
|
|
$hxClasses["haxe.zip.InflateImpl"] = haxe_zip_InflateImpl;
|
|
haxe_zip_InflateImpl.__name__ = "haxe.zip.InflateImpl";
|
|
haxe_zip_InflateImpl.prototype = {
|
|
nbits: null
|
|
,bits: null
|
|
,state: null
|
|
,isFinal: null
|
|
,huffman: null
|
|
,huffdist: null
|
|
,htools: null
|
|
,len: null
|
|
,dist: null
|
|
,needed: null
|
|
,output: null
|
|
,outpos: null
|
|
,input: null
|
|
,lengths: null
|
|
,window: null
|
|
,buildFixedHuffman: function() {
|
|
if(haxe_zip_InflateImpl.FIXED_HUFFMAN != null) {
|
|
return haxe_zip_InflateImpl.FIXED_HUFFMAN;
|
|
}
|
|
var a = [];
|
|
var _g = 0;
|
|
while(_g < 288) {
|
|
var n = _g++;
|
|
a.push(n <= 143 ? 8 : n <= 255 ? 9 : n <= 279 ? 7 : 8);
|
|
}
|
|
haxe_zip_InflateImpl.FIXED_HUFFMAN = this.htools.make(a,0,288,10);
|
|
return haxe_zip_InflateImpl.FIXED_HUFFMAN;
|
|
}
|
|
,readBytes: function(b,pos,len) {
|
|
this.needed = len;
|
|
this.outpos = pos;
|
|
this.output = b;
|
|
if(len > 0) {
|
|
while(this.inflateLoop()) {
|
|
}
|
|
}
|
|
return len - this.needed;
|
|
}
|
|
,getBits: function(n) {
|
|
while(this.nbits < n) {
|
|
this.bits |= this.input.readByte() << this.nbits;
|
|
this.nbits += 8;
|
|
}
|
|
var b = this.bits & (1 << n) - 1;
|
|
this.nbits -= n;
|
|
this.bits >>= n;
|
|
return b;
|
|
}
|
|
,getBit: function() {
|
|
if(this.nbits == 0) {
|
|
this.nbits = 8;
|
|
this.bits = this.input.readByte();
|
|
}
|
|
var b = (this.bits & 1) == 1;
|
|
this.nbits--;
|
|
this.bits >>= 1;
|
|
return b;
|
|
}
|
|
,getRevBits: function(n) {
|
|
if(n == 0) {
|
|
return 0;
|
|
} else if(this.getBit()) {
|
|
return 1 << n - 1 | this.getRevBits(n - 1);
|
|
} else {
|
|
return this.getRevBits(n - 1);
|
|
}
|
|
}
|
|
,resetBits: function() {
|
|
this.bits = 0;
|
|
this.nbits = 0;
|
|
}
|
|
,addBytes: function(b,p,len) {
|
|
this.window.addBytes(b,p,len);
|
|
this.output.blit(this.outpos,b,p,len);
|
|
this.needed -= len;
|
|
this.outpos += len;
|
|
}
|
|
,addByte: function(b) {
|
|
this.window.addByte(b);
|
|
this.output.b[this.outpos] = b & 255;
|
|
this.needed--;
|
|
this.outpos++;
|
|
}
|
|
,addDistOne: function(n) {
|
|
var c = this.window.getLastChar();
|
|
var _g = 0;
|
|
var _g1 = n;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
this.addByte(c);
|
|
}
|
|
}
|
|
,addDist: function(d,len) {
|
|
this.addBytes(this.window.buffer,this.window.pos - d,len);
|
|
}
|
|
,applyHuffman: function(h) {
|
|
switch(h._hx_index) {
|
|
case 0:
|
|
var n = h.i;
|
|
return n;
|
|
case 1:
|
|
var b = h.right;
|
|
var a = h.left;
|
|
return this.applyHuffman(this.getBit() ? b : a);
|
|
case 2:
|
|
var tbl = h.table;
|
|
var n = h.n;
|
|
return this.applyHuffman(tbl[this.getBits(n)]);
|
|
}
|
|
}
|
|
,inflateLengths: function(a,max) {
|
|
var i = 0;
|
|
var prev = 0;
|
|
while(i < max) {
|
|
var n = this.applyHuffman(this.huffman);
|
|
switch(n) {
|
|
case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:
|
|
prev = n;
|
|
a[i] = n;
|
|
++i;
|
|
break;
|
|
case 16:
|
|
var end = i + 3 + this.getBits(2);
|
|
if(end > max) {
|
|
throw haxe_Exception.thrown("Invalid data");
|
|
}
|
|
while(i < end) {
|
|
a[i] = prev;
|
|
++i;
|
|
}
|
|
break;
|
|
case 17:
|
|
i += 3 + this.getBits(3);
|
|
if(i > max) {
|
|
throw haxe_Exception.thrown("Invalid data");
|
|
}
|
|
break;
|
|
case 18:
|
|
i += 11 + this.getBits(7);
|
|
if(i > max) {
|
|
throw haxe_Exception.thrown("Invalid data");
|
|
}
|
|
break;
|
|
default:
|
|
throw haxe_Exception.thrown("Invalid data");
|
|
}
|
|
}
|
|
}
|
|
,inflateLoop: function() {
|
|
switch(this.state._hx_index) {
|
|
case 0:
|
|
var cmf = this.input.readByte();
|
|
var cm = cmf & 15;
|
|
var cinfo = cmf >> 4;
|
|
if(cm != 8) {
|
|
throw haxe_Exception.thrown("Invalid data");
|
|
}
|
|
var flg = this.input.readByte();
|
|
var fdict = (flg & 32) != 0;
|
|
if(((cmf << 8) + flg) % 31 != 0) {
|
|
throw haxe_Exception.thrown("Invalid data");
|
|
}
|
|
if(fdict) {
|
|
throw haxe_Exception.thrown("Unsupported dictionary");
|
|
}
|
|
this.state = haxe_zip__$InflateImpl_State.Block;
|
|
return true;
|
|
case 1:
|
|
this.isFinal = this.getBit();
|
|
switch(this.getBits(2)) {
|
|
case 0:
|
|
this.len = this.input.readUInt16();
|
|
var nlen = this.input.readUInt16();
|
|
if(nlen != 65535 - this.len) {
|
|
throw haxe_Exception.thrown("Invalid data");
|
|
}
|
|
this.state = haxe_zip__$InflateImpl_State.Flat;
|
|
var r = this.inflateLoop();
|
|
this.resetBits();
|
|
return r;
|
|
case 1:
|
|
this.huffman = this.buildFixedHuffman();
|
|
this.huffdist = null;
|
|
this.state = haxe_zip__$InflateImpl_State.CData;
|
|
return true;
|
|
case 2:
|
|
var hlit = this.getBits(5) + 257;
|
|
var hdist = this.getBits(5) + 1;
|
|
var hclen = this.getBits(4) + 4;
|
|
var _g = 0;
|
|
var _g1 = hclen;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
this.lengths[haxe_zip_InflateImpl.CODE_LENGTHS_POS[i]] = this.getBits(3);
|
|
}
|
|
var _g = hclen;
|
|
var _g1 = 19;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
this.lengths[haxe_zip_InflateImpl.CODE_LENGTHS_POS[i]] = 0;
|
|
}
|
|
this.huffman = this.htools.make(this.lengths,0,19,8);
|
|
var lengths = [];
|
|
var _g = 0;
|
|
var _g1 = hlit + hdist;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
lengths.push(0);
|
|
}
|
|
this.inflateLengths(lengths,hlit + hdist);
|
|
this.huffdist = this.htools.make(lengths,hlit,hdist,16);
|
|
this.huffman = this.htools.make(lengths,0,hlit,16);
|
|
this.state = haxe_zip__$InflateImpl_State.CData;
|
|
return true;
|
|
default:
|
|
throw haxe_Exception.thrown("Invalid data");
|
|
}
|
|
break;
|
|
case 2:
|
|
var n = this.applyHuffman(this.huffman);
|
|
if(n < 256) {
|
|
this.addByte(n);
|
|
return this.needed > 0;
|
|
} else if(n == 256) {
|
|
this.state = this.isFinal ? haxe_zip__$InflateImpl_State.Crc : haxe_zip__$InflateImpl_State.Block;
|
|
return true;
|
|
} else {
|
|
n -= 257;
|
|
var extra_bits = haxe_zip_InflateImpl.LEN_EXTRA_BITS_TBL[n];
|
|
if(extra_bits == -1) {
|
|
throw haxe_Exception.thrown("Invalid data");
|
|
}
|
|
this.len = haxe_zip_InflateImpl.LEN_BASE_VAL_TBL[n] + this.getBits(extra_bits);
|
|
var dist_code = this.huffdist == null ? this.getRevBits(5) : this.applyHuffman(this.huffdist);
|
|
extra_bits = haxe_zip_InflateImpl.DIST_EXTRA_BITS_TBL[dist_code];
|
|
if(extra_bits == -1) {
|
|
throw haxe_Exception.thrown("Invalid data");
|
|
}
|
|
this.dist = haxe_zip_InflateImpl.DIST_BASE_VAL_TBL[dist_code] + this.getBits(extra_bits);
|
|
if(this.dist > this.window.available()) {
|
|
throw haxe_Exception.thrown("Invalid data");
|
|
}
|
|
this.state = this.dist == 1 ? haxe_zip__$InflateImpl_State.DistOne : haxe_zip__$InflateImpl_State.Dist;
|
|
return true;
|
|
}
|
|
break;
|
|
case 3:
|
|
var rlen = this.len < this.needed ? this.len : this.needed;
|
|
var bytes = this.input.read(rlen);
|
|
this.len -= rlen;
|
|
this.addBytes(bytes,0,rlen);
|
|
if(this.len == 0) {
|
|
this.state = this.isFinal ? haxe_zip__$InflateImpl_State.Crc : haxe_zip__$InflateImpl_State.Block;
|
|
}
|
|
return this.needed > 0;
|
|
case 4:
|
|
var calc = this.window.checksum();
|
|
if(calc == null) {
|
|
this.state = haxe_zip__$InflateImpl_State.Done;
|
|
return true;
|
|
}
|
|
var crc = haxe_crypto_Adler32.read(this.input);
|
|
if(!calc.equals(crc)) {
|
|
throw haxe_Exception.thrown("Invalid CRC");
|
|
}
|
|
this.state = haxe_zip__$InflateImpl_State.Done;
|
|
return true;
|
|
case 5:
|
|
while(this.len > 0 && this.needed > 0) {
|
|
var rdist = this.len < this.dist ? this.len : this.dist;
|
|
var rlen = this.needed < rdist ? this.needed : rdist;
|
|
this.addDist(this.dist,rlen);
|
|
this.len -= rlen;
|
|
}
|
|
if(this.len == 0) {
|
|
this.state = haxe_zip__$InflateImpl_State.CData;
|
|
}
|
|
return this.needed > 0;
|
|
case 6:
|
|
var rlen = this.len < this.needed ? this.len : this.needed;
|
|
this.addDistOne(rlen);
|
|
this.len -= rlen;
|
|
if(this.len == 0) {
|
|
this.state = haxe_zip__$InflateImpl_State.CData;
|
|
}
|
|
return this.needed > 0;
|
|
case 7:
|
|
return false;
|
|
}
|
|
}
|
|
,__class__: haxe_zip_InflateImpl
|
|
};
|
|
var haxe_zip_Reader = function(i) {
|
|
this.i = i;
|
|
};
|
|
$hxClasses["haxe.zip.Reader"] = haxe_zip_Reader;
|
|
haxe_zip_Reader.__name__ = "haxe.zip.Reader";
|
|
haxe_zip_Reader.readZip = function(i) {
|
|
var r = new haxe_zip_Reader(i);
|
|
return r.read();
|
|
};
|
|
haxe_zip_Reader.unzip = function(f) {
|
|
if(!f.compressed) {
|
|
return f.data;
|
|
}
|
|
throw haxe_Exception.thrown("No uncompress support");
|
|
};
|
|
haxe_zip_Reader.prototype = {
|
|
i: null
|
|
,readZipDate: function() {
|
|
var t = this.i.readUInt16();
|
|
var hour = t >> 11 & 31;
|
|
var min = t >> 5 & 63;
|
|
var sec = t & 31;
|
|
var d = this.i.readUInt16();
|
|
var year = d >> 9;
|
|
var month = d >> 5 & 15;
|
|
var day = d & 31;
|
|
return new Date(year + 1980,month - 1,day,hour,min,sec << 1);
|
|
}
|
|
,readExtraFields: function(length) {
|
|
var fields = new haxe_ds_List();
|
|
while(length > 0) {
|
|
if(length < 4) {
|
|
throw haxe_Exception.thrown("Invalid extra fields data");
|
|
}
|
|
var tag = this.i.readUInt16();
|
|
var len = this.i.readUInt16();
|
|
if(length < len) {
|
|
throw haxe_Exception.thrown("Invalid extra fields data");
|
|
}
|
|
if(tag == 28789) {
|
|
var version = this.i.readByte();
|
|
if(version != 1) {
|
|
var data = new haxe_io_BytesBuffer();
|
|
data.addByte(version);
|
|
data.add(this.i.read(len - 1));
|
|
fields.add(haxe_zip_ExtraField.FUnknown(tag,data.getBytes()));
|
|
} else {
|
|
var crc = this.i.readInt32();
|
|
var name = this.i.read(len - 5).toString();
|
|
fields.add(haxe_zip_ExtraField.FInfoZipUnicodePath(name,crc));
|
|
}
|
|
} else {
|
|
fields.add(haxe_zip_ExtraField.FUnknown(tag,this.i.read(len)));
|
|
}
|
|
length -= 4 + len;
|
|
}
|
|
return fields;
|
|
}
|
|
,readEntryHeader: function() {
|
|
var i = this.i;
|
|
var h = i.readInt32();
|
|
if(h == 33639248 || h == 101010256) {
|
|
return null;
|
|
}
|
|
if(h != 67324752) {
|
|
throw haxe_Exception.thrown("Invalid Zip Data");
|
|
}
|
|
var version = i.readUInt16();
|
|
var flags = i.readUInt16();
|
|
var utf8 = (flags & 2048) != 0;
|
|
var compression = i.readUInt16();
|
|
var compressed = compression != 0;
|
|
if(compressed && compression != 8) {
|
|
throw haxe_Exception.thrown("Unsupported compression " + compression);
|
|
}
|
|
var mtime = this.readZipDate();
|
|
var crc32 = i.readInt32();
|
|
var csize = i.readInt32();
|
|
var usize = i.readInt32();
|
|
var fnamelen = i.readInt16();
|
|
var elen = i.readInt16();
|
|
var fname = i.readString(fnamelen);
|
|
var fields = this.readExtraFields(elen);
|
|
if(utf8) {
|
|
fields.push(haxe_zip_ExtraField.FUtf8);
|
|
}
|
|
var data = null;
|
|
if((flags & 8) != 0) {
|
|
csize = -1;
|
|
}
|
|
return { fileName : fname, fileSize : usize, fileTime : mtime, compressed : compressed, dataSize : csize, data : data, crc32 : crc32, extraFields : fields};
|
|
}
|
|
,read: function() {
|
|
var l = new haxe_ds_List();
|
|
var buf = null;
|
|
var tmp = null;
|
|
while(true) {
|
|
var e = this.readEntryHeader();
|
|
if(e == null) {
|
|
break;
|
|
}
|
|
if(e.dataSize < 0) {
|
|
var bufSize = 65536;
|
|
if(tmp == null) {
|
|
tmp = new haxe_io_Bytes(new ArrayBuffer(bufSize));
|
|
}
|
|
var out = new haxe_io_BytesBuffer();
|
|
var z = new haxe_zip_InflateImpl(this.i,false,false);
|
|
while(true) {
|
|
var n = z.readBytes(tmp,0,bufSize);
|
|
out.addBytes(tmp,0,n);
|
|
if(n < bufSize) {
|
|
break;
|
|
}
|
|
}
|
|
e.data = out.getBytes();
|
|
e.crc32 = this.i.readInt32();
|
|
if(e.crc32 == 134695760) {
|
|
e.crc32 = this.i.readInt32();
|
|
}
|
|
e.dataSize = this.i.readInt32();
|
|
e.fileSize = this.i.readInt32();
|
|
e.dataSize = e.fileSize;
|
|
e.compressed = false;
|
|
} else {
|
|
e.data = this.i.read(e.dataSize);
|
|
}
|
|
l.add(e);
|
|
}
|
|
return l;
|
|
}
|
|
,__class__: haxe_zip_Reader
|
|
};
|
|
var hscript_Const = $hxEnums["hscript.Const"] = { __ename__ : "hscript.Const", __constructs__ : ["CInt","CFloat","CString"]
|
|
,CInt: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"hscript.Const",toString:$estr}; },$_.__params__ = ["v"],$_)
|
|
,CFloat: ($_=function(f) { return {_hx_index:1,f:f,__enum__:"hscript.Const",toString:$estr}; },$_.__params__ = ["f"],$_)
|
|
,CString: ($_=function(s) { return {_hx_index:2,s:s,__enum__:"hscript.Const",toString:$estr}; },$_.__params__ = ["s"],$_)
|
|
};
|
|
var hscript_Expr = $hxEnums["hscript.Expr"] = { __ename__ : "hscript.Expr", __constructs__ : ["EConst","EIdent","EVar","EParent","EBlock","EField","EBinop","EUnop","ECall","EIf","EWhile","EFor","EBreak","EContinue","EFunction","EReturn","EArray","EArrayDecl","ENew","EThrow","ETry","EObject","ETernary","ESwitch","EDoWhile","EMeta","ECheckType"]
|
|
,EConst: ($_=function(c) { return {_hx_index:0,c:c,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["c"],$_)
|
|
,EIdent: ($_=function(v) { return {_hx_index:1,v:v,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["v"],$_)
|
|
,EVar: ($_=function(n,t,e) { return {_hx_index:2,n:n,t:t,e:e,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["n","t","e"],$_)
|
|
,EParent: ($_=function(e) { return {_hx_index:3,e:e,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["e"],$_)
|
|
,EBlock: ($_=function(e) { return {_hx_index:4,e:e,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["e"],$_)
|
|
,EField: ($_=function(e,f) { return {_hx_index:5,e:e,f:f,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["e","f"],$_)
|
|
,EBinop: ($_=function(op,e1,e2) { return {_hx_index:6,op:op,e1:e1,e2:e2,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["op","e1","e2"],$_)
|
|
,EUnop: ($_=function(op,prefix,e) { return {_hx_index:7,op:op,prefix:prefix,e:e,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["op","prefix","e"],$_)
|
|
,ECall: ($_=function(e,params) { return {_hx_index:8,e:e,params:params,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["e","params"],$_)
|
|
,EIf: ($_=function(cond,e1,e2) { return {_hx_index:9,cond:cond,e1:e1,e2:e2,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["cond","e1","e2"],$_)
|
|
,EWhile: ($_=function(cond,e) { return {_hx_index:10,cond:cond,e:e,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["cond","e"],$_)
|
|
,EFor: ($_=function(v,it,e) { return {_hx_index:11,v:v,it:it,e:e,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["v","it","e"],$_)
|
|
,EBreak: {_hx_index:12,__enum__:"hscript.Expr",toString:$estr}
|
|
,EContinue: {_hx_index:13,__enum__:"hscript.Expr",toString:$estr}
|
|
,EFunction: ($_=function(args,e,name,ret) { return {_hx_index:14,args:args,e:e,name:name,ret:ret,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["args","e","name","ret"],$_)
|
|
,EReturn: ($_=function(e) { return {_hx_index:15,e:e,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["e"],$_)
|
|
,EArray: ($_=function(e,index) { return {_hx_index:16,e:e,index:index,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["e","index"],$_)
|
|
,EArrayDecl: ($_=function(e) { return {_hx_index:17,e:e,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["e"],$_)
|
|
,ENew: ($_=function(cl,params) { return {_hx_index:18,cl:cl,params:params,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["cl","params"],$_)
|
|
,EThrow: ($_=function(e) { return {_hx_index:19,e:e,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["e"],$_)
|
|
,ETry: ($_=function(e,v,t,ecatch) { return {_hx_index:20,e:e,v:v,t:t,ecatch:ecatch,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["e","v","t","ecatch"],$_)
|
|
,EObject: ($_=function(fl) { return {_hx_index:21,fl:fl,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["fl"],$_)
|
|
,ETernary: ($_=function(cond,e1,e2) { return {_hx_index:22,cond:cond,e1:e1,e2:e2,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["cond","e1","e2"],$_)
|
|
,ESwitch: ($_=function(e,cases,defaultExpr) { return {_hx_index:23,e:e,cases:cases,defaultExpr:defaultExpr,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["e","cases","defaultExpr"],$_)
|
|
,EDoWhile: ($_=function(cond,e) { return {_hx_index:24,cond:cond,e:e,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["cond","e"],$_)
|
|
,EMeta: ($_=function(name,args,e) { return {_hx_index:25,name:name,args:args,e:e,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["name","args","e"],$_)
|
|
,ECheckType: ($_=function(e,t) { return {_hx_index:26,e:e,t:t,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["e","t"],$_)
|
|
};
|
|
var hscript_CType = $hxEnums["hscript.CType"] = { __ename__ : "hscript.CType", __constructs__ : ["CTPath","CTFun","CTAnon","CTParent","CTOpt","CTNamed"]
|
|
,CTPath: ($_=function(path,params) { return {_hx_index:0,path:path,params:params,__enum__:"hscript.CType",toString:$estr}; },$_.__params__ = ["path","params"],$_)
|
|
,CTFun: ($_=function(args,ret) { return {_hx_index:1,args:args,ret:ret,__enum__:"hscript.CType",toString:$estr}; },$_.__params__ = ["args","ret"],$_)
|
|
,CTAnon: ($_=function(fields) { return {_hx_index:2,fields:fields,__enum__:"hscript.CType",toString:$estr}; },$_.__params__ = ["fields"],$_)
|
|
,CTParent: ($_=function(t) { return {_hx_index:3,t:t,__enum__:"hscript.CType",toString:$estr}; },$_.__params__ = ["t"],$_)
|
|
,CTOpt: ($_=function(t) { return {_hx_index:4,t:t,__enum__:"hscript.CType",toString:$estr}; },$_.__params__ = ["t"],$_)
|
|
,CTNamed: ($_=function(n,t) { return {_hx_index:5,n:n,t:t,__enum__:"hscript.CType",toString:$estr}; },$_.__params__ = ["n","t"],$_)
|
|
};
|
|
var hscript_Error = $hxEnums["hscript.Error"] = { __ename__ : "hscript.Error", __constructs__ : ["EInvalidChar","EUnexpected","EUnterminatedString","EUnterminatedComment","EInvalidPreprocessor","EUnknownVariable","EInvalidIterator","EInvalidOp","EInvalidAccess","ECustom"]
|
|
,EInvalidChar: ($_=function(c) { return {_hx_index:0,c:c,__enum__:"hscript.Error",toString:$estr}; },$_.__params__ = ["c"],$_)
|
|
,EUnexpected: ($_=function(s) { return {_hx_index:1,s:s,__enum__:"hscript.Error",toString:$estr}; },$_.__params__ = ["s"],$_)
|
|
,EUnterminatedString: {_hx_index:2,__enum__:"hscript.Error",toString:$estr}
|
|
,EUnterminatedComment: {_hx_index:3,__enum__:"hscript.Error",toString:$estr}
|
|
,EInvalidPreprocessor: ($_=function(msg) { return {_hx_index:4,msg:msg,__enum__:"hscript.Error",toString:$estr}; },$_.__params__ = ["msg"],$_)
|
|
,EUnknownVariable: ($_=function(v) { return {_hx_index:5,v:v,__enum__:"hscript.Error",toString:$estr}; },$_.__params__ = ["v"],$_)
|
|
,EInvalidIterator: ($_=function(v) { return {_hx_index:6,v:v,__enum__:"hscript.Error",toString:$estr}; },$_.__params__ = ["v"],$_)
|
|
,EInvalidOp: ($_=function(op) { return {_hx_index:7,op:op,__enum__:"hscript.Error",toString:$estr}; },$_.__params__ = ["op"],$_)
|
|
,EInvalidAccess: ($_=function(f) { return {_hx_index:8,f:f,__enum__:"hscript.Error",toString:$estr}; },$_.__params__ = ["f"],$_)
|
|
,ECustom: ($_=function(msg) { return {_hx_index:9,msg:msg,__enum__:"hscript.Error",toString:$estr}; },$_.__params__ = ["msg"],$_)
|
|
};
|
|
var hscript_ModuleDecl = $hxEnums["hscript.ModuleDecl"] = { __ename__ : "hscript.ModuleDecl", __constructs__ : ["DPackage","DImport","DClass","DTypedef"]
|
|
,DPackage: ($_=function(path) { return {_hx_index:0,path:path,__enum__:"hscript.ModuleDecl",toString:$estr}; },$_.__params__ = ["path"],$_)
|
|
,DImport: ($_=function(path,everything) { return {_hx_index:1,path:path,everything:everything,__enum__:"hscript.ModuleDecl",toString:$estr}; },$_.__params__ = ["path","everything"],$_)
|
|
,DClass: ($_=function(c) { return {_hx_index:2,c:c,__enum__:"hscript.ModuleDecl",toString:$estr}; },$_.__params__ = ["c"],$_)
|
|
,DTypedef: ($_=function(c) { return {_hx_index:3,c:c,__enum__:"hscript.ModuleDecl",toString:$estr}; },$_.__params__ = ["c"],$_)
|
|
};
|
|
var hscript_FieldAccess = $hxEnums["hscript.FieldAccess"] = { __ename__ : "hscript.FieldAccess", __constructs__ : ["APublic","APrivate","AInline","AOverride","AStatic","AMacro"]
|
|
,APublic: {_hx_index:0,__enum__:"hscript.FieldAccess",toString:$estr}
|
|
,APrivate: {_hx_index:1,__enum__:"hscript.FieldAccess",toString:$estr}
|
|
,AInline: {_hx_index:2,__enum__:"hscript.FieldAccess",toString:$estr}
|
|
,AOverride: {_hx_index:3,__enum__:"hscript.FieldAccess",toString:$estr}
|
|
,AStatic: {_hx_index:4,__enum__:"hscript.FieldAccess",toString:$estr}
|
|
,AMacro: {_hx_index:5,__enum__:"hscript.FieldAccess",toString:$estr}
|
|
};
|
|
var hscript_FieldKind = $hxEnums["hscript.FieldKind"] = { __ename__ : "hscript.FieldKind", __constructs__ : ["KFunction","KVar"]
|
|
,KFunction: ($_=function(f) { return {_hx_index:0,f:f,__enum__:"hscript.FieldKind",toString:$estr}; },$_.__params__ = ["f"],$_)
|
|
,KVar: ($_=function(v) { return {_hx_index:1,v:v,__enum__:"hscript.FieldKind",toString:$estr}; },$_.__params__ = ["v"],$_)
|
|
};
|
|
var hscript__$Interp_Stop = $hxEnums["hscript._Interp.Stop"] = { __ename__ : "hscript._Interp.Stop", __constructs__ : ["SBreak","SContinue","SReturn"]
|
|
,SBreak: {_hx_index:0,__enum__:"hscript._Interp.Stop",toString:$estr}
|
|
,SContinue: {_hx_index:1,__enum__:"hscript._Interp.Stop",toString:$estr}
|
|
,SReturn: {_hx_index:2,__enum__:"hscript._Interp.Stop",toString:$estr}
|
|
};
|
|
var hscript_Token = $hxEnums["hscript.Token"] = { __ename__ : "hscript.Token", __constructs__ : ["TEof","TConst","TId","TOp","TPOpen","TPClose","TBrOpen","TBrClose","TDot","TComma","TSemicolon","TBkOpen","TBkClose","TQuestion","TDoubleDot","TMeta","TPrepro"]
|
|
,TEof: {_hx_index:0,__enum__:"hscript.Token",toString:$estr}
|
|
,TConst: ($_=function(c) { return {_hx_index:1,c:c,__enum__:"hscript.Token",toString:$estr}; },$_.__params__ = ["c"],$_)
|
|
,TId: ($_=function(s) { return {_hx_index:2,s:s,__enum__:"hscript.Token",toString:$estr}; },$_.__params__ = ["s"],$_)
|
|
,TOp: ($_=function(s) { return {_hx_index:3,s:s,__enum__:"hscript.Token",toString:$estr}; },$_.__params__ = ["s"],$_)
|
|
,TPOpen: {_hx_index:4,__enum__:"hscript.Token",toString:$estr}
|
|
,TPClose: {_hx_index:5,__enum__:"hscript.Token",toString:$estr}
|
|
,TBrOpen: {_hx_index:6,__enum__:"hscript.Token",toString:$estr}
|
|
,TBrClose: {_hx_index:7,__enum__:"hscript.Token",toString:$estr}
|
|
,TDot: {_hx_index:8,__enum__:"hscript.Token",toString:$estr}
|
|
,TComma: {_hx_index:9,__enum__:"hscript.Token",toString:$estr}
|
|
,TSemicolon: {_hx_index:10,__enum__:"hscript.Token",toString:$estr}
|
|
,TBkOpen: {_hx_index:11,__enum__:"hscript.Token",toString:$estr}
|
|
,TBkClose: {_hx_index:12,__enum__:"hscript.Token",toString:$estr}
|
|
,TQuestion: {_hx_index:13,__enum__:"hscript.Token",toString:$estr}
|
|
,TDoubleDot: {_hx_index:14,__enum__:"hscript.Token",toString:$estr}
|
|
,TMeta: ($_=function(s) { return {_hx_index:15,s:s,__enum__:"hscript.Token",toString:$estr}; },$_.__params__ = ["s"],$_)
|
|
,TPrepro: ($_=function(s) { return {_hx_index:16,s:s,__enum__:"hscript.Token",toString:$estr}; },$_.__params__ = ["s"],$_)
|
|
};
|
|
var hscript_Parser = function() {
|
|
this.uid = 0;
|
|
this.preprocesorValues = new haxe_ds_StringMap();
|
|
this.line = 1;
|
|
this.opChars = "+*/-=!><&|^%~";
|
|
this.identChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_";
|
|
var priorities = [["%"],["*","/"],["+","-"],["<<",">>",">>>"],["|","&","^"],["==","!=",">","<",">=","<="],["..."],["&&"],["||"],["=","+=","-=","*=","/=","%=","<<=",">>=",">>>=","|=","&=","^=","=>"]];
|
|
this.opPriority = new haxe_ds_StringMap();
|
|
this.opRightAssoc = new haxe_ds_StringMap();
|
|
this.unops = new haxe_ds_StringMap();
|
|
var _g = 0;
|
|
var _g1 = priorities.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var _g2 = 0;
|
|
var _g3 = priorities[i];
|
|
while(_g2 < _g3.length) {
|
|
var x = _g3[_g2];
|
|
++_g2;
|
|
this.opPriority.h[x] = i;
|
|
if(i == 9) {
|
|
this.opRightAssoc.h[x] = true;
|
|
}
|
|
}
|
|
}
|
|
var x = "!";
|
|
this.unops.h[x] = x == "++" || x == "--";
|
|
var x = "++";
|
|
this.unops.h[x] = x == "++" || x == "--";
|
|
var x = "--";
|
|
this.unops.h[x] = x == "++" || x == "--";
|
|
var x = "-";
|
|
this.unops.h[x] = x == "++" || x == "--";
|
|
var x = "~";
|
|
this.unops.h[x] = x == "++" || x == "--";
|
|
};
|
|
$hxClasses["hscript.Parser"] = hscript_Parser;
|
|
hscript_Parser.__name__ = "hscript.Parser";
|
|
hscript_Parser.prototype = {
|
|
line: null
|
|
,opChars: null
|
|
,identChars: null
|
|
,opPriority: null
|
|
,opRightAssoc: null
|
|
,unops: null
|
|
,preprocesorValues: null
|
|
,allowJSON: null
|
|
,allowTypes: null
|
|
,allowMetadata: null
|
|
,resumeErrors: null
|
|
,input: null
|
|
,readPos: null
|
|
,char: null
|
|
,ops: null
|
|
,idents: null
|
|
,uid: null
|
|
,tokens: null
|
|
,error: function(err,pmin,pmax) {
|
|
if(!this.resumeErrors) {
|
|
throw haxe_Exception.thrown(err);
|
|
}
|
|
}
|
|
,invalidChar: function(c) {
|
|
if(!this.resumeErrors) {
|
|
throw haxe_Exception.thrown(hscript_Error.EInvalidChar(c));
|
|
}
|
|
}
|
|
,initParser: function(origin) {
|
|
this.preprocStack = [];
|
|
this.tokens = new haxe_ds_GenericStack();
|
|
this.char = -1;
|
|
this.ops = [];
|
|
this.idents = [];
|
|
this.uid = 0;
|
|
var _g = 0;
|
|
var _g1 = this.opChars.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
this.ops[HxOverrides.cca(this.opChars,i)] = true;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.identChars.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
this.idents[HxOverrides.cca(this.identChars,i)] = true;
|
|
}
|
|
}
|
|
,parseString: function(s,origin) {
|
|
if(origin == null) {
|
|
origin = "hscript";
|
|
}
|
|
this.initParser(origin);
|
|
this.input = s;
|
|
this.readPos = 0;
|
|
var a = [];
|
|
while(true) {
|
|
var tk = this.token();
|
|
if(tk == hscript_Token.TEof) {
|
|
break;
|
|
}
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(tk,_this.head);
|
|
this.parseFullExpr(a);
|
|
}
|
|
if(a.length == 1) {
|
|
return a[0];
|
|
} else {
|
|
return hscript_Expr.EBlock(a);
|
|
}
|
|
}
|
|
,unexpected: function(tk) {
|
|
var err = hscript_Error.EUnexpected(this.tokenString(tk));
|
|
if(!this.resumeErrors) {
|
|
throw haxe_Exception.thrown(err);
|
|
}
|
|
return null;
|
|
}
|
|
,push: function(tk) {
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(tk,_this.head);
|
|
}
|
|
,ensure: function(tk) {
|
|
var t = this.token();
|
|
if(t != tk) {
|
|
this.unexpected(t);
|
|
}
|
|
}
|
|
,ensureToken: function(tk) {
|
|
var t = this.token();
|
|
if(!Type.enumEq(t,tk)) {
|
|
this.unexpected(t);
|
|
}
|
|
}
|
|
,maybe: function(tk) {
|
|
var t = this.token();
|
|
if(Type.enumEq(t,tk)) {
|
|
return true;
|
|
}
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(t,_this.head);
|
|
return false;
|
|
}
|
|
,getIdent: function() {
|
|
var tk = this.token();
|
|
if(tk == null) {
|
|
this.unexpected(tk);
|
|
return null;
|
|
} else if(tk._hx_index == 2) {
|
|
var id = tk.s;
|
|
return id;
|
|
} else {
|
|
this.unexpected(tk);
|
|
return null;
|
|
}
|
|
}
|
|
,expr: function(e) {
|
|
return e;
|
|
}
|
|
,pmin: function(e) {
|
|
return 0;
|
|
}
|
|
,pmax: function(e) {
|
|
return 0;
|
|
}
|
|
,mk: function(e,pmin,pmax) {
|
|
return e;
|
|
}
|
|
,isBlock: function(e) {
|
|
if(e == null) {
|
|
return false;
|
|
}
|
|
switch(e._hx_index) {
|
|
case 2:
|
|
var _g = e.n;
|
|
var e1 = e.e;
|
|
var t = e.t;
|
|
if(e1 != null) {
|
|
return this.isBlock(e1);
|
|
} else if(t != null) {
|
|
if(t == null) {
|
|
return false;
|
|
} else if(t._hx_index == 2) {
|
|
var _g = t.fields;
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
} else {
|
|
return false;
|
|
}
|
|
break;
|
|
case 4:
|
|
var _g = e.e;
|
|
return true;
|
|
case 6:
|
|
var _g = e.e1;
|
|
var _g = e.op;
|
|
var e1 = e.e2;
|
|
return this.isBlock(e1);
|
|
case 7:
|
|
var _g = e.op;
|
|
var e1 = e.e;
|
|
var prefix = e.prefix;
|
|
if(!prefix) {
|
|
return this.isBlock(e1);
|
|
} else {
|
|
return false;
|
|
}
|
|
break;
|
|
case 9:
|
|
var _g = e.cond;
|
|
var e2 = e.e2;
|
|
var e1 = e.e1;
|
|
if(e2 != null) {
|
|
return this.isBlock(e2);
|
|
} else {
|
|
return this.isBlock(e1);
|
|
}
|
|
break;
|
|
case 10:
|
|
var _g = e.cond;
|
|
var e1 = e.e;
|
|
return this.isBlock(e1);
|
|
case 11:
|
|
var _g = e.it;
|
|
var _g = e.v;
|
|
var e1 = e.e;
|
|
return this.isBlock(e1);
|
|
case 14:
|
|
var _g = e.ret;
|
|
var _g = e.name;
|
|
var _g = e.args;
|
|
var e1 = e.e;
|
|
return this.isBlock(e1);
|
|
case 15:
|
|
var e1 = e.e;
|
|
if(e1 != null) {
|
|
return this.isBlock(e1);
|
|
} else {
|
|
return false;
|
|
}
|
|
break;
|
|
case 20:
|
|
var _g = e.t;
|
|
var _g = e.v;
|
|
var _g = e.e;
|
|
var e1 = e.ecatch;
|
|
return this.isBlock(e1);
|
|
case 21:
|
|
var _g = e.fl;
|
|
return true;
|
|
case 23:
|
|
var _g = e.defaultExpr;
|
|
var _g = e.cases;
|
|
var _g = e.e;
|
|
return true;
|
|
case 24:
|
|
var _g = e.cond;
|
|
var e1 = e.e;
|
|
return this.isBlock(e1);
|
|
case 25:
|
|
var _g = e.args;
|
|
var _g = e.name;
|
|
var e1 = e.e;
|
|
return this.isBlock(e1);
|
|
default:
|
|
return false;
|
|
}
|
|
}
|
|
,parseFullExpr: function(exprs) {
|
|
var e = this.parseExpr();
|
|
exprs.push(e);
|
|
var tk = this.token();
|
|
while(true) {
|
|
var tmp;
|
|
if(tk == hscript_Token.TComma && e != null) {
|
|
if(e._hx_index == 2) {
|
|
var _g = e.e;
|
|
var _g1 = e.t;
|
|
var _g2 = e.n;
|
|
tmp = true;
|
|
} else {
|
|
tmp = false;
|
|
}
|
|
} else {
|
|
tmp = false;
|
|
}
|
|
if(!tmp) {
|
|
break;
|
|
}
|
|
e = this.parseStructure("var");
|
|
exprs.push(e);
|
|
tk = this.token();
|
|
}
|
|
if(tk != hscript_Token.TSemicolon && tk != hscript_Token.TEof) {
|
|
if(this.isBlock(e)) {
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(tk,_this.head);
|
|
} else {
|
|
this.unexpected(tk);
|
|
}
|
|
}
|
|
}
|
|
,parseObject: function(p1) {
|
|
var fl = [];
|
|
_hx_loop1: while(true) {
|
|
var tk = this.token();
|
|
var id = null;
|
|
if(tk == null) {
|
|
this.unexpected(tk);
|
|
break;
|
|
} else {
|
|
switch(tk._hx_index) {
|
|
case 1:
|
|
var c = tk.c;
|
|
if(!this.allowJSON) {
|
|
this.unexpected(tk);
|
|
}
|
|
if(c._hx_index == 2) {
|
|
var s = c.s;
|
|
id = s;
|
|
} else {
|
|
this.unexpected(tk);
|
|
}
|
|
break;
|
|
case 2:
|
|
var i = tk.s;
|
|
id = i;
|
|
break;
|
|
case 7:
|
|
break _hx_loop1;
|
|
default:
|
|
this.unexpected(tk);
|
|
break _hx_loop1;
|
|
}
|
|
}
|
|
var t = this.token();
|
|
if(t != hscript_Token.TDoubleDot) {
|
|
this.unexpected(t);
|
|
}
|
|
fl.push({ name : id, e : this.parseExpr()});
|
|
tk = this.token();
|
|
if(tk == null) {
|
|
this.unexpected(tk);
|
|
} else {
|
|
switch(tk._hx_index) {
|
|
case 7:
|
|
break _hx_loop1;
|
|
case 9:
|
|
break;
|
|
default:
|
|
this.unexpected(tk);
|
|
}
|
|
}
|
|
}
|
|
return this.parseExprNext(hscript_Expr.EObject(fl));
|
|
}
|
|
,parseExpr: function() {
|
|
var tk = this.token();
|
|
if(tk == null) {
|
|
return this.unexpected(tk);
|
|
} else {
|
|
switch(tk._hx_index) {
|
|
case 1:
|
|
var c = tk.c;
|
|
return this.parseExprNext(hscript_Expr.EConst(c));
|
|
case 2:
|
|
var id = tk.s;
|
|
var e = this.parseStructure(id);
|
|
if(e == null) {
|
|
e = hscript_Expr.EIdent(id);
|
|
}
|
|
return this.parseExprNext(e);
|
|
case 3:
|
|
var op = tk.s;
|
|
if(Object.prototype.hasOwnProperty.call(this.unops.h,op)) {
|
|
var start = 0;
|
|
var e = this.parseExpr();
|
|
if(op == "-" && e != null) {
|
|
if(e._hx_index == 0) {
|
|
var _g = e.c;
|
|
switch(_g._hx_index) {
|
|
case 0:
|
|
var i = _g.v;
|
|
return hscript_Expr.EConst(hscript_Const.CInt(-i));
|
|
case 1:
|
|
var f = _g.f;
|
|
return hscript_Expr.EConst(hscript_Const.CFloat(-f));
|
|
default:
|
|
}
|
|
}
|
|
}
|
|
return this.makeUnop(op,e);
|
|
}
|
|
return this.unexpected(tk);
|
|
case 4:
|
|
var e = this.parseExpr();
|
|
tk = this.token();
|
|
if(tk != null) {
|
|
switch(tk._hx_index) {
|
|
case 5:
|
|
return this.parseExprNext(hscript_Expr.EParent(e));
|
|
case 9:
|
|
if(e._hx_index == 1) {
|
|
var v = e.v;
|
|
return this.parseLambda([{ name : v}],0);
|
|
}
|
|
break;
|
|
case 14:
|
|
var t = this.parseType();
|
|
tk = this.token();
|
|
if(tk != null) {
|
|
switch(tk._hx_index) {
|
|
case 5:
|
|
return this.parseExprNext(hscript_Expr.ECheckType(e,t));
|
|
case 9:
|
|
if(e._hx_index == 1) {
|
|
var v = e.v;
|
|
return this.parseLambda([{ name : v, t : t}],0);
|
|
}
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
return this.unexpected(tk);
|
|
case 6:
|
|
tk = this.token();
|
|
if(tk == null) {
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(tk,_this.head);
|
|
} else {
|
|
switch(tk._hx_index) {
|
|
case 1:
|
|
var c = tk.c;
|
|
if(this.allowJSON) {
|
|
if(c._hx_index == 2) {
|
|
var _g = c.s;
|
|
var tk2 = this.token();
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(tk2,_this.head);
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(tk,_this.head);
|
|
if(tk2 != null) {
|
|
if(tk2._hx_index == 14) {
|
|
return this.parseExprNext(this.parseObject(0));
|
|
}
|
|
}
|
|
} else {
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(tk,_this.head);
|
|
}
|
|
} else {
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(tk,_this.head);
|
|
}
|
|
break;
|
|
case 2:
|
|
var _g = tk.s;
|
|
var tk2 = this.token();
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(tk2,_this.head);
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(tk,_this.head);
|
|
if(tk2 != null) {
|
|
if(tk2._hx_index == 14) {
|
|
return this.parseExprNext(this.parseObject(0));
|
|
}
|
|
}
|
|
break;
|
|
case 7:
|
|
return this.parseExprNext(hscript_Expr.EObject([]));
|
|
default:
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(tk,_this.head);
|
|
}
|
|
}
|
|
var a = [];
|
|
while(true) {
|
|
this.parseFullExpr(a);
|
|
tk = this.token();
|
|
if(tk == hscript_Token.TBrClose || this.resumeErrors && tk == hscript_Token.TEof) {
|
|
break;
|
|
}
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(tk,_this.head);
|
|
}
|
|
return hscript_Expr.EBlock(a);
|
|
case 11:
|
|
var a = [];
|
|
tk = this.token();
|
|
while(tk != hscript_Token.TBkClose && (!this.resumeErrors || tk != hscript_Token.TEof)) {
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(tk,_this.head);
|
|
a.push(this.parseExpr());
|
|
tk = this.token();
|
|
if(tk == hscript_Token.TComma) {
|
|
tk = this.token();
|
|
}
|
|
}
|
|
if(a.length == 1 && a[0] != null) {
|
|
var _g = a[0];
|
|
switch(_g._hx_index) {
|
|
case 10:
|
|
var _g1 = _g.e;
|
|
var _g1 = _g.cond;
|
|
var tmp = "__a_" + this.uid++;
|
|
var e = hscript_Expr.EBlock([hscript_Expr.EVar(tmp,null,hscript_Expr.EArrayDecl([])),this.mapCompr(tmp,a[0]),hscript_Expr.EIdent(tmp)]);
|
|
return this.parseExprNext(e);
|
|
case 11:
|
|
var _g1 = _g.e;
|
|
var _g1 = _g.it;
|
|
var _g1 = _g.v;
|
|
var tmp = "__a_" + this.uid++;
|
|
var e = hscript_Expr.EBlock([hscript_Expr.EVar(tmp,null,hscript_Expr.EArrayDecl([])),this.mapCompr(tmp,a[0]),hscript_Expr.EIdent(tmp)]);
|
|
return this.parseExprNext(e);
|
|
case 24:
|
|
var _g1 = _g.e;
|
|
var _g1 = _g.cond;
|
|
var tmp = "__a_" + this.uid++;
|
|
var e = hscript_Expr.EBlock([hscript_Expr.EVar(tmp,null,hscript_Expr.EArrayDecl([])),this.mapCompr(tmp,a[0]),hscript_Expr.EIdent(tmp)]);
|
|
return this.parseExprNext(e);
|
|
default:
|
|
}
|
|
}
|
|
return this.parseExprNext(hscript_Expr.EArrayDecl(a));
|
|
case 15:
|
|
var id = tk.s;
|
|
if(this.allowMetadata) {
|
|
var args = this.parseMetaArgs();
|
|
return hscript_Expr.EMeta(id,args,this.parseExpr());
|
|
} else {
|
|
return this.unexpected(tk);
|
|
}
|
|
break;
|
|
default:
|
|
return this.unexpected(tk);
|
|
}
|
|
}
|
|
}
|
|
,parseLambda: function(args,pmin) {
|
|
_hx_loop1: while(true) {
|
|
var id = this.getIdent();
|
|
var t = this.maybe(hscript_Token.TDoubleDot) ? this.parseType() : null;
|
|
args.push({ name : id, t : t});
|
|
var tk = this.token();
|
|
if(tk == null) {
|
|
this.unexpected(tk);
|
|
break;
|
|
} else {
|
|
switch(tk._hx_index) {
|
|
case 5:
|
|
break _hx_loop1;
|
|
case 9:
|
|
break;
|
|
default:
|
|
this.unexpected(tk);
|
|
break _hx_loop1;
|
|
}
|
|
}
|
|
}
|
|
var t = this.token();
|
|
if(!Type.enumEq(t,hscript_Token.TOp("->"))) {
|
|
this.unexpected(t);
|
|
}
|
|
var eret = this.parseExpr();
|
|
return hscript_Expr.EFunction(args,hscript_Expr.EReturn(eret));
|
|
}
|
|
,parseMetaArgs: function() {
|
|
var tk = this.token();
|
|
if(tk != hscript_Token.TPOpen) {
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(tk,_this.head);
|
|
return null;
|
|
}
|
|
var args = [];
|
|
tk = this.token();
|
|
if(tk != hscript_Token.TPClose) {
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(tk,_this.head);
|
|
_hx_loop1: while(true) {
|
|
args.push(this.parseExpr());
|
|
var _g = this.token();
|
|
if(_g == null) {
|
|
var tk = _g;
|
|
this.unexpected(tk);
|
|
} else {
|
|
switch(_g._hx_index) {
|
|
case 5:
|
|
break _hx_loop1;
|
|
case 9:
|
|
break;
|
|
default:
|
|
var tk1 = _g;
|
|
this.unexpected(tk1);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return args;
|
|
}
|
|
,mapCompr: function(tmp,e) {
|
|
if(e == null) {
|
|
return null;
|
|
}
|
|
var edef;
|
|
switch(e._hx_index) {
|
|
case 3:
|
|
var e2 = e.e;
|
|
edef = hscript_Expr.EParent(this.mapCompr(tmp,e2));
|
|
break;
|
|
case 4:
|
|
var _g = e.e;
|
|
if(_g.length == 1) {
|
|
var e1 = _g[0];
|
|
edef = hscript_Expr.EBlock([this.mapCompr(tmp,e1)]);
|
|
} else {
|
|
edef = hscript_Expr.ECall(hscript_Expr.EField(hscript_Expr.EIdent(tmp),"push"),[e]);
|
|
}
|
|
break;
|
|
case 9:
|
|
var e2 = e.e2;
|
|
var e1 = e.e1;
|
|
var cond = e.cond;
|
|
edef = e2 == null ? hscript_Expr.EIf(cond,this.mapCompr(tmp,e1),null) : hscript_Expr.ECall(hscript_Expr.EField(hscript_Expr.EIdent(tmp),"push"),[e]);
|
|
break;
|
|
case 10:
|
|
var e2 = e.e;
|
|
var cond = e.cond;
|
|
edef = hscript_Expr.EWhile(cond,this.mapCompr(tmp,e2));
|
|
break;
|
|
case 11:
|
|
var e2 = e.e;
|
|
var it = e.it;
|
|
var v = e.v;
|
|
edef = hscript_Expr.EFor(v,it,this.mapCompr(tmp,e2));
|
|
break;
|
|
case 24:
|
|
var e2 = e.e;
|
|
var cond = e.cond;
|
|
edef = hscript_Expr.EDoWhile(cond,this.mapCompr(tmp,e2));
|
|
break;
|
|
default:
|
|
edef = hscript_Expr.ECall(hscript_Expr.EField(hscript_Expr.EIdent(tmp),"push"),[e]);
|
|
}
|
|
return edef;
|
|
}
|
|
,makeUnop: function(op,e) {
|
|
if(e == null && this.resumeErrors) {
|
|
return null;
|
|
}
|
|
switch(e._hx_index) {
|
|
case 6:
|
|
var e2 = e.e2;
|
|
var e1 = e.e1;
|
|
var bop = e.op;
|
|
return hscript_Expr.EBinop(bop,this.makeUnop(op,e1),e2);
|
|
case 22:
|
|
var e3 = e.e2;
|
|
var e2 = e.e1;
|
|
var e1 = e.cond;
|
|
return hscript_Expr.ETernary(this.makeUnop(op,e1),e2,e3);
|
|
default:
|
|
return hscript_Expr.EUnop(op,true,e);
|
|
}
|
|
}
|
|
,makeBinop: function(op,e1,e) {
|
|
if(e == null && this.resumeErrors) {
|
|
return hscript_Expr.EBinop(op,e1,e);
|
|
}
|
|
switch(e._hx_index) {
|
|
case 6:
|
|
var e3 = e.e2;
|
|
var e2 = e.e1;
|
|
var op2 = e.op;
|
|
if(this.opPriority.h[op] <= this.opPriority.h[op2] && !Object.prototype.hasOwnProperty.call(this.opRightAssoc.h,op)) {
|
|
return hscript_Expr.EBinop(op2,this.makeBinop(op,e1,e2),e3);
|
|
} else {
|
|
return hscript_Expr.EBinop(op,e1,e);
|
|
}
|
|
break;
|
|
case 22:
|
|
var e4 = e.e2;
|
|
var e3 = e.e1;
|
|
var e2 = e.cond;
|
|
if(Object.prototype.hasOwnProperty.call(this.opRightAssoc.h,op)) {
|
|
return hscript_Expr.EBinop(op,e1,e);
|
|
} else {
|
|
return hscript_Expr.ETernary(this.makeBinop(op,e1,e2),e3,e4);
|
|
}
|
|
break;
|
|
default:
|
|
return hscript_Expr.EBinop(op,e1,e);
|
|
}
|
|
}
|
|
,parseStructure: function(id) {
|
|
switch(id) {
|
|
case "break":
|
|
return hscript_Expr.EBreak;
|
|
case "continue":
|
|
return hscript_Expr.EContinue;
|
|
case "do":
|
|
var e = this.parseExpr();
|
|
var tk = this.token();
|
|
if(tk == null) {
|
|
this.unexpected(tk);
|
|
} else if(tk._hx_index == 2) {
|
|
if(tk.s != "while") {
|
|
this.unexpected(tk);
|
|
}
|
|
} else {
|
|
this.unexpected(tk);
|
|
}
|
|
var econd = this.parseExpr();
|
|
return hscript_Expr.EDoWhile(econd,e);
|
|
case "else":
|
|
return this.unexpected(hscript_Token.TId(id));
|
|
case "for":
|
|
var t = this.token();
|
|
if(t != hscript_Token.TPOpen) {
|
|
this.unexpected(t);
|
|
}
|
|
var vname = this.getIdent();
|
|
var t = this.token();
|
|
if(!Type.enumEq(t,hscript_Token.TId("in"))) {
|
|
this.unexpected(t);
|
|
}
|
|
var eiter = this.parseExpr();
|
|
var t = this.token();
|
|
if(t != hscript_Token.TPClose) {
|
|
this.unexpected(t);
|
|
}
|
|
var e = this.parseExpr();
|
|
return hscript_Expr.EFor(vname,eiter,e);
|
|
case "function":
|
|
var tk = this.token();
|
|
var name = null;
|
|
if(tk == null) {
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(tk,_this.head);
|
|
} else if(tk._hx_index == 2) {
|
|
var id = tk.s;
|
|
name = id;
|
|
} else {
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(tk,_this.head);
|
|
}
|
|
var inf = this.parseFunctionDecl();
|
|
return hscript_Expr.EFunction(inf.args,inf.body,name,inf.ret);
|
|
case "if":
|
|
var t = this.token();
|
|
if(t != hscript_Token.TPOpen) {
|
|
this.unexpected(t);
|
|
}
|
|
var cond = this.parseExpr();
|
|
var t = this.token();
|
|
if(t != hscript_Token.TPClose) {
|
|
this.unexpected(t);
|
|
}
|
|
var e1 = this.parseExpr();
|
|
var e2 = null;
|
|
var semic = false;
|
|
var tk = this.token();
|
|
if(tk == hscript_Token.TSemicolon) {
|
|
semic = true;
|
|
tk = this.token();
|
|
}
|
|
if(Type.enumEq(tk,hscript_Token.TId("else"))) {
|
|
e2 = this.parseExpr();
|
|
} else {
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(tk,_this.head);
|
|
if(semic) {
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(hscript_Token.TSemicolon,_this.head);
|
|
}
|
|
}
|
|
return hscript_Expr.EIf(cond,e1,e2);
|
|
case "inline":
|
|
if(!this.maybe(hscript_Token.TId("function"))) {
|
|
this.unexpected(hscript_Token.TId("inline"));
|
|
}
|
|
return this.parseStructure("function");
|
|
case "new":
|
|
var a = [];
|
|
a.push(this.getIdent());
|
|
_hx_loop1: while(true) {
|
|
var tk = this.token();
|
|
if(tk == null) {
|
|
this.unexpected(tk);
|
|
break;
|
|
} else {
|
|
switch(tk._hx_index) {
|
|
case 4:
|
|
break _hx_loop1;
|
|
case 8:
|
|
a.push(this.getIdent());
|
|
break;
|
|
default:
|
|
this.unexpected(tk);
|
|
break _hx_loop1;
|
|
}
|
|
}
|
|
}
|
|
var args = this.parseExprList(hscript_Token.TPClose);
|
|
return hscript_Expr.ENew(a.join("."),args);
|
|
case "return":
|
|
var tk = this.token();
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(tk,_this.head);
|
|
var e = tk == hscript_Token.TSemicolon ? null : this.parseExpr();
|
|
return hscript_Expr.EReturn(e);
|
|
case "switch":
|
|
var e = this.parseExpr();
|
|
var def = null;
|
|
var cases = [];
|
|
var t = this.token();
|
|
if(t != hscript_Token.TBrOpen) {
|
|
this.unexpected(t);
|
|
}
|
|
_hx_loop2: while(true) {
|
|
var tk = this.token();
|
|
if(tk == null) {
|
|
this.unexpected(tk);
|
|
break;
|
|
} else {
|
|
switch(tk._hx_index) {
|
|
case 2:
|
|
switch(tk.s) {
|
|
case "case":
|
|
var c = { values : [], expr : null};
|
|
cases.push(c);
|
|
_hx_loop3: while(true) {
|
|
var e1 = this.parseExpr();
|
|
c.values.push(e1);
|
|
tk = this.token();
|
|
if(tk == null) {
|
|
this.unexpected(tk);
|
|
break;
|
|
} else {
|
|
switch(tk._hx_index) {
|
|
case 9:
|
|
break;
|
|
case 14:
|
|
break _hx_loop3;
|
|
default:
|
|
this.unexpected(tk);
|
|
break _hx_loop3;
|
|
}
|
|
}
|
|
}
|
|
var exprs = [];
|
|
_hx_loop4: while(true) {
|
|
tk = this.token();
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(tk,_this.head);
|
|
if(tk == null) {
|
|
this.parseFullExpr(exprs);
|
|
} else {
|
|
switch(tk._hx_index) {
|
|
case 0:
|
|
if(this.resumeErrors) {
|
|
break _hx_loop4;
|
|
} else {
|
|
this.parseFullExpr(exprs);
|
|
}
|
|
break;
|
|
case 2:
|
|
switch(tk.s) {
|
|
case "case":case "default":
|
|
break _hx_loop4;
|
|
default:
|
|
this.parseFullExpr(exprs);
|
|
}
|
|
break;
|
|
case 7:
|
|
break _hx_loop4;
|
|
default:
|
|
this.parseFullExpr(exprs);
|
|
}
|
|
}
|
|
}
|
|
c.expr = exprs.length == 1 ? exprs[0] : exprs.length == 0 ? hscript_Expr.EBlock([]) : hscript_Expr.EBlock(exprs);
|
|
break;
|
|
case "default":
|
|
if(def != null) {
|
|
this.unexpected(tk);
|
|
}
|
|
var t = this.token();
|
|
if(t != hscript_Token.TDoubleDot) {
|
|
this.unexpected(t);
|
|
}
|
|
var exprs1 = [];
|
|
_hx_loop5: while(true) {
|
|
tk = this.token();
|
|
var _this1 = this.tokens;
|
|
_this1.head = new haxe_ds_GenericCell(tk,_this1.head);
|
|
if(tk == null) {
|
|
this.parseFullExpr(exprs1);
|
|
} else {
|
|
switch(tk._hx_index) {
|
|
case 0:
|
|
if(this.resumeErrors) {
|
|
break _hx_loop5;
|
|
} else {
|
|
this.parseFullExpr(exprs1);
|
|
}
|
|
break;
|
|
case 2:
|
|
switch(tk.s) {
|
|
case "case":case "default":
|
|
break _hx_loop5;
|
|
default:
|
|
this.parseFullExpr(exprs1);
|
|
}
|
|
break;
|
|
case 7:
|
|
break _hx_loop5;
|
|
default:
|
|
this.parseFullExpr(exprs1);
|
|
}
|
|
}
|
|
}
|
|
def = exprs1.length == 1 ? exprs1[0] : exprs1.length == 0 ? hscript_Expr.EBlock([]) : hscript_Expr.EBlock(exprs1);
|
|
break;
|
|
default:
|
|
this.unexpected(tk);
|
|
break _hx_loop2;
|
|
}
|
|
break;
|
|
case 7:
|
|
break _hx_loop2;
|
|
default:
|
|
this.unexpected(tk);
|
|
break _hx_loop2;
|
|
}
|
|
}
|
|
}
|
|
return hscript_Expr.ESwitch(e,cases,def);
|
|
case "throw":
|
|
var e = this.parseExpr();
|
|
return hscript_Expr.EThrow(e);
|
|
case "try":
|
|
var e = this.parseExpr();
|
|
var t = this.token();
|
|
if(!Type.enumEq(t,hscript_Token.TId("catch"))) {
|
|
this.unexpected(t);
|
|
}
|
|
var t = this.token();
|
|
if(t != hscript_Token.TPOpen) {
|
|
this.unexpected(t);
|
|
}
|
|
var vname = this.getIdent();
|
|
var t = this.token();
|
|
if(t != hscript_Token.TDoubleDot) {
|
|
this.unexpected(t);
|
|
}
|
|
var t = null;
|
|
if(this.allowTypes) {
|
|
t = this.parseType();
|
|
} else {
|
|
var t1 = this.token();
|
|
if(!Type.enumEq(t1,hscript_Token.TId("Dynamic"))) {
|
|
this.unexpected(t1);
|
|
}
|
|
}
|
|
var t1 = this.token();
|
|
if(t1 != hscript_Token.TPClose) {
|
|
this.unexpected(t1);
|
|
}
|
|
var ec = this.parseExpr();
|
|
return hscript_Expr.ETry(e,vname,t,ec);
|
|
case "var":
|
|
var ident = this.getIdent();
|
|
var tk = this.token();
|
|
var t = null;
|
|
if(tk == hscript_Token.TDoubleDot && this.allowTypes) {
|
|
t = this.parseType();
|
|
tk = this.token();
|
|
}
|
|
var e = null;
|
|
if(Type.enumEq(tk,hscript_Token.TOp("="))) {
|
|
e = this.parseExpr();
|
|
} else {
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(tk,_this.head);
|
|
}
|
|
return hscript_Expr.EVar(ident,t,e);
|
|
case "while":
|
|
var econd = this.parseExpr();
|
|
var e = this.parseExpr();
|
|
return hscript_Expr.EWhile(econd,e);
|
|
default:
|
|
return null;
|
|
}
|
|
}
|
|
,parseExprNext: function(e1) {
|
|
var tk = this.token();
|
|
if(tk == null) {
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(tk,_this.head);
|
|
return e1;
|
|
} else {
|
|
switch(tk._hx_index) {
|
|
case 3:
|
|
var op = tk.s;
|
|
if(op == "->") {
|
|
switch(e1._hx_index) {
|
|
case 1:
|
|
var i = e1.v;
|
|
var eret = this.parseExpr();
|
|
return hscript_Expr.EFunction([{ name : i}],hscript_Expr.EReturn(eret));
|
|
case 3:
|
|
var _hx_tmp = e1.e;
|
|
if(_hx_tmp._hx_index == 1) {
|
|
var i = _hx_tmp.v;
|
|
var eret = this.parseExpr();
|
|
return hscript_Expr.EFunction([{ name : i}],hscript_Expr.EReturn(eret));
|
|
}
|
|
break;
|
|
case 26:
|
|
var _hx_tmp = e1.e;
|
|
if(_hx_tmp._hx_index == 1) {
|
|
var t = e1.t;
|
|
var i = _hx_tmp.v;
|
|
var eret = this.parseExpr();
|
|
return hscript_Expr.EFunction([{ name : i, t : t}],hscript_Expr.EReturn(eret));
|
|
}
|
|
break;
|
|
default:
|
|
}
|
|
this.unexpected(tk);
|
|
}
|
|
if(this.unops.h[op]) {
|
|
var tmp;
|
|
if(!this.isBlock(e1)) {
|
|
if(e1._hx_index == 3) {
|
|
var _g = e1.e;
|
|
tmp = true;
|
|
} else {
|
|
tmp = false;
|
|
}
|
|
} else {
|
|
tmp = true;
|
|
}
|
|
if(tmp) {
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(tk,_this.head);
|
|
return e1;
|
|
}
|
|
return this.parseExprNext(hscript_Expr.EUnop(op,false,e1));
|
|
}
|
|
return this.makeBinop(op,e1,this.parseExpr());
|
|
case 4:
|
|
return this.parseExprNext(hscript_Expr.ECall(e1,this.parseExprList(hscript_Token.TPClose)));
|
|
case 8:
|
|
var field = this.getIdent();
|
|
return this.parseExprNext(hscript_Expr.EField(e1,field));
|
|
case 11:
|
|
var e2 = this.parseExpr();
|
|
var t = this.token();
|
|
if(t != hscript_Token.TBkClose) {
|
|
this.unexpected(t);
|
|
}
|
|
return this.parseExprNext(hscript_Expr.EArray(e1,e2));
|
|
case 13:
|
|
var e2 = this.parseExpr();
|
|
var t = this.token();
|
|
if(t != hscript_Token.TDoubleDot) {
|
|
this.unexpected(t);
|
|
}
|
|
var e3 = this.parseExpr();
|
|
return hscript_Expr.ETernary(e1,e2,e3);
|
|
default:
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(tk,_this.head);
|
|
return e1;
|
|
}
|
|
}
|
|
}
|
|
,parseFunctionArgs: function() {
|
|
var args = [];
|
|
var tk = this.token();
|
|
if(tk != hscript_Token.TPClose) {
|
|
var done = false;
|
|
while(!done) {
|
|
var name = null;
|
|
var opt = false;
|
|
if(tk != null) {
|
|
if(tk._hx_index == 13) {
|
|
opt = true;
|
|
tk = this.token();
|
|
}
|
|
}
|
|
if(tk == null) {
|
|
this.unexpected(tk);
|
|
break;
|
|
} else if(tk._hx_index == 2) {
|
|
var id = tk.s;
|
|
name = id;
|
|
} else {
|
|
this.unexpected(tk);
|
|
break;
|
|
}
|
|
var arg = { name : name};
|
|
args.push(arg);
|
|
if(opt) {
|
|
arg.opt = true;
|
|
}
|
|
if(this.allowTypes) {
|
|
if(this.maybe(hscript_Token.TDoubleDot)) {
|
|
arg.t = this.parseType();
|
|
}
|
|
if(this.maybe(hscript_Token.TOp("="))) {
|
|
arg.value = this.parseExpr();
|
|
}
|
|
}
|
|
tk = this.token();
|
|
if(tk == null) {
|
|
this.unexpected(tk);
|
|
} else {
|
|
switch(tk._hx_index) {
|
|
case 5:
|
|
done = true;
|
|
break;
|
|
case 9:
|
|
tk = this.token();
|
|
break;
|
|
default:
|
|
this.unexpected(tk);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return args;
|
|
}
|
|
,parseFunctionDecl: function() {
|
|
var t = this.token();
|
|
if(t != hscript_Token.TPOpen) {
|
|
this.unexpected(t);
|
|
}
|
|
var args = this.parseFunctionArgs();
|
|
var ret = null;
|
|
if(this.allowTypes) {
|
|
var tk = this.token();
|
|
if(tk != hscript_Token.TDoubleDot) {
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(tk,_this.head);
|
|
} else {
|
|
ret = this.parseType();
|
|
}
|
|
}
|
|
return { args : args, ret : ret, body : this.parseExpr()};
|
|
}
|
|
,parsePath: function() {
|
|
var path = [this.getIdent()];
|
|
while(true) {
|
|
var t = this.token();
|
|
if(t != hscript_Token.TDot) {
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(t,_this.head);
|
|
break;
|
|
}
|
|
path.push(this.getIdent());
|
|
}
|
|
return path;
|
|
}
|
|
,parseType: function() {
|
|
var _gthis = this;
|
|
var t = this.token();
|
|
if(t == null) {
|
|
return this.unexpected(t);
|
|
} else {
|
|
switch(t._hx_index) {
|
|
case 2:
|
|
var v = t.s;
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(t,_this.head);
|
|
var path = this.parsePath();
|
|
var params = null;
|
|
t = this.token();
|
|
if(t == null) {
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(t,_this.head);
|
|
} else if(t._hx_index == 3) {
|
|
var op = t.s;
|
|
if(op == "<") {
|
|
params = [];
|
|
_hx_loop1: while(true) {
|
|
params.push(this.parseType());
|
|
t = this.token();
|
|
if(t != null) {
|
|
switch(t._hx_index) {
|
|
case 3:
|
|
var op = t.s;
|
|
if(op == ">") {
|
|
break _hx_loop1;
|
|
}
|
|
if(HxOverrides.cca(op,0) == 62) {
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(hscript_Token.TOp(HxOverrides.substr(op,1,null)),_this.head);
|
|
break _hx_loop1;
|
|
}
|
|
break;
|
|
case 9:
|
|
continue;
|
|
default:
|
|
}
|
|
}
|
|
this.unexpected(t);
|
|
break;
|
|
}
|
|
} else {
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(t,_this.head);
|
|
}
|
|
} else {
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(t,_this.head);
|
|
}
|
|
return this.parseTypeNext(hscript_CType.CTPath(path,params));
|
|
case 4:
|
|
var a = this.token();
|
|
var b = this.token();
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(b,_this.head);
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(a,_this.head);
|
|
var withReturn = function(args) {
|
|
var _g = _gthis.token();
|
|
if(_g == null) {
|
|
var t = _g;
|
|
_gthis.unexpected(t);
|
|
} else if(_g._hx_index == 3) {
|
|
if(_g.s != "->") {
|
|
var t = _g;
|
|
_gthis.unexpected(t);
|
|
}
|
|
} else {
|
|
var t = _g;
|
|
_gthis.unexpected(t);
|
|
}
|
|
return hscript_CType.CTFun(args,_gthis.parseType());
|
|
};
|
|
if(a == null) {
|
|
var t1 = this.parseType();
|
|
var _g = this.token();
|
|
if(_g == null) {
|
|
var t2 = _g;
|
|
return this.unexpected(t2);
|
|
} else {
|
|
switch(_g._hx_index) {
|
|
case 5:
|
|
return this.parseTypeNext(hscript_CType.CTParent(t1));
|
|
case 9:
|
|
var args = [t1];
|
|
while(true) {
|
|
args.push(this.parseType());
|
|
if(!this.maybe(hscript_Token.TComma)) {
|
|
break;
|
|
}
|
|
}
|
|
var t1 = this.token();
|
|
if(t1 != hscript_Token.TPClose) {
|
|
this.unexpected(t1);
|
|
}
|
|
return withReturn(args);
|
|
default:
|
|
var t1 = _g;
|
|
return this.unexpected(t1);
|
|
}
|
|
}
|
|
} else {
|
|
switch(a._hx_index) {
|
|
case 2:
|
|
var _g = a.s;
|
|
if(b == null) {
|
|
var t1 = this.parseType();
|
|
var _g = this.token();
|
|
if(_g == null) {
|
|
var t2 = _g;
|
|
return this.unexpected(t2);
|
|
} else {
|
|
switch(_g._hx_index) {
|
|
case 5:
|
|
return this.parseTypeNext(hscript_CType.CTParent(t1));
|
|
case 9:
|
|
var args = [t1];
|
|
while(true) {
|
|
args.push(this.parseType());
|
|
if(!this.maybe(hscript_Token.TComma)) {
|
|
break;
|
|
}
|
|
}
|
|
var t1 = this.token();
|
|
if(t1 != hscript_Token.TPClose) {
|
|
this.unexpected(t1);
|
|
}
|
|
return withReturn(args);
|
|
default:
|
|
var t1 = _g;
|
|
return this.unexpected(t1);
|
|
}
|
|
}
|
|
} else if(b._hx_index == 14) {
|
|
var _g = [];
|
|
var _g1 = 0;
|
|
var _g2 = this.parseFunctionArgs();
|
|
while(_g1 < _g2.length) {
|
|
var arg = _g2[_g1];
|
|
++_g1;
|
|
var _g3 = arg.value;
|
|
if(_g3 != null) {
|
|
var v = _g3;
|
|
if(!this.resumeErrors) {
|
|
throw haxe_Exception.thrown(hscript_Error.ECustom("Default values not allowed in function types"));
|
|
}
|
|
}
|
|
_g.push(hscript_CType.CTNamed(arg.name,arg.opt ? hscript_CType.CTOpt(arg.t) : arg.t));
|
|
}
|
|
var args = _g;
|
|
return withReturn(args);
|
|
} else {
|
|
var t1 = this.parseType();
|
|
var _g = this.token();
|
|
if(_g == null) {
|
|
var t2 = _g;
|
|
return this.unexpected(t2);
|
|
} else {
|
|
switch(_g._hx_index) {
|
|
case 5:
|
|
return this.parseTypeNext(hscript_CType.CTParent(t1));
|
|
case 9:
|
|
var args = [t1];
|
|
while(true) {
|
|
args.push(this.parseType());
|
|
if(!this.maybe(hscript_Token.TComma)) {
|
|
break;
|
|
}
|
|
}
|
|
var t1 = this.token();
|
|
if(t1 != hscript_Token.TPClose) {
|
|
this.unexpected(t1);
|
|
}
|
|
return withReturn(args);
|
|
default:
|
|
var t1 = _g;
|
|
return this.unexpected(t1);
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
case 5:
|
|
var _g = [];
|
|
var _g1 = 0;
|
|
var _g2 = this.parseFunctionArgs();
|
|
while(_g1 < _g2.length) {
|
|
var arg = _g2[_g1];
|
|
++_g1;
|
|
var _g3 = arg.value;
|
|
if(_g3 != null) {
|
|
var v = _g3;
|
|
if(!this.resumeErrors) {
|
|
throw haxe_Exception.thrown(hscript_Error.ECustom("Default values not allowed in function types"));
|
|
}
|
|
}
|
|
_g.push(hscript_CType.CTNamed(arg.name,arg.opt ? hscript_CType.CTOpt(arg.t) : arg.t));
|
|
}
|
|
var args = _g;
|
|
return withReturn(args);
|
|
default:
|
|
var t1 = this.parseType();
|
|
var _g = this.token();
|
|
if(_g == null) {
|
|
var t2 = _g;
|
|
return this.unexpected(t2);
|
|
} else {
|
|
switch(_g._hx_index) {
|
|
case 5:
|
|
return this.parseTypeNext(hscript_CType.CTParent(t1));
|
|
case 9:
|
|
var args = [t1];
|
|
while(true) {
|
|
args.push(this.parseType());
|
|
if(!this.maybe(hscript_Token.TComma)) {
|
|
break;
|
|
}
|
|
}
|
|
var t1 = this.token();
|
|
if(t1 != hscript_Token.TPClose) {
|
|
this.unexpected(t1);
|
|
}
|
|
return withReturn(args);
|
|
default:
|
|
var t1 = _g;
|
|
return this.unexpected(t1);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
case 6:
|
|
var fields = [];
|
|
var meta = null;
|
|
_hx_loop8: while(true) {
|
|
t = this.token();
|
|
if(t == null) {
|
|
this.unexpected(t);
|
|
break;
|
|
} else {
|
|
switch(t._hx_index) {
|
|
case 2:
|
|
var _g = t.s;
|
|
if(_g == "var") {
|
|
var name = this.getIdent();
|
|
var t1 = this.token();
|
|
if(t1 != hscript_Token.TDoubleDot) {
|
|
this.unexpected(t1);
|
|
}
|
|
fields.push({ name : name, t : this.parseType(), meta : meta});
|
|
meta = null;
|
|
var t2 = this.token();
|
|
if(t2 != hscript_Token.TSemicolon) {
|
|
this.unexpected(t2);
|
|
}
|
|
} else {
|
|
var name1 = _g;
|
|
var t3 = this.token();
|
|
if(t3 != hscript_Token.TDoubleDot) {
|
|
this.unexpected(t3);
|
|
}
|
|
fields.push({ name : name1, t : this.parseType(), meta : meta});
|
|
t = this.token();
|
|
if(t == null) {
|
|
this.unexpected(t);
|
|
} else {
|
|
switch(t._hx_index) {
|
|
case 7:
|
|
break _hx_loop8;
|
|
case 9:
|
|
break;
|
|
default:
|
|
this.unexpected(t);
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
case 7:
|
|
break _hx_loop8;
|
|
case 15:
|
|
var name2 = t.s;
|
|
if(meta == null) {
|
|
meta = [];
|
|
}
|
|
meta.push({ name : name2, params : this.parseMetaArgs()});
|
|
break;
|
|
default:
|
|
this.unexpected(t);
|
|
break _hx_loop8;
|
|
}
|
|
}
|
|
}
|
|
return this.parseTypeNext(hscript_CType.CTAnon(fields));
|
|
default:
|
|
return this.unexpected(t);
|
|
}
|
|
}
|
|
}
|
|
,parseTypeNext: function(t) {
|
|
var tk = this.token();
|
|
if(tk == null) {
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(tk,_this.head);
|
|
return t;
|
|
} else if(tk._hx_index == 3) {
|
|
var op = tk.s;
|
|
if(op != "->") {
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(tk,_this.head);
|
|
return t;
|
|
}
|
|
} else {
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(tk,_this.head);
|
|
return t;
|
|
}
|
|
var t2 = this.parseType();
|
|
if(t2._hx_index == 1) {
|
|
var _g = t2.ret;
|
|
var args = t2.args;
|
|
args.unshift(t);
|
|
return t2;
|
|
} else {
|
|
return hscript_CType.CTFun([t],t2);
|
|
}
|
|
}
|
|
,parseExprList: function(etk) {
|
|
var args = [];
|
|
var tk = this.token();
|
|
if(tk == etk) {
|
|
return args;
|
|
}
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(tk,_this.head);
|
|
while(true) {
|
|
args.push(this.parseExpr());
|
|
tk = this.token();
|
|
if(tk == null) {
|
|
if(tk == etk) {
|
|
break;
|
|
}
|
|
this.unexpected(tk);
|
|
break;
|
|
} else if(tk._hx_index != 9) {
|
|
if(tk == etk) {
|
|
break;
|
|
}
|
|
this.unexpected(tk);
|
|
break;
|
|
}
|
|
}
|
|
return args;
|
|
}
|
|
,parseModule: function(content,origin) {
|
|
if(origin == null) {
|
|
origin = "hscript";
|
|
}
|
|
this.initParser(origin);
|
|
this.input = content;
|
|
this.readPos = 0;
|
|
this.allowTypes = true;
|
|
this.allowMetadata = true;
|
|
var decls = [];
|
|
while(true) {
|
|
var tk = this.token();
|
|
if(tk == hscript_Token.TEof) {
|
|
break;
|
|
}
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(tk,_this.head);
|
|
decls.push(this.parseModuleDecl());
|
|
}
|
|
return decls;
|
|
}
|
|
,parseMetadata: function() {
|
|
var meta = [];
|
|
while(true) {
|
|
var tk = this.token();
|
|
if(tk == null) {
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(tk,_this.head);
|
|
break;
|
|
} else if(tk._hx_index == 15) {
|
|
var name = tk.s;
|
|
meta.push({ name : name, params : this.parseMetaArgs()});
|
|
} else {
|
|
var _this1 = this.tokens;
|
|
_this1.head = new haxe_ds_GenericCell(tk,_this1.head);
|
|
break;
|
|
}
|
|
}
|
|
return meta;
|
|
}
|
|
,parseParams: function() {
|
|
if(this.maybe(hscript_Token.TOp("<"))) {
|
|
if(!this.resumeErrors) {
|
|
throw haxe_Exception.thrown(hscript_Error.EInvalidOp("Unsupported class type parameters"));
|
|
}
|
|
}
|
|
return { };
|
|
}
|
|
,parseModuleDecl: function() {
|
|
var meta = this.parseMetadata();
|
|
var ident = this.getIdent();
|
|
var isPrivate = false;
|
|
var isExtern = false;
|
|
_hx_loop1: while(true) {
|
|
switch(ident) {
|
|
case "extern":
|
|
isExtern = true;
|
|
break;
|
|
case "private":
|
|
isPrivate = true;
|
|
break;
|
|
default:
|
|
break _hx_loop1;
|
|
}
|
|
ident = this.getIdent();
|
|
}
|
|
switch(ident) {
|
|
case "class":
|
|
var name = this.getIdent();
|
|
var params = this.parseParams();
|
|
var extend = null;
|
|
var implement = [];
|
|
_hx_loop2: while(true) {
|
|
var t = this.token();
|
|
if(t == null) {
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(t,_this.head);
|
|
break;
|
|
} else if(t._hx_index == 2) {
|
|
switch(t.s) {
|
|
case "extends":
|
|
extend = this.parseType();
|
|
break;
|
|
case "implements":
|
|
implement.push(this.parseType());
|
|
break;
|
|
default:
|
|
var _this1 = this.tokens;
|
|
_this1.head = new haxe_ds_GenericCell(t,_this1.head);
|
|
break _hx_loop2;
|
|
}
|
|
} else {
|
|
var _this2 = this.tokens;
|
|
_this2.head = new haxe_ds_GenericCell(t,_this2.head);
|
|
break;
|
|
}
|
|
}
|
|
var fields = [];
|
|
var t = this.token();
|
|
if(t != hscript_Token.TBrOpen) {
|
|
this.unexpected(t);
|
|
}
|
|
while(!this.maybe(hscript_Token.TBrClose)) fields.push(this.parseField());
|
|
return hscript_ModuleDecl.DClass({ name : name, meta : meta, params : params, extend : extend, implement : implement, fields : fields, isPrivate : isPrivate, isExtern : isExtern});
|
|
case "import":
|
|
var path = [this.getIdent()];
|
|
var star = false;
|
|
while(true) {
|
|
var t = this.token();
|
|
if(t != hscript_Token.TDot) {
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(t,_this.head);
|
|
break;
|
|
}
|
|
t = this.token();
|
|
if(t == null) {
|
|
this.unexpected(t);
|
|
} else {
|
|
switch(t._hx_index) {
|
|
case 2:
|
|
var id = t.s;
|
|
path.push(id);
|
|
break;
|
|
case 3:
|
|
if(t.s == "*") {
|
|
star = true;
|
|
} else {
|
|
this.unexpected(t);
|
|
}
|
|
break;
|
|
default:
|
|
this.unexpected(t);
|
|
}
|
|
}
|
|
}
|
|
var t = this.token();
|
|
if(t != hscript_Token.TSemicolon) {
|
|
this.unexpected(t);
|
|
}
|
|
return hscript_ModuleDecl.DImport(path,star);
|
|
case "package":
|
|
var path = this.parsePath();
|
|
var t = this.token();
|
|
if(t != hscript_Token.TSemicolon) {
|
|
this.unexpected(t);
|
|
}
|
|
return hscript_ModuleDecl.DPackage(path);
|
|
case "typedef":
|
|
var name = this.getIdent();
|
|
var params = this.parseParams();
|
|
var t = this.token();
|
|
if(!Type.enumEq(t,hscript_Token.TOp("="))) {
|
|
this.unexpected(t);
|
|
}
|
|
var t = this.parseType();
|
|
return hscript_ModuleDecl.DTypedef({ name : name, meta : meta, params : params, isPrivate : isPrivate, t : t});
|
|
default:
|
|
this.unexpected(hscript_Token.TId(ident));
|
|
}
|
|
return null;
|
|
}
|
|
,parseField: function() {
|
|
var meta = this.parseMetadata();
|
|
var access = [];
|
|
_hx_loop1: while(true) {
|
|
var id = this.getIdent();
|
|
switch(id) {
|
|
case "function":
|
|
var name = this.getIdent();
|
|
var inf = this.parseFunctionDecl();
|
|
return { name : name, meta : meta, access : access, kind : hscript_FieldKind.KFunction({ args : inf.args, expr : inf.body, ret : inf.ret})};
|
|
case "inline":
|
|
access.push(hscript_FieldAccess.AInline);
|
|
break;
|
|
case "macro":
|
|
access.push(hscript_FieldAccess.AMacro);
|
|
break;
|
|
case "override":
|
|
access.push(hscript_FieldAccess.AOverride);
|
|
break;
|
|
case "private":
|
|
access.push(hscript_FieldAccess.APrivate);
|
|
break;
|
|
case "public":
|
|
access.push(hscript_FieldAccess.APublic);
|
|
break;
|
|
case "static":
|
|
access.push(hscript_FieldAccess.AStatic);
|
|
break;
|
|
case "var":
|
|
var name1 = this.getIdent();
|
|
var get = null;
|
|
var set = null;
|
|
if(this.maybe(hscript_Token.TPOpen)) {
|
|
get = this.getIdent();
|
|
var t = this.token();
|
|
if(t != hscript_Token.TComma) {
|
|
this.unexpected(t);
|
|
}
|
|
set = this.getIdent();
|
|
var t1 = this.token();
|
|
if(t1 != hscript_Token.TPClose) {
|
|
this.unexpected(t1);
|
|
}
|
|
}
|
|
var type = this.maybe(hscript_Token.TDoubleDot) ? this.parseType() : null;
|
|
var expr = this.maybe(hscript_Token.TOp("=")) ? this.parseExpr() : null;
|
|
if(expr != null) {
|
|
if(this.isBlock(expr)) {
|
|
this.maybe(hscript_Token.TSemicolon);
|
|
} else {
|
|
var t2 = this.token();
|
|
if(t2 != hscript_Token.TSemicolon) {
|
|
this.unexpected(t2);
|
|
}
|
|
}
|
|
} else {
|
|
var tmp;
|
|
if(type != null) {
|
|
if(type == null) {
|
|
tmp = false;
|
|
} else if(type._hx_index == 2) {
|
|
var _g = type.fields;
|
|
tmp = true;
|
|
} else {
|
|
tmp = false;
|
|
}
|
|
} else {
|
|
tmp = false;
|
|
}
|
|
if(tmp) {
|
|
this.maybe(hscript_Token.TSemicolon);
|
|
} else {
|
|
var t3 = this.token();
|
|
if(t3 != hscript_Token.TSemicolon) {
|
|
this.unexpected(t3);
|
|
}
|
|
}
|
|
}
|
|
return { name : name1, meta : meta, access : access, kind : hscript_FieldKind.KVar({ get : get, set : set, type : type, expr : expr})};
|
|
default:
|
|
this.unexpected(hscript_Token.TId(id));
|
|
break _hx_loop1;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
,readChar: function() {
|
|
return this.input.charCodeAt(this.readPos++);
|
|
}
|
|
,readString: function(until) {
|
|
var c = 0;
|
|
var b_b = "";
|
|
var esc = false;
|
|
var old = this.line;
|
|
var s = this.input;
|
|
while(true) {
|
|
var c = this.input.charCodeAt(this.readPos++);
|
|
if(c != c) {
|
|
this.line = old;
|
|
if(!this.resumeErrors) {
|
|
throw haxe_Exception.thrown(hscript_Error.EUnterminatedString);
|
|
}
|
|
break;
|
|
}
|
|
if(esc) {
|
|
esc = false;
|
|
switch(c) {
|
|
case 34:case 39:case 92:
|
|
b_b += String.fromCodePoint(c);
|
|
break;
|
|
case 47:
|
|
if(this.allowJSON) {
|
|
b_b += String.fromCodePoint(c);
|
|
} else {
|
|
this.invalidChar(c);
|
|
}
|
|
break;
|
|
case 110:
|
|
b_b += String.fromCodePoint(10);
|
|
break;
|
|
case 114:
|
|
b_b += String.fromCodePoint(13);
|
|
break;
|
|
case 116:
|
|
b_b += String.fromCodePoint(9);
|
|
break;
|
|
case 117:
|
|
if(!this.allowJSON) {
|
|
this.invalidChar(c);
|
|
}
|
|
var k = 0;
|
|
var _g = 0;
|
|
while(_g < 4) {
|
|
var i = _g++;
|
|
k <<= 4;
|
|
var char = this.input.charCodeAt(this.readPos++);
|
|
switch(char) {
|
|
case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:
|
|
k += char - 48;
|
|
break;
|
|
case 65:case 66:case 67:case 68:case 69:case 70:
|
|
k += char - 55;
|
|
break;
|
|
case 97:case 98:case 99:case 100:case 101:case 102:
|
|
k += char - 87;
|
|
break;
|
|
default:
|
|
if(char != char) {
|
|
this.line = old;
|
|
if(!this.resumeErrors) {
|
|
throw haxe_Exception.thrown(hscript_Error.EUnterminatedString);
|
|
}
|
|
}
|
|
this.invalidChar(char);
|
|
}
|
|
}
|
|
b_b += String.fromCodePoint(k);
|
|
break;
|
|
default:
|
|
this.invalidChar(c);
|
|
}
|
|
} else if(c == 92) {
|
|
esc = true;
|
|
} else if(c == until) {
|
|
break;
|
|
} else {
|
|
if(c == 10) {
|
|
this.line++;
|
|
}
|
|
b_b += String.fromCodePoint(c);
|
|
}
|
|
}
|
|
return b_b;
|
|
}
|
|
,token: function() {
|
|
if(this.tokens.head != null) {
|
|
var _this = this.tokens;
|
|
var k = _this.head;
|
|
if(k == null) {
|
|
return null;
|
|
} else {
|
|
_this.head = k.next;
|
|
return k.elt;
|
|
}
|
|
}
|
|
var char;
|
|
if(this.char < 0) {
|
|
char = this.input.charCodeAt(this.readPos++);
|
|
} else {
|
|
char = this.char;
|
|
this.char = -1;
|
|
}
|
|
while(true) {
|
|
if(char != char) {
|
|
this.char = char;
|
|
return hscript_Token.TEof;
|
|
}
|
|
switch(char) {
|
|
case 0:
|
|
return hscript_Token.TEof;
|
|
case 10:
|
|
this.line++;
|
|
break;
|
|
case 9:case 13:case 32:
|
|
break;
|
|
case 35:
|
|
char = this.input.charCodeAt(this.readPos++);
|
|
if(this.idents[char]) {
|
|
var id = String.fromCodePoint(char);
|
|
while(true) {
|
|
char = this.input.charCodeAt(this.readPos++);
|
|
if(!this.idents[char]) {
|
|
this.char = char;
|
|
return this.preprocess(id);
|
|
}
|
|
id += String.fromCodePoint(char);
|
|
}
|
|
}
|
|
this.invalidChar(char);
|
|
break;
|
|
case 34:case 39:
|
|
return hscript_Token.TConst(hscript_Const.CString(this.readString(char)));
|
|
case 40:
|
|
return hscript_Token.TPOpen;
|
|
case 41:
|
|
return hscript_Token.TPClose;
|
|
case 44:
|
|
return hscript_Token.TComma;
|
|
case 46:
|
|
char = this.input.charCodeAt(this.readPos++);
|
|
switch(char) {
|
|
case 46:
|
|
char = this.input.charCodeAt(this.readPos++);
|
|
if(char != 46) {
|
|
this.invalidChar(char);
|
|
}
|
|
return hscript_Token.TOp("...");
|
|
case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:
|
|
var n = char - 48;
|
|
var exp = 1;
|
|
while(true) {
|
|
char = this.input.charCodeAt(this.readPos++);
|
|
exp *= 10;
|
|
switch(char) {
|
|
case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:
|
|
n = n * 10 + (char - 48);
|
|
break;
|
|
default:
|
|
this.char = char;
|
|
return hscript_Token.TConst(hscript_Const.CFloat(n / exp));
|
|
}
|
|
}
|
|
break;
|
|
default:
|
|
this.char = char;
|
|
return hscript_Token.TDot;
|
|
}
|
|
break;
|
|
case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:
|
|
var n1 = (char - 48) * 1.0;
|
|
var exp1 = 0.;
|
|
while(true) {
|
|
char = this.input.charCodeAt(this.readPos++);
|
|
exp1 *= 10;
|
|
switch(char) {
|
|
case 46:
|
|
if(exp1 > 0) {
|
|
if(exp1 == 10 && this.input.charCodeAt(this.readPos++) == 46) {
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(hscript_Token.TOp("..."),_this.head);
|
|
var i = n1 | 0;
|
|
return hscript_Token.TConst(i == n1 ? hscript_Const.CInt(i) : hscript_Const.CFloat(n1));
|
|
}
|
|
this.invalidChar(char);
|
|
}
|
|
exp1 = 1.;
|
|
break;
|
|
case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:
|
|
n1 = n1 * 10 + (char - 48);
|
|
break;
|
|
case 69:case 101:
|
|
var tk = this.token();
|
|
var pow = null;
|
|
if(tk == null) {
|
|
var _this1 = this.tokens;
|
|
_this1.head = new haxe_ds_GenericCell(tk,_this1.head);
|
|
} else {
|
|
switch(tk._hx_index) {
|
|
case 1:
|
|
var _g = tk.c;
|
|
if(_g._hx_index == 0) {
|
|
var e = _g.v;
|
|
pow = e;
|
|
} else {
|
|
var _this2 = this.tokens;
|
|
_this2.head = new haxe_ds_GenericCell(tk,_this2.head);
|
|
}
|
|
break;
|
|
case 3:
|
|
if(tk.s == "-") {
|
|
tk = this.token();
|
|
if(tk == null) {
|
|
var _this3 = this.tokens;
|
|
_this3.head = new haxe_ds_GenericCell(tk,_this3.head);
|
|
} else if(tk._hx_index == 1) {
|
|
var _g1 = tk.c;
|
|
if(_g1._hx_index == 0) {
|
|
var e1 = _g1.v;
|
|
pow = -e1;
|
|
} else {
|
|
var _this4 = this.tokens;
|
|
_this4.head = new haxe_ds_GenericCell(tk,_this4.head);
|
|
}
|
|
} else {
|
|
var _this5 = this.tokens;
|
|
_this5.head = new haxe_ds_GenericCell(tk,_this5.head);
|
|
}
|
|
} else {
|
|
var _this6 = this.tokens;
|
|
_this6.head = new haxe_ds_GenericCell(tk,_this6.head);
|
|
}
|
|
break;
|
|
default:
|
|
var _this7 = this.tokens;
|
|
_this7.head = new haxe_ds_GenericCell(tk,_this7.head);
|
|
}
|
|
}
|
|
if(pow == null) {
|
|
this.invalidChar(char);
|
|
}
|
|
return hscript_Token.TConst(hscript_Const.CFloat(Math.pow(10,pow) / exp1 * n1 * 10));
|
|
case 120:
|
|
if(n1 > 0 || exp1 > 0) {
|
|
this.invalidChar(char);
|
|
}
|
|
var n2 = 0;
|
|
while(true) {
|
|
char = this.input.charCodeAt(this.readPos++);
|
|
switch(char) {
|
|
case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:
|
|
n2 = (n2 << 4) + char - 48;
|
|
break;
|
|
case 65:case 66:case 67:case 68:case 69:case 70:
|
|
n2 = (n2 << 4) + (char - 55);
|
|
break;
|
|
case 97:case 98:case 99:case 100:case 101:case 102:
|
|
n2 = (n2 << 4) + (char - 87);
|
|
break;
|
|
default:
|
|
this.char = char;
|
|
return hscript_Token.TConst(hscript_Const.CInt(n2));
|
|
}
|
|
}
|
|
break;
|
|
default:
|
|
this.char = char;
|
|
var i1 = n1 | 0;
|
|
return hscript_Token.TConst(exp1 > 0 ? hscript_Const.CFloat(n1 * 10 / exp1) : i1 == n1 ? hscript_Const.CInt(i1) : hscript_Const.CFloat(n1));
|
|
}
|
|
}
|
|
break;
|
|
case 58:
|
|
return hscript_Token.TDoubleDot;
|
|
case 59:
|
|
return hscript_Token.TSemicolon;
|
|
case 61:
|
|
char = this.input.charCodeAt(this.readPos++);
|
|
if(char == 61) {
|
|
return hscript_Token.TOp("==");
|
|
} else if(char == 62) {
|
|
return hscript_Token.TOp("=>");
|
|
}
|
|
this.char = char;
|
|
return hscript_Token.TOp("=");
|
|
case 63:
|
|
return hscript_Token.TQuestion;
|
|
case 64:
|
|
char = this.input.charCodeAt(this.readPos++);
|
|
if(this.idents[char] || char == 58) {
|
|
var id1 = String.fromCodePoint(char);
|
|
while(true) {
|
|
char = this.input.charCodeAt(this.readPos++);
|
|
if(!this.idents[char]) {
|
|
this.char = char;
|
|
return hscript_Token.TMeta(id1);
|
|
}
|
|
id1 += String.fromCodePoint(char);
|
|
}
|
|
}
|
|
this.invalidChar(char);
|
|
break;
|
|
case 91:
|
|
return hscript_Token.TBkOpen;
|
|
case 93:
|
|
return hscript_Token.TBkClose;
|
|
case 123:
|
|
return hscript_Token.TBrOpen;
|
|
case 125:
|
|
return hscript_Token.TBrClose;
|
|
default:
|
|
if(this.ops[char]) {
|
|
var op = String.fromCodePoint(char);
|
|
var prev = -1;
|
|
while(true) {
|
|
char = this.input.charCodeAt(this.readPos++);
|
|
if(char != char) {
|
|
char = 0;
|
|
}
|
|
if(!this.ops[char] || prev == 61) {
|
|
if(HxOverrides.cca(op,0) == 47) {
|
|
return this.tokenComment(op,char);
|
|
}
|
|
this.char = char;
|
|
return hscript_Token.TOp(op);
|
|
}
|
|
prev = char;
|
|
op += String.fromCodePoint(char);
|
|
}
|
|
}
|
|
if(this.idents[char]) {
|
|
var id2 = String.fromCodePoint(char);
|
|
while(true) {
|
|
char = this.input.charCodeAt(this.readPos++);
|
|
if(char != char) {
|
|
char = 0;
|
|
}
|
|
if(!this.idents[char]) {
|
|
this.char = char;
|
|
return hscript_Token.TId(id2);
|
|
}
|
|
id2 += String.fromCodePoint(char);
|
|
}
|
|
}
|
|
this.invalidChar(char);
|
|
}
|
|
char = this.input.charCodeAt(this.readPos++);
|
|
}
|
|
}
|
|
,preprocValue: function(id) {
|
|
return this.preprocesorValues.h[id];
|
|
}
|
|
,preprocStack: null
|
|
,parsePreproCond: function() {
|
|
var tk = this.token();
|
|
if(tk == null) {
|
|
return this.unexpected(tk);
|
|
} else {
|
|
switch(tk._hx_index) {
|
|
case 2:
|
|
var id = tk.s;
|
|
return hscript_Expr.EIdent(id);
|
|
case 3:
|
|
if(tk.s == "!") {
|
|
return hscript_Expr.EUnop("!",true,this.parsePreproCond());
|
|
} else {
|
|
return this.unexpected(tk);
|
|
}
|
|
break;
|
|
case 4:
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(hscript_Token.TPOpen,_this.head);
|
|
return this.parseExpr();
|
|
default:
|
|
return this.unexpected(tk);
|
|
}
|
|
}
|
|
}
|
|
,evalPreproCond: function(e) {
|
|
switch(e._hx_index) {
|
|
case 1:
|
|
var id = e.v;
|
|
return this.preprocValue(id) != null;
|
|
case 3:
|
|
var e1 = e.e;
|
|
return this.evalPreproCond(e1);
|
|
case 6:
|
|
var _g = e.e2;
|
|
var _g1 = e.e1;
|
|
switch(e.op) {
|
|
case "&&":
|
|
var e2 = _g;
|
|
var e1 = _g1;
|
|
if(this.evalPreproCond(e1)) {
|
|
return this.evalPreproCond(e2);
|
|
} else {
|
|
return false;
|
|
}
|
|
break;
|
|
case "||":
|
|
var e2 = _g;
|
|
var e1 = _g1;
|
|
if(!this.evalPreproCond(e1)) {
|
|
return this.evalPreproCond(e2);
|
|
} else {
|
|
return true;
|
|
}
|
|
break;
|
|
default:
|
|
if(!this.resumeErrors) {
|
|
throw haxe_Exception.thrown(hscript_Error.EInvalidPreprocessor("Can't eval " + $hxEnums[e.__enum__].__constructs__[e._hx_index]));
|
|
}
|
|
return false;
|
|
}
|
|
break;
|
|
case 7:
|
|
var _g = e.prefix;
|
|
if(e.op == "!") {
|
|
var e1 = e.e;
|
|
return !this.evalPreproCond(e1);
|
|
} else {
|
|
if(!this.resumeErrors) {
|
|
throw haxe_Exception.thrown(hscript_Error.EInvalidPreprocessor("Can't eval " + $hxEnums[e.__enum__].__constructs__[e._hx_index]));
|
|
}
|
|
return false;
|
|
}
|
|
break;
|
|
default:
|
|
if(!this.resumeErrors) {
|
|
throw haxe_Exception.thrown(hscript_Error.EInvalidPreprocessor("Can't eval " + $hxEnums[e.__enum__].__constructs__[e._hx_index]));
|
|
}
|
|
return false;
|
|
}
|
|
}
|
|
,preprocess: function(id) {
|
|
switch(id) {
|
|
case "else":case "elseif":
|
|
if(this.preprocStack.length > 0) {
|
|
if(this.preprocStack[this.preprocStack.length - 1].r) {
|
|
this.preprocStack[this.preprocStack.length - 1].r = false;
|
|
this.skipTokens();
|
|
return this.token();
|
|
} else if(id == "else") {
|
|
this.preprocStack.pop();
|
|
this.preprocStack.push({ r : true});
|
|
return this.token();
|
|
} else {
|
|
this.preprocStack.pop();
|
|
return this.preprocess("if");
|
|
}
|
|
} else {
|
|
return hscript_Token.TPrepro(id);
|
|
}
|
|
break;
|
|
case "end":
|
|
if(this.preprocStack.length > 0) {
|
|
this.preprocStack.pop();
|
|
return this.token();
|
|
} else {
|
|
return hscript_Token.TPrepro(id);
|
|
}
|
|
break;
|
|
case "if":
|
|
var e = this.parsePreproCond();
|
|
if(this.evalPreproCond(e)) {
|
|
this.preprocStack.push({ r : true});
|
|
return this.token();
|
|
}
|
|
this.preprocStack.push({ r : false});
|
|
this.skipTokens();
|
|
return this.token();
|
|
default:
|
|
return hscript_Token.TPrepro(id);
|
|
}
|
|
}
|
|
,skipTokens: function() {
|
|
var spos = this.preprocStack.length - 1;
|
|
var obj = this.preprocStack[spos];
|
|
var pos = this.readPos;
|
|
while(true) {
|
|
var tk = this.token();
|
|
if(tk == hscript_Token.TEof) {
|
|
if(!this.resumeErrors) {
|
|
throw haxe_Exception.thrown(hscript_Error.EInvalidPreprocessor("Unclosed"));
|
|
}
|
|
}
|
|
if(this.preprocStack[spos] != obj) {
|
|
var _this = this.tokens;
|
|
_this.head = new haxe_ds_GenericCell(tk,_this.head);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
,tokenComment: function(op,char) {
|
|
var c = HxOverrides.cca(op,1);
|
|
var s = this.input;
|
|
if(c == 47) {
|
|
while(char != 13 && char != 10) {
|
|
char = this.input.charCodeAt(this.readPos++);
|
|
if(char != char) {
|
|
break;
|
|
}
|
|
}
|
|
this.char = char;
|
|
return this.token();
|
|
}
|
|
if(c == 42) {
|
|
var old = this.line;
|
|
if(op == "/**/") {
|
|
this.char = char;
|
|
return this.token();
|
|
}
|
|
while(true) {
|
|
while(char != 42) {
|
|
if(char == 10) {
|
|
this.line++;
|
|
}
|
|
char = this.input.charCodeAt(this.readPos++);
|
|
if(char != char) {
|
|
this.line = old;
|
|
if(!this.resumeErrors) {
|
|
throw haxe_Exception.thrown(hscript_Error.EUnterminatedComment);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
char = this.input.charCodeAt(this.readPos++);
|
|
if(char != char) {
|
|
this.line = old;
|
|
if(!this.resumeErrors) {
|
|
throw haxe_Exception.thrown(hscript_Error.EUnterminatedComment);
|
|
}
|
|
break;
|
|
}
|
|
if(char == 47) {
|
|
break;
|
|
}
|
|
}
|
|
return this.token();
|
|
}
|
|
this.char = char;
|
|
return hscript_Token.TOp(op);
|
|
}
|
|
,constString: function(c) {
|
|
switch(c._hx_index) {
|
|
case 0:
|
|
var v = c.v;
|
|
if(v == null) {
|
|
return "null";
|
|
} else {
|
|
return "" + v;
|
|
}
|
|
break;
|
|
case 1:
|
|
var f = c.f;
|
|
if(f == null) {
|
|
return "null";
|
|
} else {
|
|
return "" + f;
|
|
}
|
|
break;
|
|
case 2:
|
|
var s = c.s;
|
|
return s;
|
|
}
|
|
}
|
|
,tokenString: function(t) {
|
|
switch(t._hx_index) {
|
|
case 0:
|
|
return "<eof>";
|
|
case 1:
|
|
var c = t.c;
|
|
return this.constString(c);
|
|
case 2:
|
|
var s = t.s;
|
|
return s;
|
|
case 3:
|
|
var s = t.s;
|
|
return s;
|
|
case 4:
|
|
return "(";
|
|
case 5:
|
|
return ")";
|
|
case 6:
|
|
return "{";
|
|
case 7:
|
|
return "}";
|
|
case 8:
|
|
return ".";
|
|
case 9:
|
|
return ",";
|
|
case 10:
|
|
return ";";
|
|
case 11:
|
|
return "[";
|
|
case 12:
|
|
return "]";
|
|
case 13:
|
|
return "?";
|
|
case 14:
|
|
return ":";
|
|
case 15:
|
|
var id = t.s;
|
|
return "@" + id;
|
|
case 16:
|
|
var id = t.s;
|
|
return "#" + id;
|
|
}
|
|
}
|
|
,__class__: hscript_Parser
|
|
};
|
|
var hscript_Tools = function() { };
|
|
$hxClasses["hscript.Tools"] = hscript_Tools;
|
|
hscript_Tools.__name__ = "hscript.Tools";
|
|
hscript_Tools.iter = function(e,f) {
|
|
switch(e._hx_index) {
|
|
case 0:
|
|
var _g = e.c;
|
|
break;
|
|
case 1:
|
|
var _g = e.v;
|
|
break;
|
|
case 2:
|
|
var _g = e.t;
|
|
var _g = e.n;
|
|
var e1 = e.e;
|
|
if(e1 != null) {
|
|
f(e1);
|
|
}
|
|
break;
|
|
case 3:
|
|
var e1 = e.e;
|
|
f(e1);
|
|
break;
|
|
case 4:
|
|
var el = e.e;
|
|
var _g = 0;
|
|
while(_g < el.length) {
|
|
var e1 = el[_g];
|
|
++_g;
|
|
f(e1);
|
|
}
|
|
break;
|
|
case 5:
|
|
var _g = e.f;
|
|
var e1 = e.e;
|
|
f(e1);
|
|
break;
|
|
case 6:
|
|
var _g = e.op;
|
|
var e2 = e.e2;
|
|
var e1 = e.e1;
|
|
f(e1);
|
|
f(e2);
|
|
break;
|
|
case 7:
|
|
var _g = e.prefix;
|
|
var _g = e.op;
|
|
var e1 = e.e;
|
|
f(e1);
|
|
break;
|
|
case 8:
|
|
var args = e.params;
|
|
var e1 = e.e;
|
|
f(e1);
|
|
var _g = 0;
|
|
while(_g < args.length) {
|
|
var a = args[_g];
|
|
++_g;
|
|
f(a);
|
|
}
|
|
break;
|
|
case 9:
|
|
var e2 = e.e2;
|
|
var e1 = e.e1;
|
|
var c = e.cond;
|
|
f(c);
|
|
f(e1);
|
|
if(e2 != null) {
|
|
f(e2);
|
|
}
|
|
break;
|
|
case 10:
|
|
var e1 = e.e;
|
|
var c = e.cond;
|
|
f(c);
|
|
f(e1);
|
|
break;
|
|
case 11:
|
|
var _g = e.v;
|
|
var e1 = e.e;
|
|
var it = e.it;
|
|
f(it);
|
|
f(e1);
|
|
break;
|
|
case 12:case 13:
|
|
break;
|
|
case 14:
|
|
var _g = e.ret;
|
|
var _g = e.name;
|
|
var _g = e.args;
|
|
var e1 = e.e;
|
|
f(e1);
|
|
break;
|
|
case 15:
|
|
var e1 = e.e;
|
|
if(e1 != null) {
|
|
f(e1);
|
|
}
|
|
break;
|
|
case 16:
|
|
var i = e.index;
|
|
var e1 = e.e;
|
|
f(e1);
|
|
f(i);
|
|
break;
|
|
case 17:
|
|
var el = e.e;
|
|
var _g = 0;
|
|
while(_g < el.length) {
|
|
var e1 = el[_g];
|
|
++_g;
|
|
f(e1);
|
|
}
|
|
break;
|
|
case 18:
|
|
var _g = e.cl;
|
|
var el = e.params;
|
|
var _g = 0;
|
|
while(_g < el.length) {
|
|
var e1 = el[_g];
|
|
++_g;
|
|
f(e1);
|
|
}
|
|
break;
|
|
case 19:
|
|
var e1 = e.e;
|
|
f(e1);
|
|
break;
|
|
case 20:
|
|
var _g = e.t;
|
|
var _g = e.v;
|
|
var c = e.ecatch;
|
|
var e1 = e.e;
|
|
f(e1);
|
|
f(c);
|
|
break;
|
|
case 21:
|
|
var fl = e.fl;
|
|
var _g = 0;
|
|
while(_g < fl.length) {
|
|
var fi = fl[_g];
|
|
++_g;
|
|
f(fi.e);
|
|
}
|
|
break;
|
|
case 22:
|
|
var e2 = e.e2;
|
|
var e1 = e.e1;
|
|
var c = e.cond;
|
|
f(c);
|
|
f(e1);
|
|
f(e2);
|
|
break;
|
|
case 23:
|
|
var def = e.defaultExpr;
|
|
var cases = e.cases;
|
|
var e1 = e.e;
|
|
f(e1);
|
|
var _g = 0;
|
|
while(_g < cases.length) {
|
|
var c = cases[_g];
|
|
++_g;
|
|
var _g1 = 0;
|
|
var _g2 = c.values;
|
|
while(_g1 < _g2.length) {
|
|
var v = _g2[_g1];
|
|
++_g1;
|
|
f(v);
|
|
}
|
|
f(c.expr);
|
|
}
|
|
if(def != null) {
|
|
f(def);
|
|
}
|
|
break;
|
|
case 24:
|
|
var e1 = e.e;
|
|
var c = e.cond;
|
|
f(c);
|
|
f(e1);
|
|
break;
|
|
case 25:
|
|
var e1 = e.e;
|
|
var args = e.args;
|
|
var name = e.name;
|
|
if(args != null) {
|
|
var _g = 0;
|
|
while(_g < args.length) {
|
|
var a = args[_g];
|
|
++_g;
|
|
f(a);
|
|
}
|
|
}
|
|
f(e1);
|
|
break;
|
|
case 26:
|
|
var _g = e.t;
|
|
var e1 = e.e;
|
|
f(e1);
|
|
break;
|
|
}
|
|
};
|
|
hscript_Tools.map = function(e,f) {
|
|
var edef;
|
|
switch(e._hx_index) {
|
|
case 0:
|
|
var _g = e.c;
|
|
edef = e;
|
|
break;
|
|
case 1:
|
|
var _g = e.v;
|
|
edef = e;
|
|
break;
|
|
case 2:
|
|
var e1 = e.e;
|
|
var t = e.t;
|
|
var n = e.n;
|
|
edef = hscript_Expr.EVar(n,t,e1 != null ? f(e1) : null);
|
|
break;
|
|
case 3:
|
|
var e1 = e.e;
|
|
edef = hscript_Expr.EParent(f(e1));
|
|
break;
|
|
case 4:
|
|
var el = e.e;
|
|
var _g = [];
|
|
var _g1 = 0;
|
|
while(_g1 < el.length) {
|
|
var e1 = el[_g1];
|
|
++_g1;
|
|
_g.push(f(e1));
|
|
}
|
|
edef = hscript_Expr.EBlock(_g);
|
|
break;
|
|
case 5:
|
|
var fi = e.f;
|
|
var e1 = e.e;
|
|
edef = hscript_Expr.EField(f(e1),fi);
|
|
break;
|
|
case 6:
|
|
var e2 = e.e2;
|
|
var e1 = e.e1;
|
|
var op = e.op;
|
|
edef = hscript_Expr.EBinop(op,f(e1),f(e2));
|
|
break;
|
|
case 7:
|
|
var e1 = e.e;
|
|
var pre = e.prefix;
|
|
var op = e.op;
|
|
edef = hscript_Expr.EUnop(op,pre,f(e1));
|
|
break;
|
|
case 8:
|
|
var args = e.params;
|
|
var e1 = e.e;
|
|
var edef1 = f(e1);
|
|
var _g = [];
|
|
var _g1 = 0;
|
|
while(_g1 < args.length) {
|
|
var a = args[_g1];
|
|
++_g1;
|
|
_g.push(f(a));
|
|
}
|
|
edef = hscript_Expr.ECall(edef1,_g);
|
|
break;
|
|
case 9:
|
|
var e2 = e.e2;
|
|
var e1 = e.e1;
|
|
var c = e.cond;
|
|
edef = hscript_Expr.EIf(f(c),f(e1),e2 != null ? f(e2) : null);
|
|
break;
|
|
case 10:
|
|
var e1 = e.e;
|
|
var c = e.cond;
|
|
edef = hscript_Expr.EWhile(f(c),f(e1));
|
|
break;
|
|
case 11:
|
|
var e1 = e.e;
|
|
var it = e.it;
|
|
var v = e.v;
|
|
edef = hscript_Expr.EFor(v,f(it),f(e1));
|
|
break;
|
|
case 12:case 13:
|
|
edef = e;
|
|
break;
|
|
case 14:
|
|
var t = e.ret;
|
|
var name = e.name;
|
|
var e1 = e.e;
|
|
var args = e.args;
|
|
edef = hscript_Expr.EFunction(args,f(e1),name,t);
|
|
break;
|
|
case 15:
|
|
var e1 = e.e;
|
|
edef = hscript_Expr.EReturn(e1 != null ? f(e1) : null);
|
|
break;
|
|
case 16:
|
|
var i = e.index;
|
|
var e1 = e.e;
|
|
edef = hscript_Expr.EArray(f(e1),f(i));
|
|
break;
|
|
case 17:
|
|
var el = e.e;
|
|
var _g = [];
|
|
var _g1 = 0;
|
|
while(_g1 < el.length) {
|
|
var e1 = el[_g1];
|
|
++_g1;
|
|
_g.push(f(e1));
|
|
}
|
|
edef = hscript_Expr.EArrayDecl(_g);
|
|
break;
|
|
case 18:
|
|
var el = e.params;
|
|
var cl = e.cl;
|
|
var _g = [];
|
|
var _g1 = 0;
|
|
while(_g1 < el.length) {
|
|
var e1 = el[_g1];
|
|
++_g1;
|
|
_g.push(f(e1));
|
|
}
|
|
edef = hscript_Expr.ENew(cl,_g);
|
|
break;
|
|
case 19:
|
|
var e1 = e.e;
|
|
edef = hscript_Expr.EThrow(f(e1));
|
|
break;
|
|
case 20:
|
|
var c = e.ecatch;
|
|
var t = e.t;
|
|
var v = e.v;
|
|
var e1 = e.e;
|
|
edef = hscript_Expr.ETry(f(e1),v,t,f(c));
|
|
break;
|
|
case 21:
|
|
var fl = e.fl;
|
|
var _g = [];
|
|
var _g1 = 0;
|
|
while(_g1 < fl.length) {
|
|
var fi = fl[_g1];
|
|
++_g1;
|
|
_g.push({ name : fi.name, e : f(fi.e)});
|
|
}
|
|
edef = hscript_Expr.EObject(_g);
|
|
break;
|
|
case 22:
|
|
var e2 = e.e2;
|
|
var e1 = e.e1;
|
|
var c = e.cond;
|
|
edef = hscript_Expr.ETernary(f(c),f(e1),f(e2));
|
|
break;
|
|
case 23:
|
|
var def = e.defaultExpr;
|
|
var cases = e.cases;
|
|
var e1 = e.e;
|
|
var edef1 = f(e1);
|
|
var _g = [];
|
|
var _g1 = 0;
|
|
while(_g1 < cases.length) {
|
|
var c = cases[_g1];
|
|
++_g1;
|
|
var _g2 = [];
|
|
var _g3 = 0;
|
|
var _g4 = c.values;
|
|
while(_g3 < _g4.length) {
|
|
var v = _g4[_g3];
|
|
++_g3;
|
|
_g2.push(f(v));
|
|
}
|
|
_g.push({ values : _g2, expr : f(c.expr)});
|
|
}
|
|
edef = hscript_Expr.ESwitch(edef1,_g,def == null ? null : f(def));
|
|
break;
|
|
case 24:
|
|
var e1 = e.e;
|
|
var c = e.cond;
|
|
edef = hscript_Expr.EDoWhile(f(c),f(e1));
|
|
break;
|
|
case 25:
|
|
var e1 = e.e;
|
|
var args = e.args;
|
|
var name = e.name;
|
|
var edef1;
|
|
if(args == null) {
|
|
edef1 = null;
|
|
} else {
|
|
var _g = [];
|
|
var _g1 = 0;
|
|
while(_g1 < args.length) {
|
|
var a = args[_g1];
|
|
++_g1;
|
|
_g.push(f(a));
|
|
}
|
|
edef1 = _g;
|
|
}
|
|
edef = hscript_Expr.EMeta(name,edef1,f(e1));
|
|
break;
|
|
case 26:
|
|
var t = e.t;
|
|
var e1 = e.e;
|
|
edef = hscript_Expr.ECheckType(f(e1),t);
|
|
break;
|
|
}
|
|
return edef;
|
|
};
|
|
hscript_Tools.expr = function(e) {
|
|
return e;
|
|
};
|
|
hscript_Tools.mk = function(e,p) {
|
|
return e;
|
|
};
|
|
var io_newgrounds_ICallable = function() { };
|
|
$hxClasses["io.newgrounds.ICallable"] = io_newgrounds_ICallable;
|
|
io_newgrounds_ICallable.__name__ = "io.newgrounds.ICallable";
|
|
io_newgrounds_ICallable.__isInterface__ = true;
|
|
io_newgrounds_ICallable.prototype = {
|
|
component: null
|
|
,send: null
|
|
,queue: null
|
|
,destroy: null
|
|
,__class__: io_newgrounds_ICallable
|
|
};
|
|
var io_newgrounds_Call = function(core,component,requireSession,isSecure) {
|
|
if(isSecure == null) {
|
|
isSecure = false;
|
|
}
|
|
if(requireSession == null) {
|
|
requireSession = false;
|
|
}
|
|
this._core = core;
|
|
this.component = component;
|
|
this._requireSession = requireSession;
|
|
this._isSecure = isSecure && core.encryptionHandler != null;
|
|
};
|
|
$hxClasses["io.newgrounds.Call"] = io_newgrounds_Call;
|
|
io_newgrounds_Call.__name__ = "io.newgrounds.Call";
|
|
io_newgrounds_Call.__interfaces__ = [io_newgrounds_ICallable];
|
|
io_newgrounds_Call.prototype = {
|
|
component: null
|
|
,_core: null
|
|
,_properties: null
|
|
,_parameters: null
|
|
,_requireSession: null
|
|
,_isSecure: null
|
|
,_dataHandlers: null
|
|
,_successHandlers: null
|
|
,_httpErrorHandlers: null
|
|
,_statusHandlers: null
|
|
,addProperty: function(name,value) {
|
|
if(this._properties == null) {
|
|
this._properties = new haxe_ds_StringMap();
|
|
}
|
|
this._properties.h[name] = value;
|
|
return this;
|
|
}
|
|
,addComponentParameter: function(name,value,defaultValue) {
|
|
if(value == defaultValue) {
|
|
return this;
|
|
}
|
|
if(this._parameters == null) {
|
|
this._parameters = new haxe_ds_StringMap();
|
|
}
|
|
this._parameters.h[name] = value;
|
|
return this;
|
|
}
|
|
,addDataHandler: function(handler) {
|
|
if(this._dataHandlers == null) {
|
|
this._dataHandlers = new io_newgrounds_utils_TypedDispatcher();
|
|
}
|
|
this._dataHandlers.add(handler);
|
|
return this;
|
|
}
|
|
,addSuccessHandler: function(handler) {
|
|
if(this._successHandlers == null) {
|
|
this._successHandlers = new io_newgrounds_utils_Dispatcher();
|
|
}
|
|
this._successHandlers.add(handler);
|
|
return this;
|
|
}
|
|
,addErrorHandler: function(handler) {
|
|
if(this._httpErrorHandlers == null) {
|
|
this._httpErrorHandlers = new io_newgrounds_utils_TypedDispatcher();
|
|
}
|
|
this._httpErrorHandlers.add(handler);
|
|
return this;
|
|
}
|
|
,addStatusHandler: function(handler) {
|
|
if(this._statusHandlers == null) {
|
|
this._statusHandlers = new io_newgrounds_utils_TypedDispatcher();
|
|
}
|
|
this._statusHandlers.add(handler);
|
|
return this;
|
|
}
|
|
,send: function() {
|
|
var data = { };
|
|
data.app_id = this._core.appId;
|
|
data.call = { };
|
|
data.call.component = this.component;
|
|
if(this._core.debug) {
|
|
this.addProperty("debug",true);
|
|
}
|
|
if(this._properties == null || !Object.prototype.hasOwnProperty.call(this._properties.h,"session_id")) {
|
|
if(this._core.sessionId != null) {
|
|
this.addProperty("session_id",this._core.sessionId);
|
|
} else if(this._requireSession) {
|
|
var this1 = { message : "cannot send \"" + this.component + "\" call without a sessionId", code : null};
|
|
this._core.logError(this1,{ fileName : "io/newgrounds/Call.hx", lineNumber : 137, className : "io.newgrounds.Call", methodName : "send"});
|
|
return;
|
|
}
|
|
}
|
|
if(this._properties != null) {
|
|
var field = haxe_ds_StringMap.keysIterator(this._properties.h);
|
|
while(field.hasNext()) {
|
|
var field1 = field.next();
|
|
data[field1] = this._properties.h[field1];
|
|
}
|
|
}
|
|
if(this._parameters != null) {
|
|
data.call.parameters = { };
|
|
var field = haxe_ds_StringMap.keysIterator(this._parameters.h);
|
|
while(field.hasNext()) {
|
|
var field1 = field.next();
|
|
data.call.parameters[field1] = this._parameters.h[field1];
|
|
}
|
|
}
|
|
var _this = this._core;
|
|
var any = "Post - " + JSON.stringify(data);
|
|
if(_this.verbose) {
|
|
_this.log(any,{ fileName : "io/newgrounds/Call.hx", lineNumber : 156, className : "io.newgrounds.Call", methodName : "send"});
|
|
}
|
|
if(this._isSecure) {
|
|
var secureData = this._core.encryptionHandler(JSON.stringify(data.call));
|
|
data.call = { };
|
|
data.call.secure = secureData;
|
|
var _this = this._core;
|
|
if(_this.verbose) {
|
|
_this.log(" secure - " + secureData,{ fileName : "io/newgrounds/Call.hx", lineNumber : 164, className : "io.newgrounds.Call", methodName : "send"});
|
|
}
|
|
}
|
|
this._core.markCallPending_io_newgrounds_Call_T(this);
|
|
io_newgrounds_utils_AsyncHttp.send(this._core,JSON.stringify(data),$bind(this,this.onData),$bind(this,this.onHttpError),$bind(this,this.onStatus));
|
|
}
|
|
,queue: function() {
|
|
this._core.queueCall_io_newgrounds_Call_T(this);
|
|
}
|
|
,onData: function(reply) {
|
|
var _this = this._core;
|
|
if(_this.verbose) {
|
|
_this.log("Reply - " + reply,{ fileName : "io/newgrounds/Call.hx", lineNumber : 180, className : "io.newgrounds.Call", methodName : "onData"});
|
|
}
|
|
if(this._dataHandlers == null && this._successHandlers == null) {
|
|
return;
|
|
}
|
|
var response = io_newgrounds_objects_events_Response._new(this._core,reply);
|
|
if(this._dataHandlers != null) {
|
|
this._dataHandlers.dispatch(response);
|
|
}
|
|
if(response.success && response.result.data.success && this._successHandlers != null) {
|
|
this._successHandlers.dispatch();
|
|
}
|
|
this.destroy();
|
|
}
|
|
,onHttpError: function(message) {
|
|
this._core.logError(message,{ fileName : "io/newgrounds/Call.hx", lineNumber : 198, className : "io.newgrounds.Call", methodName : "onHttpError"});
|
|
if(this._httpErrorHandlers == null) {
|
|
return;
|
|
}
|
|
var this1 = { message : message, code : null};
|
|
var error = this1;
|
|
this._httpErrorHandlers.dispatch(error);
|
|
}
|
|
,onStatus: function(status) {
|
|
if(this._statusHandlers == null) {
|
|
return;
|
|
}
|
|
this._statusHandlers.dispatch(status);
|
|
}
|
|
,destroy: function() {
|
|
this._core = null;
|
|
this._properties = null;
|
|
this._parameters = null;
|
|
this._dataHandlers = null;
|
|
this._successHandlers = null;
|
|
this._httpErrorHandlers = null;
|
|
this._statusHandlers = null;
|
|
}
|
|
,__class__: io_newgrounds_Call
|
|
};
|
|
var io_newgrounds_utils_Dispatcher = function() {
|
|
this._list = [];
|
|
this._once = [];
|
|
};
|
|
$hxClasses["io.newgrounds.utils.Dispatcher"] = io_newgrounds_utils_Dispatcher;
|
|
io_newgrounds_utils_Dispatcher.__name__ = "io.newgrounds.utils.Dispatcher";
|
|
io_newgrounds_utils_Dispatcher.prototype = {
|
|
_list: null
|
|
,_once: null
|
|
,add: function(handler,once) {
|
|
if(once == null) {
|
|
once = false;
|
|
}
|
|
if(this._list.indexOf(handler) != -1) {
|
|
if(!once && this._once.indexOf(handler) != -1) {
|
|
HxOverrides.remove(this._once,handler);
|
|
}
|
|
return false;
|
|
}
|
|
this._list.unshift(handler);
|
|
if(once) {
|
|
this._once.unshift(handler);
|
|
}
|
|
return true;
|
|
}
|
|
,addOnce: function(handler) {
|
|
return this.add(handler,true);
|
|
}
|
|
,remove: function(handler) {
|
|
HxOverrides.remove(this._once,handler);
|
|
return HxOverrides.remove(this._list,handler);
|
|
}
|
|
,dispatch: function() {
|
|
var i = this._list.length - 1;
|
|
while(i >= 0) {
|
|
var handler = this._list[i];
|
|
if(HxOverrides.remove(this._once,handler)) {
|
|
HxOverrides.remove(this._list,handler);
|
|
}
|
|
handler();
|
|
--i;
|
|
}
|
|
}
|
|
,__class__: io_newgrounds_utils_Dispatcher
|
|
};
|
|
var io_newgrounds_NGLite = function(appId,sessionId,debug,onSessionFail) {
|
|
if(debug == null) {
|
|
debug = false;
|
|
}
|
|
if(appId == null) {
|
|
appId = "test";
|
|
}
|
|
this._pendingCalls = [];
|
|
this._queuedCalls = [];
|
|
this.appId = appId;
|
|
this.set_sessionId(sessionId);
|
|
this.debug = debug;
|
|
this.calls = new io_newgrounds_components_ComponentList(this);
|
|
if(this.sessionId != null) {
|
|
var _g = $bind(this,this.checkInitialSession);
|
|
var onFail = onSessionFail;
|
|
var tmp = function(response) {
|
|
_g(onFail,response);
|
|
};
|
|
var _g1 = $bind(this,this.initialSessionFail);
|
|
var onFail1 = onSessionFail;
|
|
var tmp1 = function(error) {
|
|
_g1(onFail1,error);
|
|
};
|
|
this.calls.app.checkSession().addDataHandler(tmp).addErrorHandler(tmp1).send();
|
|
}
|
|
};
|
|
$hxClasses["io.newgrounds.NGLite"] = io_newgrounds_NGLite;
|
|
io_newgrounds_NGLite.__name__ = "io.newgrounds.NGLite";
|
|
io_newgrounds_NGLite.core = null;
|
|
io_newgrounds_NGLite.create = function(appId,sessionId,onSessionFail) {
|
|
if(appId == null) {
|
|
appId = "test";
|
|
}
|
|
io_newgrounds_NGLite.core = new io_newgrounds_NGLite(appId,sessionId,false,onSessionFail);
|
|
io_newgrounds_NGLite.onCoreReady.dispatch();
|
|
};
|
|
io_newgrounds_NGLite.createAndCheckSession = function(appId,backupSession,onSessionFail) {
|
|
if(appId == null) {
|
|
appId = "test";
|
|
}
|
|
var session = io_newgrounds_NGLite.getSessionId();
|
|
if(session == null) {
|
|
session = backupSession;
|
|
}
|
|
io_newgrounds_NGLite.create(appId,session,onSessionFail);
|
|
};
|
|
io_newgrounds_NGLite.getUrl = function() {
|
|
return window.document.location.href;
|
|
};
|
|
io_newgrounds_NGLite.getSessionId = function() {
|
|
var url = window.document.location.href;
|
|
var index = url.indexOf("?");
|
|
if(index != -1) {
|
|
var _g = 0;
|
|
var _g1 = HxOverrides.substr(url,index + 1,null).split("&");
|
|
while(_g < _g1.length) {
|
|
var param = _g1[_g];
|
|
++_g;
|
|
index = param.indexOf("=");
|
|
if(index != -1 && HxOverrides.substr(param,0,index) == "ngio_session_id") {
|
|
return HxOverrides.substr(param,index + 1,null);
|
|
}
|
|
}
|
|
}
|
|
return null;
|
|
};
|
|
io_newgrounds_NGLite.prototype = {
|
|
queueCall_io_newgrounds_Call_T: function(call) {
|
|
if(this.verbose) {
|
|
this.log("queued - " + call.component,{ fileName : "io/newgrounds/NGLite.hx", lineNumber : 193, className : "io.newgrounds.NGLite", methodName : "queueCall"});
|
|
}
|
|
this._queuedCalls.push(call);
|
|
this.checkQueue();
|
|
}
|
|
,markCallPending_io_newgrounds_Call_T: function(call) {
|
|
var _gthis = this;
|
|
this._pendingCalls.push(call);
|
|
call.addDataHandler(function(_) {
|
|
_gthis.onCallComplete(call);
|
|
});
|
|
call.addErrorHandler(function(_) {
|
|
_gthis.onCallComplete(call);
|
|
});
|
|
}
|
|
,verbose: null
|
|
,debug: null
|
|
,appId: null
|
|
,host: null
|
|
,sessionId: null
|
|
,set_sessionId: function(value) {
|
|
return this.sessionId = value == "" ? null : value;
|
|
}
|
|
,calls: null
|
|
,encryptionHandler: null
|
|
,checkInitialSession: function(onFail,response) {
|
|
if(!response.success || !response.result.data.success || response.result.data.session.expired) {
|
|
this.initialSessionFail(onFail,response.success ? response.result.data.error : response.error);
|
|
}
|
|
}
|
|
,initialSessionFail: function(onFail,error) {
|
|
this.set_sessionId(null);
|
|
if(onFail != null) {
|
|
onFail(error);
|
|
}
|
|
}
|
|
,_queuedCalls: null
|
|
,_pendingCalls: null
|
|
,onCallComplete: function(call) {
|
|
HxOverrides.remove(this._pendingCalls,call);
|
|
this.checkQueue();
|
|
}
|
|
,checkQueue: function() {
|
|
if(this._pendingCalls.length == 0 && this._queuedCalls.length > 0) {
|
|
this._queuedCalls.shift().send();
|
|
}
|
|
}
|
|
,log: function(any,pos) {
|
|
haxe_Log.trace("[Newgrounds API] :: " + Std.string(any),pos);
|
|
}
|
|
,logVerbose: function(any,pos) {
|
|
if(this.verbose) {
|
|
this.log(any,pos);
|
|
}
|
|
}
|
|
,logError: function(any,pos) {
|
|
this.log("Error: " + Std.string(any),pos);
|
|
}
|
|
,assert: function(condition,msg,pos) {
|
|
if(!condition) {
|
|
this.logError(msg,pos);
|
|
}
|
|
return condition;
|
|
}
|
|
,initEncryption: function(key,cipher,format) {
|
|
if(format == null) {
|
|
format = "base64";
|
|
}
|
|
if(cipher == null) {
|
|
cipher = "rc4";
|
|
}
|
|
if(cipher == "none") {
|
|
this.encryptionHandler = null;
|
|
} else if(cipher == "rc4") {
|
|
var _g = $bind(this,this.encryptRc4);
|
|
var key1 = key;
|
|
var format1 = format;
|
|
this.encryptionHandler = function(data) {
|
|
return _g(key1,format1,data);
|
|
};
|
|
} else {
|
|
throw haxe_Exception.thrown("aes not yet implemented");
|
|
}
|
|
}
|
|
,encryptRc4: function(key,format,data) {
|
|
if(format == "hex") {
|
|
throw haxe_Exception.thrown("hex format not yet implemented");
|
|
}
|
|
var keyBytes;
|
|
if(format == "base64") {
|
|
keyBytes = haxe_crypto_Base64.decode(key);
|
|
} else {
|
|
keyBytes = null;
|
|
}
|
|
var dataBytes = new io_newgrounds_crypto_Rc4(keyBytes).crypt(haxe_io_Bytes.ofString(data));
|
|
if(format == "base64") {
|
|
return haxe_crypto_Base64.encode(dataBytes);
|
|
}
|
|
return null;
|
|
}
|
|
,__class__: io_newgrounds_NGLite
|
|
,__properties__: {set_sessionId:"set_sessionId"}
|
|
};
|
|
var io_newgrounds_NG = function(appId,sessionId,debug,onSessionFail) {
|
|
if(debug == null) {
|
|
debug = false;
|
|
}
|
|
if(appId == null) {
|
|
appId = "test";
|
|
}
|
|
this.host = io_newgrounds_NG.getHost();
|
|
this.onLogin = new io_newgrounds_utils_Dispatcher();
|
|
this.onLogOut = new io_newgrounds_utils_Dispatcher();
|
|
this.onMedalsLoaded = new io_newgrounds_utils_Dispatcher();
|
|
this.onScoreBoardsLoaded = new io_newgrounds_utils_Dispatcher();
|
|
this.attemptingLogin = sessionId != null;
|
|
io_newgrounds_NGLite.call(this,appId,sessionId,debug,onSessionFail);
|
|
};
|
|
$hxClasses["io.newgrounds.NG"] = io_newgrounds_NG;
|
|
io_newgrounds_NG.__name__ = "io.newgrounds.NG";
|
|
io_newgrounds_NG.core = null;
|
|
io_newgrounds_NG.create = function(appId,sessionId,debug,onSessionFail) {
|
|
if(debug == null) {
|
|
debug = false;
|
|
}
|
|
if(appId == null) {
|
|
appId = "test";
|
|
}
|
|
io_newgrounds_NG.core = new io_newgrounds_NG(appId,sessionId,debug,onSessionFail);
|
|
io_newgrounds_NG.onCoreReady.dispatch();
|
|
};
|
|
io_newgrounds_NG.createAndCheckSession = function(appId,debug,backupSession,onSessionFail) {
|
|
if(debug == null) {
|
|
debug = false;
|
|
}
|
|
if(appId == null) {
|
|
appId = "test";
|
|
}
|
|
var session = io_newgrounds_NGLite.getSessionId();
|
|
if(session == null) {
|
|
session = backupSession;
|
|
}
|
|
io_newgrounds_NG.create(appId,session,debug,onSessionFail);
|
|
if(io_newgrounds_NG.core.sessionId != null) {
|
|
io_newgrounds_NG.core.attemptingLogin = true;
|
|
}
|
|
};
|
|
io_newgrounds_NG.openPassportHelper = function(url) {
|
|
var $window = "_blank";
|
|
window.open(url,$window);
|
|
};
|
|
io_newgrounds_NG.getHost = function() {
|
|
var url = window.document.location.href;
|
|
if(url == null || url == "") {
|
|
return "AppView";
|
|
}
|
|
if(url.indexOf("file") == 0 || url.indexOf("127.0.0.1") != -1) {
|
|
return "LocalHost";
|
|
}
|
|
if(io_newgrounds_NG.urlParser.match(url)) {
|
|
return io_newgrounds_NG.urlParser.matched(1);
|
|
}
|
|
return "Unknown";
|
|
};
|
|
io_newgrounds_NG.__super__ = io_newgrounds_NGLite;
|
|
io_newgrounds_NG.prototype = $extend(io_newgrounds_NGLite.prototype,{
|
|
get_user: function() {
|
|
if(this._session == null) {
|
|
return null;
|
|
}
|
|
return this._session.user;
|
|
}
|
|
,get_passportUrl: function() {
|
|
if(this._session == null || io_newgrounds_objects_Session.get_status(this._session) != "request-login") {
|
|
return null;
|
|
}
|
|
return this._session.passport_url;
|
|
}
|
|
,medals: null
|
|
,scoreBoards: null
|
|
,onLogin: null
|
|
,onLogOut: null
|
|
,onMedalsLoaded: null
|
|
,onScoreBoardsLoaded: null
|
|
,loggedIn: null
|
|
,attemptingLogin: null
|
|
,_loginCancelled: null
|
|
,_passportCallback: null
|
|
,_session: null
|
|
,checkInitialSession: function(failHandler,response) {
|
|
this.onSessionReceive(response,null,null,failHandler);
|
|
}
|
|
,requestLogin: function(onSuccess,onPending,onFail,onCancel) {
|
|
if(this.attemptingLogin) {
|
|
this.logError("cannot request another login until the previous attempt is complete",{ fileName : "io/newgrounds/NG.hx", lineNumber : 157, className : "io.newgrounds.NG", methodName : "requestLogin"});
|
|
return;
|
|
}
|
|
if(this.loggedIn) {
|
|
this.logError("cannot log in, already logged in",{ fileName : "io/newgrounds/NG.hx", lineNumber : 163, className : "io.newgrounds.NG", methodName : "requestLogin"});
|
|
return;
|
|
}
|
|
this.attemptingLogin = true;
|
|
this._loginCancelled = false;
|
|
this._passportCallback = null;
|
|
var _g = $bind(this,this.onSessionReceive);
|
|
var onSuccess1 = onSuccess;
|
|
var onPending1 = onPending;
|
|
var onFail1 = onFail;
|
|
var onCancel1 = onCancel;
|
|
var call = function(response) {
|
|
_g(response,onSuccess1,onPending1,onFail1,onCancel1);
|
|
};
|
|
var call1 = this.calls.app.startSession(true).addDataHandler(call);
|
|
if(onFail != null) {
|
|
call1.addErrorHandler(onFail);
|
|
}
|
|
call1.send();
|
|
}
|
|
,onSessionReceive: function(response,onSuccess,onPending,onFail,onCancel) {
|
|
if(!response.success || !response.result.data.success) {
|
|
this.set_sessionId(null);
|
|
this.endLoginAndCall(null);
|
|
if(onFail != null) {
|
|
onFail(!response.success ? response.error : response.result.data.error);
|
|
}
|
|
return;
|
|
}
|
|
this._session = response.result.data.session;
|
|
this.set_sessionId(this._session.id);
|
|
var any = "session started - status: " + io_newgrounds_objects_Session.get_status(this._session);
|
|
if(this.verbose) {
|
|
this.log(any,{ fileName : "io/newgrounds/NG.hx", lineNumber : 202, className : "io.newgrounds.NG", methodName : "onSessionReceive"});
|
|
}
|
|
if(io_newgrounds_objects_Session.get_status(this._session) == "request-login") {
|
|
var _g = $bind(this,this.checkSession);
|
|
var response = null;
|
|
var onSuccess1 = onSuccess;
|
|
var onCancel1 = onCancel;
|
|
this._passportCallback = function() {
|
|
_g(response,onSuccess1,onCancel1);
|
|
};
|
|
if(onPending != null) {
|
|
onPending();
|
|
} else {
|
|
this.openPassportUrl();
|
|
}
|
|
} else {
|
|
this.checkSession(null,onSuccess,onCancel);
|
|
}
|
|
}
|
|
,openPassportUrl: function() {
|
|
if(this.get_passportUrl() != null) {
|
|
var any = "loading passport: " + this.get_passportUrl();
|
|
if(this.verbose) {
|
|
this.log(any,{ fileName : "io/newgrounds/NG.hx", lineNumber : 224, className : "io.newgrounds.NG", methodName : "openPassportUrl"});
|
|
}
|
|
io_newgrounds_NG.openPassportHelper(this.get_passportUrl());
|
|
this.dispatchPassportCallback();
|
|
} else {
|
|
this.logError("Cannot open passport",{ fileName : "io/newgrounds/NG.hx", lineNumber : 229, className : "io.newgrounds.NG", methodName : "openPassportUrl"});
|
|
}
|
|
}
|
|
,onPassportUrlOpen: function() {
|
|
this.dispatchPassportCallback();
|
|
}
|
|
,dispatchPassportCallback: function() {
|
|
if(this._passportCallback != null) {
|
|
if(this.verbose) {
|
|
this.log("dispatching passport callback",{ fileName : "io/newgrounds/NG.hx", lineNumber : 271, className : "io.newgrounds.NG", methodName : "dispatchPassportCallback"});
|
|
}
|
|
var callback = this._passportCallback;
|
|
this._passportCallback = null;
|
|
callback();
|
|
}
|
|
}
|
|
,checkSession: function(response,onSuccess,onCancel) {
|
|
var _gthis = this;
|
|
if(this._loginCancelled) {
|
|
this.log("login cancelled via cancelLoginRequest",{ fileName : "io/newgrounds/NG.hx", lineNumber : 282, className : "io.newgrounds.NG", methodName : "checkSession"});
|
|
this.endLoginAndCall(onCancel);
|
|
return;
|
|
}
|
|
if(response != null) {
|
|
if(!response.success || !response.result.data.success) {
|
|
this.log("login cancelled via passport",{ fileName : "io/newgrounds/NG.hx", lineNumber : 292, className : "io.newgrounds.NG", methodName : "checkSession"});
|
|
this.endLoginAndCall(onCancel);
|
|
return;
|
|
}
|
|
if(this.verbose) {
|
|
this.log("Session received",{ fileName : "io/newgrounds/NG.hx", lineNumber : 298, className : "io.newgrounds.NG", methodName : "checkSession"});
|
|
}
|
|
this._session = response.result.data.session;
|
|
}
|
|
if(io_newgrounds_objects_Session.get_status(this._session) == "user-loaded") {
|
|
this.loggedIn = true;
|
|
this.endLoginAndCall(onSuccess);
|
|
this.onLogin.dispatch();
|
|
} else if(io_newgrounds_objects_Session.get_status(this._session) == "request-login") {
|
|
var _g = $bind(this,this.checkSession);
|
|
var onSuccess1 = onSuccess;
|
|
var onCancel1 = onCancel;
|
|
var call = function(response) {
|
|
_g(response,onSuccess1,onCancel1);
|
|
};
|
|
var call1 = this.calls.app.checkSession().addDataHandler(call);
|
|
this.timer(3.0,function() {
|
|
if(_gthis.verbose) {
|
|
_gthis.log("3s elapsed, checking session again",{ fileName : "io/newgrounds/NG.hx", lineNumber : 317, className : "io.newgrounds.NG", methodName : "checkSession"});
|
|
}
|
|
if(!_gthis._loginCancelled) {
|
|
call1.send();
|
|
} else {
|
|
_gthis.log("login cancelled via cancelLoginRequest",{ fileName : "io/newgrounds/NG.hx", lineNumber : 324, className : "io.newgrounds.NG", methodName : "checkSession"});
|
|
_gthis.endLoginAndCall(onCancel);
|
|
}
|
|
});
|
|
} else {
|
|
this.log("login cancelled via passport",{ fileName : "io/newgrounds/NG.hx", lineNumber : 332, className : "io.newgrounds.NG", methodName : "checkSession"});
|
|
this.endLoginAndCall(onCancel);
|
|
}
|
|
}
|
|
,cancelLoginRequest: function() {
|
|
if(this.attemptingLogin) {
|
|
this._loginCancelled = true;
|
|
this.dispatchPassportCallback();
|
|
}
|
|
}
|
|
,endLoginAndCall: function(callback) {
|
|
this.attemptingLogin = false;
|
|
this._loginCancelled = false;
|
|
if(callback != null) {
|
|
callback();
|
|
}
|
|
}
|
|
,logOut: function(onComplete) {
|
|
var call = this.calls.app.endSession().addSuccessHandler($bind(this,this.onLogOutSuccessful));
|
|
if(onComplete != null) {
|
|
call.addSuccessHandler(onComplete);
|
|
}
|
|
call.addSuccessHandler(($_=this.onLogOut,$bind($_,$_.dispatch))).send();
|
|
}
|
|
,onLogOutSuccessful: function() {
|
|
this._session = null;
|
|
this.set_sessionId(null);
|
|
this.loggedIn = false;
|
|
}
|
|
,requestMedals: function(onSuccess,onFail) {
|
|
var call = this.calls.medal.getList().addDataHandler($bind(this,this.onMedalsReceived));
|
|
if(onSuccess != null) {
|
|
call.addSuccessHandler(onSuccess);
|
|
}
|
|
if(onFail != null) {
|
|
call.addErrorHandler(onFail);
|
|
}
|
|
call.send();
|
|
}
|
|
,onMedalsReceived: function(response) {
|
|
if(!response.success || !response.result.data.success) {
|
|
return;
|
|
}
|
|
var idList = [];
|
|
if(this.medals == null) {
|
|
this.medals = new haxe_ds_IntMap();
|
|
var _g = 0;
|
|
var _g1 = response.result.data.medals;
|
|
while(_g < _g1.length) {
|
|
var medalData = _g1[_g];
|
|
++_g;
|
|
var medal = new io_newgrounds_objects_Medal(this,medalData);
|
|
this.medals.h[medal._data.id] = medal;
|
|
idList.push(medal._data.id);
|
|
}
|
|
} else {
|
|
var _g = 0;
|
|
var _g1 = response.result.data.medals;
|
|
while(_g < _g1.length) {
|
|
var medalData = _g1[_g];
|
|
++_g;
|
|
this.medals.h[medalData.id].parse(medalData);
|
|
idList.push(medalData.id);
|
|
}
|
|
}
|
|
var any = "" + response.result.data.medals.length + " Medals received [" + idList.join(", ") + "]";
|
|
if(this.verbose) {
|
|
this.log(any,{ fileName : "io/newgrounds/NG.hx", lineNumber : 421, className : "io.newgrounds.NG", methodName : "onMedalsReceived"});
|
|
}
|
|
this.onMedalsLoaded.dispatch();
|
|
}
|
|
,requestScoreBoards: function(onSuccess,onFail) {
|
|
if(this.scoreBoards != null) {
|
|
this.log("aborting scoreboard request, all scoreboards are loaded",{ fileName : "io/newgrounds/NG.hx", lineNumber : 434, className : "io.newgrounds.NG", methodName : "requestScoreBoards"});
|
|
if(onSuccess != null) {
|
|
onSuccess();
|
|
}
|
|
return;
|
|
}
|
|
var call = this.calls.scoreBoard.getBoards().addDataHandler($bind(this,this.onBoardsReceived));
|
|
if(onSuccess != null) {
|
|
call.addSuccessHandler(onSuccess);
|
|
}
|
|
if(onFail != null) {
|
|
call.addErrorHandler(onFail);
|
|
}
|
|
call.send();
|
|
}
|
|
,onBoardsReceived: function(response) {
|
|
if(!response.success || !response.result.data.success) {
|
|
return;
|
|
}
|
|
var idList = [];
|
|
if(this.scoreBoards == null) {
|
|
this.scoreBoards = new haxe_ds_IntMap();
|
|
var _g = 0;
|
|
var _g1 = response.result.data.scoreboards;
|
|
while(_g < _g1.length) {
|
|
var boardData = _g1[_g];
|
|
++_g;
|
|
var board = new io_newgrounds_objects_ScoreBoard(this,boardData);
|
|
this.scoreBoards.h[board._data.id] = board;
|
|
idList.push(board._data.id);
|
|
}
|
|
}
|
|
var any = "" + response.result.data.scoreboards.length + " ScoreBoards received [" + idList.join(", ") + "]";
|
|
if(this.verbose) {
|
|
this.log(any,{ fileName : "io/newgrounds/NG.hx", lineNumber : 473, className : "io.newgrounds.NG", methodName : "onBoardsReceived"});
|
|
}
|
|
this.onScoreBoardsLoaded.dispatch();
|
|
}
|
|
,timer: function(delay,callback) {
|
|
var timer = new haxe_Timer(delay * 1000 | 0);
|
|
var func = function() {
|
|
timer.stop();
|
|
callback();
|
|
};
|
|
timer.run = func;
|
|
}
|
|
,__class__: io_newgrounds_NG
|
|
,__properties__: $extend(io_newgrounds_NGLite.prototype.__properties__,{get_passportUrl:"get_passportUrl",get_user:"get_user"})
|
|
});
|
|
var io_newgrounds_components_Component = function(core) {
|
|
this._core = core;
|
|
};
|
|
$hxClasses["io.newgrounds.components.Component"] = io_newgrounds_components_Component;
|
|
io_newgrounds_components_Component.__name__ = "io.newgrounds.components.Component";
|
|
io_newgrounds_components_Component.prototype = {
|
|
_core: null
|
|
,__class__: io_newgrounds_components_Component
|
|
};
|
|
var io_newgrounds_components_AppComponent = function(core) {
|
|
io_newgrounds_components_Component.call(this,core);
|
|
};
|
|
$hxClasses["io.newgrounds.components.AppComponent"] = io_newgrounds_components_AppComponent;
|
|
io_newgrounds_components_AppComponent.__name__ = "io.newgrounds.components.AppComponent";
|
|
io_newgrounds_components_AppComponent.__super__ = io_newgrounds_components_Component;
|
|
io_newgrounds_components_AppComponent.prototype = $extend(io_newgrounds_components_Component.prototype,{
|
|
startSession: function(force) {
|
|
if(force == null) {
|
|
force = false;
|
|
}
|
|
return new io_newgrounds_Call(this._core,"App.startSession").addComponentParameter("force",force,false);
|
|
}
|
|
,checkSession: function() {
|
|
return new io_newgrounds_Call(this._core,"App.checkSession",true);
|
|
}
|
|
,endSession: function() {
|
|
return new io_newgrounds_Call(this._core,"App.endSession",true);
|
|
}
|
|
,getCurrentVersion: function(version) {
|
|
return new io_newgrounds_Call(this._core,"App.getCurrentVersion").addComponentParameter("version",version);
|
|
}
|
|
,getHostLicense: function() {
|
|
return new io_newgrounds_Call(this._core,"App.getHostLicense").addComponentParameter("host",this._core.host);
|
|
}
|
|
,logView: function() {
|
|
return new io_newgrounds_Call(this._core,"App.logView").addComponentParameter("host",this._core.host);
|
|
}
|
|
,__class__: io_newgrounds_components_AppComponent
|
|
});
|
|
var io_newgrounds_components_ComponentList = function(core) {
|
|
this._core = core;
|
|
this.medal = new io_newgrounds_components_MedalComponent(this._core);
|
|
this.app = new io_newgrounds_components_AppComponent(this._core);
|
|
this.event = new io_newgrounds_components_EventComponent(this._core);
|
|
this.scoreBoard = new io_newgrounds_components_ScoreBoardComponent(this._core);
|
|
this.loader = new io_newgrounds_components_LoaderComponent(this._core);
|
|
this.gateway = new io_newgrounds_components_GatewayComponent(this._core);
|
|
};
|
|
$hxClasses["io.newgrounds.components.ComponentList"] = io_newgrounds_components_ComponentList;
|
|
io_newgrounds_components_ComponentList.__name__ = "io.newgrounds.components.ComponentList";
|
|
io_newgrounds_components_ComponentList.prototype = {
|
|
_core: null
|
|
,medal: null
|
|
,app: null
|
|
,event: null
|
|
,scoreBoard: null
|
|
,loader: null
|
|
,gateway: null
|
|
,__class__: io_newgrounds_components_ComponentList
|
|
};
|
|
var io_newgrounds_components_EventComponent = function(core) {
|
|
io_newgrounds_components_Component.call(this,core);
|
|
};
|
|
$hxClasses["io.newgrounds.components.EventComponent"] = io_newgrounds_components_EventComponent;
|
|
io_newgrounds_components_EventComponent.__name__ = "io.newgrounds.components.EventComponent";
|
|
io_newgrounds_components_EventComponent.__super__ = io_newgrounds_components_Component;
|
|
io_newgrounds_components_EventComponent.prototype = $extend(io_newgrounds_components_Component.prototype,{
|
|
logEvent: function(eventName) {
|
|
return new io_newgrounds_Call(this._core,"Event.logEvent").addComponentParameter("event_name",eventName).addComponentParameter("host",this._core.host);
|
|
}
|
|
,__class__: io_newgrounds_components_EventComponent
|
|
});
|
|
var io_newgrounds_components_GatewayComponent = function(core) {
|
|
io_newgrounds_components_Component.call(this,core);
|
|
};
|
|
$hxClasses["io.newgrounds.components.GatewayComponent"] = io_newgrounds_components_GatewayComponent;
|
|
io_newgrounds_components_GatewayComponent.__name__ = "io.newgrounds.components.GatewayComponent";
|
|
io_newgrounds_components_GatewayComponent.__super__ = io_newgrounds_components_Component;
|
|
io_newgrounds_components_GatewayComponent.prototype = $extend(io_newgrounds_components_Component.prototype,{
|
|
getDatetime: function() {
|
|
return new io_newgrounds_Call(this._core,"Gateway.getDatetime");
|
|
}
|
|
,getVersion: function() {
|
|
return new io_newgrounds_Call(this._core,"Gateway.getVersion");
|
|
}
|
|
,ping: function() {
|
|
return new io_newgrounds_Call(this._core,"Gateway.ping");
|
|
}
|
|
,__class__: io_newgrounds_components_GatewayComponent
|
|
});
|
|
var io_newgrounds_components_LoaderComponent = function(core) {
|
|
io_newgrounds_components_Component.call(this,core);
|
|
};
|
|
$hxClasses["io.newgrounds.components.LoaderComponent"] = io_newgrounds_components_LoaderComponent;
|
|
io_newgrounds_components_LoaderComponent.__name__ = "io.newgrounds.components.LoaderComponent";
|
|
io_newgrounds_components_LoaderComponent.__super__ = io_newgrounds_components_Component;
|
|
io_newgrounds_components_LoaderComponent.prototype = $extend(io_newgrounds_components_Component.prototype,{
|
|
loadAuthorUrl: function(redirect) {
|
|
if(redirect == null) {
|
|
redirect = false;
|
|
}
|
|
return new io_newgrounds_Call(this._core,"Loader.loadAuthorUrl").addComponentParameter("host",this._core.host).addComponentParameter("redirect",redirect,true);
|
|
}
|
|
,loadMoreGames: function(redirect) {
|
|
if(redirect == null) {
|
|
redirect = false;
|
|
}
|
|
return new io_newgrounds_Call(this._core,"Loader.loadMoreGames").addComponentParameter("host",this._core.host).addComponentParameter("redirect",redirect,true);
|
|
}
|
|
,loadNewgrounds: function(redirect) {
|
|
if(redirect == null) {
|
|
redirect = false;
|
|
}
|
|
return new io_newgrounds_Call(this._core,"Loader.loadNewgrounds").addComponentParameter("host",this._core.host).addComponentParameter("redirect",redirect,true);
|
|
}
|
|
,loadOfficialUrl: function(redirect) {
|
|
if(redirect == null) {
|
|
redirect = false;
|
|
}
|
|
return new io_newgrounds_Call(this._core,"Loader.loadOfficialUrl").addComponentParameter("host",this._core.host).addComponentParameter("redirect",redirect,true);
|
|
}
|
|
,loadReferral: function(redirect) {
|
|
if(redirect == null) {
|
|
redirect = false;
|
|
}
|
|
return new io_newgrounds_Call(this._core,"Loader.loadReferral").addComponentParameter("host",this._core.host).addComponentParameter("redirect",redirect,true);
|
|
}
|
|
,__class__: io_newgrounds_components_LoaderComponent
|
|
});
|
|
var io_newgrounds_components_MedalComponent = function(core) {
|
|
io_newgrounds_components_Component.call(this,core);
|
|
};
|
|
$hxClasses["io.newgrounds.components.MedalComponent"] = io_newgrounds_components_MedalComponent;
|
|
io_newgrounds_components_MedalComponent.__name__ = "io.newgrounds.components.MedalComponent";
|
|
io_newgrounds_components_MedalComponent.__super__ = io_newgrounds_components_Component;
|
|
io_newgrounds_components_MedalComponent.prototype = $extend(io_newgrounds_components_Component.prototype,{
|
|
unlock: function(id) {
|
|
return new io_newgrounds_Call(this._core,"Medal.unlock",true,true).addComponentParameter("id",id);
|
|
}
|
|
,getList: function() {
|
|
return new io_newgrounds_Call(this._core,"Medal.getList");
|
|
}
|
|
,__class__: io_newgrounds_components_MedalComponent
|
|
});
|
|
var io_newgrounds_components_ScoreBoardComponent = function(core) {
|
|
io_newgrounds_components_Component.call(this,core);
|
|
};
|
|
$hxClasses["io.newgrounds.components.ScoreBoardComponent"] = io_newgrounds_components_ScoreBoardComponent;
|
|
io_newgrounds_components_ScoreBoardComponent.__name__ = "io.newgrounds.components.ScoreBoardComponent";
|
|
io_newgrounds_components_ScoreBoardComponent.__super__ = io_newgrounds_components_Component;
|
|
io_newgrounds_components_ScoreBoardComponent.prototype = $extend(io_newgrounds_components_Component.prototype,{
|
|
allById: null
|
|
,getBoards: function() {
|
|
return new io_newgrounds_Call(this._core,"ScoreBoard.getBoards");
|
|
}
|
|
,getScores: function(id,limit,skip,period,social,tag,user) {
|
|
if(social == null) {
|
|
social = false;
|
|
}
|
|
if(period == null) {
|
|
period = "D";
|
|
}
|
|
if(skip == null) {
|
|
skip = 0;
|
|
}
|
|
if(limit == null) {
|
|
limit = 10;
|
|
}
|
|
if(user != null && typeof(user) != "string" && !(typeof(user) == "number" && ((user | 0) === user))) {
|
|
user = user.id;
|
|
}
|
|
return new io_newgrounds_Call(this._core,"ScoreBoard.getScores").addComponentParameter("id",id).addComponentParameter("limit",limit,10).addComponentParameter("skip",skip,0).addComponentParameter("period",period,"D").addComponentParameter("social",social,false).addComponentParameter("tag",tag,null).addComponentParameter("user",user,null);
|
|
}
|
|
,postScore: function(id,value,tag) {
|
|
return new io_newgrounds_Call(this._core,"ScoreBoard.postScore",true,true).addComponentParameter("id",id).addComponentParameter("value",value).addComponentParameter("tag",tag,null);
|
|
}
|
|
,createBoard: function(data) {
|
|
var board = new io_newgrounds_objects_ScoreBoard(this._core,data);
|
|
var _this = this._core;
|
|
if(_this.verbose) {
|
|
_this.log("created " + Std.string(board),{ fileName : "io/newgrounds/components/ScoreBoardComponent.hx", lineNumber : 93, className : "io.newgrounds.components.ScoreBoardComponent", methodName : "createBoard"});
|
|
}
|
|
this.allById.h[board._data.id] = board;
|
|
return board;
|
|
}
|
|
,__class__: io_newgrounds_components_ScoreBoardComponent
|
|
});
|
|
var io_newgrounds_crypto_Rc4 = function(key) {
|
|
this.index2 = 0;
|
|
this.index1 = 0;
|
|
this.perm = new haxe_io_Bytes(new ArrayBuffer(256));
|
|
var _g = 0;
|
|
while(_g < 256) {
|
|
var i = _g++;
|
|
this.perm.b[i] = i & 255;
|
|
}
|
|
var j = 0;
|
|
var _g = 0;
|
|
while(_g < 256) {
|
|
var i = _g++;
|
|
j = (j + this.perm.b[i] + key.b[i % key.length]) % 256;
|
|
var temp = this.perm.b[i];
|
|
this.perm.b[i] = this.perm.b[j] & 255;
|
|
this.perm.b[j] = temp & 255;
|
|
}
|
|
};
|
|
$hxClasses["io.newgrounds.crypto.Rc4"] = io_newgrounds_crypto_Rc4;
|
|
io_newgrounds_crypto_Rc4.__name__ = "io.newgrounds.crypto.Rc4";
|
|
io_newgrounds_crypto_Rc4.prototype = {
|
|
perm: null
|
|
,index1: null
|
|
,index2: null
|
|
,swap: function(i,j) {
|
|
var temp = this.perm.b[i];
|
|
this.perm.b[i] = this.perm.b[j] & 255;
|
|
this.perm.b[j] = temp & 255;
|
|
}
|
|
,crypt: function(input) {
|
|
var output = new haxe_io_Bytes(new ArrayBuffer(input.length));
|
|
var _g = 0;
|
|
var _g1 = input.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
this.index1 = (this.index1 + 1) % 256;
|
|
this.index2 = (this.index2 + this.perm.b[this.index1]) % 256;
|
|
var i1 = this.index1;
|
|
var j = this.index2;
|
|
var temp = this.perm.b[i1];
|
|
this.perm.b[i1] = this.perm.b[j] & 255;
|
|
this.perm.b[j] = temp & 255;
|
|
var j1 = (this.perm.b[this.index1] + this.perm.b[this.index2]) % 256;
|
|
output.b[i] = (input.b[i] ^ this.perm.b[j1]) & 255;
|
|
}
|
|
return output;
|
|
}
|
|
,__class__: io_newgrounds_crypto_Rc4
|
|
};
|
|
var io_newgrounds_objects_Error = {};
|
|
io_newgrounds_objects_Error.__properties__ = {get_message:"get_message",get_code:"get_code"};
|
|
io_newgrounds_objects_Error.get_code = function(this1) {
|
|
return this1.code;
|
|
};
|
|
io_newgrounds_objects_Error.get_message = function(this1) {
|
|
return this1.message;
|
|
};
|
|
io_newgrounds_objects_Error._new = function(message,code) {
|
|
var this1 = { message : message, code : code};
|
|
return this1;
|
|
};
|
|
io_newgrounds_objects_Error.toString = function(this1) {
|
|
return (this1.code != null ? "#" + this1.code + " - " : "") + this1.message;
|
|
};
|
|
var io_newgrounds_objects_Object = function(core,data) {
|
|
this._core = core;
|
|
this.onUpdate = new io_newgrounds_utils_Dispatcher();
|
|
if(data != null) {
|
|
this.parse(data);
|
|
}
|
|
};
|
|
$hxClasses["io.newgrounds.objects.Object"] = io_newgrounds_objects_Object;
|
|
io_newgrounds_objects_Object.__name__ = "io.newgrounds.objects.Object";
|
|
io_newgrounds_objects_Object.prototype = {
|
|
_core: null
|
|
,_data: null
|
|
,onUpdate: null
|
|
,parse: function(data) {
|
|
this._data = data;
|
|
this.onUpdate.dispatch();
|
|
}
|
|
,destroy: function() {
|
|
this._core = null;
|
|
}
|
|
,__class__: io_newgrounds_objects_Object
|
|
};
|
|
var io_newgrounds_objects_Medal = function(core,data) {
|
|
this.onUnlock = new io_newgrounds_utils_Dispatcher();
|
|
io_newgrounds_objects_Object.call(this,core,data);
|
|
};
|
|
$hxClasses["io.newgrounds.objects.Medal"] = io_newgrounds_objects_Medal;
|
|
io_newgrounds_objects_Medal.__name__ = "io.newgrounds.objects.Medal";
|
|
io_newgrounds_objects_Medal.__super__ = io_newgrounds_objects_Object;
|
|
io_newgrounds_objects_Medal.prototype = $extend(io_newgrounds_objects_Object.prototype,{
|
|
get_id: function() {
|
|
return this._data.id;
|
|
}
|
|
,get_name: function() {
|
|
return this._data.name;
|
|
}
|
|
,get_description: function() {
|
|
return this._data.description;
|
|
}
|
|
,get_icon: function() {
|
|
return this._data.icon;
|
|
}
|
|
,get_value: function() {
|
|
return this._data.value;
|
|
}
|
|
,get_difficulty: function() {
|
|
return this._data.difficulty;
|
|
}
|
|
,get_secret: function() {
|
|
return this._data.secret == 1;
|
|
}
|
|
,get_unlocked: function() {
|
|
return this._data.unlocked;
|
|
}
|
|
,onUnlock: null
|
|
,parse: function(data) {
|
|
var wasLocked = this._data == null || !this._data.unlocked;
|
|
io_newgrounds_objects_Object.prototype.parse.call(this,data);
|
|
if(wasLocked && this._data.unlocked) {
|
|
this.onUnlock.dispatch();
|
|
}
|
|
}
|
|
,sendUnlock: function() {
|
|
if(this._core.sessionId == null) {
|
|
this._data.unlocked = true;
|
|
this.onUnlock.dispatch();
|
|
}
|
|
this._core.calls.medal.unlock(this._data.id).addDataHandler($bind(this,this.onUnlockResponse)).send();
|
|
}
|
|
,onUnlockResponse: function(response) {
|
|
if(response.success && response.result.data.success) {
|
|
this.parse(response.result.data.medal);
|
|
if(!this._data.unlocked) {
|
|
this._data.unlocked = true;
|
|
this.onUnlock.dispatch();
|
|
}
|
|
}
|
|
}
|
|
,sendDebugUnlock: function() {
|
|
if(io_newgrounds_NG.core.sessionId == null) {
|
|
this.onUnlock.dispatch();
|
|
} else {
|
|
this._data.unlocked = false;
|
|
this.sendUnlock();
|
|
}
|
|
}
|
|
,get_difficultyName: function() {
|
|
switch(this._data.difficulty) {
|
|
case 1:
|
|
return "Easy";
|
|
case 2:
|
|
return "Moderate";
|
|
case 3:
|
|
return "Challenging";
|
|
case 4:
|
|
return "Difficult";
|
|
case 5:
|
|
return "Brutal";
|
|
default:
|
|
throw haxe_Exception.thrown("invalid difficulty: " + this._data.difficulty);
|
|
}
|
|
}
|
|
,toString: function() {
|
|
var tmp = "Medal: " + this._data.id + "@" + this._data.name + " (" + (this._data.unlocked ? "unlocked" : "locked") + ", " + this._data.value + " pts, ";
|
|
var tmp1;
|
|
switch(this._data.difficulty) {
|
|
case 1:
|
|
tmp1 = "Easy";
|
|
break;
|
|
case 2:
|
|
tmp1 = "Moderate";
|
|
break;
|
|
case 3:
|
|
tmp1 = "Challenging";
|
|
break;
|
|
case 4:
|
|
tmp1 = "Difficult";
|
|
break;
|
|
case 5:
|
|
tmp1 = "Brutal";
|
|
break;
|
|
default:
|
|
throw haxe_Exception.thrown("invalid difficulty: " + this._data.difficulty);
|
|
}
|
|
return tmp + tmp1 + ").";
|
|
}
|
|
,__class__: io_newgrounds_objects_Medal
|
|
,__properties__: {get_difficultyName:"get_difficultyName",get_unlocked:"get_unlocked",get_secret:"get_secret",get_difficulty:"get_difficulty",get_value:"get_value",get_icon:"get_icon",get_description:"get_description",get_name:"get_name",get_id:"get_id"}
|
|
});
|
|
var io_newgrounds_objects_Score = {};
|
|
io_newgrounds_objects_Score.__properties__ = {get_formattedValue:"get_formattedValue",get_formatted_value:"get_formatted_value"};
|
|
io_newgrounds_objects_Score.get_formatted_value = function(this1) {
|
|
return this1.formatted_value;
|
|
};
|
|
io_newgrounds_objects_Score.get_formattedValue = function(this1) {
|
|
return this1.formatted_value;
|
|
};
|
|
var io_newgrounds_objects_ScoreBoard = function(core,data) {
|
|
io_newgrounds_objects_Object.call(this,core,data);
|
|
};
|
|
$hxClasses["io.newgrounds.objects.ScoreBoard"] = io_newgrounds_objects_ScoreBoard;
|
|
io_newgrounds_objects_ScoreBoard.__name__ = "io.newgrounds.objects.ScoreBoard";
|
|
io_newgrounds_objects_ScoreBoard.__super__ = io_newgrounds_objects_Object;
|
|
io_newgrounds_objects_ScoreBoard.prototype = $extend(io_newgrounds_objects_Object.prototype,{
|
|
scores: null
|
|
,get_id: function() {
|
|
return this._data.id;
|
|
}
|
|
,get_name: function() {
|
|
return this._data.name;
|
|
}
|
|
,requestScores: function(limit,skip,period,social,tag,user) {
|
|
if(social == null) {
|
|
social = false;
|
|
}
|
|
if(period == null) {
|
|
period = "A";
|
|
}
|
|
if(skip == null) {
|
|
skip = 0;
|
|
}
|
|
if(limit == null) {
|
|
limit = 10;
|
|
}
|
|
this._core.calls.scoreBoard.getScores(this._data.id,limit,skip,period,social,tag,user).addDataHandler($bind(this,this.onScoresReceived)).send();
|
|
}
|
|
,onScoresReceived: function(response) {
|
|
if(!response.success || !response.result.data.success) {
|
|
return;
|
|
}
|
|
this.scores = response.result.data.scores;
|
|
var _this = this._core;
|
|
if(_this.verbose) {
|
|
_this.log("received " + this.scores.length + " scores",{ fileName : "io/newgrounds/objects/ScoreBoard.hx", lineNumber : 55, className : "io.newgrounds.objects.ScoreBoard", methodName : "onScoresReceived"});
|
|
}
|
|
this.onUpdate.dispatch();
|
|
}
|
|
,postScore: function(value,tag) {
|
|
this._core.calls.scoreBoard.postScore(this._data.id,value,tag).addDataHandler($bind(this,this.onScorePosted)).send();
|
|
}
|
|
,onScorePosted: function(response) {
|
|
}
|
|
,toString: function() {
|
|
return "ScoreBoard: " + this._data.id + "@" + this._data.name;
|
|
}
|
|
,__class__: io_newgrounds_objects_ScoreBoard
|
|
,__properties__: {get_name:"get_name",get_id:"get_id"}
|
|
});
|
|
var io_newgrounds_objects_Session = {};
|
|
io_newgrounds_objects_Session.__properties__ = {get_status:"get_status",get_passport_url:"get_passport_url",get_passportUrl:"get_passportUrl"};
|
|
io_newgrounds_objects_Session.get_passportUrl = function(this1) {
|
|
return this1.passport_url;
|
|
};
|
|
io_newgrounds_objects_Session.get_passport_url = function(this1) {
|
|
return this1.passport_url;
|
|
};
|
|
io_newgrounds_objects_Session.get_status = function(this1) {
|
|
if(this1.expired || this1.id == null || this1.id == "") {
|
|
return "session-expired";
|
|
}
|
|
if(this1.user != null && this1.user.name != null && this1.user.name != "") {
|
|
return "user-loaded";
|
|
}
|
|
return "request-login";
|
|
};
|
|
var io_newgrounds_objects_events_Response = {};
|
|
io_newgrounds_objects_events_Response.__properties__ = {get_appId:"get_appId",get_result:"get_result",get_debug:"get_debug",get_error:"get_error",get_success:"get_success"};
|
|
io_newgrounds_objects_events_Response.get_success = function(this1) {
|
|
return this1.success;
|
|
};
|
|
io_newgrounds_objects_events_Response.get_error = function(this1) {
|
|
return this1.error;
|
|
};
|
|
io_newgrounds_objects_events_Response.get_debug = function(this1) {
|
|
return this1.debug;
|
|
};
|
|
io_newgrounds_objects_events_Response.get_result = function(this1) {
|
|
return this1.result;
|
|
};
|
|
io_newgrounds_objects_events_Response.get_appId = function(this1) {
|
|
return this1.app_id;
|
|
};
|
|
io_newgrounds_objects_events_Response._new = function(core,reply) {
|
|
var this1;
|
|
try {
|
|
this1 = JSON.parse(reply);
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
var e = haxe_Exception.caught(_g).unwrap();
|
|
this1 = JSON.parse("{\"success\":false,\"error\":{\"message\":\"Error parsing reply:'" + reply + "' error:'" + Std.string(e) + "'\",\"code\":0}}");
|
|
}
|
|
if(!this1.success) {
|
|
var tmp = this1.error;
|
|
core.logError("Call unseccessful: " + (tmp == null ? "null" : (tmp.code != null ? "#" + tmp.code + " - " : "") + tmp.message),{ fileName : "io/newgrounds/objects/events/Response.hx", lineNumber : 40, className : "io.newgrounds.objects.events._Response.Response_Impl_", methodName : "_new"});
|
|
} else if(!this1.result.data.success) {
|
|
var tmp = this1.result.data.error;
|
|
core.logError("" + this1.result.component + " fail: " + (tmp == null ? "null" : (tmp.code != null ? "#" + tmp.code + " - " : "") + tmp.message),{ fileName : "io/newgrounds/objects/events/Response.hx", lineNumber : 42, className : "io.newgrounds.objects.events._Response.Response_Impl_", methodName : "_new"});
|
|
}
|
|
return this1;
|
|
};
|
|
var io_newgrounds_objects_events_Result = {};
|
|
io_newgrounds_objects_events_Result.__properties__ = {get_error:"get_error",get_debug:"get_debug",get_success:"get_success",get_data:"get_data",get_echo:"get_echo",get_component:"get_component"};
|
|
io_newgrounds_objects_events_Result.get_component = function(this1) {
|
|
return this1.component;
|
|
};
|
|
io_newgrounds_objects_events_Result.get_echo = function(this1) {
|
|
return this1.echo;
|
|
};
|
|
io_newgrounds_objects_events_Result.get_data = function(this1) {
|
|
return this1.data;
|
|
};
|
|
io_newgrounds_objects_events_Result.get_success = function(this1) {
|
|
return this1.data.success;
|
|
};
|
|
io_newgrounds_objects_events_Result.get_debug = function(this1) {
|
|
return this1.data.debug;
|
|
};
|
|
io_newgrounds_objects_events_Result.get_error = function(this1) {
|
|
return this1.data.error;
|
|
};
|
|
var io_newgrounds_objects_events_GetHostResult = {};
|
|
io_newgrounds_objects_events_GetHostResult.__properties__ = {get_hostApproved:"get_hostApproved",get_host_approved:"get_host_approved"};
|
|
io_newgrounds_objects_events_GetHostResult.get_host_approved = function(this1) {
|
|
return this1.host_approved;
|
|
};
|
|
io_newgrounds_objects_events_GetHostResult.get_hostApproved = function(this1) {
|
|
return this1.host_approved;
|
|
};
|
|
var io_newgrounds_objects_events_GetCurrentVersionResult = {};
|
|
io_newgrounds_objects_events_GetCurrentVersionResult.__properties__ = {get_clientDeprecated:"get_clientDeprecated",get_client_deprecated:"get_client_deprecated",get_currentVersion:"get_currentVersion",get_current_version:"get_current_version"};
|
|
io_newgrounds_objects_events_GetCurrentVersionResult.get_current_version = function(this1) {
|
|
return this1.current_version;
|
|
};
|
|
io_newgrounds_objects_events_GetCurrentVersionResult.get_currentVersion = function(this1) {
|
|
return this1.current_version;
|
|
};
|
|
io_newgrounds_objects_events_GetCurrentVersionResult.get_client_deprecated = function(this1) {
|
|
return this1.client_deprecated;
|
|
};
|
|
io_newgrounds_objects_events_GetCurrentVersionResult.get_clientDeprecated = function(this1) {
|
|
return this1.client_deprecated;
|
|
};
|
|
var io_newgrounds_objects_events_LogEventResult = {};
|
|
io_newgrounds_objects_events_LogEventResult.__properties__ = {get_eventName:"get_eventName",get_event_name:"get_event_name"};
|
|
io_newgrounds_objects_events_LogEventResult.get_event_name = function(this1) {
|
|
return this1.event_name;
|
|
};
|
|
io_newgrounds_objects_events_LogEventResult.get_eventName = function(this1) {
|
|
return this1.event_name;
|
|
};
|
|
var io_newgrounds_objects_events_GetDateTimeResult = {};
|
|
io_newgrounds_objects_events_GetDateTimeResult.__properties__ = {get_dateTime:"get_dateTime",get_datetime:"get_datetime"};
|
|
io_newgrounds_objects_events_GetDateTimeResult.get_datetime = function(this1) {
|
|
return this1.datetime;
|
|
};
|
|
io_newgrounds_objects_events_GetDateTimeResult.get_dateTime = function(this1) {
|
|
return this1.datetime;
|
|
};
|
|
var io_newgrounds_objects_events_MedalUnlockResult = {};
|
|
io_newgrounds_objects_events_MedalUnlockResult.__properties__ = {get_medalScore:"get_medalScore",get_medal_score:"get_medal_score"};
|
|
io_newgrounds_objects_events_MedalUnlockResult.get_medal_score = function(this1) {
|
|
return this1.medal_score;
|
|
};
|
|
io_newgrounds_objects_events_MedalUnlockResult.get_medalScore = function(this1) {
|
|
return this1.medal_score;
|
|
};
|
|
var io_newgrounds_utils_AsyncHttp = function() { };
|
|
$hxClasses["io.newgrounds.utils.AsyncHttp"] = io_newgrounds_utils_AsyncHttp;
|
|
io_newgrounds_utils_AsyncHttp.__name__ = "io.newgrounds.utils.AsyncHttp";
|
|
io_newgrounds_utils_AsyncHttp.send = function(core,data,onData,onError,onStatus) {
|
|
if(core.verbose) {
|
|
core.log("sending: " + data,{ fileName : "io/newgrounds/utils/AsyncHttp.hx", lineNumber : 35, className : "io.newgrounds.utils.AsyncHttp", methodName : "send"});
|
|
}
|
|
io_newgrounds_utils_AsyncHttp.sendSync(core,data,onData,onError,onStatus);
|
|
};
|
|
io_newgrounds_utils_AsyncHttp.sendSync = function(core,data,onData,onError,onStatus) {
|
|
var http = new haxe_http_HttpJs("https://newgrounds.io/gateway_v3.php");
|
|
http.setParameter("input",data);
|
|
http.onData = onData;
|
|
http.onError = onError;
|
|
http.onStatus = onStatus;
|
|
http.request(true);
|
|
};
|
|
var io_newgrounds_utils_TypedDispatcher = function() {
|
|
this._list = [];
|
|
this._once = [];
|
|
};
|
|
$hxClasses["io.newgrounds.utils.TypedDispatcher"] = io_newgrounds_utils_TypedDispatcher;
|
|
io_newgrounds_utils_TypedDispatcher.__name__ = "io.newgrounds.utils.TypedDispatcher";
|
|
io_newgrounds_utils_TypedDispatcher.prototype = {
|
|
_list: null
|
|
,_once: null
|
|
,add: function(handler,once) {
|
|
if(once == null) {
|
|
once = false;
|
|
}
|
|
if(this._list.indexOf(handler) != -1) {
|
|
if(!once && this._once.indexOf(handler) != -1) {
|
|
HxOverrides.remove(this._once,handler);
|
|
}
|
|
return false;
|
|
}
|
|
this._list.unshift(handler);
|
|
if(once) {
|
|
this._once.unshift(handler);
|
|
}
|
|
return true;
|
|
}
|
|
,addOnce: function(handler) {
|
|
return this.add(handler,true);
|
|
}
|
|
,remove: function(handler) {
|
|
HxOverrides.remove(this._once,handler);
|
|
return HxOverrides.remove(this._list,handler);
|
|
}
|
|
,dispatch: function(arg) {
|
|
var i = this._list.length - 1;
|
|
while(i >= 0) {
|
|
var handler = this._list[i];
|
|
if(HxOverrides.remove(this._once,handler)) {
|
|
HxOverrides.remove(this._list,handler);
|
|
}
|
|
handler(arg);
|
|
--i;
|
|
}
|
|
}
|
|
,__class__: io_newgrounds_utils_TypedDispatcher
|
|
};
|
|
var js_Browser = function() { };
|
|
$hxClasses["js.Browser"] = js_Browser;
|
|
js_Browser.__name__ = "js.Browser";
|
|
js_Browser.getLocalStorage = function() {
|
|
try {
|
|
var s = window.localStorage;
|
|
s.getItem("");
|
|
if(s.length == 0) {
|
|
var key = "_hx_" + Math.random();
|
|
s.setItem(key,key);
|
|
s.removeItem(key);
|
|
}
|
|
return s;
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
return null;
|
|
}
|
|
};
|
|
js_Browser.createXMLHttpRequest = function() {
|
|
if(typeof XMLHttpRequest != "undefined") {
|
|
return new XMLHttpRequest();
|
|
}
|
|
if(typeof ActiveXObject != "undefined") {
|
|
return new ActiveXObject("Microsoft.XMLHTTP");
|
|
}
|
|
throw haxe_Exception.thrown("Unable to create XMLHttpRequest object.");
|
|
};
|
|
var js_html__$CanvasElement_CanvasUtil = function() { };
|
|
$hxClasses["js.html._CanvasElement.CanvasUtil"] = js_html__$CanvasElement_CanvasUtil;
|
|
js_html__$CanvasElement_CanvasUtil.__name__ = "js.html._CanvasElement.CanvasUtil";
|
|
js_html__$CanvasElement_CanvasUtil.getContextWebGL = function(canvas,attribs) {
|
|
var name = "webgl";
|
|
var ctx = canvas.getContext(name,attribs);
|
|
if(ctx != null) {
|
|
return ctx;
|
|
}
|
|
var name = "experimental-webgl";
|
|
var ctx = canvas.getContext(name,attribs);
|
|
if(ctx != null) {
|
|
return ctx;
|
|
}
|
|
return null;
|
|
};
|
|
var js_lib__$ArrayBuffer_ArrayBufferCompat = function() { };
|
|
$hxClasses["js.lib._ArrayBuffer.ArrayBufferCompat"] = js_lib__$ArrayBuffer_ArrayBufferCompat;
|
|
js_lib__$ArrayBuffer_ArrayBufferCompat.__name__ = "js.lib._ArrayBuffer.ArrayBufferCompat";
|
|
js_lib__$ArrayBuffer_ArrayBufferCompat.sliceImpl = function(begin,end) {
|
|
var u = new Uint8Array(this,begin,end == null ? null : end - begin);
|
|
var resultArray = new Uint8Array(u.byteLength);
|
|
resultArray.set(u);
|
|
return resultArray.buffer;
|
|
};
|
|
var lime__$internal_backend_html5_GameDeviceData = function() {
|
|
this.connected = true;
|
|
this.buttons = [];
|
|
this.axes = [];
|
|
};
|
|
$hxClasses["lime._internal.backend.html5.GameDeviceData"] = lime__$internal_backend_html5_GameDeviceData;
|
|
lime__$internal_backend_html5_GameDeviceData.__name__ = "lime._internal.backend.html5.GameDeviceData";
|
|
lime__$internal_backend_html5_GameDeviceData.prototype = {
|
|
connected: null
|
|
,id: null
|
|
,isGamepad: null
|
|
,buttons: null
|
|
,axes: null
|
|
,__class__: lime__$internal_backend_html5_GameDeviceData
|
|
};
|
|
var lime__$internal_backend_html5_HTML5AudioSource = function(parent) {
|
|
this.parent = parent;
|
|
this.id = -1;
|
|
this.gain = 1;
|
|
this.position = new lime_math_Vector4();
|
|
};
|
|
$hxClasses["lime._internal.backend.html5.HTML5AudioSource"] = lime__$internal_backend_html5_HTML5AudioSource;
|
|
lime__$internal_backend_html5_HTML5AudioSource.__name__ = "lime._internal.backend.html5.HTML5AudioSource";
|
|
lime__$internal_backend_html5_HTML5AudioSource.prototype = {
|
|
completed: null
|
|
,gain: null
|
|
,id: null
|
|
,length: null
|
|
,loops: null
|
|
,parent: null
|
|
,playing: null
|
|
,position: null
|
|
,dispose: function() {
|
|
}
|
|
,init: function() {
|
|
}
|
|
,play: function() {
|
|
if(this.playing || this.parent.buffer == null || this.parent.buffer.__srcHowl == null) {
|
|
return;
|
|
}
|
|
this.playing = true;
|
|
var time = this.getCurrentTime();
|
|
this.completed = false;
|
|
var cacheVolume = this.parent.buffer.__srcHowl._volume;
|
|
this.parent.buffer.__srcHowl._volume = this.parent.get_gain();
|
|
this.id = this.parent.buffer.__srcHowl.play();
|
|
this.parent.buffer.__srcHowl._volume = cacheVolume;
|
|
this.setPosition(this.parent.get_position());
|
|
this.parent.buffer.__srcHowl.on("end",$bind(this,this.howl_onEnd),this.id);
|
|
this.setCurrentTime(time);
|
|
}
|
|
,pause: function() {
|
|
this.playing = false;
|
|
if(this.parent.buffer != null && this.parent.buffer.__srcHowl != null) {
|
|
this.parent.buffer.__srcHowl.pause(this.id);
|
|
}
|
|
}
|
|
,stop: function() {
|
|
this.playing = false;
|
|
if(this.parent.buffer != null && this.parent.buffer.__srcHowl != null) {
|
|
this.parent.buffer.__srcHowl.stop(this.id);
|
|
this.parent.buffer.__srcHowl.off("end",$bind(this,this.howl_onEnd),this.id);
|
|
}
|
|
}
|
|
,howl_onEnd: function() {
|
|
this.playing = false;
|
|
if(this.loops > 0) {
|
|
this.loops--;
|
|
this.stop();
|
|
this.play();
|
|
return;
|
|
} else if(this.parent.buffer != null && this.parent.buffer.__srcHowl != null) {
|
|
this.parent.buffer.__srcHowl.stop(this.id);
|
|
this.parent.buffer.__srcHowl.off("end",$bind(this,this.howl_onEnd),this.id);
|
|
}
|
|
this.completed = true;
|
|
this.parent.onComplete.dispatch();
|
|
}
|
|
,getCurrentTime: function() {
|
|
if(this.id == -1) {
|
|
return 0;
|
|
}
|
|
if(this.completed) {
|
|
return this.getLength();
|
|
} else if(this.parent.buffer != null && this.parent.buffer.__srcHowl != null) {
|
|
var time = (this.parent.buffer.__srcHowl.seek(this.id) * 1000 | 0) - this.parent.offset;
|
|
if(time < 0) {
|
|
return 0;
|
|
}
|
|
return time;
|
|
}
|
|
return 0;
|
|
}
|
|
,setCurrentTime: function(value) {
|
|
if(this.parent.buffer != null && this.parent.buffer.__srcHowl != null) {
|
|
var pos = (value + this.parent.offset) / 1000;
|
|
if(pos < 0) {
|
|
pos = 0;
|
|
}
|
|
this.parent.buffer.__srcHowl.seek(pos,this.id);
|
|
}
|
|
return value;
|
|
}
|
|
,getGain: function() {
|
|
return this.gain;
|
|
}
|
|
,setGain: function(value) {
|
|
if(this.parent.buffer != null && this.parent.buffer.__srcHowl != null && this.id != -1) {
|
|
this.parent.buffer.__srcHowl.volume(value,this.id);
|
|
}
|
|
return this.gain = value;
|
|
}
|
|
,getLength: function() {
|
|
if(this.length != 0) {
|
|
return this.length;
|
|
}
|
|
if(this.parent.buffer != null && this.parent.buffer.__srcHowl != null) {
|
|
return this.parent.buffer.__srcHowl.duration() * 1000 | 0;
|
|
}
|
|
return 0;
|
|
}
|
|
,setLength: function(value) {
|
|
return this.length = value;
|
|
}
|
|
,getLoops: function() {
|
|
return this.loops;
|
|
}
|
|
,setLoops: function(value) {
|
|
return this.loops = value;
|
|
}
|
|
,getPosition: function() {
|
|
return this.position;
|
|
}
|
|
,setPosition: function(value) {
|
|
this.position.x = value.x;
|
|
this.position.y = value.y;
|
|
this.position.z = value.z;
|
|
this.position.w = value.w;
|
|
if(this.parent.buffer.__srcHowl != null && this.parent.buffer.__srcHowl.pos != null) {
|
|
this.parent.buffer.__srcHowl.pos(this.position.x,this.position.y,this.position.z,this.id);
|
|
}
|
|
return this.position;
|
|
}
|
|
,__class__: lime__$internal_backend_html5_HTML5AudioSource
|
|
};
|
|
var lime__$internal_backend_html5_HTML5HTTPRequest = function() {
|
|
this.validStatus0 = new EReg("Tizen","gi").match(window.navigator.userAgent);
|
|
};
|
|
$hxClasses["lime._internal.backend.html5.HTML5HTTPRequest"] = lime__$internal_backend_html5_HTML5HTTPRequest;
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.__name__ = "lime._internal.backend.html5.HTML5HTTPRequest";
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.originElement = null;
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.originHostname = null;
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.originPort = null;
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.originProtocol = null;
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.supportsImageProgress = null;
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.loadImage = function(uri) {
|
|
var promise = new lime_app_Promise();
|
|
if(lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests < lime__$internal_backend_html5_HTML5HTTPRequest.requestLimit) {
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests++;
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.__loadImage(uri,promise,0);
|
|
} else {
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.requestQueue.add({ instance : null, uri : uri, promise : promise, type : "IMAGE", options : 0});
|
|
}
|
|
return promise.future;
|
|
};
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.loadImageFromBytes = function(bytes,type) {
|
|
var uri = URL.createObjectURL(new Blob([bytes.b.bufferValue],{ type : type}));
|
|
if(uri != null) {
|
|
var promise = new lime_app_Promise();
|
|
if(lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests < lime__$internal_backend_html5_HTML5HTTPRequest.requestLimit) {
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests++;
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.__loadImage(uri,promise,1);
|
|
} else {
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.requestQueue.add({ instance : null, uri : uri, promise : promise, type : "IMAGE", options : 1});
|
|
}
|
|
return promise.future;
|
|
} else {
|
|
return lime__$internal_backend_html5_HTML5HTTPRequest.loadImage("data:" + type + ";base64," + lime__$internal_format_Base64.encode(bytes));
|
|
}
|
|
};
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.processQueue = function() {
|
|
if(lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests < lime__$internal_backend_html5_HTML5HTTPRequest.requestLimit && lime__$internal_backend_html5_HTML5HTTPRequest.requestQueue.length > 0) {
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests++;
|
|
var queueItem = lime__$internal_backend_html5_HTML5HTTPRequest.requestQueue.pop();
|
|
switch(queueItem.type) {
|
|
case "BINARY":
|
|
queueItem.instance.__loadData(queueItem.uri,queueItem.promise);
|
|
break;
|
|
case "IMAGE":
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.__loadImage(queueItem.uri,queueItem.promise,queueItem.options);
|
|
break;
|
|
case "TEXT":
|
|
queueItem.instance.__loadText(queueItem.uri,queueItem.promise);
|
|
break;
|
|
default:
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests--;
|
|
}
|
|
}
|
|
};
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.__createBlobURIFromBytes = function(bytes,type) {
|
|
return URL.createObjectURL(new Blob([bytes.b.bufferValue],{ type : type}));
|
|
};
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.__fixHostname = function(hostname) {
|
|
if(hostname == null) {
|
|
return "";
|
|
} else {
|
|
return hostname;
|
|
}
|
|
};
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.__fixPort = function(port,protocol) {
|
|
if(port == null || port == "") {
|
|
switch(protocol) {
|
|
case "ftp:":
|
|
return "21";
|
|
case "gopher:":
|
|
return "70";
|
|
case "http:":
|
|
return "80";
|
|
case "https:":
|
|
return "443";
|
|
case "ws:":
|
|
return "80";
|
|
case "wss:":
|
|
return "443";
|
|
default:
|
|
return "";
|
|
}
|
|
}
|
|
return port;
|
|
};
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.__fixProtocol = function(protocol) {
|
|
if(protocol == null || protocol == "") {
|
|
return "http:";
|
|
} else {
|
|
return protocol;
|
|
}
|
|
};
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.__isInMemoryURI = function(uri) {
|
|
if(!StringTools.startsWith(uri,"data:")) {
|
|
return StringTools.startsWith(uri,"blob:");
|
|
} else {
|
|
return true;
|
|
}
|
|
};
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.__isSameOrigin = function(path) {
|
|
if(path == null || path == "") {
|
|
return true;
|
|
}
|
|
if(lime__$internal_backend_html5_HTML5HTTPRequest.__isInMemoryURI(path)) {
|
|
return true;
|
|
}
|
|
if(lime__$internal_backend_html5_HTML5HTTPRequest.originElement == null) {
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.originElement = window.document.createElement("a");
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.originHostname = lime__$internal_backend_html5_HTML5HTTPRequest.__fixHostname($global.location.hostname);
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.originProtocol = lime__$internal_backend_html5_HTML5HTTPRequest.__fixProtocol($global.location.protocol);
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.originPort = lime__$internal_backend_html5_HTML5HTTPRequest.__fixPort($global.location.port,lime__$internal_backend_html5_HTML5HTTPRequest.originProtocol);
|
|
}
|
|
var a = lime__$internal_backend_html5_HTML5HTTPRequest.originElement;
|
|
a.href = path;
|
|
if(a.hostname == "") {
|
|
a.href = a.href;
|
|
}
|
|
var hostname = lime__$internal_backend_html5_HTML5HTTPRequest.__fixHostname(a.hostname);
|
|
var protocol = lime__$internal_backend_html5_HTML5HTTPRequest.__fixProtocol(a.protocol);
|
|
var port = lime__$internal_backend_html5_HTML5HTTPRequest.__fixPort(a.port,protocol);
|
|
var sameHost = hostname == "" || hostname == lime__$internal_backend_html5_HTML5HTTPRequest.originHostname;
|
|
var samePort = port == "" || port == lime__$internal_backend_html5_HTML5HTTPRequest.originPort;
|
|
if(protocol != "file:" && sameHost) {
|
|
return samePort;
|
|
} else {
|
|
return false;
|
|
}
|
|
};
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.__loadImage = function(uri,promise,options) {
|
|
var image = new Image();
|
|
if(!lime__$internal_backend_html5_HTML5HTTPRequest.__isSameOrigin(uri)) {
|
|
image.crossOrigin = "Anonymous";
|
|
}
|
|
if(lime__$internal_backend_html5_HTML5HTTPRequest.supportsImageProgress == null) {
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.supportsImageProgress = 'onprogress' in image;
|
|
}
|
|
if(lime__$internal_backend_html5_HTML5HTTPRequest.supportsImageProgress || lime__$internal_backend_html5_HTML5HTTPRequest.__isInMemoryURI(uri)) {
|
|
image.addEventListener("load",function(event) {
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.__revokeBlobURI(uri,options);
|
|
var buffer = new lime_graphics_ImageBuffer(null,image.width,image.height);
|
|
buffer.__srcImage = image;
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests--;
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.processQueue();
|
|
promise.complete(new lime_graphics_Image(buffer));
|
|
},false);
|
|
image.addEventListener("progress",function(event) {
|
|
promise.progress(event.loaded,event.total);
|
|
},false);
|
|
image.addEventListener("error",function(event) {
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.__revokeBlobURI(uri,options);
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests--;
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.processQueue();
|
|
promise.error(event.detail);
|
|
},false);
|
|
image.src = uri;
|
|
} else {
|
|
var request = new XMLHttpRequest();
|
|
request.onload = function(_) {
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests--;
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.processQueue();
|
|
var img = new lime_graphics_Image();
|
|
img.__fromBytes(haxe_io_Bytes.ofData(request.response),function(img) {
|
|
promise.complete(img);
|
|
});
|
|
};
|
|
request.onerror = function(event) {
|
|
promise.error(event.message);
|
|
};
|
|
request.onprogress = function(event) {
|
|
if(event.lengthComputable) {
|
|
promise.progress(event.loaded,event.total);
|
|
}
|
|
};
|
|
request.open("GET",uri,true);
|
|
request.responseType = "arraybuffer";
|
|
request.overrideMimeType("text/plain; charset=x-user-defined");
|
|
request.send(null);
|
|
}
|
|
};
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.__revokeBlobURI = function(uri,options) {
|
|
if((options & 1) != 0) {
|
|
URL.revokeObjectURL(uri);
|
|
}
|
|
};
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.prototype = {
|
|
binary: null
|
|
,parent: null
|
|
,request: null
|
|
,validStatus0: null
|
|
,cancel: function() {
|
|
if(this.request != null) {
|
|
this.request.abort();
|
|
}
|
|
}
|
|
,init: function(parent) {
|
|
this.parent = parent;
|
|
}
|
|
,load: function(uri,progress,readyStateChange) {
|
|
this.request = new XMLHttpRequest();
|
|
if(this.parent.method == "POST") {
|
|
this.request.upload.addEventListener("progress",progress,false);
|
|
} else {
|
|
this.request.addEventListener("progress",progress,false);
|
|
}
|
|
this.request.onreadystatechange = readyStateChange;
|
|
var query = "";
|
|
if(this.parent.data == null) {
|
|
var key = haxe_ds_StringMap.keysIterator(this.parent.formData.h);
|
|
while(key.hasNext()) {
|
|
var key1 = key.next();
|
|
if(query.length > 0) {
|
|
query += "&";
|
|
}
|
|
var value = this.parent.formData.h[key1];
|
|
if(key1.indexOf("[]") > -1 && ((value) instanceof Array)) {
|
|
var _g = [];
|
|
var x = $getIterator(value);
|
|
while(x.hasNext()) {
|
|
var x1 = x.next();
|
|
_g.push(encodeURIComponent(x1));
|
|
}
|
|
var arrayValue = _g.join("&" + key1 + "=");
|
|
query += encodeURIComponent(key1) + "=" + arrayValue;
|
|
} else {
|
|
var query1 = encodeURIComponent(key1) + "=";
|
|
var s = Std.string(value);
|
|
query += query1 + encodeURIComponent(s);
|
|
}
|
|
}
|
|
if(this.parent.method == "GET" && query != "") {
|
|
if(uri.indexOf("?") > -1) {
|
|
uri += "&" + query;
|
|
} else {
|
|
uri += "?" + query;
|
|
}
|
|
query = "";
|
|
}
|
|
}
|
|
this.request.open(Std.string(this.parent.method),uri,true);
|
|
if(this.parent.timeout > 0) {
|
|
this.request.timeout = this.parent.timeout;
|
|
}
|
|
if(this.binary) {
|
|
this.request.responseType = "arraybuffer";
|
|
}
|
|
var contentType = null;
|
|
var _g = 0;
|
|
var _g1 = this.parent.headers;
|
|
while(_g < _g1.length) {
|
|
var header = _g1[_g];
|
|
++_g;
|
|
if(header.name == "Content-Type") {
|
|
contentType = header.value;
|
|
} else {
|
|
this.request.setRequestHeader(header.name,header.value);
|
|
}
|
|
}
|
|
if(this.parent.contentType != null) {
|
|
contentType = this.parent.contentType;
|
|
}
|
|
if(contentType == null) {
|
|
if(this.parent.data != null) {
|
|
contentType = "application/octet-stream";
|
|
} else if(query != "") {
|
|
contentType = "application/x-www-form-urlencoded";
|
|
}
|
|
}
|
|
if(contentType != null) {
|
|
this.request.setRequestHeader("Content-Type",contentType);
|
|
}
|
|
if(this.parent.withCredentials) {
|
|
this.request.withCredentials = true;
|
|
}
|
|
if(this.parent.data != null) {
|
|
this.request.send(this.parent.data.b.bufferValue);
|
|
} else {
|
|
this.request.send(query);
|
|
}
|
|
}
|
|
,loadData: function(uri) {
|
|
var promise = new lime_app_Promise();
|
|
if(lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests < lime__$internal_backend_html5_HTML5HTTPRequest.requestLimit) {
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests++;
|
|
this.__loadData(uri,promise);
|
|
} else {
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.requestQueue.add({ instance : this, uri : uri, promise : promise, type : "BINARY", options : 0});
|
|
}
|
|
return promise.future;
|
|
}
|
|
,loadText: function(uri) {
|
|
var promise = new lime_app_Promise();
|
|
if(lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests < lime__$internal_backend_html5_HTML5HTTPRequest.requestLimit) {
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests++;
|
|
this.__loadText(uri,promise);
|
|
} else {
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.requestQueue.add({ instance : this, uri : uri, promise : promise, type : "TEXT", options : 0});
|
|
}
|
|
return promise.future;
|
|
}
|
|
,processResponse: function() {
|
|
if(this.parent.enableResponseHeaders) {
|
|
this.parent.responseHeaders = [];
|
|
var name;
|
|
var value;
|
|
var _g = 0;
|
|
var _g1 = this.request.getAllResponseHeaders().split("\n");
|
|
while(_g < _g1.length) {
|
|
var line = _g1[_g];
|
|
++_g;
|
|
name = StringTools.trim(HxOverrides.substr(line,0,line.indexOf(":")));
|
|
value = StringTools.trim(HxOverrides.substr(line,line.indexOf(":") + 1,null));
|
|
if(name != "") {
|
|
this.parent.responseHeaders.push(new lime_net_HTTPRequestHeader(name,value));
|
|
}
|
|
}
|
|
}
|
|
this.parent.responseStatus = this.request.status;
|
|
}
|
|
,__loadData: function(uri,promise) {
|
|
var _gthis = this;
|
|
var progress = function(event) {
|
|
promise.progress(event.loaded,event.total);
|
|
};
|
|
var readyStateChange = function(event) {
|
|
if(_gthis.request.readyState != 4) {
|
|
return;
|
|
}
|
|
if(_gthis.request.status != null && (_gthis.request.status >= 200 && _gthis.request.status < 400 || _gthis.validStatus0 && _gthis.request.status == 0)) {
|
|
var bytes = null;
|
|
if(_gthis.request.responseType == "") {
|
|
if(_gthis.request.responseText != null) {
|
|
bytes = haxe_io_Bytes.ofString(_gthis.request.responseText);
|
|
}
|
|
} else if(_gthis.request.response != null) {
|
|
bytes = haxe_io_Bytes.ofData(_gthis.request.response);
|
|
}
|
|
_gthis.processResponse();
|
|
promise.complete(bytes);
|
|
} else {
|
|
_gthis.processResponse();
|
|
promise.error(_gthis.request.status);
|
|
}
|
|
_gthis.request = null;
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests--;
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.processQueue();
|
|
};
|
|
this.binary = true;
|
|
this.load(uri,progress,readyStateChange);
|
|
}
|
|
,__loadText: function(uri,promise) {
|
|
var _gthis = this;
|
|
var progress = function(event) {
|
|
promise.progress(event.loaded,event.total);
|
|
};
|
|
var readyStateChange = function(event) {
|
|
if(_gthis.request.readyState != 4) {
|
|
return;
|
|
}
|
|
if(_gthis.request.status != null && (_gthis.request.status >= 200 && _gthis.request.status <= 400 || _gthis.validStatus0 && _gthis.request.status == 0)) {
|
|
_gthis.processResponse();
|
|
promise.complete(_gthis.request.responseText);
|
|
} else {
|
|
_gthis.processResponse();
|
|
promise.error(_gthis.request.status);
|
|
}
|
|
_gthis.request = null;
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests--;
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.processQueue();
|
|
};
|
|
this.binary = false;
|
|
this.load(uri,progress,readyStateChange);
|
|
}
|
|
,__class__: lime__$internal_backend_html5_HTML5HTTPRequest
|
|
};
|
|
var lime__$internal_backend_html5_HTML5Window = function(parent) {
|
|
this.inputing = false;
|
|
this.unusedTouchesPool = new haxe_ds_List();
|
|
this.scale = 1.0;
|
|
this.currentTouches = new haxe_ds_IntMap();
|
|
this.parent = parent;
|
|
this.cursor = lime_ui_MouseCursor.DEFAULT;
|
|
this.cacheMouseX = 0;
|
|
this.cacheMouseY = 0;
|
|
var attributes = parent.__attributes;
|
|
if(!Object.prototype.hasOwnProperty.call(attributes,"context")) {
|
|
attributes.context = { };
|
|
}
|
|
this.renderType = attributes.context.type;
|
|
if(Object.prototype.hasOwnProperty.call(attributes,"element")) {
|
|
parent.element = attributes.element;
|
|
}
|
|
var element = parent.element;
|
|
if(Object.prototype.hasOwnProperty.call(attributes,"allowHighDPI") && attributes.allowHighDPI && this.renderType != "dom") {
|
|
this.scale = window.devicePixelRatio;
|
|
}
|
|
parent.__scale = this.scale;
|
|
this.setWidth = Object.prototype.hasOwnProperty.call(attributes,"width") ? attributes.width : 0;
|
|
this.setHeight = Object.prototype.hasOwnProperty.call(attributes,"height") ? attributes.height : 0;
|
|
parent.__width = this.setWidth;
|
|
parent.__height = this.setHeight;
|
|
parent.id = lime__$internal_backend_html5_HTML5Window.windowID++;
|
|
if(((element) instanceof HTMLCanvasElement)) {
|
|
this.canvas = element;
|
|
} else if(this.renderType == "dom") {
|
|
this.div = window.document.createElement("div");
|
|
} else {
|
|
this.canvas = window.document.createElement("canvas");
|
|
}
|
|
if(this.canvas != null) {
|
|
var style = this.canvas.style;
|
|
style.setProperty("-webkit-transform","translateZ(0)",null);
|
|
style.setProperty("transform","translateZ(0)",null);
|
|
} else if(this.div != null) {
|
|
var style = this.div.style;
|
|
style.setProperty("-webkit-transform","translate3D(0,0,0)",null);
|
|
style.setProperty("transform","translate3D(0,0,0)",null);
|
|
style.position = "relative";
|
|
style.overflow = "hidden";
|
|
style.setProperty("-webkit-user-select","none",null);
|
|
style.setProperty("-moz-user-select","none",null);
|
|
style.setProperty("-ms-user-select","none",null);
|
|
style.setProperty("-o-user-select","none",null);
|
|
}
|
|
if(parent.__width == 0 && parent.__height == 0) {
|
|
if(element != null) {
|
|
parent.__width = element.clientWidth;
|
|
parent.__height = element.clientHeight;
|
|
} else {
|
|
parent.__width = window.innerWidth;
|
|
parent.__height = window.innerHeight;
|
|
}
|
|
this.cacheElementWidth = parent.__width;
|
|
this.cacheElementHeight = parent.__height;
|
|
this.resizeElement = true;
|
|
}
|
|
if(this.canvas != null) {
|
|
this.canvas.width = Math.round(parent.__width * this.scale);
|
|
this.canvas.height = Math.round(parent.__height * this.scale);
|
|
this.canvas.style.width = parent.__width + "px";
|
|
this.canvas.style.height = parent.__height + "px";
|
|
} else {
|
|
this.div.style.width = parent.__width + "px";
|
|
this.div.style.height = parent.__height + "px";
|
|
}
|
|
if(Object.prototype.hasOwnProperty.call(attributes,"resizable") && attributes.resizable || !Object.prototype.hasOwnProperty.call(attributes,"width") && this.setWidth == 0 && this.setHeight == 0) {
|
|
parent.__resizable = true;
|
|
}
|
|
this.updateSize();
|
|
if(element != null) {
|
|
if(this.canvas != null) {
|
|
if(element != this.canvas) {
|
|
element.appendChild(this.canvas);
|
|
}
|
|
} else {
|
|
element.appendChild(this.div);
|
|
}
|
|
var events = ["mousedown","mouseenter","mouseleave","mousemove","mouseup","wheel"];
|
|
var _g = 0;
|
|
while(_g < events.length) {
|
|
var event = events[_g];
|
|
++_g;
|
|
element.addEventListener(event,$bind(this,this.handleMouseEvent),true);
|
|
}
|
|
element.addEventListener("contextmenu",$bind(this,this.handleContextMenuEvent),true);
|
|
element.addEventListener("dragstart",$bind(this,this.handleDragEvent),true);
|
|
element.addEventListener("dragover",$bind(this,this.handleDragEvent),true);
|
|
element.addEventListener("drop",$bind(this,this.handleDragEvent),true);
|
|
element.addEventListener("touchstart",$bind(this,this.handleTouchEvent),true);
|
|
element.addEventListener("touchmove",$bind(this,this.handleTouchEvent),true);
|
|
element.addEventListener("touchend",$bind(this,this.handleTouchEvent),true);
|
|
element.addEventListener("touchcancel",$bind(this,this.handleTouchEvent),true);
|
|
element.addEventListener("gamepadconnected",$bind(this,this.handleGamepadEvent),true);
|
|
element.addEventListener("gamepaddisconnected",$bind(this,this.handleGamepadEvent),true);
|
|
}
|
|
this.createContext();
|
|
if(parent.context.type == "webgl") {
|
|
this.canvas.addEventListener("webglcontextlost",$bind(this,this.handleContextEvent),false);
|
|
this.canvas.addEventListener("webglcontextrestored",$bind(this,this.handleContextEvent),false);
|
|
}
|
|
};
|
|
$hxClasses["lime._internal.backend.html5.HTML5Window"] = lime__$internal_backend_html5_HTML5Window;
|
|
lime__$internal_backend_html5_HTML5Window.__name__ = "lime._internal.backend.html5.HTML5Window";
|
|
lime__$internal_backend_html5_HTML5Window.textArea = null;
|
|
lime__$internal_backend_html5_HTML5Window.textInput = null;
|
|
lime__$internal_backend_html5_HTML5Window.prototype = {
|
|
canvas: null
|
|
,div: null
|
|
,cacheElementHeight: null
|
|
,cacheElementWidth: null
|
|
,cacheMouseX: null
|
|
,cacheMouseY: null
|
|
,cursor: null
|
|
,currentTouches: null
|
|
,isFullscreen: null
|
|
,parent: null
|
|
,primaryTouch: null
|
|
,renderType: null
|
|
,requestedFullscreen: null
|
|
,resizeElement: null
|
|
,scale: null
|
|
,setHeight: null
|
|
,setWidth: null
|
|
,textInputEnabled: null
|
|
,unusedTouchesPool: null
|
|
,alert: function(message,title) {
|
|
if(message != null) {
|
|
window.alert(Std.string(message));
|
|
}
|
|
}
|
|
,close: function() {
|
|
this.parent.application.__removeWindow(this.parent);
|
|
}
|
|
,createContext: function() {
|
|
var context = new lime_graphics_RenderContext();
|
|
var contextAttributes = this.parent.__attributes.context;
|
|
context.window = this.parent;
|
|
context.attributes = contextAttributes;
|
|
if(this.div != null) {
|
|
context.dom = this.div;
|
|
context.type = "dom";
|
|
context.version = "";
|
|
} else if(this.canvas != null) {
|
|
var webgl = null;
|
|
var forceCanvas = this.renderType == "canvas";
|
|
var forceWebGL = this.renderType == "opengl" || this.renderType == "opengles" || this.renderType == "webgl";
|
|
var allowWebGL2 = !Object.prototype.hasOwnProperty.call(contextAttributes,"version") || contextAttributes.version != "1";
|
|
var isWebGL2 = false;
|
|
if(forceWebGL || !forceCanvas && (!Object.prototype.hasOwnProperty.call(contextAttributes,"hardware") || contextAttributes.hardware)) {
|
|
var transparentBackground = Object.prototype.hasOwnProperty.call(contextAttributes,"background") && contextAttributes.background == null;
|
|
var colorDepth = Object.prototype.hasOwnProperty.call(contextAttributes,"colorDepth") ? contextAttributes.colorDepth : 16;
|
|
var options = Object.prototype.hasOwnProperty.call(contextAttributes,"antialiasing") && contextAttributes.antialiasing > 0;
|
|
var options1 = Object.prototype.hasOwnProperty.call(contextAttributes,"depth") ? contextAttributes.depth : true;
|
|
var options2 = Object.prototype.hasOwnProperty.call(contextAttributes,"stencil") && contextAttributes.stencil;
|
|
var options3 = { alpha : transparentBackground || colorDepth > 16, antialias : options, depth : options1, premultipliedAlpha : true, stencil : options2, preserveDrawingBuffer : false, failIfMajorPerformanceCaveat : false};
|
|
var glContextType = ["webgl","experimental-webgl"];
|
|
if(allowWebGL2) {
|
|
glContextType.unshift("webgl2");
|
|
}
|
|
var _g = 0;
|
|
while(_g < glContextType.length) {
|
|
var name = glContextType[_g];
|
|
++_g;
|
|
webgl = this.canvas.getContext(name,options3);
|
|
if(webgl != null && name == "webgl2") {
|
|
isWebGL2 = true;
|
|
}
|
|
if(webgl != null) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
if(webgl == null) {
|
|
context.canvas2D = this.canvas.getContext("2d");
|
|
context.type = "canvas";
|
|
context.version = "";
|
|
} else {
|
|
context.webgl = lime_graphics_WebGLRenderContext.fromWebGL2RenderContext(webgl);
|
|
if(isWebGL2) {
|
|
context.webgl2 = webgl;
|
|
}
|
|
if(lime_graphics_opengl_GL.context == null) {
|
|
lime_graphics_opengl_GL.context = webgl;
|
|
lime_graphics_opengl_GL.type = "webgl";
|
|
lime_graphics_opengl_GL.version = isWebGL2 ? 2 : 1;
|
|
}
|
|
context.type = "webgl";
|
|
context.version = isWebGL2 ? "2" : "1";
|
|
}
|
|
}
|
|
this.parent.context = context;
|
|
}
|
|
,focus: function() {
|
|
}
|
|
,getCursor: function() {
|
|
return this.cursor;
|
|
}
|
|
,getDisplay: function() {
|
|
return lime_system_System.getDisplay(0);
|
|
}
|
|
,getDisplayMode: function() {
|
|
return lime_system_System.getDisplay(0).currentMode;
|
|
}
|
|
,getFrameRate: function() {
|
|
if(this.parent.application == null) {
|
|
return 0;
|
|
}
|
|
if(this.parent.application.__backend.framePeriod < 0) {
|
|
return 60;
|
|
} else if(this.parent.application.__backend.framePeriod == 1000) {
|
|
return 0;
|
|
} else {
|
|
return 1000 / this.parent.application.__backend.framePeriod;
|
|
}
|
|
}
|
|
,getMouseLock: function() {
|
|
return false;
|
|
}
|
|
,getTextInputEnabled: function() {
|
|
return this.textInputEnabled;
|
|
}
|
|
,handleContextEvent: function(event) {
|
|
switch(event.type) {
|
|
case "webglcontextlost":
|
|
if(event.cancelable) {
|
|
event.preventDefault();
|
|
}
|
|
var tmp = lime_graphics_opengl_GL.context != null;
|
|
this.parent.context = null;
|
|
this.parent.onRenderContextLost.dispatch();
|
|
break;
|
|
case "webglcontextrestored":
|
|
this.createContext();
|
|
this.parent.onRenderContextRestored.dispatch(this.parent.context);
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
,handleContextMenuEvent: function(event) {
|
|
if((this.parent.onMouseUp.canceled || this.parent.onMouseDown.canceled) && event.cancelable) {
|
|
event.preventDefault();
|
|
}
|
|
}
|
|
,handleCutOrCopyEvent: function(event) {
|
|
event.clipboardData.setData("text/plain",lime_system_Clipboard.get_text());
|
|
if(event.cancelable) {
|
|
event.preventDefault();
|
|
}
|
|
}
|
|
,handleDragEvent: function(event) {
|
|
switch(event.type) {
|
|
case "dragover":
|
|
event.preventDefault();
|
|
return false;
|
|
case "dragstart":
|
|
if((js_Boot.__cast(event.target , HTMLElement)).nodeName.toLowerCase() == "img" && event.cancelable) {
|
|
event.preventDefault();
|
|
return false;
|
|
}
|
|
break;
|
|
case "drop":
|
|
if(event.dataTransfer != null && event.dataTransfer.files.length > 0) {
|
|
this.parent.onDropFile.dispatch(event.dataTransfer.files);
|
|
event.preventDefault();
|
|
return false;
|
|
}
|
|
break;
|
|
}
|
|
return true;
|
|
}
|
|
,handleFocusEvent: function(event) {
|
|
var _gthis = this;
|
|
if(this.textInputEnabled) {
|
|
if(event.relatedTarget == null || this.isDescendent(event.relatedTarget)) {
|
|
haxe_Timer.delay(function() {
|
|
if(_gthis.textInputEnabled) {
|
|
lime__$internal_backend_html5_HTML5Window.textInput.focus();
|
|
}
|
|
},20);
|
|
}
|
|
}
|
|
}
|
|
,handleFullscreenEvent: function(event) {
|
|
var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement;
|
|
if(fullscreenElement != null) {
|
|
this.isFullscreen = true;
|
|
this.parent.__fullscreen = true;
|
|
if(this.requestedFullscreen) {
|
|
this.requestedFullscreen = false;
|
|
this.parent.onFullscreen.dispatch();
|
|
}
|
|
} else {
|
|
this.isFullscreen = false;
|
|
this.parent.__fullscreen = false;
|
|
this.parent.onRestore.dispatch();
|
|
var changeEvents = ["fullscreenchange","mozfullscreenchange","webkitfullscreenchange","MSFullscreenChange"];
|
|
var errorEvents = ["fullscreenerror","mozfullscreenerror","webkitfullscreenerror","MSFullscreenError"];
|
|
var _g = 0;
|
|
var _g1 = changeEvents.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
window.document.removeEventListener(changeEvents[i],$bind(this,this.handleFullscreenEvent),false);
|
|
window.document.removeEventListener(errorEvents[i],$bind(this,this.handleFullscreenEvent),false);
|
|
}
|
|
}
|
|
}
|
|
,handleGamepadEvent: function(event) {
|
|
switch(event.type) {
|
|
case "gamepadconnected":
|
|
lime_ui_Joystick.__connect(event.gamepad.index);
|
|
if(event.gamepad.mapping == "standard") {
|
|
lime_ui_Gamepad.__connect(event.gamepad.index);
|
|
}
|
|
break;
|
|
case "gamepaddisconnected":
|
|
lime_ui_Joystick.__disconnect(event.gamepad.index);
|
|
lime_ui_Gamepad.__disconnect(event.gamepad.index);
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
,handleInputEvent: function(event) {
|
|
if(this.inputing) {
|
|
return;
|
|
}
|
|
if(lime__$internal_backend_html5_HTML5Window.textInput.value != lime__$internal_backend_html5_HTML5Window.dummyCharacter) {
|
|
var value = StringTools.replace(lime__$internal_backend_html5_HTML5Window.textInput.value,lime__$internal_backend_html5_HTML5Window.dummyCharacter,"");
|
|
if(value.length > 0) {
|
|
this.parent.onTextInput.dispatch(value);
|
|
}
|
|
lime__$internal_backend_html5_HTML5Window.textInput.value = lime__$internal_backend_html5_HTML5Window.dummyCharacter;
|
|
}
|
|
}
|
|
,handleMouseEvent: function(event) {
|
|
var x = 0.0;
|
|
var y = 0.0;
|
|
if(event.type != "wheel") {
|
|
if(this.parent.element != null) {
|
|
if(this.canvas != null) {
|
|
var rect = this.canvas.getBoundingClientRect();
|
|
x = (event.clientX - rect.left) * (this.parent.__width / rect.width);
|
|
y = (event.clientY - rect.top) * (this.parent.__height / rect.height);
|
|
} else if(this.div != null) {
|
|
var rect = this.div.getBoundingClientRect();
|
|
x = event.clientX - rect.left;
|
|
y = event.clientY - rect.top;
|
|
} else {
|
|
var rect = this.parent.element.getBoundingClientRect();
|
|
x = (event.clientX - rect.left) * (this.parent.__width / rect.width);
|
|
y = (event.clientY - rect.top) * (this.parent.__height / rect.height);
|
|
}
|
|
} else {
|
|
x = event.clientX;
|
|
y = event.clientY;
|
|
}
|
|
switch(event.type) {
|
|
case "mousedown":
|
|
if(event.currentTarget == this.parent.element) {
|
|
window.addEventListener("mouseup",$bind(this,this.handleMouseEvent));
|
|
}
|
|
this.parent.onMouseDown.dispatch(x,y,event.button);
|
|
if(this.parent.onMouseDown.canceled && event.cancelable) {
|
|
event.preventDefault();
|
|
}
|
|
break;
|
|
case "mouseenter":
|
|
if(event.target == this.parent.element) {
|
|
this.parent.onEnter.dispatch();
|
|
if(this.parent.onEnter.canceled && event.cancelable) {
|
|
event.preventDefault();
|
|
}
|
|
}
|
|
break;
|
|
case "mouseleave":
|
|
if(event.target == this.parent.element) {
|
|
this.parent.onLeave.dispatch();
|
|
if(this.parent.onLeave.canceled && event.cancelable) {
|
|
event.preventDefault();
|
|
}
|
|
}
|
|
break;
|
|
case "mousemove":
|
|
if(x != this.cacheMouseX || y != this.cacheMouseY) {
|
|
this.parent.onMouseMove.dispatch(x,y);
|
|
this.parent.onMouseMoveRelative.dispatch(x - this.cacheMouseX,y - this.cacheMouseY);
|
|
if((this.parent.onMouseMove.canceled || this.parent.onMouseMoveRelative.canceled) && event.cancelable) {
|
|
event.preventDefault();
|
|
}
|
|
}
|
|
break;
|
|
case "mouseup":
|
|
window.removeEventListener("mouseup",$bind(this,this.handleMouseEvent));
|
|
if(event.currentTarget == this.parent.element) {
|
|
event.stopPropagation();
|
|
}
|
|
this.parent.onMouseUp.dispatch(x,y,event.button);
|
|
if(this.parent.onMouseUp.canceled && event.cancelable) {
|
|
event.preventDefault();
|
|
}
|
|
break;
|
|
default:
|
|
}
|
|
this.cacheMouseX = x;
|
|
this.cacheMouseY = y;
|
|
} else {
|
|
var deltaMode;
|
|
switch(event.deltaMode) {
|
|
case 0:
|
|
deltaMode = lime_ui_MouseWheelMode.PIXELS;
|
|
break;
|
|
case 1:
|
|
deltaMode = lime_ui_MouseWheelMode.LINES;
|
|
break;
|
|
case 2:
|
|
deltaMode = lime_ui_MouseWheelMode.PAGES;
|
|
break;
|
|
default:
|
|
deltaMode = lime_ui_MouseWheelMode.UNKNOWN;
|
|
}
|
|
this.parent.onMouseWheel.dispatch(event.deltaX,-event.deltaY,deltaMode);
|
|
if(this.parent.onMouseWheel.canceled && event.cancelable) {
|
|
event.preventDefault();
|
|
}
|
|
}
|
|
}
|
|
,handlePasteEvent: function(event) {
|
|
if(event.clipboardData.types.indexOf("text/plain") > -1) {
|
|
var text = event.clipboardData.getData("text/plain");
|
|
lime_system_Clipboard.set_text(text);
|
|
if(this.textInputEnabled) {
|
|
this.parent.onTextInput.dispatch(text);
|
|
}
|
|
if(event.cancelable) {
|
|
event.preventDefault();
|
|
}
|
|
}
|
|
}
|
|
,handleResizeEvent: function(event) {
|
|
this.primaryTouch = null;
|
|
this.updateSize();
|
|
}
|
|
,handleTouchEvent: function(event) {
|
|
if(event.cancelable) {
|
|
event.preventDefault();
|
|
}
|
|
var rect = null;
|
|
if(this.parent.element != null) {
|
|
if(this.canvas != null) {
|
|
rect = this.canvas.getBoundingClientRect();
|
|
} else if(this.div != null) {
|
|
rect = this.div.getBoundingClientRect();
|
|
} else {
|
|
rect = this.parent.element.getBoundingClientRect();
|
|
}
|
|
}
|
|
var windowWidth = this.setWidth;
|
|
var windowHeight = this.setHeight;
|
|
if(windowWidth == 0 || windowHeight == 0) {
|
|
if(rect != null) {
|
|
windowWidth = rect.width;
|
|
windowHeight = rect.height;
|
|
} else {
|
|
windowWidth = 1;
|
|
windowHeight = 1;
|
|
}
|
|
}
|
|
var touch;
|
|
var x;
|
|
var y;
|
|
var cacheX;
|
|
var cacheY;
|
|
var _g = 0;
|
|
var _g1 = event.changedTouches;
|
|
while(_g < _g1.length) {
|
|
var data = _g1[_g];
|
|
++_g;
|
|
x = 0.0;
|
|
y = 0.0;
|
|
if(rect != null) {
|
|
x = (data.clientX - rect.left) * (windowWidth / rect.width);
|
|
y = (data.clientY - rect.top) * (windowHeight / rect.height);
|
|
} else {
|
|
x = data.clientX;
|
|
y = data.clientY;
|
|
}
|
|
if(event.type == "touchstart") {
|
|
touch = this.unusedTouchesPool.pop();
|
|
if(touch == null) {
|
|
touch = new lime_ui_Touch(x / windowWidth,y / windowHeight,data.identifier,0,0,data.force,this.parent.id);
|
|
} else {
|
|
touch.x = x / windowWidth;
|
|
touch.y = y / windowHeight;
|
|
touch.id = data.identifier;
|
|
touch.dx = 0;
|
|
touch.dy = 0;
|
|
touch.pressure = data.force;
|
|
touch.device = this.parent.id;
|
|
}
|
|
this.currentTouches.h[data.identifier] = touch;
|
|
lime_ui_Touch.onStart.dispatch(touch);
|
|
if(this.primaryTouch == null) {
|
|
this.primaryTouch = touch;
|
|
}
|
|
if(touch == this.primaryTouch) {
|
|
this.parent.onMouseDown.dispatch(x,y,0);
|
|
}
|
|
} else {
|
|
touch = this.currentTouches.h[data.identifier];
|
|
if(touch != null) {
|
|
cacheX = touch.x;
|
|
cacheY = touch.y;
|
|
touch.x = x / windowWidth;
|
|
touch.y = y / windowHeight;
|
|
touch.dx = touch.x - cacheX;
|
|
touch.dy = touch.y - cacheY;
|
|
touch.pressure = data.force;
|
|
switch(event.type) {
|
|
case "touchcancel":
|
|
lime_ui_Touch.onCancel.dispatch(touch);
|
|
this.currentTouches.remove(data.identifier);
|
|
this.unusedTouchesPool.add(touch);
|
|
if(touch == this.primaryTouch) {
|
|
this.primaryTouch = null;
|
|
}
|
|
break;
|
|
case "touchend":
|
|
lime_ui_Touch.onEnd.dispatch(touch);
|
|
this.currentTouches.remove(data.identifier);
|
|
this.unusedTouchesPool.add(touch);
|
|
if(touch == this.primaryTouch) {
|
|
this.parent.onMouseUp.dispatch(x,y,0);
|
|
this.primaryTouch = null;
|
|
}
|
|
break;
|
|
case "touchmove":
|
|
lime_ui_Touch.onMove.dispatch(touch);
|
|
if(touch == this.primaryTouch) {
|
|
this.parent.onMouseMove.dispatch(x,y);
|
|
}
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,isDescendent: function(node) {
|
|
if(node == this.parent.element) {
|
|
return true;
|
|
}
|
|
while(node != null) {
|
|
if(node.parentNode == this.parent.element) {
|
|
return true;
|
|
}
|
|
node = node.parentNode;
|
|
}
|
|
return false;
|
|
}
|
|
,move: function(x,y) {
|
|
}
|
|
,readPixels: function(rect) {
|
|
if(this.canvas != null) {
|
|
var stageRect = new lime_math_Rectangle(0,0,this.canvas.width,this.canvas.height);
|
|
if(rect == null) {
|
|
rect = stageRect;
|
|
} else {
|
|
rect.intersection(stageRect,rect);
|
|
}
|
|
if(rect.width > 0 && rect.height > 0) {
|
|
var canvas2 = window.document.createElement("canvas");
|
|
canvas2.width = rect.width | 0;
|
|
canvas2.height = rect.height | 0;
|
|
var context = canvas2.getContext("2d");
|
|
context.drawImage(this.canvas,-rect.x,-rect.y);
|
|
return lime_graphics_Image.fromCanvas(canvas2);
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
,resize: function(width,height) {
|
|
}
|
|
,setBorderless: function(value) {
|
|
return value;
|
|
}
|
|
,setClipboard: function(value) {
|
|
if(lime__$internal_backend_html5_HTML5Window.textArea == null) {
|
|
lime__$internal_backend_html5_HTML5Window.textArea = window.document.createElement("textarea");
|
|
lime__$internal_backend_html5_HTML5Window.textArea.style.height = "0px";
|
|
lime__$internal_backend_html5_HTML5Window.textArea.style.left = "-100px";
|
|
lime__$internal_backend_html5_HTML5Window.textArea.style.opacity = "0";
|
|
lime__$internal_backend_html5_HTML5Window.textArea.style.position = "fixed";
|
|
lime__$internal_backend_html5_HTML5Window.textArea.style.top = "-100px";
|
|
lime__$internal_backend_html5_HTML5Window.textArea.style.width = "0px";
|
|
window.document.body.appendChild(lime__$internal_backend_html5_HTML5Window.textArea);
|
|
}
|
|
lime__$internal_backend_html5_HTML5Window.textArea.value = value;
|
|
lime__$internal_backend_html5_HTML5Window.textArea.focus();
|
|
lime__$internal_backend_html5_HTML5Window.textArea.select();
|
|
if(window.document.queryCommandEnabled("copy")) {
|
|
window.document.execCommand("copy");
|
|
}
|
|
}
|
|
,setCursor: function(value) {
|
|
if(this.cursor != value) {
|
|
if(value == null) {
|
|
this.parent.element.style.cursor = "none";
|
|
} else {
|
|
var tmp;
|
|
switch(value._hx_index) {
|
|
case 0:
|
|
tmp = "default";
|
|
break;
|
|
case 1:
|
|
tmp = "crosshair";
|
|
break;
|
|
case 3:
|
|
tmp = "move";
|
|
break;
|
|
case 4:
|
|
tmp = "pointer";
|
|
break;
|
|
case 5:
|
|
tmp = "nesw-resize";
|
|
break;
|
|
case 6:
|
|
tmp = "ns-resize";
|
|
break;
|
|
case 7:
|
|
tmp = "nwse-resize";
|
|
break;
|
|
case 8:
|
|
tmp = "ew-resize";
|
|
break;
|
|
case 9:
|
|
tmp = "text";
|
|
break;
|
|
case 10:
|
|
tmp = "wait";
|
|
break;
|
|
case 11:
|
|
tmp = "wait";
|
|
break;
|
|
default:
|
|
tmp = "auto";
|
|
}
|
|
this.parent.element.style.cursor = tmp;
|
|
}
|
|
this.cursor = value;
|
|
}
|
|
return this.cursor;
|
|
}
|
|
,setDisplayMode: function(value) {
|
|
return value;
|
|
}
|
|
,setFrameRate: function(value) {
|
|
if(this.parent.application != null) {
|
|
if(value >= 60) {
|
|
if(this.parent == this.parent.application.__window) {
|
|
this.parent.application.__backend.framePeriod = -1;
|
|
}
|
|
} else if(value > 0) {
|
|
if(this.parent == this.parent.application.__window) {
|
|
this.parent.application.__backend.framePeriod = 1000 / value;
|
|
}
|
|
} else if(this.parent == this.parent.application.__window) {
|
|
this.parent.application.__backend.framePeriod = 1000;
|
|
}
|
|
}
|
|
return value;
|
|
}
|
|
,setFullscreen: function(value) {
|
|
if(value) {
|
|
if(!this.requestedFullscreen && !this.isFullscreen) {
|
|
this.requestedFullscreen = true;
|
|
if(($_=this.parent.element,$bind($_,$_.requestFullscreen))) {
|
|
document.addEventListener("fullscreenchange",$bind(this,this.handleFullscreenEvent),false);
|
|
document.addEventListener("fullscreenerror",$bind(this,this.handleFullscreenEvent),false);
|
|
this.parent.element.requestFullscreen();
|
|
} else if(this.parent.element.mozRequestFullScreen) {
|
|
document.addEventListener("mozfullscreenchange",$bind(this,this.handleFullscreenEvent),false);
|
|
document.addEventListener("mozfullscreenerror",$bind(this,this.handleFullscreenEvent),false);
|
|
this.parent.element.mozRequestFullScreen();
|
|
} else if(this.parent.element.webkitRequestFullscreen) {
|
|
document.addEventListener("webkitfullscreenchange",$bind(this,this.handleFullscreenEvent),false);
|
|
document.addEventListener("webkitfullscreenerror",$bind(this,this.handleFullscreenEvent),false);
|
|
this.parent.element.webkitRequestFullscreen();
|
|
} else if(this.parent.element.msRequestFullscreen) {
|
|
document.addEventListener("MSFullscreenChange",$bind(this,this.handleFullscreenEvent),false);
|
|
document.addEventListener("MSFullscreenError",$bind(this,this.handleFullscreenEvent),false);
|
|
this.parent.element.msRequestFullscreen();
|
|
}
|
|
}
|
|
} else if(this.isFullscreen) {
|
|
this.requestedFullscreen = false;
|
|
if(document.exitFullscreen) {
|
|
document.exitFullscreen();
|
|
} else if(document.mozCancelFullScreen) {
|
|
document.mozCancelFullScreen();
|
|
} else if(document.webkitExitFullscreen) {
|
|
document.webkitExitFullscreen();
|
|
} else if(document.msExitFullscreen) {
|
|
document.msExitFullscreen();
|
|
}
|
|
}
|
|
return value;
|
|
}
|
|
,setIcon: function(image) {
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(image);
|
|
var link = window.document.querySelector("link[rel*='icon']");
|
|
if(link == null) {
|
|
link = window.document.createElement("link");
|
|
}
|
|
link.type = "image/x-icon";
|
|
link.rel = "shortcut icon";
|
|
link.href = image.buffer.get_src().toDataURL("image/x-icon");
|
|
window.document.getElementsByTagName("head")[0].appendChild(link);
|
|
}
|
|
,setMaximized: function(value) {
|
|
return false;
|
|
}
|
|
,setMinimized: function(value) {
|
|
return false;
|
|
}
|
|
,setMouseLock: function(value) {
|
|
}
|
|
,setResizable: function(value) {
|
|
return value;
|
|
}
|
|
,setTextInputEnabled: function(value) {
|
|
if(value) {
|
|
if(lime__$internal_backend_html5_HTML5Window.textInput == null) {
|
|
lime__$internal_backend_html5_HTML5Window.textInput = window.document.createElement("input");
|
|
lime__$internal_backend_html5_HTML5Window.textInput.type = "text";
|
|
lime__$internal_backend_html5_HTML5Window.textInput.style.position = "absolute";
|
|
lime__$internal_backend_html5_HTML5Window.textInput.style.opacity = "0";
|
|
lime__$internal_backend_html5_HTML5Window.textInput.style.color = "transparent";
|
|
lime__$internal_backend_html5_HTML5Window.textInput.value = lime__$internal_backend_html5_HTML5Window.dummyCharacter;
|
|
lime__$internal_backend_html5_HTML5Window.textInput.autocapitalize = "off";
|
|
lime__$internal_backend_html5_HTML5Window.textInput.autocorrect = "off";
|
|
lime__$internal_backend_html5_HTML5Window.textInput.autocomplete = "off";
|
|
lime__$internal_backend_html5_HTML5Window.textInput.style.left = "0px";
|
|
lime__$internal_backend_html5_HTML5Window.textInput.style.top = "50%";
|
|
if(new EReg("(iPad|iPhone|iPod).*OS 8_","gi").match(window.navigator.userAgent)) {
|
|
lime__$internal_backend_html5_HTML5Window.textInput.style.fontSize = "0px";
|
|
lime__$internal_backend_html5_HTML5Window.textInput.style.width = "0px";
|
|
lime__$internal_backend_html5_HTML5Window.textInput.style.height = "0px";
|
|
} else {
|
|
lime__$internal_backend_html5_HTML5Window.textInput.style.width = "1px";
|
|
lime__$internal_backend_html5_HTML5Window.textInput.style.height = "1px";
|
|
}
|
|
lime__$internal_backend_html5_HTML5Window.textInput.style.pointerEvents = "none";
|
|
lime__$internal_backend_html5_HTML5Window.textInput.style.zIndex = "-10000000";
|
|
}
|
|
if(lime__$internal_backend_html5_HTML5Window.textInput.parentNode == null) {
|
|
this.parent.element.appendChild(lime__$internal_backend_html5_HTML5Window.textInput);
|
|
}
|
|
if(!this.textInputEnabled) {
|
|
lime__$internal_backend_html5_HTML5Window.textInput.addEventListener("input",$bind(this,this.handleInputEvent),true);
|
|
lime__$internal_backend_html5_HTML5Window.textInput.addEventListener("blur",$bind(this,this.handleFocusEvent),true);
|
|
lime__$internal_backend_html5_HTML5Window.textInput.addEventListener("cut",$bind(this,this.handleCutOrCopyEvent),true);
|
|
lime__$internal_backend_html5_HTML5Window.textInput.addEventListener("copy",$bind(this,this.handleCutOrCopyEvent),true);
|
|
lime__$internal_backend_html5_HTML5Window.textInput.addEventListener("paste",$bind(this,this.handlePasteEvent),true);
|
|
lime__$internal_backend_html5_HTML5Window.textInput.addEventListener("compositionstart",$bind(this,this.handleCompositionstartEvent),true);
|
|
lime__$internal_backend_html5_HTML5Window.textInput.addEventListener("compositionend",$bind(this,this.handleCompositionendEvent),true);
|
|
}
|
|
lime__$internal_backend_html5_HTML5Window.textInput.focus();
|
|
lime__$internal_backend_html5_HTML5Window.textInput.select();
|
|
} else if(lime__$internal_backend_html5_HTML5Window.textInput != null) {
|
|
lime__$internal_backend_html5_HTML5Window.textInput.removeEventListener("input",$bind(this,this.handleInputEvent),true);
|
|
lime__$internal_backend_html5_HTML5Window.textInput.removeEventListener("blur",$bind(this,this.handleFocusEvent),true);
|
|
lime__$internal_backend_html5_HTML5Window.textInput.removeEventListener("cut",$bind(this,this.handleCutOrCopyEvent),true);
|
|
lime__$internal_backend_html5_HTML5Window.textInput.removeEventListener("copy",$bind(this,this.handleCutOrCopyEvent),true);
|
|
lime__$internal_backend_html5_HTML5Window.textInput.removeEventListener("paste",$bind(this,this.handlePasteEvent),true);
|
|
lime__$internal_backend_html5_HTML5Window.textInput.removeEventListener("compositionstart",$bind(this,this.handleCompositionstartEvent),true);
|
|
lime__$internal_backend_html5_HTML5Window.textInput.removeEventListener("compositionend",$bind(this,this.handleCompositionendEvent),true);
|
|
lime__$internal_backend_html5_HTML5Window.textInput.blur();
|
|
}
|
|
return this.textInputEnabled = value;
|
|
}
|
|
,inputing: null
|
|
,handleCompositionstartEvent: function(e) {
|
|
this.inputing = true;
|
|
}
|
|
,handleCompositionendEvent: function(e) {
|
|
this.inputing = false;
|
|
this.handleInputEvent(e);
|
|
}
|
|
,setTitle: function(value) {
|
|
if(value != null) {
|
|
window.document.title = value;
|
|
}
|
|
return value;
|
|
}
|
|
,updateSize: function() {
|
|
if(!this.parent.__resizable) {
|
|
return;
|
|
}
|
|
var elementWidth;
|
|
var elementHeight;
|
|
if(this.parent.element != null) {
|
|
elementWidth = this.parent.element.clientWidth;
|
|
elementHeight = this.parent.element.clientHeight;
|
|
} else {
|
|
elementWidth = window.innerWidth;
|
|
elementHeight = window.innerHeight;
|
|
}
|
|
if(elementWidth != this.cacheElementWidth || elementHeight != this.cacheElementHeight) {
|
|
this.cacheElementWidth = elementWidth;
|
|
this.cacheElementHeight = elementHeight;
|
|
var stretch = this.resizeElement || this.setWidth == 0 && this.setHeight == 0;
|
|
if(this.parent.element != null && (this.div == null || this.div != null && stretch)) {
|
|
if(stretch) {
|
|
if(this.parent.__width != elementWidth || this.parent.__height != elementHeight) {
|
|
this.parent.__width = elementWidth;
|
|
this.parent.__height = elementHeight;
|
|
if(this.canvas != null) {
|
|
if(this.parent.element != this.canvas) {
|
|
this.canvas.width = Math.round(elementWidth * this.scale);
|
|
this.canvas.height = Math.round(elementHeight * this.scale);
|
|
this.canvas.style.width = elementWidth + "px";
|
|
this.canvas.style.height = elementHeight + "px";
|
|
}
|
|
} else {
|
|
this.div.style.width = elementWidth + "px";
|
|
this.div.style.height = elementHeight + "px";
|
|
}
|
|
this.parent.onResize.dispatch(elementWidth,elementHeight);
|
|
}
|
|
} else {
|
|
var scaleX = this.setWidth != 0 ? elementWidth / this.setWidth : 1;
|
|
var scaleY = this.setHeight != 0 ? elementHeight / this.setHeight : 1;
|
|
var targetWidth = elementWidth;
|
|
var targetHeight = elementHeight;
|
|
var marginLeft = 0;
|
|
var marginTop = 0;
|
|
if(scaleX < scaleY) {
|
|
targetHeight = Math.floor(this.setHeight * scaleX);
|
|
marginTop = Math.floor((elementHeight - targetHeight) / 2);
|
|
} else {
|
|
targetWidth = Math.floor(this.setWidth * scaleY);
|
|
marginLeft = Math.floor((elementWidth - targetWidth) / 2);
|
|
}
|
|
if(this.canvas != null) {
|
|
if(this.parent.element != this.canvas) {
|
|
this.canvas.style.width = targetWidth + "px";
|
|
this.canvas.style.height = targetHeight + "px";
|
|
this.canvas.style.marginLeft = marginLeft + "px";
|
|
this.canvas.style.marginTop = marginTop + "px";
|
|
}
|
|
} else {
|
|
this.div.style.width = targetWidth + "px";
|
|
this.div.style.height = targetHeight + "px";
|
|
this.div.style.marginLeft = marginLeft + "px";
|
|
this.div.style.marginTop = marginTop + "px";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,warpMouse: function(x,y) {
|
|
}
|
|
,__class__: lime__$internal_backend_html5_HTML5Window
|
|
};
|
|
var lime__$internal_backend_native_NativeCFFI = function() { };
|
|
$hxClasses["lime._internal.backend.native.NativeCFFI"] = lime__$internal_backend_native_NativeCFFI;
|
|
lime__$internal_backend_native_NativeCFFI.__name__ = "lime._internal.backend.native.NativeCFFI";
|
|
var lime__$internal_format_BMP = function() { };
|
|
$hxClasses["lime._internal.format.BMP"] = lime__$internal_format_BMP;
|
|
lime__$internal_format_BMP.__name__ = "lime._internal.format.BMP";
|
|
lime__$internal_format_BMP.encode = function(image,type) {
|
|
if(image.get_premultiplied() || image.get_format() != 0) {
|
|
image = image.clone();
|
|
image.set_premultiplied(false);
|
|
image.set_format(0);
|
|
}
|
|
if(type == null) {
|
|
type = lime__$internal_format_BMPType.RGB;
|
|
}
|
|
var fileHeaderLength = 14;
|
|
var infoHeaderLength = 40;
|
|
var pixelValuesLength = image.width * image.height * 4;
|
|
if(type != null) {
|
|
switch(type._hx_index) {
|
|
case 0:
|
|
pixelValuesLength = (image.width * 3 + image.width * 3 % 4) * image.height;
|
|
break;
|
|
case 1:
|
|
infoHeaderLength = 108;
|
|
break;
|
|
case 2:
|
|
fileHeaderLength = 0;
|
|
pixelValuesLength += image.width * image.height;
|
|
break;
|
|
}
|
|
}
|
|
var data = new haxe_io_Bytes(new ArrayBuffer(fileHeaderLength + infoHeaderLength + pixelValuesLength));
|
|
var position = 0;
|
|
if(fileHeaderLength > 0) {
|
|
data.b[position++] = 66;
|
|
data.b[position++] = 77;
|
|
data.setInt32(position,data.length);
|
|
position += 4;
|
|
data.setUInt16(position,0);
|
|
position += 2;
|
|
data.setUInt16(position,0);
|
|
position += 2;
|
|
data.setInt32(position,fileHeaderLength + infoHeaderLength);
|
|
position += 4;
|
|
}
|
|
data.setInt32(position,infoHeaderLength);
|
|
position += 4;
|
|
data.setInt32(position,image.width);
|
|
position += 4;
|
|
data.setInt32(position,type == lime__$internal_format_BMPType.ICO ? image.height * 2 : image.height);
|
|
position += 4;
|
|
data.setUInt16(position,1);
|
|
position += 2;
|
|
data.setUInt16(position,type == lime__$internal_format_BMPType.RGB ? 24 : 32);
|
|
position += 2;
|
|
data.setInt32(position,type == lime__$internal_format_BMPType.BITFIELD ? 3 : 0);
|
|
position += 4;
|
|
data.setInt32(position,pixelValuesLength);
|
|
position += 4;
|
|
data.setInt32(position,11824);
|
|
position += 4;
|
|
data.setInt32(position,11824);
|
|
position += 4;
|
|
data.setInt32(position,0);
|
|
position += 4;
|
|
data.setInt32(position,0);
|
|
position += 4;
|
|
if(type == lime__$internal_format_BMPType.BITFIELD) {
|
|
data.setInt32(position,16711680);
|
|
position += 4;
|
|
data.setInt32(position,65280);
|
|
position += 4;
|
|
data.setInt32(position,255);
|
|
position += 4;
|
|
data.setInt32(position,-16777216);
|
|
position += 4;
|
|
data.b[position++] = 32;
|
|
data.b[position++] = 110;
|
|
data.b[position++] = 105;
|
|
data.b[position++] = 87;
|
|
var _g = 0;
|
|
while(_g < 48) {
|
|
var i = _g++;
|
|
data.b[position++] = 0;
|
|
}
|
|
}
|
|
var pixels = image.getPixels(new lime_math_Rectangle(0,0,image.width,image.height),1);
|
|
var readPosition = 0;
|
|
var a;
|
|
var r;
|
|
var g;
|
|
var b;
|
|
if(type != null) {
|
|
switch(type._hx_index) {
|
|
case 0:
|
|
var _g = 0;
|
|
var _g1 = image.height;
|
|
while(_g < _g1) {
|
|
var y = _g++;
|
|
readPosition = (image.height - 1 - y) * 4 * image.width;
|
|
var _g2 = 0;
|
|
var _g3 = image.width;
|
|
while(_g2 < _g3) {
|
|
var x = _g2++;
|
|
a = pixels.b[readPosition++];
|
|
r = pixels.b[readPosition++];
|
|
g = pixels.b[readPosition++];
|
|
b = pixels.b[readPosition++];
|
|
data.b[position++] = b & 255;
|
|
data.b[position++] = g & 255;
|
|
data.b[position++] = r & 255;
|
|
}
|
|
var _g4 = 0;
|
|
var _g5 = image.width * 3 % 4;
|
|
while(_g4 < _g5) {
|
|
var i = _g4++;
|
|
data.b[position++] = 0;
|
|
}
|
|
}
|
|
break;
|
|
case 1:
|
|
var _g = 0;
|
|
var _g1 = image.height;
|
|
while(_g < _g1) {
|
|
var y = _g++;
|
|
readPosition = (image.height - 1 - y) * 4 * image.width;
|
|
var _g2 = 0;
|
|
var _g3 = image.width;
|
|
while(_g2 < _g3) {
|
|
var x = _g2++;
|
|
a = pixels.b[readPosition++];
|
|
r = pixels.b[readPosition++];
|
|
g = pixels.b[readPosition++];
|
|
b = pixels.b[readPosition++];
|
|
data.b[position++] = b & 255;
|
|
data.b[position++] = g & 255;
|
|
data.b[position++] = r & 255;
|
|
data.b[position++] = a & 255;
|
|
}
|
|
}
|
|
break;
|
|
case 2:
|
|
var andMask = new haxe_io_Bytes(new ArrayBuffer(image.width * image.height));
|
|
var maskPosition = 0;
|
|
var _g = 0;
|
|
var _g1 = image.height;
|
|
while(_g < _g1) {
|
|
var y = _g++;
|
|
readPosition = (image.height - 1 - y) * 4 * image.width;
|
|
var _g2 = 0;
|
|
var _g3 = image.width;
|
|
while(_g2 < _g3) {
|
|
var x = _g2++;
|
|
a = pixels.b[readPosition++];
|
|
r = pixels.b[readPosition++];
|
|
g = pixels.b[readPosition++];
|
|
b = pixels.b[readPosition++];
|
|
data.b[position++] = b & 255;
|
|
data.b[position++] = g & 255;
|
|
data.b[position++] = r & 255;
|
|
data.b[position++] = a & 255;
|
|
andMask.b[maskPosition++] = 0;
|
|
}
|
|
}
|
|
data.blit(position,andMask,0,image.width * image.height);
|
|
break;
|
|
}
|
|
}
|
|
return data;
|
|
};
|
|
var lime__$internal_format_BMPType = $hxEnums["lime._internal.format.BMPType"] = { __ename__ : "lime._internal.format.BMPType", __constructs__ : ["RGB","BITFIELD","ICO"]
|
|
,RGB: {_hx_index:0,__enum__:"lime._internal.format.BMPType",toString:$estr}
|
|
,BITFIELD: {_hx_index:1,__enum__:"lime._internal.format.BMPType",toString:$estr}
|
|
,ICO: {_hx_index:2,__enum__:"lime._internal.format.BMPType",toString:$estr}
|
|
};
|
|
var lime__$internal_format_Base64 = function() { };
|
|
$hxClasses["lime._internal.format.Base64"] = lime__$internal_format_Base64;
|
|
lime__$internal_format_Base64.__name__ = "lime._internal.format.Base64";
|
|
lime__$internal_format_Base64.decode = function(source) {
|
|
return haxe_crypto_Base64.decode(source);
|
|
};
|
|
lime__$internal_format_Base64.encode = function(source) {
|
|
var result = [];
|
|
var dictionary = lime__$internal_format_Base64.DICTIONARY;
|
|
var extendedDictionary = lime__$internal_format_Base64.EXTENDED_DICTIONARY;
|
|
var numBytes = source.length;
|
|
var numInputTriplets = Math.floor(numBytes / 3);
|
|
var numChunksToWrite = numInputTriplets * 2;
|
|
result.length = Math.ceil(numBytes / 3) * 2;
|
|
var numBytesRead = 0;
|
|
var numChunksWritten = 0;
|
|
var inputTriplet;
|
|
while(numChunksWritten < numChunksToWrite) {
|
|
inputTriplet = source.b[numBytesRead] << 16 | source.b[numBytesRead + 1] << 8 | source.b[numBytesRead + 2];
|
|
result[numChunksWritten] = extendedDictionary[inputTriplet >> 12 & 4095];
|
|
result[numChunksWritten + 1] = extendedDictionary[inputTriplet & 4095];
|
|
numBytesRead += 3;
|
|
numChunksWritten += 2;
|
|
}
|
|
switch(numBytes - numInputTriplets * 3) {
|
|
case 1:
|
|
inputTriplet = source.b[numBytesRead] << 16;
|
|
result[numChunksWritten] = extendedDictionary[inputTriplet >> 12 & 4095];
|
|
result[numChunksWritten + 1] = "==";
|
|
break;
|
|
case 2:
|
|
inputTriplet = source.b[numBytesRead] << 16 | source.b[numBytesRead + 1] << 8;
|
|
result[numChunksWritten] = extendedDictionary[inputTriplet >> 12 & 4095];
|
|
result[numChunksWritten + 1] = dictionary[inputTriplet >> 6 & 63] + "=";
|
|
break;
|
|
default:
|
|
}
|
|
return result.join("");
|
|
};
|
|
var lime__$internal_format_Deflate = function() { };
|
|
$hxClasses["lime._internal.format.Deflate"] = lime__$internal_format_Deflate;
|
|
lime__$internal_format_Deflate.__name__ = "lime._internal.format.Deflate";
|
|
lime__$internal_format_Deflate.compress = function(bytes) {
|
|
var data = pako.deflateRaw(bytes.b.bufferValue);
|
|
return haxe_io_Bytes.ofData(data);
|
|
};
|
|
lime__$internal_format_Deflate.decompress = function(bytes) {
|
|
var data = pako.inflateRaw(bytes.b.bufferValue);
|
|
return haxe_io_Bytes.ofData(data);
|
|
};
|
|
var lime__$internal_format_GZip = function() { };
|
|
$hxClasses["lime._internal.format.GZip"] = lime__$internal_format_GZip;
|
|
lime__$internal_format_GZip.__name__ = "lime._internal.format.GZip";
|
|
lime__$internal_format_GZip.compress = function(bytes) {
|
|
var data = pako.gzip(bytes.b.bufferValue);
|
|
return haxe_io_Bytes.ofData(data);
|
|
};
|
|
lime__$internal_format_GZip.decompress = function(bytes) {
|
|
var data = pako.ungzip(bytes.b.bufferValue);
|
|
return haxe_io_Bytes.ofData(data);
|
|
};
|
|
var lime__$internal_format_JPEG = function() { };
|
|
$hxClasses["lime._internal.format.JPEG"] = lime__$internal_format_JPEG;
|
|
lime__$internal_format_JPEG.__name__ = "lime._internal.format.JPEG";
|
|
lime__$internal_format_JPEG.decodeBytes = function(bytes,decodeData) {
|
|
if(decodeData == null) {
|
|
decodeData = true;
|
|
}
|
|
return null;
|
|
};
|
|
lime__$internal_format_JPEG.decodeFile = function(path,decodeData) {
|
|
if(decodeData == null) {
|
|
decodeData = true;
|
|
}
|
|
return null;
|
|
};
|
|
lime__$internal_format_JPEG.encode = function(image,quality) {
|
|
if(image.get_premultiplied() || image.get_format() != 0) {
|
|
image = image.clone();
|
|
image.set_premultiplied(false);
|
|
image.set_format(0);
|
|
}
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(image,false);
|
|
if(image.buffer.__srcCanvas != null) {
|
|
var data = image.buffer.__srcCanvas.toDataURL("image/jpeg",quality / 100);
|
|
var buffer = window.atob(data.split(";base64,")[1]);
|
|
var bytes = new haxe_io_Bytes(new ArrayBuffer(buffer.length));
|
|
var _g = 0;
|
|
var _g1 = buffer.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
bytes.b[i] = HxOverrides.cca(buffer,i) & 255;
|
|
}
|
|
return bytes;
|
|
}
|
|
return null;
|
|
};
|
|
var lime__$internal_format_LZMA = function() { };
|
|
$hxClasses["lime._internal.format.LZMA"] = lime__$internal_format_LZMA;
|
|
lime__$internal_format_LZMA.__name__ = "lime._internal.format.LZMA";
|
|
lime__$internal_format_LZMA.compress = function(bytes) {
|
|
return null;
|
|
};
|
|
lime__$internal_format_LZMA.decompress = function(bytes) {
|
|
return null;
|
|
};
|
|
var lime__$internal_format_PNG = function() { };
|
|
$hxClasses["lime._internal.format.PNG"] = lime__$internal_format_PNG;
|
|
lime__$internal_format_PNG.__name__ = "lime._internal.format.PNG";
|
|
lime__$internal_format_PNG.decodeBytes = function(bytes,decodeData) {
|
|
if(decodeData == null) {
|
|
decodeData = true;
|
|
}
|
|
return null;
|
|
};
|
|
lime__$internal_format_PNG.decodeFile = function(path,decodeData) {
|
|
if(decodeData == null) {
|
|
decodeData = true;
|
|
}
|
|
return null;
|
|
};
|
|
lime__$internal_format_PNG.encode = function(image) {
|
|
if(image.get_premultiplied() || image.get_format() != 0) {
|
|
image = image.clone();
|
|
image.set_premultiplied(false);
|
|
image.set_format(0);
|
|
}
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(image,false);
|
|
if(image.buffer.__srcCanvas != null) {
|
|
var data = image.buffer.__srcCanvas.toDataURL("image/png");
|
|
var buffer = window.atob(data.split(";base64,")[1]);
|
|
var bytes = new haxe_io_Bytes(new ArrayBuffer(buffer.length));
|
|
var _g = 0;
|
|
var _g1 = buffer.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
bytes.b[i] = HxOverrides.cca(buffer,i) & 255;
|
|
}
|
|
return bytes;
|
|
}
|
|
return null;
|
|
};
|
|
var lime__$internal_format_Zlib = function() { };
|
|
$hxClasses["lime._internal.format.Zlib"] = lime__$internal_format_Zlib;
|
|
lime__$internal_format_Zlib.__name__ = "lime._internal.format.Zlib";
|
|
lime__$internal_format_Zlib.compress = function(bytes) {
|
|
var data = pako.deflate(bytes.b.bufferValue);
|
|
return haxe_io_Bytes.ofData(data);
|
|
};
|
|
lime__$internal_format_Zlib.decompress = function(bytes) {
|
|
var data = pako.inflate(bytes.b.bufferValue);
|
|
return haxe_io_Bytes.ofData(data);
|
|
};
|
|
var lime__$internal_graphics_ImageCanvasUtil = function() { };
|
|
$hxClasses["lime._internal.graphics.ImageCanvasUtil"] = lime__$internal_graphics_ImageCanvasUtil;
|
|
lime__$internal_graphics_ImageCanvasUtil.__name__ = "lime._internal.graphics.ImageCanvasUtil";
|
|
lime__$internal_graphics_ImageCanvasUtil.colorTransform = function(image,rect,colorMatrix) {
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToData(image);
|
|
lime__$internal_graphics_ImageDataUtil.colorTransform(image,rect,colorMatrix);
|
|
};
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToCanvas = function(image,clear) {
|
|
if(clear == null) {
|
|
clear = false;
|
|
}
|
|
var buffer = image.buffer;
|
|
if(buffer.__srcImage != null) {
|
|
if(buffer.__srcCanvas == null) {
|
|
lime__$internal_graphics_ImageCanvasUtil.createCanvas(image,buffer.__srcImage.width,buffer.__srcImage.height);
|
|
buffer.__srcContext.drawImage(buffer.__srcImage,0,0);
|
|
}
|
|
buffer.__srcImage = null;
|
|
} else if(buffer.__srcCanvas == null && buffer.data != null) {
|
|
image.set_transparent(true);
|
|
lime__$internal_graphics_ImageCanvasUtil.createCanvas(image,buffer.width,buffer.height);
|
|
lime__$internal_graphics_ImageCanvasUtil.createImageData(image);
|
|
buffer.__srcContext.putImageData(buffer.__srcImageData,0,0);
|
|
} else if(image.type == lime_graphics_ImageType.DATA && buffer.__srcImageData != null && image.dirty) {
|
|
buffer.__srcContext.putImageData(buffer.__srcImageData,0,0);
|
|
image.dirty = false;
|
|
}
|
|
if(clear) {
|
|
buffer.data = null;
|
|
buffer.__srcImageData = null;
|
|
} else if(buffer.data == null && buffer.__srcImageData != null) {
|
|
buffer.data = buffer.__srcImageData.data;
|
|
}
|
|
image.type = lime_graphics_ImageType.CANVAS;
|
|
};
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToData = function(image,clear) {
|
|
if(clear == null) {
|
|
clear = false;
|
|
}
|
|
var buffer = image.buffer;
|
|
if(buffer.__srcImage != null) {
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(image);
|
|
}
|
|
if(buffer.__srcCanvas != null && buffer.data == null) {
|
|
lime__$internal_graphics_ImageCanvasUtil.createImageData(image);
|
|
if(image.type == lime_graphics_ImageType.CANVAS) {
|
|
image.dirty = false;
|
|
}
|
|
} else if(image.type == lime_graphics_ImageType.CANVAS && buffer.__srcCanvas != null && image.dirty) {
|
|
if(buffer.__srcImageData == null) {
|
|
lime__$internal_graphics_ImageCanvasUtil.createImageData(image);
|
|
} else {
|
|
buffer.__srcImageData = buffer.__srcContext.getImageData(0,0,buffer.width,buffer.height);
|
|
var elements = buffer.__srcImageData.data.buffer;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer1 = null;
|
|
var len = null;
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Uint8Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Uint8Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Uint8Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Uint8Array(view);
|
|
} else if(buffer1 != null) {
|
|
if(len == null) {
|
|
this1 = new Uint8Array(buffer1,0);
|
|
} else {
|
|
this1 = new Uint8Array(buffer1,0,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
buffer.data = this1;
|
|
}
|
|
image.dirty = false;
|
|
}
|
|
if(clear) {
|
|
image.buffer.__srcCanvas = null;
|
|
image.buffer.__srcContext = null;
|
|
}
|
|
image.type = lime_graphics_ImageType.DATA;
|
|
};
|
|
lime__$internal_graphics_ImageCanvasUtil.copyChannel = function(image,sourceImage,sourceRect,destPoint,sourceChannel,destChannel) {
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToData(sourceImage);
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToData(image);
|
|
lime__$internal_graphics_ImageDataUtil.copyChannel(image,sourceImage,sourceRect,destPoint,sourceChannel,destChannel);
|
|
};
|
|
lime__$internal_graphics_ImageCanvasUtil.copyPixels = function(image,sourceImage,sourceRect,destPoint,alphaImage,alphaPoint,mergeAlpha) {
|
|
if(mergeAlpha == null) {
|
|
mergeAlpha = false;
|
|
}
|
|
if(destPoint == null || destPoint.x >= image.width || destPoint.y >= image.height || sourceRect == null || sourceRect.width < 1 || sourceRect.height < 1) {
|
|
return;
|
|
}
|
|
if(alphaImage != null && alphaImage.get_transparent()) {
|
|
if(alphaPoint == null) {
|
|
alphaPoint = new lime_math_Vector2();
|
|
}
|
|
var tempData = sourceImage.clone();
|
|
tempData.copyChannel(alphaImage,new lime_math_Rectangle(sourceRect.x + alphaPoint.x,sourceRect.y + alphaPoint.y,sourceRect.width,sourceRect.height),new lime_math_Vector2(sourceRect.x,sourceRect.y),lime_graphics_ImageChannel.ALPHA,lime_graphics_ImageChannel.ALPHA);
|
|
sourceImage = tempData;
|
|
}
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(image,true);
|
|
if(!mergeAlpha) {
|
|
if(image.get_transparent() && sourceImage.get_transparent()) {
|
|
image.buffer.__srcContext.clearRect(destPoint.x + image.offsetX,destPoint.y + image.offsetY,sourceRect.width + image.offsetX,sourceRect.height + image.offsetY);
|
|
}
|
|
}
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(sourceImage);
|
|
if(sourceImage.buffer.get_src() != null) {
|
|
image.buffer.__srcContext.globalCompositeOperation = "source-over";
|
|
image.buffer.__srcContext.drawImage(sourceImage.buffer.get_src(),sourceRect.x + sourceImage.offsetX | 0,sourceRect.y + sourceImage.offsetY | 0,sourceRect.width | 0,sourceRect.height | 0,destPoint.x + image.offsetX | 0,destPoint.y + image.offsetY | 0,sourceRect.width | 0,sourceRect.height | 0);
|
|
}
|
|
image.dirty = true;
|
|
image.version++;
|
|
};
|
|
lime__$internal_graphics_ImageCanvasUtil.createCanvas = function(image,width,height) {
|
|
var buffer = image.buffer;
|
|
if(buffer.__srcCanvas == null) {
|
|
buffer.__srcCanvas = window.document.createElement("canvas");
|
|
buffer.__srcCanvas.width = width;
|
|
buffer.__srcCanvas.height = height;
|
|
if(!image.get_transparent()) {
|
|
if(!image.get_transparent()) {
|
|
buffer.__srcCanvas.setAttribute("moz-opaque","true");
|
|
}
|
|
buffer.__srcContext = buffer.__srcCanvas.getContext ("2d", { alpha: false });
|
|
} else {
|
|
buffer.__srcContext = buffer.__srcCanvas.getContext("2d");
|
|
}
|
|
}
|
|
};
|
|
lime__$internal_graphics_ImageCanvasUtil.createImageData = function(image) {
|
|
var buffer = image.buffer;
|
|
if(buffer.__srcImageData == null) {
|
|
if(buffer.data == null) {
|
|
buffer.__srcImageData = buffer.__srcContext.getImageData(0,0,buffer.width,buffer.height);
|
|
} else {
|
|
buffer.__srcImageData = buffer.__srcContext.createImageData(buffer.width,buffer.height);
|
|
buffer.__srcImageData.data.set(buffer.data);
|
|
}
|
|
var elements = buffer.__srcImageData.data.buffer;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer1 = null;
|
|
var len = null;
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Uint8Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Uint8Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Uint8Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Uint8Array(view);
|
|
} else if(buffer1 != null) {
|
|
if(len == null) {
|
|
this1 = new Uint8Array(buffer1,0);
|
|
} else {
|
|
this1 = new Uint8Array(buffer1,0,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
buffer.data = this1;
|
|
}
|
|
};
|
|
lime__$internal_graphics_ImageCanvasUtil.fillRect = function(image,rect,color,format) {
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(image);
|
|
var r;
|
|
var g;
|
|
var b;
|
|
var a;
|
|
if(format == 1) {
|
|
r = color >> 16 & 255;
|
|
g = color >> 8 & 255;
|
|
b = color & 255;
|
|
a = image.get_transparent() ? color >> 24 & 255 : 255;
|
|
} else {
|
|
r = color >> 24 & 255;
|
|
g = color >> 16 & 255;
|
|
b = color >> 8 & 255;
|
|
a = image.get_transparent() ? color & 255 : 255;
|
|
}
|
|
if(rect.x == 0 && rect.y == 0 && rect.width == image.width && rect.height == image.height) {
|
|
if(image.get_transparent() && a == 0) {
|
|
image.buffer.__srcCanvas.width = image.buffer.width;
|
|
return;
|
|
}
|
|
}
|
|
if(a < 255) {
|
|
image.buffer.__srcContext.clearRect(rect.x + image.offsetX,rect.y + image.offsetY,rect.width + image.offsetX,rect.height + image.offsetY);
|
|
}
|
|
if(a > 0) {
|
|
image.buffer.__srcContext.fillStyle = "rgba(" + r + ", " + g + ", " + b + ", " + a / 255 + ")";
|
|
image.buffer.__srcContext.fillRect(rect.x + image.offsetX,rect.y + image.offsetY,rect.width + image.offsetX,rect.height + image.offsetY);
|
|
}
|
|
image.dirty = true;
|
|
image.version++;
|
|
};
|
|
lime__$internal_graphics_ImageCanvasUtil.floodFill = function(image,x,y,color,format) {
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToData(image);
|
|
lime__$internal_graphics_ImageDataUtil.floodFill(image,x,y,color,format);
|
|
};
|
|
lime__$internal_graphics_ImageCanvasUtil.getPixel = function(image,x,y,format) {
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToData(image);
|
|
return lime__$internal_graphics_ImageDataUtil.getPixel(image,x,y,format);
|
|
};
|
|
lime__$internal_graphics_ImageCanvasUtil.getPixel32 = function(image,x,y,format) {
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToData(image);
|
|
return lime__$internal_graphics_ImageDataUtil.getPixel32(image,x,y,format);
|
|
};
|
|
lime__$internal_graphics_ImageCanvasUtil.getPixels = function(image,rect,format) {
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToData(image);
|
|
return lime__$internal_graphics_ImageDataUtil.getPixels(image,rect,format);
|
|
};
|
|
lime__$internal_graphics_ImageCanvasUtil.merge = function(image,sourceImage,sourceRect,destPoint,redMultiplier,greenMultiplier,blueMultiplier,alphaMultiplier) {
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToData(sourceImage);
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToData(image);
|
|
lime__$internal_graphics_ImageDataUtil.merge(image,sourceImage,sourceRect,destPoint,redMultiplier,greenMultiplier,blueMultiplier,alphaMultiplier);
|
|
};
|
|
lime__$internal_graphics_ImageCanvasUtil.resize = function(image,newWidth,newHeight) {
|
|
var buffer = image.buffer;
|
|
if(buffer.__srcCanvas == null) {
|
|
lime__$internal_graphics_ImageCanvasUtil.createCanvas(image,newWidth,newHeight);
|
|
buffer.__srcContext.drawImage(buffer.get_src(),0,0,newWidth,newHeight);
|
|
} else {
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(image,true);
|
|
var sourceCanvas = buffer.__srcCanvas;
|
|
buffer.__srcCanvas = null;
|
|
lime__$internal_graphics_ImageCanvasUtil.createCanvas(image,newWidth,newHeight);
|
|
buffer.__srcContext.drawImage(sourceCanvas,0,0,newWidth,newHeight);
|
|
}
|
|
buffer.__srcImageData = null;
|
|
buffer.data = null;
|
|
image.dirty = true;
|
|
image.version++;
|
|
};
|
|
lime__$internal_graphics_ImageCanvasUtil.scroll = function(image,x,y) {
|
|
if(x % image.width == 0 && y % image.height == 0) {
|
|
return;
|
|
}
|
|
var copy = image.clone();
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(image,true);
|
|
image.buffer.__srcContext.clearRect(x,y,image.width,image.height);
|
|
image.buffer.__srcContext.drawImage(copy.get_src(),x,y);
|
|
image.dirty = true;
|
|
image.version++;
|
|
};
|
|
lime__$internal_graphics_ImageCanvasUtil.setPixel = function(image,x,y,color,format) {
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToData(image);
|
|
lime__$internal_graphics_ImageDataUtil.setPixel(image,x,y,color,format);
|
|
};
|
|
lime__$internal_graphics_ImageCanvasUtil.setPixel32 = function(image,x,y,color,format) {
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToData(image);
|
|
lime__$internal_graphics_ImageDataUtil.setPixel32(image,x,y,color,format);
|
|
};
|
|
lime__$internal_graphics_ImageCanvasUtil.setPixels = function(image,rect,bytePointer,format,endian) {
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToData(image);
|
|
lime__$internal_graphics_ImageDataUtil.setPixels(image,rect,bytePointer,format,endian);
|
|
};
|
|
lime__$internal_graphics_ImageCanvasUtil.sync = function(image,clear) {
|
|
if(image == null) {
|
|
return;
|
|
}
|
|
if(image.type == lime_graphics_ImageType.CANVAS && (image.buffer.__srcCanvas != null || image.buffer.data != null)) {
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(image,clear);
|
|
} else if(image.type == lime_graphics_ImageType.DATA) {
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToData(image,clear);
|
|
}
|
|
};
|
|
var lime__$internal_graphics_ImageDataUtil = function() { };
|
|
$hxClasses["lime._internal.graphics.ImageDataUtil"] = lime__$internal_graphics_ImageDataUtil;
|
|
lime__$internal_graphics_ImageDataUtil.__name__ = "lime._internal.graphics.ImageDataUtil";
|
|
lime__$internal_graphics_ImageDataUtil.displaceMap = function(target,source,map,mapPoint,componentX,componentY,smooth) {
|
|
var targetData = target.buffer.data;
|
|
var sourceData = source.buffer.data;
|
|
var mapData = map.buffer.data;
|
|
var targetFormat = target.buffer.format;
|
|
var sourceFormat = source.buffer.format;
|
|
var mapFormat = map.buffer.format;
|
|
var targetPremultiplied = target.get_premultiplied();
|
|
var sourcePremultiplied = source.get_premultiplied();
|
|
var mapPremultiplied = map.get_premultiplied();
|
|
var sourceView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(source);
|
|
var mapView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(map);
|
|
var row;
|
|
var sourceOffset;
|
|
var sourcePixel = 0;
|
|
var mapPixel = 0;
|
|
var targetPixel = 0;
|
|
var mapPixelX;
|
|
var mapPixelY;
|
|
var mapPixelA;
|
|
var s1 = 0;
|
|
var s2 = 0;
|
|
var s3 = 0;
|
|
var s4 = 0;
|
|
var mPointXFloor;
|
|
var mPointYFloor;
|
|
var disOffsetXFloor;
|
|
var disOffsetYFloor;
|
|
var disX;
|
|
var disY;
|
|
var _g = 0;
|
|
var _g1 = sourceView.height;
|
|
while(_g < _g1) {
|
|
var y = _g++;
|
|
row = sourceView.byteOffset + sourceView.stride * y;
|
|
var _g2 = 0;
|
|
var _g3 = sourceView.width;
|
|
while(_g2 < _g3) {
|
|
var x = _g2++;
|
|
sourceOffset = row + x * 4;
|
|
mPointXFloor = mapPoint.x | 0;
|
|
mPointYFloor = mapPoint.y | 0;
|
|
if(smooth) {
|
|
var offset = sourceView.byteOffset + sourceView.stride * (y - mPointYFloor + 1) + (x - mPointXFloor) * 4;
|
|
var format = mapFormat;
|
|
var premultiplied = mapPremultiplied;
|
|
if(premultiplied == null) {
|
|
premultiplied = false;
|
|
}
|
|
if(format == null) {
|
|
format = 0;
|
|
}
|
|
switch(format) {
|
|
case 0:
|
|
s1 = (mapData[offset] & 255) << 24 | (mapData[offset + 1] & 255) << 16 | (mapData[offset + 2] & 255) << 8 | mapData[offset + 3] & 255;
|
|
break;
|
|
case 1:
|
|
s1 = (mapData[offset + 1] & 255) << 24 | (mapData[offset + 2] & 255) << 16 | (mapData[offset + 3] & 255) << 8 | mapData[offset] & 255;
|
|
break;
|
|
case 2:
|
|
s1 = (mapData[offset + 2] & 255) << 24 | (mapData[offset + 1] & 255) << 16 | (mapData[offset] & 255) << 8 | mapData[offset + 3] & 255;
|
|
break;
|
|
}
|
|
if(premultiplied) {
|
|
if((s1 & 255) != 0 && (s1 & 255) != 255) {
|
|
lime_math_RGBA.unmult = 255.0 / (s1 & 255);
|
|
s1 = (lime_math_RGBA.__clamp[Math.round((s1 >>> 24 & 255) * lime_math_RGBA.unmult)] & 255) << 24 | (lime_math_RGBA.__clamp[Math.round((s1 >>> 16 & 255) * lime_math_RGBA.unmult)] & 255) << 16 | (lime_math_RGBA.__clamp[Math.round((s1 >>> 8 & 255) * lime_math_RGBA.unmult)] & 255) << 8 | s1 & 255 & 255;
|
|
}
|
|
}
|
|
var offset1 = sourceView.byteOffset + sourceView.stride * (y - mPointYFloor) + (x - mPointXFloor + 1) * 4;
|
|
var format1 = mapFormat;
|
|
var premultiplied1 = mapPremultiplied;
|
|
if(premultiplied1 == null) {
|
|
premultiplied1 = false;
|
|
}
|
|
if(format1 == null) {
|
|
format1 = 0;
|
|
}
|
|
switch(format1) {
|
|
case 0:
|
|
s2 = (mapData[offset1] & 255) << 24 | (mapData[offset1 + 1] & 255) << 16 | (mapData[offset1 + 2] & 255) << 8 | mapData[offset1 + 3] & 255;
|
|
break;
|
|
case 1:
|
|
s2 = (mapData[offset1 + 1] & 255) << 24 | (mapData[offset1 + 2] & 255) << 16 | (mapData[offset1 + 3] & 255) << 8 | mapData[offset1] & 255;
|
|
break;
|
|
case 2:
|
|
s2 = (mapData[offset1 + 2] & 255) << 24 | (mapData[offset1 + 1] & 255) << 16 | (mapData[offset1] & 255) << 8 | mapData[offset1 + 3] & 255;
|
|
break;
|
|
}
|
|
if(premultiplied1) {
|
|
if((s2 & 255) != 0 && (s2 & 255) != 255) {
|
|
lime_math_RGBA.unmult = 255.0 / (s2 & 255);
|
|
s2 = (lime_math_RGBA.__clamp[Math.round((s2 >>> 24 & 255) * lime_math_RGBA.unmult)] & 255) << 24 | (lime_math_RGBA.__clamp[Math.round((s2 >>> 16 & 255) * lime_math_RGBA.unmult)] & 255) << 16 | (lime_math_RGBA.__clamp[Math.round((s2 >>> 8 & 255) * lime_math_RGBA.unmult)] & 255) << 8 | s2 & 255 & 255;
|
|
}
|
|
}
|
|
var offset2 = sourceView.byteOffset + sourceView.stride * (y - mPointYFloor + 1) + (x - mPointXFloor + 1) * 4;
|
|
var format2 = mapFormat;
|
|
var premultiplied2 = mapPremultiplied;
|
|
if(premultiplied2 == null) {
|
|
premultiplied2 = false;
|
|
}
|
|
if(format2 == null) {
|
|
format2 = 0;
|
|
}
|
|
switch(format2) {
|
|
case 0:
|
|
s3 = (mapData[offset2] & 255) << 24 | (mapData[offset2 + 1] & 255) << 16 | (mapData[offset2 + 2] & 255) << 8 | mapData[offset2 + 3] & 255;
|
|
break;
|
|
case 1:
|
|
s3 = (mapData[offset2 + 1] & 255) << 24 | (mapData[offset2 + 2] & 255) << 16 | (mapData[offset2 + 3] & 255) << 8 | mapData[offset2] & 255;
|
|
break;
|
|
case 2:
|
|
s3 = (mapData[offset2 + 2] & 255) << 24 | (mapData[offset2 + 1] & 255) << 16 | (mapData[offset2] & 255) << 8 | mapData[offset2 + 3] & 255;
|
|
break;
|
|
}
|
|
if(premultiplied2) {
|
|
if((s3 & 255) != 0 && (s3 & 255) != 255) {
|
|
lime_math_RGBA.unmult = 255.0 / (s3 & 255);
|
|
s3 = (lime_math_RGBA.__clamp[Math.round((s3 >>> 24 & 255) * lime_math_RGBA.unmult)] & 255) << 24 | (lime_math_RGBA.__clamp[Math.round((s3 >>> 16 & 255) * lime_math_RGBA.unmult)] & 255) << 16 | (lime_math_RGBA.__clamp[Math.round((s3 >>> 8 & 255) * lime_math_RGBA.unmult)] & 255) << 8 | s3 & 255 & 255;
|
|
}
|
|
}
|
|
var offset3 = sourceView.byteOffset + sourceView.stride * (y - mPointYFloor) + (x - mPointXFloor) * 4;
|
|
var format3 = mapFormat;
|
|
var premultiplied3 = mapPremultiplied;
|
|
if(premultiplied3 == null) {
|
|
premultiplied3 = false;
|
|
}
|
|
if(format3 == null) {
|
|
format3 = 0;
|
|
}
|
|
switch(format3) {
|
|
case 0:
|
|
s4 = (mapData[offset3] & 255) << 24 | (mapData[offset3 + 1] & 255) << 16 | (mapData[offset3 + 2] & 255) << 8 | mapData[offset3 + 3] & 255;
|
|
break;
|
|
case 1:
|
|
s4 = (mapData[offset3 + 1] & 255) << 24 | (mapData[offset3 + 2] & 255) << 16 | (mapData[offset3 + 3] & 255) << 8 | mapData[offset3] & 255;
|
|
break;
|
|
case 2:
|
|
s4 = (mapData[offset3 + 2] & 255) << 24 | (mapData[offset3 + 1] & 255) << 16 | (mapData[offset3] & 255) << 8 | mapData[offset3 + 3] & 255;
|
|
break;
|
|
}
|
|
if(premultiplied3) {
|
|
if((s4 & 255) != 0 && (s4 & 255) != 255) {
|
|
lime_math_RGBA.unmult = 255.0 / (s4 & 255);
|
|
s4 = (lime_math_RGBA.__clamp[Math.round((s4 >>> 24 & 255) * lime_math_RGBA.unmult)] & 255) << 24 | (lime_math_RGBA.__clamp[Math.round((s4 >>> 16 & 255) * lime_math_RGBA.unmult)] & 255) << 16 | (lime_math_RGBA.__clamp[Math.round((s4 >>> 8 & 255) * lime_math_RGBA.unmult)] & 255) << 8 | s4 & 255 & 255;
|
|
}
|
|
}
|
|
mapPixel = lime__$internal_graphics_ImageDataUtil.bilinear(s1,s2,s3,s4,mapPoint.x - mPointXFloor,mapPoint.y - mPointYFloor);
|
|
} else {
|
|
var offset4 = mapView.byteOffset + mapView.stride * (y - mPointYFloor) + (x - mPointXFloor) * 4;
|
|
var format4 = mapFormat;
|
|
var premultiplied4 = mapPremultiplied;
|
|
if(premultiplied4 == null) {
|
|
premultiplied4 = false;
|
|
}
|
|
if(format4 == null) {
|
|
format4 = 0;
|
|
}
|
|
switch(format4) {
|
|
case 0:
|
|
mapPixel = (mapData[offset4] & 255) << 24 | (mapData[offset4 + 1] & 255) << 16 | (mapData[offset4 + 2] & 255) << 8 | mapData[offset4 + 3] & 255;
|
|
break;
|
|
case 1:
|
|
mapPixel = (mapData[offset4 + 1] & 255) << 24 | (mapData[offset4 + 2] & 255) << 16 | (mapData[offset4 + 3] & 255) << 8 | mapData[offset4] & 255;
|
|
break;
|
|
case 2:
|
|
mapPixel = (mapData[offset4 + 2] & 255) << 24 | (mapData[offset4 + 1] & 255) << 16 | (mapData[offset4] & 255) << 8 | mapData[offset4 + 3] & 255;
|
|
break;
|
|
}
|
|
if(premultiplied4) {
|
|
if((mapPixel & 255) != 0 && (mapPixel & 255) != 255) {
|
|
lime_math_RGBA.unmult = 255.0 / (mapPixel & 255);
|
|
mapPixel = (lime_math_RGBA.__clamp[Math.round((mapPixel >>> 24 & 255) * lime_math_RGBA.unmult)] & 255) << 24 | (lime_math_RGBA.__clamp[Math.round((mapPixel >>> 16 & 255) * lime_math_RGBA.unmult)] & 255) << 16 | (lime_math_RGBA.__clamp[Math.round((mapPixel >>> 8 & 255) * lime_math_RGBA.unmult)] & 255) << 8 | mapPixel & 255 & 255;
|
|
}
|
|
}
|
|
}
|
|
mapPixelA = (mapPixel & 255) / 255.0;
|
|
mapPixelX = ((mapPixel >>> 24 & 255) - 128) / 255.0 * mapPixelA;
|
|
mapPixelY = ((mapPixel >>> 16 & 255) - 128) / 255.0 * mapPixelA;
|
|
disX = mapPixelX * componentX.x + mapPixelY * componentY.x;
|
|
disY = mapPixelX * componentX.y + mapPixelY * componentY.y;
|
|
disOffsetXFloor = Math.floor(disX * sourceView.width);
|
|
disOffsetYFloor = Math.floor(disY * sourceView.height);
|
|
if(smooth) {
|
|
var offset5 = sourceView.byteOffset + sourceView.stride * (y + disOffsetYFloor + 1) + (x + disOffsetXFloor) * 4;
|
|
var format5 = sourceFormat;
|
|
var premultiplied5 = sourcePremultiplied;
|
|
if(premultiplied5 == null) {
|
|
premultiplied5 = false;
|
|
}
|
|
if(format5 == null) {
|
|
format5 = 0;
|
|
}
|
|
switch(format5) {
|
|
case 0:
|
|
s1 = (sourceData[offset5] & 255) << 24 | (sourceData[offset5 + 1] & 255) << 16 | (sourceData[offset5 + 2] & 255) << 8 | sourceData[offset5 + 3] & 255;
|
|
break;
|
|
case 1:
|
|
s1 = (sourceData[offset5 + 1] & 255) << 24 | (sourceData[offset5 + 2] & 255) << 16 | (sourceData[offset5 + 3] & 255) << 8 | sourceData[offset5] & 255;
|
|
break;
|
|
case 2:
|
|
s1 = (sourceData[offset5 + 2] & 255) << 24 | (sourceData[offset5 + 1] & 255) << 16 | (sourceData[offset5] & 255) << 8 | sourceData[offset5 + 3] & 255;
|
|
break;
|
|
}
|
|
if(premultiplied5) {
|
|
if((s1 & 255) != 0 && (s1 & 255) != 255) {
|
|
lime_math_RGBA.unmult = 255.0 / (s1 & 255);
|
|
s1 = (lime_math_RGBA.__clamp[Math.round((s1 >>> 24 & 255) * lime_math_RGBA.unmult)] & 255) << 24 | (lime_math_RGBA.__clamp[Math.round((s1 >>> 16 & 255) * lime_math_RGBA.unmult)] & 255) << 16 | (lime_math_RGBA.__clamp[Math.round((s1 >>> 8 & 255) * lime_math_RGBA.unmult)] & 255) << 8 | s1 & 255 & 255;
|
|
}
|
|
}
|
|
var offset6 = sourceView.byteOffset + sourceView.stride * (y + disOffsetYFloor) + (x + disOffsetXFloor + 1) * 4;
|
|
var format6 = sourceFormat;
|
|
var premultiplied6 = sourcePremultiplied;
|
|
if(premultiplied6 == null) {
|
|
premultiplied6 = false;
|
|
}
|
|
if(format6 == null) {
|
|
format6 = 0;
|
|
}
|
|
switch(format6) {
|
|
case 0:
|
|
s2 = (sourceData[offset6] & 255) << 24 | (sourceData[offset6 + 1] & 255) << 16 | (sourceData[offset6 + 2] & 255) << 8 | sourceData[offset6 + 3] & 255;
|
|
break;
|
|
case 1:
|
|
s2 = (sourceData[offset6 + 1] & 255) << 24 | (sourceData[offset6 + 2] & 255) << 16 | (sourceData[offset6 + 3] & 255) << 8 | sourceData[offset6] & 255;
|
|
break;
|
|
case 2:
|
|
s2 = (sourceData[offset6 + 2] & 255) << 24 | (sourceData[offset6 + 1] & 255) << 16 | (sourceData[offset6] & 255) << 8 | sourceData[offset6 + 3] & 255;
|
|
break;
|
|
}
|
|
if(premultiplied6) {
|
|
if((s2 & 255) != 0 && (s2 & 255) != 255) {
|
|
lime_math_RGBA.unmult = 255.0 / (s2 & 255);
|
|
s2 = (lime_math_RGBA.__clamp[Math.round((s2 >>> 24 & 255) * lime_math_RGBA.unmult)] & 255) << 24 | (lime_math_RGBA.__clamp[Math.round((s2 >>> 16 & 255) * lime_math_RGBA.unmult)] & 255) << 16 | (lime_math_RGBA.__clamp[Math.round((s2 >>> 8 & 255) * lime_math_RGBA.unmult)] & 255) << 8 | s2 & 255 & 255;
|
|
}
|
|
}
|
|
var offset7 = sourceView.byteOffset + sourceView.stride * (y + disOffsetYFloor + 1) + (x + disOffsetXFloor + 1) * 4;
|
|
var format7 = sourceFormat;
|
|
var premultiplied7 = sourcePremultiplied;
|
|
if(premultiplied7 == null) {
|
|
premultiplied7 = false;
|
|
}
|
|
if(format7 == null) {
|
|
format7 = 0;
|
|
}
|
|
switch(format7) {
|
|
case 0:
|
|
s3 = (sourceData[offset7] & 255) << 24 | (sourceData[offset7 + 1] & 255) << 16 | (sourceData[offset7 + 2] & 255) << 8 | sourceData[offset7 + 3] & 255;
|
|
break;
|
|
case 1:
|
|
s3 = (sourceData[offset7 + 1] & 255) << 24 | (sourceData[offset7 + 2] & 255) << 16 | (sourceData[offset7 + 3] & 255) << 8 | sourceData[offset7] & 255;
|
|
break;
|
|
case 2:
|
|
s3 = (sourceData[offset7 + 2] & 255) << 24 | (sourceData[offset7 + 1] & 255) << 16 | (sourceData[offset7] & 255) << 8 | sourceData[offset7 + 3] & 255;
|
|
break;
|
|
}
|
|
if(premultiplied7) {
|
|
if((s3 & 255) != 0 && (s3 & 255) != 255) {
|
|
lime_math_RGBA.unmult = 255.0 / (s3 & 255);
|
|
s3 = (lime_math_RGBA.__clamp[Math.round((s3 >>> 24 & 255) * lime_math_RGBA.unmult)] & 255) << 24 | (lime_math_RGBA.__clamp[Math.round((s3 >>> 16 & 255) * lime_math_RGBA.unmult)] & 255) << 16 | (lime_math_RGBA.__clamp[Math.round((s3 >>> 8 & 255) * lime_math_RGBA.unmult)] & 255) << 8 | s3 & 255 & 255;
|
|
}
|
|
}
|
|
var offset8 = sourceView.byteOffset + sourceView.stride * (y + disOffsetYFloor) + (x + disOffsetXFloor) * 4;
|
|
var format8 = sourceFormat;
|
|
var premultiplied8 = sourcePremultiplied;
|
|
if(premultiplied8 == null) {
|
|
premultiplied8 = false;
|
|
}
|
|
if(format8 == null) {
|
|
format8 = 0;
|
|
}
|
|
switch(format8) {
|
|
case 0:
|
|
s4 = (sourceData[offset8] & 255) << 24 | (sourceData[offset8 + 1] & 255) << 16 | (sourceData[offset8 + 2] & 255) << 8 | sourceData[offset8 + 3] & 255;
|
|
break;
|
|
case 1:
|
|
s4 = (sourceData[offset8 + 1] & 255) << 24 | (sourceData[offset8 + 2] & 255) << 16 | (sourceData[offset8 + 3] & 255) << 8 | sourceData[offset8] & 255;
|
|
break;
|
|
case 2:
|
|
s4 = (sourceData[offset8 + 2] & 255) << 24 | (sourceData[offset8 + 1] & 255) << 16 | (sourceData[offset8] & 255) << 8 | sourceData[offset8 + 3] & 255;
|
|
break;
|
|
}
|
|
if(premultiplied8) {
|
|
if((s4 & 255) != 0 && (s4 & 255) != 255) {
|
|
lime_math_RGBA.unmult = 255.0 / (s4 & 255);
|
|
s4 = (lime_math_RGBA.__clamp[Math.round((s4 >>> 24 & 255) * lime_math_RGBA.unmult)] & 255) << 24 | (lime_math_RGBA.__clamp[Math.round((s4 >>> 16 & 255) * lime_math_RGBA.unmult)] & 255) << 16 | (lime_math_RGBA.__clamp[Math.round((s4 >>> 8 & 255) * lime_math_RGBA.unmult)] & 255) << 8 | s4 & 255 & 255;
|
|
}
|
|
}
|
|
sourcePixel = lime__$internal_graphics_ImageDataUtil.bilinear(s1,s2,s3,s4,disX * sourceView.width - disOffsetXFloor,disY * sourceView.height - disOffsetYFloor);
|
|
} else {
|
|
var offset9 = sourceView.byteOffset + sourceView.stride * (y + disOffsetYFloor) + (x + disOffsetXFloor) * 4;
|
|
var format9 = sourceFormat;
|
|
var premultiplied9 = sourcePremultiplied;
|
|
if(premultiplied9 == null) {
|
|
premultiplied9 = false;
|
|
}
|
|
if(format9 == null) {
|
|
format9 = 0;
|
|
}
|
|
switch(format9) {
|
|
case 0:
|
|
sourcePixel = (sourceData[offset9] & 255) << 24 | (sourceData[offset9 + 1] & 255) << 16 | (sourceData[offset9 + 2] & 255) << 8 | sourceData[offset9 + 3] & 255;
|
|
break;
|
|
case 1:
|
|
sourcePixel = (sourceData[offset9 + 1] & 255) << 24 | (sourceData[offset9 + 2] & 255) << 16 | (sourceData[offset9 + 3] & 255) << 8 | sourceData[offset9] & 255;
|
|
break;
|
|
case 2:
|
|
sourcePixel = (sourceData[offset9 + 2] & 255) << 24 | (sourceData[offset9 + 1] & 255) << 16 | (sourceData[offset9] & 255) << 8 | sourceData[offset9 + 3] & 255;
|
|
break;
|
|
}
|
|
if(premultiplied9) {
|
|
if((sourcePixel & 255) != 0 && (sourcePixel & 255) != 255) {
|
|
lime_math_RGBA.unmult = 255.0 / (sourcePixel & 255);
|
|
sourcePixel = (lime_math_RGBA.__clamp[Math.round((sourcePixel >>> 24 & 255) * lime_math_RGBA.unmult)] & 255) << 24 | (lime_math_RGBA.__clamp[Math.round((sourcePixel >>> 16 & 255) * lime_math_RGBA.unmult)] & 255) << 16 | (lime_math_RGBA.__clamp[Math.round((sourcePixel >>> 8 & 255) * lime_math_RGBA.unmult)] & 255) << 8 | sourcePixel & 255 & 255;
|
|
}
|
|
}
|
|
}
|
|
var format10 = targetFormat;
|
|
var premultiplied10 = targetPremultiplied;
|
|
if(premultiplied10 == null) {
|
|
premultiplied10 = false;
|
|
}
|
|
if(format10 == null) {
|
|
format10 = 0;
|
|
}
|
|
if(premultiplied10) {
|
|
if((sourcePixel & 255) == 0) {
|
|
if(sourcePixel != 0) {
|
|
sourcePixel = 0;
|
|
}
|
|
} else if((sourcePixel & 255) != 255) {
|
|
lime_math_RGBA.a16 = lime_math_RGBA.__alpha16[sourcePixel & 255];
|
|
sourcePixel = ((sourcePixel >>> 24 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 24 | ((sourcePixel >>> 16 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 16 | ((sourcePixel >>> 8 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 8 | sourcePixel & 255 & 255;
|
|
}
|
|
}
|
|
switch(format10) {
|
|
case 0:
|
|
targetData[sourceOffset] = sourcePixel >>> 24 & 255;
|
|
targetData[sourceOffset + 1] = sourcePixel >>> 16 & 255;
|
|
targetData[sourceOffset + 2] = sourcePixel >>> 8 & 255;
|
|
targetData[sourceOffset + 3] = sourcePixel & 255;
|
|
break;
|
|
case 1:
|
|
targetData[sourceOffset] = sourcePixel & 255;
|
|
targetData[sourceOffset + 1] = sourcePixel >>> 24 & 255;
|
|
targetData[sourceOffset + 2] = sourcePixel >>> 16 & 255;
|
|
targetData[sourceOffset + 3] = sourcePixel >>> 8 & 255;
|
|
break;
|
|
case 2:
|
|
targetData[sourceOffset] = sourcePixel >>> 8 & 255;
|
|
targetData[sourceOffset + 1] = sourcePixel >>> 16 & 255;
|
|
targetData[sourceOffset + 2] = sourcePixel >>> 24 & 255;
|
|
targetData[sourceOffset + 3] = sourcePixel & 255;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
target.dirty = true;
|
|
target.version++;
|
|
};
|
|
lime__$internal_graphics_ImageDataUtil.bilinear = function(s1,s2,s3,s4,su,sv) {
|
|
return lime__$internal_graphics_ImageDataUtil.lerpRGBA(lime__$internal_graphics_ImageDataUtil.lerpRGBA(s4,s2,su),lime__$internal_graphics_ImageDataUtil.lerpRGBA(s1,s3,su),sv);
|
|
};
|
|
lime__$internal_graphics_ImageDataUtil.lerpRGBA = function(v0,v1,x) {
|
|
var result = 0;
|
|
var value = Math.floor(lime__$internal_graphics_ImageDataUtil.lerp(v0 >>> 24 & 255,v1 >>> 24 & 255,x));
|
|
result = (value & 255) << 24 | (result >>> 16 & 255 & 255) << 16 | (result >>> 8 & 255 & 255) << 8 | result & 255 & 255;
|
|
var value = Math.floor(lime__$internal_graphics_ImageDataUtil.lerp(v0 >>> 16 & 255,v1 >>> 16 & 255,x));
|
|
result = (result >>> 24 & 255 & 255) << 24 | (value & 255) << 16 | (result >>> 8 & 255 & 255) << 8 | result & 255 & 255;
|
|
var value = Math.floor(lime__$internal_graphics_ImageDataUtil.lerp(v0 >>> 8 & 255,v1 >>> 8 & 255,x));
|
|
result = (result >>> 24 & 255 & 255) << 24 | (result >>> 16 & 255 & 255) << 16 | (value & 255) << 8 | result & 255 & 255;
|
|
var value = Math.floor(lime__$internal_graphics_ImageDataUtil.lerp(v0 & 255,v1 & 255,x));
|
|
result = (result >>> 24 & 255 & 255) << 24 | (result >>> 16 & 255 & 255) << 16 | (result >>> 8 & 255 & 255) << 8 | value & 255;
|
|
return result;
|
|
};
|
|
lime__$internal_graphics_ImageDataUtil.lerp4f = function(v0,v1,x) {
|
|
return new lime_math_Vector4(lime__$internal_graphics_ImageDataUtil.lerp(v0.x,v1.x,x),lime__$internal_graphics_ImageDataUtil.lerp(v0.y,v1.y,x),lime__$internal_graphics_ImageDataUtil.lerp(v0.z,v1.z,x),lime__$internal_graphics_ImageDataUtil.lerp(v0.w,v1.w,x));
|
|
};
|
|
lime__$internal_graphics_ImageDataUtil.lerp = function(v0,v1,x) {
|
|
return (1.0 - x) * v0 + x * v1;
|
|
};
|
|
lime__$internal_graphics_ImageDataUtil.colorTransform = function(image,rect,colorMatrix) {
|
|
var data = image.buffer.data;
|
|
if(data == null) {
|
|
return;
|
|
}
|
|
var format = image.buffer.format;
|
|
var premultiplied = image.buffer.premultiplied;
|
|
var dataView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(image,rect);
|
|
var alphaTable = lime_math_ColorMatrix.getAlphaTable(colorMatrix);
|
|
var redTable = lime_math_ColorMatrix.getRedTable(colorMatrix);
|
|
var greenTable = lime_math_ColorMatrix.getGreenTable(colorMatrix);
|
|
var blueTable = lime_math_ColorMatrix.getBlueTable(colorMatrix);
|
|
var row;
|
|
var offset;
|
|
var pixel = 0;
|
|
var _g = 0;
|
|
var _g1 = dataView.height;
|
|
while(_g < _g1) {
|
|
var y = _g++;
|
|
row = dataView.byteOffset + dataView.stride * y;
|
|
var _g2 = 0;
|
|
var _g3 = dataView.width;
|
|
while(_g2 < _g3) {
|
|
var x = _g2++;
|
|
offset = row + x * 4;
|
|
var format1 = format;
|
|
var premultiplied1 = premultiplied;
|
|
if(premultiplied1 == null) {
|
|
premultiplied1 = false;
|
|
}
|
|
if(format1 == null) {
|
|
format1 = 0;
|
|
}
|
|
switch(format1) {
|
|
case 0:
|
|
pixel = (data[offset] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset + 2] & 255) << 8 | data[offset + 3] & 255;
|
|
break;
|
|
case 1:
|
|
pixel = (data[offset + 1] & 255) << 24 | (data[offset + 2] & 255) << 16 | (data[offset + 3] & 255) << 8 | data[offset] & 255;
|
|
break;
|
|
case 2:
|
|
pixel = (data[offset + 2] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset] & 255) << 8 | data[offset + 3] & 255;
|
|
break;
|
|
}
|
|
if(premultiplied1) {
|
|
if((pixel & 255) != 0 && (pixel & 255) != 255) {
|
|
lime_math_RGBA.unmult = 255.0 / (pixel & 255);
|
|
pixel = (lime_math_RGBA.__clamp[Math.round((pixel >>> 24 & 255) * lime_math_RGBA.unmult)] & 255) << 24 | (lime_math_RGBA.__clamp[Math.round((pixel >>> 16 & 255) * lime_math_RGBA.unmult)] & 255) << 16 | (lime_math_RGBA.__clamp[Math.round((pixel >>> 8 & 255) * lime_math_RGBA.unmult)] & 255) << 8 | pixel & 255 & 255;
|
|
}
|
|
}
|
|
pixel = (redTable[pixel >>> 24 & 255] & 255) << 24 | (greenTable[pixel >>> 16 & 255] & 255) << 16 | (blueTable[pixel >>> 8 & 255] & 255) << 8 | alphaTable[pixel & 255] & 255;
|
|
var format2 = format;
|
|
var premultiplied2 = premultiplied;
|
|
if(premultiplied2 == null) {
|
|
premultiplied2 = false;
|
|
}
|
|
if(format2 == null) {
|
|
format2 = 0;
|
|
}
|
|
if(premultiplied2) {
|
|
if((pixel & 255) == 0) {
|
|
if(pixel != 0) {
|
|
pixel = 0;
|
|
}
|
|
} else if((pixel & 255) != 255) {
|
|
lime_math_RGBA.a16 = lime_math_RGBA.__alpha16[pixel & 255];
|
|
pixel = ((pixel >>> 24 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 24 | ((pixel >>> 16 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 16 | ((pixel >>> 8 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 8 | pixel & 255 & 255;
|
|
}
|
|
}
|
|
switch(format2) {
|
|
case 0:
|
|
data[offset] = pixel >>> 24 & 255;
|
|
data[offset + 1] = pixel >>> 16 & 255;
|
|
data[offset + 2] = pixel >>> 8 & 255;
|
|
data[offset + 3] = pixel & 255;
|
|
break;
|
|
case 1:
|
|
data[offset] = pixel & 255;
|
|
data[offset + 1] = pixel >>> 24 & 255;
|
|
data[offset + 2] = pixel >>> 16 & 255;
|
|
data[offset + 3] = pixel >>> 8 & 255;
|
|
break;
|
|
case 2:
|
|
data[offset] = pixel >>> 8 & 255;
|
|
data[offset + 1] = pixel >>> 16 & 255;
|
|
data[offset + 2] = pixel >>> 24 & 255;
|
|
data[offset + 3] = pixel & 255;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
image.dirty = true;
|
|
image.version++;
|
|
};
|
|
lime__$internal_graphics_ImageDataUtil.copyChannel = function(image,sourceImage,sourceRect,destPoint,sourceChannel,destChannel) {
|
|
var destIdx;
|
|
switch(destChannel._hx_index) {
|
|
case 0:
|
|
destIdx = 0;
|
|
break;
|
|
case 1:
|
|
destIdx = 1;
|
|
break;
|
|
case 2:
|
|
destIdx = 2;
|
|
break;
|
|
case 3:
|
|
destIdx = 3;
|
|
break;
|
|
}
|
|
var srcIdx;
|
|
switch(sourceChannel._hx_index) {
|
|
case 0:
|
|
srcIdx = 0;
|
|
break;
|
|
case 1:
|
|
srcIdx = 1;
|
|
break;
|
|
case 2:
|
|
srcIdx = 2;
|
|
break;
|
|
case 3:
|
|
srcIdx = 3;
|
|
break;
|
|
}
|
|
var srcData = sourceImage.buffer.data;
|
|
var destData = image.buffer.data;
|
|
if(srcData == null || destData == null) {
|
|
return;
|
|
}
|
|
var srcView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(sourceImage,sourceRect);
|
|
var destView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(image,new lime_math_Rectangle(destPoint.x,destPoint.y,srcView.width,srcView.height));
|
|
var srcFormat = sourceImage.buffer.format;
|
|
var destFormat = image.buffer.format;
|
|
var srcPremultiplied = sourceImage.buffer.premultiplied;
|
|
var destPremultiplied = image.buffer.premultiplied;
|
|
var srcPosition;
|
|
var destPosition;
|
|
var srcPixel = 0;
|
|
var destPixel = 0;
|
|
var value = 0;
|
|
var _g = 0;
|
|
var _g1 = destView.height;
|
|
while(_g < _g1) {
|
|
var y = _g++;
|
|
srcPosition = srcView.byteOffset + srcView.stride * y;
|
|
destPosition = destView.byteOffset + destView.stride * y;
|
|
var _g2 = 0;
|
|
var _g3 = destView.width;
|
|
while(_g2 < _g3) {
|
|
var x = _g2++;
|
|
var format = srcFormat;
|
|
var premultiplied = srcPremultiplied;
|
|
if(premultiplied == null) {
|
|
premultiplied = false;
|
|
}
|
|
if(format == null) {
|
|
format = 0;
|
|
}
|
|
switch(format) {
|
|
case 0:
|
|
srcPixel = (srcData[srcPosition] & 255) << 24 | (srcData[srcPosition + 1] & 255) << 16 | (srcData[srcPosition + 2] & 255) << 8 | srcData[srcPosition + 3] & 255;
|
|
break;
|
|
case 1:
|
|
srcPixel = (srcData[srcPosition + 1] & 255) << 24 | (srcData[srcPosition + 2] & 255) << 16 | (srcData[srcPosition + 3] & 255) << 8 | srcData[srcPosition] & 255;
|
|
break;
|
|
case 2:
|
|
srcPixel = (srcData[srcPosition + 2] & 255) << 24 | (srcData[srcPosition + 1] & 255) << 16 | (srcData[srcPosition] & 255) << 8 | srcData[srcPosition + 3] & 255;
|
|
break;
|
|
}
|
|
if(premultiplied) {
|
|
if((srcPixel & 255) != 0 && (srcPixel & 255) != 255) {
|
|
lime_math_RGBA.unmult = 255.0 / (srcPixel & 255);
|
|
srcPixel = (lime_math_RGBA.__clamp[Math.round((srcPixel >>> 24 & 255) * lime_math_RGBA.unmult)] & 255) << 24 | (lime_math_RGBA.__clamp[Math.round((srcPixel >>> 16 & 255) * lime_math_RGBA.unmult)] & 255) << 16 | (lime_math_RGBA.__clamp[Math.round((srcPixel >>> 8 & 255) * lime_math_RGBA.unmult)] & 255) << 8 | srcPixel & 255 & 255;
|
|
}
|
|
}
|
|
var format1 = destFormat;
|
|
var premultiplied1 = destPremultiplied;
|
|
if(premultiplied1 == null) {
|
|
premultiplied1 = false;
|
|
}
|
|
if(format1 == null) {
|
|
format1 = 0;
|
|
}
|
|
switch(format1) {
|
|
case 0:
|
|
destPixel = (destData[destPosition] & 255) << 24 | (destData[destPosition + 1] & 255) << 16 | (destData[destPosition + 2] & 255) << 8 | destData[destPosition + 3] & 255;
|
|
break;
|
|
case 1:
|
|
destPixel = (destData[destPosition + 1] & 255) << 24 | (destData[destPosition + 2] & 255) << 16 | (destData[destPosition + 3] & 255) << 8 | destData[destPosition] & 255;
|
|
break;
|
|
case 2:
|
|
destPixel = (destData[destPosition + 2] & 255) << 24 | (destData[destPosition + 1] & 255) << 16 | (destData[destPosition] & 255) << 8 | destData[destPosition + 3] & 255;
|
|
break;
|
|
}
|
|
if(premultiplied1) {
|
|
if((destPixel & 255) != 0 && (destPixel & 255) != 255) {
|
|
lime_math_RGBA.unmult = 255.0 / (destPixel & 255);
|
|
destPixel = (lime_math_RGBA.__clamp[Math.round((destPixel >>> 24 & 255) * lime_math_RGBA.unmult)] & 255) << 24 | (lime_math_RGBA.__clamp[Math.round((destPixel >>> 16 & 255) * lime_math_RGBA.unmult)] & 255) << 16 | (lime_math_RGBA.__clamp[Math.round((destPixel >>> 8 & 255) * lime_math_RGBA.unmult)] & 255) << 8 | destPixel & 255 & 255;
|
|
}
|
|
}
|
|
switch(srcIdx) {
|
|
case 0:
|
|
value = srcPixel >>> 24 & 255;
|
|
break;
|
|
case 1:
|
|
value = srcPixel >>> 16 & 255;
|
|
break;
|
|
case 2:
|
|
value = srcPixel >>> 8 & 255;
|
|
break;
|
|
case 3:
|
|
value = srcPixel & 255;
|
|
break;
|
|
}
|
|
switch(destIdx) {
|
|
case 0:
|
|
destPixel = (value & 255) << 24 | (destPixel >>> 16 & 255 & 255) << 16 | (destPixel >>> 8 & 255 & 255) << 8 | destPixel & 255 & 255;
|
|
break;
|
|
case 1:
|
|
destPixel = (destPixel >>> 24 & 255 & 255) << 24 | (value & 255) << 16 | (destPixel >>> 8 & 255 & 255) << 8 | destPixel & 255 & 255;
|
|
break;
|
|
case 2:
|
|
destPixel = (destPixel >>> 24 & 255 & 255) << 24 | (destPixel >>> 16 & 255 & 255) << 16 | (value & 255) << 8 | destPixel & 255 & 255;
|
|
break;
|
|
case 3:
|
|
destPixel = (destPixel >>> 24 & 255 & 255) << 24 | (destPixel >>> 16 & 255 & 255) << 16 | (destPixel >>> 8 & 255 & 255) << 8 | value & 255;
|
|
break;
|
|
}
|
|
var format2 = destFormat;
|
|
var premultiplied2 = destPremultiplied;
|
|
if(premultiplied2 == null) {
|
|
premultiplied2 = false;
|
|
}
|
|
if(format2 == null) {
|
|
format2 = 0;
|
|
}
|
|
if(premultiplied2) {
|
|
if((destPixel & 255) == 0) {
|
|
if(destPixel != 0) {
|
|
destPixel = 0;
|
|
}
|
|
} else if((destPixel & 255) != 255) {
|
|
lime_math_RGBA.a16 = lime_math_RGBA.__alpha16[destPixel & 255];
|
|
destPixel = ((destPixel >>> 24 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 24 | ((destPixel >>> 16 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 16 | ((destPixel >>> 8 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 8 | destPixel & 255 & 255;
|
|
}
|
|
}
|
|
switch(format2) {
|
|
case 0:
|
|
destData[destPosition] = destPixel >>> 24 & 255;
|
|
destData[destPosition + 1] = destPixel >>> 16 & 255;
|
|
destData[destPosition + 2] = destPixel >>> 8 & 255;
|
|
destData[destPosition + 3] = destPixel & 255;
|
|
break;
|
|
case 1:
|
|
destData[destPosition] = destPixel & 255;
|
|
destData[destPosition + 1] = destPixel >>> 24 & 255;
|
|
destData[destPosition + 2] = destPixel >>> 16 & 255;
|
|
destData[destPosition + 3] = destPixel >>> 8 & 255;
|
|
break;
|
|
case 2:
|
|
destData[destPosition] = destPixel >>> 8 & 255;
|
|
destData[destPosition + 1] = destPixel >>> 16 & 255;
|
|
destData[destPosition + 2] = destPixel >>> 24 & 255;
|
|
destData[destPosition + 3] = destPixel & 255;
|
|
break;
|
|
}
|
|
srcPosition += 4;
|
|
destPosition += 4;
|
|
}
|
|
}
|
|
image.dirty = true;
|
|
image.version++;
|
|
};
|
|
lime__$internal_graphics_ImageDataUtil.copyPixels = function(image,sourceImage,sourceRect,destPoint,alphaImage,alphaPoint,mergeAlpha) {
|
|
if(mergeAlpha == null) {
|
|
mergeAlpha = false;
|
|
}
|
|
if(image.width == sourceImage.width && image.height == sourceImage.height && sourceRect.width == sourceImage.width && sourceRect.height == sourceImage.height && sourceRect.x == 0 && sourceRect.y == 0 && destPoint.x == 0 && destPoint.y == 0 && alphaImage == null && alphaPoint == null && mergeAlpha == false && image.get_format() == sourceImage.get_format()) {
|
|
image.buffer.data.set(sourceImage.buffer.data);
|
|
} else {
|
|
var sourceData = sourceImage.buffer.data;
|
|
var destData = image.buffer.data;
|
|
if(sourceData == null || destData == null) {
|
|
return;
|
|
}
|
|
var sourceView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(sourceImage,sourceRect);
|
|
var destRect = new lime_math_Rectangle(destPoint.x,destPoint.y,sourceView.width,sourceView.height);
|
|
var destView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(image,destRect);
|
|
var sourceFormat = sourceImage.buffer.format;
|
|
var destFormat = image.buffer.format;
|
|
var sourcePosition;
|
|
var destPosition;
|
|
var sourceAlpha;
|
|
var destAlpha;
|
|
var oneMinusSourceAlpha;
|
|
var blendAlpha;
|
|
var sourcePixel = 0;
|
|
var destPixel = 0;
|
|
var sourcePremultiplied = sourceImage.buffer.premultiplied;
|
|
var destPremultiplied = image.buffer.premultiplied;
|
|
var sourceBytesPerPixel = sourceImage.buffer.bitsPerPixel / 8 | 0;
|
|
var destBytesPerPixel = image.buffer.bitsPerPixel / 8 | 0;
|
|
var useAlphaImage = alphaImage != null && alphaImage.get_transparent();
|
|
var blend = mergeAlpha || useAlphaImage && !image.get_transparent() || !mergeAlpha && !image.get_transparent() && sourceImage.get_transparent();
|
|
if(!useAlphaImage) {
|
|
if(blend) {
|
|
var _g = 0;
|
|
var _g1 = destView.height;
|
|
while(_g < _g1) {
|
|
var y = _g++;
|
|
sourcePosition = sourceView.byteOffset + sourceView.stride * y;
|
|
destPosition = destView.byteOffset + destView.stride * y;
|
|
var _g2 = 0;
|
|
var _g3 = destView.width;
|
|
while(_g2 < _g3) {
|
|
var x = _g2++;
|
|
var format = sourceFormat;
|
|
var premultiplied = sourcePremultiplied;
|
|
if(premultiplied == null) {
|
|
premultiplied = false;
|
|
}
|
|
if(format == null) {
|
|
format = 0;
|
|
}
|
|
switch(format) {
|
|
case 0:
|
|
sourcePixel = (sourceData[sourcePosition] & 255) << 24 | (sourceData[sourcePosition + 1] & 255) << 16 | (sourceData[sourcePosition + 2] & 255) << 8 | sourceData[sourcePosition + 3] & 255;
|
|
break;
|
|
case 1:
|
|
sourcePixel = (sourceData[sourcePosition + 1] & 255) << 24 | (sourceData[sourcePosition + 2] & 255) << 16 | (sourceData[sourcePosition + 3] & 255) << 8 | sourceData[sourcePosition] & 255;
|
|
break;
|
|
case 2:
|
|
sourcePixel = (sourceData[sourcePosition + 2] & 255) << 24 | (sourceData[sourcePosition + 1] & 255) << 16 | (sourceData[sourcePosition] & 255) << 8 | sourceData[sourcePosition + 3] & 255;
|
|
break;
|
|
}
|
|
if(premultiplied) {
|
|
if((sourcePixel & 255) != 0 && (sourcePixel & 255) != 255) {
|
|
lime_math_RGBA.unmult = 255.0 / (sourcePixel & 255);
|
|
sourcePixel = (lime_math_RGBA.__clamp[Math.round((sourcePixel >>> 24 & 255) * lime_math_RGBA.unmult)] & 255) << 24 | (lime_math_RGBA.__clamp[Math.round((sourcePixel >>> 16 & 255) * lime_math_RGBA.unmult)] & 255) << 16 | (lime_math_RGBA.__clamp[Math.round((sourcePixel >>> 8 & 255) * lime_math_RGBA.unmult)] & 255) << 8 | sourcePixel & 255 & 255;
|
|
}
|
|
}
|
|
var format1 = destFormat;
|
|
var premultiplied1 = destPremultiplied;
|
|
if(premultiplied1 == null) {
|
|
premultiplied1 = false;
|
|
}
|
|
if(format1 == null) {
|
|
format1 = 0;
|
|
}
|
|
switch(format1) {
|
|
case 0:
|
|
destPixel = (destData[destPosition] & 255) << 24 | (destData[destPosition + 1] & 255) << 16 | (destData[destPosition + 2] & 255) << 8 | destData[destPosition + 3] & 255;
|
|
break;
|
|
case 1:
|
|
destPixel = (destData[destPosition + 1] & 255) << 24 | (destData[destPosition + 2] & 255) << 16 | (destData[destPosition + 3] & 255) << 8 | destData[destPosition] & 255;
|
|
break;
|
|
case 2:
|
|
destPixel = (destData[destPosition + 2] & 255) << 24 | (destData[destPosition + 1] & 255) << 16 | (destData[destPosition] & 255) << 8 | destData[destPosition + 3] & 255;
|
|
break;
|
|
}
|
|
if(premultiplied1) {
|
|
if((destPixel & 255) != 0 && (destPixel & 255) != 255) {
|
|
lime_math_RGBA.unmult = 255.0 / (destPixel & 255);
|
|
destPixel = (lime_math_RGBA.__clamp[Math.round((destPixel >>> 24 & 255) * lime_math_RGBA.unmult)] & 255) << 24 | (lime_math_RGBA.__clamp[Math.round((destPixel >>> 16 & 255) * lime_math_RGBA.unmult)] & 255) << 16 | (lime_math_RGBA.__clamp[Math.round((destPixel >>> 8 & 255) * lime_math_RGBA.unmult)] & 255) << 8 | destPixel & 255 & 255;
|
|
}
|
|
}
|
|
sourceAlpha = (sourcePixel & 255) / 255.0;
|
|
destAlpha = (destPixel & 255) / 255.0;
|
|
oneMinusSourceAlpha = 1 - sourceAlpha;
|
|
blendAlpha = sourceAlpha + destAlpha * oneMinusSourceAlpha;
|
|
if(blendAlpha == 0) {
|
|
destPixel = 0;
|
|
} else {
|
|
var value = lime_math_RGBA.__clamp[Math.round(((sourcePixel >>> 24 & 255) * sourceAlpha + (destPixel >>> 24 & 255) * destAlpha * oneMinusSourceAlpha) / blendAlpha)];
|
|
destPixel = (value & 255) << 24 | (destPixel >>> 16 & 255 & 255) << 16 | (destPixel >>> 8 & 255 & 255) << 8 | destPixel & 255 & 255;
|
|
var value1 = lime_math_RGBA.__clamp[Math.round(((sourcePixel >>> 16 & 255) * sourceAlpha + (destPixel >>> 16 & 255) * destAlpha * oneMinusSourceAlpha) / blendAlpha)];
|
|
destPixel = (destPixel >>> 24 & 255 & 255) << 24 | (value1 & 255) << 16 | (destPixel >>> 8 & 255 & 255) << 8 | destPixel & 255 & 255;
|
|
var value2 = lime_math_RGBA.__clamp[Math.round(((sourcePixel >>> 8 & 255) * sourceAlpha + (destPixel >>> 8 & 255) * destAlpha * oneMinusSourceAlpha) / blendAlpha)];
|
|
destPixel = (destPixel >>> 24 & 255 & 255) << 24 | (destPixel >>> 16 & 255 & 255) << 16 | (value2 & 255) << 8 | destPixel & 255 & 255;
|
|
var value3 = lime_math_RGBA.__clamp[Math.round(blendAlpha * 255.0)];
|
|
destPixel = (destPixel >>> 24 & 255 & 255) << 24 | (destPixel >>> 16 & 255 & 255) << 16 | (destPixel >>> 8 & 255 & 255) << 8 | value3 & 255;
|
|
}
|
|
var format2 = destFormat;
|
|
var premultiplied2 = destPremultiplied;
|
|
if(premultiplied2 == null) {
|
|
premultiplied2 = false;
|
|
}
|
|
if(format2 == null) {
|
|
format2 = 0;
|
|
}
|
|
if(premultiplied2) {
|
|
if((destPixel & 255) == 0) {
|
|
if(destPixel != 0) {
|
|
destPixel = 0;
|
|
}
|
|
} else if((destPixel & 255) != 255) {
|
|
lime_math_RGBA.a16 = lime_math_RGBA.__alpha16[destPixel & 255];
|
|
destPixel = ((destPixel >>> 24 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 24 | ((destPixel >>> 16 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 16 | ((destPixel >>> 8 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 8 | destPixel & 255 & 255;
|
|
}
|
|
}
|
|
switch(format2) {
|
|
case 0:
|
|
destData[destPosition] = destPixel >>> 24 & 255;
|
|
destData[destPosition + 1] = destPixel >>> 16 & 255;
|
|
destData[destPosition + 2] = destPixel >>> 8 & 255;
|
|
destData[destPosition + 3] = destPixel & 255;
|
|
break;
|
|
case 1:
|
|
destData[destPosition] = destPixel & 255;
|
|
destData[destPosition + 1] = destPixel >>> 24 & 255;
|
|
destData[destPosition + 2] = destPixel >>> 16 & 255;
|
|
destData[destPosition + 3] = destPixel >>> 8 & 255;
|
|
break;
|
|
case 2:
|
|
destData[destPosition] = destPixel >>> 8 & 255;
|
|
destData[destPosition + 1] = destPixel >>> 16 & 255;
|
|
destData[destPosition + 2] = destPixel >>> 24 & 255;
|
|
destData[destPosition + 3] = destPixel & 255;
|
|
break;
|
|
}
|
|
sourcePosition += 4;
|
|
destPosition += 4;
|
|
}
|
|
}
|
|
} else if(sourceFormat == destFormat && sourcePremultiplied == destPremultiplied && sourceBytesPerPixel == destBytesPerPixel) {
|
|
var _g = 0;
|
|
var _g1 = destView.height;
|
|
while(_g < _g1) {
|
|
var y = _g++;
|
|
sourcePosition = sourceView.byteOffset + sourceView.stride * y;
|
|
destPosition = destView.byteOffset + destView.stride * y;
|
|
destData.set(sourceData.subarray(sourcePosition,sourcePosition + destView.width * destBytesPerPixel),destPosition);
|
|
}
|
|
} else {
|
|
var _g = 0;
|
|
var _g1 = destView.height;
|
|
while(_g < _g1) {
|
|
var y = _g++;
|
|
sourcePosition = sourceView.byteOffset + sourceView.stride * y;
|
|
destPosition = destView.byteOffset + destView.stride * y;
|
|
var _g2 = 0;
|
|
var _g3 = destView.width;
|
|
while(_g2 < _g3) {
|
|
var x = _g2++;
|
|
var format = sourceFormat;
|
|
var premultiplied = sourcePremultiplied;
|
|
if(premultiplied == null) {
|
|
premultiplied = false;
|
|
}
|
|
if(format == null) {
|
|
format = 0;
|
|
}
|
|
switch(format) {
|
|
case 0:
|
|
sourcePixel = (sourceData[sourcePosition] & 255) << 24 | (sourceData[sourcePosition + 1] & 255) << 16 | (sourceData[sourcePosition + 2] & 255) << 8 | sourceData[sourcePosition + 3] & 255;
|
|
break;
|
|
case 1:
|
|
sourcePixel = (sourceData[sourcePosition + 1] & 255) << 24 | (sourceData[sourcePosition + 2] & 255) << 16 | (sourceData[sourcePosition + 3] & 255) << 8 | sourceData[sourcePosition] & 255;
|
|
break;
|
|
case 2:
|
|
sourcePixel = (sourceData[sourcePosition + 2] & 255) << 24 | (sourceData[sourcePosition + 1] & 255) << 16 | (sourceData[sourcePosition] & 255) << 8 | sourceData[sourcePosition + 3] & 255;
|
|
break;
|
|
}
|
|
if(premultiplied) {
|
|
if((sourcePixel & 255) != 0 && (sourcePixel & 255) != 255) {
|
|
lime_math_RGBA.unmult = 255.0 / (sourcePixel & 255);
|
|
sourcePixel = (lime_math_RGBA.__clamp[Math.round((sourcePixel >>> 24 & 255) * lime_math_RGBA.unmult)] & 255) << 24 | (lime_math_RGBA.__clamp[Math.round((sourcePixel >>> 16 & 255) * lime_math_RGBA.unmult)] & 255) << 16 | (lime_math_RGBA.__clamp[Math.round((sourcePixel >>> 8 & 255) * lime_math_RGBA.unmult)] & 255) << 8 | sourcePixel & 255 & 255;
|
|
}
|
|
}
|
|
var format1 = destFormat;
|
|
var premultiplied1 = destPremultiplied;
|
|
if(premultiplied1 == null) {
|
|
premultiplied1 = false;
|
|
}
|
|
if(format1 == null) {
|
|
format1 = 0;
|
|
}
|
|
if(premultiplied1) {
|
|
if((sourcePixel & 255) == 0) {
|
|
if(sourcePixel != 0) {
|
|
sourcePixel = 0;
|
|
}
|
|
} else if((sourcePixel & 255) != 255) {
|
|
lime_math_RGBA.a16 = lime_math_RGBA.__alpha16[sourcePixel & 255];
|
|
sourcePixel = ((sourcePixel >>> 24 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 24 | ((sourcePixel >>> 16 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 16 | ((sourcePixel >>> 8 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 8 | sourcePixel & 255 & 255;
|
|
}
|
|
}
|
|
switch(format1) {
|
|
case 0:
|
|
destData[destPosition] = sourcePixel >>> 24 & 255;
|
|
destData[destPosition + 1] = sourcePixel >>> 16 & 255;
|
|
destData[destPosition + 2] = sourcePixel >>> 8 & 255;
|
|
destData[destPosition + 3] = sourcePixel & 255;
|
|
break;
|
|
case 1:
|
|
destData[destPosition] = sourcePixel & 255;
|
|
destData[destPosition + 1] = sourcePixel >>> 24 & 255;
|
|
destData[destPosition + 2] = sourcePixel >>> 16 & 255;
|
|
destData[destPosition + 3] = sourcePixel >>> 8 & 255;
|
|
break;
|
|
case 2:
|
|
destData[destPosition] = sourcePixel >>> 8 & 255;
|
|
destData[destPosition + 1] = sourcePixel >>> 16 & 255;
|
|
destData[destPosition + 2] = sourcePixel >>> 24 & 255;
|
|
destData[destPosition + 3] = sourcePixel & 255;
|
|
break;
|
|
}
|
|
sourcePosition += 4;
|
|
destPosition += 4;
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
var alphaData = alphaImage.buffer.data;
|
|
var alphaFormat = alphaImage.buffer.format;
|
|
var alphaPosition;
|
|
var alphaPixel = 0;
|
|
var alphaView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(alphaImage,new lime_math_Rectangle(sourceView.x + (alphaPoint == null ? 0 : alphaPoint.x),sourceView.y + (alphaPoint == null ? 0 : alphaPoint.y),sourceView.width,sourceView.height));
|
|
destView.clip(destPoint.x | 0,destPoint.y | 0,alphaView.width,alphaView.height);
|
|
if(blend) {
|
|
var _g = 0;
|
|
var _g1 = destView.height;
|
|
while(_g < _g1) {
|
|
var y = _g++;
|
|
sourcePosition = sourceView.byteOffset + sourceView.stride * y;
|
|
destPosition = destView.byteOffset + destView.stride * y;
|
|
alphaPosition = alphaView.byteOffset + alphaView.stride * y;
|
|
var _g2 = 0;
|
|
var _g3 = destView.width;
|
|
while(_g2 < _g3) {
|
|
var x = _g2++;
|
|
var format = sourceFormat;
|
|
var premultiplied = sourcePremultiplied;
|
|
if(premultiplied == null) {
|
|
premultiplied = false;
|
|
}
|
|
if(format == null) {
|
|
format = 0;
|
|
}
|
|
switch(format) {
|
|
case 0:
|
|
sourcePixel = (sourceData[sourcePosition] & 255) << 24 | (sourceData[sourcePosition + 1] & 255) << 16 | (sourceData[sourcePosition + 2] & 255) << 8 | sourceData[sourcePosition + 3] & 255;
|
|
break;
|
|
case 1:
|
|
sourcePixel = (sourceData[sourcePosition + 1] & 255) << 24 | (sourceData[sourcePosition + 2] & 255) << 16 | (sourceData[sourcePosition + 3] & 255) << 8 | sourceData[sourcePosition] & 255;
|
|
break;
|
|
case 2:
|
|
sourcePixel = (sourceData[sourcePosition + 2] & 255) << 24 | (sourceData[sourcePosition + 1] & 255) << 16 | (sourceData[sourcePosition] & 255) << 8 | sourceData[sourcePosition + 3] & 255;
|
|
break;
|
|
}
|
|
if(premultiplied) {
|
|
if((sourcePixel & 255) != 0 && (sourcePixel & 255) != 255) {
|
|
lime_math_RGBA.unmult = 255.0 / (sourcePixel & 255);
|
|
sourcePixel = (lime_math_RGBA.__clamp[Math.round((sourcePixel >>> 24 & 255) * lime_math_RGBA.unmult)] & 255) << 24 | (lime_math_RGBA.__clamp[Math.round((sourcePixel >>> 16 & 255) * lime_math_RGBA.unmult)] & 255) << 16 | (lime_math_RGBA.__clamp[Math.round((sourcePixel >>> 8 & 255) * lime_math_RGBA.unmult)] & 255) << 8 | sourcePixel & 255 & 255;
|
|
}
|
|
}
|
|
var format1 = destFormat;
|
|
var premultiplied1 = destPremultiplied;
|
|
if(premultiplied1 == null) {
|
|
premultiplied1 = false;
|
|
}
|
|
if(format1 == null) {
|
|
format1 = 0;
|
|
}
|
|
switch(format1) {
|
|
case 0:
|
|
destPixel = (destData[destPosition] & 255) << 24 | (destData[destPosition + 1] & 255) << 16 | (destData[destPosition + 2] & 255) << 8 | destData[destPosition + 3] & 255;
|
|
break;
|
|
case 1:
|
|
destPixel = (destData[destPosition + 1] & 255) << 24 | (destData[destPosition + 2] & 255) << 16 | (destData[destPosition + 3] & 255) << 8 | destData[destPosition] & 255;
|
|
break;
|
|
case 2:
|
|
destPixel = (destData[destPosition + 2] & 255) << 24 | (destData[destPosition + 1] & 255) << 16 | (destData[destPosition] & 255) << 8 | destData[destPosition + 3] & 255;
|
|
break;
|
|
}
|
|
if(premultiplied1) {
|
|
if((destPixel & 255) != 0 && (destPixel & 255) != 255) {
|
|
lime_math_RGBA.unmult = 255.0 / (destPixel & 255);
|
|
destPixel = (lime_math_RGBA.__clamp[Math.round((destPixel >>> 24 & 255) * lime_math_RGBA.unmult)] & 255) << 24 | (lime_math_RGBA.__clamp[Math.round((destPixel >>> 16 & 255) * lime_math_RGBA.unmult)] & 255) << 16 | (lime_math_RGBA.__clamp[Math.round((destPixel >>> 8 & 255) * lime_math_RGBA.unmult)] & 255) << 8 | destPixel & 255 & 255;
|
|
}
|
|
}
|
|
var format2 = alphaFormat;
|
|
var premultiplied2 = false;
|
|
if(premultiplied2 == null) {
|
|
premultiplied2 = false;
|
|
}
|
|
if(format2 == null) {
|
|
format2 = 0;
|
|
}
|
|
switch(format2) {
|
|
case 0:
|
|
alphaPixel = (alphaData[alphaPosition] & 255) << 24 | (alphaData[alphaPosition + 1] & 255) << 16 | (alphaData[alphaPosition + 2] & 255) << 8 | alphaData[alphaPosition + 3] & 255;
|
|
break;
|
|
case 1:
|
|
alphaPixel = (alphaData[alphaPosition + 1] & 255) << 24 | (alphaData[alphaPosition + 2] & 255) << 16 | (alphaData[alphaPosition + 3] & 255) << 8 | alphaData[alphaPosition] & 255;
|
|
break;
|
|
case 2:
|
|
alphaPixel = (alphaData[alphaPosition + 2] & 255) << 24 | (alphaData[alphaPosition + 1] & 255) << 16 | (alphaData[alphaPosition] & 255) << 8 | alphaData[alphaPosition + 3] & 255;
|
|
break;
|
|
}
|
|
if(premultiplied2) {
|
|
if((alphaPixel & 255) != 0 && (alphaPixel & 255) != 255) {
|
|
lime_math_RGBA.unmult = 255.0 / (alphaPixel & 255);
|
|
alphaPixel = (lime_math_RGBA.__clamp[Math.round((alphaPixel >>> 24 & 255) * lime_math_RGBA.unmult)] & 255) << 24 | (lime_math_RGBA.__clamp[Math.round((alphaPixel >>> 16 & 255) * lime_math_RGBA.unmult)] & 255) << 16 | (lime_math_RGBA.__clamp[Math.round((alphaPixel >>> 8 & 255) * lime_math_RGBA.unmult)] & 255) << 8 | alphaPixel & 255 & 255;
|
|
}
|
|
}
|
|
sourceAlpha = (alphaPixel & 255) / 255.0 * ((sourcePixel & 255) / 255.0);
|
|
if(sourceAlpha > 0) {
|
|
destAlpha = (destPixel & 255) / 255.0;
|
|
oneMinusSourceAlpha = 1 - sourceAlpha;
|
|
blendAlpha = sourceAlpha + destAlpha * oneMinusSourceAlpha;
|
|
var value = lime_math_RGBA.__clamp[Math.round(((sourcePixel >>> 24 & 255) * sourceAlpha + (destPixel >>> 24 & 255) * destAlpha * oneMinusSourceAlpha) / blendAlpha)];
|
|
destPixel = (value & 255) << 24 | (destPixel >>> 16 & 255 & 255) << 16 | (destPixel >>> 8 & 255 & 255) << 8 | destPixel & 255 & 255;
|
|
var value1 = lime_math_RGBA.__clamp[Math.round(((sourcePixel >>> 16 & 255) * sourceAlpha + (destPixel >>> 16 & 255) * destAlpha * oneMinusSourceAlpha) / blendAlpha)];
|
|
destPixel = (destPixel >>> 24 & 255 & 255) << 24 | (value1 & 255) << 16 | (destPixel >>> 8 & 255 & 255) << 8 | destPixel & 255 & 255;
|
|
var value2 = lime_math_RGBA.__clamp[Math.round(((sourcePixel >>> 8 & 255) * sourceAlpha + (destPixel >>> 8 & 255) * destAlpha * oneMinusSourceAlpha) / blendAlpha)];
|
|
destPixel = (destPixel >>> 24 & 255 & 255) << 24 | (destPixel >>> 16 & 255 & 255) << 16 | (value2 & 255) << 8 | destPixel & 255 & 255;
|
|
var value3 = lime_math_RGBA.__clamp[Math.round(blendAlpha * 255.0)];
|
|
destPixel = (destPixel >>> 24 & 255 & 255) << 24 | (destPixel >>> 16 & 255 & 255) << 16 | (destPixel >>> 8 & 255 & 255) << 8 | value3 & 255;
|
|
var format3 = destFormat;
|
|
var premultiplied3 = destPremultiplied;
|
|
if(premultiplied3 == null) {
|
|
premultiplied3 = false;
|
|
}
|
|
if(format3 == null) {
|
|
format3 = 0;
|
|
}
|
|
if(premultiplied3) {
|
|
if((destPixel & 255) == 0) {
|
|
if(destPixel != 0) {
|
|
destPixel = 0;
|
|
}
|
|
} else if((destPixel & 255) != 255) {
|
|
lime_math_RGBA.a16 = lime_math_RGBA.__alpha16[destPixel & 255];
|
|
destPixel = ((destPixel >>> 24 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 24 | ((destPixel >>> 16 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 16 | ((destPixel >>> 8 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 8 | destPixel & 255 & 255;
|
|
}
|
|
}
|
|
switch(format3) {
|
|
case 0:
|
|
destData[destPosition] = destPixel >>> 24 & 255;
|
|
destData[destPosition + 1] = destPixel >>> 16 & 255;
|
|
destData[destPosition + 2] = destPixel >>> 8 & 255;
|
|
destData[destPosition + 3] = destPixel & 255;
|
|
break;
|
|
case 1:
|
|
destData[destPosition] = destPixel & 255;
|
|
destData[destPosition + 1] = destPixel >>> 24 & 255;
|
|
destData[destPosition + 2] = destPixel >>> 16 & 255;
|
|
destData[destPosition + 3] = destPixel >>> 8 & 255;
|
|
break;
|
|
case 2:
|
|
destData[destPosition] = destPixel >>> 8 & 255;
|
|
destData[destPosition + 1] = destPixel >>> 16 & 255;
|
|
destData[destPosition + 2] = destPixel >>> 24 & 255;
|
|
destData[destPosition + 3] = destPixel & 255;
|
|
break;
|
|
}
|
|
}
|
|
sourcePosition += 4;
|
|
destPosition += 4;
|
|
alphaPosition += 4;
|
|
}
|
|
}
|
|
} else {
|
|
var _g = 0;
|
|
var _g1 = destView.height;
|
|
while(_g < _g1) {
|
|
var y = _g++;
|
|
sourcePosition = sourceView.byteOffset + sourceView.stride * y;
|
|
destPosition = destView.byteOffset + destView.stride * y;
|
|
alphaPosition = alphaView.byteOffset + alphaView.stride * y;
|
|
var _g2 = 0;
|
|
var _g3 = destView.width;
|
|
while(_g2 < _g3) {
|
|
var x = _g2++;
|
|
var format = sourceFormat;
|
|
var premultiplied = sourcePremultiplied;
|
|
if(premultiplied == null) {
|
|
premultiplied = false;
|
|
}
|
|
if(format == null) {
|
|
format = 0;
|
|
}
|
|
switch(format) {
|
|
case 0:
|
|
sourcePixel = (sourceData[sourcePosition] & 255) << 24 | (sourceData[sourcePosition + 1] & 255) << 16 | (sourceData[sourcePosition + 2] & 255) << 8 | sourceData[sourcePosition + 3] & 255;
|
|
break;
|
|
case 1:
|
|
sourcePixel = (sourceData[sourcePosition + 1] & 255) << 24 | (sourceData[sourcePosition + 2] & 255) << 16 | (sourceData[sourcePosition + 3] & 255) << 8 | sourceData[sourcePosition] & 255;
|
|
break;
|
|
case 2:
|
|
sourcePixel = (sourceData[sourcePosition + 2] & 255) << 24 | (sourceData[sourcePosition + 1] & 255) << 16 | (sourceData[sourcePosition] & 255) << 8 | sourceData[sourcePosition + 3] & 255;
|
|
break;
|
|
}
|
|
if(premultiplied) {
|
|
if((sourcePixel & 255) != 0 && (sourcePixel & 255) != 255) {
|
|
lime_math_RGBA.unmult = 255.0 / (sourcePixel & 255);
|
|
sourcePixel = (lime_math_RGBA.__clamp[Math.round((sourcePixel >>> 24 & 255) * lime_math_RGBA.unmult)] & 255) << 24 | (lime_math_RGBA.__clamp[Math.round((sourcePixel >>> 16 & 255) * lime_math_RGBA.unmult)] & 255) << 16 | (lime_math_RGBA.__clamp[Math.round((sourcePixel >>> 8 & 255) * lime_math_RGBA.unmult)] & 255) << 8 | sourcePixel & 255 & 255;
|
|
}
|
|
}
|
|
var format1 = alphaFormat;
|
|
var premultiplied1 = false;
|
|
if(premultiplied1 == null) {
|
|
premultiplied1 = false;
|
|
}
|
|
if(format1 == null) {
|
|
format1 = 0;
|
|
}
|
|
switch(format1) {
|
|
case 0:
|
|
alphaPixel = (alphaData[alphaPosition] & 255) << 24 | (alphaData[alphaPosition + 1] & 255) << 16 | (alphaData[alphaPosition + 2] & 255) << 8 | alphaData[alphaPosition + 3] & 255;
|
|
break;
|
|
case 1:
|
|
alphaPixel = (alphaData[alphaPosition + 1] & 255) << 24 | (alphaData[alphaPosition + 2] & 255) << 16 | (alphaData[alphaPosition + 3] & 255) << 8 | alphaData[alphaPosition] & 255;
|
|
break;
|
|
case 2:
|
|
alphaPixel = (alphaData[alphaPosition + 2] & 255) << 24 | (alphaData[alphaPosition + 1] & 255) << 16 | (alphaData[alphaPosition] & 255) << 8 | alphaData[alphaPosition + 3] & 255;
|
|
break;
|
|
}
|
|
if(premultiplied1) {
|
|
if((alphaPixel & 255) != 0 && (alphaPixel & 255) != 255) {
|
|
lime_math_RGBA.unmult = 255.0 / (alphaPixel & 255);
|
|
alphaPixel = (lime_math_RGBA.__clamp[Math.round((alphaPixel >>> 24 & 255) * lime_math_RGBA.unmult)] & 255) << 24 | (lime_math_RGBA.__clamp[Math.round((alphaPixel >>> 16 & 255) * lime_math_RGBA.unmult)] & 255) << 16 | (lime_math_RGBA.__clamp[Math.round((alphaPixel >>> 8 & 255) * lime_math_RGBA.unmult)] & 255) << 8 | alphaPixel & 255 & 255;
|
|
}
|
|
}
|
|
var value = Math.round((sourcePixel & 255) * ((alphaPixel & 255) / 255));
|
|
sourcePixel = (sourcePixel >>> 24 & 255 & 255) << 24 | (sourcePixel >>> 16 & 255 & 255) << 16 | (sourcePixel >>> 8 & 255 & 255) << 8 | value & 255;
|
|
var format2 = destFormat;
|
|
var premultiplied2 = destPremultiplied;
|
|
if(premultiplied2 == null) {
|
|
premultiplied2 = false;
|
|
}
|
|
if(format2 == null) {
|
|
format2 = 0;
|
|
}
|
|
if(premultiplied2) {
|
|
if((sourcePixel & 255) == 0) {
|
|
if(sourcePixel != 0) {
|
|
sourcePixel = 0;
|
|
}
|
|
} else if((sourcePixel & 255) != 255) {
|
|
lime_math_RGBA.a16 = lime_math_RGBA.__alpha16[sourcePixel & 255];
|
|
sourcePixel = ((sourcePixel >>> 24 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 24 | ((sourcePixel >>> 16 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 16 | ((sourcePixel >>> 8 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 8 | sourcePixel & 255 & 255;
|
|
}
|
|
}
|
|
switch(format2) {
|
|
case 0:
|
|
destData[destPosition] = sourcePixel >>> 24 & 255;
|
|
destData[destPosition + 1] = sourcePixel >>> 16 & 255;
|
|
destData[destPosition + 2] = sourcePixel >>> 8 & 255;
|
|
destData[destPosition + 3] = sourcePixel & 255;
|
|
break;
|
|
case 1:
|
|
destData[destPosition] = sourcePixel & 255;
|
|
destData[destPosition + 1] = sourcePixel >>> 24 & 255;
|
|
destData[destPosition + 2] = sourcePixel >>> 16 & 255;
|
|
destData[destPosition + 3] = sourcePixel >>> 8 & 255;
|
|
break;
|
|
case 2:
|
|
destData[destPosition] = sourcePixel >>> 8 & 255;
|
|
destData[destPosition + 1] = sourcePixel >>> 16 & 255;
|
|
destData[destPosition + 2] = sourcePixel >>> 24 & 255;
|
|
destData[destPosition + 3] = sourcePixel & 255;
|
|
break;
|
|
}
|
|
sourcePosition += 4;
|
|
destPosition += 4;
|
|
alphaPosition += 4;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
image.dirty = true;
|
|
image.version++;
|
|
};
|
|
lime__$internal_graphics_ImageDataUtil.fillRect = function(image,rect,color,format) {
|
|
var fillColor;
|
|
switch(format) {
|
|
case 1:
|
|
var argb = color;
|
|
var this1 = 0;
|
|
var rgba = this1;
|
|
rgba = (argb >>> 16 & 255 & 255) << 24 | (argb >>> 8 & 255 & 255) << 16 | (argb & 255 & 255) << 8 | argb >>> 24 & 255 & 255;
|
|
fillColor = rgba;
|
|
break;
|
|
case 2:
|
|
var bgra = color;
|
|
var this1 = 0;
|
|
var rgba = this1;
|
|
rgba = (bgra >>> 8 & 255 & 255) << 24 | (bgra >>> 16 & 255 & 255) << 16 | (bgra >>> 24 & 255 & 255) << 8 | bgra & 255 & 255;
|
|
fillColor = rgba;
|
|
break;
|
|
default:
|
|
fillColor = color;
|
|
}
|
|
if(!image.get_transparent()) {
|
|
fillColor = (fillColor >>> 24 & 255 & 255) << 24 | (fillColor >>> 16 & 255 & 255) << 16 | (fillColor >>> 8 & 255 & 255) << 8 | 255;
|
|
}
|
|
var data = image.buffer.data;
|
|
if(data == null) {
|
|
return;
|
|
}
|
|
var format = image.buffer.format;
|
|
var premultiplied = image.buffer.premultiplied;
|
|
if(premultiplied) {
|
|
if((fillColor & 255) == 0) {
|
|
if(fillColor != 0) {
|
|
fillColor = 0;
|
|
}
|
|
} else if((fillColor & 255) != 255) {
|
|
lime_math_RGBA.a16 = lime_math_RGBA.__alpha16[fillColor & 255];
|
|
fillColor = ((fillColor >>> 24 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 24 | ((fillColor >>> 16 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 16 | ((fillColor >>> 8 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 8 | fillColor & 255 & 255;
|
|
}
|
|
}
|
|
var dataView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(image,rect);
|
|
var row;
|
|
var _g = 0;
|
|
var _g1 = dataView.height;
|
|
while(_g < _g1) {
|
|
var y = _g++;
|
|
row = dataView.byteOffset + dataView.stride * y;
|
|
var _g2 = 0;
|
|
var _g3 = dataView.width;
|
|
while(_g2 < _g3) {
|
|
var x = _g2++;
|
|
var offset = row + x * 4;
|
|
var format1 = format;
|
|
var premultiplied = false;
|
|
if(premultiplied == null) {
|
|
premultiplied = false;
|
|
}
|
|
if(format1 == null) {
|
|
format1 = 0;
|
|
}
|
|
if(premultiplied) {
|
|
if((fillColor & 255) == 0) {
|
|
if(fillColor != 0) {
|
|
fillColor = 0;
|
|
}
|
|
} else if((fillColor & 255) != 255) {
|
|
lime_math_RGBA.a16 = lime_math_RGBA.__alpha16[fillColor & 255];
|
|
fillColor = ((fillColor >>> 24 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 24 | ((fillColor >>> 16 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 16 | ((fillColor >>> 8 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 8 | fillColor & 255 & 255;
|
|
}
|
|
}
|
|
switch(format1) {
|
|
case 0:
|
|
data[offset] = fillColor >>> 24 & 255;
|
|
data[offset + 1] = fillColor >>> 16 & 255;
|
|
data[offset + 2] = fillColor >>> 8 & 255;
|
|
data[offset + 3] = fillColor & 255;
|
|
break;
|
|
case 1:
|
|
data[offset] = fillColor & 255;
|
|
data[offset + 1] = fillColor >>> 24 & 255;
|
|
data[offset + 2] = fillColor >>> 16 & 255;
|
|
data[offset + 3] = fillColor >>> 8 & 255;
|
|
break;
|
|
case 2:
|
|
data[offset] = fillColor >>> 8 & 255;
|
|
data[offset + 1] = fillColor >>> 16 & 255;
|
|
data[offset + 2] = fillColor >>> 24 & 255;
|
|
data[offset + 3] = fillColor & 255;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
image.dirty = true;
|
|
image.version++;
|
|
};
|
|
lime__$internal_graphics_ImageDataUtil.floodFill = function(image,x,y,color,format) {
|
|
var data = image.buffer.data;
|
|
if(data == null) {
|
|
return;
|
|
}
|
|
if(format == 1) {
|
|
color = (color & 16777215) << 8 | color >> 24 & 255;
|
|
}
|
|
var format = image.buffer.format;
|
|
var premultiplied = image.buffer.premultiplied;
|
|
var fillColor = color;
|
|
var hitColor = 0;
|
|
var offset = (y + image.offsetY) * (image.buffer.width * 4) + (x + image.offsetX) * 4;
|
|
var format1 = format;
|
|
var premultiplied1 = premultiplied;
|
|
if(premultiplied1 == null) {
|
|
premultiplied1 = false;
|
|
}
|
|
if(format1 == null) {
|
|
format1 = 0;
|
|
}
|
|
switch(format1) {
|
|
case 0:
|
|
hitColor = (data[offset] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset + 2] & 255) << 8 | data[offset + 3] & 255;
|
|
break;
|
|
case 1:
|
|
hitColor = (data[offset + 1] & 255) << 24 | (data[offset + 2] & 255) << 16 | (data[offset + 3] & 255) << 8 | data[offset] & 255;
|
|
break;
|
|
case 2:
|
|
hitColor = (data[offset + 2] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset] & 255) << 8 | data[offset + 3] & 255;
|
|
break;
|
|
}
|
|
if(premultiplied1) {
|
|
if((hitColor & 255) != 0 && (hitColor & 255) != 255) {
|
|
lime_math_RGBA.unmult = 255.0 / (hitColor & 255);
|
|
hitColor = (lime_math_RGBA.__clamp[Math.round((hitColor >>> 24 & 255) * lime_math_RGBA.unmult)] & 255) << 24 | (lime_math_RGBA.__clamp[Math.round((hitColor >>> 16 & 255) * lime_math_RGBA.unmult)] & 255) << 16 | (lime_math_RGBA.__clamp[Math.round((hitColor >>> 8 & 255) * lime_math_RGBA.unmult)] & 255) << 8 | hitColor & 255 & 255;
|
|
}
|
|
}
|
|
if(!image.get_transparent()) {
|
|
fillColor = (fillColor >>> 24 & 255 & 255) << 24 | (fillColor >>> 16 & 255 & 255) << 16 | (fillColor >>> 8 & 255 & 255) << 8 | 255;
|
|
hitColor = (hitColor >>> 24 & 255 & 255) << 24 | (hitColor >>> 16 & 255 & 255) << 16 | (hitColor >>> 8 & 255 & 255) << 8 | 255;
|
|
}
|
|
if(fillColor == hitColor) {
|
|
return;
|
|
}
|
|
if(premultiplied) {
|
|
if((fillColor & 255) == 0) {
|
|
if(fillColor != 0) {
|
|
fillColor = 0;
|
|
}
|
|
} else if((fillColor & 255) != 255) {
|
|
lime_math_RGBA.a16 = lime_math_RGBA.__alpha16[fillColor & 255];
|
|
fillColor = ((fillColor >>> 24 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 24 | ((fillColor >>> 16 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 16 | ((fillColor >>> 8 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 8 | fillColor & 255 & 255;
|
|
}
|
|
}
|
|
var dx = [0,-1,1,0];
|
|
var dy = [-1,0,0,1];
|
|
var minX = -image.offsetX;
|
|
var minY = -image.offsetY;
|
|
var maxX = minX + image.width;
|
|
var maxY = minY + image.height;
|
|
var queue = [];
|
|
queue.push(x);
|
|
queue.push(y);
|
|
var curPointX;
|
|
var curPointY;
|
|
var nextPointX;
|
|
var nextPointY;
|
|
var nextPointOffset;
|
|
var readColor = 0;
|
|
while(queue.length > 0) {
|
|
curPointY = queue.pop();
|
|
curPointX = queue.pop();
|
|
var _g = 0;
|
|
while(_g < 4) {
|
|
var i = _g++;
|
|
nextPointX = curPointX + dx[i];
|
|
nextPointY = curPointY + dy[i];
|
|
if(nextPointX < minX || nextPointY < minY || nextPointX >= maxX || nextPointY >= maxY) {
|
|
continue;
|
|
}
|
|
nextPointOffset = (nextPointY * image.width + nextPointX) * 4;
|
|
var format1 = format;
|
|
var premultiplied1 = premultiplied;
|
|
if(premultiplied1 == null) {
|
|
premultiplied1 = false;
|
|
}
|
|
if(format1 == null) {
|
|
format1 = 0;
|
|
}
|
|
switch(format1) {
|
|
case 0:
|
|
readColor = (data[nextPointOffset] & 255) << 24 | (data[nextPointOffset + 1] & 255) << 16 | (data[nextPointOffset + 2] & 255) << 8 | data[nextPointOffset + 3] & 255;
|
|
break;
|
|
case 1:
|
|
readColor = (data[nextPointOffset + 1] & 255) << 24 | (data[nextPointOffset + 2] & 255) << 16 | (data[nextPointOffset + 3] & 255) << 8 | data[nextPointOffset] & 255;
|
|
break;
|
|
case 2:
|
|
readColor = (data[nextPointOffset + 2] & 255) << 24 | (data[nextPointOffset + 1] & 255) << 16 | (data[nextPointOffset] & 255) << 8 | data[nextPointOffset + 3] & 255;
|
|
break;
|
|
}
|
|
if(premultiplied1) {
|
|
if((readColor & 255) != 0 && (readColor & 255) != 255) {
|
|
lime_math_RGBA.unmult = 255.0 / (readColor & 255);
|
|
readColor = (lime_math_RGBA.__clamp[Math.round((readColor >>> 24 & 255) * lime_math_RGBA.unmult)] & 255) << 24 | (lime_math_RGBA.__clamp[Math.round((readColor >>> 16 & 255) * lime_math_RGBA.unmult)] & 255) << 16 | (lime_math_RGBA.__clamp[Math.round((readColor >>> 8 & 255) * lime_math_RGBA.unmult)] & 255) << 8 | readColor & 255 & 255;
|
|
}
|
|
}
|
|
if(readColor == hitColor) {
|
|
var format2 = format;
|
|
var premultiplied2 = false;
|
|
if(premultiplied2 == null) {
|
|
premultiplied2 = false;
|
|
}
|
|
if(format2 == null) {
|
|
format2 = 0;
|
|
}
|
|
if(premultiplied2) {
|
|
if((fillColor & 255) == 0) {
|
|
if(fillColor != 0) {
|
|
fillColor = 0;
|
|
}
|
|
} else if((fillColor & 255) != 255) {
|
|
lime_math_RGBA.a16 = lime_math_RGBA.__alpha16[fillColor & 255];
|
|
fillColor = ((fillColor >>> 24 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 24 | ((fillColor >>> 16 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 16 | ((fillColor >>> 8 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 8 | fillColor & 255 & 255;
|
|
}
|
|
}
|
|
switch(format2) {
|
|
case 0:
|
|
data[nextPointOffset] = fillColor >>> 24 & 255;
|
|
data[nextPointOffset + 1] = fillColor >>> 16 & 255;
|
|
data[nextPointOffset + 2] = fillColor >>> 8 & 255;
|
|
data[nextPointOffset + 3] = fillColor & 255;
|
|
break;
|
|
case 1:
|
|
data[nextPointOffset] = fillColor & 255;
|
|
data[nextPointOffset + 1] = fillColor >>> 24 & 255;
|
|
data[nextPointOffset + 2] = fillColor >>> 16 & 255;
|
|
data[nextPointOffset + 3] = fillColor >>> 8 & 255;
|
|
break;
|
|
case 2:
|
|
data[nextPointOffset] = fillColor >>> 8 & 255;
|
|
data[nextPointOffset + 1] = fillColor >>> 16 & 255;
|
|
data[nextPointOffset + 2] = fillColor >>> 24 & 255;
|
|
data[nextPointOffset + 3] = fillColor & 255;
|
|
break;
|
|
}
|
|
queue.push(nextPointX);
|
|
queue.push(nextPointY);
|
|
}
|
|
}
|
|
}
|
|
image.dirty = true;
|
|
image.version++;
|
|
};
|
|
lime__$internal_graphics_ImageDataUtil.gaussianBlur = function(image,sourceImage,sourceRect,destPoint,blurX,blurY,quality,strength,color) {
|
|
if(strength == null) {
|
|
strength = 1;
|
|
}
|
|
if(quality == null) {
|
|
quality = 1;
|
|
}
|
|
if(blurY == null) {
|
|
blurY = 4;
|
|
}
|
|
if(blurX == null) {
|
|
blurX = 4;
|
|
}
|
|
var imagePremultiplied = image.get_premultiplied();
|
|
if(imagePremultiplied) {
|
|
image.set_premultiplied(false);
|
|
}
|
|
lime__$internal_graphics_StackBlur.blur(image,sourceImage,sourceRect,destPoint,blurX,blurY,quality);
|
|
image.dirty = true;
|
|
image.version++;
|
|
if(imagePremultiplied) {
|
|
image.set_premultiplied(true);
|
|
}
|
|
return image;
|
|
};
|
|
lime__$internal_graphics_ImageDataUtil.getColorBoundsRect = function(image,mask,color,findColor,format) {
|
|
var left = image.width + 1;
|
|
var right = 0;
|
|
var top = image.height + 1;
|
|
var bottom = 0;
|
|
var _color;
|
|
var _mask;
|
|
switch(format) {
|
|
case 1:
|
|
var argb = color;
|
|
var this1 = 0;
|
|
var rgba = this1;
|
|
rgba = (argb >>> 16 & 255 & 255) << 24 | (argb >>> 8 & 255 & 255) << 16 | (argb & 255 & 255) << 8 | argb >>> 24 & 255 & 255;
|
|
_color = rgba;
|
|
var argb = mask;
|
|
var this1 = 0;
|
|
var rgba = this1;
|
|
rgba = (argb >>> 16 & 255 & 255) << 24 | (argb >>> 8 & 255 & 255) << 16 | (argb & 255 & 255) << 8 | argb >>> 24 & 255 & 255;
|
|
_mask = rgba;
|
|
break;
|
|
case 2:
|
|
var bgra = color;
|
|
var this1 = 0;
|
|
var rgba = this1;
|
|
rgba = (bgra >>> 8 & 255 & 255) << 24 | (bgra >>> 16 & 255 & 255) << 16 | (bgra >>> 24 & 255 & 255) << 8 | bgra & 255 & 255;
|
|
_color = rgba;
|
|
var bgra = mask;
|
|
var this1 = 0;
|
|
var rgba = this1;
|
|
rgba = (bgra >>> 8 & 255 & 255) << 24 | (bgra >>> 16 & 255 & 255) << 16 | (bgra >>> 24 & 255 & 255) << 8 | bgra & 255 & 255;
|
|
_mask = rgba;
|
|
break;
|
|
default:
|
|
_color = color;
|
|
_mask = mask;
|
|
}
|
|
if(!image.get_transparent()) {
|
|
_color = (_color >>> 24 & 255 & 255) << 24 | (_color >>> 16 & 255 & 255) << 16 | (_color >>> 8 & 255 & 255) << 8 | 255;
|
|
_mask = (_mask >>> 24 & 255 & 255) << 24 | (_mask >>> 16 & 255 & 255) << 16 | (_mask >>> 8 & 255 & 255) << 8 | 255;
|
|
}
|
|
var pixel;
|
|
var hit;
|
|
var _g = 0;
|
|
var _g1 = image.width;
|
|
while(_g < _g1) {
|
|
var x = _g++;
|
|
hit = false;
|
|
var _g2 = 0;
|
|
var _g3 = image.height;
|
|
while(_g2 < _g3) {
|
|
var y = _g2++;
|
|
pixel = image.getPixel32(x,y,0);
|
|
hit = findColor ? (pixel & _mask) == _color : (pixel & _mask) != _color;
|
|
if(hit) {
|
|
if(x < left) {
|
|
left = x;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
if(hit) {
|
|
break;
|
|
}
|
|
}
|
|
var ix;
|
|
var _g = 0;
|
|
var _g1 = image.width;
|
|
while(_g < _g1) {
|
|
var x = _g++;
|
|
ix = image.width - 1 - x;
|
|
hit = false;
|
|
var _g2 = 0;
|
|
var _g3 = image.height;
|
|
while(_g2 < _g3) {
|
|
var y = _g2++;
|
|
pixel = image.getPixel32(ix,y,0);
|
|
hit = findColor ? (pixel & _mask) == _color : (pixel & _mask) != _color;
|
|
if(hit) {
|
|
if(ix > right) {
|
|
right = ix;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
if(hit) {
|
|
break;
|
|
}
|
|
}
|
|
var _g = 0;
|
|
var _g1 = image.height;
|
|
while(_g < _g1) {
|
|
var y = _g++;
|
|
hit = false;
|
|
var _g2 = 0;
|
|
var _g3 = image.width;
|
|
while(_g2 < _g3) {
|
|
var x = _g2++;
|
|
pixel = image.getPixel32(x,y,0);
|
|
hit = findColor ? (pixel & _mask) == _color : (pixel & _mask) != _color;
|
|
if(hit) {
|
|
if(y < top) {
|
|
top = y;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
if(hit) {
|
|
break;
|
|
}
|
|
}
|
|
var iy;
|
|
var _g = 0;
|
|
var _g1 = image.height;
|
|
while(_g < _g1) {
|
|
var y = _g++;
|
|
iy = image.height - 1 - y;
|
|
hit = false;
|
|
var _g2 = 0;
|
|
var _g3 = image.width;
|
|
while(_g2 < _g3) {
|
|
var x = _g2++;
|
|
pixel = image.getPixel32(x,iy,0);
|
|
hit = findColor ? (pixel & _mask) == _color : (pixel & _mask) != _color;
|
|
if(hit) {
|
|
if(iy > bottom) {
|
|
bottom = iy;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
if(hit) {
|
|
break;
|
|
}
|
|
}
|
|
var w = right - left;
|
|
var h = bottom - top;
|
|
if(w > 0) {
|
|
++w;
|
|
}
|
|
if(h > 0) {
|
|
++h;
|
|
}
|
|
if(w < 0) {
|
|
w = 0;
|
|
}
|
|
if(h < 0) {
|
|
h = 0;
|
|
}
|
|
if(left == right) {
|
|
w = 1;
|
|
}
|
|
if(top == bottom) {
|
|
h = 1;
|
|
}
|
|
if(left > image.width) {
|
|
left = 0;
|
|
}
|
|
if(top > image.height) {
|
|
top = 0;
|
|
}
|
|
return new lime_math_Rectangle(left,top,w,h);
|
|
};
|
|
lime__$internal_graphics_ImageDataUtil.getPixel = function(image,x,y,format) {
|
|
var pixel = 0;
|
|
var data = image.buffer.data;
|
|
var offset = 4 * (y + image.offsetY) * image.buffer.width + (x + image.offsetX) * 4;
|
|
var format1 = image.buffer.format;
|
|
var premultiplied = image.buffer.premultiplied;
|
|
if(premultiplied == null) {
|
|
premultiplied = false;
|
|
}
|
|
if(format1 == null) {
|
|
format1 = 0;
|
|
}
|
|
switch(format1) {
|
|
case 0:
|
|
pixel = (data[offset] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset + 2] & 255) << 8 | data[offset + 3] & 255;
|
|
break;
|
|
case 1:
|
|
pixel = (data[offset + 1] & 255) << 24 | (data[offset + 2] & 255) << 16 | (data[offset + 3] & 255) << 8 | data[offset] & 255;
|
|
break;
|
|
case 2:
|
|
pixel = (data[offset + 2] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset] & 255) << 8 | data[offset + 3] & 255;
|
|
break;
|
|
}
|
|
if(premultiplied) {
|
|
if((pixel & 255) != 0 && (pixel & 255) != 255) {
|
|
lime_math_RGBA.unmult = 255.0 / (pixel & 255);
|
|
pixel = (lime_math_RGBA.__clamp[Math.round((pixel >>> 24 & 255) * lime_math_RGBA.unmult)] & 255) << 24 | (lime_math_RGBA.__clamp[Math.round((pixel >>> 16 & 255) * lime_math_RGBA.unmult)] & 255) << 16 | (lime_math_RGBA.__clamp[Math.round((pixel >>> 8 & 255) * lime_math_RGBA.unmult)] & 255) << 8 | pixel & 255 & 255;
|
|
}
|
|
}
|
|
pixel = (pixel >>> 24 & 255 & 255) << 24 | (pixel >>> 16 & 255 & 255) << 16 | (pixel >>> 8 & 255 & 255) << 8 | 0;
|
|
switch(format) {
|
|
case 1:
|
|
var this1 = 0;
|
|
var argb = this1;
|
|
argb = (pixel & 255 & 255) << 24 | (pixel >>> 24 & 255 & 255) << 16 | (pixel >>> 16 & 255 & 255) << 8 | pixel >>> 8 & 255 & 255;
|
|
return argb;
|
|
case 2:
|
|
var this1 = 0;
|
|
var bgra = this1;
|
|
bgra = (pixel >>> 8 & 255 & 255) << 24 | (pixel >>> 16 & 255 & 255) << 16 | (pixel >>> 24 & 255 & 255) << 8 | pixel & 255 & 255;
|
|
return bgra;
|
|
default:
|
|
return pixel;
|
|
}
|
|
};
|
|
lime__$internal_graphics_ImageDataUtil.getPixel32 = function(image,x,y,format) {
|
|
var pixel = 0;
|
|
var data = image.buffer.data;
|
|
var offset = 4 * (y + image.offsetY) * image.buffer.width + (x + image.offsetX) * 4;
|
|
var format1 = image.buffer.format;
|
|
var premultiplied = image.buffer.premultiplied;
|
|
if(premultiplied == null) {
|
|
premultiplied = false;
|
|
}
|
|
if(format1 == null) {
|
|
format1 = 0;
|
|
}
|
|
switch(format1) {
|
|
case 0:
|
|
pixel = (data[offset] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset + 2] & 255) << 8 | data[offset + 3] & 255;
|
|
break;
|
|
case 1:
|
|
pixel = (data[offset + 1] & 255) << 24 | (data[offset + 2] & 255) << 16 | (data[offset + 3] & 255) << 8 | data[offset] & 255;
|
|
break;
|
|
case 2:
|
|
pixel = (data[offset + 2] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset] & 255) << 8 | data[offset + 3] & 255;
|
|
break;
|
|
}
|
|
if(premultiplied) {
|
|
if((pixel & 255) != 0 && (pixel & 255) != 255) {
|
|
lime_math_RGBA.unmult = 255.0 / (pixel & 255);
|
|
pixel = (lime_math_RGBA.__clamp[Math.round((pixel >>> 24 & 255) * lime_math_RGBA.unmult)] & 255) << 24 | (lime_math_RGBA.__clamp[Math.round((pixel >>> 16 & 255) * lime_math_RGBA.unmult)] & 255) << 16 | (lime_math_RGBA.__clamp[Math.round((pixel >>> 8 & 255) * lime_math_RGBA.unmult)] & 255) << 8 | pixel & 255 & 255;
|
|
}
|
|
}
|
|
switch(format) {
|
|
case 1:
|
|
var this1 = 0;
|
|
var argb = this1;
|
|
argb = (pixel & 255 & 255) << 24 | (pixel >>> 24 & 255 & 255) << 16 | (pixel >>> 16 & 255 & 255) << 8 | pixel >>> 8 & 255 & 255;
|
|
return argb;
|
|
case 2:
|
|
var this1 = 0;
|
|
var bgra = this1;
|
|
bgra = (pixel >>> 8 & 255 & 255) << 24 | (pixel >>> 16 & 255 & 255) << 16 | (pixel >>> 24 & 255 & 255) << 8 | pixel & 255 & 255;
|
|
return bgra;
|
|
default:
|
|
return pixel;
|
|
}
|
|
};
|
|
lime__$internal_graphics_ImageDataUtil.getPixels = function(image,rect,format) {
|
|
if(image.buffer.data == null) {
|
|
return null;
|
|
}
|
|
var length = rect.width * rect.height | 0;
|
|
var bytes = new haxe_io_Bytes(new ArrayBuffer(length * 4));
|
|
var data = image.buffer.data;
|
|
var sourceFormat = image.buffer.format;
|
|
var premultiplied = image.buffer.premultiplied;
|
|
var dataView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(image,rect);
|
|
var position;
|
|
var argb = 0;
|
|
var bgra = 0;
|
|
var pixel = 0;
|
|
var destPosition = 0;
|
|
var _g = 0;
|
|
var _g1 = dataView.height;
|
|
while(_g < _g1) {
|
|
var y = _g++;
|
|
position = dataView.byteOffset + dataView.stride * y;
|
|
var _g2 = 0;
|
|
var _g3 = dataView.width;
|
|
while(_g2 < _g3) {
|
|
var x = _g2++;
|
|
var format1 = sourceFormat;
|
|
var premultiplied1 = premultiplied;
|
|
if(premultiplied1 == null) {
|
|
premultiplied1 = false;
|
|
}
|
|
if(format1 == null) {
|
|
format1 = 0;
|
|
}
|
|
switch(format1) {
|
|
case 0:
|
|
pixel = (data[position] & 255) << 24 | (data[position + 1] & 255) << 16 | (data[position + 2] & 255) << 8 | data[position + 3] & 255;
|
|
break;
|
|
case 1:
|
|
pixel = (data[position + 1] & 255) << 24 | (data[position + 2] & 255) << 16 | (data[position + 3] & 255) << 8 | data[position] & 255;
|
|
break;
|
|
case 2:
|
|
pixel = (data[position + 2] & 255) << 24 | (data[position + 1] & 255) << 16 | (data[position] & 255) << 8 | data[position + 3] & 255;
|
|
break;
|
|
}
|
|
if(premultiplied1) {
|
|
if((pixel & 255) != 0 && (pixel & 255) != 255) {
|
|
lime_math_RGBA.unmult = 255.0 / (pixel & 255);
|
|
pixel = (lime_math_RGBA.__clamp[Math.round((pixel >>> 24 & 255) * lime_math_RGBA.unmult)] & 255) << 24 | (lime_math_RGBA.__clamp[Math.round((pixel >>> 16 & 255) * lime_math_RGBA.unmult)] & 255) << 16 | (lime_math_RGBA.__clamp[Math.round((pixel >>> 8 & 255) * lime_math_RGBA.unmult)] & 255) << 8 | pixel & 255 & 255;
|
|
}
|
|
}
|
|
switch(format) {
|
|
case 1:
|
|
var this1 = 0;
|
|
var argb1 = this1;
|
|
argb1 = (pixel & 255 & 255) << 24 | (pixel >>> 24 & 255 & 255) << 16 | (pixel >>> 16 & 255 & 255) << 8 | pixel >>> 8 & 255 & 255;
|
|
argb = argb1;
|
|
pixel = argb;
|
|
break;
|
|
case 2:
|
|
var this2 = 0;
|
|
var bgra1 = this2;
|
|
bgra1 = (pixel >>> 8 & 255 & 255) << 24 | (pixel >>> 16 & 255 & 255) << 16 | (pixel >>> 24 & 255 & 255) << 8 | pixel & 255 & 255;
|
|
bgra = bgra1;
|
|
pixel = bgra;
|
|
break;
|
|
default:
|
|
}
|
|
bytes.b[destPosition++] = pixel >>> 24 & 255 & 255;
|
|
bytes.b[destPosition++] = pixel >>> 16 & 255 & 255;
|
|
bytes.b[destPosition++] = pixel >>> 8 & 255 & 255;
|
|
bytes.b[destPosition++] = pixel & 255 & 255;
|
|
position += 4;
|
|
}
|
|
}
|
|
return bytes;
|
|
};
|
|
lime__$internal_graphics_ImageDataUtil.merge = function(image,sourceImage,sourceRect,destPoint,redMultiplier,greenMultiplier,blueMultiplier,alphaMultiplier) {
|
|
if(image.buffer.data == null || sourceImage.buffer.data == null) {
|
|
return;
|
|
}
|
|
var sourceView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(sourceImage,sourceRect);
|
|
var destView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(image,new lime_math_Rectangle(destPoint.x,destPoint.y,sourceView.width,sourceView.height));
|
|
var sourceData = sourceImage.buffer.data;
|
|
var destData = image.buffer.data;
|
|
var sourceFormat = sourceImage.buffer.format;
|
|
var destFormat = image.buffer.format;
|
|
var sourcePremultiplied = sourceImage.buffer.premultiplied;
|
|
var destPremultiplied = image.buffer.premultiplied;
|
|
var sourcePosition;
|
|
var destPosition;
|
|
var sourcePixel = 0;
|
|
var destPixel = 0;
|
|
var _g = 0;
|
|
var _g1 = destView.height;
|
|
while(_g < _g1) {
|
|
var y = _g++;
|
|
sourcePosition = sourceView.byteOffset + sourceView.stride * y;
|
|
destPosition = destView.byteOffset + destView.stride * y;
|
|
var _g2 = 0;
|
|
var _g3 = destView.width;
|
|
while(_g2 < _g3) {
|
|
var x = _g2++;
|
|
var format = sourceFormat;
|
|
var premultiplied = sourcePremultiplied;
|
|
if(premultiplied == null) {
|
|
premultiplied = false;
|
|
}
|
|
if(format == null) {
|
|
format = 0;
|
|
}
|
|
switch(format) {
|
|
case 0:
|
|
sourcePixel = (sourceData[sourcePosition] & 255) << 24 | (sourceData[sourcePosition + 1] & 255) << 16 | (sourceData[sourcePosition + 2] & 255) << 8 | sourceData[sourcePosition + 3] & 255;
|
|
break;
|
|
case 1:
|
|
sourcePixel = (sourceData[sourcePosition + 1] & 255) << 24 | (sourceData[sourcePosition + 2] & 255) << 16 | (sourceData[sourcePosition + 3] & 255) << 8 | sourceData[sourcePosition] & 255;
|
|
break;
|
|
case 2:
|
|
sourcePixel = (sourceData[sourcePosition + 2] & 255) << 24 | (sourceData[sourcePosition + 1] & 255) << 16 | (sourceData[sourcePosition] & 255) << 8 | sourceData[sourcePosition + 3] & 255;
|
|
break;
|
|
}
|
|
if(premultiplied) {
|
|
if((sourcePixel & 255) != 0 && (sourcePixel & 255) != 255) {
|
|
lime_math_RGBA.unmult = 255.0 / (sourcePixel & 255);
|
|
sourcePixel = (lime_math_RGBA.__clamp[Math.round((sourcePixel >>> 24 & 255) * lime_math_RGBA.unmult)] & 255) << 24 | (lime_math_RGBA.__clamp[Math.round((sourcePixel >>> 16 & 255) * lime_math_RGBA.unmult)] & 255) << 16 | (lime_math_RGBA.__clamp[Math.round((sourcePixel >>> 8 & 255) * lime_math_RGBA.unmult)] & 255) << 8 | sourcePixel & 255 & 255;
|
|
}
|
|
}
|
|
var format1 = destFormat;
|
|
var premultiplied1 = destPremultiplied;
|
|
if(premultiplied1 == null) {
|
|
premultiplied1 = false;
|
|
}
|
|
if(format1 == null) {
|
|
format1 = 0;
|
|
}
|
|
switch(format1) {
|
|
case 0:
|
|
destPixel = (destData[destPosition] & 255) << 24 | (destData[destPosition + 1] & 255) << 16 | (destData[destPosition + 2] & 255) << 8 | destData[destPosition + 3] & 255;
|
|
break;
|
|
case 1:
|
|
destPixel = (destData[destPosition + 1] & 255) << 24 | (destData[destPosition + 2] & 255) << 16 | (destData[destPosition + 3] & 255) << 8 | destData[destPosition] & 255;
|
|
break;
|
|
case 2:
|
|
destPixel = (destData[destPosition + 2] & 255) << 24 | (destData[destPosition + 1] & 255) << 16 | (destData[destPosition] & 255) << 8 | destData[destPosition + 3] & 255;
|
|
break;
|
|
}
|
|
if(premultiplied1) {
|
|
if((destPixel & 255) != 0 && (destPixel & 255) != 255) {
|
|
lime_math_RGBA.unmult = 255.0 / (destPixel & 255);
|
|
destPixel = (lime_math_RGBA.__clamp[Math.round((destPixel >>> 24 & 255) * lime_math_RGBA.unmult)] & 255) << 24 | (lime_math_RGBA.__clamp[Math.round((destPixel >>> 16 & 255) * lime_math_RGBA.unmult)] & 255) << 16 | (lime_math_RGBA.__clamp[Math.round((destPixel >>> 8 & 255) * lime_math_RGBA.unmult)] & 255) << 8 | destPixel & 255 & 255;
|
|
}
|
|
}
|
|
var value = ((sourcePixel >>> 24 & 255) * redMultiplier + (destPixel >>> 24 & 255) * (256 - redMultiplier)) / 256 | 0;
|
|
destPixel = (value & 255) << 24 | (destPixel >>> 16 & 255 & 255) << 16 | (destPixel >>> 8 & 255 & 255) << 8 | destPixel & 255 & 255;
|
|
var value1 = ((sourcePixel >>> 16 & 255) * greenMultiplier + (destPixel >>> 16 & 255) * (256 - greenMultiplier)) / 256 | 0;
|
|
destPixel = (destPixel >>> 24 & 255 & 255) << 24 | (value1 & 255) << 16 | (destPixel >>> 8 & 255 & 255) << 8 | destPixel & 255 & 255;
|
|
var value2 = ((sourcePixel >>> 8 & 255) * blueMultiplier + (destPixel >>> 8 & 255) * (256 - blueMultiplier)) / 256 | 0;
|
|
destPixel = (destPixel >>> 24 & 255 & 255) << 24 | (destPixel >>> 16 & 255 & 255) << 16 | (value2 & 255) << 8 | destPixel & 255 & 255;
|
|
var value3 = ((sourcePixel & 255) * alphaMultiplier + (destPixel & 255) * (256 - alphaMultiplier)) / 256 | 0;
|
|
destPixel = (destPixel >>> 24 & 255 & 255) << 24 | (destPixel >>> 16 & 255 & 255) << 16 | (destPixel >>> 8 & 255 & 255) << 8 | value3 & 255;
|
|
var format2 = destFormat;
|
|
var premultiplied2 = destPremultiplied;
|
|
if(premultiplied2 == null) {
|
|
premultiplied2 = false;
|
|
}
|
|
if(format2 == null) {
|
|
format2 = 0;
|
|
}
|
|
if(premultiplied2) {
|
|
if((destPixel & 255) == 0) {
|
|
if(destPixel != 0) {
|
|
destPixel = 0;
|
|
}
|
|
} else if((destPixel & 255) != 255) {
|
|
lime_math_RGBA.a16 = lime_math_RGBA.__alpha16[destPixel & 255];
|
|
destPixel = ((destPixel >>> 24 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 24 | ((destPixel >>> 16 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 16 | ((destPixel >>> 8 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 8 | destPixel & 255 & 255;
|
|
}
|
|
}
|
|
switch(format2) {
|
|
case 0:
|
|
destData[destPosition] = destPixel >>> 24 & 255;
|
|
destData[destPosition + 1] = destPixel >>> 16 & 255;
|
|
destData[destPosition + 2] = destPixel >>> 8 & 255;
|
|
destData[destPosition + 3] = destPixel & 255;
|
|
break;
|
|
case 1:
|
|
destData[destPosition] = destPixel & 255;
|
|
destData[destPosition + 1] = destPixel >>> 24 & 255;
|
|
destData[destPosition + 2] = destPixel >>> 16 & 255;
|
|
destData[destPosition + 3] = destPixel >>> 8 & 255;
|
|
break;
|
|
case 2:
|
|
destData[destPosition] = destPixel >>> 8 & 255;
|
|
destData[destPosition + 1] = destPixel >>> 16 & 255;
|
|
destData[destPosition + 2] = destPixel >>> 24 & 255;
|
|
destData[destPosition + 3] = destPixel & 255;
|
|
break;
|
|
}
|
|
sourcePosition += 4;
|
|
destPosition += 4;
|
|
}
|
|
}
|
|
image.dirty = true;
|
|
image.version++;
|
|
};
|
|
lime__$internal_graphics_ImageDataUtil.multiplyAlpha = function(image) {
|
|
var data = image.buffer.data;
|
|
if(data == null || !image.buffer.transparent) {
|
|
return;
|
|
}
|
|
var format = image.buffer.format;
|
|
var length = data.length / 4 | 0;
|
|
var pixel = 0;
|
|
var _g = 0;
|
|
var _g1 = length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var offset = i * 4;
|
|
var format1 = format;
|
|
var premultiplied = false;
|
|
if(premultiplied == null) {
|
|
premultiplied = false;
|
|
}
|
|
if(format1 == null) {
|
|
format1 = 0;
|
|
}
|
|
switch(format1) {
|
|
case 0:
|
|
pixel = (data[offset] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset + 2] & 255) << 8 | data[offset + 3] & 255;
|
|
break;
|
|
case 1:
|
|
pixel = (data[offset + 1] & 255) << 24 | (data[offset + 2] & 255) << 16 | (data[offset + 3] & 255) << 8 | data[offset] & 255;
|
|
break;
|
|
case 2:
|
|
pixel = (data[offset + 2] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset] & 255) << 8 | data[offset + 3] & 255;
|
|
break;
|
|
}
|
|
if(premultiplied) {
|
|
if((pixel & 255) != 0 && (pixel & 255) != 255) {
|
|
lime_math_RGBA.unmult = 255.0 / (pixel & 255);
|
|
pixel = (lime_math_RGBA.__clamp[Math.round((pixel >>> 24 & 255) * lime_math_RGBA.unmult)] & 255) << 24 | (lime_math_RGBA.__clamp[Math.round((pixel >>> 16 & 255) * lime_math_RGBA.unmult)] & 255) << 16 | (lime_math_RGBA.__clamp[Math.round((pixel >>> 8 & 255) * lime_math_RGBA.unmult)] & 255) << 8 | pixel & 255 & 255;
|
|
}
|
|
}
|
|
var offset1 = i * 4;
|
|
var format2 = format;
|
|
var premultiplied1 = true;
|
|
if(premultiplied1 == null) {
|
|
premultiplied1 = false;
|
|
}
|
|
if(format2 == null) {
|
|
format2 = 0;
|
|
}
|
|
if(premultiplied1) {
|
|
if((pixel & 255) == 0) {
|
|
if(pixel != 0) {
|
|
pixel = 0;
|
|
}
|
|
} else if((pixel & 255) != 255) {
|
|
lime_math_RGBA.a16 = lime_math_RGBA.__alpha16[pixel & 255];
|
|
pixel = ((pixel >>> 24 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 24 | ((pixel >>> 16 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 16 | ((pixel >>> 8 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 8 | pixel & 255 & 255;
|
|
}
|
|
}
|
|
switch(format2) {
|
|
case 0:
|
|
data[offset1] = pixel >>> 24 & 255;
|
|
data[offset1 + 1] = pixel >>> 16 & 255;
|
|
data[offset1 + 2] = pixel >>> 8 & 255;
|
|
data[offset1 + 3] = pixel & 255;
|
|
break;
|
|
case 1:
|
|
data[offset1] = pixel & 255;
|
|
data[offset1 + 1] = pixel >>> 24 & 255;
|
|
data[offset1 + 2] = pixel >>> 16 & 255;
|
|
data[offset1 + 3] = pixel >>> 8 & 255;
|
|
break;
|
|
case 2:
|
|
data[offset1] = pixel >>> 8 & 255;
|
|
data[offset1 + 1] = pixel >>> 16 & 255;
|
|
data[offset1 + 2] = pixel >>> 24 & 255;
|
|
data[offset1 + 3] = pixel & 255;
|
|
break;
|
|
}
|
|
}
|
|
image.buffer.premultiplied = true;
|
|
image.dirty = true;
|
|
image.version++;
|
|
};
|
|
lime__$internal_graphics_ImageDataUtil.resize = function(image,newWidth,newHeight) {
|
|
var buffer = image.buffer;
|
|
if(buffer.width == newWidth && buffer.height == newHeight) {
|
|
return;
|
|
}
|
|
var elements = newWidth * newHeight * 4;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer1 = null;
|
|
var len = null;
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Uint8Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Uint8Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Uint8Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Uint8Array(view);
|
|
} else if(buffer1 != null) {
|
|
if(len == null) {
|
|
this1 = new Uint8Array(buffer1,0);
|
|
} else {
|
|
this1 = new Uint8Array(buffer1,0,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
var newBuffer = new lime_graphics_ImageBuffer(this1,newWidth,newHeight);
|
|
var imageWidth = image.width;
|
|
var imageHeight = image.height;
|
|
var data = image.get_data();
|
|
var newData = newBuffer.data;
|
|
var sourceIndex;
|
|
var sourceIndexX;
|
|
var sourceIndexY;
|
|
var sourceIndexXY;
|
|
var index;
|
|
var sourceX;
|
|
var sourceY;
|
|
var u;
|
|
var v;
|
|
var uRatio;
|
|
var vRatio;
|
|
var uOpposite;
|
|
var vOpposite;
|
|
var _g = 0;
|
|
var _g1 = newHeight;
|
|
while(_g < _g1) {
|
|
var y = _g++;
|
|
var _g2 = 0;
|
|
var _g3 = newWidth;
|
|
while(_g2 < _g3) {
|
|
var x = _g2++;
|
|
u = (x + 0.5) / newWidth * imageWidth - 0.5;
|
|
v = (y + 0.5) / newHeight * imageHeight - 0.5;
|
|
sourceX = u | 0;
|
|
sourceY = v | 0;
|
|
sourceIndex = (sourceY * imageWidth + sourceX) * 4;
|
|
sourceIndexX = sourceX < imageWidth - 1 ? sourceIndex + 4 : sourceIndex;
|
|
sourceIndexY = sourceY < imageHeight - 1 ? sourceIndex + imageWidth * 4 : sourceIndex;
|
|
sourceIndexXY = sourceIndexX != sourceIndex ? sourceIndexY + 4 : sourceIndexY;
|
|
index = (y * newWidth + x) * 4;
|
|
uRatio = u - sourceX;
|
|
vRatio = v - sourceY;
|
|
uOpposite = 1 - uRatio;
|
|
vOpposite = 1 - vRatio;
|
|
newData[index] = (UInt.toFloat(data[sourceIndex]) * uOpposite + UInt.toFloat(data[sourceIndexX]) * uRatio) * vOpposite + (UInt.toFloat(data[sourceIndexY]) * uOpposite + UInt.toFloat(data[sourceIndexXY]) * uRatio) * vRatio | 0;
|
|
newData[index + 1] = (UInt.toFloat(data[sourceIndex + 1]) * uOpposite + UInt.toFloat(data[sourceIndexX + 1]) * uRatio) * vOpposite + (UInt.toFloat(data[sourceIndexY + 1]) * uOpposite + UInt.toFloat(data[sourceIndexXY + 1]) * uRatio) * vRatio | 0;
|
|
newData[index + 2] = (UInt.toFloat(data[sourceIndex + 2]) * uOpposite + UInt.toFloat(data[sourceIndexX + 2]) * uRatio) * vOpposite + (UInt.toFloat(data[sourceIndexY + 2]) * uOpposite + UInt.toFloat(data[sourceIndexXY + 2]) * uRatio) * vRatio | 0;
|
|
if(data[sourceIndexX + 3] == 0 || data[sourceIndexY + 3] == 0 || data[sourceIndexXY + 3] == 0) {
|
|
newData[index + 3] = 0;
|
|
} else {
|
|
newData[index + 3] = data[sourceIndex + 3];
|
|
}
|
|
}
|
|
}
|
|
buffer.data = newBuffer.data;
|
|
buffer.width = newWidth;
|
|
buffer.height = newHeight;
|
|
buffer.__srcImage = null;
|
|
buffer.__srcImageData = null;
|
|
buffer.__srcCanvas = null;
|
|
buffer.__srcContext = null;
|
|
image.dirty = true;
|
|
image.version++;
|
|
};
|
|
lime__$internal_graphics_ImageDataUtil.resizeBuffer = function(image,newWidth,newHeight) {
|
|
var buffer = image.buffer;
|
|
var data = image.get_data();
|
|
var elements = newWidth * newHeight * 4;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer1 = null;
|
|
var len = null;
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Uint8Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Uint8Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Uint8Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Uint8Array(view);
|
|
} else if(buffer1 != null) {
|
|
if(len == null) {
|
|
this1 = new Uint8Array(buffer1,0);
|
|
} else {
|
|
this1 = new Uint8Array(buffer1,0,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
var newData = this1;
|
|
var sourceIndex;
|
|
var index;
|
|
var _g = 0;
|
|
var _g1 = buffer.height;
|
|
while(_g < _g1) {
|
|
var y = _g++;
|
|
var _g2 = 0;
|
|
var _g3 = buffer.width;
|
|
while(_g2 < _g3) {
|
|
var x = _g2++;
|
|
sourceIndex = (y * buffer.width + x) * 4;
|
|
index = (y * newWidth + x) * 4;
|
|
newData[index] = data[sourceIndex];
|
|
newData[index + 1] = data[sourceIndex + 1];
|
|
newData[index + 2] = data[sourceIndex + 2];
|
|
newData[index + 3] = data[sourceIndex + 3];
|
|
}
|
|
}
|
|
buffer.data = newData;
|
|
buffer.width = newWidth;
|
|
buffer.height = newHeight;
|
|
buffer.__srcImage = null;
|
|
buffer.__srcImageData = null;
|
|
buffer.__srcCanvas = null;
|
|
buffer.__srcContext = null;
|
|
image.dirty = true;
|
|
image.version++;
|
|
};
|
|
lime__$internal_graphics_ImageDataUtil.setFormat = function(image,format) {
|
|
var data = image.buffer.data;
|
|
if(data == null) {
|
|
return;
|
|
}
|
|
var index;
|
|
var a16;
|
|
var length = data.length / 4 | 0;
|
|
var r1;
|
|
var g1;
|
|
var b1;
|
|
var a1;
|
|
var r2;
|
|
var g2;
|
|
var b2;
|
|
var a2;
|
|
var r;
|
|
var g;
|
|
var b;
|
|
var a;
|
|
switch(image.get_format()) {
|
|
case 0:
|
|
r1 = 0;
|
|
g1 = 1;
|
|
b1 = 2;
|
|
a1 = 3;
|
|
break;
|
|
case 1:
|
|
r1 = 1;
|
|
g1 = 2;
|
|
b1 = 3;
|
|
a1 = 0;
|
|
break;
|
|
case 2:
|
|
r1 = 2;
|
|
g1 = 1;
|
|
b1 = 0;
|
|
a1 = 3;
|
|
break;
|
|
}
|
|
switch(format) {
|
|
case 0:
|
|
r2 = 0;
|
|
g2 = 1;
|
|
b2 = 2;
|
|
a2 = 3;
|
|
break;
|
|
case 1:
|
|
r2 = 1;
|
|
g2 = 2;
|
|
b2 = 3;
|
|
a2 = 0;
|
|
break;
|
|
case 2:
|
|
r2 = 2;
|
|
g2 = 1;
|
|
b2 = 0;
|
|
a2 = 3;
|
|
break;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
index = i * 4;
|
|
r = data[index + r1];
|
|
g = data[index + g1];
|
|
b = data[index + b1];
|
|
a = data[index + a1];
|
|
data[index + r2] = r;
|
|
data[index + g2] = g;
|
|
data[index + b2] = b;
|
|
data[index + a2] = a;
|
|
}
|
|
image.buffer.format = format;
|
|
image.dirty = true;
|
|
image.version++;
|
|
};
|
|
lime__$internal_graphics_ImageDataUtil.setPixel = function(image,x,y,color,format) {
|
|
var pixel;
|
|
switch(format) {
|
|
case 1:
|
|
var argb = color;
|
|
var this1 = 0;
|
|
var rgba = this1;
|
|
rgba = (argb >>> 16 & 255 & 255) << 24 | (argb >>> 8 & 255 & 255) << 16 | (argb & 255 & 255) << 8 | argb >>> 24 & 255 & 255;
|
|
pixel = rgba;
|
|
break;
|
|
case 2:
|
|
var bgra = color;
|
|
var this1 = 0;
|
|
var rgba = this1;
|
|
rgba = (bgra >>> 8 & 255 & 255) << 24 | (bgra >>> 16 & 255 & 255) << 16 | (bgra >>> 24 & 255 & 255) << 8 | bgra & 255 & 255;
|
|
pixel = rgba;
|
|
break;
|
|
default:
|
|
pixel = color;
|
|
}
|
|
var this1 = 0;
|
|
var source = this1;
|
|
var data = image.buffer.data;
|
|
var offset = 4 * (y + image.offsetY) * image.buffer.width + (x + image.offsetX) * 4;
|
|
var format = image.buffer.format;
|
|
var premultiplied = image.buffer.premultiplied;
|
|
if(premultiplied == null) {
|
|
premultiplied = false;
|
|
}
|
|
if(format == null) {
|
|
format = 0;
|
|
}
|
|
switch(format) {
|
|
case 0:
|
|
source = (data[offset] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset + 2] & 255) << 8 | data[offset + 3] & 255;
|
|
break;
|
|
case 1:
|
|
source = (data[offset + 1] & 255) << 24 | (data[offset + 2] & 255) << 16 | (data[offset + 3] & 255) << 8 | data[offset] & 255;
|
|
break;
|
|
case 2:
|
|
source = (data[offset + 2] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset] & 255) << 8 | data[offset + 3] & 255;
|
|
break;
|
|
}
|
|
if(premultiplied) {
|
|
if((source & 255) != 0 && (source & 255) != 255) {
|
|
lime_math_RGBA.unmult = 255.0 / (source & 255);
|
|
source = (lime_math_RGBA.__clamp[Math.round((source >>> 24 & 255) * lime_math_RGBA.unmult)] & 255) << 24 | (lime_math_RGBA.__clamp[Math.round((source >>> 16 & 255) * lime_math_RGBA.unmult)] & 255) << 16 | (lime_math_RGBA.__clamp[Math.round((source >>> 8 & 255) * lime_math_RGBA.unmult)] & 255) << 8 | source & 255 & 255;
|
|
}
|
|
}
|
|
var value = source & 255;
|
|
pixel = (pixel >>> 24 & 255 & 255) << 24 | (pixel >>> 16 & 255 & 255) << 16 | (pixel >>> 8 & 255 & 255) << 8 | value & 255;
|
|
var data = image.buffer.data;
|
|
var offset = 4 * (y + image.offsetY) * image.buffer.width + (x + image.offsetX) * 4;
|
|
var format = image.buffer.format;
|
|
var premultiplied = image.buffer.premultiplied;
|
|
if(premultiplied == null) {
|
|
premultiplied = false;
|
|
}
|
|
if(format == null) {
|
|
format = 0;
|
|
}
|
|
if(premultiplied) {
|
|
if((pixel & 255) == 0) {
|
|
if(pixel != 0) {
|
|
pixel = 0;
|
|
}
|
|
} else if((pixel & 255) != 255) {
|
|
lime_math_RGBA.a16 = lime_math_RGBA.__alpha16[pixel & 255];
|
|
pixel = ((pixel >>> 24 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 24 | ((pixel >>> 16 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 16 | ((pixel >>> 8 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 8 | pixel & 255 & 255;
|
|
}
|
|
}
|
|
switch(format) {
|
|
case 0:
|
|
data[offset] = pixel >>> 24 & 255;
|
|
data[offset + 1] = pixel >>> 16 & 255;
|
|
data[offset + 2] = pixel >>> 8 & 255;
|
|
data[offset + 3] = pixel & 255;
|
|
break;
|
|
case 1:
|
|
data[offset] = pixel & 255;
|
|
data[offset + 1] = pixel >>> 24 & 255;
|
|
data[offset + 2] = pixel >>> 16 & 255;
|
|
data[offset + 3] = pixel >>> 8 & 255;
|
|
break;
|
|
case 2:
|
|
data[offset] = pixel >>> 8 & 255;
|
|
data[offset + 1] = pixel >>> 16 & 255;
|
|
data[offset + 2] = pixel >>> 24 & 255;
|
|
data[offset + 3] = pixel & 255;
|
|
break;
|
|
}
|
|
image.dirty = true;
|
|
image.version++;
|
|
};
|
|
lime__$internal_graphics_ImageDataUtil.setPixel32 = function(image,x,y,color,format) {
|
|
var pixel;
|
|
switch(format) {
|
|
case 1:
|
|
var argb = color;
|
|
var this1 = 0;
|
|
var rgba = this1;
|
|
rgba = (argb >>> 16 & 255 & 255) << 24 | (argb >>> 8 & 255 & 255) << 16 | (argb & 255 & 255) << 8 | argb >>> 24 & 255 & 255;
|
|
pixel = rgba;
|
|
break;
|
|
case 2:
|
|
var bgra = color;
|
|
var this1 = 0;
|
|
var rgba = this1;
|
|
rgba = (bgra >>> 8 & 255 & 255) << 24 | (bgra >>> 16 & 255 & 255) << 16 | (bgra >>> 24 & 255 & 255) << 8 | bgra & 255 & 255;
|
|
pixel = rgba;
|
|
break;
|
|
default:
|
|
pixel = color;
|
|
}
|
|
if(!image.get_transparent()) {
|
|
pixel = (pixel >>> 24 & 255 & 255) << 24 | (pixel >>> 16 & 255 & 255) << 16 | (pixel >>> 8 & 255 & 255) << 8 | 255;
|
|
}
|
|
var data = image.buffer.data;
|
|
var offset = 4 * (y + image.offsetY) * image.buffer.width + (x + image.offsetX) * 4;
|
|
var format = image.buffer.format;
|
|
var premultiplied = image.buffer.premultiplied;
|
|
if(premultiplied == null) {
|
|
premultiplied = false;
|
|
}
|
|
if(format == null) {
|
|
format = 0;
|
|
}
|
|
if(premultiplied) {
|
|
if((pixel & 255) == 0) {
|
|
if(pixel != 0) {
|
|
pixel = 0;
|
|
}
|
|
} else if((pixel & 255) != 255) {
|
|
lime_math_RGBA.a16 = lime_math_RGBA.__alpha16[pixel & 255];
|
|
pixel = ((pixel >>> 24 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 24 | ((pixel >>> 16 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 16 | ((pixel >>> 8 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 8 | pixel & 255 & 255;
|
|
}
|
|
}
|
|
switch(format) {
|
|
case 0:
|
|
data[offset] = pixel >>> 24 & 255;
|
|
data[offset + 1] = pixel >>> 16 & 255;
|
|
data[offset + 2] = pixel >>> 8 & 255;
|
|
data[offset + 3] = pixel & 255;
|
|
break;
|
|
case 1:
|
|
data[offset] = pixel & 255;
|
|
data[offset + 1] = pixel >>> 24 & 255;
|
|
data[offset + 2] = pixel >>> 16 & 255;
|
|
data[offset + 3] = pixel >>> 8 & 255;
|
|
break;
|
|
case 2:
|
|
data[offset] = pixel >>> 8 & 255;
|
|
data[offset + 1] = pixel >>> 16 & 255;
|
|
data[offset + 2] = pixel >>> 24 & 255;
|
|
data[offset + 3] = pixel & 255;
|
|
break;
|
|
}
|
|
image.dirty = true;
|
|
image.version++;
|
|
};
|
|
lime__$internal_graphics_ImageDataUtil.setPixels = function(image,rect,bytePointer,format,endian) {
|
|
if(image.buffer.data == null) {
|
|
return;
|
|
}
|
|
var data = image.buffer.data;
|
|
var sourceFormat = image.buffer.format;
|
|
var premultiplied = image.buffer.premultiplied;
|
|
var dataView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(image,rect);
|
|
var row;
|
|
var color;
|
|
var pixel;
|
|
var transparent = image.get_transparent();
|
|
var bytes = bytePointer.bytes;
|
|
var dataPosition = bytePointer.offset;
|
|
var littleEndian = endian != lime_system_Endian.BIG_ENDIAN;
|
|
var _g = 0;
|
|
var _g1 = dataView.height;
|
|
while(_g < _g1) {
|
|
var y = _g++;
|
|
row = dataView.byteOffset + dataView.stride * y;
|
|
var _g2 = 0;
|
|
var _g3 = dataView.width;
|
|
while(_g2 < _g3) {
|
|
var x = _g2++;
|
|
if(littleEndian) {
|
|
color = bytes.getInt32(dataPosition);
|
|
} else {
|
|
color = bytes.b[dataPosition + 3] | bytes.b[dataPosition + 2] << 8 | bytes.b[dataPosition + 1] << 16 | bytes.b[dataPosition] << 24;
|
|
}
|
|
dataPosition += 4;
|
|
switch(format) {
|
|
case 1:
|
|
var argb = color;
|
|
var this1 = 0;
|
|
var rgba = this1;
|
|
rgba = (argb >>> 16 & 255 & 255) << 24 | (argb >>> 8 & 255 & 255) << 16 | (argb & 255 & 255) << 8 | argb >>> 24 & 255 & 255;
|
|
pixel = rgba;
|
|
break;
|
|
case 2:
|
|
var bgra = color;
|
|
var this2 = 0;
|
|
var rgba1 = this2;
|
|
rgba1 = (bgra >>> 8 & 255 & 255) << 24 | (bgra >>> 16 & 255 & 255) << 16 | (bgra >>> 24 & 255 & 255) << 8 | bgra & 255 & 255;
|
|
pixel = rgba1;
|
|
break;
|
|
default:
|
|
pixel = color;
|
|
}
|
|
if(!transparent) {
|
|
pixel = (pixel >>> 24 & 255 & 255) << 24 | (pixel >>> 16 & 255 & 255) << 16 | (pixel >>> 8 & 255 & 255) << 8 | 255;
|
|
}
|
|
var offset = row + x * 4;
|
|
var format1 = sourceFormat;
|
|
var premultiplied1 = premultiplied;
|
|
if(premultiplied1 == null) {
|
|
premultiplied1 = false;
|
|
}
|
|
if(format1 == null) {
|
|
format1 = 0;
|
|
}
|
|
if(premultiplied1) {
|
|
if((pixel & 255) == 0) {
|
|
if(pixel != 0) {
|
|
pixel = 0;
|
|
}
|
|
} else if((pixel & 255) != 255) {
|
|
lime_math_RGBA.a16 = lime_math_RGBA.__alpha16[pixel & 255];
|
|
pixel = ((pixel >>> 24 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 24 | ((pixel >>> 16 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 16 | ((pixel >>> 8 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 8 | pixel & 255 & 255;
|
|
}
|
|
}
|
|
switch(format1) {
|
|
case 0:
|
|
data[offset] = pixel >>> 24 & 255;
|
|
data[offset + 1] = pixel >>> 16 & 255;
|
|
data[offset + 2] = pixel >>> 8 & 255;
|
|
data[offset + 3] = pixel & 255;
|
|
break;
|
|
case 1:
|
|
data[offset] = pixel & 255;
|
|
data[offset + 1] = pixel >>> 24 & 255;
|
|
data[offset + 2] = pixel >>> 16 & 255;
|
|
data[offset + 3] = pixel >>> 8 & 255;
|
|
break;
|
|
case 2:
|
|
data[offset] = pixel >>> 8 & 255;
|
|
data[offset + 1] = pixel >>> 16 & 255;
|
|
data[offset + 2] = pixel >>> 24 & 255;
|
|
data[offset + 3] = pixel & 255;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
image.dirty = true;
|
|
image.version++;
|
|
};
|
|
lime__$internal_graphics_ImageDataUtil.threshold = function(image,sourceImage,sourceRect,destPoint,operation,threshold,color,mask,copySource,format) {
|
|
var _color;
|
|
var _mask;
|
|
var _threshold;
|
|
switch(format) {
|
|
case 1:
|
|
var argb = color;
|
|
var this1 = 0;
|
|
var rgba = this1;
|
|
rgba = (argb >>> 16 & 255 & 255) << 24 | (argb >>> 8 & 255 & 255) << 16 | (argb & 255 & 255) << 8 | argb >>> 24 & 255 & 255;
|
|
_color = rgba;
|
|
var argb = mask;
|
|
var this1 = 0;
|
|
var rgba = this1;
|
|
rgba = (argb >>> 16 & 255 & 255) << 24 | (argb >>> 8 & 255 & 255) << 16 | (argb & 255 & 255) << 8 | argb >>> 24 & 255 & 255;
|
|
_mask = rgba;
|
|
var argb = threshold;
|
|
var this1 = 0;
|
|
var rgba = this1;
|
|
rgba = (argb >>> 16 & 255 & 255) << 24 | (argb >>> 8 & 255 & 255) << 16 | (argb & 255 & 255) << 8 | argb >>> 24 & 255 & 255;
|
|
_threshold = rgba;
|
|
break;
|
|
case 2:
|
|
var bgra = color;
|
|
var this1 = 0;
|
|
var rgba = this1;
|
|
rgba = (bgra >>> 8 & 255 & 255) << 24 | (bgra >>> 16 & 255 & 255) << 16 | (bgra >>> 24 & 255 & 255) << 8 | bgra & 255 & 255;
|
|
_color = rgba;
|
|
var bgra = mask;
|
|
var this1 = 0;
|
|
var rgba = this1;
|
|
rgba = (bgra >>> 8 & 255 & 255) << 24 | (bgra >>> 16 & 255 & 255) << 16 | (bgra >>> 24 & 255 & 255) << 8 | bgra & 255 & 255;
|
|
_mask = rgba;
|
|
var bgra = threshold;
|
|
var this1 = 0;
|
|
var rgba = this1;
|
|
rgba = (bgra >>> 8 & 255 & 255) << 24 | (bgra >>> 16 & 255 & 255) << 16 | (bgra >>> 24 & 255 & 255) << 8 | bgra & 255 & 255;
|
|
_threshold = rgba;
|
|
break;
|
|
default:
|
|
_color = color;
|
|
_mask = mask;
|
|
_threshold = threshold;
|
|
}
|
|
var _operation;
|
|
switch(operation) {
|
|
case "!=":
|
|
_operation = 0;
|
|
break;
|
|
case "<":
|
|
_operation = 2;
|
|
break;
|
|
case "<=":
|
|
_operation = 3;
|
|
break;
|
|
case "==":
|
|
_operation = 1;
|
|
break;
|
|
case ">":
|
|
_operation = 4;
|
|
break;
|
|
case ">=":
|
|
_operation = 5;
|
|
break;
|
|
default:
|
|
_operation = -1;
|
|
}
|
|
if(_operation == -1) {
|
|
return 0;
|
|
}
|
|
var srcData = sourceImage.buffer.data;
|
|
var destData = image.buffer.data;
|
|
if(srcData == null || destData == null) {
|
|
return 0;
|
|
}
|
|
var hits = 0;
|
|
var srcView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(sourceImage,sourceRect);
|
|
var destView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(image,new lime_math_Rectangle(destPoint.x,destPoint.y,srcView.width,srcView.height));
|
|
var srcFormat = sourceImage.buffer.format;
|
|
var destFormat = image.buffer.format;
|
|
var srcPremultiplied = sourceImage.buffer.premultiplied;
|
|
var destPremultiplied = image.buffer.premultiplied;
|
|
var srcPosition;
|
|
var destPosition;
|
|
var srcPixel = 0;
|
|
var destPixel = 0;
|
|
var pixelMask;
|
|
var test;
|
|
var value;
|
|
var _g = 0;
|
|
var _g1 = destView.height;
|
|
while(_g < _g1) {
|
|
var y = _g++;
|
|
srcPosition = srcView.byteOffset + srcView.stride * y;
|
|
destPosition = destView.byteOffset + destView.stride * y;
|
|
var _g2 = 0;
|
|
var _g3 = destView.width;
|
|
while(_g2 < _g3) {
|
|
var x = _g2++;
|
|
var format = srcFormat;
|
|
var premultiplied = srcPremultiplied;
|
|
if(premultiplied == null) {
|
|
premultiplied = false;
|
|
}
|
|
if(format == null) {
|
|
format = 0;
|
|
}
|
|
switch(format) {
|
|
case 0:
|
|
srcPixel = (srcData[srcPosition] & 255) << 24 | (srcData[srcPosition + 1] & 255) << 16 | (srcData[srcPosition + 2] & 255) << 8 | srcData[srcPosition + 3] & 255;
|
|
break;
|
|
case 1:
|
|
srcPixel = (srcData[srcPosition + 1] & 255) << 24 | (srcData[srcPosition + 2] & 255) << 16 | (srcData[srcPosition + 3] & 255) << 8 | srcData[srcPosition] & 255;
|
|
break;
|
|
case 2:
|
|
srcPixel = (srcData[srcPosition + 2] & 255) << 24 | (srcData[srcPosition + 1] & 255) << 16 | (srcData[srcPosition] & 255) << 8 | srcData[srcPosition + 3] & 255;
|
|
break;
|
|
}
|
|
if(premultiplied) {
|
|
if((srcPixel & 255) != 0 && (srcPixel & 255) != 255) {
|
|
lime_math_RGBA.unmult = 255.0 / (srcPixel & 255);
|
|
srcPixel = (lime_math_RGBA.__clamp[Math.round((srcPixel >>> 24 & 255) * lime_math_RGBA.unmult)] & 255) << 24 | (lime_math_RGBA.__clamp[Math.round((srcPixel >>> 16 & 255) * lime_math_RGBA.unmult)] & 255) << 16 | (lime_math_RGBA.__clamp[Math.round((srcPixel >>> 8 & 255) * lime_math_RGBA.unmult)] & 255) << 8 | srcPixel & 255 & 255;
|
|
}
|
|
}
|
|
pixelMask = srcPixel & _mask;
|
|
var tmp1 = pixelMask >>> 24 & 255;
|
|
var tmp2 = _threshold >>> 24 & 255;
|
|
if(tmp1 != tmp2) {
|
|
value = UInt.gt(tmp1,tmp2) ? 1 : -1;
|
|
} else {
|
|
tmp1 = pixelMask >>> 16 & 255;
|
|
tmp2 = _threshold >>> 16 & 255;
|
|
if(tmp1 != tmp2) {
|
|
value = UInt.gt(tmp1,tmp2) ? 1 : -1;
|
|
} else {
|
|
tmp1 = pixelMask >>> 8 & 255;
|
|
tmp2 = _threshold >>> 8 & 255;
|
|
if(tmp1 != tmp2) {
|
|
value = UInt.gt(tmp1,tmp2) ? 1 : -1;
|
|
} else {
|
|
tmp1 = pixelMask & 255;
|
|
tmp2 = _threshold & 255;
|
|
value = tmp1 != tmp2 ? UInt.gt(tmp1,tmp2) ? 1 : -1 : 0;
|
|
}
|
|
}
|
|
}
|
|
switch(_operation) {
|
|
case 0:
|
|
test = value != 0;
|
|
break;
|
|
case 1:
|
|
test = value == 0;
|
|
break;
|
|
case 2:
|
|
test = value == -1;
|
|
break;
|
|
case 3:
|
|
test = value == 0 || value == -1;
|
|
break;
|
|
case 4:
|
|
test = value == 1;
|
|
break;
|
|
case 5:
|
|
test = value == 0 || value == 1;
|
|
break;
|
|
default:
|
|
test = false;
|
|
}
|
|
if(test) {
|
|
var format1 = destFormat;
|
|
var premultiplied1 = destPremultiplied;
|
|
if(premultiplied1 == null) {
|
|
premultiplied1 = false;
|
|
}
|
|
if(format1 == null) {
|
|
format1 = 0;
|
|
}
|
|
if(premultiplied1) {
|
|
if((_color & 255) == 0) {
|
|
if(_color != 0) {
|
|
_color = 0;
|
|
}
|
|
} else if((_color & 255) != 255) {
|
|
lime_math_RGBA.a16 = lime_math_RGBA.__alpha16[_color & 255];
|
|
_color = ((_color >>> 24 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 24 | ((_color >>> 16 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 16 | ((_color >>> 8 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 8 | _color & 255 & 255;
|
|
}
|
|
}
|
|
switch(format1) {
|
|
case 0:
|
|
destData[destPosition] = _color >>> 24 & 255;
|
|
destData[destPosition + 1] = _color >>> 16 & 255;
|
|
destData[destPosition + 2] = _color >>> 8 & 255;
|
|
destData[destPosition + 3] = _color & 255;
|
|
break;
|
|
case 1:
|
|
destData[destPosition] = _color & 255;
|
|
destData[destPosition + 1] = _color >>> 24 & 255;
|
|
destData[destPosition + 2] = _color >>> 16 & 255;
|
|
destData[destPosition + 3] = _color >>> 8 & 255;
|
|
break;
|
|
case 2:
|
|
destData[destPosition] = _color >>> 8 & 255;
|
|
destData[destPosition + 1] = _color >>> 16 & 255;
|
|
destData[destPosition + 2] = _color >>> 24 & 255;
|
|
destData[destPosition + 3] = _color & 255;
|
|
break;
|
|
}
|
|
++hits;
|
|
} else if(copySource) {
|
|
var format2 = destFormat;
|
|
var premultiplied2 = destPremultiplied;
|
|
if(premultiplied2 == null) {
|
|
premultiplied2 = false;
|
|
}
|
|
if(format2 == null) {
|
|
format2 = 0;
|
|
}
|
|
if(premultiplied2) {
|
|
if((srcPixel & 255) == 0) {
|
|
if(srcPixel != 0) {
|
|
srcPixel = 0;
|
|
}
|
|
} else if((srcPixel & 255) != 255) {
|
|
lime_math_RGBA.a16 = lime_math_RGBA.__alpha16[srcPixel & 255];
|
|
srcPixel = ((srcPixel >>> 24 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 24 | ((srcPixel >>> 16 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 16 | ((srcPixel >>> 8 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 8 | srcPixel & 255 & 255;
|
|
}
|
|
}
|
|
switch(format2) {
|
|
case 0:
|
|
destData[destPosition] = srcPixel >>> 24 & 255;
|
|
destData[destPosition + 1] = srcPixel >>> 16 & 255;
|
|
destData[destPosition + 2] = srcPixel >>> 8 & 255;
|
|
destData[destPosition + 3] = srcPixel & 255;
|
|
break;
|
|
case 1:
|
|
destData[destPosition] = srcPixel & 255;
|
|
destData[destPosition + 1] = srcPixel >>> 24 & 255;
|
|
destData[destPosition + 2] = srcPixel >>> 16 & 255;
|
|
destData[destPosition + 3] = srcPixel >>> 8 & 255;
|
|
break;
|
|
case 2:
|
|
destData[destPosition] = srcPixel >>> 8 & 255;
|
|
destData[destPosition + 1] = srcPixel >>> 16 & 255;
|
|
destData[destPosition + 2] = srcPixel >>> 24 & 255;
|
|
destData[destPosition + 3] = srcPixel & 255;
|
|
break;
|
|
}
|
|
}
|
|
srcPosition += 4;
|
|
destPosition += 4;
|
|
}
|
|
}
|
|
if(hits > 0) {
|
|
image.dirty = true;
|
|
image.version++;
|
|
}
|
|
return hits;
|
|
};
|
|
lime__$internal_graphics_ImageDataUtil.unmultiplyAlpha = function(image) {
|
|
var data = image.buffer.data;
|
|
if(data == null) {
|
|
return;
|
|
}
|
|
var format = image.buffer.format;
|
|
var length = data.length / 4 | 0;
|
|
var pixel = 0;
|
|
var _g = 0;
|
|
var _g1 = length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var offset = i * 4;
|
|
var format1 = format;
|
|
var premultiplied = true;
|
|
if(premultiplied == null) {
|
|
premultiplied = false;
|
|
}
|
|
if(format1 == null) {
|
|
format1 = 0;
|
|
}
|
|
switch(format1) {
|
|
case 0:
|
|
pixel = (data[offset] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset + 2] & 255) << 8 | data[offset + 3] & 255;
|
|
break;
|
|
case 1:
|
|
pixel = (data[offset + 1] & 255) << 24 | (data[offset + 2] & 255) << 16 | (data[offset + 3] & 255) << 8 | data[offset] & 255;
|
|
break;
|
|
case 2:
|
|
pixel = (data[offset + 2] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset] & 255) << 8 | data[offset + 3] & 255;
|
|
break;
|
|
}
|
|
if(premultiplied) {
|
|
if((pixel & 255) != 0 && (pixel & 255) != 255) {
|
|
lime_math_RGBA.unmult = 255.0 / (pixel & 255);
|
|
pixel = (lime_math_RGBA.__clamp[Math.round((pixel >>> 24 & 255) * lime_math_RGBA.unmult)] & 255) << 24 | (lime_math_RGBA.__clamp[Math.round((pixel >>> 16 & 255) * lime_math_RGBA.unmult)] & 255) << 16 | (lime_math_RGBA.__clamp[Math.round((pixel >>> 8 & 255) * lime_math_RGBA.unmult)] & 255) << 8 | pixel & 255 & 255;
|
|
}
|
|
}
|
|
var offset1 = i * 4;
|
|
var format2 = format;
|
|
var premultiplied1 = false;
|
|
if(premultiplied1 == null) {
|
|
premultiplied1 = false;
|
|
}
|
|
if(format2 == null) {
|
|
format2 = 0;
|
|
}
|
|
if(premultiplied1) {
|
|
if((pixel & 255) == 0) {
|
|
if(pixel != 0) {
|
|
pixel = 0;
|
|
}
|
|
} else if((pixel & 255) != 255) {
|
|
lime_math_RGBA.a16 = lime_math_RGBA.__alpha16[pixel & 255];
|
|
pixel = ((pixel >>> 24 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 24 | ((pixel >>> 16 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 16 | ((pixel >>> 8 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 8 | pixel & 255 & 255;
|
|
}
|
|
}
|
|
switch(format2) {
|
|
case 0:
|
|
data[offset1] = pixel >>> 24 & 255;
|
|
data[offset1 + 1] = pixel >>> 16 & 255;
|
|
data[offset1 + 2] = pixel >>> 8 & 255;
|
|
data[offset1 + 3] = pixel & 255;
|
|
break;
|
|
case 1:
|
|
data[offset1] = pixel & 255;
|
|
data[offset1 + 1] = pixel >>> 24 & 255;
|
|
data[offset1 + 2] = pixel >>> 16 & 255;
|
|
data[offset1 + 3] = pixel >>> 8 & 255;
|
|
break;
|
|
case 2:
|
|
data[offset1] = pixel >>> 8 & 255;
|
|
data[offset1 + 1] = pixel >>> 16 & 255;
|
|
data[offset1 + 2] = pixel >>> 24 & 255;
|
|
data[offset1 + 3] = pixel & 255;
|
|
break;
|
|
}
|
|
}
|
|
image.buffer.premultiplied = false;
|
|
image.dirty = true;
|
|
image.version++;
|
|
};
|
|
lime__$internal_graphics_ImageDataUtil.__boxBlur = function(imgA,imgB,w,h,bx,by) {
|
|
imgB.set(imgA);
|
|
var bx1 = bx | 0;
|
|
var by1 = by | 0;
|
|
lime__$internal_graphics_ImageDataUtil.__boxBlurH(imgB,imgA,w,h,bx1,0);
|
|
lime__$internal_graphics_ImageDataUtil.__boxBlurH(imgB,imgA,w,h,bx1,1);
|
|
lime__$internal_graphics_ImageDataUtil.__boxBlurH(imgB,imgA,w,h,bx1,2);
|
|
lime__$internal_graphics_ImageDataUtil.__boxBlurH(imgB,imgA,w,h,bx1,3);
|
|
var iarr = 1 / (by1 + by1 + 1);
|
|
var ws = w * 4;
|
|
var ti;
|
|
var li;
|
|
var ri;
|
|
var fv;
|
|
var lv;
|
|
var val;
|
|
var _g = 0;
|
|
var _g1 = w;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
ti = i * 4;
|
|
li = ti;
|
|
ri = ti + by1 * ws;
|
|
fv = imgA[ti];
|
|
lv = imgA[ti + ws * (h - 1)];
|
|
val = (by1 + 1) * fv;
|
|
var _g2 = 0;
|
|
var _g3 = by1;
|
|
while(_g2 < _g3) {
|
|
var j = _g2++;
|
|
val = val + imgA[ti + j * ws];
|
|
}
|
|
var _g4 = 0;
|
|
var _g5 = by1 + 1;
|
|
while(_g4 < _g5) {
|
|
var j1 = _g4++;
|
|
val = val + (imgA[ri] - fv);
|
|
imgB[ti] = Math.round(UInt.toFloat(val) * iarr);
|
|
ri += ws;
|
|
ti += ws;
|
|
}
|
|
var _g6 = by1 + 1;
|
|
var _g7 = h - by1;
|
|
while(_g6 < _g7) {
|
|
var j2 = _g6++;
|
|
val = val + (imgA[ri] - imgA[li]);
|
|
imgB[ti] = Math.round(UInt.toFloat(val) * iarr);
|
|
li += ws;
|
|
ri += ws;
|
|
ti += ws;
|
|
}
|
|
var _g8 = h - by1;
|
|
var _g9 = h;
|
|
while(_g8 < _g9) {
|
|
var j3 = _g8++;
|
|
val = val + (lv - imgA[li]);
|
|
imgB[ti] = Math.round(UInt.toFloat(val) * iarr);
|
|
li += ws;
|
|
ti += ws;
|
|
}
|
|
}
|
|
var iarr = 1 / (by1 + by1 + 1);
|
|
var ws = w * 4;
|
|
var ti;
|
|
var li;
|
|
var ri;
|
|
var fv;
|
|
var lv;
|
|
var val;
|
|
var _g = 0;
|
|
var _g1 = w;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
ti = i * 4 + 1;
|
|
li = ti;
|
|
ri = ti + by1 * ws;
|
|
fv = imgA[ti];
|
|
lv = imgA[ti + ws * (h - 1)];
|
|
val = (by1 + 1) * fv;
|
|
var _g2 = 0;
|
|
var _g3 = by1;
|
|
while(_g2 < _g3) {
|
|
var j = _g2++;
|
|
val = val + imgA[ti + j * ws];
|
|
}
|
|
var _g4 = 0;
|
|
var _g5 = by1 + 1;
|
|
while(_g4 < _g5) {
|
|
var j1 = _g4++;
|
|
val = val + (imgA[ri] - fv);
|
|
imgB[ti] = Math.round(UInt.toFloat(val) * iarr);
|
|
ri += ws;
|
|
ti += ws;
|
|
}
|
|
var _g6 = by1 + 1;
|
|
var _g7 = h - by1;
|
|
while(_g6 < _g7) {
|
|
var j2 = _g6++;
|
|
val = val + (imgA[ri] - imgA[li]);
|
|
imgB[ti] = Math.round(UInt.toFloat(val) * iarr);
|
|
li += ws;
|
|
ri += ws;
|
|
ti += ws;
|
|
}
|
|
var _g8 = h - by1;
|
|
var _g9 = h;
|
|
while(_g8 < _g9) {
|
|
var j3 = _g8++;
|
|
val = val + (lv - imgA[li]);
|
|
imgB[ti] = Math.round(UInt.toFloat(val) * iarr);
|
|
li += ws;
|
|
ti += ws;
|
|
}
|
|
}
|
|
var iarr = 1 / (by1 + by1 + 1);
|
|
var ws = w * 4;
|
|
var ti;
|
|
var li;
|
|
var ri;
|
|
var fv;
|
|
var lv;
|
|
var val;
|
|
var _g = 0;
|
|
var _g1 = w;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
ti = i * 4 + 2;
|
|
li = ti;
|
|
ri = ti + by1 * ws;
|
|
fv = imgA[ti];
|
|
lv = imgA[ti + ws * (h - 1)];
|
|
val = (by1 + 1) * fv;
|
|
var _g2 = 0;
|
|
var _g3 = by1;
|
|
while(_g2 < _g3) {
|
|
var j = _g2++;
|
|
val = val + imgA[ti + j * ws];
|
|
}
|
|
var _g4 = 0;
|
|
var _g5 = by1 + 1;
|
|
while(_g4 < _g5) {
|
|
var j1 = _g4++;
|
|
val = val + (imgA[ri] - fv);
|
|
imgB[ti] = Math.round(UInt.toFloat(val) * iarr);
|
|
ri += ws;
|
|
ti += ws;
|
|
}
|
|
var _g6 = by1 + 1;
|
|
var _g7 = h - by1;
|
|
while(_g6 < _g7) {
|
|
var j2 = _g6++;
|
|
val = val + (imgA[ri] - imgA[li]);
|
|
imgB[ti] = Math.round(UInt.toFloat(val) * iarr);
|
|
li += ws;
|
|
ri += ws;
|
|
ti += ws;
|
|
}
|
|
var _g8 = h - by1;
|
|
var _g9 = h;
|
|
while(_g8 < _g9) {
|
|
var j3 = _g8++;
|
|
val = val + (lv - imgA[li]);
|
|
imgB[ti] = Math.round(UInt.toFloat(val) * iarr);
|
|
li += ws;
|
|
ti += ws;
|
|
}
|
|
}
|
|
var iarr = 1 / (by1 + by1 + 1);
|
|
var ws = w * 4;
|
|
var ti;
|
|
var li;
|
|
var ri;
|
|
var fv;
|
|
var lv;
|
|
var val;
|
|
var _g = 0;
|
|
var _g1 = w;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
ti = i * 4 + 3;
|
|
li = ti;
|
|
ri = ti + by1 * ws;
|
|
fv = imgA[ti];
|
|
lv = imgA[ti + ws * (h - 1)];
|
|
val = (by1 + 1) * fv;
|
|
var _g2 = 0;
|
|
var _g3 = by1;
|
|
while(_g2 < _g3) {
|
|
var j = _g2++;
|
|
val = val + imgA[ti + j * ws];
|
|
}
|
|
var _g4 = 0;
|
|
var _g5 = by1 + 1;
|
|
while(_g4 < _g5) {
|
|
var j1 = _g4++;
|
|
val = val + (imgA[ri] - fv);
|
|
imgB[ti] = Math.round(UInt.toFloat(val) * iarr);
|
|
ri += ws;
|
|
ti += ws;
|
|
}
|
|
var _g6 = by1 + 1;
|
|
var _g7 = h - by1;
|
|
while(_g6 < _g7) {
|
|
var j2 = _g6++;
|
|
val = val + (imgA[ri] - imgA[li]);
|
|
imgB[ti] = Math.round(UInt.toFloat(val) * iarr);
|
|
li += ws;
|
|
ri += ws;
|
|
ti += ws;
|
|
}
|
|
var _g8 = h - by1;
|
|
var _g9 = h;
|
|
while(_g8 < _g9) {
|
|
var j3 = _g8++;
|
|
val = val + (lv - imgA[li]);
|
|
imgB[ti] = Math.round(UInt.toFloat(val) * iarr);
|
|
li += ws;
|
|
ti += ws;
|
|
}
|
|
}
|
|
};
|
|
lime__$internal_graphics_ImageDataUtil.__boxBlurH = function(imgA,imgB,w,h,r,off) {
|
|
var iarr = 1 / (r + r + 1);
|
|
var ti;
|
|
var li;
|
|
var ri;
|
|
var fv;
|
|
var lv;
|
|
var val;
|
|
var _g = 0;
|
|
var _g1 = h;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
ti = i * w;
|
|
li = ti;
|
|
ri = ti + r;
|
|
fv = imgA[ti * 4 + off];
|
|
lv = imgA[(ti + w - 1) * 4 + off];
|
|
val = (r + 1) * fv;
|
|
var _g2 = 0;
|
|
var _g3 = r;
|
|
while(_g2 < _g3) {
|
|
var j = _g2++;
|
|
val = val + imgA[(ti + j) * 4 + off];
|
|
}
|
|
var _g4 = 0;
|
|
var _g5 = r + 1;
|
|
while(_g4 < _g5) {
|
|
var j1 = _g4++;
|
|
val = val + (imgA[ri * 4 + off] - fv);
|
|
imgB[ti * 4 + off] = Math.round(UInt.toFloat(val) * iarr);
|
|
++ri;
|
|
++ti;
|
|
}
|
|
var _g6 = r + 1;
|
|
var _g7 = w - r;
|
|
while(_g6 < _g7) {
|
|
var j2 = _g6++;
|
|
val = val + (imgA[ri * 4 + off] - imgA[li * 4 + off]);
|
|
imgB[ti * 4 + off] = Math.round(UInt.toFloat(val) * iarr);
|
|
++ri;
|
|
++li;
|
|
++ti;
|
|
}
|
|
var _g8 = w - r;
|
|
var _g9 = w;
|
|
while(_g8 < _g9) {
|
|
var j3 = _g8++;
|
|
val = val + (lv - imgA[li * 4 + off]);
|
|
imgB[ti * 4 + off] = Math.round(UInt.toFloat(val) * iarr);
|
|
++li;
|
|
++ti;
|
|
}
|
|
}
|
|
};
|
|
lime__$internal_graphics_ImageDataUtil.__boxBlurT = function(imgA,imgB,w,h,r,off) {
|
|
var iarr = 1 / (r + r + 1);
|
|
var ws = w * 4;
|
|
var ti;
|
|
var li;
|
|
var ri;
|
|
var fv;
|
|
var lv;
|
|
var val;
|
|
var _g = 0;
|
|
var _g1 = w;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
ti = i * 4 + off;
|
|
li = ti;
|
|
ri = ti + r * ws;
|
|
fv = imgA[ti];
|
|
lv = imgA[ti + ws * (h - 1)];
|
|
val = (r + 1) * fv;
|
|
var _g2 = 0;
|
|
var _g3 = r;
|
|
while(_g2 < _g3) {
|
|
var j = _g2++;
|
|
val = val + imgA[ti + j * ws];
|
|
}
|
|
var _g4 = 0;
|
|
var _g5 = r + 1;
|
|
while(_g4 < _g5) {
|
|
var j1 = _g4++;
|
|
val = val + (imgA[ri] - fv);
|
|
imgB[ti] = Math.round(UInt.toFloat(val) * iarr);
|
|
ri += ws;
|
|
ti += ws;
|
|
}
|
|
var _g6 = r + 1;
|
|
var _g7 = h - r;
|
|
while(_g6 < _g7) {
|
|
var j2 = _g6++;
|
|
val = val + (imgA[ri] - imgA[li]);
|
|
imgB[ti] = Math.round(UInt.toFloat(val) * iarr);
|
|
li += ws;
|
|
ri += ws;
|
|
ti += ws;
|
|
}
|
|
var _g8 = h - r;
|
|
var _g9 = h;
|
|
while(_g8 < _g9) {
|
|
var j3 = _g8++;
|
|
val = val + (lv - imgA[li]);
|
|
imgB[ti] = Math.round(UInt.toFloat(val) * iarr);
|
|
li += ws;
|
|
ti += ws;
|
|
}
|
|
}
|
|
};
|
|
lime__$internal_graphics_ImageDataUtil.__calculateSourceOffset = function(sourceRect,destPoint,destX,destY) {
|
|
var sourceX = destX - (destPoint.x | 0);
|
|
var sourceY = destY - (destPoint.y | 0);
|
|
var offset = 0;
|
|
if(sourceX < 0 || sourceY < 0 || sourceX >= sourceRect.width || sourceY >= sourceRect.height) {
|
|
offset = -1;
|
|
} else {
|
|
offset = 4 * (sourceY * (sourceRect.width | 0) + sourceX);
|
|
}
|
|
return offset;
|
|
};
|
|
lime__$internal_graphics_ImageDataUtil.__getBoxesForGaussianBlur = function(sigma,n) {
|
|
var wIdeal = Math.sqrt(12 * sigma * sigma / n + 1);
|
|
var wl = Math.floor(wIdeal);
|
|
if(wl % 2 == 0) {
|
|
--wl;
|
|
}
|
|
var wu = wl + 2;
|
|
var mIdeal = (12 * sigma * sigma - n * wl * wl - 4 * n * wl - 3 * n) / (-4 * wl - 4);
|
|
var m = Math.round(mIdeal);
|
|
var sizes = [];
|
|
var _g = 0;
|
|
var _g1 = n;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
sizes.push(i < m ? wl : wu);
|
|
}
|
|
return sizes;
|
|
};
|
|
lime__$internal_graphics_ImageDataUtil.__pixelCompare = function(n1,n2) {
|
|
var tmp1 = n1 >>> 24 & 255;
|
|
var tmp2 = n2 >>> 24 & 255;
|
|
if(tmp1 != tmp2) {
|
|
if(UInt.gt(tmp1,tmp2)) {
|
|
return 1;
|
|
} else {
|
|
return -1;
|
|
}
|
|
} else {
|
|
tmp1 = n1 >>> 16 & 255;
|
|
tmp2 = n2 >>> 16 & 255;
|
|
if(tmp1 != tmp2) {
|
|
if(UInt.gt(tmp1,tmp2)) {
|
|
return 1;
|
|
} else {
|
|
return -1;
|
|
}
|
|
} else {
|
|
tmp1 = n1 >>> 8 & 255;
|
|
tmp2 = n2 >>> 8 & 255;
|
|
if(tmp1 != tmp2) {
|
|
if(UInt.gt(tmp1,tmp2)) {
|
|
return 1;
|
|
} else {
|
|
return -1;
|
|
}
|
|
} else {
|
|
tmp1 = n1 & 255;
|
|
tmp2 = n2 & 255;
|
|
if(tmp1 != tmp2) {
|
|
if(UInt.gt(tmp1,tmp2)) {
|
|
return 1;
|
|
} else {
|
|
return -1;
|
|
}
|
|
} else {
|
|
return 0;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
lime__$internal_graphics_ImageDataUtil.__translatePixel = function(imgB,sourceRect,destRect,destPoint,destX,destY,strength) {
|
|
var d = 4 * (destY * (destRect.width | 0) + destX);
|
|
var s = lime__$internal_graphics_ImageDataUtil.__calculateSourceOffset(sourceRect,destPoint,destX,destY);
|
|
if(s < 0) {
|
|
imgB[d] = imgB[d + 1] = imgB[d + 2] = imgB[d + 3] = 0;
|
|
} else {
|
|
imgB[d] = imgB[s];
|
|
imgB[d + 1] = imgB[s + 1];
|
|
imgB[d + 2] = imgB[s + 2];
|
|
var a = UInt.toFloat(imgB[s + 3]) * strength | 0;
|
|
imgB[d + 3] = a < 0 ? 0 : a > 255 ? 255 : a;
|
|
}
|
|
};
|
|
var lime__$internal_graphics__$ImageDataUtil_ImageDataView = function(image,rect) {
|
|
this.image = image;
|
|
if(rect == null) {
|
|
this.rect = image.get_rect();
|
|
} else {
|
|
if(rect.x < 0) {
|
|
rect.x = 0;
|
|
}
|
|
if(rect.y < 0) {
|
|
rect.y = 0;
|
|
}
|
|
if(rect.x + rect.width > image.width) {
|
|
rect.width = image.width - rect.x;
|
|
}
|
|
if(rect.y + rect.height > image.height) {
|
|
rect.height = image.height - rect.y;
|
|
}
|
|
if(rect.width < 0) {
|
|
rect.width = 0;
|
|
}
|
|
if(rect.height < 0) {
|
|
rect.height = 0;
|
|
}
|
|
this.rect = rect;
|
|
}
|
|
this.stride = image.buffer.get_stride();
|
|
this.__update();
|
|
};
|
|
$hxClasses["lime._internal.graphics._ImageDataUtil.ImageDataView"] = lime__$internal_graphics__$ImageDataUtil_ImageDataView;
|
|
lime__$internal_graphics__$ImageDataUtil_ImageDataView.__name__ = "lime._internal.graphics._ImageDataUtil.ImageDataView";
|
|
lime__$internal_graphics__$ImageDataUtil_ImageDataView.prototype = {
|
|
x: null
|
|
,y: null
|
|
,height: null
|
|
,width: null
|
|
,byteOffset: null
|
|
,image: null
|
|
,rect: null
|
|
,stride: null
|
|
,tempRect: null
|
|
,clip: function(x,y,width,height) {
|
|
if(this.tempRect == null) {
|
|
this.tempRect = new lime_math_Rectangle();
|
|
}
|
|
this.tempRect.setTo(x,y,width,height);
|
|
this.rect.intersection(this.tempRect,this.rect);
|
|
this.__update();
|
|
}
|
|
,hasRow: function(y) {
|
|
if(y >= 0) {
|
|
return y < this.height;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,offset: function(x,y) {
|
|
if(x < 0) {
|
|
this.rect.x += x;
|
|
if(this.rect.x < 0) {
|
|
this.rect.x = 0;
|
|
}
|
|
} else {
|
|
this.rect.x += x;
|
|
this.rect.width -= x;
|
|
}
|
|
if(y < 0) {
|
|
this.rect.y += y;
|
|
if(this.rect.y < 0) {
|
|
this.rect.y = 0;
|
|
}
|
|
} else {
|
|
this.rect.y += y;
|
|
this.rect.height -= y;
|
|
}
|
|
this.__update();
|
|
}
|
|
,row: function(y) {
|
|
return this.byteOffset + this.stride * y;
|
|
}
|
|
,__update: function() {
|
|
this.x = Math.ceil(this.rect.x);
|
|
this.y = Math.ceil(this.rect.y);
|
|
this.width = Math.floor(this.rect.width);
|
|
this.height = Math.floor(this.rect.height);
|
|
this.byteOffset = this.stride * (this.y + this.image.offsetY) + (this.x + this.image.offsetX) * 4;
|
|
}
|
|
,__class__: lime__$internal_graphics__$ImageDataUtil_ImageDataView
|
|
};
|
|
var lime__$internal_graphics_StackBlur = function() { };
|
|
$hxClasses["lime._internal.graphics.StackBlur"] = lime__$internal_graphics_StackBlur;
|
|
lime__$internal_graphics_StackBlur.__name__ = "lime._internal.graphics.StackBlur";
|
|
lime__$internal_graphics_StackBlur.blur = function(dest,source,sourceRect,destPoint,blurX,blurY,quality) {
|
|
dest.copyPixels(source,sourceRect,destPoint);
|
|
lime__$internal_graphics_StackBlur.__stackBlurCanvasRGBA(dest,sourceRect.width | 0,sourceRect.height | 0,blurX,blurY,quality);
|
|
};
|
|
lime__$internal_graphics_StackBlur.__stackBlurCanvasRGBA = function(image,width,height,blurX,blurY,quality) {
|
|
var radiusX = Math.round(blurX) >> 1;
|
|
var radiusY = Math.round(blurY) >> 1;
|
|
if(lime__$internal_graphics_StackBlur.MUL_TABLE == null) {
|
|
return;
|
|
}
|
|
if(radiusX >= lime__$internal_graphics_StackBlur.MUL_TABLE.length) {
|
|
radiusX = lime__$internal_graphics_StackBlur.MUL_TABLE.length - 1;
|
|
}
|
|
if(radiusY >= lime__$internal_graphics_StackBlur.MUL_TABLE.length) {
|
|
radiusY = lime__$internal_graphics_StackBlur.MUL_TABLE.length - 1;
|
|
}
|
|
if(radiusX < 0 || radiusY < 0) {
|
|
return;
|
|
}
|
|
var iterations = quality;
|
|
if(iterations < 1) {
|
|
iterations = 1;
|
|
}
|
|
if(iterations > 3) {
|
|
iterations = 3;
|
|
}
|
|
var px = image.get_data();
|
|
var x;
|
|
var y;
|
|
var i;
|
|
var p;
|
|
var yp;
|
|
var yi;
|
|
var yw;
|
|
var r;
|
|
var g;
|
|
var b;
|
|
var a;
|
|
var pr;
|
|
var pg;
|
|
var pb;
|
|
var pa;
|
|
var f;
|
|
var divx = radiusX + radiusX + 1;
|
|
var divy = radiusY + radiusY + 1;
|
|
var w = width;
|
|
var h = height;
|
|
var w1 = w - 1;
|
|
var h1 = h - 1;
|
|
var rxp1 = radiusX + 1;
|
|
var ryp1 = radiusY + 1;
|
|
var ssx = new lime__$internal_graphics_BlurStack();
|
|
var sx = ssx;
|
|
var _g = 1;
|
|
var _g1 = divx;
|
|
while(_g < _g1) {
|
|
var i1 = _g++;
|
|
sx = sx.n = new lime__$internal_graphics_BlurStack();
|
|
}
|
|
sx.n = ssx;
|
|
var ssy = new lime__$internal_graphics_BlurStack();
|
|
var sy = ssy;
|
|
var _g = 1;
|
|
var _g1 = divy;
|
|
while(_g < _g1) {
|
|
var i1 = _g++;
|
|
sy = sy.n = new lime__$internal_graphics_BlurStack();
|
|
}
|
|
sy.n = ssy;
|
|
var si = null;
|
|
var mtx = lime__$internal_graphics_StackBlur.MUL_TABLE[radiusX];
|
|
var stx = lime__$internal_graphics_StackBlur.SHG_TABLE[radiusX];
|
|
var mty = lime__$internal_graphics_StackBlur.MUL_TABLE[radiusY];
|
|
var sty = lime__$internal_graphics_StackBlur.SHG_TABLE[radiusY];
|
|
while(iterations > 0) {
|
|
--iterations;
|
|
yi = 0;
|
|
yw = yi;
|
|
var ms = mtx;
|
|
var ss = stx;
|
|
y = h;
|
|
while(true) {
|
|
pr = px[yi];
|
|
r = rxp1 * pr;
|
|
pg = px[yi + 1];
|
|
g = rxp1 * pg;
|
|
pb = px[yi + 2];
|
|
b = rxp1 * pb;
|
|
pa = px[yi + 3];
|
|
a = rxp1 * pa;
|
|
sx = ssx;
|
|
i = rxp1;
|
|
while(true) {
|
|
sx.r = pr;
|
|
sx.g = pg;
|
|
sx.b = pb;
|
|
sx.a = pa;
|
|
sx = sx.n;
|
|
if(!(--i > -1)) {
|
|
break;
|
|
}
|
|
}
|
|
var _g = 1;
|
|
var _g1 = rxp1;
|
|
while(_g < _g1) {
|
|
var i1 = _g++;
|
|
p = yi + ((w1 < i1 ? w1 : i1) << 2);
|
|
r += sx.r = px[p];
|
|
g += sx.g = px[p + 1];
|
|
b += sx.b = px[p + 2];
|
|
a += sx.a = px[p + 3];
|
|
sx = sx.n;
|
|
}
|
|
si = ssx;
|
|
var _g2 = 0;
|
|
var _g3 = w;
|
|
while(_g2 < _g3) {
|
|
var x = _g2++;
|
|
px[yi++] = r * ms >>> ss;
|
|
px[yi++] = g * ms >>> ss;
|
|
px[yi++] = b * ms >>> ss;
|
|
px[yi++] = a * ms >>> ss;
|
|
p = x + radiusX + 1;
|
|
p = yw + (p < w1 ? p : w1) << 2;
|
|
r -= si.r - (si.r = px[p]);
|
|
g -= si.g - (si.g = px[p + 1]);
|
|
b -= si.b - (si.b = px[p + 2]);
|
|
a -= si.a - (si.a = px[p + 3]);
|
|
si = si.n;
|
|
}
|
|
yw += w;
|
|
if(!(--y > 0)) {
|
|
break;
|
|
}
|
|
}
|
|
ms = mty;
|
|
ss = sty;
|
|
var _g4 = 0;
|
|
var _g5 = w;
|
|
while(_g4 < _g5) {
|
|
var x1 = _g4++;
|
|
yi = x1 << 2;
|
|
pr = px[yi];
|
|
r = ryp1 * pr;
|
|
pg = px[yi + 1];
|
|
g = ryp1 * pg;
|
|
pb = px[yi + 2];
|
|
b = ryp1 * pb;
|
|
pa = px[yi + 3];
|
|
a = ryp1 * pa;
|
|
sy = ssy;
|
|
var _g6 = 0;
|
|
var _g7 = ryp1;
|
|
while(_g6 < _g7) {
|
|
var i2 = _g6++;
|
|
sy.r = pr;
|
|
sy.g = pg;
|
|
sy.b = pb;
|
|
sy.a = pa;
|
|
sy = sy.n;
|
|
}
|
|
yp = w;
|
|
var _g8 = 1;
|
|
var _g9 = radiusY + 1;
|
|
while(_g8 < _g9) {
|
|
var i3 = _g8++;
|
|
yi = yp + x1 << 2;
|
|
r += sy.r = px[yi];
|
|
g += sy.g = px[yi + 1];
|
|
b += sy.b = px[yi + 2];
|
|
a += sy.a = px[yi + 3];
|
|
sy = sy.n;
|
|
if(i3 < h1) {
|
|
yp += w;
|
|
}
|
|
}
|
|
yi = x1;
|
|
si = ssy;
|
|
if(iterations > 0) {
|
|
var _g10 = 0;
|
|
var _g11 = h;
|
|
while(_g10 < _g11) {
|
|
var y1 = _g10++;
|
|
p = yi << 2;
|
|
pa = a * ms >>> ss;
|
|
px[p + 3] = pa;
|
|
if(pa > 0) {
|
|
px[p] = r * ms >>> ss;
|
|
px[p + 1] = g * ms >>> ss;
|
|
px[p + 2] = b * ms >>> ss;
|
|
} else {
|
|
px[p] = px[p + 1] = px[p + 2] = 0;
|
|
}
|
|
p = y1 + ryp1;
|
|
p = x1 + (p < h1 ? p : h1) * w << 2;
|
|
r -= si.r - (si.r = px[p]);
|
|
g -= si.g - (si.g = px[p + 1]);
|
|
b -= si.b - (si.b = px[p + 2]);
|
|
a -= si.a - (si.a = px[p + 3]);
|
|
si = si.n;
|
|
yi += w;
|
|
}
|
|
} else {
|
|
var _g12 = 0;
|
|
var _g13 = h;
|
|
while(_g12 < _g13) {
|
|
var y2 = _g12++;
|
|
p = yi << 2;
|
|
pa = a * ms >>> ss;
|
|
px[p + 3] = pa;
|
|
if(pa > 0) {
|
|
f = 255 / pa;
|
|
pr = (r * ms >>> ss) * f | 0;
|
|
pg = (g * ms >>> ss) * f | 0;
|
|
pb = (b * ms >>> ss) * f | 0;
|
|
px[p] = pr > 255 ? 255 : pr;
|
|
px[p + 1] = pg > 255 ? 255 : pg;
|
|
px[p + 2] = pb > 255 ? 255 : pb;
|
|
} else {
|
|
px[p] = px[p + 1] = px[p + 2] = 0;
|
|
}
|
|
p = y2 + ryp1;
|
|
p = x1 + (p < h1 ? p : h1) * w << 2;
|
|
r -= si.r - (si.r = px[p]);
|
|
g -= si.g - (si.g = px[p + 1]);
|
|
b -= si.b - (si.b = px[p + 2]);
|
|
a -= si.a - (si.a = px[p + 3]);
|
|
si = si.n;
|
|
yi += w;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
var lime__$internal_graphics_BlurStack = function() {
|
|
this.r = 0;
|
|
this.g = 0;
|
|
this.b = 0;
|
|
this.a = 0;
|
|
this.n = null;
|
|
};
|
|
$hxClasses["lime._internal.graphics.BlurStack"] = lime__$internal_graphics_BlurStack;
|
|
lime__$internal_graphics_BlurStack.__name__ = "lime._internal.graphics.BlurStack";
|
|
lime__$internal_graphics_BlurStack.prototype = {
|
|
r: null
|
|
,g: null
|
|
,b: null
|
|
,a: null
|
|
,n: null
|
|
,__class__: lime__$internal_graphics_BlurStack
|
|
};
|
|
var lime__$internal_macros_AssetsMacro = function() { };
|
|
$hxClasses["lime._internal.macros.AssetsMacro"] = lime__$internal_macros_AssetsMacro;
|
|
lime__$internal_macros_AssetsMacro.__name__ = "lime._internal.macros.AssetsMacro";
|
|
var lime_app_Event = function() {
|
|
this.canceled = false;
|
|
this.__listeners = [];
|
|
this.__priorities = [];
|
|
this.__repeat = [];
|
|
};
|
|
$hxClasses["lime.app.Event"] = lime_app_Event;
|
|
lime_app_Event.__name__ = "lime.app.Event";
|
|
lime_app_Event.prototype = {
|
|
canceled: null
|
|
,__listeners: null
|
|
,__repeat: null
|
|
,__priorities: null
|
|
,add: function(listener,once,priority) {
|
|
if(priority == null) {
|
|
priority = 0;
|
|
}
|
|
if(once == null) {
|
|
once = false;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.__priorities.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(priority > this.__priorities[i]) {
|
|
this.__listeners.splice(i,0,listener);
|
|
this.__priorities.splice(i,0,priority);
|
|
this.__repeat.splice(i,0,!once);
|
|
return;
|
|
}
|
|
}
|
|
this.__listeners.push(listener);
|
|
this.__priorities.push(priority);
|
|
this.__repeat.push(!once);
|
|
}
|
|
,cancel: function() {
|
|
this.canceled = true;
|
|
}
|
|
,dispatch: null
|
|
,has: function(listener) {
|
|
var _g = 0;
|
|
var _g1 = this.__listeners;
|
|
while(_g < _g1.length) {
|
|
var l = _g1[_g];
|
|
++_g;
|
|
if(Reflect.compareMethods(l,listener)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,remove: function(listener) {
|
|
var i = this.__listeners.length;
|
|
while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) {
|
|
this.__listeners.splice(i,1);
|
|
this.__priorities.splice(i,1);
|
|
this.__repeat.splice(i,1);
|
|
}
|
|
}
|
|
,removeAll: function() {
|
|
var len = this.__listeners.length;
|
|
this.__listeners.splice(0,len);
|
|
this.__priorities.splice(0,len);
|
|
this.__repeat.splice(0,len);
|
|
}
|
|
,__class__: lime_app_Event
|
|
};
|
|
var lime_app_Future = function(work,async) {
|
|
if(async == null) {
|
|
async = false;
|
|
}
|
|
if(work != null) {
|
|
if(async) {
|
|
var promise = new lime_app_Promise();
|
|
promise.future = this;
|
|
lime_app__$Future_FutureWork.queue({ promise : promise, work : work});
|
|
} else {
|
|
try {
|
|
this.value = work();
|
|
this.isComplete = true;
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
var e = haxe_Exception.caught(_g).unwrap();
|
|
this.error = e;
|
|
this.isError = true;
|
|
}
|
|
}
|
|
}
|
|
};
|
|
$hxClasses["lime.app.Future"] = lime_app_Future;
|
|
lime_app_Future.__name__ = "lime.app.Future";
|
|
lime_app_Future.ofEvents = function(onComplete,onError,onProgress) {
|
|
var promise = new lime_app_Promise();
|
|
onComplete.add(function(data) {
|
|
promise.complete(data);
|
|
},true);
|
|
if(onError != null) {
|
|
onError.add(function(error) {
|
|
promise.error(error);
|
|
},true);
|
|
}
|
|
if(onProgress != null) {
|
|
onProgress.add(function(progress,total) {
|
|
promise.progress(progress,total);
|
|
},true);
|
|
}
|
|
return promise.future;
|
|
};
|
|
lime_app_Future.withError = function(error) {
|
|
var future = new lime_app_Future();
|
|
future.isError = true;
|
|
future.error = error;
|
|
return future;
|
|
};
|
|
lime_app_Future.withValue = function(value) {
|
|
var future = new lime_app_Future();
|
|
future.isComplete = true;
|
|
future.value = value;
|
|
return future;
|
|
};
|
|
lime_app_Future.prototype = {
|
|
error: null
|
|
,isComplete: null
|
|
,isError: null
|
|
,value: null
|
|
,__completeListeners: null
|
|
,__errorListeners: null
|
|
,__progressListeners: null
|
|
,onComplete: function(listener) {
|
|
if(listener != null) {
|
|
if(this.isComplete) {
|
|
listener(this.value);
|
|
} else if(!this.isError) {
|
|
if(this.__completeListeners == null) {
|
|
this.__completeListeners = [];
|
|
}
|
|
this.__completeListeners.push(listener);
|
|
}
|
|
}
|
|
return this;
|
|
}
|
|
,onError: function(listener) {
|
|
if(listener != null) {
|
|
if(this.isError) {
|
|
listener(this.error);
|
|
} else if(!this.isComplete) {
|
|
if(this.__errorListeners == null) {
|
|
this.__errorListeners = [];
|
|
}
|
|
this.__errorListeners.push(listener);
|
|
}
|
|
}
|
|
return this;
|
|
}
|
|
,onProgress: function(listener) {
|
|
if(listener != null) {
|
|
if(this.__progressListeners == null) {
|
|
this.__progressListeners = [];
|
|
}
|
|
this.__progressListeners.push(listener);
|
|
}
|
|
return this;
|
|
}
|
|
,ready: function(waitTime) {
|
|
if(waitTime == null) {
|
|
waitTime = -1;
|
|
}
|
|
if(this.isComplete || this.isError) {
|
|
return this;
|
|
} else {
|
|
lime_utils_Log.warn("Cannot block thread in JavaScript",{ fileName : "lime/app/Future.hx", lineNumber : 208, className : "lime.app.Future", methodName : "ready"});
|
|
return this;
|
|
}
|
|
}
|
|
,result: function(waitTime) {
|
|
if(waitTime == null) {
|
|
waitTime = -1;
|
|
}
|
|
this.ready(waitTime);
|
|
if(this.isComplete) {
|
|
return this.value;
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
,then: function(next) {
|
|
if(this.isComplete) {
|
|
return next(this.value);
|
|
} else if(this.isError) {
|
|
var future = new lime_app_Future();
|
|
future.isError = true;
|
|
future.error = this.error;
|
|
return future;
|
|
} else {
|
|
var promise = new lime_app_Promise();
|
|
this.onError($bind(promise,promise.error));
|
|
this.onProgress($bind(promise,promise.progress));
|
|
this.onComplete(function(val) {
|
|
var future = next(val);
|
|
future.onError($bind(promise,promise.error));
|
|
future.onComplete($bind(promise,promise.complete));
|
|
});
|
|
return promise.future;
|
|
}
|
|
}
|
|
,__class__: lime_app_Future
|
|
};
|
|
var lime_app__$Future_FutureWork = function() { };
|
|
$hxClasses["lime.app._Future.FutureWork"] = lime_app__$Future_FutureWork;
|
|
lime_app__$Future_FutureWork.__name__ = "lime.app._Future.FutureWork";
|
|
lime_app__$Future_FutureWork.threadPool = null;
|
|
lime_app__$Future_FutureWork.queue = function(state) {
|
|
if(lime_app__$Future_FutureWork.threadPool == null) {
|
|
lime_app__$Future_FutureWork.threadPool = new lime_system_ThreadPool();
|
|
lime_app__$Future_FutureWork.threadPool.doWork.add(lime_app__$Future_FutureWork.threadPool_doWork);
|
|
lime_app__$Future_FutureWork.threadPool.onComplete.add(lime_app__$Future_FutureWork.threadPool_onComplete);
|
|
lime_app__$Future_FutureWork.threadPool.onError.add(lime_app__$Future_FutureWork.threadPool_onError);
|
|
}
|
|
lime_app__$Future_FutureWork.threadPool.queue(state);
|
|
};
|
|
lime_app__$Future_FutureWork.threadPool_doWork = function(state) {
|
|
try {
|
|
var result = state.work();
|
|
lime_app__$Future_FutureWork.threadPool.sendComplete({ promise : state.promise, result : result});
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
var e = haxe_Exception.caught(_g).unwrap();
|
|
lime_app__$Future_FutureWork.threadPool.sendError({ promise : state.promise, error : e});
|
|
}
|
|
};
|
|
lime_app__$Future_FutureWork.threadPool_onComplete = function(state) {
|
|
state.promise.complete(state.result);
|
|
};
|
|
lime_app__$Future_FutureWork.threadPool_onError = function(state) {
|
|
state.promise.error(state.error);
|
|
};
|
|
var lime_app_Promise = function() {
|
|
this.future = new lime_app_Future();
|
|
};
|
|
$hxClasses["lime.app.Promise"] = lime_app_Promise;
|
|
lime_app_Promise.__name__ = "lime.app.Promise";
|
|
lime_app_Promise.prototype = {
|
|
future: null
|
|
,isComplete: null
|
|
,isError: null
|
|
,complete: function(data) {
|
|
if(!this.future.isError) {
|
|
this.future.isComplete = true;
|
|
this.future.value = data;
|
|
if(this.future.__completeListeners != null) {
|
|
var _g = 0;
|
|
var _g1 = this.future.__completeListeners;
|
|
while(_g < _g1.length) {
|
|
var listener = _g1[_g];
|
|
++_g;
|
|
listener(data);
|
|
}
|
|
this.future.__completeListeners = null;
|
|
}
|
|
}
|
|
return this;
|
|
}
|
|
,completeWith: function(future) {
|
|
future.onComplete($bind(this,this.complete));
|
|
future.onError($bind(this,this.error));
|
|
future.onProgress($bind(this,this.progress));
|
|
return this;
|
|
}
|
|
,error: function(msg) {
|
|
if(!this.future.isComplete) {
|
|
this.future.isError = true;
|
|
this.future.error = msg;
|
|
if(this.future.__errorListeners != null) {
|
|
var _g = 0;
|
|
var _g1 = this.future.__errorListeners;
|
|
while(_g < _g1.length) {
|
|
var listener = _g1[_g];
|
|
++_g;
|
|
listener(msg);
|
|
}
|
|
this.future.__errorListeners = null;
|
|
}
|
|
}
|
|
return this;
|
|
}
|
|
,progress: function(progress,total) {
|
|
if(!this.future.isError && !this.future.isComplete) {
|
|
if(this.future.__progressListeners != null) {
|
|
var _g = 0;
|
|
var _g1 = this.future.__progressListeners;
|
|
while(_g < _g1.length) {
|
|
var listener = _g1[_g];
|
|
++_g;
|
|
listener(progress,total);
|
|
}
|
|
}
|
|
}
|
|
return this;
|
|
}
|
|
,get_isComplete: function() {
|
|
return this.future.isComplete;
|
|
}
|
|
,get_isError: function() {
|
|
return this.future.isError;
|
|
}
|
|
,__class__: lime_app_Promise
|
|
,__properties__: {get_isError:"get_isError",get_isComplete:"get_isComplete"}
|
|
};
|
|
var lime_app__$Event_$Array_$String_$_$Void = function() {
|
|
this.canceled = false;
|
|
this.__listeners = [];
|
|
this.__priorities = [];
|
|
this.__repeat = [];
|
|
};
|
|
$hxClasses["lime.app._Event_Array_String__Void"] = lime_app__$Event_$Array_$String_$_$Void;
|
|
lime_app__$Event_$Array_$String_$_$Void.__name__ = "lime.app._Event_Array_String__Void";
|
|
lime_app__$Event_$Array_$String_$_$Void.prototype = {
|
|
canceled: null
|
|
,__repeat: null
|
|
,__priorities: null
|
|
,add: function(listener,once,priority) {
|
|
if(priority == null) {
|
|
priority = 0;
|
|
}
|
|
if(once == null) {
|
|
once = false;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.__priorities.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(priority > this.__priorities[i]) {
|
|
this.__listeners.splice(i,0,listener);
|
|
this.__priorities.splice(i,0,priority);
|
|
this.__repeat.splice(i,0,!once);
|
|
return;
|
|
}
|
|
}
|
|
this.__listeners.push(listener);
|
|
this.__priorities.push(priority);
|
|
this.__repeat.push(!once);
|
|
}
|
|
,cancel: function() {
|
|
this.canceled = true;
|
|
}
|
|
,has: function(listener) {
|
|
var _g = 0;
|
|
var _g1 = this.__listeners;
|
|
while(_g < _g1.length) {
|
|
var l = _g1[_g];
|
|
++_g;
|
|
if(Reflect.compareMethods(l,listener)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,remove: function(listener) {
|
|
var i = this.__listeners.length;
|
|
while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) {
|
|
this.__listeners.splice(i,1);
|
|
this.__priorities.splice(i,1);
|
|
this.__repeat.splice(i,1);
|
|
}
|
|
}
|
|
,removeAll: function() {
|
|
var len = this.__listeners.length;
|
|
this.__listeners.splice(0,len);
|
|
this.__priorities.splice(0,len);
|
|
this.__repeat.splice(0,len);
|
|
}
|
|
,__listeners: null
|
|
,dispatch: function(a) {
|
|
this.canceled = false;
|
|
var listeners = this.__listeners;
|
|
var repeat = this.__repeat;
|
|
var i = 0;
|
|
while(i < listeners.length) {
|
|
listeners[i](a);
|
|
if(!repeat[i]) {
|
|
this.remove(listeners[i]);
|
|
} else {
|
|
++i;
|
|
}
|
|
if(this.canceled) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
,__class__: lime_app__$Event_$Array_$String_$_$Void
|
|
};
|
|
var lime_app__$Event_$Dynamic_$Void = function() {
|
|
this.canceled = false;
|
|
this.__listeners = [];
|
|
this.__priorities = [];
|
|
this.__repeat = [];
|
|
};
|
|
$hxClasses["lime.app._Event_Dynamic_Void"] = lime_app__$Event_$Dynamic_$Void;
|
|
lime_app__$Event_$Dynamic_$Void.__name__ = "lime.app._Event_Dynamic_Void";
|
|
lime_app__$Event_$Dynamic_$Void.prototype = {
|
|
canceled: null
|
|
,__repeat: null
|
|
,__priorities: null
|
|
,add: function(listener,once,priority) {
|
|
if(priority == null) {
|
|
priority = 0;
|
|
}
|
|
if(once == null) {
|
|
once = false;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.__priorities.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(priority > this.__priorities[i]) {
|
|
this.__listeners.splice(i,0,listener);
|
|
this.__priorities.splice(i,0,priority);
|
|
this.__repeat.splice(i,0,!once);
|
|
return;
|
|
}
|
|
}
|
|
this.__listeners.push(listener);
|
|
this.__priorities.push(priority);
|
|
this.__repeat.push(!once);
|
|
}
|
|
,cancel: function() {
|
|
this.canceled = true;
|
|
}
|
|
,has: function(listener) {
|
|
var _g = 0;
|
|
var _g1 = this.__listeners;
|
|
while(_g < _g1.length) {
|
|
var l = _g1[_g];
|
|
++_g;
|
|
if(Reflect.compareMethods(l,listener)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,remove: function(listener) {
|
|
var i = this.__listeners.length;
|
|
while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) {
|
|
this.__listeners.splice(i,1);
|
|
this.__priorities.splice(i,1);
|
|
this.__repeat.splice(i,1);
|
|
}
|
|
}
|
|
,removeAll: function() {
|
|
var len = this.__listeners.length;
|
|
this.__listeners.splice(0,len);
|
|
this.__priorities.splice(0,len);
|
|
this.__repeat.splice(0,len);
|
|
}
|
|
,__listeners: null
|
|
,dispatch: function(a) {
|
|
this.canceled = false;
|
|
var listeners = this.__listeners;
|
|
var repeat = this.__repeat;
|
|
var i = 0;
|
|
while(i < listeners.length) {
|
|
listeners[i](a);
|
|
if(!repeat[i]) {
|
|
this.remove(listeners[i]);
|
|
} else {
|
|
++i;
|
|
}
|
|
if(this.canceled) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
,__class__: lime_app__$Event_$Dynamic_$Void
|
|
};
|
|
var lime_app__$Event_$Float_$Float_$Float_$Void = function() {
|
|
this.canceled = false;
|
|
this.__listeners = [];
|
|
this.__priorities = [];
|
|
this.__repeat = [];
|
|
};
|
|
$hxClasses["lime.app._Event_Float_Float_Float_Void"] = lime_app__$Event_$Float_$Float_$Float_$Void;
|
|
lime_app__$Event_$Float_$Float_$Float_$Void.__name__ = "lime.app._Event_Float_Float_Float_Void";
|
|
lime_app__$Event_$Float_$Float_$Float_$Void.prototype = {
|
|
canceled: null
|
|
,__repeat: null
|
|
,__priorities: null
|
|
,add: function(listener,once,priority) {
|
|
if(priority == null) {
|
|
priority = 0;
|
|
}
|
|
if(once == null) {
|
|
once = false;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.__priorities.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(priority > this.__priorities[i]) {
|
|
this.__listeners.splice(i,0,listener);
|
|
this.__priorities.splice(i,0,priority);
|
|
this.__repeat.splice(i,0,!once);
|
|
return;
|
|
}
|
|
}
|
|
this.__listeners.push(listener);
|
|
this.__priorities.push(priority);
|
|
this.__repeat.push(!once);
|
|
}
|
|
,cancel: function() {
|
|
this.canceled = true;
|
|
}
|
|
,has: function(listener) {
|
|
var _g = 0;
|
|
var _g1 = this.__listeners;
|
|
while(_g < _g1.length) {
|
|
var l = _g1[_g];
|
|
++_g;
|
|
if(Reflect.compareMethods(l,listener)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,remove: function(listener) {
|
|
var i = this.__listeners.length;
|
|
while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) {
|
|
this.__listeners.splice(i,1);
|
|
this.__priorities.splice(i,1);
|
|
this.__repeat.splice(i,1);
|
|
}
|
|
}
|
|
,removeAll: function() {
|
|
var len = this.__listeners.length;
|
|
this.__listeners.splice(0,len);
|
|
this.__priorities.splice(0,len);
|
|
this.__repeat.splice(0,len);
|
|
}
|
|
,__listeners: null
|
|
,dispatch: function(a,a1,a2) {
|
|
this.canceled = false;
|
|
var listeners = this.__listeners;
|
|
var repeat = this.__repeat;
|
|
var i = 0;
|
|
while(i < listeners.length) {
|
|
listeners[i](a,a1,a2);
|
|
if(!repeat[i]) {
|
|
this.remove(listeners[i]);
|
|
} else {
|
|
++i;
|
|
}
|
|
if(this.canceled) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
,__class__: lime_app__$Event_$Float_$Float_$Float_$Void
|
|
};
|
|
var lime_app__$Event_$Float_$Float_$Int_$Void = function() {
|
|
this.canceled = false;
|
|
this.__listeners = [];
|
|
this.__priorities = [];
|
|
this.__repeat = [];
|
|
};
|
|
$hxClasses["lime.app._Event_Float_Float_Int_Void"] = lime_app__$Event_$Float_$Float_$Int_$Void;
|
|
lime_app__$Event_$Float_$Float_$Int_$Void.__name__ = "lime.app._Event_Float_Float_Int_Void";
|
|
lime_app__$Event_$Float_$Float_$Int_$Void.prototype = {
|
|
canceled: null
|
|
,__repeat: null
|
|
,__priorities: null
|
|
,add: function(listener,once,priority) {
|
|
if(priority == null) {
|
|
priority = 0;
|
|
}
|
|
if(once == null) {
|
|
once = false;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.__priorities.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(priority > this.__priorities[i]) {
|
|
this.__listeners.splice(i,0,listener);
|
|
this.__priorities.splice(i,0,priority);
|
|
this.__repeat.splice(i,0,!once);
|
|
return;
|
|
}
|
|
}
|
|
this.__listeners.push(listener);
|
|
this.__priorities.push(priority);
|
|
this.__repeat.push(!once);
|
|
}
|
|
,cancel: function() {
|
|
this.canceled = true;
|
|
}
|
|
,has: function(listener) {
|
|
var _g = 0;
|
|
var _g1 = this.__listeners;
|
|
while(_g < _g1.length) {
|
|
var l = _g1[_g];
|
|
++_g;
|
|
if(Reflect.compareMethods(l,listener)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,remove: function(listener) {
|
|
var i = this.__listeners.length;
|
|
while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) {
|
|
this.__listeners.splice(i,1);
|
|
this.__priorities.splice(i,1);
|
|
this.__repeat.splice(i,1);
|
|
}
|
|
}
|
|
,removeAll: function() {
|
|
var len = this.__listeners.length;
|
|
this.__listeners.splice(0,len);
|
|
this.__priorities.splice(0,len);
|
|
this.__repeat.splice(0,len);
|
|
}
|
|
,__listeners: null
|
|
,dispatch: function(a,a1,a2) {
|
|
this.canceled = false;
|
|
var listeners = this.__listeners;
|
|
var repeat = this.__repeat;
|
|
var i = 0;
|
|
while(i < listeners.length) {
|
|
listeners[i](a,a1,a2);
|
|
if(!repeat[i]) {
|
|
this.remove(listeners[i]);
|
|
} else {
|
|
++i;
|
|
}
|
|
if(this.canceled) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
,__class__: lime_app__$Event_$Float_$Float_$Int_$Void
|
|
};
|
|
var lime_app__$Event_$Float_$Float_$Void = function() {
|
|
this.canceled = false;
|
|
this.__listeners = [];
|
|
this.__priorities = [];
|
|
this.__repeat = [];
|
|
};
|
|
$hxClasses["lime.app._Event_Float_Float_Void"] = lime_app__$Event_$Float_$Float_$Void;
|
|
lime_app__$Event_$Float_$Float_$Void.__name__ = "lime.app._Event_Float_Float_Void";
|
|
lime_app__$Event_$Float_$Float_$Void.prototype = {
|
|
canceled: null
|
|
,__repeat: null
|
|
,__priorities: null
|
|
,add: function(listener,once,priority) {
|
|
if(priority == null) {
|
|
priority = 0;
|
|
}
|
|
if(once == null) {
|
|
once = false;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.__priorities.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(priority > this.__priorities[i]) {
|
|
this.__listeners.splice(i,0,listener);
|
|
this.__priorities.splice(i,0,priority);
|
|
this.__repeat.splice(i,0,!once);
|
|
return;
|
|
}
|
|
}
|
|
this.__listeners.push(listener);
|
|
this.__priorities.push(priority);
|
|
this.__repeat.push(!once);
|
|
}
|
|
,cancel: function() {
|
|
this.canceled = true;
|
|
}
|
|
,has: function(listener) {
|
|
var _g = 0;
|
|
var _g1 = this.__listeners;
|
|
while(_g < _g1.length) {
|
|
var l = _g1[_g];
|
|
++_g;
|
|
if(Reflect.compareMethods(l,listener)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,remove: function(listener) {
|
|
var i = this.__listeners.length;
|
|
while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) {
|
|
this.__listeners.splice(i,1);
|
|
this.__priorities.splice(i,1);
|
|
this.__repeat.splice(i,1);
|
|
}
|
|
}
|
|
,removeAll: function() {
|
|
var len = this.__listeners.length;
|
|
this.__listeners.splice(0,len);
|
|
this.__priorities.splice(0,len);
|
|
this.__repeat.splice(0,len);
|
|
}
|
|
,__listeners: null
|
|
,dispatch: function(a,a1) {
|
|
this.canceled = false;
|
|
var listeners = this.__listeners;
|
|
var repeat = this.__repeat;
|
|
var i = 0;
|
|
while(i < listeners.length) {
|
|
listeners[i](a,a1);
|
|
if(!repeat[i]) {
|
|
this.remove(listeners[i]);
|
|
} else {
|
|
++i;
|
|
}
|
|
if(this.canceled) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
,__class__: lime_app__$Event_$Float_$Float_$Void
|
|
};
|
|
var lime_app__$Event_$Float_$Float_$lime_$ui_$MouseButton_$Void = function() {
|
|
this.canceled = false;
|
|
this.__listeners = [];
|
|
this.__priorities = [];
|
|
this.__repeat = [];
|
|
};
|
|
$hxClasses["lime.app._Event_Float_Float_lime_ui_MouseButton_Void"] = lime_app__$Event_$Float_$Float_$lime_$ui_$MouseButton_$Void;
|
|
lime_app__$Event_$Float_$Float_$lime_$ui_$MouseButton_$Void.__name__ = "lime.app._Event_Float_Float_lime_ui_MouseButton_Void";
|
|
lime_app__$Event_$Float_$Float_$lime_$ui_$MouseButton_$Void.prototype = {
|
|
canceled: null
|
|
,__repeat: null
|
|
,__priorities: null
|
|
,add: function(listener,once,priority) {
|
|
if(priority == null) {
|
|
priority = 0;
|
|
}
|
|
if(once == null) {
|
|
once = false;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.__priorities.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(priority > this.__priorities[i]) {
|
|
this.__listeners.splice(i,0,listener);
|
|
this.__priorities.splice(i,0,priority);
|
|
this.__repeat.splice(i,0,!once);
|
|
return;
|
|
}
|
|
}
|
|
this.__listeners.push(listener);
|
|
this.__priorities.push(priority);
|
|
this.__repeat.push(!once);
|
|
}
|
|
,cancel: function() {
|
|
this.canceled = true;
|
|
}
|
|
,has: function(listener) {
|
|
var _g = 0;
|
|
var _g1 = this.__listeners;
|
|
while(_g < _g1.length) {
|
|
var l = _g1[_g];
|
|
++_g;
|
|
if(Reflect.compareMethods(l,listener)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,remove: function(listener) {
|
|
var i = this.__listeners.length;
|
|
while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) {
|
|
this.__listeners.splice(i,1);
|
|
this.__priorities.splice(i,1);
|
|
this.__repeat.splice(i,1);
|
|
}
|
|
}
|
|
,removeAll: function() {
|
|
var len = this.__listeners.length;
|
|
this.__listeners.splice(0,len);
|
|
this.__priorities.splice(0,len);
|
|
this.__repeat.splice(0,len);
|
|
}
|
|
,__listeners: null
|
|
,dispatch: function(a,a1,a2) {
|
|
this.canceled = false;
|
|
var listeners = this.__listeners;
|
|
var repeat = this.__repeat;
|
|
var i = 0;
|
|
while(i < listeners.length) {
|
|
listeners[i](a,a1,a2);
|
|
if(!repeat[i]) {
|
|
this.remove(listeners[i]);
|
|
} else {
|
|
++i;
|
|
}
|
|
if(this.canceled) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
,__class__: lime_app__$Event_$Float_$Float_$lime_$ui_$MouseButton_$Void
|
|
};
|
|
var lime_app__$Event_$Float_$Float_$lime_$ui_$MouseWheelMode_$Void = function() {
|
|
this.canceled = false;
|
|
this.__listeners = [];
|
|
this.__priorities = [];
|
|
this.__repeat = [];
|
|
};
|
|
$hxClasses["lime.app._Event_Float_Float_lime_ui_MouseWheelMode_Void"] = lime_app__$Event_$Float_$Float_$lime_$ui_$MouseWheelMode_$Void;
|
|
lime_app__$Event_$Float_$Float_$lime_$ui_$MouseWheelMode_$Void.__name__ = "lime.app._Event_Float_Float_lime_ui_MouseWheelMode_Void";
|
|
lime_app__$Event_$Float_$Float_$lime_$ui_$MouseWheelMode_$Void.prototype = {
|
|
canceled: null
|
|
,__repeat: null
|
|
,__priorities: null
|
|
,add: function(listener,once,priority) {
|
|
if(priority == null) {
|
|
priority = 0;
|
|
}
|
|
if(once == null) {
|
|
once = false;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.__priorities.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(priority > this.__priorities[i]) {
|
|
this.__listeners.splice(i,0,listener);
|
|
this.__priorities.splice(i,0,priority);
|
|
this.__repeat.splice(i,0,!once);
|
|
return;
|
|
}
|
|
}
|
|
this.__listeners.push(listener);
|
|
this.__priorities.push(priority);
|
|
this.__repeat.push(!once);
|
|
}
|
|
,cancel: function() {
|
|
this.canceled = true;
|
|
}
|
|
,has: function(listener) {
|
|
var _g = 0;
|
|
var _g1 = this.__listeners;
|
|
while(_g < _g1.length) {
|
|
var l = _g1[_g];
|
|
++_g;
|
|
if(Reflect.compareMethods(l,listener)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,remove: function(listener) {
|
|
var i = this.__listeners.length;
|
|
while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) {
|
|
this.__listeners.splice(i,1);
|
|
this.__priorities.splice(i,1);
|
|
this.__repeat.splice(i,1);
|
|
}
|
|
}
|
|
,removeAll: function() {
|
|
var len = this.__listeners.length;
|
|
this.__listeners.splice(0,len);
|
|
this.__priorities.splice(0,len);
|
|
this.__repeat.splice(0,len);
|
|
}
|
|
,__listeners: null
|
|
,dispatch: function(a,a1,a2) {
|
|
this.canceled = false;
|
|
var listeners = this.__listeners;
|
|
var repeat = this.__repeat;
|
|
var i = 0;
|
|
while(i < listeners.length) {
|
|
listeners[i](a,a1,a2);
|
|
if(!repeat[i]) {
|
|
this.remove(listeners[i]);
|
|
} else {
|
|
++i;
|
|
}
|
|
if(this.canceled) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
,__class__: lime_app__$Event_$Float_$Float_$lime_$ui_$MouseWheelMode_$Void
|
|
};
|
|
var lime_app__$Event_$Int_$Float_$Float_$Void = function() {
|
|
this.canceled = false;
|
|
this.__listeners = [];
|
|
this.__priorities = [];
|
|
this.__repeat = [];
|
|
};
|
|
$hxClasses["lime.app._Event_Int_Float_Float_Void"] = lime_app__$Event_$Int_$Float_$Float_$Void;
|
|
lime_app__$Event_$Int_$Float_$Float_$Void.__name__ = "lime.app._Event_Int_Float_Float_Void";
|
|
lime_app__$Event_$Int_$Float_$Float_$Void.prototype = {
|
|
canceled: null
|
|
,__repeat: null
|
|
,__priorities: null
|
|
,add: function(listener,once,priority) {
|
|
if(priority == null) {
|
|
priority = 0;
|
|
}
|
|
if(once == null) {
|
|
once = false;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.__priorities.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(priority > this.__priorities[i]) {
|
|
this.__listeners.splice(i,0,listener);
|
|
this.__priorities.splice(i,0,priority);
|
|
this.__repeat.splice(i,0,!once);
|
|
return;
|
|
}
|
|
}
|
|
this.__listeners.push(listener);
|
|
this.__priorities.push(priority);
|
|
this.__repeat.push(!once);
|
|
}
|
|
,cancel: function() {
|
|
this.canceled = true;
|
|
}
|
|
,has: function(listener) {
|
|
var _g = 0;
|
|
var _g1 = this.__listeners;
|
|
while(_g < _g1.length) {
|
|
var l = _g1[_g];
|
|
++_g;
|
|
if(Reflect.compareMethods(l,listener)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,remove: function(listener) {
|
|
var i = this.__listeners.length;
|
|
while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) {
|
|
this.__listeners.splice(i,1);
|
|
this.__priorities.splice(i,1);
|
|
this.__repeat.splice(i,1);
|
|
}
|
|
}
|
|
,removeAll: function() {
|
|
var len = this.__listeners.length;
|
|
this.__listeners.splice(0,len);
|
|
this.__priorities.splice(0,len);
|
|
this.__repeat.splice(0,len);
|
|
}
|
|
,__listeners: null
|
|
,dispatch: function(a,a1,a2) {
|
|
this.canceled = false;
|
|
var listeners = this.__listeners;
|
|
var repeat = this.__repeat;
|
|
var i = 0;
|
|
while(i < listeners.length) {
|
|
listeners[i](a,a1,a2);
|
|
if(!repeat[i]) {
|
|
this.remove(listeners[i]);
|
|
} else {
|
|
++i;
|
|
}
|
|
if(this.canceled) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
,__class__: lime_app__$Event_$Int_$Float_$Float_$Void
|
|
};
|
|
var lime_app__$Event_$Int_$Float_$Void = function() {
|
|
this.canceled = false;
|
|
this.__listeners = [];
|
|
this.__priorities = [];
|
|
this.__repeat = [];
|
|
};
|
|
$hxClasses["lime.app._Event_Int_Float_Void"] = lime_app__$Event_$Int_$Float_$Void;
|
|
lime_app__$Event_$Int_$Float_$Void.__name__ = "lime.app._Event_Int_Float_Void";
|
|
lime_app__$Event_$Int_$Float_$Void.prototype = {
|
|
canceled: null
|
|
,__repeat: null
|
|
,__priorities: null
|
|
,add: function(listener,once,priority) {
|
|
if(priority == null) {
|
|
priority = 0;
|
|
}
|
|
if(once == null) {
|
|
once = false;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.__priorities.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(priority > this.__priorities[i]) {
|
|
this.__listeners.splice(i,0,listener);
|
|
this.__priorities.splice(i,0,priority);
|
|
this.__repeat.splice(i,0,!once);
|
|
return;
|
|
}
|
|
}
|
|
this.__listeners.push(listener);
|
|
this.__priorities.push(priority);
|
|
this.__repeat.push(!once);
|
|
}
|
|
,cancel: function() {
|
|
this.canceled = true;
|
|
}
|
|
,has: function(listener) {
|
|
var _g = 0;
|
|
var _g1 = this.__listeners;
|
|
while(_g < _g1.length) {
|
|
var l = _g1[_g];
|
|
++_g;
|
|
if(Reflect.compareMethods(l,listener)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,remove: function(listener) {
|
|
var i = this.__listeners.length;
|
|
while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) {
|
|
this.__listeners.splice(i,1);
|
|
this.__priorities.splice(i,1);
|
|
this.__repeat.splice(i,1);
|
|
}
|
|
}
|
|
,removeAll: function() {
|
|
var len = this.__listeners.length;
|
|
this.__listeners.splice(0,len);
|
|
this.__priorities.splice(0,len);
|
|
this.__repeat.splice(0,len);
|
|
}
|
|
,__listeners: null
|
|
,dispatch: function(a,a1) {
|
|
this.canceled = false;
|
|
var listeners = this.__listeners;
|
|
var repeat = this.__repeat;
|
|
var i = 0;
|
|
while(i < listeners.length) {
|
|
listeners[i](a,a1);
|
|
if(!repeat[i]) {
|
|
this.remove(listeners[i]);
|
|
} else {
|
|
++i;
|
|
}
|
|
if(this.canceled) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
,__class__: lime_app__$Event_$Int_$Float_$Void
|
|
};
|
|
var lime_app__$Event_$Int_$Int_$Void = function() {
|
|
this.canceled = false;
|
|
this.__listeners = [];
|
|
this.__priorities = [];
|
|
this.__repeat = [];
|
|
};
|
|
$hxClasses["lime.app._Event_Int_Int_Void"] = lime_app__$Event_$Int_$Int_$Void;
|
|
lime_app__$Event_$Int_$Int_$Void.__name__ = "lime.app._Event_Int_Int_Void";
|
|
lime_app__$Event_$Int_$Int_$Void.prototype = {
|
|
canceled: null
|
|
,__repeat: null
|
|
,__priorities: null
|
|
,add: function(listener,once,priority) {
|
|
if(priority == null) {
|
|
priority = 0;
|
|
}
|
|
if(once == null) {
|
|
once = false;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.__priorities.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(priority > this.__priorities[i]) {
|
|
this.__listeners.splice(i,0,listener);
|
|
this.__priorities.splice(i,0,priority);
|
|
this.__repeat.splice(i,0,!once);
|
|
return;
|
|
}
|
|
}
|
|
this.__listeners.push(listener);
|
|
this.__priorities.push(priority);
|
|
this.__repeat.push(!once);
|
|
}
|
|
,cancel: function() {
|
|
this.canceled = true;
|
|
}
|
|
,has: function(listener) {
|
|
var _g = 0;
|
|
var _g1 = this.__listeners;
|
|
while(_g < _g1.length) {
|
|
var l = _g1[_g];
|
|
++_g;
|
|
if(Reflect.compareMethods(l,listener)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,remove: function(listener) {
|
|
var i = this.__listeners.length;
|
|
while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) {
|
|
this.__listeners.splice(i,1);
|
|
this.__priorities.splice(i,1);
|
|
this.__repeat.splice(i,1);
|
|
}
|
|
}
|
|
,removeAll: function() {
|
|
var len = this.__listeners.length;
|
|
this.__listeners.splice(0,len);
|
|
this.__priorities.splice(0,len);
|
|
this.__repeat.splice(0,len);
|
|
}
|
|
,__listeners: null
|
|
,dispatch: function(a,a1) {
|
|
this.canceled = false;
|
|
var listeners = this.__listeners;
|
|
var repeat = this.__repeat;
|
|
var i = 0;
|
|
while(i < listeners.length) {
|
|
listeners[i](a,a1);
|
|
if(!repeat[i]) {
|
|
this.remove(listeners[i]);
|
|
} else {
|
|
++i;
|
|
}
|
|
if(this.canceled) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
,__class__: lime_app__$Event_$Int_$Int_$Void
|
|
};
|
|
var lime_app__$Event_$Int_$Void = function() {
|
|
this.canceled = false;
|
|
this.__listeners = [];
|
|
this.__priorities = [];
|
|
this.__repeat = [];
|
|
};
|
|
$hxClasses["lime.app._Event_Int_Void"] = lime_app__$Event_$Int_$Void;
|
|
lime_app__$Event_$Int_$Void.__name__ = "lime.app._Event_Int_Void";
|
|
lime_app__$Event_$Int_$Void.prototype = {
|
|
canceled: null
|
|
,__repeat: null
|
|
,__priorities: null
|
|
,add: function(listener,once,priority) {
|
|
if(priority == null) {
|
|
priority = 0;
|
|
}
|
|
if(once == null) {
|
|
once = false;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.__priorities.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(priority > this.__priorities[i]) {
|
|
this.__listeners.splice(i,0,listener);
|
|
this.__priorities.splice(i,0,priority);
|
|
this.__repeat.splice(i,0,!once);
|
|
return;
|
|
}
|
|
}
|
|
this.__listeners.push(listener);
|
|
this.__priorities.push(priority);
|
|
this.__repeat.push(!once);
|
|
}
|
|
,cancel: function() {
|
|
this.canceled = true;
|
|
}
|
|
,has: function(listener) {
|
|
var _g = 0;
|
|
var _g1 = this.__listeners;
|
|
while(_g < _g1.length) {
|
|
var l = _g1[_g];
|
|
++_g;
|
|
if(Reflect.compareMethods(l,listener)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,remove: function(listener) {
|
|
var i = this.__listeners.length;
|
|
while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) {
|
|
this.__listeners.splice(i,1);
|
|
this.__priorities.splice(i,1);
|
|
this.__repeat.splice(i,1);
|
|
}
|
|
}
|
|
,removeAll: function() {
|
|
var len = this.__listeners.length;
|
|
this.__listeners.splice(0,len);
|
|
this.__priorities.splice(0,len);
|
|
this.__repeat.splice(0,len);
|
|
}
|
|
,__listeners: null
|
|
,dispatch: function(a) {
|
|
this.canceled = false;
|
|
var listeners = this.__listeners;
|
|
var repeat = this.__repeat;
|
|
var i = 0;
|
|
while(i < listeners.length) {
|
|
listeners[i](a);
|
|
if(!repeat[i]) {
|
|
this.remove(listeners[i]);
|
|
} else {
|
|
++i;
|
|
}
|
|
if(this.canceled) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
,__class__: lime_app__$Event_$Int_$Void
|
|
};
|
|
var lime_app__$Event_$Int_$lime_$ui_$JoystickHatPosition_$Void = function() {
|
|
this.canceled = false;
|
|
this.__listeners = [];
|
|
this.__priorities = [];
|
|
this.__repeat = [];
|
|
};
|
|
$hxClasses["lime.app._Event_Int_lime_ui_JoystickHatPosition_Void"] = lime_app__$Event_$Int_$lime_$ui_$JoystickHatPosition_$Void;
|
|
lime_app__$Event_$Int_$lime_$ui_$JoystickHatPosition_$Void.__name__ = "lime.app._Event_Int_lime_ui_JoystickHatPosition_Void";
|
|
lime_app__$Event_$Int_$lime_$ui_$JoystickHatPosition_$Void.prototype = {
|
|
canceled: null
|
|
,__repeat: null
|
|
,__priorities: null
|
|
,add: function(listener,once,priority) {
|
|
if(priority == null) {
|
|
priority = 0;
|
|
}
|
|
if(once == null) {
|
|
once = false;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.__priorities.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(priority > this.__priorities[i]) {
|
|
this.__listeners.splice(i,0,listener);
|
|
this.__priorities.splice(i,0,priority);
|
|
this.__repeat.splice(i,0,!once);
|
|
return;
|
|
}
|
|
}
|
|
this.__listeners.push(listener);
|
|
this.__priorities.push(priority);
|
|
this.__repeat.push(!once);
|
|
}
|
|
,cancel: function() {
|
|
this.canceled = true;
|
|
}
|
|
,has: function(listener) {
|
|
var _g = 0;
|
|
var _g1 = this.__listeners;
|
|
while(_g < _g1.length) {
|
|
var l = _g1[_g];
|
|
++_g;
|
|
if(Reflect.compareMethods(l,listener)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,remove: function(listener) {
|
|
var i = this.__listeners.length;
|
|
while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) {
|
|
this.__listeners.splice(i,1);
|
|
this.__priorities.splice(i,1);
|
|
this.__repeat.splice(i,1);
|
|
}
|
|
}
|
|
,removeAll: function() {
|
|
var len = this.__listeners.length;
|
|
this.__listeners.splice(0,len);
|
|
this.__priorities.splice(0,len);
|
|
this.__repeat.splice(0,len);
|
|
}
|
|
,__listeners: null
|
|
,dispatch: function(a,a1) {
|
|
this.canceled = false;
|
|
var listeners = this.__listeners;
|
|
var repeat = this.__repeat;
|
|
var i = 0;
|
|
while(i < listeners.length) {
|
|
listeners[i](a,a1);
|
|
if(!repeat[i]) {
|
|
this.remove(listeners[i]);
|
|
} else {
|
|
++i;
|
|
}
|
|
if(this.canceled) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
,__class__: lime_app__$Event_$Int_$lime_$ui_$JoystickHatPosition_$Void
|
|
};
|
|
var lime_app__$Event_$String_$Int_$Int_$Void = function() {
|
|
this.canceled = false;
|
|
this.__listeners = [];
|
|
this.__priorities = [];
|
|
this.__repeat = [];
|
|
};
|
|
$hxClasses["lime.app._Event_String_Int_Int_Void"] = lime_app__$Event_$String_$Int_$Int_$Void;
|
|
lime_app__$Event_$String_$Int_$Int_$Void.__name__ = "lime.app._Event_String_Int_Int_Void";
|
|
lime_app__$Event_$String_$Int_$Int_$Void.prototype = {
|
|
canceled: null
|
|
,__repeat: null
|
|
,__priorities: null
|
|
,add: function(listener,once,priority) {
|
|
if(priority == null) {
|
|
priority = 0;
|
|
}
|
|
if(once == null) {
|
|
once = false;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.__priorities.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(priority > this.__priorities[i]) {
|
|
this.__listeners.splice(i,0,listener);
|
|
this.__priorities.splice(i,0,priority);
|
|
this.__repeat.splice(i,0,!once);
|
|
return;
|
|
}
|
|
}
|
|
this.__listeners.push(listener);
|
|
this.__priorities.push(priority);
|
|
this.__repeat.push(!once);
|
|
}
|
|
,cancel: function() {
|
|
this.canceled = true;
|
|
}
|
|
,has: function(listener) {
|
|
var _g = 0;
|
|
var _g1 = this.__listeners;
|
|
while(_g < _g1.length) {
|
|
var l = _g1[_g];
|
|
++_g;
|
|
if(Reflect.compareMethods(l,listener)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,remove: function(listener) {
|
|
var i = this.__listeners.length;
|
|
while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) {
|
|
this.__listeners.splice(i,1);
|
|
this.__priorities.splice(i,1);
|
|
this.__repeat.splice(i,1);
|
|
}
|
|
}
|
|
,removeAll: function() {
|
|
var len = this.__listeners.length;
|
|
this.__listeners.splice(0,len);
|
|
this.__priorities.splice(0,len);
|
|
this.__repeat.splice(0,len);
|
|
}
|
|
,__listeners: null
|
|
,dispatch: function(a,a1,a2) {
|
|
this.canceled = false;
|
|
var listeners = this.__listeners;
|
|
var repeat = this.__repeat;
|
|
var i = 0;
|
|
while(i < listeners.length) {
|
|
listeners[i](a,a1,a2);
|
|
if(!repeat[i]) {
|
|
this.remove(listeners[i]);
|
|
} else {
|
|
++i;
|
|
}
|
|
if(this.canceled) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
,__class__: lime_app__$Event_$String_$Int_$Int_$Void
|
|
};
|
|
var lime_app__$Event_$String_$Void = function() {
|
|
this.canceled = false;
|
|
this.__listeners = [];
|
|
this.__priorities = [];
|
|
this.__repeat = [];
|
|
};
|
|
$hxClasses["lime.app._Event_String_Void"] = lime_app__$Event_$String_$Void;
|
|
lime_app__$Event_$String_$Void.__name__ = "lime.app._Event_String_Void";
|
|
lime_app__$Event_$String_$Void.prototype = {
|
|
canceled: null
|
|
,__repeat: null
|
|
,__priorities: null
|
|
,add: function(listener,once,priority) {
|
|
if(priority == null) {
|
|
priority = 0;
|
|
}
|
|
if(once == null) {
|
|
once = false;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.__priorities.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(priority > this.__priorities[i]) {
|
|
this.__listeners.splice(i,0,listener);
|
|
this.__priorities.splice(i,0,priority);
|
|
this.__repeat.splice(i,0,!once);
|
|
return;
|
|
}
|
|
}
|
|
this.__listeners.push(listener);
|
|
this.__priorities.push(priority);
|
|
this.__repeat.push(!once);
|
|
}
|
|
,cancel: function() {
|
|
this.canceled = true;
|
|
}
|
|
,has: function(listener) {
|
|
var _g = 0;
|
|
var _g1 = this.__listeners;
|
|
while(_g < _g1.length) {
|
|
var l = _g1[_g];
|
|
++_g;
|
|
if(Reflect.compareMethods(l,listener)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,remove: function(listener) {
|
|
var i = this.__listeners.length;
|
|
while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) {
|
|
this.__listeners.splice(i,1);
|
|
this.__priorities.splice(i,1);
|
|
this.__repeat.splice(i,1);
|
|
}
|
|
}
|
|
,removeAll: function() {
|
|
var len = this.__listeners.length;
|
|
this.__listeners.splice(0,len);
|
|
this.__priorities.splice(0,len);
|
|
this.__repeat.splice(0,len);
|
|
}
|
|
,__listeners: null
|
|
,dispatch: function(a) {
|
|
this.canceled = false;
|
|
var listeners = this.__listeners;
|
|
var repeat = this.__repeat;
|
|
var i = 0;
|
|
while(i < listeners.length) {
|
|
listeners[i](a);
|
|
if(!repeat[i]) {
|
|
this.remove(listeners[i]);
|
|
} else {
|
|
++i;
|
|
}
|
|
if(this.canceled) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
,__class__: lime_app__$Event_$String_$Void
|
|
};
|
|
var lime_app__$Event_$Void_$Void = function() {
|
|
this.canceled = false;
|
|
this.__listeners = [];
|
|
this.__priorities = [];
|
|
this.__repeat = [];
|
|
};
|
|
$hxClasses["lime.app._Event_Void_Void"] = lime_app__$Event_$Void_$Void;
|
|
lime_app__$Event_$Void_$Void.__name__ = "lime.app._Event_Void_Void";
|
|
lime_app__$Event_$Void_$Void.prototype = {
|
|
canceled: null
|
|
,__repeat: null
|
|
,__priorities: null
|
|
,add: function(listener,once,priority) {
|
|
if(priority == null) {
|
|
priority = 0;
|
|
}
|
|
if(once == null) {
|
|
once = false;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.__priorities.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(priority > this.__priorities[i]) {
|
|
this.__listeners.splice(i,0,listener);
|
|
this.__priorities.splice(i,0,priority);
|
|
this.__repeat.splice(i,0,!once);
|
|
return;
|
|
}
|
|
}
|
|
this.__listeners.push(listener);
|
|
this.__priorities.push(priority);
|
|
this.__repeat.push(!once);
|
|
}
|
|
,cancel: function() {
|
|
this.canceled = true;
|
|
}
|
|
,has: function(listener) {
|
|
var _g = 0;
|
|
var _g1 = this.__listeners;
|
|
while(_g < _g1.length) {
|
|
var l = _g1[_g];
|
|
++_g;
|
|
if(Reflect.compareMethods(l,listener)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,remove: function(listener) {
|
|
var i = this.__listeners.length;
|
|
while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) {
|
|
this.__listeners.splice(i,1);
|
|
this.__priorities.splice(i,1);
|
|
this.__repeat.splice(i,1);
|
|
}
|
|
}
|
|
,removeAll: function() {
|
|
var len = this.__listeners.length;
|
|
this.__listeners.splice(0,len);
|
|
this.__priorities.splice(0,len);
|
|
this.__repeat.splice(0,len);
|
|
}
|
|
,__listeners: null
|
|
,dispatch: function() {
|
|
this.canceled = false;
|
|
var listeners = this.__listeners;
|
|
var repeat = this.__repeat;
|
|
var i = 0;
|
|
while(i < listeners.length) {
|
|
listeners[i]();
|
|
if(!repeat[i]) {
|
|
this.remove(listeners[i]);
|
|
} else {
|
|
++i;
|
|
}
|
|
if(this.canceled) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
,__class__: lime_app__$Event_$Void_$Void
|
|
};
|
|
var lime_app__$Event_$lime_$graphics_$RenderContext_$Void = function() {
|
|
this.canceled = false;
|
|
this.__listeners = [];
|
|
this.__priorities = [];
|
|
this.__repeat = [];
|
|
};
|
|
$hxClasses["lime.app._Event_lime_graphics_RenderContext_Void"] = lime_app__$Event_$lime_$graphics_$RenderContext_$Void;
|
|
lime_app__$Event_$lime_$graphics_$RenderContext_$Void.__name__ = "lime.app._Event_lime_graphics_RenderContext_Void";
|
|
lime_app__$Event_$lime_$graphics_$RenderContext_$Void.prototype = {
|
|
canceled: null
|
|
,__repeat: null
|
|
,__priorities: null
|
|
,add: function(listener,once,priority) {
|
|
if(priority == null) {
|
|
priority = 0;
|
|
}
|
|
if(once == null) {
|
|
once = false;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.__priorities.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(priority > this.__priorities[i]) {
|
|
this.__listeners.splice(i,0,listener);
|
|
this.__priorities.splice(i,0,priority);
|
|
this.__repeat.splice(i,0,!once);
|
|
return;
|
|
}
|
|
}
|
|
this.__listeners.push(listener);
|
|
this.__priorities.push(priority);
|
|
this.__repeat.push(!once);
|
|
}
|
|
,cancel: function() {
|
|
this.canceled = true;
|
|
}
|
|
,has: function(listener) {
|
|
var _g = 0;
|
|
var _g1 = this.__listeners;
|
|
while(_g < _g1.length) {
|
|
var l = _g1[_g];
|
|
++_g;
|
|
if(Reflect.compareMethods(l,listener)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,remove: function(listener) {
|
|
var i = this.__listeners.length;
|
|
while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) {
|
|
this.__listeners.splice(i,1);
|
|
this.__priorities.splice(i,1);
|
|
this.__repeat.splice(i,1);
|
|
}
|
|
}
|
|
,removeAll: function() {
|
|
var len = this.__listeners.length;
|
|
this.__listeners.splice(0,len);
|
|
this.__priorities.splice(0,len);
|
|
this.__repeat.splice(0,len);
|
|
}
|
|
,__listeners: null
|
|
,dispatch: function(a) {
|
|
this.canceled = false;
|
|
var listeners = this.__listeners;
|
|
var repeat = this.__repeat;
|
|
var i = 0;
|
|
while(i < listeners.length) {
|
|
listeners[i](a);
|
|
if(!repeat[i]) {
|
|
this.remove(listeners[i]);
|
|
} else {
|
|
++i;
|
|
}
|
|
if(this.canceled) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
,__class__: lime_app__$Event_$lime_$graphics_$RenderContext_$Void
|
|
};
|
|
var lime_app__$Event_$lime_$ui_$GamepadAxis_$Float_$Void = function() {
|
|
this.canceled = false;
|
|
this.__listeners = [];
|
|
this.__priorities = [];
|
|
this.__repeat = [];
|
|
};
|
|
$hxClasses["lime.app._Event_lime_ui_GamepadAxis_Float_Void"] = lime_app__$Event_$lime_$ui_$GamepadAxis_$Float_$Void;
|
|
lime_app__$Event_$lime_$ui_$GamepadAxis_$Float_$Void.__name__ = "lime.app._Event_lime_ui_GamepadAxis_Float_Void";
|
|
lime_app__$Event_$lime_$ui_$GamepadAxis_$Float_$Void.prototype = {
|
|
canceled: null
|
|
,__repeat: null
|
|
,__priorities: null
|
|
,add: function(listener,once,priority) {
|
|
if(priority == null) {
|
|
priority = 0;
|
|
}
|
|
if(once == null) {
|
|
once = false;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.__priorities.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(priority > this.__priorities[i]) {
|
|
this.__listeners.splice(i,0,listener);
|
|
this.__priorities.splice(i,0,priority);
|
|
this.__repeat.splice(i,0,!once);
|
|
return;
|
|
}
|
|
}
|
|
this.__listeners.push(listener);
|
|
this.__priorities.push(priority);
|
|
this.__repeat.push(!once);
|
|
}
|
|
,cancel: function() {
|
|
this.canceled = true;
|
|
}
|
|
,has: function(listener) {
|
|
var _g = 0;
|
|
var _g1 = this.__listeners;
|
|
while(_g < _g1.length) {
|
|
var l = _g1[_g];
|
|
++_g;
|
|
if(Reflect.compareMethods(l,listener)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,remove: function(listener) {
|
|
var i = this.__listeners.length;
|
|
while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) {
|
|
this.__listeners.splice(i,1);
|
|
this.__priorities.splice(i,1);
|
|
this.__repeat.splice(i,1);
|
|
}
|
|
}
|
|
,removeAll: function() {
|
|
var len = this.__listeners.length;
|
|
this.__listeners.splice(0,len);
|
|
this.__priorities.splice(0,len);
|
|
this.__repeat.splice(0,len);
|
|
}
|
|
,__listeners: null
|
|
,dispatch: function(a,a1) {
|
|
this.canceled = false;
|
|
var listeners = this.__listeners;
|
|
var repeat = this.__repeat;
|
|
var i = 0;
|
|
while(i < listeners.length) {
|
|
listeners[i](a,a1);
|
|
if(!repeat[i]) {
|
|
this.remove(listeners[i]);
|
|
} else {
|
|
++i;
|
|
}
|
|
if(this.canceled) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
,__class__: lime_app__$Event_$lime_$ui_$GamepadAxis_$Float_$Void
|
|
};
|
|
var lime_app__$Event_$lime_$ui_$GamepadButton_$Void = function() {
|
|
this.canceled = false;
|
|
this.__listeners = [];
|
|
this.__priorities = [];
|
|
this.__repeat = [];
|
|
};
|
|
$hxClasses["lime.app._Event_lime_ui_GamepadButton_Void"] = lime_app__$Event_$lime_$ui_$GamepadButton_$Void;
|
|
lime_app__$Event_$lime_$ui_$GamepadButton_$Void.__name__ = "lime.app._Event_lime_ui_GamepadButton_Void";
|
|
lime_app__$Event_$lime_$ui_$GamepadButton_$Void.prototype = {
|
|
canceled: null
|
|
,__repeat: null
|
|
,__priorities: null
|
|
,add: function(listener,once,priority) {
|
|
if(priority == null) {
|
|
priority = 0;
|
|
}
|
|
if(once == null) {
|
|
once = false;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.__priorities.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(priority > this.__priorities[i]) {
|
|
this.__listeners.splice(i,0,listener);
|
|
this.__priorities.splice(i,0,priority);
|
|
this.__repeat.splice(i,0,!once);
|
|
return;
|
|
}
|
|
}
|
|
this.__listeners.push(listener);
|
|
this.__priorities.push(priority);
|
|
this.__repeat.push(!once);
|
|
}
|
|
,cancel: function() {
|
|
this.canceled = true;
|
|
}
|
|
,has: function(listener) {
|
|
var _g = 0;
|
|
var _g1 = this.__listeners;
|
|
while(_g < _g1.length) {
|
|
var l = _g1[_g];
|
|
++_g;
|
|
if(Reflect.compareMethods(l,listener)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,remove: function(listener) {
|
|
var i = this.__listeners.length;
|
|
while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) {
|
|
this.__listeners.splice(i,1);
|
|
this.__priorities.splice(i,1);
|
|
this.__repeat.splice(i,1);
|
|
}
|
|
}
|
|
,removeAll: function() {
|
|
var len = this.__listeners.length;
|
|
this.__listeners.splice(0,len);
|
|
this.__priorities.splice(0,len);
|
|
this.__repeat.splice(0,len);
|
|
}
|
|
,__listeners: null
|
|
,dispatch: function(a) {
|
|
this.canceled = false;
|
|
var listeners = this.__listeners;
|
|
var repeat = this.__repeat;
|
|
var i = 0;
|
|
while(i < listeners.length) {
|
|
listeners[i](a);
|
|
if(!repeat[i]) {
|
|
this.remove(listeners[i]);
|
|
} else {
|
|
++i;
|
|
}
|
|
if(this.canceled) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
,__class__: lime_app__$Event_$lime_$ui_$GamepadButton_$Void
|
|
};
|
|
var lime_app__$Event_$lime_$ui_$Gamepad_$Void = function() {
|
|
this.canceled = false;
|
|
this.__listeners = [];
|
|
this.__priorities = [];
|
|
this.__repeat = [];
|
|
};
|
|
$hxClasses["lime.app._Event_lime_ui_Gamepad_Void"] = lime_app__$Event_$lime_$ui_$Gamepad_$Void;
|
|
lime_app__$Event_$lime_$ui_$Gamepad_$Void.__name__ = "lime.app._Event_lime_ui_Gamepad_Void";
|
|
lime_app__$Event_$lime_$ui_$Gamepad_$Void.prototype = {
|
|
canceled: null
|
|
,__repeat: null
|
|
,__priorities: null
|
|
,add: function(listener,once,priority) {
|
|
if(priority == null) {
|
|
priority = 0;
|
|
}
|
|
if(once == null) {
|
|
once = false;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.__priorities.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(priority > this.__priorities[i]) {
|
|
this.__listeners.splice(i,0,listener);
|
|
this.__priorities.splice(i,0,priority);
|
|
this.__repeat.splice(i,0,!once);
|
|
return;
|
|
}
|
|
}
|
|
this.__listeners.push(listener);
|
|
this.__priorities.push(priority);
|
|
this.__repeat.push(!once);
|
|
}
|
|
,cancel: function() {
|
|
this.canceled = true;
|
|
}
|
|
,has: function(listener) {
|
|
var _g = 0;
|
|
var _g1 = this.__listeners;
|
|
while(_g < _g1.length) {
|
|
var l = _g1[_g];
|
|
++_g;
|
|
if(Reflect.compareMethods(l,listener)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,remove: function(listener) {
|
|
var i = this.__listeners.length;
|
|
while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) {
|
|
this.__listeners.splice(i,1);
|
|
this.__priorities.splice(i,1);
|
|
this.__repeat.splice(i,1);
|
|
}
|
|
}
|
|
,removeAll: function() {
|
|
var len = this.__listeners.length;
|
|
this.__listeners.splice(0,len);
|
|
this.__priorities.splice(0,len);
|
|
this.__repeat.splice(0,len);
|
|
}
|
|
,__listeners: null
|
|
,dispatch: function(a) {
|
|
this.canceled = false;
|
|
var listeners = this.__listeners;
|
|
var repeat = this.__repeat;
|
|
var i = 0;
|
|
while(i < listeners.length) {
|
|
listeners[i](a);
|
|
if(!repeat[i]) {
|
|
this.remove(listeners[i]);
|
|
} else {
|
|
++i;
|
|
}
|
|
if(this.canceled) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
,__class__: lime_app__$Event_$lime_$ui_$Gamepad_$Void
|
|
};
|
|
var lime_app__$Event_$lime_$ui_$Joystick_$Void = function() {
|
|
this.canceled = false;
|
|
this.__listeners = [];
|
|
this.__priorities = [];
|
|
this.__repeat = [];
|
|
};
|
|
$hxClasses["lime.app._Event_lime_ui_Joystick_Void"] = lime_app__$Event_$lime_$ui_$Joystick_$Void;
|
|
lime_app__$Event_$lime_$ui_$Joystick_$Void.__name__ = "lime.app._Event_lime_ui_Joystick_Void";
|
|
lime_app__$Event_$lime_$ui_$Joystick_$Void.prototype = {
|
|
canceled: null
|
|
,__repeat: null
|
|
,__priorities: null
|
|
,add: function(listener,once,priority) {
|
|
if(priority == null) {
|
|
priority = 0;
|
|
}
|
|
if(once == null) {
|
|
once = false;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.__priorities.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(priority > this.__priorities[i]) {
|
|
this.__listeners.splice(i,0,listener);
|
|
this.__priorities.splice(i,0,priority);
|
|
this.__repeat.splice(i,0,!once);
|
|
return;
|
|
}
|
|
}
|
|
this.__listeners.push(listener);
|
|
this.__priorities.push(priority);
|
|
this.__repeat.push(!once);
|
|
}
|
|
,cancel: function() {
|
|
this.canceled = true;
|
|
}
|
|
,has: function(listener) {
|
|
var _g = 0;
|
|
var _g1 = this.__listeners;
|
|
while(_g < _g1.length) {
|
|
var l = _g1[_g];
|
|
++_g;
|
|
if(Reflect.compareMethods(l,listener)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,remove: function(listener) {
|
|
var i = this.__listeners.length;
|
|
while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) {
|
|
this.__listeners.splice(i,1);
|
|
this.__priorities.splice(i,1);
|
|
this.__repeat.splice(i,1);
|
|
}
|
|
}
|
|
,removeAll: function() {
|
|
var len = this.__listeners.length;
|
|
this.__listeners.splice(0,len);
|
|
this.__priorities.splice(0,len);
|
|
this.__repeat.splice(0,len);
|
|
}
|
|
,__listeners: null
|
|
,dispatch: function(a) {
|
|
this.canceled = false;
|
|
var listeners = this.__listeners;
|
|
var repeat = this.__repeat;
|
|
var i = 0;
|
|
while(i < listeners.length) {
|
|
listeners[i](a);
|
|
if(!repeat[i]) {
|
|
this.remove(listeners[i]);
|
|
} else {
|
|
++i;
|
|
}
|
|
if(this.canceled) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
,__class__: lime_app__$Event_$lime_$ui_$Joystick_$Void
|
|
};
|
|
var lime_app__$Event_$lime_$ui_$KeyCode_$lime_$ui_$KeyModifier_$Void = function() {
|
|
this.canceled = false;
|
|
this.__listeners = [];
|
|
this.__priorities = [];
|
|
this.__repeat = [];
|
|
};
|
|
$hxClasses["lime.app._Event_lime_ui_KeyCode_lime_ui_KeyModifier_Void"] = lime_app__$Event_$lime_$ui_$KeyCode_$lime_$ui_$KeyModifier_$Void;
|
|
lime_app__$Event_$lime_$ui_$KeyCode_$lime_$ui_$KeyModifier_$Void.__name__ = "lime.app._Event_lime_ui_KeyCode_lime_ui_KeyModifier_Void";
|
|
lime_app__$Event_$lime_$ui_$KeyCode_$lime_$ui_$KeyModifier_$Void.prototype = {
|
|
canceled: null
|
|
,__repeat: null
|
|
,__priorities: null
|
|
,add: function(listener,once,priority) {
|
|
if(priority == null) {
|
|
priority = 0;
|
|
}
|
|
if(once == null) {
|
|
once = false;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.__priorities.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(priority > this.__priorities[i]) {
|
|
this.__listeners.splice(i,0,listener);
|
|
this.__priorities.splice(i,0,priority);
|
|
this.__repeat.splice(i,0,!once);
|
|
return;
|
|
}
|
|
}
|
|
this.__listeners.push(listener);
|
|
this.__priorities.push(priority);
|
|
this.__repeat.push(!once);
|
|
}
|
|
,cancel: function() {
|
|
this.canceled = true;
|
|
}
|
|
,has: function(listener) {
|
|
var _g = 0;
|
|
var _g1 = this.__listeners;
|
|
while(_g < _g1.length) {
|
|
var l = _g1[_g];
|
|
++_g;
|
|
if(Reflect.compareMethods(l,listener)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,remove: function(listener) {
|
|
var i = this.__listeners.length;
|
|
while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) {
|
|
this.__listeners.splice(i,1);
|
|
this.__priorities.splice(i,1);
|
|
this.__repeat.splice(i,1);
|
|
}
|
|
}
|
|
,removeAll: function() {
|
|
var len = this.__listeners.length;
|
|
this.__listeners.splice(0,len);
|
|
this.__priorities.splice(0,len);
|
|
this.__repeat.splice(0,len);
|
|
}
|
|
,__listeners: null
|
|
,dispatch: function(a,a1) {
|
|
this.canceled = false;
|
|
var listeners = this.__listeners;
|
|
var repeat = this.__repeat;
|
|
var i = 0;
|
|
while(i < listeners.length) {
|
|
listeners[i](a,a1);
|
|
if(!repeat[i]) {
|
|
this.remove(listeners[i]);
|
|
} else {
|
|
++i;
|
|
}
|
|
if(this.canceled) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
,__class__: lime_app__$Event_$lime_$ui_$KeyCode_$lime_$ui_$KeyModifier_$Void
|
|
};
|
|
var lime_app__$Event_$lime_$ui_$Touch_$Void = function() {
|
|
this.canceled = false;
|
|
this.__listeners = [];
|
|
this.__priorities = [];
|
|
this.__repeat = [];
|
|
};
|
|
$hxClasses["lime.app._Event_lime_ui_Touch_Void"] = lime_app__$Event_$lime_$ui_$Touch_$Void;
|
|
lime_app__$Event_$lime_$ui_$Touch_$Void.__name__ = "lime.app._Event_lime_ui_Touch_Void";
|
|
lime_app__$Event_$lime_$ui_$Touch_$Void.prototype = {
|
|
canceled: null
|
|
,__repeat: null
|
|
,__priorities: null
|
|
,add: function(listener,once,priority) {
|
|
if(priority == null) {
|
|
priority = 0;
|
|
}
|
|
if(once == null) {
|
|
once = false;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.__priorities.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(priority > this.__priorities[i]) {
|
|
this.__listeners.splice(i,0,listener);
|
|
this.__priorities.splice(i,0,priority);
|
|
this.__repeat.splice(i,0,!once);
|
|
return;
|
|
}
|
|
}
|
|
this.__listeners.push(listener);
|
|
this.__priorities.push(priority);
|
|
this.__repeat.push(!once);
|
|
}
|
|
,cancel: function() {
|
|
this.canceled = true;
|
|
}
|
|
,has: function(listener) {
|
|
var _g = 0;
|
|
var _g1 = this.__listeners;
|
|
while(_g < _g1.length) {
|
|
var l = _g1[_g];
|
|
++_g;
|
|
if(Reflect.compareMethods(l,listener)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,remove: function(listener) {
|
|
var i = this.__listeners.length;
|
|
while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) {
|
|
this.__listeners.splice(i,1);
|
|
this.__priorities.splice(i,1);
|
|
this.__repeat.splice(i,1);
|
|
}
|
|
}
|
|
,removeAll: function() {
|
|
var len = this.__listeners.length;
|
|
this.__listeners.splice(0,len);
|
|
this.__priorities.splice(0,len);
|
|
this.__repeat.splice(0,len);
|
|
}
|
|
,__listeners: null
|
|
,dispatch: function(a) {
|
|
this.canceled = false;
|
|
var listeners = this.__listeners;
|
|
var repeat = this.__repeat;
|
|
var i = 0;
|
|
while(i < listeners.length) {
|
|
listeners[i](a);
|
|
if(!repeat[i]) {
|
|
this.remove(listeners[i]);
|
|
} else {
|
|
++i;
|
|
}
|
|
if(this.canceled) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
,__class__: lime_app__$Event_$lime_$ui_$Touch_$Void
|
|
};
|
|
var lime_app__$Event_$lime_$ui_$Window_$Void = function() {
|
|
this.canceled = false;
|
|
this.__listeners = [];
|
|
this.__priorities = [];
|
|
this.__repeat = [];
|
|
};
|
|
$hxClasses["lime.app._Event_lime_ui_Window_Void"] = lime_app__$Event_$lime_$ui_$Window_$Void;
|
|
lime_app__$Event_$lime_$ui_$Window_$Void.__name__ = "lime.app._Event_lime_ui_Window_Void";
|
|
lime_app__$Event_$lime_$ui_$Window_$Void.prototype = {
|
|
canceled: null
|
|
,__repeat: null
|
|
,__priorities: null
|
|
,add: function(listener,once,priority) {
|
|
if(priority == null) {
|
|
priority = 0;
|
|
}
|
|
if(once == null) {
|
|
once = false;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.__priorities.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(priority > this.__priorities[i]) {
|
|
this.__listeners.splice(i,0,listener);
|
|
this.__priorities.splice(i,0,priority);
|
|
this.__repeat.splice(i,0,!once);
|
|
return;
|
|
}
|
|
}
|
|
this.__listeners.push(listener);
|
|
this.__priorities.push(priority);
|
|
this.__repeat.push(!once);
|
|
}
|
|
,cancel: function() {
|
|
this.canceled = true;
|
|
}
|
|
,has: function(listener) {
|
|
var _g = 0;
|
|
var _g1 = this.__listeners;
|
|
while(_g < _g1.length) {
|
|
var l = _g1[_g];
|
|
++_g;
|
|
if(Reflect.compareMethods(l,listener)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,remove: function(listener) {
|
|
var i = this.__listeners.length;
|
|
while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) {
|
|
this.__listeners.splice(i,1);
|
|
this.__priorities.splice(i,1);
|
|
this.__repeat.splice(i,1);
|
|
}
|
|
}
|
|
,removeAll: function() {
|
|
var len = this.__listeners.length;
|
|
this.__listeners.splice(0,len);
|
|
this.__priorities.splice(0,len);
|
|
this.__repeat.splice(0,len);
|
|
}
|
|
,__listeners: null
|
|
,dispatch: function(a) {
|
|
this.canceled = false;
|
|
var listeners = this.__listeners;
|
|
var repeat = this.__repeat;
|
|
var i = 0;
|
|
while(i < listeners.length) {
|
|
listeners[i](a);
|
|
if(!repeat[i]) {
|
|
this.remove(listeners[i]);
|
|
} else {
|
|
++i;
|
|
}
|
|
if(this.canceled) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
,__class__: lime_app__$Event_$lime_$ui_$Window_$Void
|
|
};
|
|
var lime_app__$Event_$lime_$utils_$Resource_$Void = function() {
|
|
this.canceled = false;
|
|
this.__listeners = [];
|
|
this.__priorities = [];
|
|
this.__repeat = [];
|
|
};
|
|
$hxClasses["lime.app._Event_lime_utils_Resource_Void"] = lime_app__$Event_$lime_$utils_$Resource_$Void;
|
|
lime_app__$Event_$lime_$utils_$Resource_$Void.__name__ = "lime.app._Event_lime_utils_Resource_Void";
|
|
lime_app__$Event_$lime_$utils_$Resource_$Void.prototype = {
|
|
canceled: null
|
|
,__repeat: null
|
|
,__priorities: null
|
|
,add: function(listener,once,priority) {
|
|
if(priority == null) {
|
|
priority = 0;
|
|
}
|
|
if(once == null) {
|
|
once = false;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.__priorities.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(priority > this.__priorities[i]) {
|
|
this.__listeners.splice(i,0,listener);
|
|
this.__priorities.splice(i,0,priority);
|
|
this.__repeat.splice(i,0,!once);
|
|
return;
|
|
}
|
|
}
|
|
this.__listeners.push(listener);
|
|
this.__priorities.push(priority);
|
|
this.__repeat.push(!once);
|
|
}
|
|
,cancel: function() {
|
|
this.canceled = true;
|
|
}
|
|
,has: function(listener) {
|
|
var _g = 0;
|
|
var _g1 = this.__listeners;
|
|
while(_g < _g1.length) {
|
|
var l = _g1[_g];
|
|
++_g;
|
|
if(Reflect.compareMethods(l,listener)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,remove: function(listener) {
|
|
var i = this.__listeners.length;
|
|
while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) {
|
|
this.__listeners.splice(i,1);
|
|
this.__priorities.splice(i,1);
|
|
this.__repeat.splice(i,1);
|
|
}
|
|
}
|
|
,removeAll: function() {
|
|
var len = this.__listeners.length;
|
|
this.__listeners.splice(0,len);
|
|
this.__priorities.splice(0,len);
|
|
this.__repeat.splice(0,len);
|
|
}
|
|
,__listeners: null
|
|
,dispatch: function(a) {
|
|
this.canceled = false;
|
|
var listeners = this.__listeners;
|
|
var repeat = this.__repeat;
|
|
var i = 0;
|
|
while(i < listeners.length) {
|
|
listeners[i](a);
|
|
if(!repeat[i]) {
|
|
this.remove(listeners[i]);
|
|
} else {
|
|
++i;
|
|
}
|
|
if(this.canceled) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
,__class__: lime_app__$Event_$lime_$utils_$Resource_$Void
|
|
};
|
|
var lime_app__$Event_$ofEvents_$T_$Void = function() {
|
|
this.canceled = false;
|
|
this.__listeners = [];
|
|
this.__priorities = [];
|
|
this.__repeat = [];
|
|
};
|
|
$hxClasses["lime.app._Event_ofEvents_T_Void"] = lime_app__$Event_$ofEvents_$T_$Void;
|
|
lime_app__$Event_$ofEvents_$T_$Void.__name__ = "lime.app._Event_ofEvents_T_Void";
|
|
lime_app__$Event_$ofEvents_$T_$Void.prototype = {
|
|
canceled: null
|
|
,__repeat: null
|
|
,__priorities: null
|
|
,add: function(listener,once,priority) {
|
|
if(priority == null) {
|
|
priority = 0;
|
|
}
|
|
if(once == null) {
|
|
once = false;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.__priorities.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(priority > this.__priorities[i]) {
|
|
this.__listeners.splice(i,0,listener);
|
|
this.__priorities.splice(i,0,priority);
|
|
this.__repeat.splice(i,0,!once);
|
|
return;
|
|
}
|
|
}
|
|
this.__listeners.push(listener);
|
|
this.__priorities.push(priority);
|
|
this.__repeat.push(!once);
|
|
}
|
|
,cancel: function() {
|
|
this.canceled = true;
|
|
}
|
|
,has: function(listener) {
|
|
var _g = 0;
|
|
var _g1 = this.__listeners;
|
|
while(_g < _g1.length) {
|
|
var l = _g1[_g];
|
|
++_g;
|
|
if(Reflect.compareMethods(l,listener)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,remove: function(listener) {
|
|
var i = this.__listeners.length;
|
|
while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) {
|
|
this.__listeners.splice(i,1);
|
|
this.__priorities.splice(i,1);
|
|
this.__repeat.splice(i,1);
|
|
}
|
|
}
|
|
,removeAll: function() {
|
|
var len = this.__listeners.length;
|
|
this.__listeners.splice(0,len);
|
|
this.__priorities.splice(0,len);
|
|
this.__repeat.splice(0,len);
|
|
}
|
|
,__listeners: null
|
|
,dispatch: function(a) {
|
|
this.canceled = false;
|
|
var listeners = this.__listeners;
|
|
var repeat = this.__repeat;
|
|
var i = 0;
|
|
while(i < listeners.length) {
|
|
listeners[i](a);
|
|
if(!repeat[i]) {
|
|
this.remove(listeners[i]);
|
|
} else {
|
|
++i;
|
|
}
|
|
if(this.canceled) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
,__class__: lime_app__$Event_$ofEvents_$T_$Void
|
|
};
|
|
var lime_graphics_CairoRenderContext = {};
|
|
lime_graphics_CairoRenderContext.fromRenderContext = function(context) {
|
|
return context.cairo;
|
|
};
|
|
var lime_graphics_Canvas2DRenderContext = {};
|
|
lime_graphics_Canvas2DRenderContext.fromRenderContext = function(context) {
|
|
return context.canvas2D;
|
|
};
|
|
var lime_graphics_DOMRenderContext = {};
|
|
lime_graphics_DOMRenderContext.fromRenderContext = function(context) {
|
|
return context.dom;
|
|
};
|
|
var lime_graphics_FlashRenderContext = {};
|
|
lime_graphics_FlashRenderContext.fromRenderContext = function(context) {
|
|
return null;
|
|
};
|
|
var lime_graphics_Image = function(buffer,offsetX,offsetY,width,height,color,type) {
|
|
if(height == null) {
|
|
height = -1;
|
|
}
|
|
if(width == null) {
|
|
width = -1;
|
|
}
|
|
if(offsetY == null) {
|
|
offsetY = 0;
|
|
}
|
|
if(offsetX == null) {
|
|
offsetX = 0;
|
|
}
|
|
this.offsetX = offsetX;
|
|
this.offsetY = offsetY;
|
|
this.width = width;
|
|
this.height = height;
|
|
this.version = 0;
|
|
if(type == null) {
|
|
type = lime_graphics_ImageType.CANVAS;
|
|
}
|
|
this.type = type;
|
|
if(buffer == null) {
|
|
if(width > 0 && height > 0) {
|
|
switch(this.type._hx_index) {
|
|
case 0:
|
|
this.buffer = new lime_graphics_ImageBuffer(null,width,height);
|
|
lime__$internal_graphics_ImageCanvasUtil.createCanvas(this,width,height);
|
|
if(color != null && color != 0) {
|
|
this.fillRect(new lime_math_Rectangle(0,0,width,height),color);
|
|
}
|
|
break;
|
|
case 1:
|
|
var elements = width * height * 4;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer1 = null;
|
|
var len = null;
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Uint8Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Uint8Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Uint8Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Uint8Array(view);
|
|
} else if(buffer1 != null) {
|
|
if(len == null) {
|
|
this1 = new Uint8Array(buffer1,0);
|
|
} else {
|
|
this1 = new Uint8Array(buffer1,0,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
this.buffer = new lime_graphics_ImageBuffer(this1,width,height);
|
|
if(color != null && color != 0) {
|
|
this.fillRect(new lime_math_Rectangle(0,0,width,height),color);
|
|
}
|
|
break;
|
|
case 2:
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
} else {
|
|
this.__fromImageBuffer(buffer);
|
|
}
|
|
};
|
|
$hxClasses["lime.graphics.Image"] = lime_graphics_Image;
|
|
lime_graphics_Image.__name__ = "lime.graphics.Image";
|
|
lime_graphics_Image.fromBase64 = function(base64,type) {
|
|
if(base64 == null) {
|
|
return null;
|
|
}
|
|
var image = new lime_graphics_Image();
|
|
image.__fromBase64(base64,type);
|
|
return image;
|
|
};
|
|
lime_graphics_Image.fromBitmapData = function(bitmapData) {
|
|
if(bitmapData == null) {
|
|
return null;
|
|
}
|
|
return bitmapData.image;
|
|
};
|
|
lime_graphics_Image.fromBytes = function(bytes) {
|
|
if(bytes == null) {
|
|
return null;
|
|
}
|
|
var image = new lime_graphics_Image();
|
|
if(image.__fromBytes(bytes)) {
|
|
return image;
|
|
} else {
|
|
return null;
|
|
}
|
|
};
|
|
lime_graphics_Image.fromCanvas = function(canvas) {
|
|
if(canvas == null) {
|
|
return null;
|
|
}
|
|
var buffer = new lime_graphics_ImageBuffer(null,canvas.width,canvas.height);
|
|
buffer.set_src(canvas);
|
|
var image = new lime_graphics_Image(buffer);
|
|
image.type = lime_graphics_ImageType.CANVAS;
|
|
return image;
|
|
};
|
|
lime_graphics_Image.fromFile = function(path) {
|
|
if(path == null) {
|
|
return null;
|
|
}
|
|
var image = new lime_graphics_Image();
|
|
if(image.__fromFile(path)) {
|
|
return image;
|
|
} else {
|
|
return null;
|
|
}
|
|
};
|
|
lime_graphics_Image.fromImageElement = function(image) {
|
|
if(image == null) {
|
|
return null;
|
|
}
|
|
var buffer = new lime_graphics_ImageBuffer(null,image.width,image.height);
|
|
buffer.set_src(image);
|
|
var _image = new lime_graphics_Image(buffer);
|
|
_image.type = lime_graphics_ImageType.CANVAS;
|
|
return _image;
|
|
};
|
|
lime_graphics_Image.loadFromBase64 = function(base64,type) {
|
|
if(base64 == null || type == null) {
|
|
return lime_app_Future.withValue(null);
|
|
}
|
|
return lime__$internal_backend_html5_HTML5HTTPRequest.loadImage("data:" + type + ";base64," + base64);
|
|
};
|
|
lime_graphics_Image.loadFromBytes = function(bytes) {
|
|
if(bytes == null) {
|
|
return lime_app_Future.withValue(null);
|
|
}
|
|
var type = "";
|
|
if(lime_graphics_Image.__isPNG(bytes)) {
|
|
type = "image/png";
|
|
} else if(lime_graphics_Image.__isJPG(bytes)) {
|
|
type = "image/jpeg";
|
|
} else if(lime_graphics_Image.__isGIF(bytes)) {
|
|
type = "image/gif";
|
|
} else if(lime_graphics_Image.__isWebP(bytes)) {
|
|
type = "image/webp";
|
|
} else {
|
|
return lime_app_Future.withValue(null);
|
|
}
|
|
return lime__$internal_backend_html5_HTML5HTTPRequest.loadImageFromBytes(bytes,type);
|
|
};
|
|
lime_graphics_Image.loadFromFile = function(path) {
|
|
if(path == null) {
|
|
return lime_app_Future.withValue(null);
|
|
}
|
|
return lime__$internal_backend_html5_HTML5HTTPRequest.loadImage(path);
|
|
};
|
|
lime_graphics_Image.__isGIF = function(bytes) {
|
|
if(bytes == null || bytes.length < 6) {
|
|
return false;
|
|
}
|
|
var header = bytes.getString(0,6);
|
|
if(header != "GIF87a") {
|
|
return header == "GIF89a";
|
|
} else {
|
|
return true;
|
|
}
|
|
};
|
|
lime_graphics_Image.__isJPG = function(bytes) {
|
|
if(bytes == null || bytes.length < 4) {
|
|
return false;
|
|
}
|
|
if(bytes.b[0] == 255 && bytes.b[1] == 216 && bytes.b[bytes.length - 2] == 255) {
|
|
return bytes.b[bytes.length - 1] == 217;
|
|
} else {
|
|
return false;
|
|
}
|
|
};
|
|
lime_graphics_Image.__isPNG = function(bytes) {
|
|
if(bytes == null || bytes.length < 8) {
|
|
return false;
|
|
}
|
|
if(bytes.b[0] == 137 && bytes.b[1] == 80 && bytes.b[2] == 78 && bytes.b[3] == 71 && bytes.b[4] == 13 && bytes.b[5] == 10 && bytes.b[6] == 26) {
|
|
return bytes.b[7] == 10;
|
|
} else {
|
|
return false;
|
|
}
|
|
};
|
|
lime_graphics_Image.__isWebP = function(bytes) {
|
|
if(bytes == null || bytes.length < 16) {
|
|
return false;
|
|
}
|
|
if(bytes.getString(0,4) == "RIFF") {
|
|
return bytes.getString(8,4) == "WEBP";
|
|
} else {
|
|
return false;
|
|
}
|
|
};
|
|
lime_graphics_Image.prototype = {
|
|
buffer: null
|
|
,dirty: null
|
|
,height: null
|
|
,offsetX: null
|
|
,offsetY: null
|
|
,rect: null
|
|
,type: null
|
|
,version: null
|
|
,width: null
|
|
,x: null
|
|
,y: null
|
|
,clone: function() {
|
|
if(this.buffer != null) {
|
|
if(this.type == lime_graphics_ImageType.CANVAS) {
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(this);
|
|
} else {
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToData(this);
|
|
}
|
|
var image = new lime_graphics_Image(this.buffer.clone(),this.offsetX,this.offsetY,this.width,this.height,null,this.type);
|
|
image.version = this.version;
|
|
return image;
|
|
} else {
|
|
return new lime_graphics_Image(null,this.offsetX,this.offsetY,this.width,this.height,null,this.type);
|
|
}
|
|
}
|
|
,colorTransform: function(rect,colorMatrix) {
|
|
rect = this.__clipRect(rect);
|
|
if(this.buffer == null || rect == null) {
|
|
return;
|
|
}
|
|
switch(this.type._hx_index) {
|
|
case 0:
|
|
lime__$internal_graphics_ImageCanvasUtil.colorTransform(this,rect,colorMatrix);
|
|
break;
|
|
case 1:
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToData(this);
|
|
lime__$internal_graphics_ImageDataUtil.colorTransform(this,rect,colorMatrix);
|
|
break;
|
|
case 2:
|
|
rect.offset(this.offsetX,this.offsetY);
|
|
this.buffer.__srcBitmapData.colorTransform(rect.__toFlashRectangle(),lime_math_ColorMatrix.__toFlashColorTransform(colorMatrix));
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
,copyChannel: function(sourceImage,sourceRect,destPoint,sourceChannel,destChannel) {
|
|
sourceRect = this.__clipRect(sourceRect);
|
|
if(this.buffer == null || sourceRect == null) {
|
|
return;
|
|
}
|
|
if(destChannel == lime_graphics_ImageChannel.ALPHA && !this.get_transparent()) {
|
|
return;
|
|
}
|
|
if(sourceRect.width <= 0 || sourceRect.height <= 0) {
|
|
return;
|
|
}
|
|
if(sourceRect.x + sourceRect.width > sourceImage.width) {
|
|
sourceRect.width = sourceImage.width - sourceRect.x;
|
|
}
|
|
if(sourceRect.y + sourceRect.height > sourceImage.height) {
|
|
sourceRect.height = sourceImage.height - sourceRect.y;
|
|
}
|
|
switch(this.type._hx_index) {
|
|
case 0:
|
|
lime__$internal_graphics_ImageCanvasUtil.copyChannel(this,sourceImage,sourceRect,destPoint,sourceChannel,destChannel);
|
|
break;
|
|
case 1:
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToData(this);
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToData(sourceImage);
|
|
lime__$internal_graphics_ImageDataUtil.copyChannel(this,sourceImage,sourceRect,destPoint,sourceChannel,destChannel);
|
|
break;
|
|
case 2:
|
|
var srcChannel;
|
|
switch(sourceChannel._hx_index) {
|
|
case 0:
|
|
srcChannel = 1;
|
|
break;
|
|
case 1:
|
|
srcChannel = 2;
|
|
break;
|
|
case 2:
|
|
srcChannel = 4;
|
|
break;
|
|
case 3:
|
|
srcChannel = 8;
|
|
break;
|
|
}
|
|
var dstChannel;
|
|
switch(destChannel._hx_index) {
|
|
case 0:
|
|
dstChannel = 1;
|
|
break;
|
|
case 1:
|
|
dstChannel = 2;
|
|
break;
|
|
case 2:
|
|
dstChannel = 4;
|
|
break;
|
|
case 3:
|
|
dstChannel = 8;
|
|
break;
|
|
}
|
|
sourceRect.offset(sourceImage.offsetX,sourceImage.offsetY);
|
|
destPoint.offset(this.offsetX,this.offsetY);
|
|
this.buffer.__srcBitmapData.copyChannel(sourceImage.buffer.get_src(),sourceRect.__toFlashRectangle(),destPoint.__toFlashPoint(),srcChannel,dstChannel);
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
,copyPixels: function(sourceImage,sourceRect,destPoint,alphaImage,alphaPoint,mergeAlpha) {
|
|
if(mergeAlpha == null) {
|
|
mergeAlpha = false;
|
|
}
|
|
if(this.buffer == null || sourceImage == null) {
|
|
return;
|
|
}
|
|
if(sourceRect.width <= 0 || sourceRect.height <= 0) {
|
|
return;
|
|
}
|
|
if(this.width <= 0 || this.height <= 0) {
|
|
return;
|
|
}
|
|
if(sourceRect.x + sourceRect.width > sourceImage.width) {
|
|
sourceRect.width = sourceImage.width - sourceRect.x;
|
|
}
|
|
if(sourceRect.y + sourceRect.height > sourceImage.height) {
|
|
sourceRect.height = sourceImage.height - sourceRect.y;
|
|
}
|
|
if(sourceRect.x < 0) {
|
|
sourceRect.width += sourceRect.x;
|
|
sourceRect.x = 0;
|
|
}
|
|
if(sourceRect.y < 0) {
|
|
sourceRect.height += sourceRect.y;
|
|
sourceRect.y = 0;
|
|
}
|
|
if(destPoint.x + sourceRect.width > this.width) {
|
|
sourceRect.width = this.width - destPoint.x;
|
|
}
|
|
if(destPoint.y + sourceRect.height > this.height) {
|
|
sourceRect.height = this.height - destPoint.y;
|
|
}
|
|
if(destPoint.x < 0) {
|
|
sourceRect.width += destPoint.x;
|
|
sourceRect.x -= destPoint.x;
|
|
destPoint.x = 0;
|
|
}
|
|
if(destPoint.y < 0) {
|
|
sourceRect.height += destPoint.y;
|
|
sourceRect.y -= destPoint.y;
|
|
destPoint.y = 0;
|
|
}
|
|
if(sourceImage == this && destPoint.x < sourceRect.get_right() && destPoint.y < sourceRect.get_bottom()) {
|
|
sourceImage = this.clone();
|
|
}
|
|
if(alphaImage == sourceImage && (alphaPoint == null || alphaPoint.x == 0 && alphaPoint.y == 0)) {
|
|
alphaImage = null;
|
|
alphaPoint = null;
|
|
}
|
|
switch(this.type._hx_index) {
|
|
case 0:
|
|
if(alphaImage != null) {
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToData(this);
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToData(sourceImage);
|
|
if(alphaImage != null) {
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToData(alphaImage);
|
|
}
|
|
lime__$internal_graphics_ImageDataUtil.copyPixels(this,sourceImage,sourceRect,destPoint,alphaImage,alphaPoint,mergeAlpha);
|
|
} else {
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(this);
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(sourceImage);
|
|
lime__$internal_graphics_ImageCanvasUtil.copyPixels(this,sourceImage,sourceRect,destPoint,alphaImage,alphaPoint,mergeAlpha);
|
|
}
|
|
break;
|
|
case 1:
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToData(this);
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToData(sourceImage);
|
|
if(alphaImage != null) {
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToData(alphaImage);
|
|
}
|
|
lime__$internal_graphics_ImageDataUtil.copyPixels(this,sourceImage,sourceRect,destPoint,alphaImage,alphaPoint,mergeAlpha);
|
|
break;
|
|
case 2:
|
|
sourceRect.offset(sourceImage.offsetX,sourceImage.offsetY);
|
|
destPoint.offset(this.offsetX,this.offsetY);
|
|
if(alphaImage != null && alphaPoint != null) {
|
|
alphaPoint.offset(alphaImage.offsetX,alphaImage.offsetY);
|
|
}
|
|
this.buffer.__srcBitmapData.copyPixels(sourceImage.buffer.__srcBitmapData,sourceRect.__toFlashRectangle(),destPoint.__toFlashPoint(),alphaImage != null ? alphaImage.buffer.get_src() : null,alphaPoint != null ? alphaPoint.__toFlashPoint() : null,mergeAlpha);
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
,encode: function(format,quality) {
|
|
if(quality == null) {
|
|
quality = 90;
|
|
}
|
|
if(format == null) {
|
|
return lime__$internal_format_PNG.encode(this);
|
|
} else {
|
|
switch(format._hx_index) {
|
|
case 0:
|
|
return lime__$internal_format_BMP.encode(this);
|
|
case 1:
|
|
return lime__$internal_format_JPEG.encode(this,quality);
|
|
case 2:
|
|
return lime__$internal_format_PNG.encode(this);
|
|
}
|
|
}
|
|
}
|
|
,fillRect: function(rect,color,format) {
|
|
rect = this.__clipRect(rect);
|
|
if(this.buffer == null || rect == null) {
|
|
return;
|
|
}
|
|
switch(this.type._hx_index) {
|
|
case 0:
|
|
lime__$internal_graphics_ImageCanvasUtil.fillRect(this,rect,color,format);
|
|
break;
|
|
case 1:
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToData(this);
|
|
if(this.buffer.data.length == 0) {
|
|
return;
|
|
}
|
|
lime__$internal_graphics_ImageDataUtil.fillRect(this,rect,color,format);
|
|
break;
|
|
case 2:
|
|
rect.offset(this.offsetX,this.offsetY);
|
|
var argb;
|
|
if(format == null) {
|
|
var rgba = color;
|
|
var this1 = 0;
|
|
var argb1 = this1;
|
|
argb1 = (rgba & 255 & 255) << 24 | (rgba >>> 24 & 255 & 255) << 16 | (rgba >>> 16 & 255 & 255) << 8 | rgba >>> 8 & 255 & 255;
|
|
argb = argb1;
|
|
} else {
|
|
switch(format) {
|
|
case 1:
|
|
argb = color;
|
|
break;
|
|
case 2:
|
|
var bgra = color;
|
|
var this1 = 0;
|
|
var argb1 = this1;
|
|
argb1 = (bgra & 255 & 255) << 24 | (bgra >>> 8 & 255 & 255) << 16 | (bgra >>> 16 & 255 & 255) << 8 | bgra >>> 24 & 255 & 255;
|
|
argb = argb1;
|
|
break;
|
|
default:
|
|
var rgba = color;
|
|
var this1 = 0;
|
|
var argb1 = this1;
|
|
argb1 = (rgba & 255 & 255) << 24 | (rgba >>> 24 & 255 & 255) << 16 | (rgba >>> 16 & 255 & 255) << 8 | rgba >>> 8 & 255 & 255;
|
|
argb = argb1;
|
|
}
|
|
}
|
|
this.buffer.__srcBitmapData.fillRect(rect.__toFlashRectangle(),argb);
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
,floodFill: function(x,y,color,format) {
|
|
if(this.buffer == null) {
|
|
return;
|
|
}
|
|
switch(this.type._hx_index) {
|
|
case 0:
|
|
lime__$internal_graphics_ImageCanvasUtil.floodFill(this,x,y,color,format);
|
|
break;
|
|
case 1:
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToData(this);
|
|
lime__$internal_graphics_ImageDataUtil.floodFill(this,x,y,color,format);
|
|
break;
|
|
case 2:
|
|
var argb;
|
|
if(format == null) {
|
|
var rgba = color;
|
|
var this1 = 0;
|
|
var argb1 = this1;
|
|
argb1 = (rgba & 255 & 255) << 24 | (rgba >>> 24 & 255 & 255) << 16 | (rgba >>> 16 & 255 & 255) << 8 | rgba >>> 8 & 255 & 255;
|
|
argb = argb1;
|
|
} else {
|
|
switch(format) {
|
|
case 1:
|
|
argb = color;
|
|
break;
|
|
case 2:
|
|
var bgra = color;
|
|
var this1 = 0;
|
|
var argb1 = this1;
|
|
argb1 = (bgra & 255 & 255) << 24 | (bgra >>> 8 & 255 & 255) << 16 | (bgra >>> 16 & 255 & 255) << 8 | bgra >>> 24 & 255 & 255;
|
|
argb = argb1;
|
|
break;
|
|
default:
|
|
var rgba = color;
|
|
var this1 = 0;
|
|
var argb1 = this1;
|
|
argb1 = (rgba & 255 & 255) << 24 | (rgba >>> 24 & 255 & 255) << 16 | (rgba >>> 16 & 255 & 255) << 8 | rgba >>> 8 & 255 & 255;
|
|
argb = argb1;
|
|
}
|
|
}
|
|
this.buffer.__srcBitmapData.floodFill(x + this.offsetX,y + this.offsetY,argb);
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
,getColorBoundsRect: function(mask,color,findColor,format) {
|
|
if(findColor == null) {
|
|
findColor = true;
|
|
}
|
|
if(this.buffer == null) {
|
|
return null;
|
|
}
|
|
switch(this.type._hx_index) {
|
|
case 0:
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToData(this);
|
|
return lime__$internal_graphics_ImageDataUtil.getColorBoundsRect(this,mask,color,findColor,format);
|
|
case 1:
|
|
return lime__$internal_graphics_ImageDataUtil.getColorBoundsRect(this,mask,color,findColor,format);
|
|
case 2:
|
|
var rect = this.buffer.__srcBitmapData.getColorBoundsRect(mask,color,findColor);
|
|
return new lime_math_Rectangle(rect.x,rect.y,rect.width,rect.height);
|
|
default:
|
|
return null;
|
|
}
|
|
}
|
|
,getPixel: function(x,y,format) {
|
|
if(this.buffer == null || x < 0 || y < 0 || x >= this.width || y >= this.height) {
|
|
return 0;
|
|
}
|
|
switch(this.type._hx_index) {
|
|
case 0:
|
|
return lime__$internal_graphics_ImageCanvasUtil.getPixel(this,x,y,format);
|
|
case 1:
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToData(this);
|
|
return lime__$internal_graphics_ImageDataUtil.getPixel(this,x,y,format);
|
|
case 2:
|
|
var color = this.buffer.__srcBitmapData.getPixel(x + this.offsetX,y + this.offsetY);
|
|
if(format == null) {
|
|
var this1 = 0;
|
|
var rgba = this1;
|
|
rgba = (color >>> 16 & 255 & 255) << 24 | (color >>> 8 & 255 & 255) << 16 | (color & 255 & 255) << 8 | color >>> 24 & 255 & 255;
|
|
var rgba1 = rgba;
|
|
return rgba1;
|
|
} else {
|
|
switch(format) {
|
|
case 1:
|
|
return color;
|
|
case 2:
|
|
var this1 = 0;
|
|
var bgra = this1;
|
|
bgra = (color & 255 & 255) << 24 | (color >>> 8 & 255 & 255) << 16 | (color >>> 16 & 255 & 255) << 8 | color >>> 24 & 255 & 255;
|
|
var bgra1 = bgra;
|
|
return bgra1;
|
|
default:
|
|
var this1 = 0;
|
|
var rgba = this1;
|
|
rgba = (color >>> 16 & 255 & 255) << 24 | (color >>> 8 & 255 & 255) << 16 | (color & 255 & 255) << 8 | color >>> 24 & 255 & 255;
|
|
var rgba1 = rgba;
|
|
return rgba1;
|
|
}
|
|
}
|
|
break;
|
|
default:
|
|
return 0;
|
|
}
|
|
}
|
|
,getPixel32: function(x,y,format) {
|
|
if(this.buffer == null || x < 0 || y < 0 || x >= this.width || y >= this.height) {
|
|
return 0;
|
|
}
|
|
switch(this.type._hx_index) {
|
|
case 0:
|
|
return lime__$internal_graphics_ImageCanvasUtil.getPixel32(this,x,y,format);
|
|
case 1:
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToData(this);
|
|
return lime__$internal_graphics_ImageDataUtil.getPixel32(this,x,y,format);
|
|
case 2:
|
|
var color = this.buffer.__srcBitmapData.getPixel32(x + this.offsetX,y + this.offsetY);
|
|
if(format == null) {
|
|
var this1 = 0;
|
|
var rgba = this1;
|
|
rgba = (color >>> 16 & 255 & 255) << 24 | (color >>> 8 & 255 & 255) << 16 | (color & 255 & 255) << 8 | color >>> 24 & 255 & 255;
|
|
var rgba1 = rgba;
|
|
return rgba1;
|
|
} else {
|
|
switch(format) {
|
|
case 1:
|
|
return color;
|
|
case 2:
|
|
var this1 = 0;
|
|
var bgra = this1;
|
|
bgra = (color & 255 & 255) << 24 | (color >>> 8 & 255 & 255) << 16 | (color >>> 16 & 255 & 255) << 8 | color >>> 24 & 255 & 255;
|
|
var bgra1 = bgra;
|
|
return bgra1;
|
|
default:
|
|
var this1 = 0;
|
|
var rgba = this1;
|
|
rgba = (color >>> 16 & 255 & 255) << 24 | (color >>> 8 & 255 & 255) << 16 | (color & 255 & 255) << 8 | color >>> 24 & 255 & 255;
|
|
var rgba1 = rgba;
|
|
return rgba1;
|
|
}
|
|
}
|
|
break;
|
|
default:
|
|
return 0;
|
|
}
|
|
}
|
|
,getPixels: function(rect,format) {
|
|
if(this.buffer == null) {
|
|
return null;
|
|
}
|
|
switch(this.type._hx_index) {
|
|
case 0:
|
|
return lime__$internal_graphics_ImageCanvasUtil.getPixels(this,rect,format);
|
|
case 1:
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToData(this);
|
|
return lime__$internal_graphics_ImageDataUtil.getPixels(this,rect,format);
|
|
case 2:
|
|
return null;
|
|
default:
|
|
return null;
|
|
}
|
|
}
|
|
,merge: function(sourceImage,sourceRect,destPoint,redMultiplier,greenMultiplier,blueMultiplier,alphaMultiplier) {
|
|
if(this.buffer == null || sourceImage == null) {
|
|
return;
|
|
}
|
|
switch(this.type._hx_index) {
|
|
case 0:
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(this);
|
|
lime__$internal_graphics_ImageCanvasUtil.merge(this,sourceImage,sourceRect,destPoint,redMultiplier,greenMultiplier,blueMultiplier,alphaMultiplier);
|
|
break;
|
|
case 1:
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToData(this);
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToData(sourceImage);
|
|
lime__$internal_graphics_ImageDataUtil.merge(this,sourceImage,sourceRect,destPoint,redMultiplier,greenMultiplier,blueMultiplier,alphaMultiplier);
|
|
break;
|
|
case 2:
|
|
sourceRect.offset(this.offsetX,this.offsetY);
|
|
this.buffer.__srcBitmapData.merge(sourceImage.buffer.__srcBitmapData,sourceRect.__toFlashRectangle(),destPoint.__toFlashPoint(),redMultiplier,greenMultiplier,blueMultiplier,alphaMultiplier);
|
|
break;
|
|
default:
|
|
return;
|
|
}
|
|
}
|
|
,resize: function(newWidth,newHeight) {
|
|
switch(this.type._hx_index) {
|
|
case 0:
|
|
lime__$internal_graphics_ImageCanvasUtil.resize(this,newWidth,newHeight);
|
|
break;
|
|
case 1:
|
|
lime__$internal_graphics_ImageDataUtil.resize(this,newWidth,newHeight);
|
|
break;
|
|
case 2:
|
|
break;
|
|
default:
|
|
}
|
|
this.buffer.width = newWidth;
|
|
this.buffer.height = newHeight;
|
|
this.offsetX = 0;
|
|
this.offsetY = 0;
|
|
this.width = newWidth;
|
|
this.height = newHeight;
|
|
}
|
|
,scroll: function(x,y) {
|
|
if(this.buffer == null) {
|
|
return;
|
|
}
|
|
switch(this.type._hx_index) {
|
|
case 0:
|
|
lime__$internal_graphics_ImageCanvasUtil.scroll(this,x,y);
|
|
break;
|
|
case 1:
|
|
this.copyPixels(this,this.get_rect(),new lime_math_Vector2(x,y));
|
|
break;
|
|
case 2:
|
|
this.buffer.__srcBitmapData.scroll(x + this.offsetX,y + this.offsetX);
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
,setPixel: function(x,y,color,format) {
|
|
if(this.buffer == null || x < 0 || y < 0 || x >= this.width || y >= this.height) {
|
|
return;
|
|
}
|
|
switch(this.type._hx_index) {
|
|
case 0:
|
|
lime__$internal_graphics_ImageCanvasUtil.setPixel(this,x,y,color,format);
|
|
break;
|
|
case 1:
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToData(this);
|
|
lime__$internal_graphics_ImageDataUtil.setPixel(this,x,y,color,format);
|
|
break;
|
|
case 2:
|
|
var argb;
|
|
if(format == null) {
|
|
var rgba = color;
|
|
var this1 = 0;
|
|
var argb1 = this1;
|
|
argb1 = (rgba & 255 & 255) << 24 | (rgba >>> 24 & 255 & 255) << 16 | (rgba >>> 16 & 255 & 255) << 8 | rgba >>> 8 & 255 & 255;
|
|
argb = argb1;
|
|
} else {
|
|
switch(format) {
|
|
case 1:
|
|
argb = color;
|
|
break;
|
|
case 2:
|
|
var bgra = color;
|
|
var this1 = 0;
|
|
var argb1 = this1;
|
|
argb1 = (bgra & 255 & 255) << 24 | (bgra >>> 8 & 255 & 255) << 16 | (bgra >>> 16 & 255 & 255) << 8 | bgra >>> 24 & 255 & 255;
|
|
argb = argb1;
|
|
break;
|
|
default:
|
|
var rgba = color;
|
|
var this1 = 0;
|
|
var argb1 = this1;
|
|
argb1 = (rgba & 255 & 255) << 24 | (rgba >>> 24 & 255 & 255) << 16 | (rgba >>> 16 & 255 & 255) << 8 | rgba >>> 8 & 255 & 255;
|
|
argb = argb1;
|
|
}
|
|
}
|
|
this.buffer.__srcBitmapData.setPixel(x + this.offsetX,y + this.offsetX,argb);
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
,setPixel32: function(x,y,color,format) {
|
|
if(this.buffer == null || x < 0 || y < 0 || x >= this.width || y >= this.height) {
|
|
return;
|
|
}
|
|
switch(this.type._hx_index) {
|
|
case 0:
|
|
lime__$internal_graphics_ImageCanvasUtil.setPixel32(this,x,y,color,format);
|
|
break;
|
|
case 1:
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToData(this);
|
|
lime__$internal_graphics_ImageDataUtil.setPixel32(this,x,y,color,format);
|
|
break;
|
|
case 2:
|
|
var argb;
|
|
if(format == null) {
|
|
var rgba = color;
|
|
var this1 = 0;
|
|
var argb1 = this1;
|
|
argb1 = (rgba & 255 & 255) << 24 | (rgba >>> 24 & 255 & 255) << 16 | (rgba >>> 16 & 255 & 255) << 8 | rgba >>> 8 & 255 & 255;
|
|
argb = argb1;
|
|
} else {
|
|
switch(format) {
|
|
case 1:
|
|
argb = color;
|
|
break;
|
|
case 2:
|
|
var bgra = color;
|
|
var this1 = 0;
|
|
var argb1 = this1;
|
|
argb1 = (bgra & 255 & 255) << 24 | (bgra >>> 8 & 255 & 255) << 16 | (bgra >>> 16 & 255 & 255) << 8 | bgra >>> 24 & 255 & 255;
|
|
argb = argb1;
|
|
break;
|
|
default:
|
|
var rgba = color;
|
|
var this1 = 0;
|
|
var argb1 = this1;
|
|
argb1 = (rgba & 255 & 255) << 24 | (rgba >>> 24 & 255 & 255) << 16 | (rgba >>> 16 & 255 & 255) << 8 | rgba >>> 8 & 255 & 255;
|
|
argb = argb1;
|
|
}
|
|
}
|
|
this.buffer.__srcBitmapData.setPixel32(x + this.offsetX,y + this.offsetY,argb);
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
,setPixels: function(rect,bytePointer,format,endian) {
|
|
rect = this.__clipRect(rect);
|
|
if(this.buffer == null || rect == null) {
|
|
return;
|
|
}
|
|
if(endian == null) {
|
|
endian = lime_system_Endian.BIG_ENDIAN;
|
|
}
|
|
switch(this.type._hx_index) {
|
|
case 0:
|
|
lime__$internal_graphics_ImageCanvasUtil.setPixels(this,rect,bytePointer,format,endian);
|
|
break;
|
|
case 1:
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToData(this);
|
|
lime__$internal_graphics_ImageDataUtil.setPixels(this,rect,bytePointer,format,endian);
|
|
break;
|
|
case 2:
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
,threshold: function(sourceImage,sourceRect,destPoint,operation,threshold,color,mask,copySource,format) {
|
|
if(copySource == null) {
|
|
copySource = false;
|
|
}
|
|
if(mask == null) {
|
|
mask = -1;
|
|
}
|
|
if(color == null) {
|
|
color = 0;
|
|
}
|
|
if(this.buffer == null || sourceImage == null || sourceRect == null) {
|
|
return 0;
|
|
}
|
|
switch(this.type._hx_index) {
|
|
case 0:case 1:
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToData(this);
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToData(sourceImage);
|
|
return lime__$internal_graphics_ImageDataUtil.threshold(this,sourceImage,sourceRect,destPoint,operation,threshold,color,mask,copySource,format);
|
|
case 2:
|
|
var _color;
|
|
if(format == null) {
|
|
var rgba = color;
|
|
var this1 = 0;
|
|
var argb = this1;
|
|
argb = (rgba & 255 & 255) << 24 | (rgba >>> 24 & 255 & 255) << 16 | (rgba >>> 16 & 255 & 255) << 8 | rgba >>> 8 & 255 & 255;
|
|
_color = argb;
|
|
} else {
|
|
switch(format) {
|
|
case 1:
|
|
_color = color;
|
|
break;
|
|
case 2:
|
|
var bgra = color;
|
|
var this1 = 0;
|
|
var argb = this1;
|
|
argb = (bgra & 255 & 255) << 24 | (bgra >>> 8 & 255 & 255) << 16 | (bgra >>> 16 & 255 & 255) << 8 | bgra >>> 24 & 255 & 255;
|
|
_color = argb;
|
|
break;
|
|
default:
|
|
var rgba = color;
|
|
var this1 = 0;
|
|
var argb = this1;
|
|
argb = (rgba & 255 & 255) << 24 | (rgba >>> 24 & 255 & 255) << 16 | (rgba >>> 16 & 255 & 255) << 8 | rgba >>> 8 & 255 & 255;
|
|
_color = argb;
|
|
}
|
|
}
|
|
var _mask;
|
|
if(format == null) {
|
|
var rgba = mask;
|
|
var this1 = 0;
|
|
var argb = this1;
|
|
argb = (rgba & 255 & 255) << 24 | (rgba >>> 24 & 255 & 255) << 16 | (rgba >>> 16 & 255 & 255) << 8 | rgba >>> 8 & 255 & 255;
|
|
_mask = argb;
|
|
} else {
|
|
switch(format) {
|
|
case 1:
|
|
_mask = mask;
|
|
break;
|
|
case 2:
|
|
var bgra = mask;
|
|
var this1 = 0;
|
|
var argb = this1;
|
|
argb = (bgra & 255 & 255) << 24 | (bgra >>> 8 & 255 & 255) << 16 | (bgra >>> 16 & 255 & 255) << 8 | bgra >>> 24 & 255 & 255;
|
|
_mask = argb;
|
|
break;
|
|
default:
|
|
var rgba = mask;
|
|
var this1 = 0;
|
|
var argb = this1;
|
|
argb = (rgba & 255 & 255) << 24 | (rgba >>> 24 & 255 & 255) << 16 | (rgba >>> 16 & 255 & 255) << 8 | rgba >>> 8 & 255 & 255;
|
|
_mask = argb;
|
|
}
|
|
}
|
|
sourceRect.offset(sourceImage.offsetX,sourceImage.offsetY);
|
|
destPoint.offset(this.offsetX,this.offsetY);
|
|
return this.buffer.__srcBitmapData.threshold(sourceImage.buffer.get_src(),sourceRect.__toFlashRectangle(),destPoint.__toFlashPoint(),operation,threshold,_color,_mask,copySource);
|
|
default:
|
|
}
|
|
return 0;
|
|
}
|
|
,__clipRect: function(r) {
|
|
if(r == null) {
|
|
return null;
|
|
}
|
|
if(r.x < 0) {
|
|
r.width -= -r.x;
|
|
r.x = 0;
|
|
if(r.x + r.width <= 0) {
|
|
return null;
|
|
}
|
|
}
|
|
if(r.y < 0) {
|
|
r.height -= -r.y;
|
|
r.y = 0;
|
|
if(r.y + r.height <= 0) {
|
|
return null;
|
|
}
|
|
}
|
|
if(r.x + r.width >= this.width) {
|
|
r.width -= r.x + r.width - this.width;
|
|
if(r.width <= 0) {
|
|
return null;
|
|
}
|
|
}
|
|
if(r.y + r.height >= this.height) {
|
|
r.height -= r.y + r.height - this.height;
|
|
if(r.height <= 0) {
|
|
return null;
|
|
}
|
|
}
|
|
return r;
|
|
}
|
|
,__fromBase64: function(base64,type,onload) {
|
|
var _gthis = this;
|
|
var image = new Image();
|
|
var image_onLoaded = function(event) {
|
|
_gthis.buffer = new lime_graphics_ImageBuffer(null,image.width,image.height);
|
|
_gthis.buffer.__srcImage = image;
|
|
_gthis.offsetX = 0;
|
|
_gthis.offsetY = 0;
|
|
_gthis.width = _gthis.buffer.width;
|
|
_gthis.height = _gthis.buffer.height;
|
|
if(onload != null) {
|
|
onload(_gthis);
|
|
}
|
|
};
|
|
image.addEventListener("load",image_onLoaded,false);
|
|
image.src = "data:" + type + ";base64," + base64;
|
|
}
|
|
,__fromBytes: function(bytes,onload) {
|
|
var type = "";
|
|
if(lime_graphics_Image.__isPNG(bytes)) {
|
|
type = "image/png";
|
|
} else if(lime_graphics_Image.__isJPG(bytes)) {
|
|
type = "image/jpeg";
|
|
} else if(lime_graphics_Image.__isGIF(bytes)) {
|
|
type = "image/gif";
|
|
} else {
|
|
return false;
|
|
}
|
|
this.__fromBase64(lime__$internal_format_Base64.encode(bytes),type,onload);
|
|
return true;
|
|
}
|
|
,__fromFile: function(path,onload,onerror) {
|
|
var _gthis = this;
|
|
var image = new Image();
|
|
if(!lime__$internal_backend_html5_HTML5HTTPRequest.__isSameOrigin(path)) {
|
|
image.crossOrigin = "Anonymous";
|
|
}
|
|
image.onload = function(_) {
|
|
_gthis.buffer = new lime_graphics_ImageBuffer(null,image.width,image.height);
|
|
_gthis.buffer.__srcImage = image;
|
|
_gthis.width = image.width;
|
|
_gthis.height = image.height;
|
|
if(onload != null) {
|
|
onload(_gthis);
|
|
}
|
|
};
|
|
image.onerror = function(_) {
|
|
if(onerror != null) {
|
|
onerror();
|
|
}
|
|
};
|
|
image.src = path;
|
|
var image1 = image.complete;
|
|
return true;
|
|
}
|
|
,__fromImageBuffer: function(buffer) {
|
|
this.buffer = buffer;
|
|
if(buffer != null) {
|
|
if(this.width == -1) {
|
|
this.width = buffer.width;
|
|
}
|
|
if(this.height == -1) {
|
|
this.height = buffer.height;
|
|
}
|
|
}
|
|
}
|
|
,get_data: function() {
|
|
if(this.buffer.data == null && this.buffer.width > 0 && this.buffer.height > 0) {
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToData(this);
|
|
}
|
|
return this.buffer.data;
|
|
}
|
|
,set_data: function(value) {
|
|
return this.buffer.data = value;
|
|
}
|
|
,get_format: function() {
|
|
return this.buffer.format;
|
|
}
|
|
,set_format: function(value) {
|
|
if(this.buffer.format != value) {
|
|
if(this.type._hx_index == 1) {
|
|
lime__$internal_graphics_ImageDataUtil.setFormat(this,value);
|
|
}
|
|
}
|
|
return this.buffer.format = value;
|
|
}
|
|
,get_powerOfTwo: function() {
|
|
if(this.buffer.width != 0 && (this.buffer.width & ~this.buffer.width + 1) == this.buffer.width) {
|
|
if(this.buffer.height != 0) {
|
|
return (this.buffer.height & ~this.buffer.height + 1) == this.buffer.height;
|
|
} else {
|
|
return false;
|
|
}
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,set_powerOfTwo: function(value) {
|
|
if(value != this.get_powerOfTwo()) {
|
|
var newWidth = 1;
|
|
var newHeight = 1;
|
|
while(newWidth < this.buffer.width) newWidth <<= 1;
|
|
while(newHeight < this.buffer.height) newHeight <<= 1;
|
|
if(newWidth == this.buffer.width && newHeight == this.buffer.height) {
|
|
return value;
|
|
}
|
|
switch(this.type._hx_index) {
|
|
case 0:
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToData(this);
|
|
lime__$internal_graphics_ImageDataUtil.resizeBuffer(this,newWidth,newHeight);
|
|
break;
|
|
case 1:
|
|
lime__$internal_graphics_ImageDataUtil.resizeBuffer(this,newWidth,newHeight);
|
|
break;
|
|
case 2:
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
return value;
|
|
}
|
|
,get_premultiplied: function() {
|
|
return this.buffer.premultiplied;
|
|
}
|
|
,set_premultiplied: function(value) {
|
|
if(value && !this.buffer.premultiplied) {
|
|
switch(this.type._hx_index) {
|
|
case 0:case 1:
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToData(this);
|
|
lime__$internal_graphics_ImageDataUtil.multiplyAlpha(this);
|
|
break;
|
|
default:
|
|
}
|
|
} else if(!value && this.buffer.premultiplied) {
|
|
if(this.type._hx_index == 1) {
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToData(this);
|
|
lime__$internal_graphics_ImageDataUtil.unmultiplyAlpha(this);
|
|
}
|
|
}
|
|
return value;
|
|
}
|
|
,get_rect: function() {
|
|
return new lime_math_Rectangle(0,0,this.width,this.height);
|
|
}
|
|
,get_src: function() {
|
|
if(this.buffer.__srcCanvas == null && (this.buffer.data != null || this.type == lime_graphics_ImageType.DATA)) {
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(this);
|
|
}
|
|
return this.buffer.get_src();
|
|
}
|
|
,set_src: function(value) {
|
|
return this.buffer.set_src(value);
|
|
}
|
|
,get_transparent: function() {
|
|
if(this.buffer == null) {
|
|
return false;
|
|
}
|
|
return this.buffer.transparent;
|
|
}
|
|
,set_transparent: function(value) {
|
|
if(this.buffer == null) {
|
|
return false;
|
|
}
|
|
return this.buffer.transparent = value;
|
|
}
|
|
,__class__: lime_graphics_Image
|
|
,__properties__: {set_transparent:"set_transparent",get_transparent:"get_transparent",set_src:"set_src",get_src:"get_src",get_rect:"get_rect",set_premultiplied:"set_premultiplied",get_premultiplied:"get_premultiplied",set_powerOfTwo:"set_powerOfTwo",get_powerOfTwo:"get_powerOfTwo",set_format:"set_format",get_format:"get_format",set_data:"set_data",get_data:"get_data"}
|
|
};
|
|
var lime_graphics_ImageBuffer = function(data,width,height,bitsPerPixel,format) {
|
|
if(bitsPerPixel == null) {
|
|
bitsPerPixel = 32;
|
|
}
|
|
if(height == null) {
|
|
height = 0;
|
|
}
|
|
if(width == null) {
|
|
width = 0;
|
|
}
|
|
this.data = data;
|
|
this.width = width;
|
|
this.height = height;
|
|
this.bitsPerPixel = bitsPerPixel;
|
|
this.format = format == null ? 0 : format;
|
|
this.premultiplied = false;
|
|
this.transparent = true;
|
|
};
|
|
$hxClasses["lime.graphics.ImageBuffer"] = lime_graphics_ImageBuffer;
|
|
lime_graphics_ImageBuffer.__name__ = "lime.graphics.ImageBuffer";
|
|
lime_graphics_ImageBuffer.prototype = {
|
|
bitsPerPixel: null
|
|
,data: null
|
|
,format: null
|
|
,height: null
|
|
,premultiplied: null
|
|
,transparent: null
|
|
,width: null
|
|
,__srcBitmapData: null
|
|
,__srcCanvas: null
|
|
,__srcContext: null
|
|
,__srcCustom: null
|
|
,__srcImage: null
|
|
,__srcImageData: null
|
|
,clone: function() {
|
|
var buffer = new lime_graphics_ImageBuffer(this.data,this.width,this.height,this.bitsPerPixel);
|
|
if(this.data != null) {
|
|
var elements = this.data.byteLength;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer1 = null;
|
|
var len = null;
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Uint8Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Uint8Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Uint8Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Uint8Array(view);
|
|
} else if(buffer1 != null) {
|
|
if(len == null) {
|
|
this1 = new Uint8Array(buffer1,0);
|
|
} else {
|
|
this1 = new Uint8Array(buffer1,0,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
buffer.data = this1;
|
|
var elements = null;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = this.data;
|
|
var buffer1 = null;
|
|
var len = null;
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Uint8Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Uint8Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Uint8Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Uint8Array(view);
|
|
} else if(buffer1 != null) {
|
|
if(len == null) {
|
|
this1 = new Uint8Array(buffer1,0);
|
|
} else {
|
|
this1 = new Uint8Array(buffer1,0,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
var copy = this1;
|
|
buffer.data.set(copy);
|
|
} else if(this.__srcImageData != null) {
|
|
buffer.__srcCanvas = window.document.createElement("canvas");
|
|
buffer.__srcContext = buffer.__srcCanvas.getContext("2d");
|
|
buffer.__srcCanvas.width = this.__srcImageData.width;
|
|
buffer.__srcCanvas.height = this.__srcImageData.height;
|
|
buffer.__srcImageData = buffer.__srcContext.createImageData(this.__srcImageData.width,this.__srcImageData.height);
|
|
var copy = new Uint8ClampedArray(this.__srcImageData.data);
|
|
buffer.__srcImageData.data.set(copy);
|
|
} else if(this.__srcCanvas != null) {
|
|
buffer.__srcCanvas = window.document.createElement("canvas");
|
|
buffer.__srcContext = buffer.__srcCanvas.getContext("2d");
|
|
buffer.__srcCanvas.width = this.__srcCanvas.width;
|
|
buffer.__srcCanvas.height = this.__srcCanvas.height;
|
|
buffer.__srcContext.drawImage(this.__srcCanvas,0,0);
|
|
} else {
|
|
buffer.__srcImage = this.__srcImage;
|
|
}
|
|
buffer.bitsPerPixel = this.bitsPerPixel;
|
|
buffer.format = this.format;
|
|
buffer.premultiplied = this.premultiplied;
|
|
buffer.transparent = this.transparent;
|
|
return buffer;
|
|
}
|
|
,get_src: function() {
|
|
if(this.__srcImage != null) {
|
|
return this.__srcImage;
|
|
}
|
|
return this.__srcCanvas;
|
|
}
|
|
,set_src: function(value) {
|
|
if(((value) instanceof Image)) {
|
|
this.__srcImage = value;
|
|
} else if(((value) instanceof HTMLCanvasElement)) {
|
|
this.__srcCanvas = value;
|
|
this.__srcContext = this.__srcCanvas.getContext("2d");
|
|
}
|
|
return value;
|
|
}
|
|
,get_stride: function() {
|
|
return this.width * (this.bitsPerPixel / 8 | 0);
|
|
}
|
|
,__class__: lime_graphics_ImageBuffer
|
|
,__properties__: {get_stride:"get_stride",set_src:"set_src",get_src:"get_src"}
|
|
};
|
|
var lime_graphics_ImageChannel = $hxEnums["lime.graphics.ImageChannel"] = { __ename__ : "lime.graphics.ImageChannel", __constructs__ : ["RED","GREEN","BLUE","ALPHA"]
|
|
,RED: {_hx_index:0,__enum__:"lime.graphics.ImageChannel",toString:$estr}
|
|
,GREEN: {_hx_index:1,__enum__:"lime.graphics.ImageChannel",toString:$estr}
|
|
,BLUE: {_hx_index:2,__enum__:"lime.graphics.ImageChannel",toString:$estr}
|
|
,ALPHA: {_hx_index:3,__enum__:"lime.graphics.ImageChannel",toString:$estr}
|
|
};
|
|
var lime_graphics_ImageFileFormat = $hxEnums["lime.graphics.ImageFileFormat"] = { __ename__ : "lime.graphics.ImageFileFormat", __constructs__ : ["BMP","JPEG","PNG"]
|
|
,BMP: {_hx_index:0,__enum__:"lime.graphics.ImageFileFormat",toString:$estr}
|
|
,JPEG: {_hx_index:1,__enum__:"lime.graphics.ImageFileFormat",toString:$estr}
|
|
,PNG: {_hx_index:2,__enum__:"lime.graphics.ImageFileFormat",toString:$estr}
|
|
};
|
|
var lime_graphics_ImageType = $hxEnums["lime.graphics.ImageType"] = { __ename__ : "lime.graphics.ImageType", __constructs__ : ["CANVAS","DATA","FLASH","CUSTOM"]
|
|
,CANVAS: {_hx_index:0,__enum__:"lime.graphics.ImageType",toString:$estr}
|
|
,DATA: {_hx_index:1,__enum__:"lime.graphics.ImageType",toString:$estr}
|
|
,FLASH: {_hx_index:2,__enum__:"lime.graphics.ImageType",toString:$estr}
|
|
,CUSTOM: {_hx_index:3,__enum__:"lime.graphics.ImageType",toString:$estr}
|
|
};
|
|
var lime_graphics_OpenGLES2RenderContext = {};
|
|
lime_graphics_OpenGLES2RenderContext.fromGL = function(gl) {
|
|
return null;
|
|
};
|
|
lime_graphics_OpenGLES2RenderContext.fromOpenGLES3RenderContext = function(gl) {
|
|
return null;
|
|
};
|
|
lime_graphics_OpenGLES2RenderContext.fromRenderContext = function(context) {
|
|
return null;
|
|
};
|
|
lime_graphics_OpenGLES2RenderContext.fromWebGLRenderContext = function(gl) {
|
|
return null;
|
|
};
|
|
var lime_graphics_OpenGLES3RenderContext = {};
|
|
lime_graphics_OpenGLES3RenderContext.fromRenderContext = function(context) {
|
|
return null;
|
|
};
|
|
lime_graphics_OpenGLES3RenderContext.fromGL = function(gl) {
|
|
return null;
|
|
};
|
|
lime_graphics_OpenGLES3RenderContext.fromOpenGLES2RenderContext = function(context) {
|
|
return null;
|
|
};
|
|
lime_graphics_OpenGLES3RenderContext.fromWebGLRenderContext = function(context) {
|
|
return null;
|
|
};
|
|
lime_graphics_OpenGLES3RenderContext.fromWebGL2RenderContext = function(context) {
|
|
return null;
|
|
};
|
|
var lime_graphics_OpenGLRenderContext = {};
|
|
lime_graphics_OpenGLRenderContext.fromRenderContext = function(context) {
|
|
return null;
|
|
};
|
|
var lime_graphics_RenderContext = function() {
|
|
};
|
|
$hxClasses["lime.graphics.RenderContext"] = lime_graphics_RenderContext;
|
|
lime_graphics_RenderContext.__name__ = "lime.graphics.RenderContext";
|
|
lime_graphics_RenderContext.prototype = {
|
|
attributes: null
|
|
,cairo: null
|
|
,canvas2D: null
|
|
,dom: null
|
|
,flash: null
|
|
,gl: null
|
|
,gles2: null
|
|
,gles3: null
|
|
,type: null
|
|
,version: null
|
|
,webgl: null
|
|
,webgl2: null
|
|
,window: null
|
|
,__class__: lime_graphics_RenderContext
|
|
};
|
|
var lime_graphics_WebGL2RenderContext = {};
|
|
lime_graphics_WebGL2RenderContext.bufferData = function(this1,target,srcData,usage,srcOffset,length) {
|
|
if(srcOffset != null) {
|
|
this1.bufferData(target,srcData,usage,srcOffset,length);
|
|
} else {
|
|
this1.bufferData(target,srcData,usage);
|
|
}
|
|
};
|
|
lime_graphics_WebGL2RenderContext.bufferSubData = function(this1,target,dstByteOffset,srcData,srcOffset,length) {
|
|
if(srcOffset != null) {
|
|
this1.bufferSubData(target,dstByteOffset,srcData,srcOffset,length);
|
|
} else {
|
|
this1.bufferSubData(target,dstByteOffset,srcData);
|
|
}
|
|
};
|
|
lime_graphics_WebGL2RenderContext.compressedTexImage2D = function(this1,target,level,internalformat,width,height,border,srcData,srcOffset,srcLengthOverride) {
|
|
if(srcOffset != null) {
|
|
this1.compressedTexImage2D(target,level,internalformat,width,height,border,srcData,srcOffset,srcLengthOverride);
|
|
} else {
|
|
this1.compressedTexImage2D(target,level,internalformat,width,height,border,srcData);
|
|
}
|
|
};
|
|
lime_graphics_WebGL2RenderContext.compressedTexSubImage2D = function(this1,target,level,xoffset,yoffset,width,height,format,srcData,srcOffset,srcLengthOverride) {
|
|
if(srcOffset != null) {
|
|
this1.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,srcData,srcOffset,srcLengthOverride);
|
|
} else {
|
|
this1.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,srcData);
|
|
}
|
|
};
|
|
lime_graphics_WebGL2RenderContext.getBufferSubData = function(this1,target,srcByteOffset,dstData,srcOffset,length) {
|
|
if(srcOffset != null) {
|
|
this1.getBufferSubData(target,srcByteOffset,dstData,srcOffset,length);
|
|
} else {
|
|
this1.getBufferSubData(target,srcByteOffset,dstData);
|
|
}
|
|
};
|
|
lime_graphics_WebGL2RenderContext.readPixels = function(this1,x,y,width,height,format,type,pixels,dstOffset) {
|
|
if(dstOffset != null) {
|
|
this1.readPixels(x,y,width,height,format,type,pixels,dstOffset);
|
|
} else {
|
|
this1.readPixels(x,y,width,height,format,type,pixels);
|
|
}
|
|
};
|
|
lime_graphics_WebGL2RenderContext.texImage2D = function(this1,target,level,internalformat,width,height,border,format,type,srcData,srcOffset) {
|
|
if(srcOffset != null) {
|
|
this1.texImage2D(target,level,internalformat,width,height,border,format,type,srcData,srcOffset);
|
|
} else if(format != null) {
|
|
this1.texImage2D(target,level,internalformat,width,height,border,format,type,srcData);
|
|
} else {
|
|
this1.texImage2D(target,level,internalformat,width,height,border);
|
|
}
|
|
};
|
|
lime_graphics_WebGL2RenderContext.texSubImage2D = function(this1,target,level,xoffset,yoffset,width,height,format,type,srcData,srcOffset) {
|
|
if(srcOffset != null) {
|
|
this1.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,srcData,srcOffset);
|
|
} else if(type != null) {
|
|
this1.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,srcData);
|
|
} else {
|
|
this1.texSubImage2D(target,level,xoffset,yoffset,width,height,format);
|
|
}
|
|
};
|
|
lime_graphics_WebGL2RenderContext.uniform1fv = function(this1,location,data,srcOffset,srcLength) {
|
|
if(srcOffset != null) {
|
|
this1.uniform1fv(location,data,srcOffset,srcLength);
|
|
} else {
|
|
this1.uniform1fv(location,data);
|
|
}
|
|
};
|
|
lime_graphics_WebGL2RenderContext.uniform1iv = function(this1,location,data,srcOffset,srcLength) {
|
|
if(srcOffset != null) {
|
|
this1.uniform1iv(location,data,srcOffset,srcLength);
|
|
} else {
|
|
this1.uniform1iv(location,data);
|
|
}
|
|
};
|
|
lime_graphics_WebGL2RenderContext.uniform2fv = function(this1,location,data,srcOffset,srcLength) {
|
|
if(srcOffset != null) {
|
|
this1.uniform2fv(location,data,srcOffset,srcLength);
|
|
} else {
|
|
this1.uniform2fv(location,data);
|
|
}
|
|
};
|
|
lime_graphics_WebGL2RenderContext.uniform2iv = function(this1,location,data,srcOffset,srcLength) {
|
|
if(srcOffset != null) {
|
|
this1.uniform2iv(location,data,srcOffset,srcLength);
|
|
} else {
|
|
this1.uniform2iv(location,data);
|
|
}
|
|
};
|
|
lime_graphics_WebGL2RenderContext.uniform3fv = function(this1,location,data,srcOffset,srcLength) {
|
|
if(srcOffset != null) {
|
|
this1.uniform3fv(location,data,srcOffset,srcLength);
|
|
} else {
|
|
this1.uniform3fv(location,data);
|
|
}
|
|
};
|
|
lime_graphics_WebGL2RenderContext.uniform3iv = function(this1,location,data,srcOffset,srcLength) {
|
|
if(srcOffset != null) {
|
|
this1.uniform3iv(location,data,srcOffset,srcLength);
|
|
} else {
|
|
this1.uniform3iv(location,data);
|
|
}
|
|
};
|
|
lime_graphics_WebGL2RenderContext.uniform4fv = function(this1,location,data,srcOffset,srcLength) {
|
|
if(srcOffset != null) {
|
|
this1.uniform4fv(location,data,srcOffset,srcLength);
|
|
} else {
|
|
this1.uniform4fv(location,data);
|
|
}
|
|
};
|
|
lime_graphics_WebGL2RenderContext.uniform4iv = function(this1,location,data,srcOffset,srcLength) {
|
|
if(srcOffset != null) {
|
|
this1.uniform4iv(location,data,srcOffset,srcLength);
|
|
} else {
|
|
this1.uniform4iv(location,data);
|
|
}
|
|
};
|
|
lime_graphics_WebGL2RenderContext.uniformMatrix2fv = function(this1,location,transpose,data,srcOffset,srcLength) {
|
|
if(srcOffset != null) {
|
|
this1.uniformMatrix2fv(location,transpose,data,srcOffset,srcLength);
|
|
} else {
|
|
this1.uniformMatrix2fv(location,transpose,data);
|
|
}
|
|
};
|
|
lime_graphics_WebGL2RenderContext.uniformMatrix3fv = function(this1,location,transpose,data,srcOffset,srcLength) {
|
|
if(srcOffset != null) {
|
|
this1.uniformMatrix3fv(location,transpose,data,srcOffset,srcLength);
|
|
} else {
|
|
this1.uniformMatrix3fv(location,transpose,data);
|
|
}
|
|
};
|
|
lime_graphics_WebGL2RenderContext.uniformMatrix4fv = function(this1,location,transpose,data,srcOffset,srcLength) {
|
|
if(srcOffset != null) {
|
|
this1.uniformMatrix4fv(location,transpose,data,srcOffset,srcLength);
|
|
} else {
|
|
this1.uniformMatrix4fv(location,transpose,data);
|
|
}
|
|
};
|
|
lime_graphics_WebGL2RenderContext.fromGL = function(gl) {
|
|
return null;
|
|
};
|
|
lime_graphics_WebGL2RenderContext.fromRenderContext = function(context) {
|
|
return context.webgl2;
|
|
};
|
|
lime_graphics_WebGL2RenderContext.toWebGLRenderContext = function(gl) {
|
|
return gl;
|
|
};
|
|
var lime_graphics_WebGLRenderContext = {};
|
|
lime_graphics_WebGLRenderContext.bufferData = function(this1,target,srcData,usage) {
|
|
var srcOffset = null;
|
|
if(srcOffset != null) {
|
|
this1.bufferData(target,srcData,usage,srcOffset,null);
|
|
} else {
|
|
this1.bufferData(target,srcData,usage);
|
|
}
|
|
};
|
|
lime_graphics_WebGLRenderContext.bufferSubData = function(this1,target,offset,srcData) {
|
|
var srcOffset = null;
|
|
if(srcOffset != null) {
|
|
this1.bufferSubData(target,offset,srcData,srcOffset,null);
|
|
} else {
|
|
this1.bufferSubData(target,offset,srcData);
|
|
}
|
|
};
|
|
lime_graphics_WebGLRenderContext.compressedTexImage2D = function(this1,target,level,internalformat,width,height,border,srcData) {
|
|
var srcOffset = null;
|
|
if(srcOffset != null) {
|
|
this1.compressedTexImage2D(target,level,internalformat,width,height,border,srcData,srcOffset,null);
|
|
} else {
|
|
this1.compressedTexImage2D(target,level,internalformat,width,height,border,srcData);
|
|
}
|
|
};
|
|
lime_graphics_WebGLRenderContext.compressedTexSubImage2D = function(this1,target,level,xoffset,yoffset,width,height,format,srcData) {
|
|
var srcOffset = null;
|
|
if(srcOffset != null) {
|
|
this1.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,srcData,srcOffset,null);
|
|
} else {
|
|
this1.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,srcData);
|
|
}
|
|
};
|
|
lime_graphics_WebGLRenderContext.readPixels = function(this1,x,y,width,height,format,type,pixels) {
|
|
var dstOffset = null;
|
|
if(dstOffset != null) {
|
|
this1.readPixels(x,y,width,height,format,type,pixels,dstOffset);
|
|
} else {
|
|
this1.readPixels(x,y,width,height,format,type,pixels);
|
|
}
|
|
};
|
|
lime_graphics_WebGLRenderContext.texImage2D = function(this1,target,level,internalformat,width,height,border,format,type,srcData) {
|
|
var srcOffset = null;
|
|
if(srcOffset != null) {
|
|
this1.texImage2D(target,level,internalformat,width,height,border,format,type,srcData,srcOffset);
|
|
} else if(format != null) {
|
|
this1.texImage2D(target,level,internalformat,width,height,border,format,type,srcData);
|
|
} else {
|
|
this1.texImage2D(target,level,internalformat,width,height,border);
|
|
}
|
|
};
|
|
lime_graphics_WebGLRenderContext.texSubImage2D = function(this1,target,level,xoffset,yoffset,width,height,format,type,srcData) {
|
|
var srcOffset = null;
|
|
if(srcOffset != null) {
|
|
this1.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,srcData,srcOffset);
|
|
} else if(type != null) {
|
|
this1.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,srcData);
|
|
} else {
|
|
this1.texSubImage2D(target,level,xoffset,yoffset,width,height,format);
|
|
}
|
|
};
|
|
lime_graphics_WebGLRenderContext.uniformMatrix2fv = function(this1,location,transpose,v) {
|
|
var data = v;
|
|
var srcOffset = null;
|
|
if(srcOffset != null) {
|
|
this1.uniformMatrix2fv(location,transpose,data,srcOffset,null);
|
|
} else {
|
|
this1.uniformMatrix2fv(location,transpose,data);
|
|
}
|
|
};
|
|
lime_graphics_WebGLRenderContext.uniformMatrix3fv = function(this1,location,transpose,v) {
|
|
var data = v;
|
|
var srcOffset = null;
|
|
if(srcOffset != null) {
|
|
this1.uniformMatrix3fv(location,transpose,data,srcOffset,null);
|
|
} else {
|
|
this1.uniformMatrix3fv(location,transpose,data);
|
|
}
|
|
};
|
|
lime_graphics_WebGLRenderContext.uniformMatrix4fv = function(this1,location,transpose,v) {
|
|
var data = v;
|
|
var srcOffset = null;
|
|
if(srcOffset != null) {
|
|
this1.uniformMatrix4fv(location,transpose,data,srcOffset,null);
|
|
} else {
|
|
this1.uniformMatrix4fv(location,transpose,data);
|
|
}
|
|
};
|
|
lime_graphics_WebGLRenderContext.fromWebGL2RenderContext = function(gl) {
|
|
return gl;
|
|
};
|
|
lime_graphics_WebGLRenderContext.fromRenderContext = function(context) {
|
|
return context.webgl;
|
|
};
|
|
lime_graphics_WebGLRenderContext.fromGL = function(gl) {
|
|
return lime_graphics_opengl_GL.context;
|
|
};
|
|
var lime_graphics_cairo_Cairo = function(surface) {
|
|
var tmp = surface != null;
|
|
};
|
|
$hxClasses["lime.graphics.cairo.Cairo"] = lime_graphics_cairo_Cairo;
|
|
lime_graphics_cairo_Cairo.__name__ = "lime.graphics.cairo.Cairo";
|
|
lime_graphics_cairo_Cairo.__properties__ = {get_versionString:"get_versionString",get_version:"get_version"};
|
|
lime_graphics_cairo_Cairo.version = null;
|
|
lime_graphics_cairo_Cairo.versionString = null;
|
|
lime_graphics_cairo_Cairo.get_version = function() {
|
|
return 0;
|
|
};
|
|
lime_graphics_cairo_Cairo.get_versionString = function() {
|
|
return "";
|
|
};
|
|
lime_graphics_cairo_Cairo.prototype = {
|
|
target: null
|
|
,userData: null
|
|
,handle: null
|
|
,arc: function(xc,yc,radius,angle1,angle2) {
|
|
}
|
|
,arcNegative: function(xc,yc,radius,angle1,angle2) {
|
|
}
|
|
,clip: function() {
|
|
}
|
|
,clipExtents: function(x1,y1,x2,y2) {
|
|
}
|
|
,clipPreserve: function() {
|
|
}
|
|
,closePath: function() {
|
|
}
|
|
,copyPage: function() {
|
|
}
|
|
,curveTo: function(x1,y1,x2,y2,x3,y3) {
|
|
}
|
|
,fill: function() {
|
|
}
|
|
,fillExtents: function(x1,y1,x2,y2) {
|
|
}
|
|
,fillPreserve: function() {
|
|
}
|
|
,getOperator: function() {
|
|
return 0;
|
|
}
|
|
,identityMatrix: function() {
|
|
}
|
|
,inClip: function(x,y) {
|
|
return false;
|
|
}
|
|
,inFill: function(x,y) {
|
|
return false;
|
|
}
|
|
,inStroke: function(x,y) {
|
|
return false;
|
|
}
|
|
,lineTo: function(x,y) {
|
|
}
|
|
,mask: function(pattern) {
|
|
}
|
|
,maskSurface: function(surface,x,y) {
|
|
}
|
|
,moveTo: function(x,y) {
|
|
}
|
|
,newPath: function() {
|
|
}
|
|
,paint: function() {
|
|
}
|
|
,paintWithAlpha: function(alpha) {
|
|
}
|
|
,popGroup: function() {
|
|
return null;
|
|
}
|
|
,popGroupToSource: function() {
|
|
}
|
|
,pushGroup: function() {
|
|
}
|
|
,pushGroupWithContent: function(content) {
|
|
}
|
|
,recreate: function(surface) {
|
|
}
|
|
,rectangle: function(x,y,width,height) {
|
|
}
|
|
,relCurveTo: function(dx1,dy1,dx2,dy2,dx3,dy3) {
|
|
}
|
|
,relLineTo: function(dx,dy) {
|
|
}
|
|
,relMoveTo: function(dx,dy) {
|
|
}
|
|
,resetClip: function() {
|
|
}
|
|
,restore: function() {
|
|
}
|
|
,rotate: function(amount) {
|
|
}
|
|
,save: function() {
|
|
}
|
|
,scale: function(x,y) {
|
|
}
|
|
,setFontSize: function(size) {
|
|
}
|
|
,setOperator: function(value) {
|
|
return value;
|
|
}
|
|
,setSourceRGB: function(r,g,b) {
|
|
}
|
|
,setSourceRGBA: function(r,g,b,a) {
|
|
}
|
|
,setSourceSurface: function(surface,x,y) {
|
|
}
|
|
,showGlyphs: function(glyphs) {
|
|
}
|
|
,showPage: function() {
|
|
}
|
|
,showText: function(utf8) {
|
|
}
|
|
,status: function() {
|
|
return 0;
|
|
}
|
|
,stroke: function() {
|
|
}
|
|
,strokeExtents: function(x1,y1,x2,y2) {
|
|
}
|
|
,strokePreserve: function() {
|
|
}
|
|
,textPath: function(utf8) {
|
|
}
|
|
,transform: function(matrix) {
|
|
}
|
|
,translate: function(x,y) {
|
|
}
|
|
,get_antialias: function() {
|
|
return 0;
|
|
}
|
|
,set_antialias: function(value) {
|
|
return value;
|
|
}
|
|
,get_currentPoint: function() {
|
|
return null;
|
|
}
|
|
,get_dash: function() {
|
|
return [];
|
|
}
|
|
,set_dash: function(value) {
|
|
return value;
|
|
}
|
|
,get_dashCount: function() {
|
|
return 0;
|
|
}
|
|
,get_fillRule: function() {
|
|
return 0;
|
|
}
|
|
,set_fillRule: function(value) {
|
|
return value;
|
|
}
|
|
,get_fontFace: function() {
|
|
return 0;
|
|
}
|
|
,set_fontFace: function(value) {
|
|
return value;
|
|
}
|
|
,get_fontOptions: function() {
|
|
return null;
|
|
}
|
|
,set_fontOptions: function(value) {
|
|
return value;
|
|
}
|
|
,get_groupTarget: function() {
|
|
return 0;
|
|
}
|
|
,get_hasCurrentPoint: function() {
|
|
return false;
|
|
}
|
|
,get_lineCap: function() {
|
|
return 0;
|
|
}
|
|
,set_lineCap: function(value) {
|
|
return value;
|
|
}
|
|
,get_lineJoin: function() {
|
|
return 0;
|
|
}
|
|
,set_lineJoin: function(value) {
|
|
return value;
|
|
}
|
|
,get_lineWidth: function() {
|
|
return 0;
|
|
}
|
|
,set_lineWidth: function(value) {
|
|
return value;
|
|
}
|
|
,get_matrix: function() {
|
|
return null;
|
|
}
|
|
,set_matrix: function(value) {
|
|
return value;
|
|
}
|
|
,get_miterLimit: function() {
|
|
return 0;
|
|
}
|
|
,set_miterLimit: function(value) {
|
|
return value;
|
|
}
|
|
,get_source: function() {
|
|
return 0;
|
|
}
|
|
,set_source: function(value) {
|
|
return value;
|
|
}
|
|
,get_target: function() {
|
|
return 0;
|
|
}
|
|
,get_tolerance: function() {
|
|
return 0;
|
|
}
|
|
,set_tolerance: function(value) {
|
|
return value;
|
|
}
|
|
,__class__: lime_graphics_cairo_Cairo
|
|
,__properties__: {set_tolerance:"set_tolerance",get_tolerance:"get_tolerance",get_target:"get_target",set_source:"set_source",get_source:"get_source",set_miterLimit:"set_miterLimit",get_miterLimit:"get_miterLimit",set_matrix:"set_matrix",get_matrix:"get_matrix",set_lineWidth:"set_lineWidth",get_lineWidth:"get_lineWidth",set_lineJoin:"set_lineJoin",get_lineJoin:"get_lineJoin",set_lineCap:"set_lineCap",get_lineCap:"get_lineCap",get_hasCurrentPoint:"get_hasCurrentPoint",get_groupTarget:"get_groupTarget",set_fontOptions:"set_fontOptions",get_fontOptions:"get_fontOptions",set_fontFace:"set_fontFace",get_fontFace:"get_fontFace",set_fillRule:"set_fillRule",get_fillRule:"get_fillRule",get_dashCount:"get_dashCount",set_dash:"set_dash",get_dash:"get_dash",get_currentPoint:"get_currentPoint",set_antialias:"set_antialias",get_antialias:"get_antialias"}
|
|
};
|
|
var lime_graphics_cairo_CairoFTFontFace = {};
|
|
lime_graphics_cairo_CairoFTFontFace._new = function() {
|
|
var this1 = 0;
|
|
return this1;
|
|
};
|
|
lime_graphics_cairo_CairoFTFontFace.create = function(face,loadFlags) {
|
|
return 0;
|
|
};
|
|
var lime_graphics_cairo_CairoFontFace = {};
|
|
lime_graphics_cairo_CairoFontFace._new = function() {
|
|
var this1 = null;
|
|
return this1;
|
|
};
|
|
lime_graphics_cairo_CairoFontFace.status = function(this1) {
|
|
return 0;
|
|
};
|
|
var lime_graphics_cairo_CairoFontOptions = {};
|
|
lime_graphics_cairo_CairoFontOptions.__properties__ = {set_subpixelOrder:"set_subpixelOrder",get_subpixelOrder:"get_subpixelOrder",set_hintStyle:"set_hintStyle",get_hintStyle:"get_hintStyle",set_hintMetrics:"set_hintMetrics",get_hintMetrics:"get_hintMetrics",set_antialias:"set_antialias",get_antialias:"get_antialias"};
|
|
lime_graphics_cairo_CairoFontOptions._new = function() {
|
|
var this1 = null;
|
|
return this1;
|
|
};
|
|
lime_graphics_cairo_CairoFontOptions.get_antialias = function(this1) {
|
|
return 0;
|
|
};
|
|
lime_graphics_cairo_CairoFontOptions.set_antialias = function(this1,value) {
|
|
return value;
|
|
};
|
|
lime_graphics_cairo_CairoFontOptions.get_hintMetrics = function(this1) {
|
|
return 0;
|
|
};
|
|
lime_graphics_cairo_CairoFontOptions.set_hintMetrics = function(this1,value) {
|
|
return value;
|
|
};
|
|
lime_graphics_cairo_CairoFontOptions.get_hintStyle = function(this1) {
|
|
return 0;
|
|
};
|
|
lime_graphics_cairo_CairoFontOptions.set_hintStyle = function(this1,value) {
|
|
return value;
|
|
};
|
|
lime_graphics_cairo_CairoFontOptions.get_subpixelOrder = function(this1) {
|
|
return 0;
|
|
};
|
|
lime_graphics_cairo_CairoFontOptions.set_subpixelOrder = function(this1,value) {
|
|
return value;
|
|
};
|
|
var lime_graphics_cairo_CairoGlyph = function(index,x,y) {
|
|
if(y == null) {
|
|
y = 0;
|
|
}
|
|
if(x == null) {
|
|
x = 0;
|
|
}
|
|
this.index = index;
|
|
this.x = x;
|
|
this.y = y;
|
|
};
|
|
$hxClasses["lime.graphics.cairo.CairoGlyph"] = lime_graphics_cairo_CairoGlyph;
|
|
lime_graphics_cairo_CairoGlyph.__name__ = "lime.graphics.cairo.CairoGlyph";
|
|
lime_graphics_cairo_CairoGlyph.prototype = {
|
|
index: null
|
|
,x: null
|
|
,y: null
|
|
,__class__: lime_graphics_cairo_CairoGlyph
|
|
};
|
|
var lime_graphics_cairo_CairoImageSurface = {};
|
|
lime_graphics_cairo_CairoImageSurface.__properties__ = {get_width:"get_width",get_stride:"get_stride",get_height:"get_height",get_format:"get_format",get_data:"get_data"};
|
|
lime_graphics_cairo_CairoImageSurface._new = function(format,width,height) {
|
|
var this1 = 0;
|
|
return this1;
|
|
};
|
|
lime_graphics_cairo_CairoImageSurface.create = function(data,format,width,height,stride) {
|
|
return 0;
|
|
};
|
|
lime_graphics_cairo_CairoImageSurface.fromImage = function(image) {
|
|
return null;
|
|
};
|
|
lime_graphics_cairo_CairoImageSurface.get_data = function(this1) {
|
|
return lime_utils_DataPointer.fromFloat(0);
|
|
};
|
|
lime_graphics_cairo_CairoImageSurface.get_format = function(this1) {
|
|
return 0;
|
|
};
|
|
lime_graphics_cairo_CairoImageSurface.get_height = function(this1) {
|
|
return 0;
|
|
};
|
|
lime_graphics_cairo_CairoImageSurface.get_stride = function(this1) {
|
|
return 0;
|
|
};
|
|
lime_graphics_cairo_CairoImageSurface.get_width = function(this1) {
|
|
return 0;
|
|
};
|
|
var lime_graphics_cairo_CairoPattern = {};
|
|
lime_graphics_cairo_CairoPattern.__properties__ = {set_matrix:"set_matrix",get_matrix:"get_matrix",set_filter:"set_filter",get_filter:"get_filter",set_extend:"set_extend",get_extend:"get_extend",get_colorStopCount:"get_colorStopCount"};
|
|
lime_graphics_cairo_CairoPattern._new = function(handle) {
|
|
var this1 = handle;
|
|
return this1;
|
|
};
|
|
lime_graphics_cairo_CairoPattern.addColorStopRGB = function(this1,offset,r,g,b) {
|
|
};
|
|
lime_graphics_cairo_CairoPattern.addColorStopRGBA = function(this1,offset,r,g,b,a) {
|
|
};
|
|
lime_graphics_cairo_CairoPattern.createForSurface = function(surface) {
|
|
return 0;
|
|
};
|
|
lime_graphics_cairo_CairoPattern.createLinear = function(x0,y0,x1,y1) {
|
|
return 0;
|
|
};
|
|
lime_graphics_cairo_CairoPattern.createRadial = function(cx0,cy0,radius0,cx1,cy1,radius1) {
|
|
return 0;
|
|
};
|
|
lime_graphics_cairo_CairoPattern.createRGB = function(r,g,b) {
|
|
return 0;
|
|
};
|
|
lime_graphics_cairo_CairoPattern.createRGBA = function(r,g,b,a) {
|
|
return 0;
|
|
};
|
|
lime_graphics_cairo_CairoPattern.get_colorStopCount = function(this1) {
|
|
return 0;
|
|
};
|
|
lime_graphics_cairo_CairoPattern.get_extend = function(this1) {
|
|
return 0;
|
|
};
|
|
lime_graphics_cairo_CairoPattern.set_extend = function(this1,value) {
|
|
return value;
|
|
};
|
|
lime_graphics_cairo_CairoPattern.get_filter = function(this1) {
|
|
return 0;
|
|
};
|
|
lime_graphics_cairo_CairoPattern.set_filter = function(this1,value) {
|
|
return value;
|
|
};
|
|
lime_graphics_cairo_CairoPattern.get_matrix = function(this1) {
|
|
return null;
|
|
};
|
|
lime_graphics_cairo_CairoPattern.set_matrix = function(this1,value) {
|
|
return value;
|
|
};
|
|
var lime_graphics_cairo_CairoSurface = {};
|
|
lime_graphics_cairo_CairoSurface.flush = function(this1) {
|
|
};
|
|
var lime_graphics_opengl_GL = function() { };
|
|
$hxClasses["lime.graphics.opengl.GL"] = lime_graphics_opengl_GL;
|
|
lime_graphics_opengl_GL.__name__ = "lime.graphics.opengl.GL";
|
|
lime_graphics_opengl_GL.context = null;
|
|
lime_graphics_opengl_GL.type = null;
|
|
lime_graphics_opengl_GL.version = null;
|
|
lime_graphics_opengl_GL.activeTexture = function(texture) {
|
|
lime_graphics_opengl_GL.context.activeTexture(texture);
|
|
};
|
|
lime_graphics_opengl_GL.attachShader = function(program,shader) {
|
|
lime_graphics_opengl_GL.context.attachShader(program,shader);
|
|
};
|
|
lime_graphics_opengl_GL.beginQuery = function(target,query) {
|
|
lime_graphics_opengl_GL.context.beginQuery(target,query);
|
|
};
|
|
lime_graphics_opengl_GL.beginTransformFeedback = function(primitiveNode) {
|
|
lime_graphics_opengl_GL.context.beginTransformFeedback(primitiveNode);
|
|
};
|
|
lime_graphics_opengl_GL.bindAttribLocation = function(program,index,name) {
|
|
lime_graphics_opengl_GL.context.bindAttribLocation(program,index,name);
|
|
};
|
|
lime_graphics_opengl_GL.bindBuffer = function(target,buffer) {
|
|
lime_graphics_opengl_GL.context.bindBuffer(target,buffer);
|
|
};
|
|
lime_graphics_opengl_GL.bindBufferBase = function(target,index,buffer) {
|
|
lime_graphics_opengl_GL.context.bindBufferBase(target,index,buffer);
|
|
};
|
|
lime_graphics_opengl_GL.bindBufferRange = function(target,index,buffer,offset,size) {
|
|
lime_graphics_opengl_GL.context.bindBufferRange(target,index,buffer,offset,lime_utils_DataPointer.fromFloat(size));
|
|
};
|
|
lime_graphics_opengl_GL.bindFramebuffer = function(target,framebuffer) {
|
|
lime_graphics_opengl_GL.context.bindFramebuffer(target,framebuffer);
|
|
};
|
|
lime_graphics_opengl_GL.bindRenderbuffer = function(target,renderbuffer) {
|
|
lime_graphics_opengl_GL.context.bindRenderbuffer(target,renderbuffer);
|
|
};
|
|
lime_graphics_opengl_GL.bindSampler = function(unit,sampler) {
|
|
lime_graphics_opengl_GL.context.bindSampler(unit,sampler);
|
|
};
|
|
lime_graphics_opengl_GL.bindTexture = function(target,texture) {
|
|
lime_graphics_opengl_GL.context.bindTexture(target,texture);
|
|
};
|
|
lime_graphics_opengl_GL.bindTransformFeedback = function(target,transformFeedback) {
|
|
lime_graphics_opengl_GL.context.bindTransformFeedback(target,transformFeedback);
|
|
};
|
|
lime_graphics_opengl_GL.bindVertexArray = function(vertexArray) {
|
|
lime_graphics_opengl_GL.context.bindVertexArray(vertexArray);
|
|
};
|
|
lime_graphics_opengl_GL.blitFramebuffer = function(srcX0,srcY0,srcX1,srcY1,dstX0,dstY0,dstX1,dstY1,mask,filter) {
|
|
lime_graphics_opengl_GL.context.blitFramebuffer(srcX0,srcY0,srcX1,srcY1,dstX0,dstY0,dstX1,dstY1,mask,filter);
|
|
};
|
|
lime_graphics_opengl_GL.blendColor = function(red,green,blue,alpha) {
|
|
lime_graphics_opengl_GL.context.blendColor(red,green,blue,alpha);
|
|
};
|
|
lime_graphics_opengl_GL.blendEquation = function(mode) {
|
|
lime_graphics_opengl_GL.context.blendEquation(mode);
|
|
};
|
|
lime_graphics_opengl_GL.blendEquationSeparate = function(modeRGB,modeAlpha) {
|
|
lime_graphics_opengl_GL.context.blendEquationSeparate(modeRGB,modeAlpha);
|
|
};
|
|
lime_graphics_opengl_GL.blendFunc = function(sfactor,dfactor) {
|
|
lime_graphics_opengl_GL.context.blendFunc(sfactor,dfactor);
|
|
};
|
|
lime_graphics_opengl_GL.blendFuncSeparate = function(srcRGB,dstRGB,srcAlpha,dstAlpha) {
|
|
lime_graphics_opengl_GL.context.blendFuncSeparate(srcRGB,dstRGB,srcAlpha,dstAlpha);
|
|
};
|
|
lime_graphics_opengl_GL.bufferDataWEBGL = function(target,srcData,usage,srcOffset,length) {
|
|
var this1 = lime_graphics_opengl_GL.context;
|
|
if(srcOffset != null) {
|
|
this1.bufferData(target,srcData,usage,srcOffset,length);
|
|
} else {
|
|
this1.bufferData(target,srcData,usage);
|
|
}
|
|
};
|
|
lime_graphics_opengl_GL.bufferSubDataWEBGL = function(target,dstByteOffset,srcData,srcOffset,length) {
|
|
var this1 = lime_graphics_opengl_GL.context;
|
|
if(srcOffset != null) {
|
|
this1.bufferSubData(target,dstByteOffset,srcData,srcOffset,length);
|
|
} else {
|
|
this1.bufferSubData(target,dstByteOffset,srcData);
|
|
}
|
|
};
|
|
lime_graphics_opengl_GL.checkFramebufferStatus = function(target) {
|
|
return lime_graphics_opengl_GL.context.checkFramebufferStatus(target);
|
|
};
|
|
lime_graphics_opengl_GL.clear = function(mask) {
|
|
lime_graphics_opengl_GL.context.clear(mask);
|
|
};
|
|
lime_graphics_opengl_GL.clearBufferfi = function(buffer,drawbuffer,depth,stencil) {
|
|
lime_graphics_opengl_GL.context.clearBufferfi(buffer,drawbuffer,depth,stencil);
|
|
};
|
|
lime_graphics_opengl_GL.clearBufferfvWEBGL = function(buffer,drawbuffer,values,srcOffset) {
|
|
lime_graphics_opengl_GL.context.clearBufferfv(buffer,drawbuffer,values,srcOffset);
|
|
};
|
|
lime_graphics_opengl_GL.clearBufferivWEBGL = function(buffer,drawbuffer,values,srcOffset) {
|
|
lime_graphics_opengl_GL.context.clearBufferiv(buffer,drawbuffer,values,srcOffset);
|
|
};
|
|
lime_graphics_opengl_GL.clearBufferuivWEBGL = function(buffer,drawbuffer,values,srcOffset) {
|
|
lime_graphics_opengl_GL.context.clearBufferuiv(buffer,drawbuffer,values,srcOffset);
|
|
};
|
|
lime_graphics_opengl_GL.clearColor = function(red,green,blue,alpha) {
|
|
lime_graphics_opengl_GL.context.clearColor(red,green,blue,alpha);
|
|
};
|
|
lime_graphics_opengl_GL.clearDepth = function(depth) {
|
|
lime_graphics_opengl_GL.context.clearDepth(depth);
|
|
};
|
|
lime_graphics_opengl_GL.clearStencil = function(s) {
|
|
lime_graphics_opengl_GL.context.clearStencil(s);
|
|
};
|
|
lime_graphics_opengl_GL.clientWaitSync = function(sync,flags,timeout) {
|
|
return lime_graphics_opengl_GL.context.clientWaitSync(sync,flags,timeout);
|
|
};
|
|
lime_graphics_opengl_GL.colorMask = function(red,green,blue,alpha) {
|
|
lime_graphics_opengl_GL.context.colorMask(red,green,blue,alpha);
|
|
};
|
|
lime_graphics_opengl_GL.compileShader = function(shader) {
|
|
lime_graphics_opengl_GL.context.compileShader(shader);
|
|
};
|
|
lime_graphics_opengl_GL.compressedTexImage2DWEBGL = function(target,level,internalformat,width,height,border,srcData,srcOffset,srcLengthOverride) {
|
|
var this1 = lime_graphics_opengl_GL.context;
|
|
if(srcOffset != null) {
|
|
this1.compressedTexImage2D(target,level,internalformat,width,height,border,srcData,srcOffset,srcLengthOverride);
|
|
} else {
|
|
this1.compressedTexImage2D(target,level,internalformat,width,height,border,srcData);
|
|
}
|
|
};
|
|
lime_graphics_opengl_GL.compressedTexImage3DWEBGL = function(target,level,internalformat,width,height,depth,border,srcData,srcOffset,srcLengthOverride) {
|
|
lime_graphics_opengl_GL.context.compressedTexImage3D(target,level,internalformat,width,height,depth,border,srcData,srcOffset,srcLengthOverride);
|
|
};
|
|
lime_graphics_opengl_GL.compressedTexSubImage2DWEBGL = function(target,level,xoffset,yoffset,width,height,format,srcData,srcOffset,srcLengthOverride) {
|
|
var this1 = lime_graphics_opengl_GL.context;
|
|
if(srcOffset != null) {
|
|
this1.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,srcData,srcOffset,srcLengthOverride);
|
|
} else {
|
|
this1.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,srcData);
|
|
}
|
|
};
|
|
lime_graphics_opengl_GL.compressedTexSubImage3DWEBGL = function(target,level,xoffset,yoffset,zoffset,width,height,depth,format,srcData,srcOffset,srcLengthOverride) {
|
|
lime_graphics_opengl_GL.context.compressedTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,srcData,srcOffset,srcLengthOverride);
|
|
};
|
|
lime_graphics_opengl_GL.copyTexImage2D = function(target,level,internalformat,x,y,width,height,border) {
|
|
lime_graphics_opengl_GL.context.copyTexImage2D(target,level,internalformat,x,y,width,height,border);
|
|
};
|
|
lime_graphics_opengl_GL.copyTexSubImage2D = function(target,level,xoffset,yoffset,x,y,width,height) {
|
|
lime_graphics_opengl_GL.context.copyTexSubImage2D(target,level,xoffset,yoffset,x,y,width,height);
|
|
};
|
|
lime_graphics_opengl_GL.copyTexSubImage3D = function(target,level,xoffset,yoffset,zoffset,x,y,width,height) {
|
|
lime_graphics_opengl_GL.context.copyTexSubImage3D(target,level,xoffset,yoffset,zoffset,x,y,width,height);
|
|
};
|
|
lime_graphics_opengl_GL.createBuffer = function() {
|
|
return lime_graphics_opengl_GL.context.createBuffer();
|
|
};
|
|
lime_graphics_opengl_GL.createFramebuffer = function() {
|
|
return lime_graphics_opengl_GL.context.createFramebuffer();
|
|
};
|
|
lime_graphics_opengl_GL.createProgram = function() {
|
|
return lime_graphics_opengl_GL.context.createProgram();
|
|
};
|
|
lime_graphics_opengl_GL.createQuery = function() {
|
|
return lime_graphics_opengl_GL.context.createQuery();
|
|
};
|
|
lime_graphics_opengl_GL.createRenderbuffer = function() {
|
|
return lime_graphics_opengl_GL.context.createRenderbuffer();
|
|
};
|
|
lime_graphics_opengl_GL.createSampler = function() {
|
|
return lime_graphics_opengl_GL.context.createSampler();
|
|
};
|
|
lime_graphics_opengl_GL.createShader = function(type) {
|
|
return lime_graphics_opengl_GL.context.createShader(type);
|
|
};
|
|
lime_graphics_opengl_GL.createTexture = function() {
|
|
return lime_graphics_opengl_GL.context.createTexture();
|
|
};
|
|
lime_graphics_opengl_GL.createTransformFeedback = function() {
|
|
return lime_graphics_opengl_GL.context.createTransformFeedback();
|
|
};
|
|
lime_graphics_opengl_GL.createVertexArray = function() {
|
|
return lime_graphics_opengl_GL.context.createVertexArray();
|
|
};
|
|
lime_graphics_opengl_GL.cullFace = function(mode) {
|
|
lime_graphics_opengl_GL.context.cullFace(mode);
|
|
};
|
|
lime_graphics_opengl_GL.deleteBuffer = function(buffer) {
|
|
lime_graphics_opengl_GL.context.deleteBuffer(buffer);
|
|
};
|
|
lime_graphics_opengl_GL.deleteFramebuffer = function(framebuffer) {
|
|
lime_graphics_opengl_GL.context.deleteFramebuffer(framebuffer);
|
|
};
|
|
lime_graphics_opengl_GL.deleteProgram = function(program) {
|
|
lime_graphics_opengl_GL.context.deleteProgram(program);
|
|
};
|
|
lime_graphics_opengl_GL.deleteQuery = function(query) {
|
|
lime_graphics_opengl_GL.context.deleteQuery(query);
|
|
};
|
|
lime_graphics_opengl_GL.deleteRenderbuffer = function(renderbuffer) {
|
|
lime_graphics_opengl_GL.context.deleteRenderbuffer(renderbuffer);
|
|
};
|
|
lime_graphics_opengl_GL.deleteSampler = function(sampler) {
|
|
lime_graphics_opengl_GL.context.deleteSampler(sampler);
|
|
};
|
|
lime_graphics_opengl_GL.deleteShader = function(shader) {
|
|
lime_graphics_opengl_GL.context.deleteShader(shader);
|
|
};
|
|
lime_graphics_opengl_GL.deleteSync = function(sync) {
|
|
lime_graphics_opengl_GL.context.deleteSync(sync);
|
|
};
|
|
lime_graphics_opengl_GL.deleteTexture = function(texture) {
|
|
lime_graphics_opengl_GL.context.deleteTexture(texture);
|
|
};
|
|
lime_graphics_opengl_GL.deleteTransformFeedback = function(transformFeedback) {
|
|
lime_graphics_opengl_GL.context.deleteTransformFeedback(transformFeedback);
|
|
};
|
|
lime_graphics_opengl_GL.deleteVertexArray = function(vertexArray) {
|
|
lime_graphics_opengl_GL.context.deleteVertexArray(vertexArray);
|
|
};
|
|
lime_graphics_opengl_GL.depthFunc = function(func) {
|
|
lime_graphics_opengl_GL.context.depthFunc(func);
|
|
};
|
|
lime_graphics_opengl_GL.depthMask = function(flag) {
|
|
lime_graphics_opengl_GL.context.depthMask(flag);
|
|
};
|
|
lime_graphics_opengl_GL.depthRange = function(zNear,zFar) {
|
|
lime_graphics_opengl_GL.context.depthRange(zNear,zFar);
|
|
};
|
|
lime_graphics_opengl_GL.detachShader = function(program,shader) {
|
|
lime_graphics_opengl_GL.context.detachShader(program,shader);
|
|
};
|
|
lime_graphics_opengl_GL.disable = function(cap) {
|
|
lime_graphics_opengl_GL.context.disable(cap);
|
|
};
|
|
lime_graphics_opengl_GL.disableVertexAttribArray = function(index) {
|
|
lime_graphics_opengl_GL.context.disableVertexAttribArray(index);
|
|
};
|
|
lime_graphics_opengl_GL.drawArrays = function(mode,first,count) {
|
|
lime_graphics_opengl_GL.context.drawArrays(mode,first,count);
|
|
};
|
|
lime_graphics_opengl_GL.drawArraysInstanced = function(mode,first,count,instanceCount) {
|
|
lime_graphics_opengl_GL.context.drawArraysInstanced(mode,first,count,instanceCount);
|
|
};
|
|
lime_graphics_opengl_GL.drawBuffers = function(buffers) {
|
|
lime_graphics_opengl_GL.context.drawBuffers(buffers);
|
|
};
|
|
lime_graphics_opengl_GL.drawElements = function(mode,count,type,offset) {
|
|
lime_graphics_opengl_GL.context.drawElements(mode,count,type,offset);
|
|
};
|
|
lime_graphics_opengl_GL.drawElementsInstanced = function(mode,count,type,offset,instanceCount) {
|
|
lime_graphics_opengl_GL.context.drawElementsInstanced(mode,count,type,offset,instanceCount);
|
|
};
|
|
lime_graphics_opengl_GL.drawRangeElements = function(mode,start,end,count,type,offset) {
|
|
lime_graphics_opengl_GL.context.drawRangeElements(mode,start,end,count,type,offset);
|
|
};
|
|
lime_graphics_opengl_GL.enable = function(cap) {
|
|
lime_graphics_opengl_GL.context.enable(cap);
|
|
};
|
|
lime_graphics_opengl_GL.enableVertexAttribArray = function(index) {
|
|
lime_graphics_opengl_GL.context.enableVertexAttribArray(index);
|
|
};
|
|
lime_graphics_opengl_GL.endQuery = function(target) {
|
|
lime_graphics_opengl_GL.context.endQuery(target);
|
|
};
|
|
lime_graphics_opengl_GL.endTransformFeedback = function() {
|
|
lime_graphics_opengl_GL.context.endTransformFeedback();
|
|
};
|
|
lime_graphics_opengl_GL.fenceSync = function(condition,flags) {
|
|
return lime_graphics_opengl_GL.context.fenceSync(condition,flags);
|
|
};
|
|
lime_graphics_opengl_GL.finish = function() {
|
|
lime_graphics_opengl_GL.context.finish();
|
|
};
|
|
lime_graphics_opengl_GL.flush = function() {
|
|
lime_graphics_opengl_GL.context.flush();
|
|
};
|
|
lime_graphics_opengl_GL.framebufferRenderbuffer = function(target,attachment,renderbuffertarget,renderbuffer) {
|
|
lime_graphics_opengl_GL.context.framebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer);
|
|
};
|
|
lime_graphics_opengl_GL.framebufferTexture2D = function(target,attachment,textarget,texture,level) {
|
|
lime_graphics_opengl_GL.context.framebufferTexture2D(target,attachment,textarget,texture,level);
|
|
};
|
|
lime_graphics_opengl_GL.framebufferTextureLayer = function(target,attachment,texture,level,layer) {
|
|
lime_graphics_opengl_GL.context.framebufferTextureLayer(target,attachment,texture,level,layer);
|
|
};
|
|
lime_graphics_opengl_GL.frontFace = function(mode) {
|
|
lime_graphics_opengl_GL.context.frontFace(mode);
|
|
};
|
|
lime_graphics_opengl_GL.generateMipmap = function(target) {
|
|
lime_graphics_opengl_GL.context.generateMipmap(target);
|
|
};
|
|
lime_graphics_opengl_GL.getActiveAttrib = function(program,index) {
|
|
return lime_graphics_opengl_GL.context.getActiveAttrib(program,index);
|
|
};
|
|
lime_graphics_opengl_GL.getActiveUniform = function(program,index) {
|
|
return lime_graphics_opengl_GL.context.getActiveUniform(program,index);
|
|
};
|
|
lime_graphics_opengl_GL.getActiveUniformBlockName = function(program,uniformBlockIndex) {
|
|
return lime_graphics_opengl_GL.context.getActiveUniformBlockName(program,uniformBlockIndex);
|
|
};
|
|
lime_graphics_opengl_GL.getActiveUniformBlockParameter = function(program,uniformBlockIndex,pname) {
|
|
return lime_graphics_opengl_GL.context.getActiveUniformBlockParameter(program,uniformBlockIndex,pname);
|
|
};
|
|
lime_graphics_opengl_GL.getActiveUniforms = function(program,uniformIndices,pname) {
|
|
return lime_graphics_opengl_GL.context.getActiveUniforms(program,uniformIndices,pname);
|
|
};
|
|
lime_graphics_opengl_GL.getAttachedShaders = function(program) {
|
|
return lime_graphics_opengl_GL.context.getAttachedShaders(program);
|
|
};
|
|
lime_graphics_opengl_GL.getAttribLocation = function(program,name) {
|
|
return lime_graphics_opengl_GL.context.getAttribLocation(program,name);
|
|
};
|
|
lime_graphics_opengl_GL.getBufferParameter = function(target,pname) {
|
|
return lime_graphics_opengl_GL.context.getBufferParameter(target,pname);
|
|
};
|
|
lime_graphics_opengl_GL.getBufferSubDataWEBGL = function(target,srcByteOffset,dstData,srcOffset,length) {
|
|
var this1 = lime_graphics_opengl_GL.context;
|
|
if(srcOffset != null) {
|
|
this1.getBufferSubData(target,srcByteOffset,dstData,srcOffset,length);
|
|
} else {
|
|
this1.getBufferSubData(target,srcByteOffset,dstData);
|
|
}
|
|
};
|
|
lime_graphics_opengl_GL.getContextAttributes = function() {
|
|
return lime_graphics_opengl_GL.context.getContextAttributes();
|
|
};
|
|
lime_graphics_opengl_GL.getError = function() {
|
|
return lime_graphics_opengl_GL.context.getError();
|
|
};
|
|
lime_graphics_opengl_GL.getExtension = function(name) {
|
|
return lime_graphics_opengl_GL.context.getExtension(name);
|
|
};
|
|
lime_graphics_opengl_GL.getFragDataLocation = function(program,name) {
|
|
return lime_graphics_opengl_GL.context.getFragDataLocation(program,name);
|
|
};
|
|
lime_graphics_opengl_GL.getFramebufferAttachmentParameter = function(target,attachment,pname) {
|
|
return lime_graphics_opengl_GL.context.getFramebufferAttachmentParameter(target,attachment,pname);
|
|
};
|
|
lime_graphics_opengl_GL.getIndexedParameter = function(target,index) {
|
|
return lime_graphics_opengl_GL.context.getIndexedParameter(target,index);
|
|
};
|
|
lime_graphics_opengl_GL.getInternalformatParameter = function(target,internalformat,pname) {
|
|
return lime_graphics_opengl_GL.context.getInternalformatParameter(target,internalformat,pname);
|
|
};
|
|
lime_graphics_opengl_GL.getParameter = function(pname) {
|
|
return lime_graphics_opengl_GL.context.getParameter(pname);
|
|
};
|
|
lime_graphics_opengl_GL.getProgramInfoLog = function(program) {
|
|
return lime_graphics_opengl_GL.context.getProgramInfoLog(program);
|
|
};
|
|
lime_graphics_opengl_GL.getProgramParameter = function(program,pname) {
|
|
return lime_graphics_opengl_GL.context.getProgramParameter(program,pname);
|
|
};
|
|
lime_graphics_opengl_GL.getQuery = function(target,pname) {
|
|
return lime_graphics_opengl_GL.context.getQuery(target,pname);
|
|
};
|
|
lime_graphics_opengl_GL.getQueryParameter = function(query,pname) {
|
|
return lime_graphics_opengl_GL.context.getQueryParameter(query,pname);
|
|
};
|
|
lime_graphics_opengl_GL.getRenderbufferParameter = function(target,pname) {
|
|
return lime_graphics_opengl_GL.context.getRenderbufferParameter(target,pname);
|
|
};
|
|
lime_graphics_opengl_GL.getSamplerParameter = function(sampler,pname) {
|
|
return lime_graphics_opengl_GL.context.getSamplerParameter(sampler,pname);
|
|
};
|
|
lime_graphics_opengl_GL.getShaderInfoLog = function(shader) {
|
|
return lime_graphics_opengl_GL.context.getShaderInfoLog(shader);
|
|
};
|
|
lime_graphics_opengl_GL.getShaderParameter = function(shader,pname) {
|
|
return lime_graphics_opengl_GL.context.getShaderParameter(shader,pname);
|
|
};
|
|
lime_graphics_opengl_GL.getShaderPrecisionFormat = function(shadertype,precisiontype) {
|
|
return lime_graphics_opengl_GL.context.getShaderPrecisionFormat(shadertype,precisiontype);
|
|
};
|
|
lime_graphics_opengl_GL.getShaderSource = function(shader) {
|
|
return lime_graphics_opengl_GL.context.getShaderSource(shader);
|
|
};
|
|
lime_graphics_opengl_GL.getSupportedExtensions = function() {
|
|
return lime_graphics_opengl_GL.context.getSupportedExtensions();
|
|
};
|
|
lime_graphics_opengl_GL.getSyncParameter = function(sync,pname) {
|
|
return lime_graphics_opengl_GL.context.getSyncParameter(sync,pname);
|
|
};
|
|
lime_graphics_opengl_GL.getTexParameter = function(target,pname) {
|
|
return lime_graphics_opengl_GL.context.getTexParameter(target,pname);
|
|
};
|
|
lime_graphics_opengl_GL.getTransformFeedbackVarying = function(program,index) {
|
|
return lime_graphics_opengl_GL.context.getTransformFeedbackVarying(program,index);
|
|
};
|
|
lime_graphics_opengl_GL.getUniform = function(program,location) {
|
|
return lime_graphics_opengl_GL.context.getUniform(program,location);
|
|
};
|
|
lime_graphics_opengl_GL.getUniformBlockIndex = function(program,uniformBlockName) {
|
|
return lime_graphics_opengl_GL.context.getUniformBlockIndex(program,uniformBlockName);
|
|
};
|
|
lime_graphics_opengl_GL.getUniformIndices = function(program,uniformNames) {
|
|
return lime_graphics_opengl_GL.context.getUniformIndices(program,uniformNames);
|
|
};
|
|
lime_graphics_opengl_GL.getUniformLocation = function(program,name) {
|
|
return lime_graphics_opengl_GL.context.getUniformLocation(program,name);
|
|
};
|
|
lime_graphics_opengl_GL.getVertexAttrib = function(index,pname) {
|
|
return lime_graphics_opengl_GL.context.getVertexAttrib(index,pname);
|
|
};
|
|
lime_graphics_opengl_GL.getVertexAttribOffset = function(index,pname) {
|
|
return lime_utils_DataPointer.fromFloat(lime_graphics_opengl_GL.context.getVertexAttribOffset(index,pname));
|
|
};
|
|
lime_graphics_opengl_GL.hint = function(target,mode) {
|
|
lime_graphics_opengl_GL.context.hint(target,mode);
|
|
};
|
|
lime_graphics_opengl_GL.invalidateFramebuffer = function(target,attachments) {
|
|
lime_graphics_opengl_GL.context.invalidateFramebuffer(target,attachments);
|
|
};
|
|
lime_graphics_opengl_GL.invalidateSubFramebuffer = function(target,attachments,x,y,width,height) {
|
|
lime_graphics_opengl_GL.context.invalidateSubFramebuffer(target,attachments,x,y,width,height);
|
|
};
|
|
lime_graphics_opengl_GL.isBuffer = function(buffer) {
|
|
return lime_graphics_opengl_GL.context.isBuffer(buffer);
|
|
};
|
|
lime_graphics_opengl_GL.isContextLost = function() {
|
|
return lime_graphics_opengl_GL.context.isContextLost();
|
|
};
|
|
lime_graphics_opengl_GL.isEnabled = function(cap) {
|
|
return lime_graphics_opengl_GL.context.isEnabled(cap);
|
|
};
|
|
lime_graphics_opengl_GL.isFramebuffer = function(framebuffer) {
|
|
return lime_graphics_opengl_GL.context.isFramebuffer(framebuffer);
|
|
};
|
|
lime_graphics_opengl_GL.isProgram = function(program) {
|
|
return lime_graphics_opengl_GL.context.isProgram(program);
|
|
};
|
|
lime_graphics_opengl_GL.isQuery = function(query) {
|
|
return lime_graphics_opengl_GL.context.isQuery(query);
|
|
};
|
|
lime_graphics_opengl_GL.isRenderbuffer = function(renderbuffer) {
|
|
return lime_graphics_opengl_GL.context.isRenderbuffer(renderbuffer);
|
|
};
|
|
lime_graphics_opengl_GL.isSampler = function(sampler) {
|
|
return lime_graphics_opengl_GL.context.isSampler(sampler);
|
|
};
|
|
lime_graphics_opengl_GL.isShader = function(shader) {
|
|
return lime_graphics_opengl_GL.context.isShader(shader);
|
|
};
|
|
lime_graphics_opengl_GL.isSync = function(sync) {
|
|
return lime_graphics_opengl_GL.context.isSync(sync);
|
|
};
|
|
lime_graphics_opengl_GL.isTexture = function(texture) {
|
|
return lime_graphics_opengl_GL.context.isTexture(texture);
|
|
};
|
|
lime_graphics_opengl_GL.isTransformFeedback = function(transformFeedback) {
|
|
return lime_graphics_opengl_GL.context.isTransformFeedback(transformFeedback);
|
|
};
|
|
lime_graphics_opengl_GL.isVertexArray = function(vertexArray) {
|
|
return lime_graphics_opengl_GL.context.isVertexArray(vertexArray);
|
|
};
|
|
lime_graphics_opengl_GL.lineWidth = function(width) {
|
|
lime_graphics_opengl_GL.context.lineWidth(width);
|
|
};
|
|
lime_graphics_opengl_GL.linkProgram = function(program) {
|
|
lime_graphics_opengl_GL.context.linkProgram(program);
|
|
};
|
|
lime_graphics_opengl_GL.pauseTransformFeedback = function() {
|
|
lime_graphics_opengl_GL.context.pauseTransformFeedback();
|
|
};
|
|
lime_graphics_opengl_GL.pixelStorei = function(pname,param) {
|
|
lime_graphics_opengl_GL.context.pixelStorei(pname,param);
|
|
};
|
|
lime_graphics_opengl_GL.polygonOffset = function(factor,units) {
|
|
lime_graphics_opengl_GL.context.polygonOffset(factor,units);
|
|
};
|
|
lime_graphics_opengl_GL.readBuffer = function(src) {
|
|
lime_graphics_opengl_GL.context.readBuffer(src);
|
|
};
|
|
lime_graphics_opengl_GL.readPixelsWEBGL = function(x,y,width,height,format,type,pixels,dstOffset) {
|
|
var this1 = lime_graphics_opengl_GL.context;
|
|
if(dstOffset != null) {
|
|
this1.readPixels(x,y,width,height,format,type,pixels,dstOffset);
|
|
} else {
|
|
this1.readPixels(x,y,width,height,format,type,pixels);
|
|
}
|
|
};
|
|
lime_graphics_opengl_GL.renderbufferStorage = function(target,internalformat,width,height) {
|
|
lime_graphics_opengl_GL.context.renderbufferStorage(target,internalformat,width,height);
|
|
};
|
|
lime_graphics_opengl_GL.renderbufferStorageMultisample = function(target,samples,internalformat,width,height) {
|
|
lime_graphics_opengl_GL.context.renderbufferStorageMultisample(target,samples,internalformat,width,height);
|
|
};
|
|
lime_graphics_opengl_GL.resumeTransformFeedback = function() {
|
|
lime_graphics_opengl_GL.context.resumeTransformFeedback();
|
|
};
|
|
lime_graphics_opengl_GL.sampleCoverage = function(value,invert) {
|
|
lime_graphics_opengl_GL.context.sampleCoverage(value,invert);
|
|
};
|
|
lime_graphics_opengl_GL.samplerParameterf = function(sampler,pname,param) {
|
|
lime_graphics_opengl_GL.context.samplerParameterf(sampler,pname,param);
|
|
};
|
|
lime_graphics_opengl_GL.samplerParameteri = function(sampler,pname,param) {
|
|
lime_graphics_opengl_GL.context.samplerParameteri(sampler,pname,param);
|
|
};
|
|
lime_graphics_opengl_GL.scissor = function(x,y,width,height) {
|
|
lime_graphics_opengl_GL.context.scissor(x,y,width,height);
|
|
};
|
|
lime_graphics_opengl_GL.shaderSource = function(shader,source) {
|
|
lime_graphics_opengl_GL.context.shaderSource(shader,source);
|
|
};
|
|
lime_graphics_opengl_GL.stencilFunc = function(func,ref,mask) {
|
|
lime_graphics_opengl_GL.context.stencilFunc(func,ref,mask);
|
|
};
|
|
lime_graphics_opengl_GL.stencilFuncSeparate = function(face,func,ref,mask) {
|
|
lime_graphics_opengl_GL.context.stencilFuncSeparate(face,func,ref,mask);
|
|
};
|
|
lime_graphics_opengl_GL.stencilMask = function(mask) {
|
|
lime_graphics_opengl_GL.context.stencilMask(mask);
|
|
};
|
|
lime_graphics_opengl_GL.stencilMaskSeparate = function(face,mask) {
|
|
lime_graphics_opengl_GL.context.stencilMaskSeparate(face,mask);
|
|
};
|
|
lime_graphics_opengl_GL.stencilOp = function(fail,zfail,zpass) {
|
|
lime_graphics_opengl_GL.context.stencilOp(fail,zfail,zpass);
|
|
};
|
|
lime_graphics_opengl_GL.stencilOpSeparate = function(face,fail,zfail,zpass) {
|
|
lime_graphics_opengl_GL.context.stencilOpSeparate(face,fail,zfail,zpass);
|
|
};
|
|
lime_graphics_opengl_GL.texImage2DWEBGL = function(target,level,internalformat,width,height,border,format,type,srcData,srcOffset) {
|
|
var this1 = lime_graphics_opengl_GL.context;
|
|
if(srcOffset != null) {
|
|
this1.texImage2D(target,level,internalformat,width,height,border,format,type,srcData,srcOffset);
|
|
} else if(format != null) {
|
|
this1.texImage2D(target,level,internalformat,width,height,border,format,type,srcData);
|
|
} else {
|
|
this1.texImage2D(target,level,internalformat,width,height,border);
|
|
}
|
|
};
|
|
lime_graphics_opengl_GL.texImage3DWEBGL = function(target,level,internalformat,width,height,depth,border,format,type,srcData,srcOffset) {
|
|
lime_graphics_opengl_GL.context.texImage3D(target,level,internalformat,width,height,depth,border,format,type,srcData,srcOffset);
|
|
};
|
|
lime_graphics_opengl_GL.texStorage2D = function(target,level,internalformat,width,height) {
|
|
lime_graphics_opengl_GL.context.texStorage2D(target,level,internalformat,width,height);
|
|
};
|
|
lime_graphics_opengl_GL.texStorage3D = function(target,level,internalformat,width,height,depth) {
|
|
lime_graphics_opengl_GL.context.texStorage3D(target,level,internalformat,width,height,depth);
|
|
};
|
|
lime_graphics_opengl_GL.texParameterf = function(target,pname,param) {
|
|
lime_graphics_opengl_GL.context.texParameterf(target,pname,param);
|
|
};
|
|
lime_graphics_opengl_GL.texParameteri = function(target,pname,param) {
|
|
lime_graphics_opengl_GL.context.texParameteri(target,pname,param);
|
|
};
|
|
lime_graphics_opengl_GL.texSubImage2DWEBGL = function(target,level,xoffset,yoffset,width,height,format,type,srcData,srcOffset) {
|
|
var this1 = lime_graphics_opengl_GL.context;
|
|
if(srcOffset != null) {
|
|
this1.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,srcData,srcOffset);
|
|
} else if(type != null) {
|
|
this1.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,srcData);
|
|
} else {
|
|
this1.texSubImage2D(target,level,xoffset,yoffset,width,height,format);
|
|
}
|
|
};
|
|
lime_graphics_opengl_GL.texSubImage3DWEBGL = function(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,source,srcOffset) {
|
|
lime_graphics_opengl_GL.context.texSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,source,srcOffset);
|
|
};
|
|
lime_graphics_opengl_GL.transformFeedbackVaryings = function(program,varyings,bufferMode) {
|
|
lime_graphics_opengl_GL.context.transformFeedbackVaryings(program,varyings,bufferMode);
|
|
};
|
|
lime_graphics_opengl_GL.uniform1f = function(location,v0) {
|
|
lime_graphics_opengl_GL.context.uniform1f(location,v0);
|
|
};
|
|
lime_graphics_opengl_GL.uniform1fvWEBGL = function(location,data,srcOffset,srcLength) {
|
|
var this1 = lime_graphics_opengl_GL.context;
|
|
if(srcOffset != null) {
|
|
this1.uniform1fv(location,data,srcOffset,srcLength);
|
|
} else {
|
|
this1.uniform1fv(location,data);
|
|
}
|
|
};
|
|
lime_graphics_opengl_GL.uniform1i = function(location,v0) {
|
|
lime_graphics_opengl_GL.context.uniform1i(location,v0);
|
|
};
|
|
lime_graphics_opengl_GL.uniform1ivWEBGL = function(location,data,srcOffset,srcLength) {
|
|
var this1 = lime_graphics_opengl_GL.context;
|
|
if(srcOffset != null) {
|
|
this1.uniform1iv(location,data,srcOffset,srcLength);
|
|
} else {
|
|
this1.uniform1iv(location,data);
|
|
}
|
|
};
|
|
lime_graphics_opengl_GL.uniform1ui = function(location,v0) {
|
|
lime_graphics_opengl_GL.context.uniform1ui(location,v0);
|
|
};
|
|
lime_graphics_opengl_GL.uniform1uivWEBGL = function(location,data,srcOffset,srcLength) {
|
|
lime_graphics_opengl_GL.context.uniform1uiv(location,data,srcOffset,srcLength);
|
|
};
|
|
lime_graphics_opengl_GL.uniform2f = function(location,v0,v1) {
|
|
lime_graphics_opengl_GL.context.uniform2f(location,v0,v1);
|
|
};
|
|
lime_graphics_opengl_GL.uniform2fvWEBGL = function(location,data,srcOffset,srcLength) {
|
|
lime_graphics_WebGL2RenderContext.uniform2fv(lime_graphics_opengl_GL.context,location,data,srcOffset,srcLength);
|
|
};
|
|
lime_graphics_opengl_GL.uniform2i = function(location,x,y) {
|
|
lime_graphics_opengl_GL.context.uniform2i(location,x,y);
|
|
};
|
|
lime_graphics_opengl_GL.uniform2ivWEBGL = function(location,data,srcOffset,srcLength) {
|
|
var this1 = lime_graphics_opengl_GL.context;
|
|
if(srcOffset != null) {
|
|
this1.uniform2iv(location,data,srcOffset,srcLength);
|
|
} else {
|
|
this1.uniform2iv(location,data);
|
|
}
|
|
};
|
|
lime_graphics_opengl_GL.uniform2ui = function(location,x,y) {
|
|
lime_graphics_opengl_GL.context.uniform2ui(location,x,y);
|
|
};
|
|
lime_graphics_opengl_GL.uniform2uivWEBGL = function(location,data,srcOffset,srcLength) {
|
|
lime_graphics_opengl_GL.context.uniform2uiv(location,data,srcOffset,srcLength);
|
|
};
|
|
lime_graphics_opengl_GL.uniform3f = function(location,v0,v1,v2) {
|
|
lime_graphics_opengl_GL.context.uniform3f(location,v0,v1,v2);
|
|
};
|
|
lime_graphics_opengl_GL.uniform3fvWEBGL = function(location,data,srcOffset,srcLength) {
|
|
var this1 = lime_graphics_opengl_GL.context;
|
|
if(srcOffset != null) {
|
|
this1.uniform3fv(location,data,srcOffset,srcLength);
|
|
} else {
|
|
this1.uniform3fv(location,data);
|
|
}
|
|
};
|
|
lime_graphics_opengl_GL.uniform3i = function(location,v0,v1,v2) {
|
|
lime_graphics_opengl_GL.context.uniform3i(location,v0,v1,v2);
|
|
};
|
|
lime_graphics_opengl_GL.uniform3ivWEBGL = function(location,data,srcOffset,srcLength) {
|
|
var this1 = lime_graphics_opengl_GL.context;
|
|
if(srcOffset != null) {
|
|
this1.uniform3iv(location,data,srcOffset,srcLength);
|
|
} else {
|
|
this1.uniform3iv(location,data);
|
|
}
|
|
};
|
|
lime_graphics_opengl_GL.uniform3ui = function(location,v0,v1,v2) {
|
|
lime_graphics_opengl_GL.context.uniform3ui(location,v0,v1,v2);
|
|
};
|
|
lime_graphics_opengl_GL.uniform3uivWEBGL = function(location,data,srcOffset,srcLength) {
|
|
lime_graphics_opengl_GL.context.uniform3uiv(location,data,srcOffset,srcLength);
|
|
};
|
|
lime_graphics_opengl_GL.uniform4f = function(location,v0,v1,v2,v3) {
|
|
lime_graphics_opengl_GL.context.uniform4f(location,v0,v1,v2,v3);
|
|
};
|
|
lime_graphics_opengl_GL.uniform4fvWEBGL = function(location,data,srcOffset,srcLength) {
|
|
var this1 = lime_graphics_opengl_GL.context;
|
|
if(srcOffset != null) {
|
|
this1.uniform4fv(location,data,srcOffset,srcLength);
|
|
} else {
|
|
this1.uniform4fv(location,data);
|
|
}
|
|
};
|
|
lime_graphics_opengl_GL.uniform4i = function(location,v0,v1,v2,v3) {
|
|
lime_graphics_opengl_GL.context.uniform4i(location,v0,v1,v2,v3);
|
|
};
|
|
lime_graphics_opengl_GL.uniform4ivWEBGL = function(location,data,srcOffset,srcLength) {
|
|
var this1 = lime_graphics_opengl_GL.context;
|
|
if(srcOffset != null) {
|
|
this1.uniform4iv(location,data,srcOffset,srcLength);
|
|
} else {
|
|
this1.uniform4iv(location,data);
|
|
}
|
|
};
|
|
lime_graphics_opengl_GL.uniform4ui = function(location,v0,v1,v2,v3) {
|
|
lime_graphics_opengl_GL.context.uniform4ui(location,v0,v1,v2,v3);
|
|
};
|
|
lime_graphics_opengl_GL.uniform4uivWEBGL = function(location,data,srcOffset,srcLength) {
|
|
lime_graphics_opengl_GL.context.uniform4uiv(location,data,srcOffset,srcLength);
|
|
};
|
|
lime_graphics_opengl_GL.uniformBlockBinding = function(program,uniformBlockIndex,uniformBlockBinding) {
|
|
lime_graphics_opengl_GL.context.uniformBlockBinding(program,uniformBlockIndex,uniformBlockBinding);
|
|
};
|
|
lime_graphics_opengl_GL.uniformMatrix2fvWEBGL = function(location,transpose,v,srcOffset,srcLength) {
|
|
var this1 = lime_graphics_opengl_GL.context;
|
|
if(srcOffset != null) {
|
|
this1.uniformMatrix2fv(location,transpose,v,srcOffset,srcLength);
|
|
} else {
|
|
this1.uniformMatrix2fv(location,transpose,v);
|
|
}
|
|
};
|
|
lime_graphics_opengl_GL.uniformMatrix2x3fvWEBGL = function(location,transpose,v,srcOffset,srcLength) {
|
|
lime_graphics_opengl_GL.context.uniformMatrix2x3fv(location,transpose,v,srcOffset,srcLength);
|
|
};
|
|
lime_graphics_opengl_GL.uniformMatrix2x4fvWEBGL = function(location,transpose,v,srcOffset,srcLength) {
|
|
lime_graphics_opengl_GL.context.uniformMatrix2x4fv(location,transpose,v,srcOffset,srcLength);
|
|
};
|
|
lime_graphics_opengl_GL.uniformMatrix3fvWEBGL = function(location,transpose,v,srcOffset,srcLength) {
|
|
var this1 = lime_graphics_opengl_GL.context;
|
|
if(srcOffset != null) {
|
|
this1.uniformMatrix3fv(location,transpose,v,srcOffset,srcLength);
|
|
} else {
|
|
this1.uniformMatrix3fv(location,transpose,v);
|
|
}
|
|
};
|
|
lime_graphics_opengl_GL.uniformMatrix3x2fvWEBGL = function(location,transpose,v,srcOffset,srcLength) {
|
|
lime_graphics_opengl_GL.context.uniformMatrix3x2fv(location,transpose,v,srcOffset,srcLength);
|
|
};
|
|
lime_graphics_opengl_GL.uniformMatrix3x4fvWEBGL = function(location,transpose,v,srcOffset,srcLength) {
|
|
lime_graphics_opengl_GL.context.uniformMatrix3x4fv(location,transpose,v,srcOffset,srcLength);
|
|
};
|
|
lime_graphics_opengl_GL.uniformMatrix4fvWEBGL = function(location,transpose,v,srcOffset,srcLength) {
|
|
var this1 = lime_graphics_opengl_GL.context;
|
|
if(srcOffset != null) {
|
|
this1.uniformMatrix4fv(location,transpose,v,srcOffset,srcLength);
|
|
} else {
|
|
this1.uniformMatrix4fv(location,transpose,v);
|
|
}
|
|
};
|
|
lime_graphics_opengl_GL.uniformMatrix4x2fvWEBGL = function(location,transpose,v,srcOffset,srcLength) {
|
|
lime_graphics_opengl_GL.context.uniformMatrix4x2fv(location,transpose,v,srcOffset,srcLength);
|
|
};
|
|
lime_graphics_opengl_GL.uniformMatrix4x3fvWEBGL = function(location,transpose,v,srcOffset,srcLength) {
|
|
lime_graphics_opengl_GL.context.uniformMatrix4x3fv(location,transpose,v,srcOffset,srcLength);
|
|
};
|
|
lime_graphics_opengl_GL.useProgram = function(program) {
|
|
lime_graphics_opengl_GL.context.useProgram(program);
|
|
};
|
|
lime_graphics_opengl_GL.validateProgram = function(program) {
|
|
lime_graphics_opengl_GL.context.validateProgram(program);
|
|
};
|
|
lime_graphics_opengl_GL.vertexAttrib1f = function(index,v0) {
|
|
lime_graphics_opengl_GL.context.vertexAttrib1f(index,v0);
|
|
};
|
|
lime_graphics_opengl_GL.vertexAttrib1fv = function(index,v) {
|
|
lime_graphics_opengl_GL.context.vertexAttrib1fv(index,v);
|
|
};
|
|
lime_graphics_opengl_GL.vertexAttrib1fvWEBGL = function(index,v) {
|
|
lime_graphics_opengl_GL.context.vertexAttrib1fv(index,v);
|
|
};
|
|
lime_graphics_opengl_GL.vertexAttrib2f = function(index,v0,v1) {
|
|
lime_graphics_opengl_GL.context.vertexAttrib2f(index,v0,v1);
|
|
};
|
|
lime_graphics_opengl_GL.vertexAttrib2fv = function(index,v) {
|
|
lime_graphics_opengl_GL.context.vertexAttrib2fv(index,v);
|
|
};
|
|
lime_graphics_opengl_GL.vertexAttrib2fvWEBGL = function(index,v) {
|
|
lime_graphics_opengl_GL.context.vertexAttrib2fv(index,v);
|
|
};
|
|
lime_graphics_opengl_GL.vertexAttrib3f = function(index,v0,v1,v2) {
|
|
lime_graphics_opengl_GL.context.vertexAttrib3f(index,v0,v1,v2);
|
|
};
|
|
lime_graphics_opengl_GL.vertexAttrib3fv = function(index,v) {
|
|
lime_graphics_opengl_GL.context.vertexAttrib3fv(index,v);
|
|
};
|
|
lime_graphics_opengl_GL.vertexAttrib3fvWEBGL = function(index,v) {
|
|
lime_graphics_opengl_GL.context.vertexAttrib3fv(index,v);
|
|
};
|
|
lime_graphics_opengl_GL.vertexAttrib4f = function(index,v0,v1,v2,v3) {
|
|
lime_graphics_opengl_GL.context.vertexAttrib4f(index,v0,v1,v2,v3);
|
|
};
|
|
lime_graphics_opengl_GL.vertexAttrib4fv = function(index,v) {
|
|
lime_graphics_opengl_GL.context.vertexAttrib4fv(index,v);
|
|
};
|
|
lime_graphics_opengl_GL.vertexAttrib4fvWEBGL = function(index,v) {
|
|
lime_graphics_opengl_GL.context.vertexAttrib4fv(index,v);
|
|
};
|
|
lime_graphics_opengl_GL.vertexAttribDivisor = function(index,divisor) {
|
|
lime_graphics_opengl_GL.context.vertexAttribDivisor(index,divisor);
|
|
};
|
|
lime_graphics_opengl_GL.vertexAttribI4i = function(index,v0,v1,v2,v3) {
|
|
lime_graphics_opengl_GL.context.vertexAttribI4i(index,v0,v1,v2,v3);
|
|
};
|
|
lime_graphics_opengl_GL.vertexAttribI4iv = function(index,v) {
|
|
lime_graphics_opengl_GL.context.vertexAttribI4iv(index,v);
|
|
};
|
|
lime_graphics_opengl_GL.vertexAttribI4ivWEBGL = function(index,v) {
|
|
lime_graphics_opengl_GL.context.vertexAttribI4iv(index,v);
|
|
};
|
|
lime_graphics_opengl_GL.vertexAttribI4ui = function(index,v0,v1,v2,v3) {
|
|
lime_graphics_opengl_GL.context.vertexAttribI4ui(index,v0,v1,v2,v3);
|
|
};
|
|
lime_graphics_opengl_GL.vertexAttribI4uiv = function(index,v) {
|
|
lime_graphics_opengl_GL.context.vertexAttribI4uiv(index,v);
|
|
};
|
|
lime_graphics_opengl_GL.vertexAttribI4uivWEBGL = function(index,v) {
|
|
lime_graphics_opengl_GL.context.vertexAttribI4uiv(index,v);
|
|
};
|
|
lime_graphics_opengl_GL.vertexAttribIPointer = function(index,size,type,stride,offset) {
|
|
lime_graphics_opengl_GL.context.vertexAttribIPointer(index,size,type,stride,offset);
|
|
};
|
|
lime_graphics_opengl_GL.vertexAttribPointer = function(index,size,type,normalized,stride,offset) {
|
|
lime_graphics_opengl_GL.context.vertexAttribPointer(index,size,type,normalized,stride,offset);
|
|
};
|
|
lime_graphics_opengl_GL.viewport = function(x,y,width,height) {
|
|
lime_graphics_opengl_GL.context.viewport(x,y,width,height);
|
|
};
|
|
lime_graphics_opengl_GL.waitSync = function(sync,flags,timeout) {
|
|
lime_graphics_opengl_GL.context.waitSync(sync,flags,timeout);
|
|
};
|
|
lime_graphics_opengl_GL.__getObjectID = function(object) {
|
|
if(object == null) {
|
|
return 0;
|
|
} else {
|
|
return object.id;
|
|
}
|
|
};
|
|
var lime_graphics_opengl_GLProgram = {};
|
|
lime_graphics_opengl_GLProgram.fromSources = function(gl,vertexSource,fragmentSource) {
|
|
var vertexShader = lime_graphics_opengl_GLShader.fromSource(gl,vertexSource,gl.VERTEX_SHADER);
|
|
var fragmentShader = lime_graphics_opengl_GLShader.fromSource(gl,fragmentSource,gl.FRAGMENT_SHADER);
|
|
var program = gl.createProgram();
|
|
gl.attachShader(program,vertexShader);
|
|
gl.attachShader(program,fragmentShader);
|
|
gl.linkProgram(program);
|
|
if(gl.getProgramParameter(program,35714) == 0) {
|
|
var message = "Unable to initialize the shader program";
|
|
message += "\n" + lime_graphics_opengl_GL.context.getProgramInfoLog(program);
|
|
lime_utils_Log.error(message,{ fileName : "lime/graphics/opengl/GLProgram.hx", lineNumber : 39, className : "lime.graphics.opengl._GLProgram.GLProgram_Impl_", methodName : "fromSources"});
|
|
}
|
|
return program;
|
|
};
|
|
var lime_graphics_opengl_GLShader = {};
|
|
lime_graphics_opengl_GLShader.fromSource = function(gl,source,type) {
|
|
var shader = gl.createShader(type);
|
|
gl.shaderSource(shader,source);
|
|
gl.compileShader(shader);
|
|
if(gl.getShaderParameter(shader,gl.COMPILE_STATUS) == 0) {
|
|
var message;
|
|
if(type == gl.VERTEX_SHADER) {
|
|
message = "Error compiling vertex shader";
|
|
} else if(type == gl.FRAGMENT_SHADER) {
|
|
message = "Error compiling fragment shader";
|
|
} else {
|
|
message = "Error compiling unknown shader type";
|
|
}
|
|
message += "\n" + gl.getShaderInfoLog(shader);
|
|
lime_utils_Log.error(message,{ fileName : "lime/graphics/opengl/GLShader.hx", lineNumber : 40, className : "lime.graphics.opengl._GLShader.GLShader_Impl_", methodName : "fromSource"});
|
|
}
|
|
return shader;
|
|
};
|
|
var lime_graphics_opengl_ext_KHR_$debug = function() {
|
|
this.STACK_UNDERFLOW = 1284;
|
|
this.STACK_OVERFLOW = 1283;
|
|
this.CONTEXT_FLAG_DEBUG_BIT = 2;
|
|
this.DEBUG_OUTPUT = 37600;
|
|
this.DEBUG_SEVERITY_LOW = 37192;
|
|
this.DEBUG_SEVERITY_MEDIUM = 37191;
|
|
this.DEBUG_SEVERITY_HIGH = 37190;
|
|
this.DEBUG_LOGGED_MESSAGES = 37189;
|
|
this.MAX_DEBUG_LOGGED_MESSAGES = 37188;
|
|
this.MAX_DEBUG_MESSAGE_LENGTH = 37187;
|
|
this.MAX_LABEL_LENGTH = 33512;
|
|
this.SAMPLER = 33510;
|
|
this.QUERY = 33507;
|
|
this.PROGRAM = 33506;
|
|
this.SHADER = 33505;
|
|
this.BUFFER = 33504;
|
|
this.DEBUG_GROUP_STACK_DEPTH = 33389;
|
|
this.MAX_DEBUG_GROUP_STACK_DEPTH = 33388;
|
|
this.DEBUG_SEVERITY_NOTIFICATION = 33387;
|
|
this.DEBUG_TYPE_POP_GROUP = 33386;
|
|
this.DEBUG_TYPE_PUSH_GROUP = 33385;
|
|
this.DEBUG_TYPE_MARKER = 33384;
|
|
this.DEBUG_TYPE_OTHER = 33361;
|
|
this.DEBUG_TYPE_PERFORMANCE = 33360;
|
|
this.DEBUG_TYPE_PORTABILITY = 33359;
|
|
this.DEBUG_TYPE_UNDEFINED_BEHAVIOR = 33358;
|
|
this.DEBUG_TYPE_DEPRECATED_BEHAVIOR = 33357;
|
|
this.DEBUG_TYPE_ERROR = 33356;
|
|
this.DEBUG_SOURCE_OTHER = 33355;
|
|
this.DEBUG_SOURCE_APPLICATION = 33354;
|
|
this.DEBUG_SOURCE_THIRD_PARTY = 33353;
|
|
this.DEBUG_SOURCE_SHADER_COMPILER = 33352;
|
|
this.DEBUG_SOURCE_WINDOW_SYSTEM = 33351;
|
|
this.DEBUG_SOURCE_API = 33350;
|
|
this.DEBUG_CALLBACK_USER_PARAM = 33349;
|
|
this.DEBUG_CALLBACK_FUNCTION = 33348;
|
|
this.DEBUG_NEXT_LOGGED_MESSAGE_LENGTH = 33347;
|
|
this.DEBUG_OUTPUT_SYNCHRONOUS = 33346;
|
|
};
|
|
$hxClasses["lime.graphics.opengl.ext.KHR_debug"] = lime_graphics_opengl_ext_KHR_$debug;
|
|
lime_graphics_opengl_ext_KHR_$debug.__name__ = "lime.graphics.opengl.ext.KHR_debug";
|
|
lime_graphics_opengl_ext_KHR_$debug.prototype = {
|
|
DEBUG_OUTPUT_SYNCHRONOUS: null
|
|
,DEBUG_NEXT_LOGGED_MESSAGE_LENGTH: null
|
|
,DEBUG_CALLBACK_FUNCTION: null
|
|
,DEBUG_CALLBACK_USER_PARAM: null
|
|
,DEBUG_SOURCE_API: null
|
|
,DEBUG_SOURCE_WINDOW_SYSTEM: null
|
|
,DEBUG_SOURCE_SHADER_COMPILER: null
|
|
,DEBUG_SOURCE_THIRD_PARTY: null
|
|
,DEBUG_SOURCE_APPLICATION: null
|
|
,DEBUG_SOURCE_OTHER: null
|
|
,DEBUG_TYPE_ERROR: null
|
|
,DEBUG_TYPE_DEPRECATED_BEHAVIOR: null
|
|
,DEBUG_TYPE_UNDEFINED_BEHAVIOR: null
|
|
,DEBUG_TYPE_PORTABILITY: null
|
|
,DEBUG_TYPE_PERFORMANCE: null
|
|
,DEBUG_TYPE_OTHER: null
|
|
,DEBUG_TYPE_MARKER: null
|
|
,DEBUG_TYPE_PUSH_GROUP: null
|
|
,DEBUG_TYPE_POP_GROUP: null
|
|
,DEBUG_SEVERITY_NOTIFICATION: null
|
|
,MAX_DEBUG_GROUP_STACK_DEPTH: null
|
|
,DEBUG_GROUP_STACK_DEPTH: null
|
|
,BUFFER: null
|
|
,SHADER: null
|
|
,PROGRAM: null
|
|
,QUERY: null
|
|
,SAMPLER: null
|
|
,MAX_LABEL_LENGTH: null
|
|
,MAX_DEBUG_MESSAGE_LENGTH: null
|
|
,MAX_DEBUG_LOGGED_MESSAGES: null
|
|
,DEBUG_LOGGED_MESSAGES: null
|
|
,DEBUG_SEVERITY_HIGH: null
|
|
,DEBUG_SEVERITY_MEDIUM: null
|
|
,DEBUG_SEVERITY_LOW: null
|
|
,DEBUG_OUTPUT: null
|
|
,CONTEXT_FLAG_DEBUG_BIT: null
|
|
,STACK_OVERFLOW: null
|
|
,STACK_UNDERFLOW: null
|
|
,__class__: lime_graphics_opengl_ext_KHR_$debug
|
|
};
|
|
var lime_math_ARGB = {};
|
|
lime_math_ARGB.__properties__ = {set_r:"set_r",get_r:"get_r",set_g:"set_g",get_g:"get_g",set_b:"set_b",get_b:"get_b",set_a:"set_a",get_a:"get_a"};
|
|
lime_math_ARGB.a16 = null;
|
|
lime_math_ARGB.unmult = null;
|
|
lime_math_ARGB._new = function(argb) {
|
|
if(argb == null) {
|
|
argb = 0;
|
|
}
|
|
var this1 = argb;
|
|
return this1;
|
|
};
|
|
lime_math_ARGB.create = function(a,r,g,b) {
|
|
var this1 = 0;
|
|
var argb = this1;
|
|
argb = (a & 255) << 24 | (r & 255) << 16 | (g & 255) << 8 | b & 255;
|
|
return argb;
|
|
};
|
|
lime_math_ARGB.multiplyAlpha = function(this1) {
|
|
if((this1 >>> 24 & 255) == 0) {
|
|
this1 = 0;
|
|
} else if((this1 >>> 24 & 255) != 255) {
|
|
lime_math_ARGB.a16 = lime_math_RGBA.__alpha16[this1 >>> 24 & 255];
|
|
this1 = (this1 >>> 24 & 255 & 255) << 24 | ((this1 >>> 16 & 255) * lime_math_ARGB.a16 >> 16 & 255) << 16 | ((this1 >>> 8 & 255) * lime_math_ARGB.a16 >> 16 & 255) << 8 | (this1 & 255) * lime_math_ARGB.a16 >> 16 & 255;
|
|
}
|
|
};
|
|
lime_math_ARGB.readUInt8 = function(this1,data,offset,format,premultiplied) {
|
|
if(premultiplied == null) {
|
|
premultiplied = false;
|
|
}
|
|
if(format == null) {
|
|
format = 0;
|
|
}
|
|
switch(format) {
|
|
case 0:
|
|
this1 = (data[offset + 1] & 255) << 24 | (data[offset + 2] & 255) << 16 | (data[offset + 3] & 255) << 8 | data[offset] & 255;
|
|
break;
|
|
case 1:
|
|
this1 = (data[offset + 2] & 255) << 24 | (data[offset + 3] & 255) << 16 | (data[offset] & 255) << 8 | data[offset + 1] & 255;
|
|
break;
|
|
case 2:
|
|
this1 = (data[offset + 1] & 255) << 24 | (data[offset] & 255) << 16 | (data[offset + 3] & 255) << 8 | data[offset + 2] & 255;
|
|
break;
|
|
}
|
|
if(premultiplied) {
|
|
if((this1 >>> 24 & 255) != 0 && (this1 >>> 24 & 255) != 255) {
|
|
lime_math_ARGB.unmult = 255.0 / (this1 >>> 24 & 255);
|
|
this1 = (this1 >>> 24 & 255 & 255) << 24 | (lime_math_RGBA.__clamp[Math.floor((this1 >>> 16 & 255) * lime_math_ARGB.unmult)] & 255) << 16 | (lime_math_RGBA.__clamp[Math.floor((this1 >>> 8 & 255) * lime_math_ARGB.unmult)] & 255) << 8 | lime_math_RGBA.__clamp[Math.floor((this1 & 255) * lime_math_ARGB.unmult)] & 255;
|
|
}
|
|
}
|
|
};
|
|
lime_math_ARGB.set = function(this1,a,r,g,b) {
|
|
this1 = (a & 255) << 24 | (r & 255) << 16 | (g & 255) << 8 | b & 255;
|
|
};
|
|
lime_math_ARGB.unmultiplyAlpha = function(this1) {
|
|
if((this1 >>> 24 & 255) != 0 && (this1 >>> 24 & 255) != 255) {
|
|
lime_math_ARGB.unmult = 255.0 / (this1 >>> 24 & 255);
|
|
this1 = (this1 >>> 24 & 255 & 255) << 24 | (lime_math_RGBA.__clamp[Math.floor((this1 >>> 16 & 255) * lime_math_ARGB.unmult)] & 255) << 16 | (lime_math_RGBA.__clamp[Math.floor((this1 >>> 8 & 255) * lime_math_ARGB.unmult)] & 255) << 8 | lime_math_RGBA.__clamp[Math.floor((this1 & 255) * lime_math_ARGB.unmult)] & 255;
|
|
}
|
|
};
|
|
lime_math_ARGB.writeUInt8 = function(this1,data,offset,format,premultiplied) {
|
|
if(premultiplied == null) {
|
|
premultiplied = false;
|
|
}
|
|
if(format == null) {
|
|
format = 0;
|
|
}
|
|
if(premultiplied) {
|
|
if((this1 >>> 24 & 255) == 0) {
|
|
this1 = 0;
|
|
} else if((this1 >>> 24 & 255) != 255) {
|
|
lime_math_ARGB.a16 = lime_math_RGBA.__alpha16[this1 >>> 24 & 255];
|
|
this1 = (this1 >>> 24 & 255 & 255) << 24 | ((this1 >>> 16 & 255) * lime_math_ARGB.a16 >> 16 & 255) << 16 | ((this1 >>> 8 & 255) * lime_math_ARGB.a16 >> 16 & 255) << 8 | (this1 & 255) * lime_math_ARGB.a16 >> 16 & 255;
|
|
}
|
|
}
|
|
switch(format) {
|
|
case 0:
|
|
data[offset] = this1 >>> 16 & 255;
|
|
data[offset + 1] = this1 >>> 8 & 255;
|
|
data[offset + 2] = this1 & 255;
|
|
data[offset + 3] = this1 >>> 24 & 255;
|
|
break;
|
|
case 1:
|
|
data[offset] = this1 >>> 24 & 255;
|
|
data[offset + 1] = this1 >>> 16 & 255;
|
|
data[offset + 2] = this1 >>> 8 & 255;
|
|
data[offset + 3] = this1 & 255;
|
|
break;
|
|
case 2:
|
|
data[offset] = this1 & 255;
|
|
data[offset + 1] = this1 >>> 8 & 255;
|
|
data[offset + 2] = this1 >>> 16 & 255;
|
|
data[offset + 3] = this1 >>> 24 & 255;
|
|
break;
|
|
}
|
|
};
|
|
lime_math_ARGB.__fromBGRA = function(bgra) {
|
|
var this1 = 0;
|
|
var argb = this1;
|
|
argb = (bgra & 255 & 255) << 24 | (bgra >>> 8 & 255 & 255) << 16 | (bgra >>> 16 & 255 & 255) << 8 | bgra >>> 24 & 255 & 255;
|
|
return argb;
|
|
};
|
|
lime_math_ARGB.__fromRGBA = function(rgba) {
|
|
var this1 = 0;
|
|
var argb = this1;
|
|
argb = (rgba & 255 & 255) << 24 | (rgba >>> 24 & 255 & 255) << 16 | (rgba >>> 16 & 255 & 255) << 8 | rgba >>> 8 & 255 & 255;
|
|
return argb;
|
|
};
|
|
lime_math_ARGB.get_a = function(this1) {
|
|
return this1 >>> 24 & 255;
|
|
};
|
|
lime_math_ARGB.set_a = function(this1,value) {
|
|
this1 = (value & 255) << 24 | (this1 >>> 16 & 255 & 255) << 16 | (this1 >>> 8 & 255 & 255) << 8 | this1 & 255 & 255;
|
|
return value;
|
|
};
|
|
lime_math_ARGB.get_b = function(this1) {
|
|
return this1 & 255;
|
|
};
|
|
lime_math_ARGB.set_b = function(this1,value) {
|
|
this1 = (this1 >>> 24 & 255 & 255) << 24 | (this1 >>> 16 & 255 & 255) << 16 | (this1 >>> 8 & 255 & 255) << 8 | value & 255;
|
|
return value;
|
|
};
|
|
lime_math_ARGB.get_g = function(this1) {
|
|
return this1 >>> 8 & 255;
|
|
};
|
|
lime_math_ARGB.set_g = function(this1,value) {
|
|
this1 = (this1 >>> 24 & 255 & 255) << 24 | (this1 >>> 16 & 255 & 255) << 16 | (value & 255) << 8 | this1 & 255 & 255;
|
|
return value;
|
|
};
|
|
lime_math_ARGB.get_r = function(this1) {
|
|
return this1 >>> 16 & 255;
|
|
};
|
|
lime_math_ARGB.set_r = function(this1,value) {
|
|
this1 = (this1 >>> 24 & 255 & 255) << 24 | (value & 255) << 16 | (this1 >>> 8 & 255 & 255) << 8 | this1 & 255 & 255;
|
|
return value;
|
|
};
|
|
var lime_math_BGRA = {};
|
|
lime_math_BGRA.__properties__ = {set_r:"set_r",get_r:"get_r",set_g:"set_g",get_g:"get_g",set_b:"set_b",get_b:"get_b",set_a:"set_a",get_a:"get_a"};
|
|
lime_math_BGRA.a16 = null;
|
|
lime_math_BGRA.unmult = null;
|
|
lime_math_BGRA._new = function(bgra) {
|
|
if(bgra == null) {
|
|
bgra = 0;
|
|
}
|
|
var this1 = bgra;
|
|
return this1;
|
|
};
|
|
lime_math_BGRA.create = function(b,g,r,a) {
|
|
var this1 = 0;
|
|
var bgra = this1;
|
|
bgra = (b & 255) << 24 | (g & 255) << 16 | (r & 255) << 8 | a & 255;
|
|
return bgra;
|
|
};
|
|
lime_math_BGRA.multiplyAlpha = function(this1) {
|
|
if((this1 & 255) == 0) {
|
|
this1 = 0;
|
|
} else if((this1 & 255) != 255) {
|
|
lime_math_BGRA.a16 = lime_math_RGBA.__alpha16[this1 & 255];
|
|
this1 = ((this1 >>> 24 & 255) * lime_math_BGRA.a16 >> 16 & 255) << 24 | ((this1 >>> 16 & 255) * lime_math_BGRA.a16 >> 16 & 255) << 16 | ((this1 >>> 8 & 255) * lime_math_BGRA.a16 >> 16 & 255) << 8 | this1 & 255 & 255;
|
|
}
|
|
};
|
|
lime_math_BGRA.readUInt8 = function(this1,data,offset,format,premultiplied) {
|
|
if(premultiplied == null) {
|
|
premultiplied = false;
|
|
}
|
|
if(format == null) {
|
|
format = 0;
|
|
}
|
|
switch(format) {
|
|
case 0:
|
|
this1 = (data[offset + 2] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset] & 255) << 8 | data[offset + 3] & 255;
|
|
break;
|
|
case 1:
|
|
this1 = (data[offset + 3] & 255) << 24 | (data[offset + 2] & 255) << 16 | (data[offset + 1] & 255) << 8 | data[offset] & 255;
|
|
break;
|
|
case 2:
|
|
this1 = (data[offset] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset + 2] & 255) << 8 | data[offset + 3] & 255;
|
|
break;
|
|
}
|
|
if(premultiplied) {
|
|
if((this1 & 255) != 0 && (this1 & 255) != 255) {
|
|
lime_math_BGRA.unmult = 255.0 / (this1 & 255);
|
|
this1 = (lime_math_RGBA.__clamp[Math.floor((this1 >>> 24 & 255) * lime_math_BGRA.unmult)] & 255) << 24 | (lime_math_RGBA.__clamp[Math.floor((this1 >>> 16 & 255) * lime_math_BGRA.unmult)] & 255) << 16 | (lime_math_RGBA.__clamp[Math.floor((this1 >>> 8 & 255) * lime_math_BGRA.unmult)] & 255) << 8 | this1 & 255 & 255;
|
|
}
|
|
}
|
|
};
|
|
lime_math_BGRA.set = function(this1,b,g,r,a) {
|
|
this1 = (b & 255) << 24 | (g & 255) << 16 | (r & 255) << 8 | a & 255;
|
|
};
|
|
lime_math_BGRA.unmultiplyAlpha = function(this1) {
|
|
if((this1 & 255) != 0 && (this1 & 255) != 255) {
|
|
lime_math_BGRA.unmult = 255.0 / (this1 & 255);
|
|
this1 = (lime_math_RGBA.__clamp[Math.floor((this1 >>> 24 & 255) * lime_math_BGRA.unmult)] & 255) << 24 | (lime_math_RGBA.__clamp[Math.floor((this1 >>> 16 & 255) * lime_math_BGRA.unmult)] & 255) << 16 | (lime_math_RGBA.__clamp[Math.floor((this1 >>> 8 & 255) * lime_math_BGRA.unmult)] & 255) << 8 | this1 & 255 & 255;
|
|
}
|
|
};
|
|
lime_math_BGRA.writeUInt8 = function(this1,data,offset,format,premultiplied) {
|
|
if(premultiplied == null) {
|
|
premultiplied = false;
|
|
}
|
|
if(format == null) {
|
|
format = 0;
|
|
}
|
|
if(premultiplied) {
|
|
if((this1 & 255) == 0) {
|
|
this1 = 0;
|
|
} else if((this1 & 255) != 255) {
|
|
lime_math_BGRA.a16 = lime_math_RGBA.__alpha16[this1 & 255];
|
|
this1 = ((this1 >>> 24 & 255) * lime_math_BGRA.a16 >> 16 & 255) << 24 | ((this1 >>> 16 & 255) * lime_math_BGRA.a16 >> 16 & 255) << 16 | ((this1 >>> 8 & 255) * lime_math_BGRA.a16 >> 16 & 255) << 8 | this1 & 255 & 255;
|
|
}
|
|
}
|
|
switch(format) {
|
|
case 0:
|
|
data[offset] = this1 >>> 8 & 255;
|
|
data[offset + 1] = this1 >>> 16 & 255;
|
|
data[offset + 2] = this1 >>> 24 & 255;
|
|
data[offset + 3] = this1 & 255;
|
|
break;
|
|
case 1:
|
|
data[offset] = this1 & 255;
|
|
data[offset + 1] = this1 >>> 8 & 255;
|
|
data[offset + 2] = this1 >>> 16 & 255;
|
|
data[offset + 3] = this1 >>> 24 & 255;
|
|
break;
|
|
case 2:
|
|
data[offset] = this1 >>> 24 & 255;
|
|
data[offset + 1] = this1 >>> 16 & 255;
|
|
data[offset + 2] = this1 >>> 8 & 255;
|
|
data[offset + 3] = this1 & 255;
|
|
break;
|
|
}
|
|
};
|
|
lime_math_BGRA.__fromARGB = function(argb) {
|
|
var this1 = 0;
|
|
var bgra = this1;
|
|
bgra = (argb & 255 & 255) << 24 | (argb >>> 8 & 255 & 255) << 16 | (argb >>> 16 & 255 & 255) << 8 | argb >>> 24 & 255 & 255;
|
|
return bgra;
|
|
};
|
|
lime_math_BGRA.__fromRGBA = function(rgba) {
|
|
var this1 = 0;
|
|
var bgra = this1;
|
|
bgra = (rgba >>> 8 & 255 & 255) << 24 | (rgba >>> 16 & 255 & 255) << 16 | (rgba >>> 24 & 255 & 255) << 8 | rgba & 255 & 255;
|
|
return bgra;
|
|
};
|
|
lime_math_BGRA.get_a = function(this1) {
|
|
return this1 & 255;
|
|
};
|
|
lime_math_BGRA.set_a = function(this1,value) {
|
|
this1 = (this1 >>> 24 & 255 & 255) << 24 | (this1 >>> 16 & 255 & 255) << 16 | (this1 >>> 8 & 255 & 255) << 8 | value & 255;
|
|
return value;
|
|
};
|
|
lime_math_BGRA.get_b = function(this1) {
|
|
return this1 >>> 24 & 255;
|
|
};
|
|
lime_math_BGRA.set_b = function(this1,value) {
|
|
this1 = (value & 255) << 24 | (this1 >>> 16 & 255 & 255) << 16 | (this1 >>> 8 & 255 & 255) << 8 | this1 & 255 & 255;
|
|
return value;
|
|
};
|
|
lime_math_BGRA.get_g = function(this1) {
|
|
return this1 >>> 16 & 255;
|
|
};
|
|
lime_math_BGRA.set_g = function(this1,value) {
|
|
this1 = (this1 >>> 24 & 255 & 255) << 24 | (value & 255) << 16 | (this1 >>> 8 & 255 & 255) << 8 | this1 & 255 & 255;
|
|
return value;
|
|
};
|
|
lime_math_BGRA.get_r = function(this1) {
|
|
return this1 >>> 8 & 255;
|
|
};
|
|
lime_math_BGRA.set_r = function(this1,value) {
|
|
this1 = (this1 >>> 24 & 255 & 255) << 24 | (this1 >>> 16 & 255 & 255) << 16 | (value & 255) << 8 | this1 & 255 & 255;
|
|
return value;
|
|
};
|
|
var lime_math_ColorMatrix = {};
|
|
lime_math_ColorMatrix.__properties__ = {set_redOffset:"set_redOffset",get_redOffset:"get_redOffset",set_redMultiplier:"set_redMultiplier",get_redMultiplier:"get_redMultiplier",set_greenOffset:"set_greenOffset",get_greenOffset:"get_greenOffset",set_greenMultiplier:"set_greenMultiplier",get_greenMultiplier:"get_greenMultiplier",set_color:"set_color",get_color:"get_color",set_blueOffset:"set_blueOffset",get_blueOffset:"get_blueOffset",set_blueMultiplier:"set_blueMultiplier",get_blueMultiplier:"get_blueMultiplier",set_alphaOffset:"set_alphaOffset",get_alphaOffset:"get_alphaOffset",set_alphaMultiplier:"set_alphaMultiplier",get_alphaMultiplier:"get_alphaMultiplier"};
|
|
lime_math_ColorMatrix.__alphaTable = null;
|
|
lime_math_ColorMatrix.__blueTable = null;
|
|
lime_math_ColorMatrix.__greenTable = null;
|
|
lime_math_ColorMatrix.__redTable = null;
|
|
lime_math_ColorMatrix._new = function(data) {
|
|
var this1;
|
|
if(data != null && data.length == 20) {
|
|
this1 = data;
|
|
} else {
|
|
var elements = null;
|
|
var array = lime_math_ColorMatrix.__identity;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = null;
|
|
var len = null;
|
|
var this2;
|
|
if(elements != null) {
|
|
this2 = new Float32Array(elements);
|
|
} else if(array != null) {
|
|
this2 = new Float32Array(array);
|
|
} else if(vector != null) {
|
|
this2 = new Float32Array(vector.__array);
|
|
} else if(view != null) {
|
|
this2 = new Float32Array(view);
|
|
} else if(buffer != null) {
|
|
if(len == null) {
|
|
this2 = new Float32Array(buffer,0);
|
|
} else {
|
|
this2 = new Float32Array(buffer,0,len);
|
|
}
|
|
} else {
|
|
this2 = null;
|
|
}
|
|
this1 = this2;
|
|
}
|
|
return this1;
|
|
};
|
|
lime_math_ColorMatrix.clone = function(this1) {
|
|
var elements = null;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = lime_utils_Float32Array.toArrayBufferView(this1);
|
|
var buffer = null;
|
|
var len = null;
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Float32Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Float32Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Float32Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Float32Array(view);
|
|
} else if(buffer != null) {
|
|
if(len == null) {
|
|
this1 = new Float32Array(buffer,0);
|
|
} else {
|
|
this1 = new Float32Array(buffer,0,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
return lime_math_ColorMatrix._new(this1);
|
|
};
|
|
lime_math_ColorMatrix.concat = function(this1,second) {
|
|
this1[0] += second[0];
|
|
this1[6] += second[6];
|
|
this1[12] += second[12];
|
|
this1[18] += second[18];
|
|
};
|
|
lime_math_ColorMatrix.copyFrom = function(this1,other) {
|
|
this1.set(other);
|
|
};
|
|
lime_math_ColorMatrix.identity = function(this1) {
|
|
this1[0] = 1;
|
|
this1[1] = 0;
|
|
this1[2] = 0;
|
|
this1[3] = 0;
|
|
this1[4] = 0;
|
|
this1[5] = 0;
|
|
this1[6] = 1;
|
|
this1[7] = 0;
|
|
this1[8] = 0;
|
|
this1[9] = 0;
|
|
this1[10] = 0;
|
|
this1[11] = 0;
|
|
this1[12] = 1;
|
|
this1[13] = 0;
|
|
this1[14] = 0;
|
|
this1[15] = 0;
|
|
this1[16] = 0;
|
|
this1[17] = 0;
|
|
this1[18] = 1;
|
|
this1[19] = 0;
|
|
};
|
|
lime_math_ColorMatrix.getAlphaTable = function(this1) {
|
|
if(lime_math_ColorMatrix.__alphaTable == null) {
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = null;
|
|
var len = null;
|
|
var this2 = new Uint8Array(256);
|
|
lime_math_ColorMatrix.__alphaTable = this2;
|
|
}
|
|
var value;
|
|
lime_math_ColorMatrix.__alphaTable[0] = 0;
|
|
var _g = 1;
|
|
while(_g < 256) {
|
|
var i = _g++;
|
|
value = Math.floor(i * this1[18] + this1[19] * 255);
|
|
if(value > 255) {
|
|
value = 255;
|
|
}
|
|
if(value < 0) {
|
|
value = 0;
|
|
}
|
|
lime_math_ColorMatrix.__alphaTable[i] = value;
|
|
}
|
|
return lime_math_ColorMatrix.__alphaTable;
|
|
};
|
|
lime_math_ColorMatrix.getBlueTable = function(this1) {
|
|
if(lime_math_ColorMatrix.__blueTable == null) {
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = null;
|
|
var len = null;
|
|
var this2 = new Uint8Array(256);
|
|
lime_math_ColorMatrix.__blueTable = this2;
|
|
}
|
|
var value;
|
|
var _g = 0;
|
|
while(_g < 256) {
|
|
var i = _g++;
|
|
value = Math.floor(i * this1[12] + this1[14] * 255);
|
|
if(value > 255) {
|
|
value = 255;
|
|
}
|
|
if(value < 0) {
|
|
value = 0;
|
|
}
|
|
lime_math_ColorMatrix.__blueTable[i] = value;
|
|
}
|
|
return lime_math_ColorMatrix.__blueTable;
|
|
};
|
|
lime_math_ColorMatrix.getGreenTable = function(this1) {
|
|
if(lime_math_ColorMatrix.__greenTable == null) {
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = null;
|
|
var len = null;
|
|
var this2 = new Uint8Array(256);
|
|
lime_math_ColorMatrix.__greenTable = this2;
|
|
}
|
|
var value;
|
|
var _g = 0;
|
|
while(_g < 256) {
|
|
var i = _g++;
|
|
value = Math.floor(i * this1[6] + this1[9] * 255);
|
|
if(value > 255) {
|
|
value = 255;
|
|
}
|
|
if(value < 0) {
|
|
value = 0;
|
|
}
|
|
lime_math_ColorMatrix.__greenTable[i] = value;
|
|
}
|
|
return lime_math_ColorMatrix.__greenTable;
|
|
};
|
|
lime_math_ColorMatrix.getRedTable = function(this1) {
|
|
if(lime_math_ColorMatrix.__redTable == null) {
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = null;
|
|
var len = null;
|
|
var this2 = new Uint8Array(256);
|
|
lime_math_ColorMatrix.__redTable = this2;
|
|
}
|
|
var value;
|
|
var _g = 0;
|
|
while(_g < 256) {
|
|
var i = _g++;
|
|
value = Math.floor(i * this1[0] + this1[4] * 255);
|
|
if(value > 255) {
|
|
value = 255;
|
|
}
|
|
if(value < 0) {
|
|
value = 0;
|
|
}
|
|
lime_math_ColorMatrix.__redTable[i] = value;
|
|
}
|
|
return lime_math_ColorMatrix.__redTable;
|
|
};
|
|
lime_math_ColorMatrix.__toFlashColorTransform = function(this1) {
|
|
return null;
|
|
};
|
|
lime_math_ColorMatrix.get_alphaMultiplier = function(this1) {
|
|
return this1[18];
|
|
};
|
|
lime_math_ColorMatrix.set_alphaMultiplier = function(this1,value) {
|
|
return this1[18] = value;
|
|
};
|
|
lime_math_ColorMatrix.get_alphaOffset = function(this1) {
|
|
return this1[19] * 255;
|
|
};
|
|
lime_math_ColorMatrix.set_alphaOffset = function(this1,value) {
|
|
return this1[19] = value / 255;
|
|
};
|
|
lime_math_ColorMatrix.get_blueMultiplier = function(this1) {
|
|
return this1[12];
|
|
};
|
|
lime_math_ColorMatrix.set_blueMultiplier = function(this1,value) {
|
|
return this1[12] = value;
|
|
};
|
|
lime_math_ColorMatrix.get_blueOffset = function(this1) {
|
|
return this1[14] * 255;
|
|
};
|
|
lime_math_ColorMatrix.set_blueOffset = function(this1,value) {
|
|
return this1[14] = value / 255;
|
|
};
|
|
lime_math_ColorMatrix.get_color = function(this1) {
|
|
return (this1[4] * 255 | 0) << 16 | (this1[9] * 255 | 0) << 8 | (this1[14] * 255 | 0);
|
|
};
|
|
lime_math_ColorMatrix.set_color = function(this1,value) {
|
|
this1[4] = (value >> 16 & 255) / 255;
|
|
this1[9] = (value >> 8 & 255) / 255;
|
|
this1[14] = (value & 255) / 255;
|
|
this1[0] = 0;
|
|
this1[6] = 0;
|
|
this1[12] = 0;
|
|
return lime_math_ColorMatrix.get_color(this1);
|
|
};
|
|
lime_math_ColorMatrix.get_greenMultiplier = function(this1) {
|
|
return this1[6];
|
|
};
|
|
lime_math_ColorMatrix.set_greenMultiplier = function(this1,value) {
|
|
return this1[6] = value;
|
|
};
|
|
lime_math_ColorMatrix.get_greenOffset = function(this1) {
|
|
return this1[9] * 255;
|
|
};
|
|
lime_math_ColorMatrix.set_greenOffset = function(this1,value) {
|
|
return this1[9] = value / 255;
|
|
};
|
|
lime_math_ColorMatrix.get_redMultiplier = function(this1) {
|
|
return this1[0];
|
|
};
|
|
lime_math_ColorMatrix.set_redMultiplier = function(this1,value) {
|
|
return this1[0] = value;
|
|
};
|
|
lime_math_ColorMatrix.get_redOffset = function(this1) {
|
|
return this1[4] * 255;
|
|
};
|
|
lime_math_ColorMatrix.set_redOffset = function(this1,value) {
|
|
return this1[4] = value / 255;
|
|
};
|
|
lime_math_ColorMatrix.get = function(this1,index) {
|
|
return this1[index];
|
|
};
|
|
lime_math_ColorMatrix.set = function(this1,index,value) {
|
|
return this1[index] = value;
|
|
};
|
|
var lime_math_Matrix4 = {};
|
|
lime_math_Matrix4.__properties__ = {set_position:"set_position",get_position:"get_position",get_determinant:"get_determinant"};
|
|
lime_math_Matrix4._new = function(data) {
|
|
var this1;
|
|
if(data != null && data.length == 16) {
|
|
this1 = data;
|
|
} else {
|
|
var elements = null;
|
|
var array = lime_math_Matrix4.__identity;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = null;
|
|
var len = null;
|
|
var this2;
|
|
if(elements != null) {
|
|
this2 = new Float32Array(elements);
|
|
} else if(array != null) {
|
|
this2 = new Float32Array(array);
|
|
} else if(vector != null) {
|
|
this2 = new Float32Array(vector.__array);
|
|
} else if(view != null) {
|
|
this2 = new Float32Array(view);
|
|
} else if(buffer != null) {
|
|
if(len == null) {
|
|
this2 = new Float32Array(buffer,0);
|
|
} else {
|
|
this2 = new Float32Array(buffer,0,len);
|
|
}
|
|
} else {
|
|
this2 = null;
|
|
}
|
|
this1 = this2;
|
|
}
|
|
return this1;
|
|
};
|
|
lime_math_Matrix4.append = function(this1,lhs) {
|
|
var m111 = this1[0];
|
|
var m121 = this1[4];
|
|
var m131 = this1[8];
|
|
var m141 = this1[12];
|
|
var m112 = this1[1];
|
|
var m122 = this1[5];
|
|
var m132 = this1[9];
|
|
var m142 = this1[13];
|
|
var m113 = this1[2];
|
|
var m123 = this1[6];
|
|
var m133 = this1[10];
|
|
var m143 = this1[14];
|
|
var m114 = this1[3];
|
|
var m124 = this1[7];
|
|
var m134 = this1[11];
|
|
var m144 = this1[15];
|
|
var m211 = lime_math_Matrix4.get(lhs,0);
|
|
var m221 = lime_math_Matrix4.get(lhs,4);
|
|
var m231 = lime_math_Matrix4.get(lhs,8);
|
|
var m241 = lime_math_Matrix4.get(lhs,12);
|
|
var m212 = lime_math_Matrix4.get(lhs,1);
|
|
var m222 = lime_math_Matrix4.get(lhs,5);
|
|
var m232 = lime_math_Matrix4.get(lhs,9);
|
|
var m242 = lime_math_Matrix4.get(lhs,13);
|
|
var m213 = lime_math_Matrix4.get(lhs,2);
|
|
var m223 = lime_math_Matrix4.get(lhs,6);
|
|
var m233 = lime_math_Matrix4.get(lhs,10);
|
|
var m243 = lime_math_Matrix4.get(lhs,14);
|
|
var m214 = lime_math_Matrix4.get(lhs,3);
|
|
var m224 = lime_math_Matrix4.get(lhs,7);
|
|
var m234 = lime_math_Matrix4.get(lhs,11);
|
|
var m244 = lime_math_Matrix4.get(lhs,15);
|
|
this1[0] = m111 * m211 + m112 * m221 + m113 * m231 + m114 * m241;
|
|
this1[1] = m111 * m212 + m112 * m222 + m113 * m232 + m114 * m242;
|
|
this1[2] = m111 * m213 + m112 * m223 + m113 * m233 + m114 * m243;
|
|
this1[3] = m111 * m214 + m112 * m224 + m113 * m234 + m114 * m244;
|
|
this1[4] = m121 * m211 + m122 * m221 + m123 * m231 + m124 * m241;
|
|
this1[5] = m121 * m212 + m122 * m222 + m123 * m232 + m124 * m242;
|
|
this1[6] = m121 * m213 + m122 * m223 + m123 * m233 + m124 * m243;
|
|
this1[7] = m121 * m214 + m122 * m224 + m123 * m234 + m124 * m244;
|
|
this1[8] = m131 * m211 + m132 * m221 + m133 * m231 + m134 * m241;
|
|
this1[9] = m131 * m212 + m132 * m222 + m133 * m232 + m134 * m242;
|
|
this1[10] = m131 * m213 + m132 * m223 + m133 * m233 + m134 * m243;
|
|
this1[11] = m131 * m214 + m132 * m224 + m133 * m234 + m134 * m244;
|
|
this1[12] = m141 * m211 + m142 * m221 + m143 * m231 + m144 * m241;
|
|
this1[13] = m141 * m212 + m142 * m222 + m143 * m232 + m144 * m242;
|
|
this1[14] = m141 * m213 + m142 * m223 + m143 * m233 + m144 * m243;
|
|
this1[15] = m141 * m214 + m142 * m224 + m143 * m234 + m144 * m244;
|
|
};
|
|
lime_math_Matrix4.appendRotation = function(this1,degrees,axis,pivotPoint) {
|
|
var m = lime_math_Matrix4.__getAxisRotation(this1,axis.x,axis.y,axis.z,degrees);
|
|
if(pivotPoint != null) {
|
|
var p = pivotPoint;
|
|
lime_math_Matrix4.appendTranslation(m,p.x,p.y,p.z);
|
|
}
|
|
lime_math_Matrix4.append(this1,m);
|
|
};
|
|
lime_math_Matrix4.appendScale = function(this1,xScale,yScale,zScale) {
|
|
var elements = null;
|
|
var array = [xScale,0.0,0.0,0.0,0.0,yScale,0.0,0.0,0.0,0.0,zScale,0.0,0.0,0.0,0.0,1.0];
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = null;
|
|
var len = null;
|
|
var this2;
|
|
if(elements != null) {
|
|
this2 = new Float32Array(elements);
|
|
} else if(array != null) {
|
|
this2 = new Float32Array(array);
|
|
} else if(vector != null) {
|
|
this2 = new Float32Array(vector.__array);
|
|
} else if(view != null) {
|
|
this2 = new Float32Array(view);
|
|
} else if(buffer != null) {
|
|
if(len == null) {
|
|
this2 = new Float32Array(buffer,0);
|
|
} else {
|
|
this2 = new Float32Array(buffer,0,len);
|
|
}
|
|
} else {
|
|
this2 = null;
|
|
}
|
|
lime_math_Matrix4.append(this1,lime_math_Matrix4._new(this2));
|
|
};
|
|
lime_math_Matrix4.appendTranslation = function(this1,x,y,z) {
|
|
this1[12] += x;
|
|
this1[13] += y;
|
|
this1[14] += z;
|
|
};
|
|
lime_math_Matrix4.clone = function(this1) {
|
|
var elements = null;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = lime_utils_Float32Array.toArrayBufferView(this1);
|
|
var buffer = null;
|
|
var len = null;
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Float32Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Float32Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Float32Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Float32Array(view);
|
|
} else if(buffer != null) {
|
|
if(len == null) {
|
|
this1 = new Float32Array(buffer,0);
|
|
} else {
|
|
this1 = new Float32Array(buffer,0,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
return lime_math_Matrix4._new(this1);
|
|
};
|
|
lime_math_Matrix4.copyColumnFrom = function(this1,column,vector) {
|
|
switch(column) {
|
|
case 0:
|
|
this1[0] = vector.x;
|
|
this1[1] = vector.y;
|
|
this1[2] = vector.z;
|
|
this1[3] = vector.w;
|
|
break;
|
|
case 1:
|
|
this1[4] = vector.x;
|
|
this1[5] = vector.y;
|
|
this1[6] = vector.z;
|
|
this1[7] = vector.w;
|
|
break;
|
|
case 2:
|
|
this1[8] = vector.x;
|
|
this1[9] = vector.y;
|
|
this1[10] = vector.z;
|
|
this1[11] = vector.w;
|
|
break;
|
|
case 3:
|
|
this1[12] = vector.x;
|
|
this1[13] = vector.y;
|
|
this1[14] = vector.z;
|
|
this1[15] = vector.w;
|
|
break;
|
|
default:
|
|
lime_utils_Log.error("Column " + column + " out of bounds [0, ..., 3]",{ fileName : "lime/math/Matrix4.hx", lineNumber : 187, className : "lime.math._Matrix4.Matrix4_Impl_", methodName : "copyColumnFrom"});
|
|
}
|
|
};
|
|
lime_math_Matrix4.copyColumnTo = function(this1,column,vector) {
|
|
switch(column) {
|
|
case 0:
|
|
vector.x = this1[0];
|
|
vector.y = this1[1];
|
|
vector.z = this1[2];
|
|
vector.w = this1[3];
|
|
break;
|
|
case 1:
|
|
vector.x = this1[4];
|
|
vector.y = this1[5];
|
|
vector.z = this1[6];
|
|
vector.w = this1[7];
|
|
break;
|
|
case 2:
|
|
vector.x = this1[8];
|
|
vector.y = this1[9];
|
|
vector.z = this1[10];
|
|
vector.w = this1[11];
|
|
break;
|
|
case 3:
|
|
vector.x = this1[12];
|
|
vector.y = this1[13];
|
|
vector.z = this1[14];
|
|
vector.w = this1[15];
|
|
break;
|
|
default:
|
|
lime_utils_Log.error("Column " + column + " out of bounds [0, ..., 3]",{ fileName : "lime/math/Matrix4.hx", lineNumber : 225, className : "lime.math._Matrix4.Matrix4_Impl_", methodName : "copyColumnTo"});
|
|
}
|
|
};
|
|
lime_math_Matrix4.copyFrom = function(this1,other) {
|
|
this1.set(other);
|
|
};
|
|
lime_math_Matrix4.copyRowFrom = function(this1,row,vector) {
|
|
switch(row) {
|
|
case 0:
|
|
this1[0] = vector.x;
|
|
this1[4] = vector.y;
|
|
this1[8] = vector.z;
|
|
this1[12] = vector.w;
|
|
break;
|
|
case 1:
|
|
this1[1] = vector.x;
|
|
this1[5] = vector.y;
|
|
this1[9] = vector.z;
|
|
this1[13] = vector.w;
|
|
break;
|
|
case 2:
|
|
this1[2] = vector.x;
|
|
this1[6] = vector.y;
|
|
this1[10] = vector.z;
|
|
this1[14] = vector.w;
|
|
break;
|
|
case 3:
|
|
this1[3] = vector.x;
|
|
this1[7] = vector.y;
|
|
this1[11] = vector.z;
|
|
this1[15] = vector.w;
|
|
break;
|
|
default:
|
|
lime_utils_Log.error("Row " + row + " out of bounds [0, ..., 3]",{ fileName : "lime/math/Matrix4.hx", lineNumber : 272, className : "lime.math._Matrix4.Matrix4_Impl_", methodName : "copyRowFrom"});
|
|
}
|
|
};
|
|
lime_math_Matrix4.copyRowTo = function(this1,row,vector) {
|
|
switch(row) {
|
|
case 0:
|
|
vector.x = this1[0];
|
|
vector.y = this1[4];
|
|
vector.z = this1[8];
|
|
vector.w = this1[12];
|
|
break;
|
|
case 1:
|
|
vector.x = this1[1];
|
|
vector.y = this1[5];
|
|
vector.z = this1[9];
|
|
vector.w = this1[13];
|
|
break;
|
|
case 2:
|
|
vector.x = this1[2];
|
|
vector.y = this1[6];
|
|
vector.z = this1[10];
|
|
vector.w = this1[14];
|
|
break;
|
|
case 3:
|
|
vector.x = this1[3];
|
|
vector.y = this1[7];
|
|
vector.z = this1[11];
|
|
vector.w = this1[15];
|
|
break;
|
|
default:
|
|
lime_utils_Log.error("Row " + row + " out of bounds [0, ..., 3]",{ fileName : "lime/math/Matrix4.hx", lineNumber : 310, className : "lime.math._Matrix4.Matrix4_Impl_", methodName : "copyRowTo"});
|
|
}
|
|
};
|
|
lime_math_Matrix4.create2D = function(this1,a,b,c,d,tx,ty) {
|
|
if(ty == null) {
|
|
ty = 0;
|
|
}
|
|
if(tx == null) {
|
|
tx = 0;
|
|
}
|
|
this1[0] = a;
|
|
this1[1] = b;
|
|
this1[2] = 0;
|
|
this1[3] = 0;
|
|
this1[4] = c;
|
|
this1[5] = d;
|
|
this1[6] = 0;
|
|
this1[7] = 0;
|
|
this1[8] = 0;
|
|
this1[9] = 0;
|
|
this1[10] = 1;
|
|
this1[11] = 0;
|
|
this1[12] = tx;
|
|
this1[13] = ty;
|
|
this1[14] = 0;
|
|
this1[15] = 1;
|
|
};
|
|
lime_math_Matrix4.createOrtho = function(this1,left,right,bottom,top,zNear,zFar) {
|
|
var sx = 1.0 / (right - left);
|
|
var sy = 1.0 / (top - bottom);
|
|
var sz = 1.0 / (zFar - zNear);
|
|
this1[0] = 2 * sx;
|
|
this1[1] = 0;
|
|
this1[2] = 0;
|
|
this1[3] = 0;
|
|
this1[4] = 0;
|
|
this1[5] = 2 * sy;
|
|
this1[6] = 0;
|
|
this1[7] = 0;
|
|
this1[8] = 0;
|
|
this1[9] = 0;
|
|
this1[10] = -2 * sz;
|
|
this1[11] = 0;
|
|
this1[12] = -(left + right) * sx;
|
|
this1[13] = -(bottom + top) * sy;
|
|
this1[14] = -(zNear + zFar) * sz;
|
|
this1[15] = 1;
|
|
};
|
|
lime_math_Matrix4.deltaTransformVector = function(this1,v,result) {
|
|
if(result == null) {
|
|
result = new lime_math_Vector4();
|
|
}
|
|
var x = v.x;
|
|
var y = v.y;
|
|
var z = v.z;
|
|
result.x = x * this1[0] + y * this1[4] + z * this1[8] + this1[3];
|
|
result.y = x * this1[1] + y * this1[5] + z * this1[9] + this1[7];
|
|
result.z = x * this1[2] + y * this1[6] + z * this1[10] + this1[11];
|
|
return result;
|
|
};
|
|
lime_math_Matrix4.fromMatrix3 = function(matrix3) {
|
|
var mat = lime_math_Matrix4._new();
|
|
lime_math_Matrix4.create2D(mat,matrix3.a,matrix3.b,matrix3.c,matrix3.d,matrix3.tx,matrix3.ty);
|
|
return mat;
|
|
};
|
|
lime_math_Matrix4.identity = function(this1) {
|
|
this1[0] = 1;
|
|
this1[1] = 0;
|
|
this1[2] = 0;
|
|
this1[3] = 0;
|
|
this1[4] = 0;
|
|
this1[5] = 1;
|
|
this1[6] = 0;
|
|
this1[7] = 0;
|
|
this1[8] = 0;
|
|
this1[9] = 0;
|
|
this1[10] = 1;
|
|
this1[11] = 0;
|
|
this1[12] = 0;
|
|
this1[13] = 0;
|
|
this1[14] = 0;
|
|
this1[15] = 1;
|
|
};
|
|
lime_math_Matrix4.interpolate = function(thisMat,toMat,percent,result) {
|
|
if(result == null) {
|
|
result = lime_math_Matrix4._new();
|
|
}
|
|
var _g = 0;
|
|
while(_g < 16) {
|
|
var i = _g++;
|
|
lime_math_Matrix4.set(result,i,lime_math_Matrix4.get(thisMat,i) + (lime_math_Matrix4.get(toMat,i) - lime_math_Matrix4.get(thisMat,i)) * percent);
|
|
}
|
|
return result;
|
|
};
|
|
lime_math_Matrix4.interpolateTo = function(this1,toMat,percent) {
|
|
var _g = 0;
|
|
while(_g < 16) {
|
|
var i = _g++;
|
|
this1[i] += (lime_math_Matrix4.get(toMat,i) - this1[i]) * percent;
|
|
}
|
|
};
|
|
lime_math_Matrix4.invert = function(this1) {
|
|
var d = lime_math_Matrix4.get_determinant(this1);
|
|
var invertable = Math.abs(d) > 0.00000000001;
|
|
if(invertable) {
|
|
d = 1 / d;
|
|
var m11 = this1[0];
|
|
var m21 = this1[4];
|
|
var m31 = this1[8];
|
|
var m41 = this1[12];
|
|
var m12 = this1[1];
|
|
var m22 = this1[5];
|
|
var m32 = this1[9];
|
|
var m42 = this1[13];
|
|
var m13 = this1[2];
|
|
var m23 = this1[6];
|
|
var m33 = this1[10];
|
|
var m43 = this1[14];
|
|
var m14 = this1[3];
|
|
var m24 = this1[7];
|
|
var m34 = this1[11];
|
|
var m44 = this1[15];
|
|
this1[0] = d * (m22 * (m33 * m44 - m43 * m34) - m32 * (m23 * m44 - m43 * m24) + m42 * (m23 * m34 - m33 * m24));
|
|
this1[1] = -d * (m12 * (m33 * m44 - m43 * m34) - m32 * (m13 * m44 - m43 * m14) + m42 * (m13 * m34 - m33 * m14));
|
|
this1[2] = d * (m12 * (m23 * m44 - m43 * m24) - m22 * (m13 * m44 - m43 * m14) + m42 * (m13 * m24 - m23 * m14));
|
|
this1[3] = -d * (m12 * (m23 * m34 - m33 * m24) - m22 * (m13 * m34 - m33 * m14) + m32 * (m13 * m24 - m23 * m14));
|
|
this1[4] = -d * (m21 * (m33 * m44 - m43 * m34) - m31 * (m23 * m44 - m43 * m24) + m41 * (m23 * m34 - m33 * m24));
|
|
this1[5] = d * (m11 * (m33 * m44 - m43 * m34) - m31 * (m13 * m44 - m43 * m14) + m41 * (m13 * m34 - m33 * m14));
|
|
this1[6] = -d * (m11 * (m23 * m44 - m43 * m24) - m21 * (m13 * m44 - m43 * m14) + m41 * (m13 * m24 - m23 * m14));
|
|
this1[7] = d * (m11 * (m23 * m34 - m33 * m24) - m21 * (m13 * m34 - m33 * m14) + m31 * (m13 * m24 - m23 * m14));
|
|
this1[8] = d * (m21 * (m32 * m44 - m42 * m34) - m31 * (m22 * m44 - m42 * m24) + m41 * (m22 * m34 - m32 * m24));
|
|
this1[9] = -d * (m11 * (m32 * m44 - m42 * m34) - m31 * (m12 * m44 - m42 * m14) + m41 * (m12 * m34 - m32 * m14));
|
|
this1[10] = d * (m11 * (m22 * m44 - m42 * m24) - m21 * (m12 * m44 - m42 * m14) + m41 * (m12 * m24 - m22 * m14));
|
|
this1[11] = -d * (m11 * (m22 * m34 - m32 * m24) - m21 * (m12 * m34 - m32 * m14) + m31 * (m12 * m24 - m22 * m14));
|
|
this1[12] = -d * (m21 * (m32 * m43 - m42 * m33) - m31 * (m22 * m43 - m42 * m23) + m41 * (m22 * m33 - m32 * m23));
|
|
this1[13] = d * (m11 * (m32 * m43 - m42 * m33) - m31 * (m12 * m43 - m42 * m13) + m41 * (m12 * m33 - m32 * m13));
|
|
this1[14] = -d * (m11 * (m22 * m43 - m42 * m23) - m21 * (m12 * m43 - m42 * m13) + m41 * (m12 * m23 - m22 * m13));
|
|
this1[15] = d * (m11 * (m22 * m33 - m32 * m23) - m21 * (m12 * m33 - m32 * m13) + m31 * (m12 * m23 - m22 * m13));
|
|
}
|
|
return invertable;
|
|
};
|
|
lime_math_Matrix4.pointAt = function(this1,pos,at,up) {
|
|
if(at == null) {
|
|
at = new lime_math_Vector4(0,0,1);
|
|
}
|
|
if(up == null) {
|
|
up = new lime_math_Vector4(0,1,0);
|
|
}
|
|
var result = null;
|
|
if(result == null) {
|
|
result = new lime_math_Vector4();
|
|
}
|
|
result.x = pos.x - at.x;
|
|
result.y = pos.y - at.y;
|
|
result.z = pos.z - at.z;
|
|
var dir = result;
|
|
var vup = new lime_math_Vector4(up.x,up.y,up.z,up.w);
|
|
var l = Math.sqrt(dir.x * dir.x + dir.y * dir.y + dir.z * dir.z);
|
|
if(l != 0) {
|
|
dir.x /= l;
|
|
dir.y /= l;
|
|
dir.z /= l;
|
|
}
|
|
var l = Math.sqrt(vup.x * vup.x + vup.y * vup.y + vup.z * vup.z);
|
|
if(l != 0) {
|
|
vup.x /= l;
|
|
vup.y /= l;
|
|
vup.z /= l;
|
|
}
|
|
var dir2 = new lime_math_Vector4(dir.x,dir.y,dir.z,dir.w);
|
|
var s = vup.x * dir.x + vup.y * dir.y + vup.z * dir.z;
|
|
dir2.x *= s;
|
|
dir2.y *= s;
|
|
dir2.z *= s;
|
|
var result = null;
|
|
if(result == null) {
|
|
result = new lime_math_Vector4();
|
|
}
|
|
result.x = vup.x - dir2.x;
|
|
result.y = vup.y - dir2.y;
|
|
result.z = vup.z - dir2.z;
|
|
vup = result;
|
|
if(Math.sqrt(vup.x * vup.x + vup.y * vup.y + vup.z * vup.z) > 0) {
|
|
var l = Math.sqrt(vup.x * vup.x + vup.y * vup.y + vup.z * vup.z);
|
|
if(l != 0) {
|
|
vup.x /= l;
|
|
vup.y /= l;
|
|
vup.z /= l;
|
|
}
|
|
} else if(dir.x != 0) {
|
|
vup = new lime_math_Vector4(-dir.y,dir.x,0);
|
|
} else {
|
|
vup = new lime_math_Vector4(1,0,0);
|
|
}
|
|
var result = null;
|
|
if(result == null) {
|
|
result = new lime_math_Vector4();
|
|
}
|
|
var ya = vup.z * dir.x - vup.x * dir.z;
|
|
var za = vup.x * dir.y - vup.y * dir.x;
|
|
result.x = vup.y * dir.z - vup.z * dir.y;
|
|
result.y = ya;
|
|
result.z = za;
|
|
result.w = 1;
|
|
var right = result;
|
|
var l = Math.sqrt(right.x * right.x + right.y * right.y + right.z * right.z);
|
|
if(l != 0) {
|
|
right.x /= l;
|
|
right.y /= l;
|
|
right.z /= l;
|
|
}
|
|
this1[0] = right.x;
|
|
this1[4] = right.y;
|
|
this1[8] = right.z;
|
|
this1[12] = 0.0;
|
|
this1[1] = vup.x;
|
|
this1[5] = vup.y;
|
|
this1[9] = vup.z;
|
|
this1[13] = 0.0;
|
|
this1[2] = dir.x;
|
|
this1[6] = dir.y;
|
|
this1[10] = dir.z;
|
|
this1[14] = 0.0;
|
|
this1[3] = pos.x;
|
|
this1[7] = pos.y;
|
|
this1[11] = pos.z;
|
|
this1[15] = 1.0;
|
|
};
|
|
lime_math_Matrix4.prepend = function(this1,rhs) {
|
|
var m111 = lime_math_Matrix4.get(rhs,0);
|
|
var m121 = lime_math_Matrix4.get(rhs,4);
|
|
var m131 = lime_math_Matrix4.get(rhs,8);
|
|
var m141 = lime_math_Matrix4.get(rhs,12);
|
|
var m112 = lime_math_Matrix4.get(rhs,1);
|
|
var m122 = lime_math_Matrix4.get(rhs,5);
|
|
var m132 = lime_math_Matrix4.get(rhs,9);
|
|
var m142 = lime_math_Matrix4.get(rhs,13);
|
|
var m113 = lime_math_Matrix4.get(rhs,2);
|
|
var m123 = lime_math_Matrix4.get(rhs,6);
|
|
var m133 = lime_math_Matrix4.get(rhs,10);
|
|
var m143 = lime_math_Matrix4.get(rhs,14);
|
|
var m114 = lime_math_Matrix4.get(rhs,3);
|
|
var m124 = lime_math_Matrix4.get(rhs,7);
|
|
var m134 = lime_math_Matrix4.get(rhs,11);
|
|
var m144 = lime_math_Matrix4.get(rhs,15);
|
|
var m211 = this1[0];
|
|
var m221 = this1[4];
|
|
var m231 = this1[8];
|
|
var m241 = this1[12];
|
|
var m212 = this1[1];
|
|
var m222 = this1[5];
|
|
var m232 = this1[9];
|
|
var m242 = this1[13];
|
|
var m213 = this1[2];
|
|
var m223 = this1[6];
|
|
var m233 = this1[10];
|
|
var m243 = this1[14];
|
|
var m214 = this1[3];
|
|
var m224 = this1[7];
|
|
var m234 = this1[11];
|
|
var m244 = this1[15];
|
|
this1[0] = m111 * m211 + m112 * m221 + m113 * m231 + m114 * m241;
|
|
this1[1] = m111 * m212 + m112 * m222 + m113 * m232 + m114 * m242;
|
|
this1[2] = m111 * m213 + m112 * m223 + m113 * m233 + m114 * m243;
|
|
this1[3] = m111 * m214 + m112 * m224 + m113 * m234 + m114 * m244;
|
|
this1[4] = m121 * m211 + m122 * m221 + m123 * m231 + m124 * m241;
|
|
this1[5] = m121 * m212 + m122 * m222 + m123 * m232 + m124 * m242;
|
|
this1[6] = m121 * m213 + m122 * m223 + m123 * m233 + m124 * m243;
|
|
this1[7] = m121 * m214 + m122 * m224 + m123 * m234 + m124 * m244;
|
|
this1[8] = m131 * m211 + m132 * m221 + m133 * m231 + m134 * m241;
|
|
this1[9] = m131 * m212 + m132 * m222 + m133 * m232 + m134 * m242;
|
|
this1[10] = m131 * m213 + m132 * m223 + m133 * m233 + m134 * m243;
|
|
this1[11] = m131 * m214 + m132 * m224 + m133 * m234 + m134 * m244;
|
|
this1[12] = m141 * m211 + m142 * m221 + m143 * m231 + m144 * m241;
|
|
this1[13] = m141 * m212 + m142 * m222 + m143 * m232 + m144 * m242;
|
|
this1[14] = m141 * m213 + m142 * m223 + m143 * m233 + m144 * m243;
|
|
this1[15] = m141 * m214 + m142 * m224 + m143 * m234 + m144 * m244;
|
|
};
|
|
lime_math_Matrix4.prependRotation = function(this1,degrees,axis,pivotPoint) {
|
|
var m = lime_math_Matrix4.__getAxisRotation(this1,axis.x,axis.y,axis.z,degrees);
|
|
if(pivotPoint != null) {
|
|
var p = pivotPoint;
|
|
lime_math_Matrix4.appendTranslation(m,p.x,p.y,p.z);
|
|
}
|
|
lime_math_Matrix4.prepend(this1,m);
|
|
};
|
|
lime_math_Matrix4.prependScale = function(this1,xScale,yScale,zScale) {
|
|
var elements = null;
|
|
var array = [xScale,0.0,0.0,0.0,0.0,yScale,0.0,0.0,0.0,0.0,zScale,0.0,0.0,0.0,0.0,1.0];
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = null;
|
|
var len = null;
|
|
var this2;
|
|
if(elements != null) {
|
|
this2 = new Float32Array(elements);
|
|
} else if(array != null) {
|
|
this2 = new Float32Array(array);
|
|
} else if(vector != null) {
|
|
this2 = new Float32Array(vector.__array);
|
|
} else if(view != null) {
|
|
this2 = new Float32Array(view);
|
|
} else if(buffer != null) {
|
|
if(len == null) {
|
|
this2 = new Float32Array(buffer,0);
|
|
} else {
|
|
this2 = new Float32Array(buffer,0,len);
|
|
}
|
|
} else {
|
|
this2 = null;
|
|
}
|
|
lime_math_Matrix4.prepend(this1,lime_math_Matrix4._new(this2));
|
|
};
|
|
lime_math_Matrix4.prependTranslation = function(this1,x,y,z) {
|
|
var m = lime_math_Matrix4._new();
|
|
lime_math_Matrix4.set_position(m,new lime_math_Vector4(x,y,z));
|
|
lime_math_Matrix4.prepend(this1,m);
|
|
};
|
|
lime_math_Matrix4.transformVector = function(this1,v,result) {
|
|
if(result == null) {
|
|
result = new lime_math_Vector4();
|
|
}
|
|
var x = v.x;
|
|
var y = v.y;
|
|
var z = v.z;
|
|
result.x = x * this1[0] + y * this1[4] + z * this1[8] + this1[12];
|
|
result.y = x * this1[1] + y * this1[5] + z * this1[9] + this1[13];
|
|
result.z = x * this1[2] + y * this1[6] + z * this1[10] + this1[14];
|
|
result.w = x * this1[3] + y * this1[7] + z * this1[11] + this1[15];
|
|
return result;
|
|
};
|
|
lime_math_Matrix4.transformVectors = function(this1,ain,aout) {
|
|
var i = 0;
|
|
var x;
|
|
var y;
|
|
var z;
|
|
while(i + 3 <= ain.length) {
|
|
x = ain[i];
|
|
y = ain[i + 1];
|
|
z = ain[i + 2];
|
|
aout[i] = x * this1[0] + y * this1[4] + z * this1[8] + this1[12];
|
|
aout[i + 1] = x * this1[1] + y * this1[5] + z * this1[9] + this1[13];
|
|
aout[i + 2] = x * this1[2] + y * this1[6] + z * this1[10] + this1[14];
|
|
i += 3;
|
|
}
|
|
};
|
|
lime_math_Matrix4.transpose = function(this1) {
|
|
var temp = this1[1];
|
|
this1[1] = this1[4];
|
|
this1[4] = temp;
|
|
var temp = this1[2];
|
|
this1[2] = this1[8];
|
|
this1[8] = temp;
|
|
var temp = this1[3];
|
|
this1[3] = this1[12];
|
|
this1[12] = temp;
|
|
var temp = this1[6];
|
|
this1[6] = this1[9];
|
|
this1[9] = temp;
|
|
var temp = this1[7];
|
|
this1[7] = this1[13];
|
|
this1[13] = temp;
|
|
var temp = this1[11];
|
|
this1[11] = this1[14];
|
|
this1[14] = temp;
|
|
};
|
|
lime_math_Matrix4.__getAxisRotation = function(this1,x,y,z,degrees) {
|
|
var m = lime_math_Matrix4._new();
|
|
var a1 = new lime_math_Vector4(x,y,z);
|
|
var rad = -degrees * (Math.PI / 180);
|
|
var c = Math.cos(rad);
|
|
var s = Math.sin(rad);
|
|
var t = 1.0 - c;
|
|
lime_math_Matrix4.set(m,0,c + a1.x * a1.x * t);
|
|
lime_math_Matrix4.set(m,5,c + a1.y * a1.y * t);
|
|
lime_math_Matrix4.set(m,10,c + a1.z * a1.z * t);
|
|
var tmp1 = a1.x * a1.y * t;
|
|
var tmp2 = a1.z * s;
|
|
lime_math_Matrix4.set(m,4,tmp1 + tmp2);
|
|
lime_math_Matrix4.set(m,1,tmp1 - tmp2);
|
|
tmp1 = a1.x * a1.z * t;
|
|
tmp2 = a1.y * s;
|
|
lime_math_Matrix4.set(m,8,tmp1 - tmp2);
|
|
lime_math_Matrix4.set(m,2,tmp1 + tmp2);
|
|
tmp1 = a1.y * a1.z * t;
|
|
tmp2 = a1.x * s;
|
|
lime_math_Matrix4.set(m,9,tmp1 + tmp2);
|
|
lime_math_Matrix4.set(m,6,tmp1 - tmp2);
|
|
return m;
|
|
};
|
|
lime_math_Matrix4.__swap = function(this1,a,b) {
|
|
var temp = this1[a];
|
|
this1[a] = this1[b];
|
|
this1[b] = temp;
|
|
};
|
|
lime_math_Matrix4.get_determinant = function(this1) {
|
|
return (this1[0] * this1[5] - this1[4] * this1[1]) * (this1[10] * this1[15] - this1[14] * this1[11]) - (this1[0] * this1[9] - this1[8] * this1[1]) * (this1[6] * this1[15] - this1[14] * this1[7]) + (this1[0] * this1[13] - this1[12] * this1[1]) * (this1[6] * this1[11] - this1[10] * this1[7]) + (this1[4] * this1[9] - this1[8] * this1[5]) * (this1[2] * this1[15] - this1[14] * this1[3]) - (this1[4] * this1[13] - this1[12] * this1[5]) * (this1[2] * this1[11] - this1[10] * this1[3]) + (this1[8] * this1[13] - this1[12] * this1[9]) * (this1[2] * this1[7] - this1[6] * this1[3]);
|
|
};
|
|
lime_math_Matrix4.get_position = function(this1) {
|
|
return new lime_math_Vector4(this1[12],this1[13],this1[14]);
|
|
};
|
|
lime_math_Matrix4.set_position = function(this1,val) {
|
|
this1[12] = val.x;
|
|
this1[13] = val.y;
|
|
this1[14] = val.z;
|
|
return val;
|
|
};
|
|
lime_math_Matrix4.get = function(this1,index) {
|
|
return this1[index];
|
|
};
|
|
lime_math_Matrix4.set = function(this1,index,value) {
|
|
this1[index] = value;
|
|
return value;
|
|
};
|
|
var lime_math_RGBA = {};
|
|
lime_math_RGBA.__properties__ = {set_r:"set_r",get_r:"get_r",set_g:"set_g",get_g:"get_g",set_b:"set_b",get_b:"get_b",set_a:"set_a",get_a:"get_a"};
|
|
lime_math_RGBA.__alpha16 = null;
|
|
lime_math_RGBA.__clamp = null;
|
|
lime_math_RGBA.a16 = null;
|
|
lime_math_RGBA.unmult = null;
|
|
lime_math_RGBA._new = function(rgba) {
|
|
if(rgba == null) {
|
|
rgba = 0;
|
|
}
|
|
var this1 = rgba;
|
|
return this1;
|
|
};
|
|
lime_math_RGBA.create = function(r,g,b,a) {
|
|
var this1 = 0;
|
|
var rgba = this1;
|
|
rgba = (r & 255) << 24 | (g & 255) << 16 | (b & 255) << 8 | a & 255;
|
|
return rgba;
|
|
};
|
|
lime_math_RGBA.multiplyAlpha = function(this1) {
|
|
if((this1 & 255) == 0) {
|
|
if(this1 != 0) {
|
|
this1 = 0;
|
|
}
|
|
} else if((this1 & 255) != 255) {
|
|
lime_math_RGBA.a16 = lime_math_RGBA.__alpha16[this1 & 255];
|
|
this1 = ((this1 >>> 24 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 24 | ((this1 >>> 16 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 16 | ((this1 >>> 8 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 8 | this1 & 255 & 255;
|
|
}
|
|
};
|
|
lime_math_RGBA.readUInt8 = function(this1,data,offset,format,premultiplied) {
|
|
if(premultiplied == null) {
|
|
premultiplied = false;
|
|
}
|
|
if(format == null) {
|
|
format = 0;
|
|
}
|
|
switch(format) {
|
|
case 0:
|
|
this1 = (data[offset] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset + 2] & 255) << 8 | data[offset + 3] & 255;
|
|
break;
|
|
case 1:
|
|
this1 = (data[offset + 1] & 255) << 24 | (data[offset + 2] & 255) << 16 | (data[offset + 3] & 255) << 8 | data[offset] & 255;
|
|
break;
|
|
case 2:
|
|
this1 = (data[offset + 2] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset] & 255) << 8 | data[offset + 3] & 255;
|
|
break;
|
|
}
|
|
if(premultiplied) {
|
|
if((this1 & 255) != 0 && (this1 & 255) != 255) {
|
|
lime_math_RGBA.unmult = 255.0 / (this1 & 255);
|
|
this1 = (lime_math_RGBA.__clamp[Math.round((this1 >>> 24 & 255) * lime_math_RGBA.unmult)] & 255) << 24 | (lime_math_RGBA.__clamp[Math.round((this1 >>> 16 & 255) * lime_math_RGBA.unmult)] & 255) << 16 | (lime_math_RGBA.__clamp[Math.round((this1 >>> 8 & 255) * lime_math_RGBA.unmult)] & 255) << 8 | this1 & 255 & 255;
|
|
}
|
|
}
|
|
};
|
|
lime_math_RGBA.set = function(this1,r,g,b,a) {
|
|
this1 = (r & 255) << 24 | (g & 255) << 16 | (b & 255) << 8 | a & 255;
|
|
};
|
|
lime_math_RGBA.unmultiplyAlpha = function(this1) {
|
|
if((this1 & 255) != 0 && (this1 & 255) != 255) {
|
|
lime_math_RGBA.unmult = 255.0 / (this1 & 255);
|
|
this1 = (lime_math_RGBA.__clamp[Math.round((this1 >>> 24 & 255) * lime_math_RGBA.unmult)] & 255) << 24 | (lime_math_RGBA.__clamp[Math.round((this1 >>> 16 & 255) * lime_math_RGBA.unmult)] & 255) << 16 | (lime_math_RGBA.__clamp[Math.round((this1 >>> 8 & 255) * lime_math_RGBA.unmult)] & 255) << 8 | this1 & 255 & 255;
|
|
}
|
|
};
|
|
lime_math_RGBA.writeUInt8 = function(this1,data,offset,format,premultiplied) {
|
|
if(premultiplied == null) {
|
|
premultiplied = false;
|
|
}
|
|
if(format == null) {
|
|
format = 0;
|
|
}
|
|
if(premultiplied) {
|
|
if((this1 & 255) == 0) {
|
|
if(this1 != 0) {
|
|
this1 = 0;
|
|
}
|
|
} else if((this1 & 255) != 255) {
|
|
lime_math_RGBA.a16 = lime_math_RGBA.__alpha16[this1 & 255];
|
|
this1 = ((this1 >>> 24 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 24 | ((this1 >>> 16 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 16 | ((this1 >>> 8 & 255) * lime_math_RGBA.a16 >> 16 & 255) << 8 | this1 & 255 & 255;
|
|
}
|
|
}
|
|
switch(format) {
|
|
case 0:
|
|
data[offset] = this1 >>> 24 & 255;
|
|
data[offset + 1] = this1 >>> 16 & 255;
|
|
data[offset + 2] = this1 >>> 8 & 255;
|
|
data[offset + 3] = this1 & 255;
|
|
break;
|
|
case 1:
|
|
data[offset] = this1 & 255;
|
|
data[offset + 1] = this1 >>> 24 & 255;
|
|
data[offset + 2] = this1 >>> 16 & 255;
|
|
data[offset + 3] = this1 >>> 8 & 255;
|
|
break;
|
|
case 2:
|
|
data[offset] = this1 >>> 8 & 255;
|
|
data[offset + 1] = this1 >>> 16 & 255;
|
|
data[offset + 2] = this1 >>> 24 & 255;
|
|
data[offset + 3] = this1 & 255;
|
|
break;
|
|
}
|
|
};
|
|
lime_math_RGBA.__fromARGB = function(argb) {
|
|
var this1 = 0;
|
|
var rgba = this1;
|
|
rgba = (argb >>> 16 & 255 & 255) << 24 | (argb >>> 8 & 255 & 255) << 16 | (argb & 255 & 255) << 8 | argb >>> 24 & 255 & 255;
|
|
return rgba;
|
|
};
|
|
lime_math_RGBA.__fromBGRA = function(bgra) {
|
|
var this1 = 0;
|
|
var rgba = this1;
|
|
rgba = (bgra >>> 8 & 255 & 255) << 24 | (bgra >>> 16 & 255 & 255) << 16 | (bgra >>> 24 & 255 & 255) << 8 | bgra & 255 & 255;
|
|
return rgba;
|
|
};
|
|
lime_math_RGBA.get_a = function(this1) {
|
|
return this1 & 255;
|
|
};
|
|
lime_math_RGBA.set_a = function(this1,value) {
|
|
this1 = (this1 >>> 24 & 255 & 255) << 24 | (this1 >>> 16 & 255 & 255) << 16 | (this1 >>> 8 & 255 & 255) << 8 | value & 255;
|
|
return value;
|
|
};
|
|
lime_math_RGBA.get_b = function(this1) {
|
|
return this1 >>> 8 & 255;
|
|
};
|
|
lime_math_RGBA.set_b = function(this1,value) {
|
|
this1 = (this1 >>> 24 & 255 & 255) << 24 | (this1 >>> 16 & 255 & 255) << 16 | (value & 255) << 8 | this1 & 255 & 255;
|
|
return value;
|
|
};
|
|
lime_math_RGBA.get_g = function(this1) {
|
|
return this1 >>> 16 & 255;
|
|
};
|
|
lime_math_RGBA.set_g = function(this1,value) {
|
|
this1 = (this1 >>> 24 & 255 & 255) << 24 | (value & 255) << 16 | (this1 >>> 8 & 255 & 255) << 8 | this1 & 255 & 255;
|
|
return value;
|
|
};
|
|
lime_math_RGBA.get_r = function(this1) {
|
|
return this1 >>> 24 & 255;
|
|
};
|
|
lime_math_RGBA.set_r = function(this1,value) {
|
|
this1 = (value & 255) << 24 | (this1 >>> 16 & 255 & 255) << 16 | (this1 >>> 8 & 255 & 255) << 8 | this1 & 255 & 255;
|
|
return value;
|
|
};
|
|
var lime_math_Rectangle = function(x,y,width,height) {
|
|
if(height == null) {
|
|
height = 0;
|
|
}
|
|
if(width == null) {
|
|
width = 0;
|
|
}
|
|
if(y == null) {
|
|
y = 0;
|
|
}
|
|
if(x == null) {
|
|
x = 0;
|
|
}
|
|
this.x = x;
|
|
this.y = y;
|
|
this.width = width;
|
|
this.height = height;
|
|
};
|
|
$hxClasses["lime.math.Rectangle"] = lime_math_Rectangle;
|
|
lime_math_Rectangle.__name__ = "lime.math.Rectangle";
|
|
lime_math_Rectangle.prototype = {
|
|
height: null
|
|
,width: null
|
|
,x: null
|
|
,y: null
|
|
,clone: function() {
|
|
return new lime_math_Rectangle(this.x,this.y,this.width,this.height);
|
|
}
|
|
,contains: function(x,y) {
|
|
if(x >= this.x && y >= this.y && x < this.get_right()) {
|
|
return y < this.get_bottom();
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,containsPoint: function(point) {
|
|
return this.containsVector(point);
|
|
}
|
|
,containsRect: function(rect) {
|
|
if(rect.width <= 0 || rect.height <= 0) {
|
|
if(rect.x > this.x && rect.y > this.y && rect.get_right() < this.get_right()) {
|
|
return rect.get_bottom() < this.get_bottom();
|
|
} else {
|
|
return false;
|
|
}
|
|
} else if(rect.x >= this.x && rect.y >= this.y && rect.get_right() <= this.get_right()) {
|
|
return rect.get_bottom() <= this.get_bottom();
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,containsVector: function(vector) {
|
|
return this.contains(vector.x,vector.y);
|
|
}
|
|
,copyFrom: function(sourceRect) {
|
|
this.x = sourceRect.x;
|
|
this.y = sourceRect.y;
|
|
this.width = sourceRect.width;
|
|
this.height = sourceRect.height;
|
|
}
|
|
,equals: function(toCompare) {
|
|
if(toCompare != null && this.x == toCompare.x && this.y == toCompare.y && this.width == toCompare.width) {
|
|
return this.height == toCompare.height;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,inflate: function(dx,dy) {
|
|
this.x -= dx;
|
|
this.width += dx * 2;
|
|
this.y -= dy;
|
|
this.height += dy * 2;
|
|
}
|
|
,inflateVector: function(vector) {
|
|
this.inflate(vector.x,vector.y);
|
|
}
|
|
,intersection: function(toIntersect,result) {
|
|
if(result == null) {
|
|
result = new lime_math_Rectangle();
|
|
}
|
|
var x0 = this.x < toIntersect.x ? toIntersect.x : this.x;
|
|
var x1 = this.get_right() > toIntersect.get_right() ? toIntersect.get_right() : this.get_right();
|
|
if(x1 <= x0) {
|
|
result.setEmpty();
|
|
return result;
|
|
}
|
|
var y0 = this.y < toIntersect.y ? toIntersect.y : this.y;
|
|
var y1 = this.get_bottom() > toIntersect.get_bottom() ? toIntersect.get_bottom() : this.get_bottom();
|
|
if(y1 <= y0) {
|
|
result.setEmpty();
|
|
return result;
|
|
}
|
|
result.x = x0;
|
|
result.y = y0;
|
|
result.width = x1 - x0;
|
|
result.height = y1 - y0;
|
|
return result;
|
|
}
|
|
,intersects: function(toIntersect) {
|
|
var x0 = this.x < toIntersect.x ? toIntersect.x : this.x;
|
|
var x1 = this.get_right() > toIntersect.get_right() ? toIntersect.get_right() : this.get_right();
|
|
if(x1 <= x0) {
|
|
return false;
|
|
}
|
|
var y0 = this.y < toIntersect.y ? toIntersect.y : this.y;
|
|
var y1 = this.get_bottom() > toIntersect.get_bottom() ? toIntersect.get_bottom() : this.get_bottom();
|
|
return y1 > y0;
|
|
}
|
|
,isEmpty: function() {
|
|
if(!(this.width <= 0)) {
|
|
return this.height <= 0;
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
,offset: function(dx,dy) {
|
|
this.x += dx;
|
|
this.y += dy;
|
|
}
|
|
,offsetVector: function(vector) {
|
|
this.x += vector.x;
|
|
this.y += vector.y;
|
|
}
|
|
,setEmpty: function() {
|
|
this.x = this.y = this.width = this.height = 0;
|
|
}
|
|
,setTo: function(xa,ya,widtha,heighta) {
|
|
this.x = xa;
|
|
this.y = ya;
|
|
this.width = widtha;
|
|
this.height = heighta;
|
|
}
|
|
,union: function(toUnion,result) {
|
|
if(result == null) {
|
|
result = new lime_math_Rectangle();
|
|
}
|
|
if(this.width == 0 || this.height == 0) {
|
|
result.copyFrom(toUnion);
|
|
} else if(toUnion.width == 0 || toUnion.height == 0) {
|
|
result.copyFrom(this);
|
|
} else {
|
|
var x0 = this.x > toUnion.x ? toUnion.x : this.x;
|
|
var x1 = this.get_right() < toUnion.get_right() ? toUnion.get_right() : this.get_right();
|
|
var y0 = this.y > toUnion.y ? toUnion.y : this.y;
|
|
var y1 = this.get_bottom() < toUnion.get_bottom() ? toUnion.get_bottom() : this.get_bottom();
|
|
result.setTo(x0,y0,x1 - x0,y1 - y0);
|
|
}
|
|
return result;
|
|
}
|
|
,__toFlashRectangle: function() {
|
|
return null;
|
|
}
|
|
,get_bottom: function() {
|
|
return this.y + this.height;
|
|
}
|
|
,set_bottom: function(b) {
|
|
this.height = b - this.y;
|
|
return b;
|
|
}
|
|
,get_bottomRight: function() {
|
|
return new lime_math_Vector2(this.x + this.width,this.y + this.height);
|
|
}
|
|
,set_bottomRight: function(p) {
|
|
this.width = p.x - this.x;
|
|
this.height = p.y - this.y;
|
|
return p.clone();
|
|
}
|
|
,get_left: function() {
|
|
return this.x;
|
|
}
|
|
,set_left: function(l) {
|
|
this.width -= l - this.x;
|
|
this.x = l;
|
|
return l;
|
|
}
|
|
,get_right: function() {
|
|
return this.x + this.width;
|
|
}
|
|
,set_right: function(r) {
|
|
this.width = r - this.x;
|
|
return r;
|
|
}
|
|
,get_size: function() {
|
|
return new lime_math_Vector2(this.width,this.height);
|
|
}
|
|
,set_size: function(p) {
|
|
this.width = p.x;
|
|
this.height = p.y;
|
|
return p.clone();
|
|
}
|
|
,get_top: function() {
|
|
return this.y;
|
|
}
|
|
,set_top: function(t) {
|
|
this.height -= t - this.y;
|
|
this.y = t;
|
|
return t;
|
|
}
|
|
,get_topLeft: function() {
|
|
return new lime_math_Vector2(this.x,this.y);
|
|
}
|
|
,set_topLeft: function(p) {
|
|
this.x = p.x;
|
|
this.y = p.y;
|
|
return p.clone();
|
|
}
|
|
,__class__: lime_math_Rectangle
|
|
,__properties__: {set_topLeft:"set_topLeft",get_topLeft:"get_topLeft",set_top:"set_top",get_top:"get_top",set_size:"set_size",get_size:"get_size",set_right:"set_right",get_right:"get_right",set_left:"set_left",get_left:"get_left",set_bottomRight:"set_bottomRight",get_bottomRight:"get_bottomRight",set_bottom:"set_bottom",get_bottom:"get_bottom"}
|
|
};
|
|
var lime_math_Vector4 = function(x,y,z,w) {
|
|
if(w == null) {
|
|
w = 0.;
|
|
}
|
|
if(z == null) {
|
|
z = 0.;
|
|
}
|
|
if(y == null) {
|
|
y = 0.;
|
|
}
|
|
if(x == null) {
|
|
x = 0.;
|
|
}
|
|
this.w = w;
|
|
this.x = x;
|
|
this.y = y;
|
|
this.z = z;
|
|
};
|
|
$hxClasses["lime.math.Vector4"] = lime_math_Vector4;
|
|
lime_math_Vector4.__name__ = "lime.math.Vector4";
|
|
lime_math_Vector4.__properties__ = {get_Z_AXIS:"get_Z_AXIS",get_Y_AXIS:"get_Y_AXIS",get_X_AXIS:"get_X_AXIS"};
|
|
lime_math_Vector4.angleBetween = function(a,b) {
|
|
var a0 = new lime_math_Vector4(a.x,a.y,a.z,a.w);
|
|
var l = Math.sqrt(a0.x * a0.x + a0.y * a0.y + a0.z * a0.z);
|
|
if(l != 0) {
|
|
a0.x /= l;
|
|
a0.y /= l;
|
|
a0.z /= l;
|
|
}
|
|
var b0 = new lime_math_Vector4(b.x,b.y,b.z,b.w);
|
|
var l = Math.sqrt(b0.x * b0.x + b0.y * b0.y + b0.z * b0.z);
|
|
if(l != 0) {
|
|
b0.x /= l;
|
|
b0.y /= l;
|
|
b0.z /= l;
|
|
}
|
|
return Math.acos(a0.x * b0.x + a0.y * b0.y + a0.z * b0.z);
|
|
};
|
|
lime_math_Vector4.distance = function(pt1,pt2) {
|
|
var x = pt2.x - pt1.x;
|
|
var y = pt2.y - pt1.y;
|
|
var z = pt2.z - pt1.z;
|
|
return Math.sqrt(x * x + y * y + z * z);
|
|
};
|
|
lime_math_Vector4.distanceSquared = function(pt1,pt2) {
|
|
var x = pt2.x - pt1.x;
|
|
var y = pt2.y - pt1.y;
|
|
var z = pt2.z - pt1.z;
|
|
return x * x + y * y + z * z;
|
|
};
|
|
lime_math_Vector4.get_X_AXIS = function() {
|
|
return new lime_math_Vector4(1,0,0);
|
|
};
|
|
lime_math_Vector4.get_Y_AXIS = function() {
|
|
return new lime_math_Vector4(0,1,0);
|
|
};
|
|
lime_math_Vector4.get_Z_AXIS = function() {
|
|
return new lime_math_Vector4(0,0,1);
|
|
};
|
|
lime_math_Vector4.prototype = {
|
|
w: null
|
|
,x: null
|
|
,y: null
|
|
,z: null
|
|
,add: function(a,result) {
|
|
if(result == null) {
|
|
result = new lime_math_Vector4();
|
|
}
|
|
result.x = this.x + a.x;
|
|
result.y = this.y + a.y;
|
|
result.z = this.z + a.z;
|
|
return result;
|
|
}
|
|
,clone: function() {
|
|
return new lime_math_Vector4(this.x,this.y,this.z,this.w);
|
|
}
|
|
,copyFrom: function(sourceVector4) {
|
|
this.x = sourceVector4.x;
|
|
this.y = sourceVector4.y;
|
|
this.z = sourceVector4.z;
|
|
}
|
|
,crossProduct: function(a,result) {
|
|
if(result == null) {
|
|
result = new lime_math_Vector4();
|
|
}
|
|
var ya = this.z * a.x - this.x * a.z;
|
|
var za = this.x * a.y - this.y * a.x;
|
|
result.x = this.y * a.z - this.z * a.y;
|
|
result.y = ya;
|
|
result.z = za;
|
|
result.w = 1;
|
|
return result;
|
|
}
|
|
,decrementBy: function(a) {
|
|
this.x -= a.x;
|
|
this.y -= a.y;
|
|
this.z -= a.z;
|
|
}
|
|
,dotProduct: function(a) {
|
|
return this.x * a.x + this.y * a.y + this.z * a.z;
|
|
}
|
|
,equals: function(toCompare,allFour) {
|
|
if(allFour == null) {
|
|
allFour = false;
|
|
}
|
|
if(this.x == toCompare.x && this.y == toCompare.y && this.z == toCompare.z) {
|
|
if(!(!allFour)) {
|
|
return this.w == toCompare.w;
|
|
} else {
|
|
return true;
|
|
}
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,incrementBy: function(a) {
|
|
this.x += a.x;
|
|
this.y += a.y;
|
|
this.z += a.z;
|
|
}
|
|
,nearEquals: function(toCompare,tolerance,allFour) {
|
|
if(allFour == null) {
|
|
allFour = false;
|
|
}
|
|
if(Math.abs(this.x - toCompare.x) < tolerance && Math.abs(this.y - toCompare.y) < tolerance && Math.abs(this.z - toCompare.z) < tolerance) {
|
|
if(!(!allFour)) {
|
|
return Math.abs(this.w - toCompare.w) < tolerance;
|
|
} else {
|
|
return true;
|
|
}
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,negate: function() {
|
|
this.x *= -1;
|
|
this.y *= -1;
|
|
this.z *= -1;
|
|
}
|
|
,normalize: function() {
|
|
var l = Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z);
|
|
if(l != 0) {
|
|
this.x /= l;
|
|
this.y /= l;
|
|
this.z /= l;
|
|
}
|
|
return l;
|
|
}
|
|
,project: function() {
|
|
this.x /= this.w;
|
|
this.y /= this.w;
|
|
this.z /= this.w;
|
|
}
|
|
,scaleBy: function(s) {
|
|
this.x *= s;
|
|
this.y *= s;
|
|
this.z *= s;
|
|
}
|
|
,setTo: function(xa,ya,za) {
|
|
this.x = xa;
|
|
this.y = ya;
|
|
this.z = za;
|
|
}
|
|
,subtract: function(a,result) {
|
|
if(result == null) {
|
|
result = new lime_math_Vector4();
|
|
}
|
|
result.x = this.x - a.x;
|
|
result.y = this.y - a.y;
|
|
result.z = this.z - a.z;
|
|
return result;
|
|
}
|
|
,toString: function() {
|
|
return "Vector4(" + this.x + ", " + this.y + ", " + this.z + ")";
|
|
}
|
|
,get_length: function() {
|
|
return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z);
|
|
}
|
|
,get_lengthSquared: function() {
|
|
return this.x * this.x + this.y * this.y + this.z * this.z;
|
|
}
|
|
,__class__: lime_math_Vector4
|
|
,__properties__: {get_lengthSquared:"get_lengthSquared",get_length:"get_length"}
|
|
};
|
|
var lime_media_AudioBuffer = function() {
|
|
};
|
|
$hxClasses["lime.media.AudioBuffer"] = lime_media_AudioBuffer;
|
|
lime_media_AudioBuffer.__name__ = "lime.media.AudioBuffer";
|
|
lime_media_AudioBuffer.fromBase64 = function(base64String) {
|
|
if(base64String == null) {
|
|
return null;
|
|
}
|
|
if(base64String.indexOf(",") == -1) {
|
|
base64String = "data:" + lime_media_AudioBuffer.__getCodec(lime__$internal_format_Base64.decode(base64String)) + ";base64," + base64String;
|
|
}
|
|
var audioBuffer = new lime_media_AudioBuffer();
|
|
audioBuffer.set_src(new Howl({ src : [base64String], html5 : true, preload : false}));
|
|
return audioBuffer;
|
|
};
|
|
lime_media_AudioBuffer.fromBytes = function(bytes) {
|
|
if(bytes == null) {
|
|
return null;
|
|
}
|
|
var audioBuffer = new lime_media_AudioBuffer();
|
|
audioBuffer.set_src(new Howl({ src : ["data:" + lime_media_AudioBuffer.__getCodec(bytes) + ";base64," + lime__$internal_format_Base64.encode(bytes)], html5 : true, preload : false}));
|
|
return audioBuffer;
|
|
};
|
|
lime_media_AudioBuffer.fromFile = function(path) {
|
|
if(path == null) {
|
|
return null;
|
|
}
|
|
var audioBuffer = new lime_media_AudioBuffer();
|
|
audioBuffer.__srcHowl = new Howl({ src : [path], preload : false});
|
|
return audioBuffer;
|
|
};
|
|
lime_media_AudioBuffer.fromFiles = function(paths) {
|
|
var audioBuffer = new lime_media_AudioBuffer();
|
|
audioBuffer.__srcHowl = new Howl({ src : paths, preload : false});
|
|
return audioBuffer;
|
|
};
|
|
lime_media_AudioBuffer.fromVorbisFile = function(vorbisFile) {
|
|
return null;
|
|
};
|
|
lime_media_AudioBuffer.loadFromFile = function(path) {
|
|
var promise = new lime_app_Promise();
|
|
var audioBuffer = lime_media_AudioBuffer.fromFile(path);
|
|
if(audioBuffer != null) {
|
|
if(audioBuffer != null) {
|
|
audioBuffer.__srcHowl.on("load",function() {
|
|
promise.complete(audioBuffer);
|
|
});
|
|
audioBuffer.__srcHowl.on("loaderror",function(id,msg) {
|
|
promise.error(msg);
|
|
});
|
|
audioBuffer.__srcHowl.load();
|
|
}
|
|
} else {
|
|
promise.error(null);
|
|
}
|
|
return promise.future;
|
|
};
|
|
lime_media_AudioBuffer.loadFromFiles = function(paths) {
|
|
var promise = new lime_app_Promise();
|
|
var audioBuffer = lime_media_AudioBuffer.fromFiles(paths);
|
|
if(audioBuffer != null) {
|
|
audioBuffer.__srcHowl.on("load",function() {
|
|
promise.complete(audioBuffer);
|
|
});
|
|
audioBuffer.__srcHowl.on("loaderror",function() {
|
|
promise.error(null);
|
|
});
|
|
audioBuffer.__srcHowl.load();
|
|
} else {
|
|
promise.error(null);
|
|
}
|
|
return promise.future;
|
|
};
|
|
lime_media_AudioBuffer.__getCodec = function(bytes) {
|
|
var signature = bytes.getString(0,4);
|
|
switch(signature) {
|
|
case "OggS":
|
|
return "audio/ogg";
|
|
case "RIFF":
|
|
if(bytes.getString(8,4) == "WAVE") {
|
|
return "audio/wav";
|
|
} else {
|
|
var _g = bytes.b[2];
|
|
var _g1 = bytes.b[1];
|
|
switch(bytes.b[0]) {
|
|
case 73:
|
|
if(_g1 == 68) {
|
|
if(_g == 51) {
|
|
return "audio/mp3";
|
|
}
|
|
}
|
|
break;
|
|
case 255:
|
|
switch(_g1) {
|
|
case 243:case 250:case 251:
|
|
return "audio/mp3";
|
|
default:
|
|
}
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
break;
|
|
case "fLaC":
|
|
return "audio/flac";
|
|
default:
|
|
var _g = bytes.b[2];
|
|
var _g1 = bytes.b[1];
|
|
switch(bytes.b[0]) {
|
|
case 73:
|
|
if(_g1 == 68) {
|
|
if(_g == 51) {
|
|
return "audio/mp3";
|
|
}
|
|
}
|
|
break;
|
|
case 255:
|
|
switch(_g1) {
|
|
case 243:case 250:case 251:
|
|
return "audio/mp3";
|
|
default:
|
|
}
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
lime_utils_Log.error("Unsupported sound format",{ fileName : "lime/media/AudioBuffer.hx", lineNumber : 362, className : "lime.media.AudioBuffer", methodName : "__getCodec"});
|
|
return null;
|
|
};
|
|
lime_media_AudioBuffer.prototype = {
|
|
bitsPerSample: null
|
|
,channels: null
|
|
,data: null
|
|
,sampleRate: null
|
|
,__srcAudio: null
|
|
,__srcBuffer: null
|
|
,__srcCustom: null
|
|
,__srcHowl: null
|
|
,__srcSound: null
|
|
,__srcVorbisFile: null
|
|
,dispose: function() {
|
|
this.__srcHowl.unload();
|
|
}
|
|
,get_src: function() {
|
|
return this.__srcHowl;
|
|
}
|
|
,set_src: function(value) {
|
|
return this.__srcHowl = value;
|
|
}
|
|
,__class__: lime_media_AudioBuffer
|
|
,__properties__: {set_src:"set_src",get_src:"get_src"}
|
|
};
|
|
var lime_media_AudioContext = function(type) {
|
|
if(type != "custom") {
|
|
if(type == null || type == "web") {
|
|
try {
|
|
window.AudioContext = window.AudioContext || window.webkitAudioContext;
|
|
this.web = new window.AudioContext ();
|
|
this.type = "web";
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
}
|
|
}
|
|
if(this.web == null && type != "web") {
|
|
this.html5 = new lime_media_HTML5AudioContext();
|
|
this.type = "html5";
|
|
}
|
|
} else {
|
|
this.type = "custom";
|
|
}
|
|
};
|
|
$hxClasses["lime.media.AudioContext"] = lime_media_AudioContext;
|
|
lime_media_AudioContext.__name__ = "lime.media.AudioContext";
|
|
lime_media_AudioContext.prototype = {
|
|
custom: null
|
|
,flash: null
|
|
,html5: null
|
|
,openal: null
|
|
,type: null
|
|
,web: null
|
|
,__class__: lime_media_AudioContext
|
|
};
|
|
var lime_media_AudioManager = function() { };
|
|
$hxClasses["lime.media.AudioManager"] = lime_media_AudioManager;
|
|
lime_media_AudioManager.__name__ = "lime.media.AudioManager";
|
|
lime_media_AudioManager.context = null;
|
|
lime_media_AudioManager.init = function(context) {
|
|
if(lime_media_AudioManager.context == null) {
|
|
if(context == null) {
|
|
lime_media_AudioManager.context = new lime_media_AudioContext();
|
|
context = lime_media_AudioManager.context;
|
|
if(context.type == "openal") {
|
|
var alc = context.openal;
|
|
var device = alc.openDevice();
|
|
var ctx = alc.createContext(device);
|
|
alc.makeContextCurrent(ctx);
|
|
alc.processContext(ctx);
|
|
}
|
|
}
|
|
lime_media_AudioManager.context = context;
|
|
}
|
|
};
|
|
lime_media_AudioManager.resume = function() {
|
|
if(lime_media_AudioManager.context != null && lime_media_AudioManager.context.type == "openal") {
|
|
var alc = lime_media_AudioManager.context.openal;
|
|
var currentContext = alc.getCurrentContext();
|
|
if(currentContext != null) {
|
|
var device = alc.getContextsDevice(currentContext);
|
|
alc.resumeDevice(device);
|
|
alc.processContext(currentContext);
|
|
}
|
|
}
|
|
};
|
|
lime_media_AudioManager.shutdown = function() {
|
|
if(lime_media_AudioManager.context != null && lime_media_AudioManager.context.type == "openal") {
|
|
var alc = lime_media_AudioManager.context.openal;
|
|
var currentContext = alc.getCurrentContext();
|
|
if(currentContext != null) {
|
|
var device = alc.getContextsDevice(currentContext);
|
|
alc.makeContextCurrent(null);
|
|
alc.destroyContext(currentContext);
|
|
if(device != null) {
|
|
alc.closeDevice(device);
|
|
}
|
|
}
|
|
}
|
|
lime_media_AudioManager.context = null;
|
|
};
|
|
lime_media_AudioManager.suspend = function() {
|
|
if(lime_media_AudioManager.context != null && lime_media_AudioManager.context.type == "openal") {
|
|
var alc = lime_media_AudioManager.context.openal;
|
|
var currentContext = alc.getCurrentContext();
|
|
if(currentContext != null) {
|
|
alc.suspendContext(currentContext);
|
|
var device = alc.getContextsDevice(currentContext);
|
|
if(device != null) {
|
|
alc.pauseDevice(device);
|
|
}
|
|
}
|
|
}
|
|
};
|
|
var lime_media_AudioSource = function(buffer,offset,length,loops) {
|
|
if(loops == null) {
|
|
loops = 0;
|
|
}
|
|
if(offset == null) {
|
|
offset = 0;
|
|
}
|
|
this.onComplete = new lime_app__$Event_$Void_$Void();
|
|
this.buffer = buffer;
|
|
this.offset = offset;
|
|
this.__backend = new lime__$internal_backend_html5_HTML5AudioSource(this);
|
|
if(length != null && length != 0) {
|
|
this.set_length(length);
|
|
}
|
|
this.set_loops(loops);
|
|
if(buffer != null) {
|
|
this.init();
|
|
}
|
|
};
|
|
$hxClasses["lime.media.AudioSource"] = lime_media_AudioSource;
|
|
lime_media_AudioSource.__name__ = "lime.media.AudioSource";
|
|
lime_media_AudioSource.prototype = {
|
|
onComplete: null
|
|
,buffer: null
|
|
,offset: null
|
|
,__backend: null
|
|
,dispose: function() {
|
|
this.__backend.dispose();
|
|
}
|
|
,init: function() {
|
|
this.__backend.init();
|
|
}
|
|
,play: function() {
|
|
this.__backend.play();
|
|
}
|
|
,pause: function() {
|
|
this.__backend.pause();
|
|
}
|
|
,stop: function() {
|
|
this.__backend.stop();
|
|
}
|
|
,get_currentTime: function() {
|
|
return this.__backend.getCurrentTime();
|
|
}
|
|
,set_currentTime: function(value) {
|
|
return this.__backend.setCurrentTime(value);
|
|
}
|
|
,get_gain: function() {
|
|
return this.__backend.getGain();
|
|
}
|
|
,set_gain: function(value) {
|
|
return this.__backend.setGain(value);
|
|
}
|
|
,get_length: function() {
|
|
return this.__backend.getLength();
|
|
}
|
|
,set_length: function(value) {
|
|
return this.__backend.setLength(value);
|
|
}
|
|
,get_loops: function() {
|
|
return this.__backend.getLoops();
|
|
}
|
|
,set_loops: function(value) {
|
|
return this.__backend.setLoops(value);
|
|
}
|
|
,get_position: function() {
|
|
return this.__backend.getPosition();
|
|
}
|
|
,set_position: function(value) {
|
|
return this.__backend.setPosition(value);
|
|
}
|
|
,__class__: lime_media_AudioSource
|
|
,__properties__: {set_position:"set_position",get_position:"get_position",set_loops:"set_loops",get_loops:"get_loops",set_length:"set_length",get_length:"get_length",set_gain:"set_gain",get_gain:"get_gain",set_currentTime:"set_currentTime",get_currentTime:"get_currentTime"}
|
|
};
|
|
var lime_media_FlashAudioContext = function() {
|
|
};
|
|
$hxClasses["lime.media.FlashAudioContext"] = lime_media_FlashAudioContext;
|
|
lime_media_FlashAudioContext.__name__ = "lime.media.FlashAudioContext";
|
|
lime_media_FlashAudioContext.prototype = {
|
|
createBuffer: function(stream,context) {
|
|
return null;
|
|
}
|
|
,getBytesLoaded: function(buffer) {
|
|
return 0;
|
|
}
|
|
,getBytesTotal: function(buffer) {
|
|
return 0;
|
|
}
|
|
,getID3: function(buffer) {
|
|
return null;
|
|
}
|
|
,getIsBuffering: function(buffer) {
|
|
return false;
|
|
}
|
|
,getIsURLInaccessible: function(buffer) {
|
|
return false;
|
|
}
|
|
,getLength: function(buffer) {
|
|
return 0;
|
|
}
|
|
,getURL: function(buffer) {
|
|
return null;
|
|
}
|
|
,close: function(buffer) {
|
|
}
|
|
,extract: function(buffer,target,length,startPosition) {
|
|
if(startPosition == null) {
|
|
startPosition = -1;
|
|
}
|
|
return 0;
|
|
}
|
|
,load: function(buffer,stream,context) {
|
|
}
|
|
,loadCompressedDataFromByteArray: function(buffer,bytes,bytesLength) {
|
|
}
|
|
,loadPCMFromByteArray: function(buffer,bytes,samples,format,stereo,sampleRate) {
|
|
if(sampleRate == null) {
|
|
sampleRate = 44100;
|
|
}
|
|
if(stereo == null) {
|
|
stereo = true;
|
|
}
|
|
}
|
|
,play: function(buffer,startTime,loops,sndTransform) {
|
|
if(loops == null) {
|
|
loops = 0;
|
|
}
|
|
if(startTime == null) {
|
|
startTime = 0;
|
|
}
|
|
return null;
|
|
}
|
|
,__class__: lime_media_FlashAudioContext
|
|
};
|
|
var lime_media_HTML5AudioContext = function() {
|
|
this.NETWORK_NO_SOURCE = 3;
|
|
this.NETWORK_LOADING = 2;
|
|
this.NETWORK_IDLE = 1;
|
|
this.NETWORK_EMPTY = 0;
|
|
this.HAVE_NOTHING = 0;
|
|
this.HAVE_METADATA = 1;
|
|
this.HAVE_FUTURE_DATA = 3;
|
|
this.HAVE_ENOUGH_DATA = 4;
|
|
this.HAVE_CURRENT_DATA = 2;
|
|
};
|
|
$hxClasses["lime.media.HTML5AudioContext"] = lime_media_HTML5AudioContext;
|
|
lime_media_HTML5AudioContext.__name__ = "lime.media.HTML5AudioContext";
|
|
lime_media_HTML5AudioContext.prototype = {
|
|
HAVE_CURRENT_DATA: null
|
|
,HAVE_ENOUGH_DATA: null
|
|
,HAVE_FUTURE_DATA: null
|
|
,HAVE_METADATA: null
|
|
,HAVE_NOTHING: null
|
|
,NETWORK_EMPTY: null
|
|
,NETWORK_IDLE: null
|
|
,NETWORK_LOADING: null
|
|
,NETWORK_NO_SOURCE: null
|
|
,canPlayType: function(buffer,type) {
|
|
if(buffer.__srcAudio != null) {
|
|
return buffer.__srcAudio.canPlayType(type);
|
|
}
|
|
return null;
|
|
}
|
|
,createBuffer: function(urlString) {
|
|
var buffer = new lime_media_AudioBuffer();
|
|
buffer.__srcAudio = new Audio();
|
|
buffer.__srcAudio.src = urlString;
|
|
return buffer;
|
|
}
|
|
,getAutoplay: function(buffer) {
|
|
if(buffer.__srcAudio != null) {
|
|
return buffer.__srcAudio.autoplay;
|
|
}
|
|
return false;
|
|
}
|
|
,getBuffered: function(buffer) {
|
|
if(buffer.__srcAudio != null) {
|
|
return buffer.__srcAudio.buffered;
|
|
}
|
|
return null;
|
|
}
|
|
,getCurrentSrc: function(buffer) {
|
|
if(buffer.__srcAudio != null) {
|
|
return buffer.__srcAudio.currentSrc;
|
|
}
|
|
return null;
|
|
}
|
|
,getCurrentTime: function(buffer) {
|
|
if(buffer.__srcAudio != null) {
|
|
return buffer.__srcAudio.currentTime;
|
|
}
|
|
return 0;
|
|
}
|
|
,getDefaultPlaybackRate: function(buffer) {
|
|
if(buffer.__srcAudio != null) {
|
|
return buffer.__srcAudio.defaultPlaybackRate;
|
|
}
|
|
return 1;
|
|
}
|
|
,getDuration: function(buffer) {
|
|
if(buffer.__srcAudio != null) {
|
|
return buffer.__srcAudio.duration;
|
|
}
|
|
return 0;
|
|
}
|
|
,getEnded: function(buffer) {
|
|
if(buffer.__srcAudio != null) {
|
|
return buffer.__srcAudio.ended;
|
|
}
|
|
return false;
|
|
}
|
|
,getError: function(buffer) {
|
|
if(buffer.__srcAudio != null) {
|
|
return buffer.__srcAudio.error;
|
|
}
|
|
return null;
|
|
}
|
|
,getLoop: function(buffer) {
|
|
if(buffer.__srcAudio != null) {
|
|
return buffer.__srcAudio.loop;
|
|
}
|
|
return false;
|
|
}
|
|
,getMuted: function(buffer) {
|
|
if(buffer.__srcAudio != null) {
|
|
return buffer.__srcAudio.muted;
|
|
}
|
|
return false;
|
|
}
|
|
,getNetworkState: function(buffer) {
|
|
if(buffer.__srcAudio != null) {
|
|
return buffer.__srcAudio.networkState;
|
|
}
|
|
return 0;
|
|
}
|
|
,getPaused: function(buffer) {
|
|
if(buffer.__srcAudio != null) {
|
|
return buffer.__srcAudio.paused;
|
|
}
|
|
return false;
|
|
}
|
|
,getPlaybackRate: function(buffer) {
|
|
if(buffer.__srcAudio != null) {
|
|
return buffer.__srcAudio.playbackRate;
|
|
}
|
|
return 1;
|
|
}
|
|
,getPlayed: function(buffer) {
|
|
if(buffer.__srcAudio != null) {
|
|
return buffer.__srcAudio.played;
|
|
}
|
|
return null;
|
|
}
|
|
,getPreload: function(buffer) {
|
|
if(buffer.__srcAudio != null) {
|
|
return buffer.__srcAudio.preload;
|
|
}
|
|
return null;
|
|
}
|
|
,getReadyState: function(buffer) {
|
|
if(buffer.__srcAudio != null) {
|
|
return buffer.__srcAudio.readyState;
|
|
}
|
|
return 0;
|
|
}
|
|
,getSeekable: function(buffer) {
|
|
if(buffer.__srcAudio != null) {
|
|
return buffer.__srcAudio.seekable;
|
|
}
|
|
return null;
|
|
}
|
|
,getSeeking: function(buffer) {
|
|
if(buffer.__srcAudio != null) {
|
|
return buffer.__srcAudio.seeking;
|
|
}
|
|
return false;
|
|
}
|
|
,getSrc: function(buffer) {
|
|
if(buffer.__srcAudio != null) {
|
|
return buffer.__srcAudio.src;
|
|
}
|
|
return null;
|
|
}
|
|
,getStartTime: function(buffer) {
|
|
if(buffer.__srcAudio != null) {
|
|
return buffer.__srcAudio.playbackRate;
|
|
}
|
|
return 0;
|
|
}
|
|
,getVolume: function(buffer) {
|
|
if(buffer.__srcAudio != null) {
|
|
return buffer.__srcAudio.volume;
|
|
}
|
|
return 1;
|
|
}
|
|
,load: function(buffer) {
|
|
if(buffer.__srcAudio != null) {
|
|
buffer.__srcAudio.load();
|
|
}
|
|
}
|
|
,pause: function(buffer) {
|
|
if(buffer.__srcAudio != null) {
|
|
buffer.__srcAudio.pause();
|
|
}
|
|
}
|
|
,play: function(buffer) {
|
|
if(buffer.__srcAudio != null) {
|
|
buffer.__srcAudio.play();
|
|
}
|
|
}
|
|
,setAutoplay: function(buffer,value) {
|
|
if(buffer.__srcAudio != null) {
|
|
buffer.__srcAudio.autoplay = value;
|
|
}
|
|
}
|
|
,setCurrentTime: function(buffer,value) {
|
|
if(buffer.__srcAudio != null) {
|
|
buffer.__srcAudio.currentTime = value;
|
|
}
|
|
}
|
|
,setDefaultPlaybackRate: function(buffer,value) {
|
|
if(buffer.__srcAudio != null) {
|
|
buffer.__srcAudio.defaultPlaybackRate = value;
|
|
}
|
|
}
|
|
,setLoop: function(buffer,value) {
|
|
if(buffer.__srcAudio != null) {
|
|
buffer.__srcAudio.loop = value;
|
|
}
|
|
}
|
|
,setMuted: function(buffer,value) {
|
|
if(buffer.__srcAudio != null) {
|
|
buffer.__srcAudio.muted = value;
|
|
}
|
|
}
|
|
,setPlaybackRate: function(buffer,value) {
|
|
if(buffer.__srcAudio != null) {
|
|
buffer.__srcAudio.playbackRate = value;
|
|
}
|
|
}
|
|
,setPreload: function(buffer,value) {
|
|
if(buffer.__srcAudio != null) {
|
|
buffer.__srcAudio.preload = value;
|
|
}
|
|
}
|
|
,setSrc: function(buffer,value) {
|
|
if(buffer.__srcAudio != null) {
|
|
buffer.__srcAudio.src = value;
|
|
}
|
|
}
|
|
,setVolume: function(buffer,value) {
|
|
if(buffer.__srcAudio != null) {
|
|
buffer.__srcAudio.volume = value;
|
|
}
|
|
}
|
|
,__class__: lime_media_HTML5AudioContext
|
|
};
|
|
var lime_media_OpenALAudioContext = function() {
|
|
this.ALL_DEVICES_SPECIFIER = 4115;
|
|
this.DEFAULT_ALL_DEVICES_SPECIFIER = 4114;
|
|
this.ENUMERATE_ALL_EXT = 1;
|
|
this.DEVICE_SPECIFIER = 4101;
|
|
this.DEFAULT_DEVICE_SPECIFIER = 4100;
|
|
this.ALL_ATTRIBUTES = 4099;
|
|
this.ATTRIBUTES_SIZE = 4098;
|
|
this.INVALID_CONTEXT = 40962;
|
|
this.INVALID_DEVICE = 40961;
|
|
this.STEREO_SOURCES = 4113;
|
|
this.MONO_SOURCES = 4112;
|
|
this.SYNC = 4105;
|
|
this.REFRESH = 4104;
|
|
this.EXPONENT_DISTANCE_CLAMPED = 53254;
|
|
this.EXPONENT_DISTANCE = 53253;
|
|
this.LINEAR_DISTANCE_CLAMPED = 53252;
|
|
this.LINEAR_DISTANCE = 53251;
|
|
this.INVERSE_DISTANCE_CLAMPED = 53250;
|
|
this.INVERSE_DISTANCE = 53249;
|
|
this.DISTANCE_MODEL = 53248;
|
|
this.DOPPLER_VELOCITY = 49153;
|
|
this.SPEED_OF_SOUND = 49155;
|
|
this.DOPPLER_FACTOR = 49152;
|
|
this.EXTENSIONS = 45060;
|
|
this.RENDERER = 45059;
|
|
this.VERSION = 45058;
|
|
this.VENDOR = 45057;
|
|
this.OUT_OF_MEMORY = 40965;
|
|
this.INVALID_OPERATION = 40964;
|
|
this.INVALID_VALUE = 40963;
|
|
this.INVALID_ENUM = 40962;
|
|
this.INVALID_NAME = 40961;
|
|
this.NO_ERROR = 0;
|
|
this.SIZE = 8196;
|
|
this.CHANNELS = 8195;
|
|
this.BITS = 8194;
|
|
this.FREQUENCY = 8193;
|
|
this.FORMAT_STEREO16 = 4355;
|
|
this.FORMAT_STEREO8 = 4354;
|
|
this.FORMAT_MONO16 = 4353;
|
|
this.FORMAT_MONO8 = 4352;
|
|
this.UNDETERMINED = 4144;
|
|
this.STREAMING = 4137;
|
|
this.STATIC = 4136;
|
|
this.SOURCE_TYPE = 4135;
|
|
this.BYTE_OFFSET = 4134;
|
|
this.SAMPLE_OFFSET = 4133;
|
|
this.SEC_OFFSET = 4132;
|
|
this.MAX_DISTANCE = 4131;
|
|
this.CONE_OUTER_GAIN = 4130;
|
|
this.ROLLOFF_FACTOR = 4129;
|
|
this.REFERENCE_DISTANCE = 4128;
|
|
this.BUFFERS_PROCESSED = 4118;
|
|
this.BUFFERS_QUEUED = 4117;
|
|
this.STOPPED = 4116;
|
|
this.PAUSED = 4115;
|
|
this.PLAYING = 4114;
|
|
this.INITIAL = 4113;
|
|
this.SOURCE_STATE = 4112;
|
|
this.ORIENTATION = 4111;
|
|
this.MAX_GAIN = 4110;
|
|
this.MIN_GAIN = 4109;
|
|
this.GAIN = 4106;
|
|
this.BUFFER = 4105;
|
|
this.LOOPING = 4103;
|
|
this.VELOCITY = 4102;
|
|
this.DIRECTION = 4101;
|
|
this.POSITION = 4100;
|
|
this.PITCH = 4099;
|
|
this.CONE_OUTER_ANGLE = 4098;
|
|
this.CONE_INNER_ANGLE = 4097;
|
|
this.SOURCE_RELATIVE = 514;
|
|
this.TRUE = 1;
|
|
this.FALSE = 0;
|
|
this.NONE = 0;
|
|
};
|
|
$hxClasses["lime.media.OpenALAudioContext"] = lime_media_OpenALAudioContext;
|
|
lime_media_OpenALAudioContext.__name__ = "lime.media.OpenALAudioContext";
|
|
lime_media_OpenALAudioContext.prototype = {
|
|
NONE: null
|
|
,FALSE: null
|
|
,TRUE: null
|
|
,SOURCE_RELATIVE: null
|
|
,CONE_INNER_ANGLE: null
|
|
,CONE_OUTER_ANGLE: null
|
|
,PITCH: null
|
|
,POSITION: null
|
|
,DIRECTION: null
|
|
,VELOCITY: null
|
|
,LOOPING: null
|
|
,BUFFER: null
|
|
,GAIN: null
|
|
,MIN_GAIN: null
|
|
,MAX_GAIN: null
|
|
,ORIENTATION: null
|
|
,SOURCE_STATE: null
|
|
,INITIAL: null
|
|
,PLAYING: null
|
|
,PAUSED: null
|
|
,STOPPED: null
|
|
,BUFFERS_QUEUED: null
|
|
,BUFFERS_PROCESSED: null
|
|
,REFERENCE_DISTANCE: null
|
|
,ROLLOFF_FACTOR: null
|
|
,CONE_OUTER_GAIN: null
|
|
,MAX_DISTANCE: null
|
|
,SEC_OFFSET: null
|
|
,SAMPLE_OFFSET: null
|
|
,BYTE_OFFSET: null
|
|
,SOURCE_TYPE: null
|
|
,STATIC: null
|
|
,STREAMING: null
|
|
,UNDETERMINED: null
|
|
,FORMAT_MONO8: null
|
|
,FORMAT_MONO16: null
|
|
,FORMAT_STEREO8: null
|
|
,FORMAT_STEREO16: null
|
|
,FREQUENCY: null
|
|
,BITS: null
|
|
,CHANNELS: null
|
|
,SIZE: null
|
|
,NO_ERROR: null
|
|
,INVALID_NAME: null
|
|
,INVALID_ENUM: null
|
|
,INVALID_VALUE: null
|
|
,INVALID_OPERATION: null
|
|
,OUT_OF_MEMORY: null
|
|
,VENDOR: null
|
|
,VERSION: null
|
|
,RENDERER: null
|
|
,EXTENSIONS: null
|
|
,DOPPLER_FACTOR: null
|
|
,SPEED_OF_SOUND: null
|
|
,DOPPLER_VELOCITY: null
|
|
,DISTANCE_MODEL: null
|
|
,INVERSE_DISTANCE: null
|
|
,INVERSE_DISTANCE_CLAMPED: null
|
|
,LINEAR_DISTANCE: null
|
|
,LINEAR_DISTANCE_CLAMPED: null
|
|
,EXPONENT_DISTANCE: null
|
|
,EXPONENT_DISTANCE_CLAMPED: null
|
|
,REFRESH: null
|
|
,SYNC: null
|
|
,MONO_SOURCES: null
|
|
,STEREO_SOURCES: null
|
|
,INVALID_DEVICE: null
|
|
,INVALID_CONTEXT: null
|
|
,ATTRIBUTES_SIZE: null
|
|
,ALL_ATTRIBUTES: null
|
|
,DEFAULT_DEVICE_SPECIFIER: null
|
|
,DEVICE_SPECIFIER: null
|
|
,ENUMERATE_ALL_EXT: null
|
|
,DEFAULT_ALL_DEVICES_SPECIFIER: null
|
|
,ALL_DEVICES_SPECIFIER: null
|
|
,bufferData: function(buffer,format,data,size,freq) {
|
|
lime_media_openal_AL.bufferData(buffer,format,data,size,freq);
|
|
}
|
|
,buffer3f: function(buffer,param,value1,value2,value3) {
|
|
lime_media_openal_AL.buffer3f(buffer,param,value1,value2,value3);
|
|
}
|
|
,buffer3i: function(buffer,param,value1,value2,value3) {
|
|
lime_media_openal_AL.buffer3i(buffer,param,value1,value2,value3);
|
|
}
|
|
,bufferf: function(buffer,param,value) {
|
|
lime_media_openal_AL.bufferf(buffer,param,value);
|
|
}
|
|
,bufferfv: function(buffer,param,values) {
|
|
lime_media_openal_AL.bufferfv(buffer,param,values);
|
|
}
|
|
,bufferi: function(buffer,param,value) {
|
|
lime_media_openal_AL.bufferi(buffer,param,value);
|
|
}
|
|
,bufferiv: function(buffer,param,values) {
|
|
lime_media_openal_AL.bufferiv(buffer,param,values);
|
|
}
|
|
,closeDevice: function(device) {
|
|
return lime_media_openal_ALC.closeDevice(device);
|
|
}
|
|
,createContext: function(device,attrlist) {
|
|
return lime_media_openal_ALC.createContext(device,attrlist);
|
|
}
|
|
,createBuffer: function() {
|
|
return lime_media_openal_AL.createBuffer();
|
|
}
|
|
,createSource: function() {
|
|
return lime_media_openal_AL.createSource();
|
|
}
|
|
,deleteBuffer: function(buffer) {
|
|
lime_media_openal_AL.deleteBuffer(buffer);
|
|
}
|
|
,deleteBuffers: function(buffers) {
|
|
lime_media_openal_AL.deleteBuffers(buffers);
|
|
}
|
|
,deleteSource: function(source) {
|
|
lime_media_openal_AL.deleteSource(source);
|
|
}
|
|
,deleteSources: function(sources) {
|
|
lime_media_openal_AL.deleteSources(sources);
|
|
}
|
|
,destroyContext: function(context) {
|
|
if(context == null) {
|
|
return;
|
|
}
|
|
lime_media_openal_ALC.destroyContext(context);
|
|
}
|
|
,disable: function(capability) {
|
|
lime_media_openal_AL.disable(capability);
|
|
}
|
|
,distanceModel: function(distanceModel) {
|
|
lime_media_openal_AL.distanceModel(distanceModel);
|
|
}
|
|
,dopplerFactor: function(value) {
|
|
lime_media_openal_AL.dopplerFactor(value);
|
|
}
|
|
,dopplerVelocity: function(value) {
|
|
lime_media_openal_AL.dopplerVelocity(value);
|
|
}
|
|
,enable: function(capability) {
|
|
lime_media_openal_AL.enable(capability);
|
|
}
|
|
,genSource: function() {
|
|
return this.createSource();
|
|
}
|
|
,genSources: function(n) {
|
|
return lime_media_openal_AL.genSources(n);
|
|
}
|
|
,genBuffer: function() {
|
|
return this.createBuffer();
|
|
}
|
|
,genBuffers: function(n) {
|
|
return lime_media_openal_AL.genBuffers(n);
|
|
}
|
|
,getBoolean: function(param) {
|
|
return lime_media_openal_AL.getBoolean(param);
|
|
}
|
|
,getBooleanv: function(param,count) {
|
|
if(count == null) {
|
|
count = 1;
|
|
}
|
|
return lime_media_openal_AL.getBooleanv(param,count);
|
|
}
|
|
,getBuffer3f: function(buffer,param) {
|
|
return lime_media_openal_AL.getBuffer3f(buffer,param);
|
|
}
|
|
,getBuffer3i: function(buffer,param) {
|
|
return lime_media_openal_AL.getBuffer3i(buffer,param);
|
|
}
|
|
,getBufferf: function(buffer,param) {
|
|
return lime_media_openal_AL.getBufferf(buffer,param);
|
|
}
|
|
,getBufferfv: function(buffer,param,count) {
|
|
if(count == null) {
|
|
count = 1;
|
|
}
|
|
return lime_media_openal_AL.getBufferfv(buffer,param,count);
|
|
}
|
|
,getBufferi: function(buffer,param) {
|
|
return lime_media_openal_AL.getBufferi(buffer,param);
|
|
}
|
|
,getBufferiv: function(buffer,param,count) {
|
|
if(count == null) {
|
|
count = 1;
|
|
}
|
|
return lime_media_openal_AL.getBufferiv(buffer,param,count);
|
|
}
|
|
,getContextsDevice: function(context) {
|
|
if(context == null) {
|
|
return null;
|
|
}
|
|
return lime_media_openal_ALC.getContextsDevice(context);
|
|
}
|
|
,getCurrentContext: function() {
|
|
return lime_media_openal_ALC.getCurrentContext();
|
|
}
|
|
,getDouble: function(param) {
|
|
return lime_media_openal_AL.getDouble(param);
|
|
}
|
|
,getDoublev: function(param,count) {
|
|
if(count == null) {
|
|
count = 1;
|
|
}
|
|
return lime_media_openal_AL.getDoublev(param,count);
|
|
}
|
|
,getEnumValue: function(ename) {
|
|
return lime_media_openal_AL.getEnumValue(ename);
|
|
}
|
|
,getError: function(device) {
|
|
if(device == null) {
|
|
return lime_media_openal_AL.getError();
|
|
} else {
|
|
return lime_media_openal_ALC.getError(device);
|
|
}
|
|
}
|
|
,getErrorString: function(device) {
|
|
if(device == null) {
|
|
return lime_media_openal_AL.getErrorString();
|
|
} else {
|
|
return lime_media_openal_ALC.getErrorString(device);
|
|
}
|
|
}
|
|
,getFloat: function(param) {
|
|
return lime_media_openal_AL.getFloat(param);
|
|
}
|
|
,getFloatv: function(param,count) {
|
|
if(count == null) {
|
|
count = 1;
|
|
}
|
|
return lime_media_openal_AL.getFloatv(param,count);
|
|
}
|
|
,getInteger: function(param) {
|
|
return lime_media_openal_AL.getInteger(param);
|
|
}
|
|
,getIntegerv: function(param,count,device) {
|
|
if(count == null) {
|
|
count = 1;
|
|
}
|
|
if(device == null) {
|
|
return lime_media_openal_AL.getIntegerv(param,count);
|
|
} else {
|
|
return lime_media_openal_ALC.getIntegerv(device,param,count);
|
|
}
|
|
}
|
|
,getListener3f: function(param) {
|
|
return lime_media_openal_AL.getListener3f(param);
|
|
}
|
|
,getListener3i: function(param) {
|
|
return lime_media_openal_AL.getListener3i(param);
|
|
}
|
|
,getListenerf: function(param) {
|
|
return lime_media_openal_AL.getListenerf(param);
|
|
}
|
|
,getListenerfv: function(param,count) {
|
|
if(count == null) {
|
|
count = 1;
|
|
}
|
|
return lime_media_openal_AL.getListenerfv(param,count);
|
|
}
|
|
,getListeneri: function(param) {
|
|
return lime_media_openal_AL.getListeneri(param);
|
|
}
|
|
,getListeneriv: function(param,count) {
|
|
if(count == null) {
|
|
count = 1;
|
|
}
|
|
return lime_media_openal_AL.getListeneriv(param,count);
|
|
}
|
|
,getProcAddress: function(fname) {
|
|
return lime_media_openal_AL.getProcAddress(fname);
|
|
}
|
|
,getSource3f: function(source,param) {
|
|
return lime_media_openal_AL.getSource3f(source,param);
|
|
}
|
|
,getSourcef: function(source,param) {
|
|
return lime_media_openal_AL.getSourcef(source,param);
|
|
}
|
|
,getSource3i: function(source,param) {
|
|
return lime_media_openal_AL.getSource3i(source,param);
|
|
}
|
|
,getSourcefv: function(source,param,count) {
|
|
if(count == null) {
|
|
count = 1;
|
|
}
|
|
return lime_media_openal_AL.getSourcefv(source,param);
|
|
}
|
|
,getSourcei: function(source,param) {
|
|
return lime_media_openal_AL.getSourcei(source,param);
|
|
}
|
|
,getSourceiv: function(source,param,count) {
|
|
if(count == null) {
|
|
count = 1;
|
|
}
|
|
return lime_media_openal_AL.getSourceiv(source,param,count);
|
|
}
|
|
,getString: function(param,device) {
|
|
if(device == null) {
|
|
return lime_media_openal_AL.getString(param);
|
|
} else {
|
|
return lime_media_openal_ALC.getString(device,param);
|
|
}
|
|
}
|
|
,isBuffer: function(buffer) {
|
|
return lime_media_openal_AL.isBuffer(buffer);
|
|
}
|
|
,isEnabled: function(capability) {
|
|
return lime_media_openal_AL.isEnabled(capability);
|
|
}
|
|
,isExtensionPresent: function(extname) {
|
|
return lime_media_openal_AL.isExtensionPresent(extname);
|
|
}
|
|
,isSource: function(source) {
|
|
return lime_media_openal_AL.isSource(source);
|
|
}
|
|
,listener3f: function(param,value1,value2,value3) {
|
|
lime_media_openal_AL.listener3f(param,value1,value2,value3);
|
|
}
|
|
,listener3i: function(param,value1,value2,value3) {
|
|
lime_media_openal_AL.listener3i(param,value1,value2,value3);
|
|
}
|
|
,listenerf: function(param,value) {
|
|
lime_media_openal_AL.listenerf(param,value);
|
|
}
|
|
,listenerfv: function(param,values) {
|
|
lime_media_openal_AL.listenerfv(param,values);
|
|
}
|
|
,listeneri: function(param,value) {
|
|
lime_media_openal_AL.listeneri(param,value);
|
|
}
|
|
,listeneriv: function(param,values) {
|
|
lime_media_openal_AL.listeneriv(param,values);
|
|
}
|
|
,makeContextCurrent: function(context) {
|
|
return lime_media_openal_ALC.makeContextCurrent(context);
|
|
}
|
|
,openDevice: function(deviceName) {
|
|
return lime_media_openal_ALC.openDevice(deviceName);
|
|
}
|
|
,pauseDevice: function(device) {
|
|
lime_media_openal_ALC.pauseDevice(device);
|
|
}
|
|
,processContext: function(context) {
|
|
lime_media_openal_ALC.processContext(context);
|
|
}
|
|
,resumeDevice: function(device) {
|
|
lime_media_openal_ALC.resumeDevice(device);
|
|
}
|
|
,source3f: function(source,param,value1,value2,value3) {
|
|
lime_media_openal_AL.source3f(source,param,value1,value2,value3);
|
|
}
|
|
,source3i: function(source,param,value1,value2,value3) {
|
|
lime_media_openal_AL.source3i(source,param,value1,value2,value3);
|
|
}
|
|
,sourcef: function(source,param,value) {
|
|
lime_media_openal_AL.sourcef(source,param,value);
|
|
}
|
|
,sourcefv: function(source,param,values) {
|
|
lime_media_openal_AL.sourcefv(source,param,values);
|
|
}
|
|
,sourcei: function(source,param,value) {
|
|
lime_media_openal_AL.sourcei(source,param,value);
|
|
}
|
|
,sourceiv: function(source,param,values) {
|
|
lime_media_openal_AL.sourceiv(source,param,values);
|
|
}
|
|
,sourcePlay: function(source) {
|
|
lime_media_openal_AL.sourcePlay(source);
|
|
}
|
|
,sourcePlayv: function(sources) {
|
|
lime_media_openal_AL.sourcePlayv(sources);
|
|
}
|
|
,sourceStop: function(source) {
|
|
lime_media_openal_AL.sourceStop(source);
|
|
}
|
|
,sourceStopv: function(sources) {
|
|
lime_media_openal_AL.sourceStopv(sources);
|
|
}
|
|
,sourceRewind: function(source) {
|
|
lime_media_openal_AL.sourceRewind(source);
|
|
}
|
|
,sourceRewindv: function(sources) {
|
|
lime_media_openal_AL.sourceRewindv(sources);
|
|
}
|
|
,sourcePause: function(source) {
|
|
lime_media_openal_AL.sourcePause(source);
|
|
}
|
|
,sourcePausev: function(sources) {
|
|
lime_media_openal_AL.sourcePausev(sources);
|
|
}
|
|
,sourceQueueBuffer: function(source,buffer) {
|
|
lime_media_openal_AL.sourceQueueBuffer(source,buffer);
|
|
}
|
|
,sourceQueueBuffers: function(source,nb,buffers) {
|
|
lime_media_openal_AL.sourceQueueBuffers(source,nb,buffers);
|
|
}
|
|
,sourceUnqueueBuffer: function(source) {
|
|
return lime_media_openal_AL.sourceUnqueueBuffer(source);
|
|
}
|
|
,sourceUnqueueBuffers: function(source,nb) {
|
|
return lime_media_openal_AL.sourceUnqueueBuffers(source,nb);
|
|
}
|
|
,speedOfSound: function(value) {
|
|
lime_media_openal_AL.speedOfSound(value);
|
|
}
|
|
,suspendContext: function(context) {
|
|
lime_media_openal_ALC.suspendContext(context);
|
|
}
|
|
,__class__: lime_media_OpenALAudioContext
|
|
};
|
|
var lime_media_openal_AL = function() { };
|
|
$hxClasses["lime.media.openal.AL"] = lime_media_openal_AL;
|
|
lime_media_openal_AL.__name__ = "lime.media.openal.AL";
|
|
lime_media_openal_AL.removeDirectFilter = function(source) {
|
|
};
|
|
lime_media_openal_AL.removeSend = function(source,index) {
|
|
};
|
|
lime_media_openal_AL.auxf = function(aux,param,value) {
|
|
};
|
|
lime_media_openal_AL.auxfv = function(aux,param,values) {
|
|
};
|
|
lime_media_openal_AL.auxi = function(aux,param,value) {
|
|
};
|
|
lime_media_openal_AL.auxiv = function(aux,param,values) {
|
|
};
|
|
lime_media_openal_AL.bufferData = function(buffer,format,data,size,freq) {
|
|
};
|
|
lime_media_openal_AL.buffer3f = function(buffer,param,value1,value2,value3) {
|
|
};
|
|
lime_media_openal_AL.buffer3i = function(buffer,param,value1,value2,value3) {
|
|
};
|
|
lime_media_openal_AL.bufferf = function(buffer,param,value) {
|
|
};
|
|
lime_media_openal_AL.bufferfv = function(buffer,param,values) {
|
|
};
|
|
lime_media_openal_AL.bufferi = function(buffer,param,value) {
|
|
};
|
|
lime_media_openal_AL.bufferiv = function(buffer,param,values) {
|
|
};
|
|
lime_media_openal_AL.createAux = function() {
|
|
return null;
|
|
};
|
|
lime_media_openal_AL.createBuffer = function() {
|
|
return null;
|
|
};
|
|
lime_media_openal_AL.createEffect = function() {
|
|
return null;
|
|
};
|
|
lime_media_openal_AL.createFilter = function() {
|
|
return null;
|
|
};
|
|
lime_media_openal_AL.createSource = function() {
|
|
return null;
|
|
};
|
|
lime_media_openal_AL.deleteBuffer = function(buffer) {
|
|
};
|
|
lime_media_openal_AL.deleteBuffers = function(buffers) {
|
|
};
|
|
lime_media_openal_AL.deleteSource = function(source) {
|
|
};
|
|
lime_media_openal_AL.deleteSources = function(sources) {
|
|
};
|
|
lime_media_openal_AL.disable = function(capability) {
|
|
};
|
|
lime_media_openal_AL.distanceModel = function(distanceModel) {
|
|
};
|
|
lime_media_openal_AL.dopplerFactor = function(value) {
|
|
};
|
|
lime_media_openal_AL.dopplerVelocity = function(value) {
|
|
};
|
|
lime_media_openal_AL.effectf = function(effect,param,value) {
|
|
};
|
|
lime_media_openal_AL.effectfv = function(effect,param,values) {
|
|
};
|
|
lime_media_openal_AL.effecti = function(effect,param,value) {
|
|
};
|
|
lime_media_openal_AL.effectiv = function(effect,param,values) {
|
|
};
|
|
lime_media_openal_AL.enable = function(capability) {
|
|
};
|
|
lime_media_openal_AL.genSource = function() {
|
|
return null;
|
|
};
|
|
lime_media_openal_AL.genSources = function(n) {
|
|
return null;
|
|
};
|
|
lime_media_openal_AL.genBuffer = function() {
|
|
return null;
|
|
};
|
|
lime_media_openal_AL.genBuffers = function(n) {
|
|
return null;
|
|
};
|
|
lime_media_openal_AL.getBoolean = function(param) {
|
|
return false;
|
|
};
|
|
lime_media_openal_AL.getBooleanv = function(param,count) {
|
|
if(count == null) {
|
|
count = 1;
|
|
}
|
|
return null;
|
|
};
|
|
lime_media_openal_AL.getBuffer3f = function(buffer,param) {
|
|
return null;
|
|
};
|
|
lime_media_openal_AL.getBuffer3i = function(buffer,param) {
|
|
return null;
|
|
};
|
|
lime_media_openal_AL.getBufferf = function(buffer,param) {
|
|
return 0;
|
|
};
|
|
lime_media_openal_AL.getBufferfv = function(buffer,param,count) {
|
|
if(count == null) {
|
|
count = 1;
|
|
}
|
|
return null;
|
|
};
|
|
lime_media_openal_AL.getBufferi = function(buffer,param) {
|
|
return 0;
|
|
};
|
|
lime_media_openal_AL.getBufferiv = function(buffer,param,count) {
|
|
if(count == null) {
|
|
count = 1;
|
|
}
|
|
return null;
|
|
};
|
|
lime_media_openal_AL.getDouble = function(param) {
|
|
return 0;
|
|
};
|
|
lime_media_openal_AL.getDoublev = function(param,count) {
|
|
if(count == null) {
|
|
count = 1;
|
|
}
|
|
return null;
|
|
};
|
|
lime_media_openal_AL.getEnumValue = function(ename) {
|
|
return 0;
|
|
};
|
|
lime_media_openal_AL.getError = function() {
|
|
return 0;
|
|
};
|
|
lime_media_openal_AL.getErrorString = function() {
|
|
switch(lime_media_openal_AL.getError()) {
|
|
case 40961:
|
|
return "INVALID_NAME: Invalid parameter name";
|
|
case 40962:
|
|
return "INVALID_ENUM: Invalid enum value";
|
|
case 40963:
|
|
return "INVALID_VALUE: Invalid parameter value";
|
|
case 40964:
|
|
return "INVALID_OPERATION: Illegal operation or call";
|
|
case 40965:
|
|
return "OUT_OF_MEMORY: OpenAL has run out of memory";
|
|
default:
|
|
return "";
|
|
}
|
|
};
|
|
lime_media_openal_AL.getFilteri = function(filter,param) {
|
|
return 0;
|
|
};
|
|
lime_media_openal_AL.getFloat = function(param) {
|
|
return 0;
|
|
};
|
|
lime_media_openal_AL.getFloatv = function(param,count) {
|
|
if(count == null) {
|
|
count = 1;
|
|
}
|
|
return null;
|
|
};
|
|
lime_media_openal_AL.getInteger = function(param) {
|
|
return 0;
|
|
};
|
|
lime_media_openal_AL.getIntegerv = function(param,count) {
|
|
if(count == null) {
|
|
count = 1;
|
|
}
|
|
return null;
|
|
};
|
|
lime_media_openal_AL.getListener3f = function(param) {
|
|
return null;
|
|
};
|
|
lime_media_openal_AL.getListener3i = function(param) {
|
|
return null;
|
|
};
|
|
lime_media_openal_AL.getListenerf = function(param) {
|
|
return 0;
|
|
};
|
|
lime_media_openal_AL.getListenerfv = function(param,count) {
|
|
if(count == null) {
|
|
count = 1;
|
|
}
|
|
return null;
|
|
};
|
|
lime_media_openal_AL.getListeneri = function(param) {
|
|
return 0;
|
|
};
|
|
lime_media_openal_AL.getListeneriv = function(param,count) {
|
|
if(count == null) {
|
|
count = 1;
|
|
}
|
|
return null;
|
|
};
|
|
lime_media_openal_AL.getParameter = function(param) {
|
|
return null;
|
|
};
|
|
lime_media_openal_AL.getProcAddress = function(fname) {
|
|
return null;
|
|
};
|
|
lime_media_openal_AL.getSource3f = function(source,param) {
|
|
return null;
|
|
};
|
|
lime_media_openal_AL.getSourcef = function(source,param) {
|
|
return 0;
|
|
};
|
|
lime_media_openal_AL.getSource3i = function(source,param) {
|
|
return null;
|
|
};
|
|
lime_media_openal_AL.getSourcefv = function(source,param,count) {
|
|
if(count == null) {
|
|
count = 1;
|
|
}
|
|
return null;
|
|
};
|
|
lime_media_openal_AL.getSourcei = function(source,param) {
|
|
return 0;
|
|
};
|
|
lime_media_openal_AL.getSourceiv = function(source,param,count) {
|
|
if(count == null) {
|
|
count = 1;
|
|
}
|
|
return null;
|
|
};
|
|
lime_media_openal_AL.getString = function(param) {
|
|
return null;
|
|
};
|
|
lime_media_openal_AL.isBuffer = function(buffer) {
|
|
return false;
|
|
};
|
|
lime_media_openal_AL.isEnabled = function(capability) {
|
|
return false;
|
|
};
|
|
lime_media_openal_AL.isExtensionPresent = function(extname) {
|
|
return false;
|
|
};
|
|
lime_media_openal_AL.isAux = function(aux) {
|
|
return false;
|
|
};
|
|
lime_media_openal_AL.isEffect = function(effect) {
|
|
return false;
|
|
};
|
|
lime_media_openal_AL.isFilter = function(filter) {
|
|
return false;
|
|
};
|
|
lime_media_openal_AL.isSource = function(source) {
|
|
return false;
|
|
};
|
|
lime_media_openal_AL.listener3f = function(param,value1,value2,value3) {
|
|
};
|
|
lime_media_openal_AL.listener3i = function(param,value1,value2,value3) {
|
|
};
|
|
lime_media_openal_AL.listenerf = function(param,value) {
|
|
};
|
|
lime_media_openal_AL.listenerfv = function(param,values) {
|
|
};
|
|
lime_media_openal_AL.listeneri = function(param,value) {
|
|
};
|
|
lime_media_openal_AL.listeneriv = function(param,values) {
|
|
};
|
|
lime_media_openal_AL.source3f = function(source,param,value1,value2,value3) {
|
|
};
|
|
lime_media_openal_AL.source3i = function(source,param,value1,value2,value3) {
|
|
};
|
|
lime_media_openal_AL.sourcef = function(source,param,value) {
|
|
};
|
|
lime_media_openal_AL.sourcefv = function(source,param,values) {
|
|
};
|
|
lime_media_openal_AL.sourcei = function(source,param,value) {
|
|
};
|
|
lime_media_openal_AL.filteri = function(filter,param,value) {
|
|
};
|
|
lime_media_openal_AL.filterf = function(filter,param,value) {
|
|
};
|
|
lime_media_openal_AL.sourceiv = function(source,param,values) {
|
|
};
|
|
lime_media_openal_AL.sourcePlay = function(source) {
|
|
};
|
|
lime_media_openal_AL.sourcePlayv = function(sources) {
|
|
};
|
|
lime_media_openal_AL.sourceStop = function(source) {
|
|
};
|
|
lime_media_openal_AL.sourceStopv = function(sources) {
|
|
};
|
|
lime_media_openal_AL.sourceRewind = function(source) {
|
|
};
|
|
lime_media_openal_AL.sourceRewindv = function(sources) {
|
|
};
|
|
lime_media_openal_AL.sourcePause = function(source) {
|
|
};
|
|
lime_media_openal_AL.sourcePausev = function(sources) {
|
|
};
|
|
lime_media_openal_AL.sourceQueueBuffer = function(source,buffer) {
|
|
};
|
|
lime_media_openal_AL.sourceQueueBuffers = function(source,nb,buffers) {
|
|
};
|
|
lime_media_openal_AL.sourceUnqueueBuffer = function(source) {
|
|
return 0;
|
|
};
|
|
lime_media_openal_AL.sourceUnqueueBuffers = function(source,nb) {
|
|
return null;
|
|
};
|
|
lime_media_openal_AL.speedOfSound = function(value) {
|
|
};
|
|
var lime_media_openal_ALAuxiliaryEffectSlot = {};
|
|
lime_media_openal_ALAuxiliaryEffectSlot._new = function(handle) {
|
|
var this1 = handle;
|
|
return this1;
|
|
};
|
|
var lime_media_openal_ALBuffer = {};
|
|
lime_media_openal_ALBuffer._new = function(handle) {
|
|
var this1 = handle;
|
|
return this1;
|
|
};
|
|
var lime_media_openal_ALC = function() { };
|
|
$hxClasses["lime.media.openal.ALC"] = lime_media_openal_ALC;
|
|
lime_media_openal_ALC.__name__ = "lime.media.openal.ALC";
|
|
lime_media_openal_ALC.closeDevice = function(device) {
|
|
return false;
|
|
};
|
|
lime_media_openal_ALC.createContext = function(device,attrlist) {
|
|
return null;
|
|
};
|
|
lime_media_openal_ALC.destroyContext = function(context) {
|
|
};
|
|
lime_media_openal_ALC.getContextsDevice = function(context) {
|
|
return null;
|
|
};
|
|
lime_media_openal_ALC.getCurrentContext = function() {
|
|
return null;
|
|
};
|
|
lime_media_openal_ALC.getError = function(device) {
|
|
return 0;
|
|
};
|
|
lime_media_openal_ALC.getErrorString = function(device) {
|
|
switch(lime_media_openal_ALC.getError(device)) {
|
|
case 40961:
|
|
return "INVALID_DEVICE: Invalid device (or no device?)";
|
|
case 40962:
|
|
return "INVALID_CONTEXT: Invalid context (or no context?)";
|
|
case 40963:
|
|
return "INVALID_ENUM: Invalid enum value";
|
|
case 40964:
|
|
return "INVALID_VALUE: Invalid param value";
|
|
case 40965:
|
|
return "OUT_OF_MEMORY: OpenAL has run out of memory";
|
|
default:
|
|
return "";
|
|
}
|
|
};
|
|
lime_media_openal_ALC.getIntegerv = function(device,param,size) {
|
|
return null;
|
|
};
|
|
lime_media_openal_ALC.getString = function(device,param) {
|
|
return null;
|
|
};
|
|
lime_media_openal_ALC.makeContextCurrent = function(context) {
|
|
return false;
|
|
};
|
|
lime_media_openal_ALC.openDevice = function(deviceName) {
|
|
return null;
|
|
};
|
|
lime_media_openal_ALC.pauseDevice = function(device) {
|
|
};
|
|
lime_media_openal_ALC.processContext = function(context) {
|
|
};
|
|
lime_media_openal_ALC.resumeDevice = function(device) {
|
|
};
|
|
lime_media_openal_ALC.suspendContext = function(context) {
|
|
};
|
|
var lime_media_openal_ALContext = {};
|
|
lime_media_openal_ALContext._new = function(handle) {
|
|
var this1 = handle;
|
|
return this1;
|
|
};
|
|
var lime_media_openal_ALDevice = {};
|
|
lime_media_openal_ALDevice._new = function(handle) {
|
|
var this1 = handle;
|
|
return this1;
|
|
};
|
|
var lime_media_openal_ALEffect = {};
|
|
lime_media_openal_ALEffect._new = function(handle) {
|
|
var this1 = handle;
|
|
return this1;
|
|
};
|
|
var lime_media_openal_ALFilter = {};
|
|
lime_media_openal_ALFilter._new = function(handle) {
|
|
var this1 = handle;
|
|
return this1;
|
|
};
|
|
var lime_media_openal_ALSource = {};
|
|
lime_media_openal_ALSource._new = function(handle) {
|
|
var this1 = handle;
|
|
return this1;
|
|
};
|
|
var lime_media_vorbis_VorbisComment = function() {
|
|
};
|
|
$hxClasses["lime.media.vorbis.VorbisComment"] = lime_media_vorbis_VorbisComment;
|
|
lime_media_vorbis_VorbisComment.__name__ = "lime.media.vorbis.VorbisComment";
|
|
lime_media_vorbis_VorbisComment.prototype = {
|
|
userComments: null
|
|
,vendor: null
|
|
,__class__: lime_media_vorbis_VorbisComment
|
|
};
|
|
var lime_media_vorbis_VorbisFile = function(handle) {
|
|
this.handle = handle;
|
|
};
|
|
$hxClasses["lime.media.vorbis.VorbisFile"] = lime_media_vorbis_VorbisFile;
|
|
lime_media_vorbis_VorbisFile.__name__ = "lime.media.vorbis.VorbisFile";
|
|
lime_media_vorbis_VorbisFile.fromBytes = function(bytes) {
|
|
return null;
|
|
};
|
|
lime_media_vorbis_VorbisFile.fromFile = function(path) {
|
|
return null;
|
|
};
|
|
lime_media_vorbis_VorbisFile.prototype = {
|
|
bitstream: null
|
|
,handle: null
|
|
,bitrate: function(bitstream) {
|
|
if(bitstream == null) {
|
|
bitstream = -1;
|
|
}
|
|
return 0;
|
|
}
|
|
,bitrateInstant: function() {
|
|
return 0;
|
|
}
|
|
,clear: function() {
|
|
}
|
|
,comment: function(bitstream) {
|
|
if(bitstream == null) {
|
|
bitstream = -1;
|
|
}
|
|
return null;
|
|
}
|
|
,crosslap: function(other) {
|
|
return 0;
|
|
}
|
|
,info: function(bitstream) {
|
|
if(bitstream == null) {
|
|
bitstream = -1;
|
|
}
|
|
return null;
|
|
}
|
|
,pcmSeek: function(pos) {
|
|
return 0;
|
|
}
|
|
,pcmSeekLap: function(pos) {
|
|
return 0;
|
|
}
|
|
,pcmSeekPage: function(pos) {
|
|
return 0;
|
|
}
|
|
,pcmSeekPageLap: function(pos) {
|
|
return 0;
|
|
}
|
|
,pcmTell: function() {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(0,0);
|
|
return this1;
|
|
}
|
|
,pcmTotal: function(bitstream) {
|
|
if(bitstream == null) {
|
|
bitstream = -1;
|
|
}
|
|
var this1 = new haxe__$Int64__$_$_$Int64(0,0);
|
|
return this1;
|
|
}
|
|
,rawSeek: function(pos) {
|
|
return 0;
|
|
}
|
|
,rawSeekLap: function(pos) {
|
|
return 0;
|
|
}
|
|
,rawTell: function() {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(0,0);
|
|
return this1;
|
|
}
|
|
,rawTotal: function(bitstream) {
|
|
if(bitstream == null) {
|
|
bitstream = -1;
|
|
}
|
|
var this1 = new haxe__$Int64__$_$_$Int64(0,0);
|
|
return this1;
|
|
}
|
|
,read: function(buffer,position,length,bigEndianPacking,wordSize,signed) {
|
|
if(signed == null) {
|
|
signed = true;
|
|
}
|
|
if(wordSize == null) {
|
|
wordSize = 2;
|
|
}
|
|
if(bigEndianPacking == null) {
|
|
bigEndianPacking = false;
|
|
}
|
|
if(length == null) {
|
|
length = 4096;
|
|
}
|
|
return 0;
|
|
}
|
|
,readFloat: function(pcmChannels,samples) {
|
|
return 0;
|
|
}
|
|
,seekable: function() {
|
|
return false;
|
|
}
|
|
,serialNumber: function(bitstream) {
|
|
if(bitstream == null) {
|
|
bitstream = -1;
|
|
}
|
|
return 0;
|
|
}
|
|
,streams: function() {
|
|
return 0;
|
|
}
|
|
,timeSeek: function(s) {
|
|
return 0;
|
|
}
|
|
,timeSeekLap: function(s) {
|
|
return 0;
|
|
}
|
|
,timeSeekPage: function(s) {
|
|
return 0;
|
|
}
|
|
,timeSeekPageLap: function(s) {
|
|
return 0;
|
|
}
|
|
,timeTell: function() {
|
|
return 0;
|
|
}
|
|
,timeTotal: function(bitstream) {
|
|
if(bitstream == null) {
|
|
bitstream = -1;
|
|
}
|
|
return 0;
|
|
}
|
|
,__class__: lime_media_vorbis_VorbisFile
|
|
};
|
|
var lime_media_vorbis_VorbisInfo = function() {
|
|
};
|
|
$hxClasses["lime.media.vorbis.VorbisInfo"] = lime_media_vorbis_VorbisInfo;
|
|
lime_media_vorbis_VorbisInfo.__name__ = "lime.media.vorbis.VorbisInfo";
|
|
lime_media_vorbis_VorbisInfo.prototype = {
|
|
bitrateLower: null
|
|
,bitrateNominal: null
|
|
,bitrateUpper: null
|
|
,channels: null
|
|
,rate: null
|
|
,version: null
|
|
,__class__: lime_media_vorbis_VorbisInfo
|
|
};
|
|
var lime_net__$IHTTPRequest = function() { };
|
|
$hxClasses["lime.net._IHTTPRequest"] = lime_net__$IHTTPRequest;
|
|
lime_net__$IHTTPRequest.__name__ = "lime.net._IHTTPRequest";
|
|
lime_net__$IHTTPRequest.__isInterface__ = true;
|
|
lime_net__$IHTTPRequest.prototype = {
|
|
contentType: null
|
|
,data: null
|
|
,enableResponseHeaders: null
|
|
,followRedirects: null
|
|
,formData: null
|
|
,headers: null
|
|
,method: null
|
|
,responseHeaders: null
|
|
,responseStatus: null
|
|
,timeout: null
|
|
,uri: null
|
|
,userAgent: null
|
|
,withCredentials: null
|
|
,cancel: null
|
|
,__class__: lime_net__$IHTTPRequest
|
|
};
|
|
var lime_net__$HTTPRequest_AbstractHTTPRequest = function(uri) {
|
|
this.uri = uri;
|
|
this.contentType = "application/x-www-form-urlencoded";
|
|
this.followRedirects = true;
|
|
this.enableResponseHeaders = false;
|
|
this.formData = new haxe_ds_StringMap();
|
|
this.headers = [];
|
|
this.method = "GET";
|
|
this.timeout = 30000;
|
|
this.withCredentials = false;
|
|
this.__backend = new lime__$internal_backend_html5_HTML5HTTPRequest();
|
|
this.__backend.init(this);
|
|
};
|
|
$hxClasses["lime.net._HTTPRequest.AbstractHTTPRequest"] = lime_net__$HTTPRequest_AbstractHTTPRequest;
|
|
lime_net__$HTTPRequest_AbstractHTTPRequest.__name__ = "lime.net._HTTPRequest.AbstractHTTPRequest";
|
|
lime_net__$HTTPRequest_AbstractHTTPRequest.__interfaces__ = [lime_net__$IHTTPRequest];
|
|
lime_net__$HTTPRequest_AbstractHTTPRequest.prototype = {
|
|
contentType: null
|
|
,data: null
|
|
,enableResponseHeaders: null
|
|
,followRedirects: null
|
|
,formData: null
|
|
,headers: null
|
|
,method: null
|
|
,responseData: null
|
|
,responseHeaders: null
|
|
,responseStatus: null
|
|
,timeout: null
|
|
,uri: null
|
|
,userAgent: null
|
|
,withCredentials: null
|
|
,__backend: null
|
|
,cancel: function() {
|
|
this.__backend.cancel();
|
|
}
|
|
,load: function(uri) {
|
|
return null;
|
|
}
|
|
,__class__: lime_net__$HTTPRequest_AbstractHTTPRequest
|
|
};
|
|
var lime_net_HTTPRequest = function(uri) {
|
|
lime_net__$HTTPRequest_AbstractHTTPRequest.call(this,uri);
|
|
};
|
|
$hxClasses["lime.net.HTTPRequest"] = lime_net_HTTPRequest;
|
|
lime_net_HTTPRequest.__name__ = "lime.net.HTTPRequest";
|
|
lime_net_HTTPRequest.__super__ = lime_net__$HTTPRequest_AbstractHTTPRequest;
|
|
lime_net_HTTPRequest.prototype = $extend(lime_net__$HTTPRequest_AbstractHTTPRequest.prototype,{
|
|
__class__: lime_net_HTTPRequest
|
|
});
|
|
var lime_net__$HTTPRequest_$Bytes = function(uri) {
|
|
lime_net__$HTTPRequest_AbstractHTTPRequest.call(this,uri);
|
|
};
|
|
$hxClasses["lime.net._HTTPRequest_Bytes"] = lime_net__$HTTPRequest_$Bytes;
|
|
lime_net__$HTTPRequest_$Bytes.__name__ = "lime.net._HTTPRequest_Bytes";
|
|
lime_net__$HTTPRequest_$Bytes.__super__ = lime_net__$HTTPRequest_AbstractHTTPRequest;
|
|
lime_net__$HTTPRequest_$Bytes.prototype = $extend(lime_net__$HTTPRequest_AbstractHTTPRequest.prototype,{
|
|
fromBytes: function(bytes) {
|
|
return bytes;
|
|
}
|
|
,load: function(uri) {
|
|
var _gthis = this;
|
|
if(uri != null) {
|
|
this.uri = uri;
|
|
}
|
|
var promise = new lime_app_Promise();
|
|
var future = this.__backend.loadData(this.uri);
|
|
future.onProgress($bind(promise,promise.progress));
|
|
future.onError($bind(promise,promise.error));
|
|
future.onComplete(function(bytes) {
|
|
_gthis.responseData = _gthis.fromBytes(bytes);
|
|
promise.complete(_gthis.responseData);
|
|
});
|
|
return promise.future;
|
|
}
|
|
,__class__: lime_net__$HTTPRequest_$Bytes
|
|
});
|
|
var lime_net__$HTTPRequest_$String = function(uri) {
|
|
lime_net__$HTTPRequest_AbstractHTTPRequest.call(this,uri);
|
|
};
|
|
$hxClasses["lime.net._HTTPRequest_String"] = lime_net__$HTTPRequest_$String;
|
|
lime_net__$HTTPRequest_$String.__name__ = "lime.net._HTTPRequest_String";
|
|
lime_net__$HTTPRequest_$String.__super__ = lime_net__$HTTPRequest_AbstractHTTPRequest;
|
|
lime_net__$HTTPRequest_$String.prototype = $extend(lime_net__$HTTPRequest_AbstractHTTPRequest.prototype,{
|
|
load: function(uri) {
|
|
var _gthis = this;
|
|
if(uri != null) {
|
|
this.uri = uri;
|
|
}
|
|
var promise = new lime_app_Promise();
|
|
var future = this.__backend.loadText(this.uri);
|
|
future.onProgress($bind(promise,promise.progress));
|
|
future.onError($bind(promise,promise.error));
|
|
future.onComplete(function(text) {
|
|
_gthis.responseData = text;
|
|
promise.complete(_gthis.responseData);
|
|
});
|
|
return promise.future;
|
|
}
|
|
,__class__: lime_net__$HTTPRequest_$String
|
|
});
|
|
var lime_net_HTTPRequestHeader = function(name,value) {
|
|
if(value == null) {
|
|
value = "";
|
|
}
|
|
this.name = name;
|
|
this.value = value;
|
|
};
|
|
$hxClasses["lime.net.HTTPRequestHeader"] = lime_net_HTTPRequestHeader;
|
|
lime_net_HTTPRequestHeader.__name__ = "lime.net.HTTPRequestHeader";
|
|
lime_net_HTTPRequestHeader.prototype = {
|
|
name: null
|
|
,value: null
|
|
,__class__: lime_net_HTTPRequestHeader
|
|
};
|
|
var lime_net__$HTTPRequest_$lime_$text_$Font = function(uri) {
|
|
lime_net__$HTTPRequest_$Bytes.call(this,uri);
|
|
};
|
|
$hxClasses["lime.net._HTTPRequest_lime_text_Font"] = lime_net__$HTTPRequest_$lime_$text_$Font;
|
|
lime_net__$HTTPRequest_$lime_$text_$Font.__name__ = "lime.net._HTTPRequest_lime_text_Font";
|
|
lime_net__$HTTPRequest_$lime_$text_$Font.__super__ = lime_net__$HTTPRequest_$Bytes;
|
|
lime_net__$HTTPRequest_$lime_$text_$Font.prototype = $extend(lime_net__$HTTPRequest_$Bytes.prototype,{
|
|
fromBytes: function(bytes) {
|
|
return lime_text_Font.fromBytes(bytes);
|
|
}
|
|
,__class__: lime_net__$HTTPRequest_$lime_$text_$Font
|
|
});
|
|
var lime_net__$HTTPRequest_$lime_$utils_$Bytes = function(uri) {
|
|
lime_net__$HTTPRequest_$Bytes.call(this,uri);
|
|
};
|
|
$hxClasses["lime.net._HTTPRequest_lime_utils_Bytes"] = lime_net__$HTTPRequest_$lime_$utils_$Bytes;
|
|
lime_net__$HTTPRequest_$lime_$utils_$Bytes.__name__ = "lime.net._HTTPRequest_lime_utils_Bytes";
|
|
lime_net__$HTTPRequest_$lime_$utils_$Bytes.__super__ = lime_net__$HTTPRequest_$Bytes;
|
|
lime_net__$HTTPRequest_$lime_$utils_$Bytes.prototype = $extend(lime_net__$HTTPRequest_$Bytes.prototype,{
|
|
fromBytes: function(bytes) {
|
|
return lime_utils_Bytes.fromBytes(bytes);
|
|
}
|
|
,__class__: lime_net__$HTTPRequest_$lime_$utils_$Bytes
|
|
});
|
|
var lime_net__$HTTPRequest_$openfl_$utils_$ByteArray = function(uri) {
|
|
lime_net__$HTTPRequest_$Bytes.call(this,uri);
|
|
};
|
|
$hxClasses["lime.net._HTTPRequest_openfl_utils_ByteArray"] = lime_net__$HTTPRequest_$openfl_$utils_$ByteArray;
|
|
lime_net__$HTTPRequest_$openfl_$utils_$ByteArray.__name__ = "lime.net._HTTPRequest_openfl_utils_ByteArray";
|
|
lime_net__$HTTPRequest_$openfl_$utils_$ByteArray.__super__ = lime_net__$HTTPRequest_$Bytes;
|
|
lime_net__$HTTPRequest_$openfl_$utils_$ByteArray.prototype = $extend(lime_net__$HTTPRequest_$Bytes.prototype,{
|
|
fromBytes: function(bytes) {
|
|
return openfl_utils_ByteArray.fromBytes(bytes);
|
|
}
|
|
,__class__: lime_net__$HTTPRequest_$openfl_$utils_$ByteArray
|
|
});
|
|
var lime_system_BackgroundWorker = function() {
|
|
this.onProgress = new lime_app__$Event_$Dynamic_$Void();
|
|
this.onError = new lime_app__$Event_$Dynamic_$Void();
|
|
this.onComplete = new lime_app__$Event_$Dynamic_$Void();
|
|
this.doWork = new lime_app__$Event_$Dynamic_$Void();
|
|
};
|
|
$hxClasses["lime.system.BackgroundWorker"] = lime_system_BackgroundWorker;
|
|
lime_system_BackgroundWorker.__name__ = "lime.system.BackgroundWorker";
|
|
lime_system_BackgroundWorker.prototype = {
|
|
canceled: null
|
|
,completed: null
|
|
,doWork: null
|
|
,onComplete: null
|
|
,onError: null
|
|
,onProgress: null
|
|
,__runMessage: null
|
|
,cancel: function() {
|
|
this.canceled = true;
|
|
}
|
|
,run: function(message) {
|
|
this.canceled = false;
|
|
this.completed = false;
|
|
this.__runMessage = message;
|
|
this.__doWork();
|
|
}
|
|
,sendComplete: function(message) {
|
|
this.completed = true;
|
|
if(!this.canceled) {
|
|
this.canceled = true;
|
|
this.onComplete.dispatch(message);
|
|
}
|
|
}
|
|
,sendError: function(message) {
|
|
if(!this.canceled) {
|
|
this.canceled = true;
|
|
this.onError.dispatch(message);
|
|
}
|
|
}
|
|
,sendProgress: function(message) {
|
|
if(!this.canceled) {
|
|
this.onProgress.dispatch(message);
|
|
}
|
|
}
|
|
,__doWork: function() {
|
|
this.doWork.dispatch(this.__runMessage);
|
|
}
|
|
,__update: function(deltaTime) {
|
|
}
|
|
,__class__: lime_system_BackgroundWorker
|
|
};
|
|
var lime_system_CFFI = function() { };
|
|
$hxClasses["lime.system.CFFI"] = lime_system_CFFI;
|
|
lime_system_CFFI.__name__ = "lime.system.CFFI";
|
|
lime_system_CFFI.available = null;
|
|
lime_system_CFFI.enabled = null;
|
|
lime_system_CFFI.load = function(library,method,args,lazy) {
|
|
if(lazy == null) {
|
|
lazy = false;
|
|
}
|
|
if(args == null) {
|
|
args = 0;
|
|
}
|
|
if(!lime_system_CFFI.enabled) {
|
|
return Reflect.makeVarArgs(function(__) {
|
|
return { };
|
|
});
|
|
}
|
|
var result = null;
|
|
return result;
|
|
};
|
|
lime_system_CFFI.__findHaxelib = function(library) {
|
|
return "";
|
|
};
|
|
lime_system_CFFI.__loaderTrace = function(message) {
|
|
};
|
|
lime_system_CFFI.__sysName = function() {
|
|
return null;
|
|
};
|
|
lime_system_CFFI.__tryLoad = function(name,library,func,args) {
|
|
return null;
|
|
};
|
|
var lime_system_CFFIPointer = {};
|
|
lime_system_CFFIPointer._new = function(handle) {
|
|
var this1 = handle;
|
|
return this1;
|
|
};
|
|
lime_system_CFFIPointer.get = function(this1) {
|
|
var tmp = this1 != null;
|
|
return 0;
|
|
};
|
|
lime_system_CFFIPointer.equals = function(a,b) {
|
|
return lime_system_CFFIPointer.get(a) == b;
|
|
};
|
|
lime_system_CFFIPointer.equalsPointer = function(a,b) {
|
|
return lime_system_CFFIPointer.get(a) == lime_system_CFFIPointer.get(b);
|
|
};
|
|
lime_system_CFFIPointer.greaterThan = function(a,b) {
|
|
return lime_system_CFFIPointer.get(a) > b;
|
|
};
|
|
lime_system_CFFIPointer.greaterThanPointer = function(a,b) {
|
|
return lime_system_CFFIPointer.get(a) > lime_system_CFFIPointer.get(b);
|
|
};
|
|
lime_system_CFFIPointer.greaterThanOrEqual = function(a,b) {
|
|
return lime_system_CFFIPointer.get(a) >= b;
|
|
};
|
|
lime_system_CFFIPointer.greaterThanOrEqualPointer = function(a,b) {
|
|
return lime_system_CFFIPointer.get(a) >= lime_system_CFFIPointer.get(b);
|
|
};
|
|
lime_system_CFFIPointer.lessThan = function(a,b) {
|
|
return lime_system_CFFIPointer.get(a) < b;
|
|
};
|
|
lime_system_CFFIPointer.lessThanPointer = function(a,b) {
|
|
return lime_system_CFFIPointer.get(a) < lime_system_CFFIPointer.get(b);
|
|
};
|
|
lime_system_CFFIPointer.lessThanOrEqual = function(a,b) {
|
|
return lime_system_CFFIPointer.get(a) <= b;
|
|
};
|
|
lime_system_CFFIPointer.lessThanOrEqualPointer = function(a,b) {
|
|
return lime_system_CFFIPointer.get(a) <= lime_system_CFFIPointer.get(b);
|
|
};
|
|
lime_system_CFFIPointer.notEquals = function(a,b) {
|
|
return lime_system_CFFIPointer.get(a) != b;
|
|
};
|
|
lime_system_CFFIPointer.notEqualsPointer = function(a,b) {
|
|
return lime_system_CFFIPointer.get(a) != lime_system_CFFIPointer.get(b);
|
|
};
|
|
var lime_system_Clipboard = function() { };
|
|
$hxClasses["lime.system.Clipboard"] = lime_system_Clipboard;
|
|
lime_system_Clipboard.__name__ = "lime.system.Clipboard";
|
|
lime_system_Clipboard.__properties__ = {set_text:"set_text",get_text:"get_text"};
|
|
lime_system_Clipboard._text = null;
|
|
lime_system_Clipboard.__update = function() {
|
|
var cacheText = lime_system_Clipboard._text;
|
|
lime_system_Clipboard._text = null;
|
|
if(lime_system_Clipboard._text != cacheText) {
|
|
lime_system_Clipboard.onUpdate.dispatch();
|
|
}
|
|
};
|
|
lime_system_Clipboard.get_text = function() {
|
|
lime_system_Clipboard.__update();
|
|
return lime_system_Clipboard._text;
|
|
};
|
|
lime_system_Clipboard.set_text = function(value) {
|
|
var cacheText = lime_system_Clipboard._text;
|
|
lime_system_Clipboard._text = value;
|
|
var $window = lime_app_Application.current.__window;
|
|
if($window != null) {
|
|
$window.__backend.setClipboard(value);
|
|
}
|
|
if(lime_system_Clipboard._text != cacheText) {
|
|
lime_system_Clipboard.onUpdate.dispatch();
|
|
}
|
|
return value;
|
|
};
|
|
var lime_system_Display = function() {
|
|
};
|
|
$hxClasses["lime.system.Display"] = lime_system_Display;
|
|
lime_system_Display.__name__ = "lime.system.Display";
|
|
lime_system_Display.prototype = {
|
|
bounds: null
|
|
,currentMode: null
|
|
,id: null
|
|
,dpi: null
|
|
,name: null
|
|
,supportedModes: null
|
|
,__class__: lime_system_Display
|
|
};
|
|
var lime_system_DisplayMode = function(width,height,refreshRate,pixelFormat) {
|
|
this.width = width;
|
|
this.height = height;
|
|
this.refreshRate = refreshRate;
|
|
this.pixelFormat = pixelFormat;
|
|
};
|
|
$hxClasses["lime.system.DisplayMode"] = lime_system_DisplayMode;
|
|
lime_system_DisplayMode.__name__ = "lime.system.DisplayMode";
|
|
lime_system_DisplayMode.prototype = {
|
|
height: null
|
|
,pixelFormat: null
|
|
,refreshRate: null
|
|
,width: null
|
|
,__class__: lime_system_DisplayMode
|
|
};
|
|
var lime_system_Endian = $hxEnums["lime.system.Endian"] = { __ename__ : "lime.system.Endian", __constructs__ : ["LITTLE_ENDIAN","BIG_ENDIAN"]
|
|
,LITTLE_ENDIAN: {_hx_index:0,__enum__:"lime.system.Endian",toString:$estr}
|
|
,BIG_ENDIAN: {_hx_index:1,__enum__:"lime.system.Endian",toString:$estr}
|
|
};
|
|
var lime_system_Sensor = function(type,id) {
|
|
this.onUpdate = new lime_app__$Event_$Float_$Float_$Float_$Void();
|
|
this.type = type;
|
|
this.id = id;
|
|
};
|
|
$hxClasses["lime.system.Sensor"] = lime_system_Sensor;
|
|
lime_system_Sensor.__name__ = "lime.system.Sensor";
|
|
lime_system_Sensor.getSensors = function(type) {
|
|
if(type == null) {
|
|
return lime_system_Sensor.sensors.slice();
|
|
} else {
|
|
var result = [];
|
|
var _g = 0;
|
|
var _g1 = lime_system_Sensor.sensors;
|
|
while(_g < _g1.length) {
|
|
var sensor = _g1[_g];
|
|
++_g;
|
|
if(sensor.type == type) {
|
|
result.push(sensor);
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
};
|
|
lime_system_Sensor.registerSensor = function(type,id) {
|
|
var sensor = new lime_system_Sensor(type,id);
|
|
lime_system_Sensor.sensors.push(sensor);
|
|
lime_system_Sensor.sensorByID.h[id] = sensor;
|
|
return sensor;
|
|
};
|
|
lime_system_Sensor.prototype = {
|
|
id: null
|
|
,onUpdate: null
|
|
,type: null
|
|
,__class__: lime_system_Sensor
|
|
};
|
|
var lime_system_SensorType = $hxEnums["lime.system.SensorType"] = { __ename__ : "lime.system.SensorType", __constructs__ : ["ACCELEROMETER"]
|
|
,ACCELEROMETER: {_hx_index:0,__enum__:"lime.system.SensorType",toString:$estr}
|
|
};
|
|
var lime_system_System = function() { };
|
|
$hxClasses["lime.system.System"] = lime_system_System;
|
|
lime_system_System.__name__ = "lime.system.System";
|
|
lime_system_System.__properties__ = {get_userDirectory:"get_userDirectory",get_platformVersion:"get_platformVersion",get_platformName:"get_platformName",get_platformLabel:"get_platformLabel",get_numDisplays:"get_numDisplays",get_fontsDirectory:"get_fontsDirectory",get_endianness:"get_endianness",get_documentsDirectory:"get_documentsDirectory",get_deviceVendor:"get_deviceVendor",get_deviceModel:"get_deviceModel",get_desktopDirectory:"get_desktopDirectory",get_applicationStorageDirectory:"get_applicationStorageDirectory",get_applicationDirectory:"get_applicationDirectory",set_allowScreenTimeout:"set_allowScreenTimeout",get_allowScreenTimeout:"get_allowScreenTimeout"};
|
|
lime_system_System.disableCFFI = null;
|
|
lime_system_System.__applicationDirectory = null;
|
|
lime_system_System.__applicationEntryPoint = null;
|
|
lime_system_System.__applicationStorageDirectory = null;
|
|
lime_system_System.__desktopDirectory = null;
|
|
lime_system_System.__deviceModel = null;
|
|
lime_system_System.__deviceVendor = null;
|
|
lime_system_System.__documentsDirectory = null;
|
|
lime_system_System.__endianness = null;
|
|
lime_system_System.__fontsDirectory = null;
|
|
lime_system_System.__platformLabel = null;
|
|
lime_system_System.__platformName = null;
|
|
lime_system_System.__platformVersion = null;
|
|
lime_system_System.__userDirectory = null;
|
|
lime_system_System.embed = $hx_exports["lime"]["embed"] = function(projectName,element,width,height,config) {
|
|
if(lime_system_System.__applicationEntryPoint == null) {
|
|
return;
|
|
}
|
|
if(Object.prototype.hasOwnProperty.call(lime_system_System.__applicationEntryPoint.h,projectName)) {
|
|
var htmlElement = null;
|
|
if(typeof(element) == "string") {
|
|
htmlElement = window.document.getElementById(element);
|
|
} else if(element == null) {
|
|
htmlElement = window.document.createElement("div");
|
|
} else {
|
|
htmlElement = element;
|
|
}
|
|
if(htmlElement == null) {
|
|
window.console.log("[lime.embed] ERROR: Cannot find target element: " + Std.string(element));
|
|
return;
|
|
}
|
|
if(width == null) {
|
|
width = 0;
|
|
}
|
|
if(height == null) {
|
|
height = 0;
|
|
}
|
|
if(config == null) {
|
|
config = { };
|
|
}
|
|
if(Object.prototype.hasOwnProperty.call(config,"background") && typeof(config.background) == "string") {
|
|
var background = StringTools.replace(Std.string(config.background),"#","");
|
|
if(background.indexOf("0x") > -1) {
|
|
config.background = Std.parseInt(background);
|
|
} else {
|
|
config.background = Std.parseInt("0x" + background);
|
|
}
|
|
}
|
|
config.element = htmlElement;
|
|
config.width = width;
|
|
config.height = height;
|
|
lime_system_System.__applicationEntryPoint.h[projectName](config);
|
|
}
|
|
};
|
|
lime_system_System.exit = function(code) {
|
|
};
|
|
lime_system_System.getDisplay = function(id) {
|
|
if(id == 0) {
|
|
var display = new lime_system_Display();
|
|
display.id = 0;
|
|
display.name = "Generic Display";
|
|
display.dpi = 96 * window.devicePixelRatio;
|
|
display.currentMode = new lime_system_DisplayMode(window.screen.width,window.screen.height,60,1);
|
|
display.supportedModes = [display.currentMode];
|
|
display.bounds = new lime_math_Rectangle(0,0,display.currentMode.width,display.currentMode.height);
|
|
return display;
|
|
}
|
|
return null;
|
|
};
|
|
lime_system_System.getTimer = function() {
|
|
return window.performance.now() | 0;
|
|
};
|
|
lime_system_System.load = function(library,method,args,lazy) {
|
|
if(lazy == null) {
|
|
lazy = false;
|
|
}
|
|
if(args == null) {
|
|
args = 0;
|
|
}
|
|
return lime_system_CFFI.load(library,method,args,lazy);
|
|
};
|
|
lime_system_System.openFile = function(path) {
|
|
if(path != null) {
|
|
window.open(path,"_blank");
|
|
}
|
|
};
|
|
lime_system_System.openURL = function(url,target) {
|
|
if(target == null) {
|
|
target = "_blank";
|
|
}
|
|
if(url != null) {
|
|
window.open(url,target);
|
|
}
|
|
};
|
|
lime_system_System.__copyMissingFields = function(target,source) {
|
|
if(source == null || target == null) {
|
|
return;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = Reflect.fields(source);
|
|
while(_g < _g1.length) {
|
|
var field = _g1[_g];
|
|
++_g;
|
|
if(!Object.prototype.hasOwnProperty.call(target,field)) {
|
|
target[field] = Reflect.field(source,field);
|
|
}
|
|
}
|
|
};
|
|
lime_system_System.__getDirectory = function(type) {
|
|
return null;
|
|
};
|
|
lime_system_System.__parseBool = function(value) {
|
|
return value == "true";
|
|
};
|
|
lime_system_System.__registerEntryPoint = function(projectName,entryPoint) {
|
|
if(lime_system_System.__applicationEntryPoint == null) {
|
|
lime_system_System.__applicationEntryPoint = new haxe_ds_StringMap();
|
|
}
|
|
lime_system_System.__applicationEntryPoint.h[projectName] = entryPoint;
|
|
};
|
|
lime_system_System.__runProcess = function(command,args) {
|
|
return null;
|
|
};
|
|
lime_system_System.get_allowScreenTimeout = function() {
|
|
return true;
|
|
};
|
|
lime_system_System.set_allowScreenTimeout = function(value) {
|
|
return true;
|
|
};
|
|
lime_system_System.get_applicationDirectory = function() {
|
|
if(lime_system_System.__applicationDirectory == null) {
|
|
lime_system_System.__applicationDirectory = lime_system_System.__getDirectory(0);
|
|
}
|
|
return lime_system_System.__applicationDirectory;
|
|
};
|
|
lime_system_System.get_applicationStorageDirectory = function() {
|
|
if(lime_system_System.__applicationStorageDirectory == null) {
|
|
lime_system_System.__applicationStorageDirectory = lime_system_System.__getDirectory(1);
|
|
}
|
|
return lime_system_System.__applicationStorageDirectory;
|
|
};
|
|
lime_system_System.get_deviceModel = function() {
|
|
var tmp = lime_system_System.__deviceModel == null;
|
|
return lime_system_System.__deviceModel;
|
|
};
|
|
lime_system_System.get_deviceVendor = function() {
|
|
var tmp = lime_system_System.__deviceVendor == null;
|
|
return lime_system_System.__deviceVendor;
|
|
};
|
|
lime_system_System.get_desktopDirectory = function() {
|
|
if(lime_system_System.__desktopDirectory == null) {
|
|
lime_system_System.__desktopDirectory = lime_system_System.__getDirectory(2);
|
|
}
|
|
return lime_system_System.__desktopDirectory;
|
|
};
|
|
lime_system_System.get_documentsDirectory = function() {
|
|
if(lime_system_System.__documentsDirectory == null) {
|
|
lime_system_System.__documentsDirectory = lime_system_System.__getDirectory(3);
|
|
}
|
|
return lime_system_System.__documentsDirectory;
|
|
};
|
|
lime_system_System.get_endianness = function() {
|
|
if(lime_system_System.__endianness == null) {
|
|
var arrayBuffer = new ArrayBuffer(2);
|
|
var elements = null;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var len = null;
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Uint8Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Uint8Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Uint8Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Uint8Array(view);
|
|
} else if(arrayBuffer != null) {
|
|
if(len == null) {
|
|
this1 = new Uint8Array(arrayBuffer,0);
|
|
} else {
|
|
this1 = new Uint8Array(arrayBuffer,0,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
var uint8Array = this1;
|
|
var elements = null;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var len = null;
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Uint16Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Uint16Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Uint16Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Uint16Array(view);
|
|
} else if(arrayBuffer != null) {
|
|
if(len == null) {
|
|
this1 = new Uint16Array(arrayBuffer,0);
|
|
} else {
|
|
this1 = new Uint16Array(arrayBuffer,0,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
var uint16array = this1;
|
|
uint8Array[0] = 170;
|
|
uint8Array[1] = 187;
|
|
if(uint16array[0] == 43707) {
|
|
lime_system_System.__endianness = lime_system_Endian.BIG_ENDIAN;
|
|
} else {
|
|
lime_system_System.__endianness = lime_system_Endian.LITTLE_ENDIAN;
|
|
}
|
|
}
|
|
return lime_system_System.__endianness;
|
|
};
|
|
lime_system_System.get_fontsDirectory = function() {
|
|
if(lime_system_System.__fontsDirectory == null) {
|
|
lime_system_System.__fontsDirectory = lime_system_System.__getDirectory(4);
|
|
}
|
|
return lime_system_System.__fontsDirectory;
|
|
};
|
|
lime_system_System.get_numDisplays = function() {
|
|
return 1;
|
|
};
|
|
lime_system_System.get_platformLabel = function() {
|
|
if(lime_system_System.__platformLabel == null) {
|
|
var name = lime_system_System.get_platformName();
|
|
var version = lime_system_System.get_platformVersion();
|
|
if(name != null && version != null) {
|
|
lime_system_System.__platformLabel = name + " " + version;
|
|
} else if(name != null) {
|
|
lime_system_System.__platformLabel = name;
|
|
}
|
|
}
|
|
return lime_system_System.__platformLabel;
|
|
};
|
|
lime_system_System.get_platformName = function() {
|
|
if(lime_system_System.__platformName == null) {
|
|
lime_system_System.__platformName = "HTML5";
|
|
}
|
|
return lime_system_System.__platformName;
|
|
};
|
|
lime_system_System.get_platformVersion = function() {
|
|
var tmp = lime_system_System.__platformVersion == null;
|
|
return lime_system_System.__platformVersion;
|
|
};
|
|
lime_system_System.get_userDirectory = function() {
|
|
if(lime_system_System.__userDirectory == null) {
|
|
lime_system_System.__userDirectory = lime_system_System.__getDirectory(5);
|
|
}
|
|
return lime_system_System.__userDirectory;
|
|
};
|
|
var lime_system_ThreadPool = function(minThreads,maxThreads) {
|
|
if(maxThreads == null) {
|
|
maxThreads = 1;
|
|
}
|
|
if(minThreads == null) {
|
|
minThreads = 0;
|
|
}
|
|
this.onRun = new lime_app__$Event_$Dynamic_$Void();
|
|
this.onProgress = new lime_app__$Event_$Dynamic_$Void();
|
|
this.onError = new lime_app__$Event_$Dynamic_$Void();
|
|
this.onComplete = new lime_app__$Event_$Dynamic_$Void();
|
|
this.doWork = new lime_app__$Event_$Dynamic_$Void();
|
|
this.minThreads = minThreads;
|
|
this.maxThreads = maxThreads;
|
|
this.currentThreads = 0;
|
|
};
|
|
$hxClasses["lime.system.ThreadPool"] = lime_system_ThreadPool;
|
|
lime_system_ThreadPool.__name__ = "lime.system.ThreadPool";
|
|
lime_system_ThreadPool.prototype = {
|
|
currentThreads: null
|
|
,doWork: null
|
|
,maxThreads: null
|
|
,minThreads: null
|
|
,onComplete: null
|
|
,onError: null
|
|
,onProgress: null
|
|
,onRun: null
|
|
,queue: function(state) {
|
|
this.runWork(state);
|
|
}
|
|
,sendComplete: function(state) {
|
|
this.onComplete.dispatch(state);
|
|
}
|
|
,sendError: function(state) {
|
|
this.onError.dispatch(state);
|
|
}
|
|
,sendProgress: function(state) {
|
|
this.onProgress.dispatch(state);
|
|
}
|
|
,runWork: function(state) {
|
|
this.onRun.dispatch(state);
|
|
this.doWork.dispatch(state);
|
|
}
|
|
,__class__: lime_system_ThreadPool
|
|
};
|
|
var lime_system__$ThreadPool_ThreadPoolMessageType = $hxEnums["lime.system._ThreadPool.ThreadPoolMessageType"] = { __ename__ : "lime.system._ThreadPool.ThreadPoolMessageType", __constructs__ : ["COMPLETE","ERROR","EXIT","PROGRESS","WORK"]
|
|
,COMPLETE: {_hx_index:0,__enum__:"lime.system._ThreadPool.ThreadPoolMessageType",toString:$estr}
|
|
,ERROR: {_hx_index:1,__enum__:"lime.system._ThreadPool.ThreadPoolMessageType",toString:$estr}
|
|
,EXIT: {_hx_index:2,__enum__:"lime.system._ThreadPool.ThreadPoolMessageType",toString:$estr}
|
|
,PROGRESS: {_hx_index:3,__enum__:"lime.system._ThreadPool.ThreadPoolMessageType",toString:$estr}
|
|
,WORK: {_hx_index:4,__enum__:"lime.system._ThreadPool.ThreadPoolMessageType",toString:$estr}
|
|
};
|
|
var lime_system__$ThreadPool_ThreadPoolMessage = function(type,state) {
|
|
this.type = type;
|
|
this.state = state;
|
|
};
|
|
$hxClasses["lime.system._ThreadPool.ThreadPoolMessage"] = lime_system__$ThreadPool_ThreadPoolMessage;
|
|
lime_system__$ThreadPool_ThreadPoolMessage.__name__ = "lime.system._ThreadPool.ThreadPoolMessage";
|
|
lime_system__$ThreadPool_ThreadPoolMessage.prototype = {
|
|
state: null
|
|
,type: null
|
|
,__class__: lime_system__$ThreadPool_ThreadPoolMessage
|
|
};
|
|
var lime_text_Glyph = {};
|
|
lime_text_Glyph._new = function(i) {
|
|
var this1 = i;
|
|
return this1;
|
|
};
|
|
var lime_text_GlyphMetrics = function() {
|
|
};
|
|
$hxClasses["lime.text.GlyphMetrics"] = lime_text_GlyphMetrics;
|
|
lime_text_GlyphMetrics.__name__ = "lime.text.GlyphMetrics";
|
|
lime_text_GlyphMetrics.prototype = {
|
|
advance: null
|
|
,height: null
|
|
,horizontalBearing: null
|
|
,verticalBearing: null
|
|
,__class__: lime_text_GlyphMetrics
|
|
};
|
|
var lime_text_harfbuzz_HB = function() { };
|
|
$hxClasses["lime.text.harfbuzz.HB"] = lime_text_harfbuzz_HB;
|
|
lime_text_harfbuzz_HB.__name__ = "lime.text.harfbuzz.HB";
|
|
lime_text_harfbuzz_HB.shape = function(font,buffer,features) {
|
|
};
|
|
var lime_text_harfbuzz_HBBlob = {};
|
|
lime_text_harfbuzz_HBBlob.__properties__ = {get_length:"get_length",get_immutable:"get_immutable",get_dataWritable:"get_dataWritable",get_data:"get_data",get_empty:"get_empty"};
|
|
lime_text_harfbuzz_HBBlob._new = function(data,length,memoryMode) {
|
|
var this1 = null;
|
|
return this1;
|
|
};
|
|
lime_text_harfbuzz_HBBlob.createSubBlob = function(this1,offset,length) {
|
|
return null;
|
|
};
|
|
lime_text_harfbuzz_HBBlob.makeImmutable = function(this1) {
|
|
};
|
|
lime_text_harfbuzz_HBBlob.get_data = function(this1) {
|
|
return 0;
|
|
};
|
|
lime_text_harfbuzz_HBBlob.get_dataWritable = function(this1) {
|
|
return 0;
|
|
};
|
|
lime_text_harfbuzz_HBBlob.get_empty = function() {
|
|
return null;
|
|
};
|
|
lime_text_harfbuzz_HBBlob.get_immutable = function(this1) {
|
|
return false;
|
|
};
|
|
lime_text_harfbuzz_HBBlob.get_length = function(this1) {
|
|
return 0;
|
|
};
|
|
var lime_text_harfbuzz_HBBuffer = {};
|
|
lime_text_harfbuzz_HBBuffer.__properties__ = {set_segmentProperties:"set_segmentProperties",get_segmentProperties:"get_segmentProperties",set_script:"set_script",get_script:"get_script",set_replacementCodepoint:"set_replacementCodepoint",get_replacementCodepoint:"get_replacementCodepoint",set_length:"set_length",get_length:"get_length",set_language:"set_language",get_language:"get_language",set_flags:"set_flags",get_flags:"get_flags",set_direction:"set_direction",get_direction:"get_direction",set_contentType:"set_contentType",get_contentType:"get_contentType",set_clusterLevel:"set_clusterLevel",get_clusterLevel:"get_clusterLevel",get_allocationSuccessful:"get_allocationSuccessful"};
|
|
lime_text_harfbuzz_HBBuffer._new = function() {
|
|
var this1 = null;
|
|
return this1;
|
|
};
|
|
lime_text_harfbuzz_HBBuffer.add = function(this1,codepoint,cluster) {
|
|
};
|
|
lime_text_harfbuzz_HBBuffer.addCodepoints = function(this1,text,textLength,itemOffset,itemLength) {
|
|
};
|
|
lime_text_harfbuzz_HBBuffer.addUTF8 = function(this1,text,itemOffset,itemLength) {
|
|
};
|
|
lime_text_harfbuzz_HBBuffer.addUTF16 = function(this1,text,textLength,itemOffset,itemLength) {
|
|
};
|
|
lime_text_harfbuzz_HBBuffer.addUTF32 = function(this1,text,textLength,itemOffset,itemLength) {
|
|
};
|
|
lime_text_harfbuzz_HBBuffer.clearContents = function(this1) {
|
|
};
|
|
lime_text_harfbuzz_HBBuffer.getGlyphInfo = function(this1) {
|
|
return null;
|
|
};
|
|
lime_text_harfbuzz_HBBuffer.getGlyphPositions = function(this1) {
|
|
return null;
|
|
};
|
|
lime_text_harfbuzz_HBBuffer.guessSegmentProperties = function(this1) {
|
|
};
|
|
lime_text_harfbuzz_HBBuffer.normalizeGlyphs = function(this1) {
|
|
};
|
|
lime_text_harfbuzz_HBBuffer.preallocate = function(this1,size) {
|
|
return false;
|
|
};
|
|
lime_text_harfbuzz_HBBuffer.reset = function(this1) {
|
|
};
|
|
lime_text_harfbuzz_HBBuffer.reverse = function(this1) {
|
|
};
|
|
lime_text_harfbuzz_HBBuffer.reverseClusters = function(this1) {
|
|
};
|
|
lime_text_harfbuzz_HBBuffer.get_allocationSuccessful = function(this1) {
|
|
return false;
|
|
};
|
|
lime_text_harfbuzz_HBBuffer.get_clusterLevel = function(this1) {
|
|
return 0;
|
|
};
|
|
lime_text_harfbuzz_HBBuffer.set_clusterLevel = function(this1,value) {
|
|
return value;
|
|
};
|
|
lime_text_harfbuzz_HBBuffer.get_contentType = function(this1) {
|
|
return 0;
|
|
};
|
|
lime_text_harfbuzz_HBBuffer.set_contentType = function(this1,value) {
|
|
return value;
|
|
};
|
|
lime_text_harfbuzz_HBBuffer.get_direction = function(this1) {
|
|
return 0;
|
|
};
|
|
lime_text_harfbuzz_HBBuffer.set_direction = function(this1,value) {
|
|
return value;
|
|
};
|
|
lime_text_harfbuzz_HBBuffer.get_empty = function() {
|
|
return null;
|
|
};
|
|
lime_text_harfbuzz_HBBuffer.get_flags = function(this1) {
|
|
return 0;
|
|
};
|
|
lime_text_harfbuzz_HBBuffer.set_flags = function(this1,value) {
|
|
return value;
|
|
};
|
|
lime_text_harfbuzz_HBBuffer.get_language = function(this1) {
|
|
return null;
|
|
};
|
|
lime_text_harfbuzz_HBBuffer.set_language = function(this1,value) {
|
|
return value;
|
|
};
|
|
lime_text_harfbuzz_HBBuffer.get_length = function(this1) {
|
|
return 0;
|
|
};
|
|
lime_text_harfbuzz_HBBuffer.set_length = function(this1,value) {
|
|
return value;
|
|
};
|
|
lime_text_harfbuzz_HBBuffer.get_replacementCodepoint = function(this1) {
|
|
return 0;
|
|
};
|
|
lime_text_harfbuzz_HBBuffer.set_replacementCodepoint = function(this1,value) {
|
|
return value;
|
|
};
|
|
lime_text_harfbuzz_HBBuffer.get_script = function(this1) {
|
|
return 0;
|
|
};
|
|
lime_text_harfbuzz_HBBuffer.set_script = function(this1,value) {
|
|
return value;
|
|
};
|
|
lime_text_harfbuzz_HBBuffer.get_segmentProperties = function(this1) {
|
|
return null;
|
|
};
|
|
lime_text_harfbuzz_HBBuffer.set_segmentProperties = function(this1,value) {
|
|
return value;
|
|
};
|
|
var lime_text_harfbuzz_HBFTFont = {};
|
|
lime_text_harfbuzz_HBFTFont.__properties__ = {set_loadFlags:"set_loadFlags",get_loadFlags:"get_loadFlags"};
|
|
lime_text_harfbuzz_HBFTFont._new = function(font) {
|
|
var this1;
|
|
if(font.src != null) {
|
|
this1 = null;
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
return this1;
|
|
};
|
|
lime_text_harfbuzz_HBFTFont.get_loadFlags = function(this1) {
|
|
return 0;
|
|
};
|
|
lime_text_harfbuzz_HBFTFont.set_loadFlags = function(this1,value) {
|
|
return value;
|
|
};
|
|
var lime_text_harfbuzz_HBFace = {};
|
|
lime_text_harfbuzz_HBFace.__properties__ = {set_upem:"set_upem",get_upem:"get_upem",set_index:"set_index",get_index:"get_index",get_immutable:"get_immutable",set_glyphCount:"set_glyphCount",get_glyphCount:"get_glyphCount",get_empty:"get_empty"};
|
|
lime_text_harfbuzz_HBFace._new = function(blob,index) {
|
|
var this1 = null;
|
|
return this1;
|
|
};
|
|
lime_text_harfbuzz_HBFace.get_empty = function() {
|
|
return null;
|
|
};
|
|
lime_text_harfbuzz_HBFace.get_glyphCount = function(this1) {
|
|
return 0;
|
|
};
|
|
lime_text_harfbuzz_HBFace.set_glyphCount = function(this1,value) {
|
|
return value;
|
|
};
|
|
lime_text_harfbuzz_HBFace.get_immutable = function(this1) {
|
|
return false;
|
|
};
|
|
lime_text_harfbuzz_HBFace.get_index = function(this1) {
|
|
return 0;
|
|
};
|
|
lime_text_harfbuzz_HBFace.set_index = function(this1,value) {
|
|
return value;
|
|
};
|
|
lime_text_harfbuzz_HBFace.get_upem = function(this1) {
|
|
return 0;
|
|
};
|
|
lime_text_harfbuzz_HBFace.set_upem = function(this1,value) {
|
|
return value;
|
|
};
|
|
var lime_text_harfbuzz_HBFeature = function() {
|
|
};
|
|
$hxClasses["lime.text.harfbuzz.HBFeature"] = lime_text_harfbuzz_HBFeature;
|
|
lime_text_harfbuzz_HBFeature.__name__ = "lime.text.harfbuzz.HBFeature";
|
|
lime_text_harfbuzz_HBFeature.prototype = {
|
|
__class__: lime_text_harfbuzz_HBFeature
|
|
};
|
|
var lime_text_harfbuzz_HBFont = {};
|
|
lime_text_harfbuzz_HBFont.__properties__ = {set_scale:"set_scale",get_scale:"get_scale",set_ppem:"set_ppem",get_ppem:"get_ppem",get_parent:"get_parent",get_immutable:"get_immutable",get_face:"get_face",get_empty:"get_empty"};
|
|
lime_text_harfbuzz_HBFont._new = function(face) {
|
|
var this1 = null;
|
|
return this1;
|
|
};
|
|
lime_text_harfbuzz_HBFont.addGlyphOriginForDirection = function(this1,glyph,direction,x,y) {
|
|
};
|
|
lime_text_harfbuzz_HBFont.createSubFont = function(this1) {
|
|
return null;
|
|
};
|
|
lime_text_harfbuzz_HBFont.getGlyphAdvanceForDirection = function(this1,glyph,direction) {
|
|
return null;
|
|
};
|
|
lime_text_harfbuzz_HBFont.getGlyphKerningForDirection = function(this1,glyph,firstGlyph,secondGlyph,direction) {
|
|
return null;
|
|
};
|
|
lime_text_harfbuzz_HBFont.getGlyphOriginForDirection = function(this1,glyph,direction) {
|
|
return null;
|
|
};
|
|
lime_text_harfbuzz_HBFont.glyphFromString = function(this1,s) {
|
|
return 0;
|
|
};
|
|
lime_text_harfbuzz_HBFont.glyphToString = function(this1,codepoint) {
|
|
return null;
|
|
};
|
|
lime_text_harfbuzz_HBFont.makeImmutable = function(this1) {
|
|
};
|
|
lime_text_harfbuzz_HBFont.subtractGlyphOriginForDirection = function(this1,glyph,direction,x,y) {
|
|
};
|
|
lime_text_harfbuzz_HBFont.get_empty = function() {
|
|
return null;
|
|
};
|
|
lime_text_harfbuzz_HBFont.get_face = function(this1) {
|
|
return null;
|
|
};
|
|
lime_text_harfbuzz_HBFont.get_immutable = function(this1) {
|
|
return false;
|
|
};
|
|
lime_text_harfbuzz_HBFont.get_parent = function(this1) {
|
|
return null;
|
|
};
|
|
lime_text_harfbuzz_HBFont.get_ppem = function(this1) {
|
|
return null;
|
|
};
|
|
lime_text_harfbuzz_HBFont.set_ppem = function(this1,value) {
|
|
return value;
|
|
};
|
|
lime_text_harfbuzz_HBFont.get_scale = function(this1) {
|
|
return null;
|
|
};
|
|
lime_text_harfbuzz_HBFont.set_scale = function(this1,value) {
|
|
return value;
|
|
};
|
|
var lime_text_harfbuzz_HBGlyphInfo = function() {
|
|
};
|
|
$hxClasses["lime.text.harfbuzz.HBGlyphInfo"] = lime_text_harfbuzz_HBGlyphInfo;
|
|
lime_text_harfbuzz_HBGlyphInfo.__name__ = "lime.text.harfbuzz.HBGlyphInfo";
|
|
lime_text_harfbuzz_HBGlyphInfo.prototype = {
|
|
codepoint: null
|
|
,mask: null
|
|
,cluster: null
|
|
,__class__: lime_text_harfbuzz_HBGlyphInfo
|
|
};
|
|
var lime_text_harfbuzz_HBGlyphPosition = function() {
|
|
};
|
|
$hxClasses["lime.text.harfbuzz.HBGlyphPosition"] = lime_text_harfbuzz_HBGlyphPosition;
|
|
lime_text_harfbuzz_HBGlyphPosition.__name__ = "lime.text.harfbuzz.HBGlyphPosition";
|
|
lime_text_harfbuzz_HBGlyphPosition.prototype = {
|
|
xAdvance: null
|
|
,xOffset: null
|
|
,yAdvance: null
|
|
,yOffset: null
|
|
,__class__: lime_text_harfbuzz_HBGlyphPosition
|
|
};
|
|
var lime_text_harfbuzz_HBLanguage = {};
|
|
lime_text_harfbuzz_HBLanguage._new = function(language) {
|
|
var this1 = null;
|
|
return this1;
|
|
};
|
|
lime_text_harfbuzz_HBLanguage.toString = function(this1) {
|
|
return null;
|
|
};
|
|
lime_text_harfbuzz_HBLanguage.fromString = function(value) {
|
|
return lime_text_harfbuzz_HBLanguage._new(value);
|
|
};
|
|
var lime_text_harfbuzz_HBSegmentProperties = function() {
|
|
};
|
|
$hxClasses["lime.text.harfbuzz.HBSegmentProperties"] = lime_text_harfbuzz_HBSegmentProperties;
|
|
lime_text_harfbuzz_HBSegmentProperties.__name__ = "lime.text.harfbuzz.HBSegmentProperties";
|
|
lime_text_harfbuzz_HBSegmentProperties.prototype = {
|
|
__class__: lime_text_harfbuzz_HBSegmentProperties
|
|
};
|
|
var lime_ui_FileDialog = function() {
|
|
this.onSelectMultiple = new lime_app__$Event_$Array_$String_$_$Void();
|
|
this.onSelect = new lime_app__$Event_$String_$Void();
|
|
this.onSave = new lime_app__$Event_$String_$Void();
|
|
this.onOpen = new lime_app__$Event_$lime_$utils_$Resource_$Void();
|
|
this.onCancel = new lime_app__$Event_$Void_$Void();
|
|
};
|
|
$hxClasses["lime.ui.FileDialog"] = lime_ui_FileDialog;
|
|
lime_ui_FileDialog.__name__ = "lime.ui.FileDialog";
|
|
lime_ui_FileDialog.prototype = {
|
|
onCancel: null
|
|
,onOpen: null
|
|
,onSave: null
|
|
,onSelect: null
|
|
,onSelectMultiple: null
|
|
,browse: function(type,filter,defaultPath,title) {
|
|
if(type == null) {
|
|
type = lime_ui_FileDialogType.OPEN;
|
|
}
|
|
this.onCancel.dispatch();
|
|
return false;
|
|
}
|
|
,open: function(filter,defaultPath,title) {
|
|
this.onCancel.dispatch();
|
|
return false;
|
|
}
|
|
,save: function(data,filter,defaultPath,title,type) {
|
|
if(type == null) {
|
|
type = "application/octet-stream";
|
|
}
|
|
if(data == null) {
|
|
this.onCancel.dispatch();
|
|
return false;
|
|
}
|
|
var defaultExtension = "";
|
|
if(lime_graphics_Image.__isPNG(data)) {
|
|
type = "image/png";
|
|
defaultExtension = ".png";
|
|
} else if(lime_graphics_Image.__isJPG(data)) {
|
|
type = "image/jpeg";
|
|
defaultExtension = ".jpg";
|
|
} else if(lime_graphics_Image.__isGIF(data)) {
|
|
type = "image/gif";
|
|
defaultExtension = ".gif";
|
|
} else if(lime_graphics_Image.__isWebP(data)) {
|
|
type = "image/webp";
|
|
defaultExtension = ".webp";
|
|
}
|
|
var path = defaultPath != null ? haxe_io_Path.withoutDirectory(defaultPath) : "download" + defaultExtension;
|
|
var buffer = data.b.bufferValue;
|
|
buffer = buffer.slice(0,data.length);
|
|
window.saveAs(new Blob([buffer],{ type : type}),path,true);
|
|
this.onSave.dispatch(path);
|
|
return true;
|
|
}
|
|
,__class__: lime_ui_FileDialog
|
|
};
|
|
var lime_ui_FileDialogType = $hxEnums["lime.ui.FileDialogType"] = { __ename__ : "lime.ui.FileDialogType", __constructs__ : ["OPEN","OPEN_MULTIPLE","SAVE","OPEN_DIRECTORY"]
|
|
,OPEN: {_hx_index:0,__enum__:"lime.ui.FileDialogType",toString:$estr}
|
|
,OPEN_MULTIPLE: {_hx_index:1,__enum__:"lime.ui.FileDialogType",toString:$estr}
|
|
,SAVE: {_hx_index:2,__enum__:"lime.ui.FileDialogType",toString:$estr}
|
|
,OPEN_DIRECTORY: {_hx_index:3,__enum__:"lime.ui.FileDialogType",toString:$estr}
|
|
};
|
|
var lime_ui_Gamepad = function(id) {
|
|
this.onDisconnect = new lime_app__$Event_$Void_$Void();
|
|
this.onButtonUp = new lime_app__$Event_$lime_$ui_$GamepadButton_$Void();
|
|
this.onButtonDown = new lime_app__$Event_$lime_$ui_$GamepadButton_$Void();
|
|
this.onAxisMove = new lime_app__$Event_$lime_$ui_$GamepadAxis_$Float_$Void();
|
|
this.id = id;
|
|
this.connected = true;
|
|
};
|
|
$hxClasses["lime.ui.Gamepad"] = lime_ui_Gamepad;
|
|
lime_ui_Gamepad.__name__ = "lime.ui.Gamepad";
|
|
lime_ui_Gamepad.addMappings = function(mappings) {
|
|
};
|
|
lime_ui_Gamepad.__connect = function(id) {
|
|
if(!lime_ui_Gamepad.devices.h.hasOwnProperty(id)) {
|
|
var gamepad = new lime_ui_Gamepad(id);
|
|
lime_ui_Gamepad.devices.h[id] = gamepad;
|
|
lime_ui_Gamepad.onConnect.dispatch(gamepad);
|
|
}
|
|
};
|
|
lime_ui_Gamepad.__disconnect = function(id) {
|
|
var gamepad = lime_ui_Gamepad.devices.h[id];
|
|
if(gamepad != null) {
|
|
gamepad.connected = false;
|
|
}
|
|
lime_ui_Gamepad.devices.remove(id);
|
|
if(gamepad != null) {
|
|
gamepad.onDisconnect.dispatch();
|
|
}
|
|
};
|
|
lime_ui_Gamepad.prototype = {
|
|
connected: null
|
|
,id: null
|
|
,onAxisMove: null
|
|
,onButtonDown: null
|
|
,onButtonUp: null
|
|
,onDisconnect: null
|
|
,get_guid: function() {
|
|
var devices = lime_ui_Joystick.__getDeviceData();
|
|
return devices[this.id].id;
|
|
}
|
|
,get_name: function() {
|
|
var devices = lime_ui_Joystick.__getDeviceData();
|
|
return devices[this.id].id;
|
|
}
|
|
,__class__: lime_ui_Gamepad
|
|
,__properties__: {get_name:"get_name",get_guid:"get_guid"}
|
|
};
|
|
var lime_ui_GamepadAxis = {};
|
|
lime_ui_GamepadAxis.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "LEFT_X";
|
|
case 1:
|
|
return "LEFT_Y";
|
|
case 2:
|
|
return "RIGHT_X";
|
|
case 3:
|
|
return "RIGHT_Y";
|
|
case 4:
|
|
return "TRIGGER_LEFT";
|
|
case 5:
|
|
return "TRIGGER_RIGHT";
|
|
default:
|
|
return "UNKNOWN (" + this1 + ")";
|
|
}
|
|
};
|
|
var lime_ui_GamepadButton = {};
|
|
lime_ui_GamepadButton.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "A";
|
|
case 1:
|
|
return "B";
|
|
case 2:
|
|
return "X";
|
|
case 3:
|
|
return "Y";
|
|
case 4:
|
|
return "BACK";
|
|
case 5:
|
|
return "GUIDE";
|
|
case 6:
|
|
return "START";
|
|
case 7:
|
|
return "LEFT_STICK";
|
|
case 8:
|
|
return "RIGHT_STICK";
|
|
case 9:
|
|
return "LEFT_SHOULDER";
|
|
case 10:
|
|
return "RIGHT_SHOULDER";
|
|
case 11:
|
|
return "DPAD_UP";
|
|
case 12:
|
|
return "DPAD_DOWN";
|
|
case 13:
|
|
return "DPAD_LEFT";
|
|
case 14:
|
|
return "DPAD_RIGHT";
|
|
default:
|
|
return "UNKNOWN (" + this1 + ")";
|
|
}
|
|
};
|
|
var lime_ui_Joystick = function(id) {
|
|
this.onTrackballMove = new lime_app__$Event_$Int_$Float_$Float_$Void();
|
|
this.onHatMove = new lime_app__$Event_$Int_$lime_$ui_$JoystickHatPosition_$Void();
|
|
this.onDisconnect = new lime_app__$Event_$Void_$Void();
|
|
this.onButtonUp = new lime_app__$Event_$Int_$Void();
|
|
this.onButtonDown = new lime_app__$Event_$Int_$Void();
|
|
this.onAxisMove = new lime_app__$Event_$Int_$Float_$Void();
|
|
this.id = id;
|
|
this.connected = true;
|
|
};
|
|
$hxClasses["lime.ui.Joystick"] = lime_ui_Joystick;
|
|
lime_ui_Joystick.__name__ = "lime.ui.Joystick";
|
|
lime_ui_Joystick.__connect = function(id) {
|
|
if(!lime_ui_Joystick.devices.h.hasOwnProperty(id)) {
|
|
var joystick = new lime_ui_Joystick(id);
|
|
lime_ui_Joystick.devices.h[id] = joystick;
|
|
lime_ui_Joystick.onConnect.dispatch(joystick);
|
|
}
|
|
};
|
|
lime_ui_Joystick.__disconnect = function(id) {
|
|
var joystick = lime_ui_Joystick.devices.h[id];
|
|
if(joystick != null) {
|
|
joystick.connected = false;
|
|
}
|
|
lime_ui_Joystick.devices.remove(id);
|
|
if(joystick != null) {
|
|
joystick.onDisconnect.dispatch();
|
|
}
|
|
};
|
|
lime_ui_Joystick.__getDeviceData = function() {
|
|
if(navigator.getGamepads) {
|
|
return navigator.getGamepads();
|
|
} else if(navigator.webkitGetGamepads) {
|
|
return navigator.webkitGetGamepads();
|
|
} else {
|
|
return null;
|
|
}
|
|
};
|
|
lime_ui_Joystick.prototype = {
|
|
connected: null
|
|
,id: null
|
|
,onAxisMove: null
|
|
,onButtonDown: null
|
|
,onButtonUp: null
|
|
,onDisconnect: null
|
|
,onHatMove: null
|
|
,onTrackballMove: null
|
|
,get_guid: function() {
|
|
var devices = lime_ui_Joystick.__getDeviceData();
|
|
return devices[this.id].id;
|
|
}
|
|
,get_name: function() {
|
|
var devices = lime_ui_Joystick.__getDeviceData();
|
|
return devices[this.id].id;
|
|
}
|
|
,get_numAxes: function() {
|
|
var devices = lime_ui_Joystick.__getDeviceData();
|
|
return devices[this.id].axes.length;
|
|
}
|
|
,get_numButtons: function() {
|
|
var devices = lime_ui_Joystick.__getDeviceData();
|
|
return devices[this.id].buttons.length;
|
|
}
|
|
,get_numHats: function() {
|
|
return 0;
|
|
}
|
|
,get_numTrackballs: function() {
|
|
return 0;
|
|
}
|
|
,__class__: lime_ui_Joystick
|
|
,__properties__: {get_numTrackballs:"get_numTrackballs",get_numHats:"get_numHats",get_numButtons:"get_numButtons",get_numAxes:"get_numAxes",get_name:"get_name",get_guid:"get_guid"}
|
|
};
|
|
var lime_ui_JoystickHatPosition = {};
|
|
lime_ui_JoystickHatPosition.__properties__ = {set_up:"set_up",get_up:"get_up",set_right:"set_right",get_right:"get_right",set_left:"set_left",get_left:"get_left",set_down:"set_down",get_down:"get_down",set_center:"set_center",get_center:"get_center"};
|
|
lime_ui_JoystickHatPosition._new = function(value) {
|
|
var this1 = value;
|
|
return this1;
|
|
};
|
|
lime_ui_JoystickHatPosition.get_center = function(this1) {
|
|
return this1 == 0;
|
|
};
|
|
lime_ui_JoystickHatPosition.set_center = function(this1,value) {
|
|
if(value) {
|
|
this1 = 0;
|
|
}
|
|
return value;
|
|
};
|
|
lime_ui_JoystickHatPosition.get_down = function(this1) {
|
|
return (this1 & 4) > 0;
|
|
};
|
|
lime_ui_JoystickHatPosition.set_down = function(this1,value) {
|
|
if(value) {
|
|
this1 |= 4;
|
|
} else {
|
|
this1 &= 268435455 - 4;
|
|
}
|
|
return value;
|
|
};
|
|
lime_ui_JoystickHatPosition.get_left = function(this1) {
|
|
return (this1 & 8) > 0;
|
|
};
|
|
lime_ui_JoystickHatPosition.set_left = function(this1,value) {
|
|
if(value) {
|
|
this1 |= 8;
|
|
} else {
|
|
this1 &= 268435455 - 8;
|
|
}
|
|
return value;
|
|
};
|
|
lime_ui_JoystickHatPosition.get_right = function(this1) {
|
|
return (this1 & 2) > 0;
|
|
};
|
|
lime_ui_JoystickHatPosition.set_right = function(this1,value) {
|
|
if(value) {
|
|
this1 |= 2;
|
|
} else {
|
|
this1 &= 268435455 - 2;
|
|
}
|
|
return value;
|
|
};
|
|
lime_ui_JoystickHatPosition.get_up = function(this1) {
|
|
return (this1 & 1) > 0;
|
|
};
|
|
lime_ui_JoystickHatPosition.set_up = function(this1,value) {
|
|
if(value) {
|
|
this1 |= 1;
|
|
} else {
|
|
this1 &= 268435455 - 1;
|
|
}
|
|
return value;
|
|
};
|
|
var lime_ui_KeyCode = {};
|
|
lime_ui_KeyCode.fromScanCode = function(scanCode) {
|
|
return 0;
|
|
};
|
|
lime_ui_KeyCode.toScanCode = function(keyCode) {
|
|
return 0;
|
|
};
|
|
lime_ui_KeyCode.gt = function(a,b) {
|
|
return a > b;
|
|
};
|
|
lime_ui_KeyCode.gte = function(a,b) {
|
|
return a >= b;
|
|
};
|
|
lime_ui_KeyCode.lt = function(a,b) {
|
|
return a < b;
|
|
};
|
|
lime_ui_KeyCode.lte = function(a,b) {
|
|
return a <= b;
|
|
};
|
|
lime_ui_KeyCode.plus = function(a,b) {
|
|
return a + b;
|
|
};
|
|
var lime_ui_KeyModifier = {};
|
|
lime_ui_KeyModifier.__properties__ = {set_shiftKey:"set_shiftKey",get_shiftKey:"get_shiftKey",set_numLock:"set_numLock",get_numLock:"get_numLock",set_metaKey:"set_metaKey",get_metaKey:"get_metaKey",set_ctrlKey:"set_ctrlKey",get_ctrlKey:"get_ctrlKey",set_capsLock:"set_capsLock",get_capsLock:"get_capsLock",set_altKey:"set_altKey",get_altKey:"get_altKey"};
|
|
lime_ui_KeyModifier.get_altKey = function(this1) {
|
|
if((this1 & 256) <= 0) {
|
|
return (this1 & 512) > 0;
|
|
} else {
|
|
return true;
|
|
}
|
|
};
|
|
lime_ui_KeyModifier.set_altKey = function(this1,value) {
|
|
if(value) {
|
|
this1 |= 768;
|
|
} else {
|
|
this1 &= 268435455 - 768;
|
|
}
|
|
return value;
|
|
};
|
|
lime_ui_KeyModifier.get_capsLock = function(this1) {
|
|
if((this1 & 8192) <= 0) {
|
|
return (this1 & 8192) > 0;
|
|
} else {
|
|
return true;
|
|
}
|
|
};
|
|
lime_ui_KeyModifier.set_capsLock = function(this1,value) {
|
|
if(value) {
|
|
this1 |= 8192;
|
|
} else {
|
|
this1 &= 268435455 - 8192;
|
|
}
|
|
return value;
|
|
};
|
|
lime_ui_KeyModifier.get_ctrlKey = function(this1) {
|
|
if((this1 & 64) <= 0) {
|
|
return (this1 & 128) > 0;
|
|
} else {
|
|
return true;
|
|
}
|
|
};
|
|
lime_ui_KeyModifier.set_ctrlKey = function(this1,value) {
|
|
if(value) {
|
|
this1 |= 192;
|
|
} else {
|
|
this1 &= 268435455 - 192;
|
|
}
|
|
return value;
|
|
};
|
|
lime_ui_KeyModifier.get_metaKey = function(this1) {
|
|
if((this1 & 1024) <= 0) {
|
|
return (this1 & 2048) > 0;
|
|
} else {
|
|
return true;
|
|
}
|
|
};
|
|
lime_ui_KeyModifier.set_metaKey = function(this1,value) {
|
|
if(value) {
|
|
this1 |= 3072;
|
|
} else {
|
|
this1 &= 268435455 - 3072;
|
|
}
|
|
return value;
|
|
};
|
|
lime_ui_KeyModifier.get_numLock = function(this1) {
|
|
if((this1 & 4096) <= 0) {
|
|
return (this1 & 4096) > 0;
|
|
} else {
|
|
return true;
|
|
}
|
|
};
|
|
lime_ui_KeyModifier.set_numLock = function(this1,value) {
|
|
if(value) {
|
|
this1 |= 4096;
|
|
} else {
|
|
this1 &= 268435455 - 4096;
|
|
}
|
|
return value;
|
|
};
|
|
lime_ui_KeyModifier.get_shiftKey = function(this1) {
|
|
if((this1 & 1) <= 0) {
|
|
return (this1 & 2) > 0;
|
|
} else {
|
|
return true;
|
|
}
|
|
};
|
|
lime_ui_KeyModifier.set_shiftKey = function(this1,value) {
|
|
if(value) {
|
|
this1 |= 3;
|
|
} else {
|
|
this1 &= 268435455 - 3;
|
|
}
|
|
return value;
|
|
};
|
|
var lime_ui_MouseCursor = $hxEnums["lime.ui.MouseCursor"] = { __ename__ : "lime.ui.MouseCursor", __constructs__ : ["ARROW","CROSSHAIR","DEFAULT","MOVE","POINTER","RESIZE_NESW","RESIZE_NS","RESIZE_NWSE","RESIZE_WE","TEXT","WAIT","WAIT_ARROW","CUSTOM"]
|
|
,ARROW: {_hx_index:0,__enum__:"lime.ui.MouseCursor",toString:$estr}
|
|
,CROSSHAIR: {_hx_index:1,__enum__:"lime.ui.MouseCursor",toString:$estr}
|
|
,DEFAULT: {_hx_index:2,__enum__:"lime.ui.MouseCursor",toString:$estr}
|
|
,MOVE: {_hx_index:3,__enum__:"lime.ui.MouseCursor",toString:$estr}
|
|
,POINTER: {_hx_index:4,__enum__:"lime.ui.MouseCursor",toString:$estr}
|
|
,RESIZE_NESW: {_hx_index:5,__enum__:"lime.ui.MouseCursor",toString:$estr}
|
|
,RESIZE_NS: {_hx_index:6,__enum__:"lime.ui.MouseCursor",toString:$estr}
|
|
,RESIZE_NWSE: {_hx_index:7,__enum__:"lime.ui.MouseCursor",toString:$estr}
|
|
,RESIZE_WE: {_hx_index:8,__enum__:"lime.ui.MouseCursor",toString:$estr}
|
|
,TEXT: {_hx_index:9,__enum__:"lime.ui.MouseCursor",toString:$estr}
|
|
,WAIT: {_hx_index:10,__enum__:"lime.ui.MouseCursor",toString:$estr}
|
|
,WAIT_ARROW: {_hx_index:11,__enum__:"lime.ui.MouseCursor",toString:$estr}
|
|
,CUSTOM: {_hx_index:12,__enum__:"lime.ui.MouseCursor",toString:$estr}
|
|
};
|
|
var lime_ui_MouseWheelMode = $hxEnums["lime.ui.MouseWheelMode"] = { __ename__ : "lime.ui.MouseWheelMode", __constructs__ : ["PIXELS","LINES","PAGES","UNKNOWN"]
|
|
,PIXELS: {_hx_index:0,__enum__:"lime.ui.MouseWheelMode",toString:$estr}
|
|
,LINES: {_hx_index:1,__enum__:"lime.ui.MouseWheelMode",toString:$estr}
|
|
,PAGES: {_hx_index:2,__enum__:"lime.ui.MouseWheelMode",toString:$estr}
|
|
,UNKNOWN: {_hx_index:3,__enum__:"lime.ui.MouseWheelMode",toString:$estr}
|
|
};
|
|
var lime_ui_ScanCode = {};
|
|
lime_ui_ScanCode.fromKeyCode = function(keyCode) {
|
|
return lime_ui_KeyCode.toScanCode(keyCode);
|
|
};
|
|
lime_ui_ScanCode.toKeyCode = function(scanCode) {
|
|
return lime_ui_KeyCode.fromScanCode(scanCode);
|
|
};
|
|
lime_ui_ScanCode.gt = function(a,b) {
|
|
return a > b;
|
|
};
|
|
lime_ui_ScanCode.gte = function(a,b) {
|
|
return a >= b;
|
|
};
|
|
lime_ui_ScanCode.lt = function(a,b) {
|
|
return a < b;
|
|
};
|
|
lime_ui_ScanCode.lte = function(a,b) {
|
|
return a <= b;
|
|
};
|
|
lime_ui_ScanCode.plus = function(a,b) {
|
|
return a + b;
|
|
};
|
|
var lime_ui_Touch = function(x,y,id,dx,dy,pressure,device) {
|
|
this.x = x;
|
|
this.y = y;
|
|
this.id = id;
|
|
this.dx = dx;
|
|
this.dy = dy;
|
|
this.pressure = pressure;
|
|
this.device = device;
|
|
};
|
|
$hxClasses["lime.ui.Touch"] = lime_ui_Touch;
|
|
lime_ui_Touch.__name__ = "lime.ui.Touch";
|
|
lime_ui_Touch.prototype = {
|
|
device: null
|
|
,dx: null
|
|
,dy: null
|
|
,id: null
|
|
,pressure: null
|
|
,x: null
|
|
,y: null
|
|
,__class__: lime_ui_Touch
|
|
};
|
|
var lime_ui_Window = function(application,attributes) {
|
|
this.onTextInput = new lime_app__$Event_$String_$Void();
|
|
this.onTextEdit = new lime_app__$Event_$String_$Int_$Int_$Void();
|
|
this.onRestore = new lime_app__$Event_$Void_$Void();
|
|
this.onResize = new lime_app__$Event_$Int_$Int_$Void();
|
|
this.onRenderContextRestored = new lime_app__$Event_$lime_$graphics_$RenderContext_$Void();
|
|
this.onRenderContextLost = new lime_app__$Event_$Void_$Void();
|
|
this.onRender = new lime_app__$Event_$lime_$graphics_$RenderContext_$Void();
|
|
this.onMove = new lime_app__$Event_$Float_$Float_$Void();
|
|
this.onMouseWheel = new lime_app__$Event_$Float_$Float_$lime_$ui_$MouseWheelMode_$Void();
|
|
this.onMouseUp = new lime_app__$Event_$Float_$Float_$Int_$Void();
|
|
this.onMouseMoveRelative = new lime_app__$Event_$Float_$Float_$Void();
|
|
this.onMouseMove = new lime_app__$Event_$Float_$Float_$Void();
|
|
this.onMouseDown = new lime_app__$Event_$Float_$Float_$lime_$ui_$MouseButton_$Void();
|
|
this.onMinimize = new lime_app__$Event_$Void_$Void();
|
|
this.onMaximize = new lime_app__$Event_$Void_$Void();
|
|
this.onLeave = new lime_app__$Event_$Void_$Void();
|
|
this.onKeyUp = new lime_app__$Event_$lime_$ui_$KeyCode_$lime_$ui_$KeyModifier_$Void();
|
|
this.onKeyDown = new lime_app__$Event_$lime_$ui_$KeyCode_$lime_$ui_$KeyModifier_$Void();
|
|
this.onFullscreen = new lime_app__$Event_$Void_$Void();
|
|
this.onFocusOut = new lime_app__$Event_$Void_$Void();
|
|
this.onFocusIn = new lime_app__$Event_$Void_$Void();
|
|
this.onExpose = new lime_app__$Event_$Void_$Void();
|
|
this.onEnter = new lime_app__$Event_$Void_$Void();
|
|
this.onDropFile = new lime_app__$Event_$String_$Void();
|
|
this.onDeactivate = new lime_app__$Event_$Void_$Void();
|
|
this.onClose = new lime_app__$Event_$Void_$Void();
|
|
this.onActivate = new lime_app__$Event_$Void_$Void();
|
|
this.application = application;
|
|
this.__attributes = attributes != null ? attributes : { };
|
|
if(Object.prototype.hasOwnProperty.call(this.__attributes,"parameters")) {
|
|
this.parameters = this.__attributes.parameters;
|
|
}
|
|
this.__width = 0;
|
|
this.__height = 0;
|
|
this.__fullscreen = false;
|
|
this.__scale = 1;
|
|
this.__x = 0;
|
|
this.__y = 0;
|
|
this.__title = "";
|
|
this.id = -1;
|
|
this.__backend = new lime__$internal_backend_html5_HTML5Window(this);
|
|
};
|
|
$hxClasses["lime.ui.Window"] = lime_ui_Window;
|
|
lime_ui_Window.__name__ = "lime.ui.Window";
|
|
lime_ui_Window.prototype = {
|
|
application: null
|
|
,context: null
|
|
,display: null
|
|
,element: null
|
|
,hidden: null
|
|
,id: null
|
|
,onActivate: null
|
|
,onClose: null
|
|
,onDeactivate: null
|
|
,onDropFile: null
|
|
,onEnter: null
|
|
,onExpose: null
|
|
,onFocusIn: null
|
|
,onFocusOut: null
|
|
,onFullscreen: null
|
|
,onKeyDown: null
|
|
,onKeyUp: null
|
|
,onLeave: null
|
|
,onMaximize: null
|
|
,onMinimize: null
|
|
,onMouseDown: null
|
|
,onMouseMove: null
|
|
,onMouseMoveRelative: null
|
|
,onMouseUp: null
|
|
,onMouseWheel: null
|
|
,onMove: null
|
|
,onRender: null
|
|
,onRenderContextLost: null
|
|
,onRenderContextRestored: null
|
|
,onResize: null
|
|
,onRestore: null
|
|
,onTextEdit: null
|
|
,onTextInput: null
|
|
,parameters: null
|
|
,scale: null
|
|
,stage: null
|
|
,__attributes: null
|
|
,__backend: null
|
|
,__borderless: null
|
|
,__fullscreen: null
|
|
,__height: null
|
|
,__hidden: null
|
|
,__maximized: null
|
|
,__minimized: null
|
|
,__resizable: null
|
|
,__scale: null
|
|
,__title: null
|
|
,__width: null
|
|
,__x: null
|
|
,__y: null
|
|
,alert: function(message,title) {
|
|
this.__backend.alert(message,title);
|
|
}
|
|
,close: function() {
|
|
this.__backend.close();
|
|
}
|
|
,focus: function() {
|
|
this.__backend.focus();
|
|
}
|
|
,move: function(x,y) {
|
|
this.__backend.move(x,y);
|
|
this.__x = x;
|
|
this.__y = y;
|
|
}
|
|
,readPixels: function(rect) {
|
|
return this.__backend.readPixels(rect);
|
|
}
|
|
,resize: function(width,height) {
|
|
this.__backend.resize(width,height);
|
|
this.__width = width;
|
|
this.__height = height;
|
|
}
|
|
,setIcon: function(image) {
|
|
if(image == null) {
|
|
return;
|
|
}
|
|
this.__backend.setIcon(image);
|
|
}
|
|
,toString: function() {
|
|
return "[object Window]";
|
|
}
|
|
,warpMouse: function(x,y) {
|
|
this.__backend.warpMouse(x,y);
|
|
}
|
|
,get_cursor: function() {
|
|
return this.__backend.getCursor();
|
|
}
|
|
,set_cursor: function(value) {
|
|
return this.__backend.setCursor(value);
|
|
}
|
|
,get_display: function() {
|
|
return this.__backend.getDisplay();
|
|
}
|
|
,get_displayMode: function() {
|
|
return this.__backend.getDisplayMode();
|
|
}
|
|
,set_displayMode: function(value) {
|
|
return this.__backend.setDisplayMode(value);
|
|
}
|
|
,get_borderless: function() {
|
|
return this.__borderless;
|
|
}
|
|
,set_borderless: function(value) {
|
|
return this.__borderless = this.__backend.setBorderless(value);
|
|
}
|
|
,get_frameRate: function() {
|
|
return this.__backend.getFrameRate();
|
|
}
|
|
,set_frameRate: function(value) {
|
|
return this.__backend.setFrameRate(value);
|
|
}
|
|
,get_fullscreen: function() {
|
|
return this.__fullscreen;
|
|
}
|
|
,set_fullscreen: function(value) {
|
|
return this.__fullscreen = this.__backend.setFullscreen(value);
|
|
}
|
|
,get_height: function() {
|
|
return this.__height;
|
|
}
|
|
,set_height: function(value) {
|
|
this.resize(this.__width,value);
|
|
return this.__height;
|
|
}
|
|
,get_hidden: function() {
|
|
return this.__hidden;
|
|
}
|
|
,get_maximized: function() {
|
|
return this.__maximized;
|
|
}
|
|
,set_maximized: function(value) {
|
|
this.__minimized = false;
|
|
return this.__maximized = this.__backend.setMaximized(value);
|
|
}
|
|
,get_minimized: function() {
|
|
return this.__minimized;
|
|
}
|
|
,set_minimized: function(value) {
|
|
this.__maximized = false;
|
|
return this.__minimized = this.__backend.setMinimized(value);
|
|
}
|
|
,get_mouseLock: function() {
|
|
return this.__backend.getMouseLock();
|
|
}
|
|
,set_mouseLock: function(value) {
|
|
this.__backend.setMouseLock(value);
|
|
return value;
|
|
}
|
|
,get_resizable: function() {
|
|
return this.__resizable;
|
|
}
|
|
,set_resizable: function(value) {
|
|
this.__resizable = this.__backend.setResizable(value);
|
|
return this.__resizable;
|
|
}
|
|
,get_scale: function() {
|
|
return this.__scale;
|
|
}
|
|
,get_textInputEnabled: function() {
|
|
return this.__backend.getTextInputEnabled();
|
|
}
|
|
,set_textInputEnabled: function(value) {
|
|
return this.__backend.setTextInputEnabled(value);
|
|
}
|
|
,get_title: function() {
|
|
return this.__title;
|
|
}
|
|
,set_title: function(value) {
|
|
return this.__title = this.__backend.setTitle(value);
|
|
}
|
|
,get_width: function() {
|
|
return this.__width;
|
|
}
|
|
,set_width: function(value) {
|
|
this.resize(value,this.__height);
|
|
return this.__width;
|
|
}
|
|
,get_x: function() {
|
|
return this.__x;
|
|
}
|
|
,set_x: function(value) {
|
|
this.move(value,this.__y);
|
|
return this.__x;
|
|
}
|
|
,get_y: function() {
|
|
return this.__y;
|
|
}
|
|
,set_y: function(value) {
|
|
this.move(this.__x,value);
|
|
return this.__y;
|
|
}
|
|
,__class__: lime_ui_Window
|
|
,__properties__: {set_y:"set_y",get_y:"get_y",set_x:"set_x",get_x:"get_x",set_width:"set_width",get_width:"get_width",set_title:"set_title",get_title:"get_title",set_textInputEnabled:"set_textInputEnabled",get_textInputEnabled:"get_textInputEnabled",get_scale:"get_scale",set_resizable:"set_resizable",get_resizable:"get_resizable",set_mouseLock:"set_mouseLock",get_mouseLock:"get_mouseLock",set_minimized:"set_minimized",get_minimized:"get_minimized",set_maximized:"set_maximized",get_maximized:"get_maximized",get_hidden:"get_hidden",set_height:"set_height",get_height:"get_height",set_fullscreen:"set_fullscreen",get_fullscreen:"get_fullscreen",set_frameRate:"set_frameRate",get_frameRate:"get_frameRate",set_displayMode:"set_displayMode",get_displayMode:"get_displayMode",get_display:"get_display",set_cursor:"set_cursor",get_cursor:"get_cursor",set_borderless:"set_borderless",get_borderless:"get_borderless"}
|
|
};
|
|
var lime_utils_TAError = $hxEnums["lime.utils.TAError"] = { __ename__ : "lime.utils.TAError", __constructs__ : ["RangeError"]
|
|
,RangeError: {_hx_index:0,__enum__:"lime.utils.TAError",toString:$estr}
|
|
};
|
|
var lime_utils_AssetBundle = function() {
|
|
this.data = new haxe_ds_StringMap();
|
|
this.paths = [];
|
|
};
|
|
$hxClasses["lime.utils.AssetBundle"] = lime_utils_AssetBundle;
|
|
lime_utils_AssetBundle.__name__ = "lime.utils.AssetBundle";
|
|
lime_utils_AssetBundle.fromBytes = function(bytes) {
|
|
var input = new haxe_io_BytesInput(bytes);
|
|
return lime_utils_AssetBundle.__extractBundle(input);
|
|
};
|
|
lime_utils_AssetBundle.fromFile = function(path) {
|
|
return null;
|
|
};
|
|
lime_utils_AssetBundle.loadFromBytes = function(bytes) {
|
|
return lime_app_Future.withValue(lime_utils_AssetBundle.fromBytes(bytes));
|
|
};
|
|
lime_utils_AssetBundle.loadFromFile = function(path) {
|
|
return lime_utils_Bytes.loadFromFile(path).then(lime_utils_AssetBundle.loadFromBytes);
|
|
};
|
|
lime_utils_AssetBundle.__extractBundle = function(input) {
|
|
var entries = haxe_zip_Reader.readZip(input);
|
|
var bundle = new lime_utils_AssetBundle();
|
|
var _g_head = entries.h;
|
|
while(_g_head != null) {
|
|
var val = _g_head.item;
|
|
_g_head = _g_head.next;
|
|
var entry = val;
|
|
if(entry.compressed) {
|
|
var bytes = entry.data;
|
|
var this1 = bundle.data;
|
|
var key = entry.fileName;
|
|
var value = lime_utils_Bytes.decompress(bytes,lime_utils_CompressionAlgorithm.DEFLATE);
|
|
this1.h[key] = value;
|
|
} else {
|
|
bundle.data.h[entry.fileName] = entry.data;
|
|
}
|
|
bundle.paths.push(entry.fileName);
|
|
}
|
|
return bundle;
|
|
};
|
|
lime_utils_AssetBundle.prototype = {
|
|
data: null
|
|
,paths: null
|
|
,__class__: lime_utils_AssetBundle
|
|
};
|
|
var lime_utils_AssetCache = function() {
|
|
this.enabled = true;
|
|
this.audio = new haxe_ds_StringMap();
|
|
this.font = new haxe_ds_StringMap();
|
|
this.image = new haxe_ds_StringMap();
|
|
this.version = 750521;
|
|
};
|
|
$hxClasses["lime.utils.AssetCache"] = lime_utils_AssetCache;
|
|
lime_utils_AssetCache.__name__ = "lime.utils.AssetCache";
|
|
lime_utils_AssetCache.prototype = {
|
|
audio: null
|
|
,enabled: null
|
|
,image: null
|
|
,font: null
|
|
,version: null
|
|
,exists: function(id,type) {
|
|
if(type == "IMAGE" || type == null) {
|
|
if(Object.prototype.hasOwnProperty.call(this.image.h,id)) {
|
|
return true;
|
|
}
|
|
}
|
|
if(type == "FONT" || type == null) {
|
|
if(Object.prototype.hasOwnProperty.call(this.font.h,id)) {
|
|
return true;
|
|
}
|
|
}
|
|
if(type == "SOUND" || type == "MUSIC" || type == null) {
|
|
if(Object.prototype.hasOwnProperty.call(this.audio.h,id)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,set: function(id,type,asset) {
|
|
switch(type) {
|
|
case "FONT":
|
|
this.font.h[id] = asset;
|
|
break;
|
|
case "IMAGE":
|
|
if(!((asset) instanceof lime_graphics_Image)) {
|
|
throw haxe_Exception.thrown("Cannot cache non-Image asset: " + Std.string(asset) + " as Image");
|
|
}
|
|
this.image.h[id] = asset;
|
|
break;
|
|
case "MUSIC":case "SOUND":
|
|
if(!((asset) instanceof lime_media_AudioBuffer)) {
|
|
throw haxe_Exception.thrown("Cannot cache non-AudioBuffer asset: " + Std.string(asset) + " as AudioBuffer");
|
|
}
|
|
this.audio.h[id] = asset;
|
|
break;
|
|
default:
|
|
throw haxe_Exception.thrown(type + " assets are not cachable");
|
|
}
|
|
}
|
|
,clear: function(prefix) {
|
|
if(prefix == null) {
|
|
this.audio = new haxe_ds_StringMap();
|
|
this.font = new haxe_ds_StringMap();
|
|
this.image = new haxe_ds_StringMap();
|
|
} else {
|
|
var keys = haxe_ds_StringMap.keysIterator(this.audio.h);
|
|
var key = keys;
|
|
while(key.hasNext()) {
|
|
var key1 = key.next();
|
|
if(StringTools.startsWith(key1,prefix)) {
|
|
var _this = this.audio;
|
|
if(Object.prototype.hasOwnProperty.call(_this.h,key1)) {
|
|
delete(_this.h[key1]);
|
|
}
|
|
}
|
|
}
|
|
var keys = haxe_ds_StringMap.keysIterator(this.font.h);
|
|
var key = keys;
|
|
while(key.hasNext()) {
|
|
var key1 = key.next();
|
|
if(StringTools.startsWith(key1,prefix)) {
|
|
var _this = this.font;
|
|
if(Object.prototype.hasOwnProperty.call(_this.h,key1)) {
|
|
delete(_this.h[key1]);
|
|
}
|
|
}
|
|
}
|
|
var keys = haxe_ds_StringMap.keysIterator(this.image.h);
|
|
var key = keys;
|
|
while(key.hasNext()) {
|
|
var key1 = key.next();
|
|
if(StringTools.startsWith(key1,prefix)) {
|
|
var _this = this.image;
|
|
if(Object.prototype.hasOwnProperty.call(_this.h,key1)) {
|
|
delete(_this.h[key1]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,__class__: lime_utils_AssetCache
|
|
};
|
|
var lime_utils_AssetLibrary = function() {
|
|
this.types = new haxe_ds_StringMap();
|
|
this.sizes = new haxe_ds_StringMap();
|
|
this.preload = new haxe_ds_StringMap();
|
|
this.paths = new haxe_ds_StringMap();
|
|
this.pathGroups = new haxe_ds_StringMap();
|
|
this.classTypes = new haxe_ds_StringMap();
|
|
this.cachedText = new haxe_ds_StringMap();
|
|
this.cachedImages = new haxe_ds_StringMap();
|
|
this.cachedFonts = new haxe_ds_StringMap();
|
|
this.cachedBytes = new haxe_ds_StringMap();
|
|
this.cachedAudioBuffers = new haxe_ds_StringMap();
|
|
this.onChange = new lime_app__$Event_$Void_$Void();
|
|
this.bytesLoaded = 0;
|
|
this.bytesTotal = 0;
|
|
};
|
|
$hxClasses["lime.utils.AssetLibrary"] = lime_utils_AssetLibrary;
|
|
lime_utils_AssetLibrary.__name__ = "lime.utils.AssetLibrary";
|
|
lime_utils_AssetLibrary.fromBytes = function(bytes,rootPath) {
|
|
return lime_utils_AssetLibrary.fromManifest(lime_utils_AssetManifest.fromBytes(bytes,rootPath));
|
|
};
|
|
lime_utils_AssetLibrary.fromFile = function(path,rootPath) {
|
|
return lime_utils_AssetLibrary.fromManifest(lime_utils_AssetManifest.fromFile(path,rootPath));
|
|
};
|
|
lime_utils_AssetLibrary.fromBundle = function(bundle) {
|
|
if(Object.prototype.hasOwnProperty.call(bundle.data.h,"library.json")) {
|
|
var manifest = lime_utils_AssetManifest.fromBytes(bundle.data.h["library.json"]);
|
|
if(manifest != null) {
|
|
var library = null;
|
|
if(manifest.libraryType == null) {
|
|
library = new lime_utils_AssetLibrary();
|
|
} else {
|
|
var name = manifest.libraryType;
|
|
var libraryClass = $hxClasses[name];
|
|
if(libraryClass != null) {
|
|
library = Type.createInstance(libraryClass,manifest.libraryArgs);
|
|
} else {
|
|
lime_utils_Log.warn("Could not find library type: " + manifest.libraryType,{ fileName : "lime/utils/AssetLibrary.hx", lineNumber : 122, className : "lime.utils.AssetLibrary", methodName : "fromBundle"});
|
|
return null;
|
|
}
|
|
}
|
|
library.__fromBundle(bundle,manifest);
|
|
return library;
|
|
}
|
|
} else {
|
|
var library = new lime_utils_AssetLibrary();
|
|
library.__fromBundle(bundle);
|
|
return library;
|
|
}
|
|
return null;
|
|
};
|
|
lime_utils_AssetLibrary.fromManifest = function(manifest) {
|
|
if(manifest == null) {
|
|
return null;
|
|
}
|
|
var library = null;
|
|
if(manifest.libraryType == null) {
|
|
library = new lime_utils_AssetLibrary();
|
|
} else {
|
|
var name = manifest.libraryType;
|
|
var libraryClass = $hxClasses[name];
|
|
if(libraryClass != null) {
|
|
library = Type.createInstance(libraryClass,manifest.libraryArgs);
|
|
} else {
|
|
lime_utils_Log.warn("Could not find library type: " + manifest.libraryType,{ fileName : "lime/utils/AssetLibrary.hx", lineNumber : 160, className : "lime.utils.AssetLibrary", methodName : "fromManifest"});
|
|
return null;
|
|
}
|
|
}
|
|
library.__fromManifest(manifest);
|
|
return library;
|
|
};
|
|
lime_utils_AssetLibrary.loadFromBytes = function(bytes,rootPath) {
|
|
return lime_utils_AssetManifest.loadFromBytes(bytes,rootPath).then(function(manifest) {
|
|
return lime_utils_AssetLibrary.loadFromManifest(manifest);
|
|
});
|
|
};
|
|
lime_utils_AssetLibrary.loadFromFile = function(path,rootPath) {
|
|
return lime_utils_AssetManifest.loadFromFile(path,rootPath).then(function(manifest) {
|
|
return lime_utils_AssetLibrary.loadFromManifest(manifest);
|
|
});
|
|
};
|
|
lime_utils_AssetLibrary.loadFromManifest = function(manifest) {
|
|
var library = lime_utils_AssetLibrary.fromManifest(manifest);
|
|
if(library != null) {
|
|
return library.load();
|
|
} else {
|
|
return lime_app_Future.withError("Could not load asset manifest");
|
|
}
|
|
};
|
|
lime_utils_AssetLibrary.prototype = {
|
|
onChange: null
|
|
,assetsLoaded: null
|
|
,assetsTotal: null
|
|
,bytesLoaded: null
|
|
,bytesLoadedCache: null
|
|
,bytesTotal: null
|
|
,cachedAudioBuffers: null
|
|
,cachedBytes: null
|
|
,cachedFonts: null
|
|
,cachedImages: null
|
|
,cachedText: null
|
|
,classTypes: null
|
|
,loaded: null
|
|
,pathGroups: null
|
|
,paths: null
|
|
,preload: null
|
|
,promise: null
|
|
,sizes: null
|
|
,types: null
|
|
,exists: function(id,type) {
|
|
var requestedType = type != null ? js_Boot.__cast(type , String) : null;
|
|
var assetType = this.types.h[id];
|
|
if(assetType != null) {
|
|
if(assetType == requestedType || (requestedType == "SOUND" || requestedType == "MUSIC") && (assetType == "MUSIC" || assetType == "SOUND")) {
|
|
return true;
|
|
}
|
|
if(requestedType == "BINARY" || requestedType == null || assetType == "BINARY" && requestedType == "TEXT") {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,getAsset: function(id,type) {
|
|
switch(type) {
|
|
case "BINARY":
|
|
return this.getBytes(id);
|
|
case "FONT":
|
|
return this.getFont(id);
|
|
case "IMAGE":
|
|
return this.getImage(id);
|
|
case "MUSIC":case "SOUND":
|
|
return this.getAudioBuffer(id);
|
|
case "TEMPLATE":
|
|
throw haxe_Exception.thrown("Not sure how to get template: " + id);
|
|
case "TEXT":
|
|
return this.getText(id);
|
|
default:
|
|
throw haxe_Exception.thrown("Unknown asset type: " + type);
|
|
}
|
|
}
|
|
,getAudioBuffer: function(id) {
|
|
if(Object.prototype.hasOwnProperty.call(this.cachedAudioBuffers.h,id)) {
|
|
return this.cachedAudioBuffers.h[id];
|
|
} else if(Object.prototype.hasOwnProperty.call(this.classTypes.h,id)) {
|
|
return lime_media_AudioBuffer.fromBytes(js_Boot.__cast(Type.createInstance(this.classTypes.h[id],[]) , haxe_io_Bytes));
|
|
} else {
|
|
return lime_media_AudioBuffer.fromFile(this.paths.h[id]);
|
|
}
|
|
}
|
|
,getBytes: function(id) {
|
|
if(Object.prototype.hasOwnProperty.call(this.cachedBytes.h,id)) {
|
|
return this.cachedBytes.h[id];
|
|
} else if(Object.prototype.hasOwnProperty.call(this.cachedText.h,id)) {
|
|
var bytes = lime_utils_Bytes.ofString(this.cachedText.h[id]);
|
|
this.cachedBytes.h[id] = bytes;
|
|
return bytes;
|
|
} else if(Object.prototype.hasOwnProperty.call(this.classTypes.h,id)) {
|
|
return js_Boot.__cast(Type.createInstance(this.classTypes.h[id],[]) , haxe_io_Bytes);
|
|
} else {
|
|
return lime_utils_Bytes.fromFile(this.paths.h[id]);
|
|
}
|
|
}
|
|
,getFont: function(id) {
|
|
if(Object.prototype.hasOwnProperty.call(this.cachedFonts.h,id)) {
|
|
return this.cachedFonts.h[id];
|
|
} else if(Object.prototype.hasOwnProperty.call(this.classTypes.h,id)) {
|
|
return js_Boot.__cast(Type.createInstance(this.classTypes.h[id],[]) , lime_text_Font);
|
|
} else {
|
|
return lime_text_Font.fromFile(this.paths.h[id]);
|
|
}
|
|
}
|
|
,getImage: function(id) {
|
|
if(Object.prototype.hasOwnProperty.call(this.cachedImages.h,id)) {
|
|
return this.cachedImages.h[id];
|
|
} else if(Object.prototype.hasOwnProperty.call(this.classTypes.h,id)) {
|
|
return js_Boot.__cast(Type.createInstance(this.classTypes.h[id],[]) , lime_graphics_Image);
|
|
} else {
|
|
return lime_graphics_Image.fromFile(this.paths.h[id]);
|
|
}
|
|
}
|
|
,getPath: function(id) {
|
|
if(Object.prototype.hasOwnProperty.call(this.paths.h,id)) {
|
|
return this.paths.h[id];
|
|
} else if(Object.prototype.hasOwnProperty.call(this.pathGroups.h,id)) {
|
|
return this.pathGroups.h[id][0];
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
,getText: function(id) {
|
|
if(Object.prototype.hasOwnProperty.call(this.cachedText.h,id)) {
|
|
return this.cachedText.h[id];
|
|
} else {
|
|
var bytes = this.getBytes(id);
|
|
if(bytes == null) {
|
|
return null;
|
|
} else {
|
|
return bytes.getString(0,bytes.length);
|
|
}
|
|
}
|
|
}
|
|
,isLocal: function(id,type) {
|
|
if(Object.prototype.hasOwnProperty.call(this.classTypes.h,id)) {
|
|
return true;
|
|
}
|
|
var requestedType = type != null ? js_Boot.__cast(type , String) : null;
|
|
if(requestedType == null) {
|
|
if(!Object.prototype.hasOwnProperty.call(this.cachedBytes.h,id)) {
|
|
return Object.prototype.hasOwnProperty.call(this.cachedText.h,id);
|
|
} else {
|
|
return true;
|
|
}
|
|
} else {
|
|
switch(requestedType) {
|
|
case "FONT":
|
|
return Object.prototype.hasOwnProperty.call(this.cachedFonts.h,id);
|
|
case "IMAGE":
|
|
return Object.prototype.hasOwnProperty.call(this.cachedImages.h,id);
|
|
case "MUSIC":case "SOUND":
|
|
return Object.prototype.hasOwnProperty.call(this.cachedAudioBuffers.h,id);
|
|
default:
|
|
if(!Object.prototype.hasOwnProperty.call(this.cachedBytes.h,id)) {
|
|
return Object.prototype.hasOwnProperty.call(this.cachedText.h,id);
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,list: function(type) {
|
|
var requestedType = type != null ? js_Boot.__cast(type , String) : null;
|
|
var items = [];
|
|
var id = haxe_ds_StringMap.keysIterator(this.types.h);
|
|
while(id.hasNext()) {
|
|
var id1 = id.next();
|
|
if(requestedType == null || this.exists(id1,type)) {
|
|
items.push(id1);
|
|
}
|
|
}
|
|
return items;
|
|
}
|
|
,loadAsset: function(id,type) {
|
|
switch(type) {
|
|
case "BINARY":
|
|
return this.loadBytes(id);
|
|
case "FONT":
|
|
return this.loadFont(id);
|
|
case "IMAGE":
|
|
return this.loadImage(id);
|
|
case "MUSIC":case "SOUND":
|
|
return this.loadAudioBuffer(id);
|
|
case "TEMPLATE":
|
|
throw haxe_Exception.thrown("Not sure how to load template: " + id);
|
|
case "TEXT":
|
|
return this.loadText(id);
|
|
default:
|
|
throw haxe_Exception.thrown("Unknown asset type: " + type);
|
|
}
|
|
}
|
|
,load: function() {
|
|
if(this.loaded) {
|
|
return lime_app_Future.withValue(this);
|
|
}
|
|
if(this.promise == null) {
|
|
this.promise = new lime_app_Promise();
|
|
this.bytesLoadedCache = new haxe_ds_StringMap();
|
|
this.assetsLoaded = 0;
|
|
this.assetsTotal = 1;
|
|
var id = haxe_ds_StringMap.keysIterator(this.preload.h);
|
|
while(id.hasNext()) {
|
|
var id1 = id.next();
|
|
if(!this.preload.h[id1]) {
|
|
continue;
|
|
}
|
|
lime_utils_Log.verbose("Preloading asset: " + id1 + " [" + this.types.h[id1] + "]",{ fileName : "lime/utils/AssetLibrary.hx", lineNumber : 405, className : "lime.utils.AssetLibrary", methodName : "load"});
|
|
var _g = this.types.h[id1];
|
|
if(_g != null) {
|
|
switch(_g) {
|
|
case "BINARY":
|
|
this.assetsTotal++;
|
|
var future = this.loadBytes(id1);
|
|
future.onProgress((function(id,_g) {
|
|
return function(bytesLoaded,bytesTotal) {
|
|
_g[0](id[0],bytesLoaded,bytesTotal);
|
|
};
|
|
})([id1],[$bind(this,this.load_onProgress)]));
|
|
future.onError((function(id,_g) {
|
|
return function(message) {
|
|
_g[0](id[0],message);
|
|
};
|
|
})([id1],[$bind(this,this.load_onError)]));
|
|
future.onComplete((function(id,_g) {
|
|
return function(bytes) {
|
|
_g[0](id[0],bytes);
|
|
};
|
|
})([id1],[$bind(this,this.loadBytes_onComplete)]));
|
|
break;
|
|
case "FONT":
|
|
this.assetsTotal++;
|
|
var future1 = this.loadFont(id1);
|
|
future1.onProgress((function(id,_g) {
|
|
return function(bytesLoaded,bytesTotal) {
|
|
_g[0](id[0],bytesLoaded,bytesTotal);
|
|
};
|
|
})([id1],[$bind(this,this.load_onProgress)]));
|
|
future1.onError((function(id,_g) {
|
|
return function(message) {
|
|
_g[0](id[0],message);
|
|
};
|
|
})([id1],[$bind(this,this.load_onError)]));
|
|
future1.onComplete((function(id,_g) {
|
|
return function(font) {
|
|
_g[0](id[0],font);
|
|
};
|
|
})([id1],[$bind(this,this.loadFont_onComplete)]));
|
|
break;
|
|
case "IMAGE":
|
|
this.assetsTotal++;
|
|
var future2 = this.loadImage(id1);
|
|
future2.onProgress((function(id,_g) {
|
|
return function(bytesLoaded,bytesTotal) {
|
|
_g[0](id[0],bytesLoaded,bytesTotal);
|
|
};
|
|
})([id1],[$bind(this,this.load_onProgress)]));
|
|
future2.onError((function(id,_g) {
|
|
return function(message) {
|
|
_g[0](id[0],message);
|
|
};
|
|
})([id1],[$bind(this,this.load_onError)]));
|
|
future2.onComplete((function(id,_g) {
|
|
return function(image) {
|
|
_g[0](id[0],image);
|
|
};
|
|
})([id1],[$bind(this,this.loadImage_onComplete)]));
|
|
break;
|
|
case "MUSIC":case "SOUND":
|
|
this.assetsTotal++;
|
|
var future3 = this.loadAudioBuffer(id1);
|
|
future3.onProgress((function(id,_g) {
|
|
return function(bytesLoaded,bytesTotal) {
|
|
_g[0](id[0],bytesLoaded,bytesTotal);
|
|
};
|
|
})([id1],[$bind(this,this.load_onProgress)]));
|
|
future3.onError((function(id,_g) {
|
|
return function(message) {
|
|
_g[0](id[0],message);
|
|
};
|
|
})([id1],[$bind(this,this.loadAudioBuffer_onError)]));
|
|
future3.onComplete((function(id,_g) {
|
|
return function(audioBuffer) {
|
|
_g[0](id[0],audioBuffer);
|
|
};
|
|
})([id1],[$bind(this,this.loadAudioBuffer_onComplete)]));
|
|
break;
|
|
case "TEXT":
|
|
this.assetsTotal++;
|
|
var future4 = this.loadText(id1);
|
|
future4.onProgress((function(id,_g) {
|
|
return function(bytesLoaded,bytesTotal) {
|
|
_g[0](id[0],bytesLoaded,bytesTotal);
|
|
};
|
|
})([id1],[$bind(this,this.load_onProgress)]));
|
|
future4.onError((function(id,_g) {
|
|
return function(message) {
|
|
_g[0](id[0],message);
|
|
};
|
|
})([id1],[$bind(this,this.load_onError)]));
|
|
future4.onComplete((function(id,_g) {
|
|
return function(text) {
|
|
_g[0](id[0],text);
|
|
};
|
|
})([id1],[$bind(this,this.loadText_onComplete)]));
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
}
|
|
this.__assetLoaded(null);
|
|
}
|
|
return this.promise.future;
|
|
}
|
|
,loadAudioBuffer: function(id) {
|
|
if(Object.prototype.hasOwnProperty.call(this.cachedAudioBuffers.h,id)) {
|
|
return lime_app_Future.withValue(this.cachedAudioBuffers.h[id]);
|
|
} else if(Object.prototype.hasOwnProperty.call(this.classTypes.h,id)) {
|
|
return lime_app_Future.withValue(Type.createInstance(this.classTypes.h[id],[]));
|
|
} else if(Object.prototype.hasOwnProperty.call(this.pathGroups.h,id)) {
|
|
return lime_media_AudioBuffer.loadFromFiles(this.pathGroups.h[id]);
|
|
} else {
|
|
return lime_media_AudioBuffer.loadFromFile(this.paths.h[id]);
|
|
}
|
|
}
|
|
,loadBytes: function(id) {
|
|
if(Object.prototype.hasOwnProperty.call(this.cachedBytes.h,id)) {
|
|
return lime_app_Future.withValue(this.cachedBytes.h[id]);
|
|
} else if(Object.prototype.hasOwnProperty.call(this.classTypes.h,id)) {
|
|
return lime_app_Future.withValue(Type.createInstance(this.classTypes.h[id],[]));
|
|
} else {
|
|
return lime_utils_Bytes.loadFromFile(this.paths.h[id]);
|
|
}
|
|
}
|
|
,loadFont: function(id) {
|
|
if(Object.prototype.hasOwnProperty.call(this.cachedFonts.h,id)) {
|
|
return lime_app_Future.withValue(this.cachedFonts.h[id]);
|
|
} else if(Object.prototype.hasOwnProperty.call(this.classTypes.h,id)) {
|
|
var font = Type.createInstance(this.classTypes.h[id],[]);
|
|
return font.__loadFromName(font.name);
|
|
} else {
|
|
return lime_text_Font.loadFromName(this.paths.h[id]);
|
|
}
|
|
}
|
|
,loadImage: function(id) {
|
|
var _gthis = this;
|
|
if(Object.prototype.hasOwnProperty.call(this.cachedImages.h,id)) {
|
|
return lime_app_Future.withValue(this.cachedImages.h[id]);
|
|
} else if(Object.prototype.hasOwnProperty.call(this.classTypes.h,id)) {
|
|
return lime_app_Future.withValue(Type.createInstance(this.classTypes.h[id],[]));
|
|
} else if(Object.prototype.hasOwnProperty.call(this.cachedBytes.h,id)) {
|
|
return lime_graphics_Image.loadFromBytes(this.cachedBytes.h[id]).then(function(image) {
|
|
var _this = _gthis.cachedBytes;
|
|
if(Object.prototype.hasOwnProperty.call(_this.h,id)) {
|
|
delete(_this.h[id]);
|
|
}
|
|
_gthis.cachedImages.h[id] = image;
|
|
return lime_app_Future.withValue(image);
|
|
});
|
|
} else {
|
|
return lime_graphics_Image.loadFromFile(this.paths.h[id]);
|
|
}
|
|
}
|
|
,loadText: function(id) {
|
|
if(Object.prototype.hasOwnProperty.call(this.cachedText.h,id)) {
|
|
return lime_app_Future.withValue(this.cachedText.h[id]);
|
|
} else if(Object.prototype.hasOwnProperty.call(this.cachedBytes.h,id) || Object.prototype.hasOwnProperty.call(this.classTypes.h,id)) {
|
|
var bytes = this.getBytes(id);
|
|
if(bytes == null) {
|
|
return lime_app_Future.withValue(null);
|
|
} else {
|
|
var text = bytes.getString(0,bytes.length);
|
|
this.cachedText.h[id] = text;
|
|
return lime_app_Future.withValue(text);
|
|
}
|
|
} else {
|
|
var request = new lime_net__$HTTPRequest_$String();
|
|
return request.load(this.paths.h[id]);
|
|
}
|
|
}
|
|
,unload: function() {
|
|
}
|
|
,__assetLoaded: function(id) {
|
|
this.assetsLoaded++;
|
|
if(id != null) {
|
|
lime_utils_Log.verbose("Loaded asset: " + id + " [" + this.types.h[id] + "] (" + (this.assetsLoaded - 1) + "/" + (this.assetsTotal - 1) + ")",{ fileName : "lime/utils/AssetLibrary.hx", lineNumber : 619, className : "lime.utils.AssetLibrary", methodName : "__assetLoaded"});
|
|
}
|
|
if(id != null) {
|
|
var size = Object.prototype.hasOwnProperty.call(this.sizes.h,id) ? this.sizes.h[id] : 0;
|
|
if(!Object.prototype.hasOwnProperty.call(this.bytesLoadedCache.h,id)) {
|
|
this.bytesLoaded += size;
|
|
} else {
|
|
var cache = this.bytesLoadedCache.h[id];
|
|
if(cache < size) {
|
|
this.bytesLoaded += size - cache;
|
|
}
|
|
}
|
|
this.bytesLoadedCache.h[id] = size;
|
|
}
|
|
if(this.assetsLoaded < this.assetsTotal) {
|
|
this.promise.progress(this.bytesLoaded,this.bytesTotal);
|
|
} else {
|
|
this.loaded = true;
|
|
this.promise.progress(this.bytesTotal,this.bytesTotal);
|
|
this.promise.complete(this);
|
|
}
|
|
}
|
|
,__cacheBreak: function(path) {
|
|
return lime_utils_Assets.__cacheBreak(path);
|
|
}
|
|
,__fromBundle: function(bundle,manifest) {
|
|
if(manifest != null) {
|
|
var id;
|
|
var data;
|
|
var type;
|
|
var _g = 0;
|
|
var _g1 = manifest.assets;
|
|
while(_g < _g1.length) {
|
|
var asset = _g1[_g];
|
|
++_g;
|
|
id = Object.prototype.hasOwnProperty.call(asset,"id") ? asset.id : asset.path;
|
|
data = bundle.data.h[asset.path];
|
|
if(Object.prototype.hasOwnProperty.call(asset,"type")) {
|
|
type = asset.type;
|
|
if(type == "TEXT") {
|
|
this.cachedText.h[id] = data != null ? Std.string(data) : null;
|
|
} else {
|
|
this.cachedBytes.h[id] = data;
|
|
}
|
|
this.types.h[id] = asset.type;
|
|
} else {
|
|
this.cachedBytes.h[id] = data;
|
|
this.types.h[id] = "BINARY";
|
|
}
|
|
}
|
|
} else {
|
|
var _g = 0;
|
|
var _g1 = bundle.paths;
|
|
while(_g < _g1.length) {
|
|
var path = _g1[_g];
|
|
++_g;
|
|
this.cachedBytes.h[path] = bundle.data.h[path];
|
|
this.types.h[path] = "BINARY";
|
|
}
|
|
}
|
|
}
|
|
,__fromManifest: function(manifest) {
|
|
var hasSize = manifest.version >= 2;
|
|
var size;
|
|
var id;
|
|
var pathGroup;
|
|
var classRef;
|
|
var basePath = manifest.rootPath;
|
|
if(basePath == null) {
|
|
basePath = "";
|
|
}
|
|
if(basePath != "") {
|
|
basePath += "/";
|
|
}
|
|
var _g = 0;
|
|
var _g1 = manifest.assets;
|
|
while(_g < _g1.length) {
|
|
var asset = _g1[_g];
|
|
++_g;
|
|
size = hasSize && Object.prototype.hasOwnProperty.call(asset,"size") ? asset.size : 100;
|
|
id = Object.prototype.hasOwnProperty.call(asset,"id") ? asset.id : asset.path;
|
|
if(Object.prototype.hasOwnProperty.call(asset,"path")) {
|
|
var this1 = this.paths;
|
|
var value = this.__cacheBreak(this.__resolvePath(basePath + Std.string(Reflect.field(asset,"path"))));
|
|
this1.h[id] = value;
|
|
}
|
|
if(Object.prototype.hasOwnProperty.call(asset,"pathGroup")) {
|
|
pathGroup = Reflect.field(asset,"pathGroup");
|
|
var _g2 = 0;
|
|
var _g3 = pathGroup.length;
|
|
while(_g2 < _g3) {
|
|
var i = _g2++;
|
|
pathGroup[i] = this.__cacheBreak(this.__resolvePath(basePath + pathGroup[i]));
|
|
}
|
|
this.pathGroups.h[id] = pathGroup;
|
|
}
|
|
this.sizes.h[id] = size;
|
|
this.types.h[id] = asset.type;
|
|
if(Object.prototype.hasOwnProperty.call(asset,"preload")) {
|
|
this.preload.h[id] = Reflect.field(asset,"preload");
|
|
}
|
|
if(Object.prototype.hasOwnProperty.call(asset,"className")) {
|
|
var name = Reflect.field(asset,"className");
|
|
classRef = $hxClasses[name];
|
|
this.classTypes.h[id] = classRef;
|
|
}
|
|
}
|
|
this.bytesTotal = 0;
|
|
var _g = 0;
|
|
var _g1 = manifest.assets;
|
|
while(_g < _g1.length) {
|
|
var asset = _g1[_g];
|
|
++_g;
|
|
id = Object.prototype.hasOwnProperty.call(asset,"id") ? asset.id : asset.path;
|
|
if(Object.prototype.hasOwnProperty.call(this.preload.h,id) && this.preload.h[id] && Object.prototype.hasOwnProperty.call(this.sizes.h,id)) {
|
|
this.bytesTotal += this.sizes.h[id];
|
|
}
|
|
}
|
|
}
|
|
,__resolvePath: function(path) {
|
|
path = StringTools.replace(path,"\\","/");
|
|
var colonIdx = path.indexOf(":");
|
|
if(StringTools.startsWith(path,"http") && colonIdx > 0) {
|
|
var lastSlashIdx = colonIdx + 3;
|
|
var httpSection = HxOverrides.substr(path,0,lastSlashIdx);
|
|
path = httpSection + StringTools.replace(HxOverrides.substr(path,lastSlashIdx,null),"//","/");
|
|
} else {
|
|
path = StringTools.replace(path,"//","/");
|
|
}
|
|
if(path.indexOf("./") > -1) {
|
|
var split = path.split("/");
|
|
var newPath = [];
|
|
var _g = 0;
|
|
var _g1 = split.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(split[i] == "..") {
|
|
if(i == 0 || newPath[i - 1] == "..") {
|
|
newPath.push("..");
|
|
} else {
|
|
newPath.pop();
|
|
}
|
|
} else if(split[i] == ".") {
|
|
if(i == 0) {
|
|
newPath.push(".");
|
|
}
|
|
} else {
|
|
newPath.push(split[i]);
|
|
}
|
|
}
|
|
path = newPath.join("/");
|
|
}
|
|
return path;
|
|
}
|
|
,loadAudioBuffer_onComplete: function(id,audioBuffer) {
|
|
this.cachedAudioBuffers.h[id] = audioBuffer;
|
|
if(Object.prototype.hasOwnProperty.call(this.pathGroups.h,id)) {
|
|
var pathGroup = this.pathGroups.h[id];
|
|
var otherID = haxe_ds_StringMap.keysIterator(this.pathGroups.h);
|
|
while(otherID.hasNext()) {
|
|
var otherID1 = otherID.next();
|
|
if(otherID1 == id) {
|
|
continue;
|
|
}
|
|
var _g = 0;
|
|
while(_g < pathGroup.length) {
|
|
var path = pathGroup[_g];
|
|
++_g;
|
|
if(this.pathGroups.h[otherID1].indexOf(path) > -1) {
|
|
this.cachedAudioBuffers.h[otherID1] = audioBuffer;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
this.__assetLoaded(id);
|
|
}
|
|
,loadAudioBuffer_onError: function(id,message) {
|
|
if(message != null && message != "") {
|
|
lime_utils_Log.warn("Could not load \"" + id + "\": " + Std.string(message),{ fileName : "lime/utils/AssetLibrary.hx", lineNumber : 865, className : "lime.utils.AssetLibrary", methodName : "loadAudioBuffer_onError"});
|
|
} else {
|
|
lime_utils_Log.warn("Could not load \"" + id + "\"",{ fileName : "lime/utils/AssetLibrary.hx", lineNumber : 869, className : "lime.utils.AssetLibrary", methodName : "loadAudioBuffer_onError"});
|
|
}
|
|
this.loadAudioBuffer_onComplete(id,new lime_media_AudioBuffer());
|
|
}
|
|
,loadBytes_onComplete: function(id,bytes) {
|
|
this.cachedBytes.h[id] = bytes;
|
|
this.__assetLoaded(id);
|
|
}
|
|
,loadFont_onComplete: function(id,font) {
|
|
this.cachedFonts.h[id] = font;
|
|
this.__assetLoaded(id);
|
|
}
|
|
,loadImage_onComplete: function(id,image) {
|
|
this.cachedImages.h[id] = image;
|
|
this.__assetLoaded(id);
|
|
}
|
|
,loadText_onComplete: function(id,text) {
|
|
this.cachedText.h[id] = text;
|
|
this.__assetLoaded(id);
|
|
}
|
|
,load_onError: function(id,message) {
|
|
if(message != null && message != "") {
|
|
this.promise.error("Error loading asset \"" + id + "\": " + Std.string(message));
|
|
} else {
|
|
this.promise.error("Error loading asset \"" + id + "\"");
|
|
}
|
|
}
|
|
,load_onProgress: function(id,bytesLoaded,bytesTotal) {
|
|
if(bytesLoaded > 0) {
|
|
var size = this.sizes.h[id];
|
|
var percent;
|
|
if(bytesTotal > 0) {
|
|
percent = bytesLoaded / bytesTotal;
|
|
if(percent > 1) {
|
|
percent = 1;
|
|
}
|
|
bytesLoaded = Math.floor(percent * size);
|
|
} else if(bytesLoaded > size) {
|
|
bytesLoaded = size;
|
|
}
|
|
if(Object.prototype.hasOwnProperty.call(this.bytesLoadedCache.h,id)) {
|
|
var cache = this.bytesLoadedCache.h[id];
|
|
if(bytesLoaded != cache) {
|
|
this.bytesLoaded += bytesLoaded - cache;
|
|
}
|
|
} else {
|
|
this.bytesLoaded += bytesLoaded;
|
|
}
|
|
this.bytesLoadedCache.h[id] = bytesLoaded;
|
|
this.promise.progress(this.bytesLoaded,this.bytesTotal);
|
|
}
|
|
}
|
|
,__class__: lime_utils_AssetLibrary
|
|
};
|
|
var lime_utils_AssetManifest = function() {
|
|
this.assets = [];
|
|
this.libraryArgs = [];
|
|
this.version = 2;
|
|
};
|
|
$hxClasses["lime.utils.AssetManifest"] = lime_utils_AssetManifest;
|
|
lime_utils_AssetManifest.__name__ = "lime.utils.AssetManifest";
|
|
lime_utils_AssetManifest.fromBytes = function(bytes,rootPath) {
|
|
if(bytes != null) {
|
|
return lime_utils_AssetManifest.parse(bytes.getString(0,bytes.length),rootPath);
|
|
} else {
|
|
return null;
|
|
}
|
|
};
|
|
lime_utils_AssetManifest.fromFile = function(path,rootPath) {
|
|
path = lime_utils_AssetManifest.__resolvePath(path);
|
|
rootPath = lime_utils_AssetManifest.__resolveRootPath(rootPath,path);
|
|
if(path == null) {
|
|
return null;
|
|
}
|
|
return lime_utils_AssetManifest.fromBytes(lime_utils_Bytes.fromFile(path),rootPath);
|
|
};
|
|
lime_utils_AssetManifest.loadFromBytes = function(bytes,rootPath) {
|
|
return lime_app_Future.withValue(lime_utils_AssetManifest.fromBytes(bytes,rootPath));
|
|
};
|
|
lime_utils_AssetManifest.loadFromFile = function(path,rootPath) {
|
|
path = lime_utils_AssetManifest.__resolvePath(path);
|
|
rootPath = lime_utils_AssetManifest.__resolveRootPath(rootPath,path);
|
|
if(path == null) {
|
|
return null;
|
|
}
|
|
return lime_utils_Bytes.loadFromFile(path).then(function(bytes) {
|
|
return lime_app_Future.withValue(lime_utils_AssetManifest.fromBytes(bytes,rootPath));
|
|
});
|
|
};
|
|
lime_utils_AssetManifest.parse = function(data,rootPath) {
|
|
if(data == null || data == "") {
|
|
return null;
|
|
}
|
|
var manifestData = JSON.parse(data);
|
|
var manifest = new lime_utils_AssetManifest();
|
|
if(Object.prototype.hasOwnProperty.call(manifestData,"name")) {
|
|
manifest.name = manifestData.name;
|
|
}
|
|
if(Object.prototype.hasOwnProperty.call(manifestData,"libraryType")) {
|
|
manifest.libraryType = manifestData.libraryType;
|
|
}
|
|
if(Object.prototype.hasOwnProperty.call(manifestData,"libraryArgs")) {
|
|
manifest.libraryArgs = manifestData.libraryArgs;
|
|
}
|
|
if(Object.prototype.hasOwnProperty.call(manifestData,"assets")) {
|
|
var assets = manifestData.assets;
|
|
if(Object.prototype.hasOwnProperty.call(manifestData,"version") && manifestData.version <= 2) {
|
|
manifest.assets = haxe_Unserializer.run(assets);
|
|
} else {
|
|
manifest.assets = assets;
|
|
}
|
|
}
|
|
if(Object.prototype.hasOwnProperty.call(manifestData,"rootPath")) {
|
|
manifest.rootPath = manifestData.rootPath;
|
|
}
|
|
if(rootPath != null && rootPath != "") {
|
|
if(manifest.rootPath == null || manifest.rootPath == "") {
|
|
manifest.rootPath = rootPath;
|
|
} else {
|
|
manifest.rootPath = rootPath + "/" + manifest.rootPath;
|
|
}
|
|
}
|
|
return manifest;
|
|
};
|
|
lime_utils_AssetManifest.__resolvePath = function(path) {
|
|
if(path == null) {
|
|
return null;
|
|
}
|
|
var queryIndex = path.indexOf("?");
|
|
var basePath;
|
|
if(queryIndex > -1) {
|
|
basePath = HxOverrides.substr(path,0,queryIndex);
|
|
} else {
|
|
basePath = path;
|
|
}
|
|
basePath = StringTools.replace(basePath,"\\","/");
|
|
while(StringTools.endsWith(basePath,"/")) basePath = HxOverrides.substr(basePath,0,basePath.length - 1);
|
|
if(StringTools.endsWith(basePath,".bundle")) {
|
|
if(queryIndex > -1) {
|
|
return basePath + "/library.json" + HxOverrides.substr(path,queryIndex,null);
|
|
} else {
|
|
return basePath + "/library.json";
|
|
}
|
|
} else {
|
|
return path;
|
|
}
|
|
};
|
|
lime_utils_AssetManifest.__resolveRootPath = function(rootPath,path) {
|
|
if(rootPath != null) {
|
|
return rootPath;
|
|
}
|
|
var queryIndex = path.indexOf("?");
|
|
if(queryIndex > -1) {
|
|
rootPath = HxOverrides.substr(path,0,queryIndex);
|
|
} else {
|
|
rootPath = path;
|
|
}
|
|
rootPath = StringTools.replace(rootPath,"\\","/");
|
|
while(StringTools.endsWith(rootPath,"/")) {
|
|
if(rootPath == "/") {
|
|
return rootPath;
|
|
}
|
|
rootPath = HxOverrides.substr(rootPath,0,rootPath.length - 1);
|
|
}
|
|
if(StringTools.endsWith(rootPath,".bundle")) {
|
|
return rootPath;
|
|
} else {
|
|
return haxe_io_Path.directory(rootPath);
|
|
}
|
|
};
|
|
lime_utils_AssetManifest.prototype = {
|
|
assets: null
|
|
,libraryArgs: null
|
|
,libraryType: null
|
|
,name: null
|
|
,rootPath: null
|
|
,version: null
|
|
,serialize: function() {
|
|
var manifestData = { };
|
|
manifestData.version = this.version;
|
|
manifestData.libraryType = this.libraryType;
|
|
manifestData.libraryArgs = this.libraryArgs;
|
|
manifestData.name = this.name;
|
|
manifestData.assets = haxe_Serializer.run(this.assets);
|
|
manifestData.rootPath = this.rootPath;
|
|
return JSON.stringify(manifestData);
|
|
}
|
|
,__class__: lime_utils_AssetManifest
|
|
};
|
|
var lime_utils_Assets = function() { };
|
|
$hxClasses["lime.utils.Assets"] = lime_utils_Assets;
|
|
lime_utils_Assets.__name__ = "lime.utils.Assets";
|
|
lime_utils_Assets.exists = function(id,type) {
|
|
if(type == null) {
|
|
type = "BINARY";
|
|
}
|
|
var id1 = id;
|
|
var colonIndex = id1.indexOf(":");
|
|
var symbol_libraryName = id1.substring(0,colonIndex);
|
|
var symbol_symbolName = id1.substring(colonIndex + 1);
|
|
var symbol_library = lime_utils_Assets.getLibrary(symbol_libraryName);
|
|
if(symbol_library != null) {
|
|
return symbol_library.exists(symbol_symbolName,type);
|
|
}
|
|
return false;
|
|
};
|
|
lime_utils_Assets.getAsset = function(id,type,useCache) {
|
|
if(useCache && lime_utils_Assets.cache.enabled) {
|
|
switch(type) {
|
|
case "BINARY":case "TEXT":
|
|
useCache = false;
|
|
break;
|
|
case "FONT":
|
|
var font = lime_utils_Assets.cache.font.h[id];
|
|
if(font != null) {
|
|
return font;
|
|
}
|
|
break;
|
|
case "IMAGE":
|
|
var image = lime_utils_Assets.cache.image.h[id];
|
|
if(lime_utils_Assets.isValidImage(image)) {
|
|
return image;
|
|
}
|
|
break;
|
|
case "MUSIC":case "SOUND":
|
|
var audio = lime_utils_Assets.cache.audio.h[id];
|
|
if(lime_utils_Assets.isValidAudio(audio)) {
|
|
return audio;
|
|
}
|
|
break;
|
|
case "TEMPLATE":
|
|
throw haxe_Exception.thrown("Not sure how to get template: " + id);
|
|
default:
|
|
return null;
|
|
}
|
|
}
|
|
var id1 = id;
|
|
var colonIndex = id1.indexOf(":");
|
|
var symbol_libraryName = id1.substring(0,colonIndex);
|
|
var symbol_symbolName = id1.substring(colonIndex + 1);
|
|
var symbol_library = lime_utils_Assets.getLibrary(symbol_libraryName);
|
|
if(symbol_library != null) {
|
|
if(symbol_library.exists(symbol_symbolName,type)) {
|
|
if(symbol_library.isLocal(symbol_symbolName,type)) {
|
|
var asset = symbol_library.getAsset(symbol_symbolName,type);
|
|
if(useCache && lime_utils_Assets.cache.enabled) {
|
|
lime_utils_Assets.cache.set(id,type,asset);
|
|
}
|
|
return asset;
|
|
} else {
|
|
lime_utils_Log.error(type + " asset \"" + id + "\" exists, but only asynchronously",{ fileName : "lime/utils/Assets.hx", lineNumber : 133, className : "lime.utils.Assets", methodName : "getAsset"});
|
|
}
|
|
} else {
|
|
lime_utils_Log.error("There is no " + type + " asset with an ID of \"" + id + "\"",{ fileName : "lime/utils/Assets.hx", lineNumber : 138, className : "lime.utils.Assets", methodName : "getAsset"});
|
|
}
|
|
} else {
|
|
lime_utils_Log.error(lime_utils_Assets.__libraryNotFound(symbol_libraryName),{ fileName : "lime/utils/Assets.hx", lineNumber : 143, className : "lime.utils.Assets", methodName : "getAsset"});
|
|
}
|
|
return null;
|
|
};
|
|
lime_utils_Assets.getAudioBuffer = function(id,useCache) {
|
|
if(useCache == null) {
|
|
useCache = true;
|
|
}
|
|
return lime_utils_Assets.getAsset(id,"SOUND",useCache);
|
|
};
|
|
lime_utils_Assets.getBytes = function(id) {
|
|
return lime_utils_Assets.getAsset(id,"BINARY",false);
|
|
};
|
|
lime_utils_Assets.getFont = function(id,useCache) {
|
|
if(useCache == null) {
|
|
useCache = true;
|
|
}
|
|
return lime_utils_Assets.getAsset(id,"FONT",useCache);
|
|
};
|
|
lime_utils_Assets.getImage = function(id,useCache) {
|
|
if(useCache == null) {
|
|
useCache = true;
|
|
}
|
|
return lime_utils_Assets.getAsset(id,"IMAGE",useCache);
|
|
};
|
|
lime_utils_Assets.getLibrary = function(name) {
|
|
if(name == null || name == "") {
|
|
name = "default";
|
|
}
|
|
return lime_utils_Assets.libraries.h[name];
|
|
};
|
|
lime_utils_Assets.getPath = function(id) {
|
|
var id1 = id;
|
|
var colonIndex = id1.indexOf(":");
|
|
var symbol_libraryName = id1.substring(0,colonIndex);
|
|
var symbol_symbolName = id1.substring(colonIndex + 1);
|
|
var symbol_library = lime_utils_Assets.getLibrary(symbol_libraryName);
|
|
if(symbol_library != null) {
|
|
if(symbol_library.exists(symbol_symbolName,null)) {
|
|
return symbol_library.getPath(symbol_symbolName);
|
|
} else {
|
|
lime_utils_Log.error("There is no asset with an ID of \"" + id + "\"",{ fileName : "lime/utils/Assets.hx", lineNumber : 224, className : "lime.utils.Assets", methodName : "getPath"});
|
|
}
|
|
} else {
|
|
lime_utils_Log.error(lime_utils_Assets.__libraryNotFound(symbol_libraryName),{ fileName : "lime/utils/Assets.hx", lineNumber : 229, className : "lime.utils.Assets", methodName : "getPath"});
|
|
}
|
|
return null;
|
|
};
|
|
lime_utils_Assets.getText = function(id) {
|
|
return lime_utils_Assets.getAsset(id,"TEXT",false);
|
|
};
|
|
lime_utils_Assets.hasLibrary = function(name) {
|
|
if(name == null || name == "") {
|
|
name = "default";
|
|
}
|
|
return Object.prototype.hasOwnProperty.call(lime_utils_Assets.libraries.h,name);
|
|
};
|
|
lime_utils_Assets.isLocal = function(id,type,useCache) {
|
|
if(useCache == null) {
|
|
useCache = true;
|
|
}
|
|
if(useCache && lime_utils_Assets.cache.enabled) {
|
|
if(lime_utils_Assets.cache.exists(id,type)) {
|
|
return true;
|
|
}
|
|
}
|
|
var id1 = id;
|
|
var colonIndex = id1.indexOf(":");
|
|
var symbol_libraryName = id1.substring(0,colonIndex);
|
|
var symbol_symbolName = id1.substring(colonIndex + 1);
|
|
var symbol_library = lime_utils_Assets.getLibrary(symbol_libraryName);
|
|
if(symbol_library != null) {
|
|
return symbol_library.isLocal(symbol_symbolName,type);
|
|
} else {
|
|
return false;
|
|
}
|
|
};
|
|
lime_utils_Assets.isValidAudio = function(buffer) {
|
|
return buffer != null;
|
|
};
|
|
lime_utils_Assets.isValidImage = function(image) {
|
|
if(image != null) {
|
|
return image.buffer != null;
|
|
} else {
|
|
return false;
|
|
}
|
|
};
|
|
lime_utils_Assets.list = function(type) {
|
|
var items = [];
|
|
var library = haxe_ds_StringMap.valueIterator(lime_utils_Assets.libraries.h);
|
|
while(library.hasNext()) {
|
|
var library1 = library.next();
|
|
var libraryItems = library1.list(type);
|
|
if(libraryItems != null) {
|
|
items = items.concat(libraryItems);
|
|
}
|
|
}
|
|
return items;
|
|
};
|
|
lime_utils_Assets.loadAsset = function(id,type,useCache) {
|
|
if(useCache && lime_utils_Assets.cache.enabled) {
|
|
switch(type) {
|
|
case "BINARY":case "TEXT":
|
|
useCache = false;
|
|
break;
|
|
case "FONT":
|
|
var font = lime_utils_Assets.cache.font.h[id];
|
|
if(font != null) {
|
|
return lime_app_Future.withValue(font);
|
|
}
|
|
break;
|
|
case "IMAGE":
|
|
var image = lime_utils_Assets.cache.image.h[id];
|
|
if(lime_utils_Assets.isValidImage(image)) {
|
|
return lime_app_Future.withValue(image);
|
|
}
|
|
break;
|
|
case "MUSIC":case "SOUND":
|
|
var audio = lime_utils_Assets.cache.audio.h[id];
|
|
if(lime_utils_Assets.isValidAudio(audio)) {
|
|
return lime_app_Future.withValue(audio);
|
|
}
|
|
break;
|
|
case "TEMPLATE":
|
|
throw haxe_Exception.thrown("Not sure how to get template: " + id);
|
|
default:
|
|
return null;
|
|
}
|
|
}
|
|
var id1 = id;
|
|
var colonIndex = id1.indexOf(":");
|
|
var symbol_libraryName = id1.substring(0,colonIndex);
|
|
var symbol_symbolName = id1.substring(colonIndex + 1);
|
|
var symbol_library = lime_utils_Assets.getLibrary(symbol_libraryName);
|
|
if(symbol_library != null) {
|
|
if(symbol_library.exists(symbol_symbolName,type)) {
|
|
var future = symbol_library.loadAsset(symbol_symbolName,type);
|
|
if(useCache && lime_utils_Assets.cache.enabled) {
|
|
future.onComplete(function(asset) {
|
|
lime_utils_Assets.cache.set(id,type,asset);
|
|
});
|
|
}
|
|
return future;
|
|
} else {
|
|
return lime_app_Future.withError("There is no " + type + " asset with an ID of \"" + id + "\"");
|
|
}
|
|
} else {
|
|
return lime_app_Future.withError(lime_utils_Assets.__libraryNotFound(symbol_libraryName));
|
|
}
|
|
};
|
|
lime_utils_Assets.loadAudioBuffer = function(id,useCache) {
|
|
if(useCache == null) {
|
|
useCache = true;
|
|
}
|
|
return lime_utils_Assets.loadAsset(id,"SOUND",useCache);
|
|
};
|
|
lime_utils_Assets.loadBytes = function(id) {
|
|
return lime_utils_Assets.loadAsset(id,"BINARY",false);
|
|
};
|
|
lime_utils_Assets.loadFont = function(id,useCache) {
|
|
if(useCache == null) {
|
|
useCache = true;
|
|
}
|
|
return lime_utils_Assets.loadAsset(id,"FONT",useCache);
|
|
};
|
|
lime_utils_Assets.loadImage = function(id,useCache) {
|
|
if(useCache == null) {
|
|
useCache = true;
|
|
}
|
|
return lime_utils_Assets.loadAsset(id,"IMAGE",useCache);
|
|
};
|
|
lime_utils_Assets.loadLibrary = function(id) {
|
|
var promise = new lime_app_Promise();
|
|
var library = lime_utils_Assets.getLibrary(id);
|
|
if(library != null) {
|
|
return library.load();
|
|
}
|
|
var path = id;
|
|
var rootPath = null;
|
|
if(Object.prototype.hasOwnProperty.call(lime_utils_Assets.bundlePaths.h,id)) {
|
|
lime_utils_AssetBundle.loadFromFile(lime_utils_Assets.bundlePaths.h[id]).onComplete(function(bundle) {
|
|
if(bundle == null) {
|
|
promise.error("Cannot load bundle for library \"" + id + "\"");
|
|
return;
|
|
}
|
|
var library = lime_utils_AssetLibrary.fromBundle(bundle);
|
|
if(library == null) {
|
|
promise.error("Cannot open library \"" + id + "\"");
|
|
} else {
|
|
lime_utils_Assets.libraries.h[id] = library;
|
|
library.onChange.add(($_=lime_utils_Assets.onChange,$bind($_,$_.dispatch)));
|
|
promise.completeWith(library.load());
|
|
}
|
|
}).onError(function(_) {
|
|
promise.error("There is no asset library with an ID of \"" + id + "\"");
|
|
});
|
|
} else {
|
|
if(Object.prototype.hasOwnProperty.call(lime_utils_Assets.libraryPaths.h,id)) {
|
|
path = lime_utils_Assets.libraryPaths.h[id];
|
|
rootPath = haxe_io_Path.directory(path);
|
|
} else {
|
|
if(StringTools.endsWith(path,".bundle")) {
|
|
rootPath = path;
|
|
path += "/library.json";
|
|
} else {
|
|
rootPath = haxe_io_Path.directory(path);
|
|
}
|
|
path = lime_utils_Assets.__cacheBreak(path);
|
|
}
|
|
lime_utils_AssetManifest.loadFromFile(path,rootPath).onComplete(function(manifest) {
|
|
if(manifest == null) {
|
|
promise.error("Cannot parse asset manifest for library \"" + id + "\"");
|
|
return;
|
|
}
|
|
var library = lime_utils_AssetLibrary.fromManifest(manifest);
|
|
if(library == null) {
|
|
promise.error("Cannot open library \"" + id + "\"");
|
|
} else {
|
|
lime_utils_Assets.libraries.h[id] = library;
|
|
library.onChange.add(($_=lime_utils_Assets.onChange,$bind($_,$_.dispatch)));
|
|
promise.completeWith(library.load());
|
|
}
|
|
}).onError(function(_) {
|
|
promise.error("There is no asset library with an ID of \"" + id + "\"");
|
|
});
|
|
}
|
|
return promise.future;
|
|
};
|
|
lime_utils_Assets.loadText = function(id) {
|
|
return lime_utils_Assets.loadAsset(id,"TEXT",false);
|
|
};
|
|
lime_utils_Assets.registerLibrary = function(name,library) {
|
|
if(Object.prototype.hasOwnProperty.call(lime_utils_Assets.libraries.h,name)) {
|
|
if(lime_utils_Assets.libraries.h[name] == library) {
|
|
return;
|
|
} else {
|
|
lime_utils_Assets.unloadLibrary(name);
|
|
}
|
|
}
|
|
if(library != null) {
|
|
library.onChange.add(lime_utils_Assets.library_onChange);
|
|
}
|
|
lime_utils_Assets.libraries.h[name] = library;
|
|
};
|
|
lime_utils_Assets.unloadLibrary = function(name) {
|
|
if(name == null || name == "") {
|
|
name = "default";
|
|
}
|
|
var library = lime_utils_Assets.libraries.h[name];
|
|
if(library != null) {
|
|
lime_utils_Assets.cache.clear(name + ":");
|
|
library.onChange.remove(lime_utils_Assets.library_onChange);
|
|
library.unload();
|
|
}
|
|
var _this = lime_utils_Assets.libraries;
|
|
if(Object.prototype.hasOwnProperty.call(_this.h,name)) {
|
|
delete(_this.h[name]);
|
|
}
|
|
};
|
|
lime_utils_Assets.__cacheBreak = function(path) {
|
|
if(lime_utils_Assets.cache.version > 0) {
|
|
if(path.indexOf("?") > -1) {
|
|
path += "&" + lime_utils_Assets.cache.version;
|
|
} else {
|
|
path += "?" + lime_utils_Assets.cache.version;
|
|
}
|
|
}
|
|
return path;
|
|
};
|
|
lime_utils_Assets.__libraryNotFound = function(name) {
|
|
if(name == null || name == "") {
|
|
name = "default";
|
|
}
|
|
if(lime_app_Application.current != null && lime_app_Application.current.__preloader != null && !lime_app_Application.current.__preloader.complete) {
|
|
return "There is no asset library named \"" + name + "\", or it is not yet preloaded";
|
|
} else {
|
|
return "There is no asset library named \"" + name + "\"";
|
|
}
|
|
};
|
|
lime_utils_Assets.library_onChange = function() {
|
|
lime_utils_Assets.cache.clear();
|
|
lime_utils_Assets.onChange.dispatch();
|
|
};
|
|
var lime_utils__$Assets_LibrarySymbol = function(id) {
|
|
var colonIndex = id.indexOf(":");
|
|
this.libraryName = id.substring(0,colonIndex);
|
|
this.symbolName = id.substring(colonIndex + 1);
|
|
this.library = lime_utils_Assets.getLibrary(this.libraryName);
|
|
};
|
|
$hxClasses["lime.utils._Assets.LibrarySymbol"] = lime_utils__$Assets_LibrarySymbol;
|
|
lime_utils__$Assets_LibrarySymbol.__name__ = "lime.utils._Assets.LibrarySymbol";
|
|
lime_utils__$Assets_LibrarySymbol.prototype = {
|
|
library: null
|
|
,libraryName: null
|
|
,symbolName: null
|
|
,isLocal: function(type) {
|
|
return this.library.isLocal(this.symbolName,type);
|
|
}
|
|
,exists: function(type) {
|
|
return this.library.exists(this.symbolName,type);
|
|
}
|
|
,__class__: lime_utils__$Assets_LibrarySymbol
|
|
};
|
|
var lime_utils_BytePointer = {};
|
|
lime_utils_BytePointer._new = function(bytes,offset) {
|
|
if(offset == null) {
|
|
offset = 0;
|
|
}
|
|
var this1 = new lime_utils_BytePointerData(bytes,offset);
|
|
return this1;
|
|
};
|
|
lime_utils_BytePointer.set = function(this1,bytes,bufferView,buffer,offset) {
|
|
if(buffer != null) {
|
|
bytes = haxe_io_Bytes.ofData(buffer);
|
|
}
|
|
if(bytes != null || bufferView == null) {
|
|
this1.bytes = bytes;
|
|
this1.offset = offset != null ? offset : 0;
|
|
} else {
|
|
this1.bytes = haxe_io_Bytes.ofData(bufferView.buffer);
|
|
this1.offset = offset != null ? bufferView.byteOffset + offset : bufferView.byteOffset;
|
|
}
|
|
};
|
|
lime_utils_BytePointer.__arrayGet = function(this1,index) {
|
|
if(this1.bytes != null) {
|
|
return this1.bytes.b[index + this1.offset];
|
|
} else {
|
|
return 0;
|
|
}
|
|
};
|
|
lime_utils_BytePointer.__arraySet = function(this1,index,value) {
|
|
if(this1.bytes == null) {
|
|
this1.bytes.b[index + this1.offset] = value & 255;
|
|
}
|
|
return value;
|
|
};
|
|
lime_utils_BytePointer.fromArrayBufferView = function(arrayBufferView) {
|
|
if(arrayBufferView == null) {
|
|
return null;
|
|
}
|
|
return new lime_utils_BytePointerData(haxe_io_Bytes.ofData(arrayBufferView.buffer),arrayBufferView.byteOffset);
|
|
};
|
|
lime_utils_BytePointer.fromArrayBuffer = function(buffer) {
|
|
if(buffer == null) {
|
|
return null;
|
|
}
|
|
return new lime_utils_BytePointerData(haxe_io_Bytes.ofData(buffer),0);
|
|
};
|
|
lime_utils_BytePointer.fromBytes = function(bytes) {
|
|
return new lime_utils_BytePointerData(bytes,0);
|
|
};
|
|
lime_utils_BytePointer.fromBytesData = function(bytesData) {
|
|
if(bytesData == null) {
|
|
return new lime_utils_BytePointerData(null,0);
|
|
} else {
|
|
return new lime_utils_BytePointerData(haxe_io_Bytes.ofData(bytesData),0);
|
|
}
|
|
};
|
|
lime_utils_BytePointer.fromFile = function(path) {
|
|
return new lime_utils_BytePointerData(lime_utils_Bytes.fromFile(path),0);
|
|
};
|
|
lime_utils_BytePointer.fromLimeBytes = function(bytes) {
|
|
return new lime_utils_BytePointerData(bytes,0);
|
|
};
|
|
lime_utils_BytePointer.toUInt8Array = function(bytePointer) {
|
|
var elements = null;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = bytePointer.bytes.b.bufferValue;
|
|
var byteoffset = bytePointer.offset / 8 | 0;
|
|
var len = null;
|
|
if(byteoffset == null) {
|
|
byteoffset = 0;
|
|
}
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Uint8Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Uint8Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Uint8Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Uint8Array(view);
|
|
} else if(buffer != null) {
|
|
if(len == null) {
|
|
this1 = new Uint8Array(buffer,byteoffset);
|
|
} else {
|
|
this1 = new Uint8Array(buffer,byteoffset,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
return this1;
|
|
};
|
|
lime_utils_BytePointer.toUInt8ClampedArray = function(bytePointer) {
|
|
if(bytePointer == null || bytePointer.bytes == null) {
|
|
return null;
|
|
}
|
|
var elements = null;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = bytePointer.bytes.b.bufferValue;
|
|
var byteoffset = bytePointer.offset / 8 | 0;
|
|
var len = null;
|
|
if(byteoffset == null) {
|
|
byteoffset = 0;
|
|
}
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Uint8ClampedArray(elements);
|
|
} else if(array != null) {
|
|
this1 = new Uint8ClampedArray(array);
|
|
} else if(vector != null) {
|
|
this1 = new Uint8ClampedArray(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Uint8ClampedArray(view);
|
|
} else if(buffer != null) {
|
|
if(len == null) {
|
|
this1 = new Uint8ClampedArray(buffer,byteoffset);
|
|
} else {
|
|
this1 = new Uint8ClampedArray(buffer,byteoffset,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
return this1;
|
|
};
|
|
lime_utils_BytePointer.toInt8Array = function(bytePointer) {
|
|
if(bytePointer == null || bytePointer.bytes == null) {
|
|
return null;
|
|
}
|
|
var elements = null;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = bytePointer.bytes.b.bufferValue;
|
|
var byteoffset = bytePointer.offset / 8 | 0;
|
|
var len = null;
|
|
if(byteoffset == null) {
|
|
byteoffset = 0;
|
|
}
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Int8Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Int8Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Int8Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Int8Array(view);
|
|
} else if(buffer != null) {
|
|
if(len == null) {
|
|
this1 = new Int8Array(buffer,byteoffset);
|
|
} else {
|
|
this1 = new Int8Array(buffer,byteoffset,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
return this1;
|
|
};
|
|
lime_utils_BytePointer.toUInt16Array = function(bytePointer) {
|
|
if(bytePointer == null || bytePointer.bytes == null) {
|
|
return null;
|
|
}
|
|
var elements = null;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = bytePointer.bytes.b.bufferValue;
|
|
var byteoffset = bytePointer.offset / 16 | 0;
|
|
var len = null;
|
|
if(byteoffset == null) {
|
|
byteoffset = 0;
|
|
}
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Uint16Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Uint16Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Uint16Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Uint16Array(view);
|
|
} else if(buffer != null) {
|
|
if(len == null) {
|
|
this1 = new Uint16Array(buffer,byteoffset);
|
|
} else {
|
|
this1 = new Uint16Array(buffer,byteoffset,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
return this1;
|
|
};
|
|
lime_utils_BytePointer.toInt16Array = function(bytePointer) {
|
|
if(bytePointer == null || bytePointer.bytes == null) {
|
|
return null;
|
|
}
|
|
var elements = null;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = bytePointer.bytes.b.bufferValue;
|
|
var byteoffset = bytePointer.offset / 16 | 0;
|
|
var len = null;
|
|
if(byteoffset == null) {
|
|
byteoffset = 0;
|
|
}
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Int16Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Int16Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Int16Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Int16Array(view);
|
|
} else if(buffer != null) {
|
|
if(len == null) {
|
|
this1 = new Int16Array(buffer,byteoffset);
|
|
} else {
|
|
this1 = new Int16Array(buffer,byteoffset,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
return this1;
|
|
};
|
|
lime_utils_BytePointer.toUInt32Array = function(bytePointer) {
|
|
if(bytePointer == null || bytePointer.bytes == null) {
|
|
return null;
|
|
}
|
|
var elements = null;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = bytePointer.bytes.b.bufferValue;
|
|
var byteoffset = bytePointer.offset / 32 | 0;
|
|
var len = null;
|
|
if(byteoffset == null) {
|
|
byteoffset = 0;
|
|
}
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Uint32Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Uint32Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Uint32Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Uint32Array(view);
|
|
} else if(buffer != null) {
|
|
if(len == null) {
|
|
this1 = new Uint32Array(buffer,byteoffset);
|
|
} else {
|
|
this1 = new Uint32Array(buffer,byteoffset,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
return this1;
|
|
};
|
|
lime_utils_BytePointer.toInt32Array = function(bytePointer) {
|
|
if(bytePointer == null || bytePointer.bytes == null) {
|
|
return null;
|
|
}
|
|
var elements = null;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = bytePointer.bytes.b.bufferValue;
|
|
var byteoffset = bytePointer.offset / 32 | 0;
|
|
var len = null;
|
|
if(byteoffset == null) {
|
|
byteoffset = 0;
|
|
}
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Int32Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Int32Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Int32Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Int32Array(view);
|
|
} else if(buffer != null) {
|
|
if(len == null) {
|
|
this1 = new Int32Array(buffer,byteoffset);
|
|
} else {
|
|
this1 = new Int32Array(buffer,byteoffset,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
return this1;
|
|
};
|
|
lime_utils_BytePointer.toFloat32Array = function(bytePointer) {
|
|
if(bytePointer == null || bytePointer.bytes == null) {
|
|
return null;
|
|
}
|
|
var elements = null;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = bytePointer.bytes.b.bufferValue;
|
|
var byteoffset = bytePointer.offset / 32 | 0;
|
|
var len = null;
|
|
if(byteoffset == null) {
|
|
byteoffset = 0;
|
|
}
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Float32Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Float32Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Float32Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Float32Array(view);
|
|
} else if(buffer != null) {
|
|
if(len == null) {
|
|
this1 = new Float32Array(buffer,byteoffset);
|
|
} else {
|
|
this1 = new Float32Array(buffer,byteoffset,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
return this1;
|
|
};
|
|
lime_utils_BytePointer.toFloat64Array = function(bytePointer) {
|
|
if(bytePointer == null || bytePointer.bytes == null) {
|
|
return null;
|
|
}
|
|
var elements = null;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = bytePointer.bytes.b.bufferValue;
|
|
var byteoffset = bytePointer.offset / 64 | 0;
|
|
var len = null;
|
|
if(byteoffset == null) {
|
|
byteoffset = 0;
|
|
}
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Float64Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Float64Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Float64Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Float64Array(view);
|
|
} else if(buffer != null) {
|
|
if(len == null) {
|
|
this1 = new Float64Array(buffer,byteoffset);
|
|
} else {
|
|
this1 = new Float64Array(buffer,byteoffset,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
return this1;
|
|
};
|
|
var lime_utils_BytePointerData = function(bytes,offset) {
|
|
this.bytes = bytes;
|
|
this.offset = offset;
|
|
};
|
|
$hxClasses["lime.utils.BytePointerData"] = lime_utils_BytePointerData;
|
|
lime_utils_BytePointerData.__name__ = "lime.utils.BytePointerData";
|
|
lime_utils_BytePointerData.prototype = {
|
|
bytes: null
|
|
,offset: null
|
|
,__class__: lime_utils_BytePointerData
|
|
};
|
|
var lime_utils_Bytes = {};
|
|
lime_utils_Bytes._new = function(length,bytesData) {
|
|
var this1 = new haxe_io_Bytes(bytesData);
|
|
return this1;
|
|
};
|
|
lime_utils_Bytes.alloc = function(length) {
|
|
return new haxe_io_Bytes(new ArrayBuffer(length));
|
|
};
|
|
lime_utils_Bytes.compress = function(this1,algorithm) {
|
|
switch(algorithm._hx_index) {
|
|
case 0:
|
|
return lime__$internal_format_Deflate.compress(this1);
|
|
case 1:
|
|
return lime__$internal_format_GZip.compress(this1);
|
|
case 2:
|
|
return lime__$internal_format_LZMA.compress(this1);
|
|
case 3:
|
|
return lime__$internal_format_Zlib.compress(this1);
|
|
}
|
|
};
|
|
lime_utils_Bytes.decompress = function(this1,algorithm) {
|
|
switch(algorithm._hx_index) {
|
|
case 0:
|
|
return lime__$internal_format_Deflate.decompress(this1);
|
|
case 1:
|
|
return lime__$internal_format_GZip.decompress(this1);
|
|
case 2:
|
|
return lime__$internal_format_LZMA.decompress(this1);
|
|
case 3:
|
|
return lime__$internal_format_Zlib.decompress(this1);
|
|
}
|
|
};
|
|
lime_utils_Bytes.fastGet = function(b,pos) {
|
|
return b.bytes[pos];
|
|
};
|
|
lime_utils_Bytes.fromBytes = function(bytes) {
|
|
if(bytes == null) {
|
|
return null;
|
|
}
|
|
return lime_utils_Bytes._new(bytes.length,bytes.b.bufferValue);
|
|
};
|
|
lime_utils_Bytes.fromFile = function(path) {
|
|
return null;
|
|
};
|
|
lime_utils_Bytes.loadFromBytes = function(bytes) {
|
|
return lime_app_Future.withValue(lime_utils_Bytes.fromBytes(bytes));
|
|
};
|
|
lime_utils_Bytes.loadFromFile = function(path) {
|
|
var request = new lime_net__$HTTPRequest_$lime_$utils_$Bytes();
|
|
return request.load(path);
|
|
};
|
|
lime_utils_Bytes.ofData = function(b) {
|
|
var bytes = haxe_io_Bytes.ofData(b);
|
|
return lime_utils_Bytes._new(bytes.length,bytes.b.bufferValue);
|
|
};
|
|
lime_utils_Bytes.ofString = function(s) {
|
|
var bytes = haxe_io_Bytes.ofString(s);
|
|
return lime_utils_Bytes._new(bytes.length,bytes.b.bufferValue);
|
|
};
|
|
var lime_utils_CompressionAlgorithm = $hxEnums["lime.utils.CompressionAlgorithm"] = { __ename__ : "lime.utils.CompressionAlgorithm", __constructs__ : ["DEFLATE","GZIP","LZMA","ZLIB"]
|
|
,DEFLATE: {_hx_index:0,__enum__:"lime.utils.CompressionAlgorithm",toString:$estr}
|
|
,GZIP: {_hx_index:1,__enum__:"lime.utils.CompressionAlgorithm",toString:$estr}
|
|
,LZMA: {_hx_index:2,__enum__:"lime.utils.CompressionAlgorithm",toString:$estr}
|
|
,ZLIB: {_hx_index:3,__enum__:"lime.utils.CompressionAlgorithm",toString:$estr}
|
|
};
|
|
var lime_utils_DataPointer = {};
|
|
lime_utils_DataPointer._new = function(data) {
|
|
var this1 = data;
|
|
return this1;
|
|
};
|
|
lime_utils_DataPointer.fromFloat = function(value) {
|
|
return value;
|
|
};
|
|
lime_utils_DataPointer.fromBytesPointer = function(pointer) {
|
|
return lime_utils_DataPointer.fromFloat(0);
|
|
};
|
|
lime_utils_DataPointer.fromArrayBufferView = function(arrayBufferView) {
|
|
return lime_utils_DataPointer.fromFloat(0);
|
|
};
|
|
lime_utils_DataPointer.fromArrayBuffer = function(buffer) {
|
|
return lime_utils_DataPointer.fromFloat(0);
|
|
};
|
|
lime_utils_DataPointer.fromBytes = function(bytes) {
|
|
return lime_utils_DataPointer.fromFloat(0);
|
|
};
|
|
lime_utils_DataPointer.fromBytesData = function(bytesData) {
|
|
return lime_utils_DataPointer.fromFloat(0);
|
|
};
|
|
lime_utils_DataPointer.fromLimeBytes = function(bytes) {
|
|
return lime_utils_DataPointer.fromBytes(bytes);
|
|
};
|
|
lime_utils_DataPointer.fromCFFIPointer = function(pointer) {
|
|
return lime_utils_DataPointer.fromFloat(0);
|
|
};
|
|
lime_utils_DataPointer.fromFile = function(path) {
|
|
return lime_utils_DataPointer.fromFloat(0);
|
|
};
|
|
lime_utils_DataPointer.__withOffset = function(data,offset) {
|
|
return lime_utils_DataPointer.fromFloat(0);
|
|
};
|
|
lime_utils_DataPointer.equals = function(a,b) {
|
|
return a == b;
|
|
};
|
|
lime_utils_DataPointer.equalsPointer = function(a,b) {
|
|
return a == b;
|
|
};
|
|
lime_utils_DataPointer.greaterThan = function(a,b) {
|
|
return a > b;
|
|
};
|
|
lime_utils_DataPointer.greaterThanPointer = function(a,b) {
|
|
return lime_system_CFFIPointer.get(a) > lime_system_CFFIPointer.get(b);
|
|
};
|
|
lime_utils_DataPointer.greaterThanOrEqual = function(a,b) {
|
|
return a >= b;
|
|
};
|
|
lime_utils_DataPointer.greaterThanOrEqualPointer = function(a,b) {
|
|
return lime_system_CFFIPointer.get(a) >= lime_system_CFFIPointer.get(b);
|
|
};
|
|
lime_utils_DataPointer.lessThan = function(a,b) {
|
|
return a < b;
|
|
};
|
|
lime_utils_DataPointer.lessThanPointer = function(a,b) {
|
|
return lime_system_CFFIPointer.get(a) < lime_system_CFFIPointer.get(b);
|
|
};
|
|
lime_utils_DataPointer.lessThanOrEqual = function(a,b) {
|
|
return a <= b;
|
|
};
|
|
lime_utils_DataPointer.lessThanOrEqualPointer = function(a,b) {
|
|
return lime_system_CFFIPointer.get(a) <= lime_system_CFFIPointer.get(b);
|
|
};
|
|
lime_utils_DataPointer.notEquals = function(a,b) {
|
|
return a != b;
|
|
};
|
|
lime_utils_DataPointer.notEqualsPointer = function(a,b) {
|
|
return a != b;
|
|
};
|
|
lime_utils_DataPointer.plus = function(a,b) {
|
|
return lime_utils_DataPointer.__withOffset(a,b);
|
|
};
|
|
lime_utils_DataPointer.plusPointer = function(a,b) {
|
|
return lime_utils_DataPointer.__withOffset(a,b | 0);
|
|
};
|
|
lime_utils_DataPointer.minus = function(a,b) {
|
|
return lime_utils_DataPointer.__withOffset(a,-b);
|
|
};
|
|
lime_utils_DataPointer.minusPointer = function(a,b) {
|
|
return lime_utils_DataPointer.__withOffset(a,-(b | 0));
|
|
};
|
|
var lime_utils_Float32Array = {};
|
|
lime_utils_Float32Array.toArrayBufferView = function(this1) {
|
|
return this1;
|
|
};
|
|
lime_utils_Float32Array.fromBytes = function(bytes,byteOffset,len) {
|
|
if(byteOffset == null) {
|
|
byteOffset = 0;
|
|
}
|
|
if(byteOffset == null) {
|
|
return new Float32Array(bytes.b.bufferValue);
|
|
}
|
|
if(len == null) {
|
|
return new Float32Array(bytes.b.bufferValue,byteOffset);
|
|
}
|
|
return new Float32Array(bytes.b.bufferValue,byteOffset,len);
|
|
};
|
|
lime_utils_Float32Array.toBytes = function(this1) {
|
|
return new haxe_io_Bytes(new Uint8Array(this1.buffer));
|
|
};
|
|
lime_utils_Float32Array.toString = function(this1) {
|
|
if(this1 != null) {
|
|
return "Float32Array [byteLength:" + this1.byteLength + ", length:" + this1.length + "]";
|
|
} else {
|
|
return null;
|
|
}
|
|
};
|
|
var lime_utils_Float64Array = {};
|
|
lime_utils_Float64Array.toArrayBufferView = function(this1) {
|
|
return this1;
|
|
};
|
|
lime_utils_Float64Array.fromBytes = function(bytes,byteOffset,len) {
|
|
if(byteOffset == null) {
|
|
byteOffset = 0;
|
|
}
|
|
if(byteOffset == null) {
|
|
return new Float64Array(bytes.b.bufferValue);
|
|
}
|
|
if(len == null) {
|
|
return new Float64Array(bytes.b.bufferValue,byteOffset);
|
|
}
|
|
return new Float64Array(bytes.b.bufferValue,byteOffset,len);
|
|
};
|
|
lime_utils_Float64Array.toBytes = function(this1) {
|
|
return new haxe_io_Bytes(new Uint8Array(this1.buffer));
|
|
};
|
|
lime_utils_Float64Array.toString = function(this1) {
|
|
if(this1 != null) {
|
|
return "Float64Array [byteLength:" + this1.byteLength + ", length:" + this1.length + "]";
|
|
} else {
|
|
return null;
|
|
}
|
|
};
|
|
var lime_utils_Int16Array = {};
|
|
lime_utils_Int16Array.toArrayBufferView = function(this1) {
|
|
return this1;
|
|
};
|
|
lime_utils_Int16Array.fromBytes = function(bytes,byteOffset,len) {
|
|
if(byteOffset == null) {
|
|
byteOffset = 0;
|
|
}
|
|
if(byteOffset == null) {
|
|
return new Int16Array(bytes.b.bufferValue);
|
|
}
|
|
if(len == null) {
|
|
return new Int16Array(bytes.b.bufferValue,byteOffset);
|
|
}
|
|
return new Int16Array(bytes.b.bufferValue,byteOffset,len);
|
|
};
|
|
lime_utils_Int16Array.toBytes = function(this1) {
|
|
return new haxe_io_Bytes(new Uint8Array(this1.buffer));
|
|
};
|
|
lime_utils_Int16Array.toString = function(this1) {
|
|
if(this1 != null) {
|
|
return "Int16Array [byteLength:" + this1.byteLength + ", length:" + this1.length + "]";
|
|
} else {
|
|
return null;
|
|
}
|
|
};
|
|
var lime_utils_Int32Array = {};
|
|
lime_utils_Int32Array.toArrayBufferView = function(this1) {
|
|
return this1;
|
|
};
|
|
lime_utils_Int32Array.fromBytes = function(bytes,byteOffset,len) {
|
|
if(byteOffset == null) {
|
|
byteOffset = 0;
|
|
}
|
|
if(byteOffset == null) {
|
|
return new Int32Array(bytes.b.bufferValue);
|
|
}
|
|
if(len == null) {
|
|
return new Int32Array(bytes.b.bufferValue,byteOffset);
|
|
}
|
|
return new Int32Array(bytes.b.bufferValue,byteOffset,len);
|
|
};
|
|
lime_utils_Int32Array.toBytes = function(this1) {
|
|
return new haxe_io_Bytes(new Uint8Array(this1.buffer));
|
|
};
|
|
lime_utils_Int32Array.toString = function(this1) {
|
|
if(this1 != null) {
|
|
return "Int32Array [byteLength:" + this1.byteLength + ", length:" + this1.length + "]";
|
|
} else {
|
|
return null;
|
|
}
|
|
};
|
|
var lime_utils_Int8Array = {};
|
|
lime_utils_Int8Array.toArrayBufferView = function(this1) {
|
|
return this1;
|
|
};
|
|
lime_utils_Int8Array.fromBytes = function(bytes,byteOffset,len) {
|
|
if(byteOffset == null) {
|
|
byteOffset = 0;
|
|
}
|
|
return new Int8Array(bytes.b.bufferValue,byteOffset,len);
|
|
};
|
|
lime_utils_Int8Array.toBytes = function(this1) {
|
|
return new haxe_io_Bytes(new Uint8Array(this1.buffer));
|
|
};
|
|
lime_utils_Int8Array.toString = function(this1) {
|
|
if(this1 != null) {
|
|
return "Int8Array [byteLength:" + this1.byteLength + ", length:" + this1.length + "]";
|
|
} else {
|
|
return null;
|
|
}
|
|
};
|
|
var lime_utils_Log = function() { };
|
|
$hxClasses["lime.utils.Log"] = lime_utils_Log;
|
|
lime_utils_Log.__name__ = "lime.utils.Log";
|
|
lime_utils_Log.level = null;
|
|
lime_utils_Log.debug = function(message,info) {
|
|
if(lime_utils_Log.level >= 4) {
|
|
console.debug("[" + info.className + "] " + Std.string(message));
|
|
}
|
|
};
|
|
lime_utils_Log.error = function(message,info) {
|
|
if(lime_utils_Log.level >= 1) {
|
|
var message1 = "[" + info.className + "] ERROR: " + Std.string(message);
|
|
if(lime_utils_Log.throwErrors) {
|
|
throw haxe_Exception.thrown(message1);
|
|
} else {
|
|
console.error(message1);
|
|
}
|
|
}
|
|
};
|
|
lime_utils_Log.info = function(message,info) {
|
|
if(lime_utils_Log.level >= 3) {
|
|
console.info("[" + info.className + "] " + Std.string(message));
|
|
}
|
|
};
|
|
lime_utils_Log.print = function(message) {
|
|
console.log(message);
|
|
};
|
|
lime_utils_Log.println = function(message) {
|
|
console.log(message);
|
|
};
|
|
lime_utils_Log.verbose = function(message,info) {
|
|
if(lime_utils_Log.level >= 5) {
|
|
var message1 = "[" + info.className + "] " + Std.string(message);
|
|
console.log(message1);
|
|
}
|
|
};
|
|
lime_utils_Log.warn = function(message,info) {
|
|
if(lime_utils_Log.level >= 2) {
|
|
console.warn("[" + info.className + "] WARNING: " + Std.string(message));
|
|
}
|
|
};
|
|
var lime_utils_LogLevel = {};
|
|
lime_utils_LogLevel.gt = function(a,b) {
|
|
return a > b;
|
|
};
|
|
lime_utils_LogLevel.gte = function(a,b) {
|
|
return a >= b;
|
|
};
|
|
lime_utils_LogLevel.lt = function(a,b) {
|
|
return a < b;
|
|
};
|
|
lime_utils_LogLevel.lte = function(a,b) {
|
|
return a <= b;
|
|
};
|
|
var lime_utils_Preloader = function() {
|
|
this.bytesTotalCache = new haxe_ds_StringMap();
|
|
this.bytesLoadedCache2 = new haxe_ds_StringMap();
|
|
this.bytesLoadedCache = new haxe_ds_ObjectMap();
|
|
this.onProgress = new lime_app__$Event_$Int_$Int_$Void();
|
|
this.onComplete = new lime_app__$Event_$Void_$Void();
|
|
this.bytesLoaded = 0;
|
|
this.bytesTotal = 0;
|
|
this.libraries = [];
|
|
this.libraryNames = [];
|
|
this.onProgress.add($bind(this,this.update));
|
|
};
|
|
$hxClasses["lime.utils.Preloader"] = lime_utils_Preloader;
|
|
lime_utils_Preloader.__name__ = "lime.utils.Preloader";
|
|
lime_utils_Preloader.prototype = {
|
|
complete: null
|
|
,onComplete: null
|
|
,onProgress: null
|
|
,bytesLoaded: null
|
|
,bytesLoadedCache: null
|
|
,bytesLoadedCache2: null
|
|
,bytesTotal: null
|
|
,bytesTotalCache: null
|
|
,initLibraryNames: null
|
|
,libraries: null
|
|
,libraryNames: null
|
|
,loadedLibraries: null
|
|
,loadedStage: null
|
|
,preloadComplete: null
|
|
,preloadStarted: null
|
|
,simulateProgress: null
|
|
,addLibrary: function(library) {
|
|
this.libraries.push(library);
|
|
}
|
|
,addLibraryName: function(name) {
|
|
if(this.libraryNames.indexOf(name) == -1) {
|
|
this.libraryNames.push(name);
|
|
}
|
|
}
|
|
,load: function() {
|
|
var _gthis = this;
|
|
var _g = 0;
|
|
var _g1 = this.libraries;
|
|
while(_g < _g1.length) {
|
|
var library = _g1[_g];
|
|
++_g;
|
|
this.bytesTotal += library.bytesTotal;
|
|
}
|
|
this.loadedLibraries = -1;
|
|
this.preloadStarted = false;
|
|
var _g = 0;
|
|
var _g1 = this.libraries;
|
|
while(_g < _g1.length) {
|
|
var library = [_g1[_g]];
|
|
++_g;
|
|
lime_utils_Log.verbose("Preloading asset library",{ fileName : "lime/utils/Preloader.hx", lineNumber : 132, className : "lime.utils.Preloader", methodName : "load"});
|
|
library[0].load().onProgress((function(library) {
|
|
return function(loaded,total) {
|
|
if(_gthis.bytesLoadedCache.h.__keys__[library[0].__id__] == null) {
|
|
_gthis.bytesLoaded += loaded;
|
|
} else {
|
|
_gthis.bytesLoaded += loaded - _gthis.bytesLoadedCache.h[library[0].__id__];
|
|
}
|
|
_gthis.bytesLoadedCache.set(library[0],loaded);
|
|
if(!_gthis.simulateProgress) {
|
|
_gthis.onProgress.dispatch(_gthis.bytesLoaded,_gthis.bytesTotal);
|
|
}
|
|
};
|
|
})(library)).onComplete((function(library) {
|
|
return function(_) {
|
|
if(_gthis.bytesLoadedCache.h.__keys__[library[0].__id__] == null) {
|
|
_gthis.bytesLoaded += library[0].bytesTotal;
|
|
} else {
|
|
_gthis.bytesLoaded += library[0].bytesTotal - _gthis.bytesLoadedCache.h[library[0].__id__];
|
|
}
|
|
_gthis.loadedAssetLibrary();
|
|
};
|
|
})(library)).onError((function() {
|
|
return function(e) {
|
|
lime_utils_Log.error(e,{ fileName : "lime/utils/Preloader.hx", lineNumber : 168, className : "lime.utils.Preloader", methodName : "load"});
|
|
};
|
|
})());
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.libraryNames;
|
|
while(_g < _g1.length) {
|
|
var name = _g1[_g];
|
|
++_g;
|
|
this.bytesTotal += 200;
|
|
}
|
|
this.loadedLibraries++;
|
|
this.preloadStarted = true;
|
|
this.updateProgress();
|
|
}
|
|
,loadedAssetLibrary: function(name) {
|
|
this.loadedLibraries++;
|
|
var current = this.loadedLibraries;
|
|
if(!this.preloadStarted) {
|
|
++current;
|
|
}
|
|
var totalLibraries = this.libraries.length + this.libraryNames.length;
|
|
if(name != null) {
|
|
lime_utils_Log.verbose("Loaded asset library: " + name + " [" + current + "/" + totalLibraries + "]",{ fileName : "lime/utils/Preloader.hx", lineNumber : 195, className : "lime.utils.Preloader", methodName : "loadedAssetLibrary"});
|
|
} else {
|
|
lime_utils_Log.verbose("Loaded asset library [" + current + "/" + totalLibraries + "]",{ fileName : "lime/utils/Preloader.hx", lineNumber : 199, className : "lime.utils.Preloader", methodName : "loadedAssetLibrary"});
|
|
}
|
|
this.updateProgress();
|
|
}
|
|
,start: function() {
|
|
if(this.complete || this.simulateProgress || !this.preloadComplete) {
|
|
return;
|
|
}
|
|
this.complete = true;
|
|
this.onComplete.dispatch();
|
|
}
|
|
,update: function(loaded,total) {
|
|
}
|
|
,updateProgress: function() {
|
|
var _gthis = this;
|
|
if(!this.simulateProgress) {
|
|
this.onProgress.dispatch(this.bytesLoaded,this.bytesTotal);
|
|
}
|
|
if(this.loadedLibraries == this.libraries.length && !this.initLibraryNames) {
|
|
this.initLibraryNames = true;
|
|
var _g = 0;
|
|
var _g1 = this.libraryNames;
|
|
while(_g < _g1.length) {
|
|
var name = [_g1[_g]];
|
|
++_g;
|
|
lime_utils_Log.verbose("Preloading asset library: " + name[0],{ fileName : "lime/utils/Preloader.hx", lineNumber : 236, className : "lime.utils.Preloader", methodName : "updateProgress"});
|
|
lime_utils_Assets.loadLibrary(name[0]).onProgress((function(name) {
|
|
return function(loaded,total) {
|
|
if(total > 0) {
|
|
if(!Object.prototype.hasOwnProperty.call(_gthis.bytesTotalCache.h,name[0])) {
|
|
_gthis.bytesTotalCache.h[name[0]] = total;
|
|
_gthis.bytesTotal += total - 200;
|
|
}
|
|
if(loaded > total) {
|
|
loaded = total;
|
|
}
|
|
if(!Object.prototype.hasOwnProperty.call(_gthis.bytesLoadedCache2.h,name[0])) {
|
|
_gthis.bytesLoaded += loaded;
|
|
} else {
|
|
_gthis.bytesLoaded += loaded - _gthis.bytesLoadedCache2.h[name[0]];
|
|
}
|
|
_gthis.bytesLoadedCache2.h[name[0]] = loaded;
|
|
if(!_gthis.simulateProgress) {
|
|
_gthis.onProgress.dispatch(_gthis.bytesLoaded,_gthis.bytesTotal);
|
|
}
|
|
}
|
|
};
|
|
})(name)).onComplete((function(name) {
|
|
return function(library) {
|
|
var total = 200;
|
|
if(Object.prototype.hasOwnProperty.call(_gthis.bytesTotalCache.h,name[0])) {
|
|
total = _gthis.bytesTotalCache.h[name[0]];
|
|
}
|
|
if(!Object.prototype.hasOwnProperty.call(_gthis.bytesLoadedCache2.h,name[0])) {
|
|
_gthis.bytesLoaded += total;
|
|
} else {
|
|
_gthis.bytesLoaded += total - _gthis.bytesLoadedCache2.h[name[0]];
|
|
}
|
|
_gthis.loadedAssetLibrary(name[0]);
|
|
};
|
|
})(name)).onError((function() {
|
|
return function(e) {
|
|
lime_utils_Log.error(e,{ fileName : "lime/utils/Preloader.hx", lineNumber : 290, className : "lime.utils.Preloader", methodName : "updateProgress"});
|
|
};
|
|
})());
|
|
}
|
|
}
|
|
if(!this.simulateProgress && this.loadedLibraries == this.libraries.length + this.libraryNames.length) {
|
|
if(!this.preloadComplete) {
|
|
this.preloadComplete = true;
|
|
lime_utils_Log.verbose("Preload complete",{ fileName : "lime/utils/Preloader.hx", lineNumber : 301, className : "lime.utils.Preloader", methodName : "updateProgress"});
|
|
}
|
|
this.start();
|
|
}
|
|
}
|
|
,__class__: lime_utils_Preloader
|
|
};
|
|
var lime_utils_Resource = {};
|
|
lime_utils_Resource._new = function(size) {
|
|
if(size == null) {
|
|
size = 0;
|
|
}
|
|
var this1 = new haxe_io_Bytes(new ArrayBuffer(size));
|
|
return this1;
|
|
};
|
|
lime_utils_Resource.__fromString = function(value) {
|
|
return haxe_io_Bytes.ofString(value);
|
|
};
|
|
lime_utils_Resource.__toString = function(value) {
|
|
return value.toString();
|
|
};
|
|
var lime_utils_UInt16Array = {};
|
|
lime_utils_UInt16Array.toArrayBufferView = function(this1) {
|
|
return this1;
|
|
};
|
|
lime_utils_UInt16Array.fromBytes = function(bytes,byteOffset,len) {
|
|
if(byteOffset == null) {
|
|
byteOffset = 0;
|
|
}
|
|
if(byteOffset == null) {
|
|
return new Uint16Array(bytes.b.bufferValue);
|
|
}
|
|
if(len == null) {
|
|
return new Uint16Array(bytes.b.bufferValue,byteOffset);
|
|
}
|
|
return new Uint16Array(bytes.b.bufferValue,byteOffset,len);
|
|
};
|
|
lime_utils_UInt16Array.toBytes = function(this1) {
|
|
return new haxe_io_Bytes(new Uint8Array(this1.buffer));
|
|
};
|
|
lime_utils_UInt16Array.toString = function(this1) {
|
|
if(this1 != null) {
|
|
return "UInt16Array [byteLength:" + this1.byteLength + ", length:" + this1.length + "]";
|
|
} else {
|
|
return null;
|
|
}
|
|
};
|
|
var lime_utils_UInt32Array = {};
|
|
lime_utils_UInt32Array.toArrayBufferView = function(this1) {
|
|
return this1;
|
|
};
|
|
lime_utils_UInt32Array.fromBytes = function(bytes,byteOffset,len) {
|
|
if(byteOffset == null) {
|
|
byteOffset = 0;
|
|
}
|
|
if(byteOffset == null) {
|
|
return new Uint32Array(bytes.b.bufferValue);
|
|
}
|
|
if(len == null) {
|
|
return new Uint32Array(bytes.b.bufferValue,byteOffset);
|
|
}
|
|
return new Uint32Array(bytes.b.bufferValue,byteOffset,len);
|
|
};
|
|
lime_utils_UInt32Array.toBytes = function(this1) {
|
|
return new haxe_io_Bytes(new Uint8Array(this1.buffer));
|
|
};
|
|
lime_utils_UInt32Array.toString = function(this1) {
|
|
if(this1 != null) {
|
|
return "UInt32Array [byteLength:" + this1.byteLength + ", length:" + this1.length + "]";
|
|
} else {
|
|
return null;
|
|
}
|
|
};
|
|
var lime_utils_UInt8Array = {};
|
|
lime_utils_UInt8Array.toArrayBufferView = function(this1) {
|
|
return this1;
|
|
};
|
|
lime_utils_UInt8Array.fromBytes = function(bytes,byteOffset,len) {
|
|
if(byteOffset == null) {
|
|
return new Uint8Array(bytes.b.bufferValue);
|
|
}
|
|
if(len == null) {
|
|
return new Uint8Array(bytes.b.bufferValue,byteOffset);
|
|
}
|
|
return new Uint8Array(bytes.b.bufferValue,byteOffset,len);
|
|
};
|
|
lime_utils_UInt8Array.toBytes = function(this1) {
|
|
return new haxe_io_Bytes(new Uint8Array(this1.buffer));
|
|
};
|
|
lime_utils_UInt8Array.toString = function(this1) {
|
|
if(this1 != null) {
|
|
return "UInt8Array [byteLength:" + this1.byteLength + ", length:" + this1.length + "]";
|
|
} else {
|
|
return null;
|
|
}
|
|
};
|
|
var lime_utils_UInt8ClampedArray = {};
|
|
lime_utils_UInt8ClampedArray.toArrayBufferView = function(this1) {
|
|
return this1;
|
|
};
|
|
lime_utils_UInt8ClampedArray.fromBytes = function(bytes,byteOffset,len) {
|
|
if(byteOffset == null) {
|
|
byteOffset = 0;
|
|
}
|
|
if(byteOffset == null) {
|
|
return new Uint8ClampedArray(bytes.b.bufferValue);
|
|
}
|
|
if(len == null) {
|
|
return new Uint8ClampedArray(bytes.b.bufferValue,byteOffset);
|
|
}
|
|
return new Uint8ClampedArray(bytes.b.bufferValue,byteOffset,len);
|
|
};
|
|
lime_utils_UInt8ClampedArray.toBytes = function(this1) {
|
|
return new haxe_io_Bytes(new Uint8Array(this1.buffer));
|
|
};
|
|
lime_utils_UInt8ClampedArray.toString = function(this1) {
|
|
if(this1 != null) {
|
|
return "UInt8ClampedArray [byteLength:" + this1.byteLength + ", length:" + this1.length + "]";
|
|
} else {
|
|
return null;
|
|
}
|
|
};
|
|
lime_utils_UInt8ClampedArray._clamp = function(_in) {
|
|
var _out = _in | 0;
|
|
if(_out > 255) {
|
|
_out = 255;
|
|
}
|
|
if(_out < 0) {
|
|
return 0;
|
|
} else {
|
|
return _out;
|
|
}
|
|
};
|
|
var openfl_Lib = function() { };
|
|
$hxClasses["openfl.Lib"] = openfl_Lib;
|
|
openfl_Lib.__name__ = "openfl.Lib";
|
|
openfl_Lib.__properties__ = {get_current:"get_current",get_application:"get_application"};
|
|
openfl_Lib.as = function(v,c) {
|
|
if(js_Boot.__instanceof(v,c)) {
|
|
return v;
|
|
} else {
|
|
return null;
|
|
}
|
|
};
|
|
openfl_Lib.attach = function(name) {
|
|
return new openfl_display_MovieClip();
|
|
};
|
|
openfl_Lib.clearInterval = function(id) {
|
|
if(openfl_Lib.__timers.h.hasOwnProperty(id)) {
|
|
var timer = openfl_Lib.__timers.h[id];
|
|
timer.stop();
|
|
openfl_Lib.__timers.remove(id);
|
|
}
|
|
};
|
|
openfl_Lib.clearTimeout = function(id) {
|
|
if(openfl_Lib.__timers.h.hasOwnProperty(id)) {
|
|
var timer = openfl_Lib.__timers.h[id];
|
|
timer.stop();
|
|
openfl_Lib.__timers.remove(id);
|
|
}
|
|
};
|
|
openfl_Lib.getDefinitionByName = function(name) {
|
|
if(name == null) {
|
|
return null;
|
|
}
|
|
return $hxClasses[name];
|
|
};
|
|
openfl_Lib.getQualifiedClassName = function(value) {
|
|
if(value == null) {
|
|
return null;
|
|
}
|
|
var ref = js_Boot.__instanceof(value,Class) ? value : js_Boot.getClass(value);
|
|
if(ref == null) {
|
|
if(typeof(value) == "boolean" || value == Bool) {
|
|
return "Bool";
|
|
} else if(typeof(value) == "number" && ((value | 0) === value) || value == Int) {
|
|
return "Int";
|
|
} else if(typeof(value) == "number" || value == Float) {
|
|
return "Float";
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
return ref.__name__;
|
|
};
|
|
openfl_Lib.getQualifiedSuperclassName = function(value) {
|
|
if(value == null) {
|
|
return null;
|
|
}
|
|
var ref = js_Boot.__instanceof(value,Class) ? value : js_Boot.getClass(value);
|
|
if(ref == null) {
|
|
return null;
|
|
}
|
|
var parentRef = ref.__super__;
|
|
if(parentRef == null) {
|
|
return null;
|
|
}
|
|
return parentRef.__name__;
|
|
};
|
|
openfl_Lib.getTimer = function() {
|
|
return lime_system_System.getTimer();
|
|
};
|
|
openfl_Lib.getURL = function(request,target) {
|
|
openfl_Lib.navigateToURL(request,target);
|
|
};
|
|
openfl_Lib.navigateToURL = function(request,$window) {
|
|
if($window == null) {
|
|
$window = "_blank";
|
|
}
|
|
var uri = request.url;
|
|
if(Type.typeof(request.data) == ValueType.TObject) {
|
|
var query = "";
|
|
var fields = Reflect.fields(request.data);
|
|
var _g = 0;
|
|
while(_g < fields.length) {
|
|
var field = fields[_g];
|
|
++_g;
|
|
if(query.length > 0) {
|
|
query += "&";
|
|
}
|
|
var query1 = encodeURIComponent(field) + "=";
|
|
var s = Std.string(Reflect.field(request.data,field));
|
|
query += query1 + encodeURIComponent(s);
|
|
}
|
|
if(uri.indexOf("?") > -1) {
|
|
uri += "&" + query;
|
|
} else {
|
|
uri += "?" + query;
|
|
}
|
|
}
|
|
lime_system_System.openURL(uri,$window);
|
|
};
|
|
openfl_Lib.notImplemented = function(posInfo) {
|
|
var api = posInfo.className + "." + posInfo.methodName;
|
|
if(!Object.prototype.hasOwnProperty.call(openfl_Lib.__sentWarnings.h,api)) {
|
|
openfl_Lib.__sentWarnings.h[api] = true;
|
|
lime_utils_Log.warn(posInfo.methodName + " is not implemented",posInfo);
|
|
}
|
|
};
|
|
openfl_Lib.preventDefaultTouchMove = function() {
|
|
window.document.addEventListener("touchmove",function(evt) {
|
|
evt.preventDefault();
|
|
},false);
|
|
};
|
|
openfl_Lib.sendToURL = function(request) {
|
|
var urlLoader = new openfl_net_URLLoader();
|
|
urlLoader.load(request);
|
|
};
|
|
openfl_Lib.setInterval = function(closure,delay,args) {
|
|
var id = ++openfl_Lib.__lastTimerID;
|
|
var timer = new haxe_Timer(delay);
|
|
openfl_Lib.__timers.h[id] = timer;
|
|
timer.run = function() {
|
|
closure.apply(closure,args == null ? [] : args);
|
|
};
|
|
return id;
|
|
};
|
|
openfl_Lib.setTimeout = function(closure,delay,args) {
|
|
var id = ++openfl_Lib.__lastTimerID;
|
|
var this1 = openfl_Lib.__timers;
|
|
var v = haxe_Timer.delay(function() {
|
|
closure.apply(closure,args == null ? [] : args);
|
|
},delay);
|
|
this1.h[id] = v;
|
|
return id;
|
|
};
|
|
openfl_Lib.trace = function(arg) {
|
|
haxe_Log.trace(arg,{ fileName : "openfl/Lib.hx", lineNumber : 260, className : "openfl.Lib", methodName : "trace"});
|
|
};
|
|
openfl_Lib.get_application = function() {
|
|
return openfl__$internal_Lib.application;
|
|
};
|
|
openfl_Lib.get_current = function() {
|
|
if(openfl__$internal_Lib.current == null) {
|
|
openfl__$internal_Lib.current = new openfl_display_MovieClip();
|
|
}
|
|
return openfl__$internal_Lib.current;
|
|
};
|
|
var openfl__$Vector_IVector = function() { };
|
|
$hxClasses["openfl._Vector.IVector"] = openfl__$Vector_IVector;
|
|
openfl__$Vector_IVector.__name__ = "openfl._Vector.IVector";
|
|
openfl__$Vector_IVector.__isInterface__ = true;
|
|
openfl__$Vector_IVector.prototype = {
|
|
get_length: null
|
|
,set_length: null
|
|
,fixed: null
|
|
,concat: null
|
|
,copy: null
|
|
,filter: null
|
|
,get: null
|
|
,indexOf: null
|
|
,insertAt: null
|
|
,iterator: null
|
|
,join: null
|
|
,lastIndexOf: null
|
|
,pop: null
|
|
,push: null
|
|
,removeAt: null
|
|
,reverse: null
|
|
,set: null
|
|
,shift: null
|
|
,slice: null
|
|
,sort: null
|
|
,splice: null
|
|
,toString: null
|
|
,unshift: null
|
|
,__class__: openfl__$Vector_IVector
|
|
,__properties__: {set_length:"set_length",get_length:"get_length"}
|
|
};
|
|
var openfl__$Vector_BoolVector = function(length,fixed,array) {
|
|
if(fixed == null) {
|
|
fixed = false;
|
|
}
|
|
if(length == null) {
|
|
length = 0;
|
|
}
|
|
if(array == null) {
|
|
array = [];
|
|
}
|
|
this.__array = array;
|
|
if(length > 0) {
|
|
this.set_length(length);
|
|
}
|
|
this.fixed = fixed;
|
|
};
|
|
$hxClasses["openfl._Vector.BoolVector"] = openfl__$Vector_BoolVector;
|
|
openfl__$Vector_BoolVector.__name__ = "openfl._Vector.BoolVector";
|
|
openfl__$Vector_BoolVector.__interfaces__ = [openfl__$Vector_IVector];
|
|
openfl__$Vector_BoolVector.prototype = {
|
|
fixed: null
|
|
,__array: null
|
|
,concat: function(a) {
|
|
if(a == null) {
|
|
return new openfl__$Vector_BoolVector(0,false,this.__array.slice());
|
|
} else {
|
|
var other = a;
|
|
if(other.__array.length > 0) {
|
|
return new openfl__$Vector_BoolVector(0,false,this.__array.concat(other.__array));
|
|
} else {
|
|
return new openfl__$Vector_BoolVector(0,false,this.__array.slice());
|
|
}
|
|
}
|
|
}
|
|
,copy: function() {
|
|
return new openfl__$Vector_BoolVector(0,this.fixed,this.__array.slice());
|
|
}
|
|
,filter: function(callback) {
|
|
var tmp = this.fixed;
|
|
var _g = [];
|
|
var _g1 = 0;
|
|
var _g2 = this.__array;
|
|
while(_g1 < _g2.length) {
|
|
var v = _g2[_g1];
|
|
++_g1;
|
|
if(callback(v)) {
|
|
_g.push(v);
|
|
}
|
|
}
|
|
return new openfl__$Vector_BoolVector(0,tmp,_g);
|
|
}
|
|
,get: function(index) {
|
|
if(index >= this.__array.length) {
|
|
return false;
|
|
} else {
|
|
return this.__array[index];
|
|
}
|
|
}
|
|
,indexOf: function(x,from) {
|
|
if(from == null) {
|
|
from = 0;
|
|
}
|
|
var _g = from;
|
|
var _g1 = this.__array.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(this.__array[i] == x) {
|
|
return i;
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
,insertAt: function(index,element) {
|
|
if(!this.fixed || index < this.__array.length) {
|
|
this.__array.splice(index,0,element);
|
|
}
|
|
}
|
|
,iterator: function() {
|
|
return new haxe_iterators_ArrayIterator(this.__array);
|
|
}
|
|
,join: function(sep) {
|
|
if(sep == null) {
|
|
sep = ",";
|
|
}
|
|
return this.__array.join(sep);
|
|
}
|
|
,lastIndexOf: function(x,from) {
|
|
var i = from == null || from >= this.__array.length ? this.__array.length - 1 : from;
|
|
while(i >= 0) {
|
|
if(this.__array[i] == x) {
|
|
return i;
|
|
}
|
|
--i;
|
|
}
|
|
return -1;
|
|
}
|
|
,pop: function() {
|
|
if(!this.fixed) {
|
|
return this.__array.pop();
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
,push: function(x) {
|
|
if(!this.fixed) {
|
|
return this.__array.push(x);
|
|
} else {
|
|
return this.__array.length;
|
|
}
|
|
}
|
|
,removeAt: function(index) {
|
|
if(!this.fixed || index < this.__array.length) {
|
|
return this.__array.splice(index,1)[0];
|
|
}
|
|
return false;
|
|
}
|
|
,reverse: function() {
|
|
this.__array.reverse();
|
|
return this;
|
|
}
|
|
,set: function(index,value) {
|
|
if(!this.fixed || index < this.__array.length) {
|
|
return this.__array[index] = value;
|
|
} else {
|
|
return value;
|
|
}
|
|
}
|
|
,shift: function() {
|
|
if(!this.fixed) {
|
|
return this.__array.shift();
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
,slice: function(startIndex,endIndex) {
|
|
if(startIndex == null) {
|
|
startIndex = 0;
|
|
}
|
|
if(endIndex == null) {
|
|
endIndex = 16777215;
|
|
}
|
|
return new openfl__$Vector_BoolVector(0,false,this.__array.slice(startIndex,endIndex));
|
|
}
|
|
,sort: function(f) {
|
|
this.__array.sort(f);
|
|
}
|
|
,splice: function(pos,len) {
|
|
return new openfl__$Vector_BoolVector(0,false,this.__array.splice(pos,len));
|
|
}
|
|
,toJSON: function() {
|
|
return this.__array;
|
|
}
|
|
,toString: function() {
|
|
if(this.__array != null) {
|
|
return this.__array.toString();
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
,unshift: function(x) {
|
|
if(!this.fixed) {
|
|
this.__array.unshift(x);
|
|
}
|
|
}
|
|
,get_length: function() {
|
|
return this.__array.length;
|
|
}
|
|
,set_length: function(value) {
|
|
if(!this.fixed) {
|
|
var currentLength = this.__array.length;
|
|
if(value < 0) {
|
|
value = 0;
|
|
}
|
|
if(value > currentLength) {
|
|
var _g = currentLength;
|
|
var _g1 = value;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
this.__array[i] = false;
|
|
}
|
|
} else {
|
|
while(this.__array.length > value) this.__array.pop();
|
|
}
|
|
}
|
|
return this.__array.length;
|
|
}
|
|
,__class__: openfl__$Vector_BoolVector
|
|
,__properties__: {set_length:"set_length",get_length:"get_length"}
|
|
};
|
|
var openfl__$Vector_FloatVector = function(length,fixed,array,forceCopy) {
|
|
if(forceCopy == null) {
|
|
forceCopy = false;
|
|
}
|
|
if(fixed == null) {
|
|
fixed = false;
|
|
}
|
|
if(length == null) {
|
|
length = 0;
|
|
}
|
|
if(forceCopy) {
|
|
this.__array = [];
|
|
if(array != null) {
|
|
var _g = 0;
|
|
var _g1 = array.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
this.__array[i] = array[i];
|
|
}
|
|
}
|
|
} else {
|
|
if(array == null) {
|
|
array = [];
|
|
}
|
|
this.__array = array;
|
|
}
|
|
if(length > 0) {
|
|
this.set_length(length);
|
|
}
|
|
this.fixed = fixed;
|
|
};
|
|
$hxClasses["openfl._Vector.FloatVector"] = openfl__$Vector_FloatVector;
|
|
openfl__$Vector_FloatVector.__name__ = "openfl._Vector.FloatVector";
|
|
openfl__$Vector_FloatVector.__interfaces__ = [openfl__$Vector_IVector];
|
|
openfl__$Vector_FloatVector.prototype = {
|
|
fixed: null
|
|
,__array: null
|
|
,concat: function(a) {
|
|
if(a == null) {
|
|
return new openfl__$Vector_FloatVector(0,false,this.__array.slice());
|
|
} else {
|
|
var other = a;
|
|
if(other.__array.length > 0) {
|
|
return new openfl__$Vector_FloatVector(0,false,this.__array.concat(other.__array));
|
|
} else {
|
|
return new openfl__$Vector_FloatVector(0,false,this.__array.slice());
|
|
}
|
|
}
|
|
}
|
|
,copy: function() {
|
|
return new openfl__$Vector_FloatVector(0,this.fixed,this.__array.slice());
|
|
}
|
|
,filter: function(callback) {
|
|
var tmp = this.fixed;
|
|
var _g = [];
|
|
var _g1 = 0;
|
|
var _g2 = this.__array;
|
|
while(_g1 < _g2.length) {
|
|
var v = _g2[_g1];
|
|
++_g1;
|
|
if(callback(v)) {
|
|
_g.push(v);
|
|
}
|
|
}
|
|
return new openfl__$Vector_FloatVector(0,tmp,_g);
|
|
}
|
|
,get: function(index) {
|
|
return this.__array[index];
|
|
}
|
|
,indexOf: function(x,from) {
|
|
if(from == null) {
|
|
from = 0;
|
|
}
|
|
var _g = from;
|
|
var _g1 = this.__array.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(this.__array[i] == x) {
|
|
return i;
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
,insertAt: function(index,element) {
|
|
if(!this.fixed || index < this.__array.length) {
|
|
this.__array.splice(index,0,element);
|
|
}
|
|
}
|
|
,iterator: function() {
|
|
return new haxe_iterators_ArrayIterator(this.__array);
|
|
}
|
|
,join: function(sep) {
|
|
if(sep == null) {
|
|
sep = ",";
|
|
}
|
|
return this.__array.join(sep);
|
|
}
|
|
,lastIndexOf: function(x,from) {
|
|
var i = from == null || from >= this.__array.length ? this.__array.length - 1 : from;
|
|
while(i >= 0) {
|
|
if(this.__array[i] == x) {
|
|
return i;
|
|
}
|
|
--i;
|
|
}
|
|
return -1;
|
|
}
|
|
,pop: function() {
|
|
if(!this.fixed) {
|
|
return this.__array.pop();
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
,push: function(x) {
|
|
if(!this.fixed) {
|
|
return this.__array.push(x);
|
|
} else {
|
|
return this.__array.length;
|
|
}
|
|
}
|
|
,removeAt: function(index) {
|
|
if(!this.fixed || index < this.__array.length) {
|
|
return this.__array.splice(index,1)[0];
|
|
}
|
|
return 0;
|
|
}
|
|
,reverse: function() {
|
|
this.__array.reverse();
|
|
return this;
|
|
}
|
|
,set: function(index,value) {
|
|
if(!this.fixed || index < this.__array.length) {
|
|
return this.__array[index] = value;
|
|
} else {
|
|
return value;
|
|
}
|
|
}
|
|
,shift: function() {
|
|
if(!this.fixed) {
|
|
return this.__array.shift();
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
,slice: function(startIndex,endIndex) {
|
|
if(startIndex == null) {
|
|
startIndex = 0;
|
|
}
|
|
if(endIndex == null) {
|
|
endIndex = 16777215;
|
|
}
|
|
return new openfl__$Vector_FloatVector(0,false,this.__array.slice(startIndex,endIndex));
|
|
}
|
|
,sort: function(f) {
|
|
this.__array.sort(f);
|
|
}
|
|
,splice: function(pos,len) {
|
|
return new openfl__$Vector_FloatVector(0,false,this.__array.splice(pos,len));
|
|
}
|
|
,toJSON: function() {
|
|
return this.__array;
|
|
}
|
|
,toString: function() {
|
|
if(this.__array != null) {
|
|
return this.__array.toString();
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
,unshift: function(x) {
|
|
if(!this.fixed) {
|
|
this.__array.unshift(x);
|
|
}
|
|
}
|
|
,get_length: function() {
|
|
return this.__array.length;
|
|
}
|
|
,set_length: function(value) {
|
|
if(value != this.__array.length && !this.fixed) {
|
|
var currentLength = this.__array.length;
|
|
if(value < 0) {
|
|
value = 0;
|
|
}
|
|
if(value > currentLength) {
|
|
var _g = currentLength;
|
|
var _g1 = value;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
this.__array[i] = 0;
|
|
}
|
|
} else {
|
|
while(this.__array.length > value) this.__array.pop();
|
|
}
|
|
}
|
|
return this.__array.length;
|
|
}
|
|
,__class__: openfl__$Vector_FloatVector
|
|
,__properties__: {set_length:"set_length",get_length:"get_length"}
|
|
};
|
|
var openfl__$Vector_FunctionVector = function(length,fixed,array) {
|
|
if(fixed == null) {
|
|
fixed = false;
|
|
}
|
|
if(length == null) {
|
|
length = 0;
|
|
}
|
|
if(array == null) {
|
|
array = [];
|
|
}
|
|
this.__array = array;
|
|
if(length > 0) {
|
|
this.set_length(length);
|
|
}
|
|
this.fixed = fixed;
|
|
};
|
|
$hxClasses["openfl._Vector.FunctionVector"] = openfl__$Vector_FunctionVector;
|
|
openfl__$Vector_FunctionVector.__name__ = "openfl._Vector.FunctionVector";
|
|
openfl__$Vector_FunctionVector.__interfaces__ = [openfl__$Vector_IVector];
|
|
openfl__$Vector_FunctionVector.prototype = {
|
|
fixed: null
|
|
,__array: null
|
|
,concat: function(a) {
|
|
if(a == null) {
|
|
return new openfl__$Vector_FunctionVector(0,false,this.__array.slice());
|
|
} else {
|
|
var other = a;
|
|
if(other.__array.length > 0) {
|
|
return new openfl__$Vector_FunctionVector(0,false,this.__array.concat(other.__array));
|
|
} else {
|
|
return new openfl__$Vector_FunctionVector(0,false,this.__array.slice());
|
|
}
|
|
}
|
|
}
|
|
,copy: function() {
|
|
return new openfl__$Vector_FunctionVector(0,this.fixed,this.__array.slice());
|
|
}
|
|
,filter: function(callback) {
|
|
var tmp = this.fixed;
|
|
var _g = [];
|
|
var _g1 = 0;
|
|
var _g2 = this.__array;
|
|
while(_g1 < _g2.length) {
|
|
var v = _g2[_g1];
|
|
++_g1;
|
|
if(callback(v)) {
|
|
_g.push(v);
|
|
}
|
|
}
|
|
return new openfl__$Vector_FunctionVector(0,tmp,_g);
|
|
}
|
|
,get: function(index) {
|
|
if(index >= this.__array.length) {
|
|
return null;
|
|
} else {
|
|
return this.__array[index];
|
|
}
|
|
}
|
|
,indexOf: function(x,from) {
|
|
if(from == null) {
|
|
from = 0;
|
|
}
|
|
var _g = from;
|
|
var _g1 = this.__array.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(Reflect.compareMethods(this.__array[i],x)) {
|
|
return i;
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
,insertAt: function(index,element) {
|
|
if(!this.fixed || index < this.__array.length) {
|
|
this.__array.splice(index,0,element);
|
|
}
|
|
}
|
|
,iterator: function() {
|
|
return new haxe_iterators_ArrayIterator(this.__array);
|
|
}
|
|
,join: function(sep) {
|
|
if(sep == null) {
|
|
sep = ",";
|
|
}
|
|
return this.__array.join(sep);
|
|
}
|
|
,lastIndexOf: function(x,from) {
|
|
var i = from == null || from >= this.__array.length ? this.__array.length - 1 : from;
|
|
while(i >= 0) {
|
|
if(Reflect.compareMethods(this.__array[i],x)) {
|
|
return i;
|
|
}
|
|
--i;
|
|
}
|
|
return -1;
|
|
}
|
|
,pop: function() {
|
|
if(!this.fixed) {
|
|
return this.__array.pop();
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
,push: function(x) {
|
|
if(!this.fixed) {
|
|
return this.__array.push(x);
|
|
} else {
|
|
return this.__array.length;
|
|
}
|
|
}
|
|
,removeAt: function(index) {
|
|
if(!this.fixed || index < this.__array.length) {
|
|
return this.__array.splice(index,1)[0];
|
|
}
|
|
return null;
|
|
}
|
|
,reverse: function() {
|
|
this.__array.reverse();
|
|
return this;
|
|
}
|
|
,set: function(index,value) {
|
|
if(!this.fixed || index < this.__array.length) {
|
|
return this.__array[index] = value;
|
|
} else {
|
|
return value;
|
|
}
|
|
}
|
|
,shift: function() {
|
|
if(!this.fixed) {
|
|
return this.__array.shift();
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
,slice: function(startIndex,endIndex) {
|
|
if(startIndex == null) {
|
|
startIndex = 0;
|
|
}
|
|
if(endIndex == null) {
|
|
endIndex = 16777215;
|
|
}
|
|
return new openfl__$Vector_FunctionVector(0,false,this.__array.slice(startIndex,endIndex));
|
|
}
|
|
,sort: function(f) {
|
|
this.__array.sort(f);
|
|
}
|
|
,splice: function(pos,len) {
|
|
return new openfl__$Vector_FunctionVector(0,false,this.__array.splice(pos,len));
|
|
}
|
|
,toJSON: function() {
|
|
return this.__array;
|
|
}
|
|
,toString: function() {
|
|
if(this.__array != null) {
|
|
return this.__array.toString();
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
,unshift: function(x) {
|
|
if(!this.fixed) {
|
|
this.__array.unshift(x);
|
|
}
|
|
}
|
|
,get_length: function() {
|
|
return this.__array.length;
|
|
}
|
|
,set_length: function(value) {
|
|
if(!this.fixed) {
|
|
var currentLength = this.__array.length;
|
|
if(value < 0) {
|
|
value = 0;
|
|
}
|
|
if(value > currentLength) {
|
|
var _g = currentLength;
|
|
var _g1 = value;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
this.__array[i] = null;
|
|
}
|
|
} else {
|
|
while(this.__array.length > value) this.__array.pop();
|
|
}
|
|
}
|
|
return this.__array.length;
|
|
}
|
|
,__class__: openfl__$Vector_FunctionVector
|
|
,__properties__: {set_length:"set_length",get_length:"get_length"}
|
|
};
|
|
var openfl__$Vector_IntVector = function(length,fixed,array) {
|
|
if(fixed == null) {
|
|
fixed = false;
|
|
}
|
|
if(length == null) {
|
|
length = 0;
|
|
}
|
|
if(array == null) {
|
|
array = [];
|
|
}
|
|
this.__array = array;
|
|
if(length > 0) {
|
|
this.set_length(length);
|
|
}
|
|
this.fixed = fixed;
|
|
};
|
|
$hxClasses["openfl._Vector.IntVector"] = openfl__$Vector_IntVector;
|
|
openfl__$Vector_IntVector.__name__ = "openfl._Vector.IntVector";
|
|
openfl__$Vector_IntVector.__interfaces__ = [openfl__$Vector_IVector];
|
|
openfl__$Vector_IntVector.prototype = {
|
|
fixed: null
|
|
,__array: null
|
|
,concat: function(a) {
|
|
if(a == null) {
|
|
return new openfl__$Vector_IntVector(0,false,this.__array.slice());
|
|
} else {
|
|
var other = a;
|
|
if(other.__array.length > 0) {
|
|
return new openfl__$Vector_IntVector(0,false,this.__array.concat(other.__array));
|
|
} else {
|
|
return new openfl__$Vector_IntVector(0,false,this.__array.slice());
|
|
}
|
|
}
|
|
}
|
|
,copy: function() {
|
|
return new openfl__$Vector_IntVector(0,this.fixed,this.__array.slice());
|
|
}
|
|
,filter: function(callback) {
|
|
var tmp = this.fixed;
|
|
var _g = [];
|
|
var _g1 = 0;
|
|
var _g2 = this.__array;
|
|
while(_g1 < _g2.length) {
|
|
var v = _g2[_g1];
|
|
++_g1;
|
|
if(callback(v)) {
|
|
_g.push(v);
|
|
}
|
|
}
|
|
return new openfl__$Vector_IntVector(0,tmp,_g);
|
|
}
|
|
,get: function(index) {
|
|
return this.__array[index];
|
|
}
|
|
,indexOf: function(x,from) {
|
|
if(from == null) {
|
|
from = 0;
|
|
}
|
|
var _g = from;
|
|
var _g1 = this.__array.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(this.__array[i] == x) {
|
|
return i;
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
,insertAt: function(index,element) {
|
|
if(!this.fixed || index < this.__array.length) {
|
|
this.__array.splice(index,0,element);
|
|
}
|
|
}
|
|
,iterator: function() {
|
|
return new haxe_iterators_ArrayIterator(this.__array);
|
|
}
|
|
,join: function(sep) {
|
|
if(sep == null) {
|
|
sep = ",";
|
|
}
|
|
return this.__array.join(sep);
|
|
}
|
|
,lastIndexOf: function(x,from) {
|
|
var i = from == null || from >= this.__array.length ? this.__array.length - 1 : from;
|
|
while(i >= 0) {
|
|
if(this.__array[i] == x) {
|
|
return i;
|
|
}
|
|
--i;
|
|
}
|
|
return -1;
|
|
}
|
|
,pop: function() {
|
|
if(!this.fixed) {
|
|
return this.__array.pop();
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
,push: function(x) {
|
|
if(!this.fixed) {
|
|
return this.__array.push(x);
|
|
} else {
|
|
return this.__array.length;
|
|
}
|
|
}
|
|
,removeAt: function(index) {
|
|
if(!this.fixed || index < this.__array.length) {
|
|
return this.__array.splice(index,1)[0];
|
|
}
|
|
return 0;
|
|
}
|
|
,reverse: function() {
|
|
this.__array.reverse();
|
|
return this;
|
|
}
|
|
,set: function(index,value) {
|
|
if(!this.fixed || index < this.__array.length) {
|
|
return this.__array[index] = value;
|
|
} else {
|
|
return value;
|
|
}
|
|
}
|
|
,shift: function() {
|
|
if(!this.fixed) {
|
|
return this.__array.shift();
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
,slice: function(startIndex,endIndex) {
|
|
if(startIndex == null) {
|
|
startIndex = 0;
|
|
}
|
|
if(endIndex == null) {
|
|
endIndex = 16777215;
|
|
}
|
|
return new openfl__$Vector_IntVector(0,false,this.__array.slice(startIndex,endIndex));
|
|
}
|
|
,sort: function(f) {
|
|
this.__array.sort(f);
|
|
}
|
|
,splice: function(pos,len) {
|
|
return new openfl__$Vector_IntVector(0,false,this.__array.splice(pos,len));
|
|
}
|
|
,toJSON: function() {
|
|
return this.__array;
|
|
}
|
|
,toString: function() {
|
|
if(this.__array != null) {
|
|
return this.__array.toString();
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
,unshift: function(x) {
|
|
if(!this.fixed) {
|
|
this.__array.unshift(x);
|
|
}
|
|
}
|
|
,get_length: function() {
|
|
return this.__array.length;
|
|
}
|
|
,set_length: function(value) {
|
|
if(!this.fixed) {
|
|
var currentLength = this.__array.length;
|
|
if(value < 0) {
|
|
value = 0;
|
|
}
|
|
if(value > currentLength) {
|
|
var _g = currentLength;
|
|
var _g1 = value;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
this.__array[i] = 0;
|
|
}
|
|
} else {
|
|
while(this.__array.length > value) this.__array.pop();
|
|
}
|
|
}
|
|
return this.__array.length;
|
|
}
|
|
,__class__: openfl__$Vector_IntVector
|
|
,__properties__: {set_length:"set_length",get_length:"get_length"}
|
|
};
|
|
var openfl__$Vector_ObjectVector = function(length,fixed,array,forceCopy) {
|
|
if(forceCopy == null) {
|
|
forceCopy = false;
|
|
}
|
|
if(fixed == null) {
|
|
fixed = false;
|
|
}
|
|
if(length == null) {
|
|
length = 0;
|
|
}
|
|
if(forceCopy) {
|
|
this.__array = [];
|
|
if(array != null) {
|
|
var _g = 0;
|
|
var _g1 = array.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
this.__array[i] = array[i];
|
|
}
|
|
}
|
|
} else {
|
|
if(array == null) {
|
|
array = [];
|
|
}
|
|
this.__array = array;
|
|
}
|
|
if(length > 0) {
|
|
this.set_length(length);
|
|
}
|
|
this.fixed = fixed;
|
|
};
|
|
$hxClasses["openfl._Vector.ObjectVector"] = openfl__$Vector_ObjectVector;
|
|
openfl__$Vector_ObjectVector.__name__ = "openfl._Vector.ObjectVector";
|
|
openfl__$Vector_ObjectVector.__interfaces__ = [openfl__$Vector_IVector];
|
|
openfl__$Vector_ObjectVector.prototype = {
|
|
fixed: null
|
|
,__array: null
|
|
,concat: function(a) {
|
|
if(a == null) {
|
|
return new openfl__$Vector_ObjectVector(0,false,this.__array.slice());
|
|
} else {
|
|
var other = a;
|
|
if(other.__array.length > 0) {
|
|
return new openfl__$Vector_ObjectVector(0,false,this.__array.concat(other.__array));
|
|
} else {
|
|
return new openfl__$Vector_ObjectVector(0,false,this.__array.slice());
|
|
}
|
|
}
|
|
}
|
|
,copy: function() {
|
|
return new openfl__$Vector_ObjectVector(0,this.fixed,this.__array.slice());
|
|
}
|
|
,filter: function(callback) {
|
|
var tmp = this.fixed;
|
|
var _g = [];
|
|
var _g1 = 0;
|
|
var _g2 = this.__array;
|
|
while(_g1 < _g2.length) {
|
|
var v = _g2[_g1];
|
|
++_g1;
|
|
if(callback(v)) {
|
|
_g.push(v);
|
|
}
|
|
}
|
|
return new openfl__$Vector_ObjectVector(0,tmp,_g);
|
|
}
|
|
,get: function(index) {
|
|
return this.__array[index];
|
|
}
|
|
,indexOf: function(x,from) {
|
|
if(from == null) {
|
|
from = 0;
|
|
}
|
|
var _g = from;
|
|
var _g1 = this.__array.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(this.__array[i] == x) {
|
|
return i;
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
,insertAt: function(index,element) {
|
|
if(!this.fixed || index < this.__array.length) {
|
|
this.__array.splice(index,0,element);
|
|
}
|
|
}
|
|
,iterator: function() {
|
|
return new haxe_iterators_ArrayIterator(this.__array);
|
|
}
|
|
,join: function(sep) {
|
|
if(sep == null) {
|
|
sep = ",";
|
|
}
|
|
return this.__array.join(sep);
|
|
}
|
|
,lastIndexOf: function(x,from) {
|
|
var i = from == null || from >= this.__array.length ? this.__array.length - 1 : from;
|
|
while(i >= 0) {
|
|
if(this.__array[i] == x) {
|
|
return i;
|
|
}
|
|
--i;
|
|
}
|
|
return -1;
|
|
}
|
|
,pop: function() {
|
|
if(!this.fixed) {
|
|
return this.__array.pop();
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
,push: function(x) {
|
|
if(!this.fixed) {
|
|
return this.__array.push(x);
|
|
} else {
|
|
return this.__array.length;
|
|
}
|
|
}
|
|
,removeAt: function(index) {
|
|
if(!this.fixed || index < this.__array.length) {
|
|
return this.__array.splice(index,1)[0];
|
|
}
|
|
return null;
|
|
}
|
|
,reverse: function() {
|
|
this.__array.reverse();
|
|
return this;
|
|
}
|
|
,set: function(index,value) {
|
|
if(!this.fixed || index < this.__array.length) {
|
|
return this.__array[index] = value;
|
|
} else {
|
|
return value;
|
|
}
|
|
}
|
|
,shift: function() {
|
|
if(!this.fixed) {
|
|
return this.__array.shift();
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
,slice: function(startIndex,endIndex) {
|
|
if(startIndex == null) {
|
|
startIndex = 0;
|
|
}
|
|
if(endIndex == null) {
|
|
endIndex = 16777215;
|
|
}
|
|
return new openfl__$Vector_ObjectVector(0,false,this.__array.slice(startIndex,endIndex));
|
|
}
|
|
,sort: function(f) {
|
|
this.__array.sort(f);
|
|
}
|
|
,splice: function(pos,len) {
|
|
return new openfl__$Vector_ObjectVector(0,false,this.__array.splice(pos,len));
|
|
}
|
|
,toJSON: function() {
|
|
return this.__array;
|
|
}
|
|
,toString: function() {
|
|
if(this.__array != null) {
|
|
return this.__array.toString();
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
,unshift: function(x) {
|
|
if(!this.fixed) {
|
|
this.__array.unshift(x);
|
|
}
|
|
}
|
|
,get_length: function() {
|
|
return this.__array.length;
|
|
}
|
|
,set_length: function(value) {
|
|
if(!this.fixed) {
|
|
var currentLength = this.__array.length;
|
|
if(value < 0) {
|
|
value = 0;
|
|
}
|
|
if(value > currentLength) {
|
|
var _g = currentLength;
|
|
var _g1 = value;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
this.__array.push(null);
|
|
}
|
|
} else {
|
|
while(this.__array.length > value) this.__array.pop();
|
|
}
|
|
}
|
|
return this.__array.length;
|
|
}
|
|
,__class__: openfl__$Vector_ObjectVector
|
|
,__properties__: {set_length:"set_length",get_length:"get_length"}
|
|
};
|
|
var openfl__$internal_Lib = function() { };
|
|
$hxClasses["openfl._internal.Lib"] = openfl__$internal_Lib;
|
|
openfl__$internal_Lib.__name__ = "openfl._internal.Lib";
|
|
openfl__$internal_Lib.application = null;
|
|
openfl__$internal_Lib.current = null;
|
|
openfl__$internal_Lib.notImplemented = function(posInfo) {
|
|
var api = posInfo.className + "." + posInfo.methodName;
|
|
if(!Object.prototype.hasOwnProperty.call(openfl__$internal_Lib.__sentWarnings.h,api)) {
|
|
openfl__$internal_Lib.__sentWarnings.h[api] = true;
|
|
lime_utils_Log.warn(posInfo.methodName + " is not implemented",posInfo);
|
|
}
|
|
};
|
|
var openfl__$internal_formats_html_HTMLParser = function() { };
|
|
$hxClasses["openfl._internal.formats.html.HTMLParser"] = openfl__$internal_formats_html_HTMLParser;
|
|
openfl__$internal_formats_html_HTMLParser.__name__ = "openfl._internal.formats.html.HTMLParser";
|
|
openfl__$internal_formats_html_HTMLParser.parse = function(value,textFormat,textFormatRanges) {
|
|
value = value.replace(openfl__$internal_formats_html_HTMLParser.__regexBreakTag.r,"\n");
|
|
value = value.replace(openfl__$internal_formats_html_HTMLParser.__regexEntities[0].r,"\"");
|
|
value = value.replace(openfl__$internal_formats_html_HTMLParser.__regexEntities[1].r,"'");
|
|
value = value.replace(openfl__$internal_formats_html_HTMLParser.__regexEntities[2].r,"&");
|
|
value = value.replace(openfl__$internal_formats_html_HTMLParser.__regexEntities[5].r," ");
|
|
var segments = value.split("<");
|
|
if(segments.length == 1) {
|
|
value = value.replace(openfl__$internal_formats_html_HTMLParser.__regexHTMLTag.r,"");
|
|
if(textFormatRanges.get_length() > 1) {
|
|
textFormatRanges.splice(1,textFormatRanges.get_length() - 1);
|
|
}
|
|
value = value.replace(openfl__$internal_formats_html_HTMLParser.__regexEntities[3].r,"<");
|
|
value = value.replace(openfl__$internal_formats_html_HTMLParser.__regexEntities[4].r,">");
|
|
var range = textFormatRanges.get(0);
|
|
range.format = textFormat;
|
|
range.start = 0;
|
|
range.end = value.length;
|
|
return value;
|
|
} else {
|
|
textFormatRanges.splice(0,textFormatRanges.get_length());
|
|
value = "";
|
|
var segment;
|
|
var _g = 0;
|
|
var _g1 = segments.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
segment = segments[i];
|
|
segment = segment.replace(openfl__$internal_formats_html_HTMLParser.__regexEntities[3].r,"<");
|
|
segment = segment.replace(openfl__$internal_formats_html_HTMLParser.__regexEntities[4].r,">");
|
|
segments[i] = segment;
|
|
}
|
|
var formatStack = [textFormat.clone()];
|
|
var tagStack = [];
|
|
var sub;
|
|
var noLineBreak = false;
|
|
var _g = 0;
|
|
while(_g < segments.length) {
|
|
var segment = segments[_g];
|
|
++_g;
|
|
if(segment == "") {
|
|
continue;
|
|
}
|
|
var isClosingTag = HxOverrides.substr(segment,0,1) == "/";
|
|
var tagEndIndex = segment.indexOf(">");
|
|
var start = tagEndIndex + 1;
|
|
var spaceIndex = segment.indexOf(" ");
|
|
var tagName = segment.substring(isClosingTag ? 1 : 0,spaceIndex > -1 && spaceIndex < tagEndIndex ? spaceIndex : tagEndIndex);
|
|
var format;
|
|
if(isClosingTag) {
|
|
if(tagStack.length == 0 || tagName.toLowerCase() != tagStack[tagStack.length - 1].toLowerCase()) {
|
|
lime_utils_Log.info("Invalid HTML, unexpected closing tag ignored: " + tagName,{ fileName : "openfl/_internal/formats/html/HTMLParser.hx", lineNumber : 97, className : "openfl._internal.formats.html.HTMLParser", methodName : "parse"});
|
|
continue;
|
|
}
|
|
tagStack.pop();
|
|
formatStack.pop();
|
|
format = formatStack[formatStack.length - 1].clone();
|
|
if(tagName.toLowerCase() == "p" && textFormatRanges.get_length() > 0) {
|
|
value += "\n";
|
|
noLineBreak = true;
|
|
}
|
|
if(start < segment.length) {
|
|
sub = HxOverrides.substr(segment,start,null);
|
|
textFormatRanges.push(new openfl_text__$internal_TextFormatRange(format,value.length,value.length + sub.length));
|
|
value += sub;
|
|
noLineBreak = false;
|
|
}
|
|
} else {
|
|
format = formatStack[formatStack.length - 1].clone();
|
|
if(tagEndIndex > -1) {
|
|
switch(tagName.toLowerCase()) {
|
|
case "a":
|
|
if(openfl__$internal_formats_html_HTMLParser.__regexHref.match(segment)) {
|
|
format.url = openfl__$internal_formats_html_HTMLParser.__getAttributeMatch(openfl__$internal_formats_html_HTMLParser.__regexHref);
|
|
}
|
|
break;
|
|
case "b":
|
|
format.bold = true;
|
|
break;
|
|
case "em":case "i":
|
|
format.italic = true;
|
|
break;
|
|
case "font":
|
|
if(openfl__$internal_formats_html_HTMLParser.__regexFace.match(segment)) {
|
|
format.font = openfl__$internal_formats_html_HTMLParser.__getAttributeMatch(openfl__$internal_formats_html_HTMLParser.__regexFace);
|
|
}
|
|
if(openfl__$internal_formats_html_HTMLParser.__regexColor.match(segment)) {
|
|
format.color = Std.parseInt("0x" + openfl__$internal_formats_html_HTMLParser.__getAttributeMatch(openfl__$internal_formats_html_HTMLParser.__regexColor));
|
|
}
|
|
if(openfl__$internal_formats_html_HTMLParser.__regexSize.match(segment)) {
|
|
var sizeAttr = openfl__$internal_formats_html_HTMLParser.__getAttributeMatch(openfl__$internal_formats_html_HTMLParser.__regexSize);
|
|
var firstChar = HxOverrides.cca(sizeAttr,0);
|
|
if(firstChar == 43 || firstChar == 45) {
|
|
var parentFormat = formatStack.length >= 2 ? formatStack[formatStack.length - 2] : textFormat;
|
|
format.size = parentFormat.size + Std.parseInt(sizeAttr);
|
|
} else {
|
|
format.size = Std.parseInt(sizeAttr);
|
|
}
|
|
}
|
|
break;
|
|
case "p":
|
|
if(textFormatRanges.get_length() > 0 && !noLineBreak) {
|
|
value += "\n";
|
|
}
|
|
if(openfl__$internal_formats_html_HTMLParser.__regexAlign.match(segment)) {
|
|
var align = openfl__$internal_formats_html_HTMLParser.__getAttributeMatch(openfl__$internal_formats_html_HTMLParser.__regexAlign).toLowerCase();
|
|
format.align = openfl_text_TextFormatAlign.fromString(align);
|
|
}
|
|
break;
|
|
case "textformat":
|
|
if(openfl__$internal_formats_html_HTMLParser.__regexBlockIndent.match(segment)) {
|
|
format.blockIndent = Std.parseInt(openfl__$internal_formats_html_HTMLParser.__getAttributeMatch(openfl__$internal_formats_html_HTMLParser.__regexBlockIndent));
|
|
}
|
|
if(openfl__$internal_formats_html_HTMLParser.__regexIndent.match(segment)) {
|
|
format.indent = Std.parseInt(openfl__$internal_formats_html_HTMLParser.__getAttributeMatch(openfl__$internal_formats_html_HTMLParser.__regexIndent));
|
|
}
|
|
if(openfl__$internal_formats_html_HTMLParser.__regexLeading.match(segment)) {
|
|
format.leading = Std.parseInt(openfl__$internal_formats_html_HTMLParser.__getAttributeMatch(openfl__$internal_formats_html_HTMLParser.__regexLeading));
|
|
}
|
|
if(openfl__$internal_formats_html_HTMLParser.__regexLeftMargin.match(segment)) {
|
|
format.leftMargin = Std.parseInt(openfl__$internal_formats_html_HTMLParser.__getAttributeMatch(openfl__$internal_formats_html_HTMLParser.__regexLeftMargin));
|
|
}
|
|
if(openfl__$internal_formats_html_HTMLParser.__regexRightMargin.match(segment)) {
|
|
format.rightMargin = Std.parseInt(openfl__$internal_formats_html_HTMLParser.__getAttributeMatch(openfl__$internal_formats_html_HTMLParser.__regexRightMargin));
|
|
}
|
|
if(openfl__$internal_formats_html_HTMLParser.__regexTabStops.match(segment)) {
|
|
var values = openfl__$internal_formats_html_HTMLParser.__getAttributeMatch(openfl__$internal_formats_html_HTMLParser.__regexTabStops).split(" ");
|
|
var tabStops = [];
|
|
var _g1 = 0;
|
|
while(_g1 < values.length) {
|
|
var stop = values[_g1];
|
|
++_g1;
|
|
tabStops.push(Std.parseInt(stop));
|
|
}
|
|
format.tabStops = tabStops;
|
|
}
|
|
break;
|
|
case "u":
|
|
format.underline = true;
|
|
break;
|
|
}
|
|
formatStack.push(format);
|
|
tagStack.push(tagName);
|
|
if(start < segment.length) {
|
|
sub = segment.substring(start);
|
|
textFormatRanges.push(new openfl_text__$internal_TextFormatRange(format,value.length,value.length + sub.length));
|
|
value += sub;
|
|
noLineBreak = false;
|
|
}
|
|
} else {
|
|
textFormatRanges.push(new openfl_text__$internal_TextFormatRange(format,value.length,value.length + segment.length));
|
|
value += segment;
|
|
noLineBreak = false;
|
|
}
|
|
}
|
|
}
|
|
if(textFormatRanges.get_length() == 0) {
|
|
textFormatRanges.push(new openfl_text__$internal_TextFormatRange(formatStack[0],0,0));
|
|
}
|
|
}
|
|
return value;
|
|
};
|
|
openfl__$internal_formats_html_HTMLParser.__getAttributeMatch = function(regex) {
|
|
if(regex.matched(2) != null) {
|
|
return regex.matched(2);
|
|
} else {
|
|
return regex.matched(3);
|
|
}
|
|
};
|
|
var openfl__$internal_utils_TouchData = function() {
|
|
this.rollOutStack = [];
|
|
};
|
|
$hxClasses["openfl._internal.utils.TouchData"] = openfl__$internal_utils_TouchData;
|
|
openfl__$internal_utils_TouchData.__name__ = "openfl._internal.utils.TouchData";
|
|
openfl__$internal_utils_TouchData.prototype = {
|
|
rollOutStack: null
|
|
,touch: null
|
|
,touchDownTarget: null
|
|
,touchOverTarget: null
|
|
,reset: function() {
|
|
this.touch = null;
|
|
this.touchDownTarget = null;
|
|
this.touchOverTarget = null;
|
|
this.rollOutStack.splice(0,this.rollOutStack.length);
|
|
}
|
|
,__class__: openfl__$internal_utils_TouchData
|
|
};
|
|
var openfl_display_Application = function() {
|
|
lime_app_Application.call(this);
|
|
if(openfl__$internal_Lib.application == null) {
|
|
openfl__$internal_Lib.application = this;
|
|
}
|
|
if(openfl__$internal_Lib.current == null) {
|
|
openfl__$internal_Lib.current = new openfl_display_MovieClip();
|
|
}
|
|
openfl__$internal_Lib.current.__loaderInfo = openfl_display_LoaderInfo.create(null);
|
|
openfl__$internal_Lib.current.__loaderInfo.content = openfl__$internal_Lib.current;
|
|
};
|
|
$hxClasses["openfl.display.Application"] = openfl_display_Application;
|
|
openfl_display_Application.__name__ = "openfl.display.Application";
|
|
openfl_display_Application.__super__ = lime_app_Application;
|
|
openfl_display_Application.prototype = $extend(lime_app_Application.prototype,{
|
|
createWindow: function(attributes) {
|
|
var $window = new openfl_display_Window(this,attributes);
|
|
this.__windows.push($window);
|
|
this.__windowByID.h[$window.id] = $window;
|
|
var _g = $bind(this,this.__onWindowClose);
|
|
var window1 = $window;
|
|
var tmp = function() {
|
|
_g(window1);
|
|
};
|
|
$window.onClose.add(tmp,false,-10000);
|
|
if(this.__window == null) {
|
|
this.__window = $window;
|
|
$window.onActivate.add($bind(this,this.onWindowActivate));
|
|
$window.onRenderContextLost.add($bind(this,this.onRenderContextLost));
|
|
$window.onRenderContextRestored.add($bind(this,this.onRenderContextRestored));
|
|
$window.onDeactivate.add($bind(this,this.onWindowDeactivate));
|
|
$window.onDropFile.add($bind(this,this.onWindowDropFile));
|
|
$window.onEnter.add($bind(this,this.onWindowEnter));
|
|
$window.onExpose.add($bind(this,this.onWindowExpose));
|
|
$window.onFocusIn.add($bind(this,this.onWindowFocusIn));
|
|
$window.onFocusOut.add($bind(this,this.onWindowFocusOut));
|
|
$window.onFullscreen.add($bind(this,this.onWindowFullscreen));
|
|
$window.onKeyDown.add($bind(this,this.onKeyDown));
|
|
$window.onKeyUp.add($bind(this,this.onKeyUp));
|
|
$window.onLeave.add($bind(this,this.onWindowLeave));
|
|
$window.onMinimize.add($bind(this,this.onWindowMinimize));
|
|
$window.onMouseDown.add($bind(this,this.onMouseDown));
|
|
$window.onMouseMove.add($bind(this,this.onMouseMove));
|
|
$window.onMouseMoveRelative.add($bind(this,this.onMouseMoveRelative));
|
|
$window.onMouseUp.add($bind(this,this.onMouseUp));
|
|
$window.onMouseWheel.add($bind(this,this.onMouseWheel));
|
|
$window.onMove.add($bind(this,this.onWindowMove));
|
|
$window.onRender.add($bind(this,this.render));
|
|
$window.onResize.add($bind(this,this.onWindowResize));
|
|
$window.onRestore.add($bind(this,this.onWindowRestore));
|
|
$window.onTextEdit.add($bind(this,this.onTextEdit));
|
|
$window.onTextInput.add($bind(this,this.onTextInput));
|
|
this.onWindowCreate();
|
|
}
|
|
this.onCreateWindow.dispatch($window);
|
|
return $window;
|
|
}
|
|
,__class__: openfl_display_Application
|
|
});
|
|
var openfl_display_Bitmap = function(bitmapData,pixelSnapping,smoothing) {
|
|
if(smoothing == null) {
|
|
smoothing = false;
|
|
}
|
|
openfl_display_DisplayObject.call(this);
|
|
this.__bitmapData = bitmapData;
|
|
this.pixelSnapping = pixelSnapping;
|
|
this.smoothing = smoothing;
|
|
if(pixelSnapping == null) {
|
|
this.pixelSnapping = 1;
|
|
}
|
|
};
|
|
$hxClasses["openfl.display.Bitmap"] = openfl_display_Bitmap;
|
|
openfl_display_Bitmap.__name__ = "openfl.display.Bitmap";
|
|
openfl_display_Bitmap.__super__ = openfl_display_DisplayObject;
|
|
openfl_display_Bitmap.prototype = $extend(openfl_display_DisplayObject.prototype,{
|
|
pixelSnapping: null
|
|
,smoothing: null
|
|
,__image: null
|
|
,__bitmapData: null
|
|
,__imageVersion: null
|
|
,__enterFrame: function(deltaTime) {
|
|
if(this.__bitmapData != null && this.__bitmapData.image != null && this.__bitmapData.image.version != this.__imageVersion) {
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
}
|
|
}
|
|
,__getBounds: function(rect,matrix) {
|
|
var bounds = openfl_geom_Rectangle.__pool.get();
|
|
if(this.__bitmapData != null) {
|
|
bounds.setTo(0,0,this.__bitmapData.width,this.__bitmapData.height);
|
|
} else {
|
|
bounds.setTo(0,0,0,0);
|
|
}
|
|
bounds.__transform(bounds,matrix);
|
|
rect.__expand(bounds.x,bounds.y,bounds.width,bounds.height);
|
|
openfl_geom_Rectangle.__pool.release(bounds);
|
|
}
|
|
,__hitTest: function(x,y,shapeFlag,stack,interactiveOnly,hitObject) {
|
|
if(!hitObject.get_visible() || this.__isMask || this.__bitmapData == null) {
|
|
return false;
|
|
}
|
|
if(this.get_mask() != null && !this.get_mask().__hitTestMask(x,y)) {
|
|
return false;
|
|
}
|
|
this.__getRenderTransform();
|
|
var _this = this.__renderTransform;
|
|
var norm = _this.a * _this.d - _this.b * _this.c;
|
|
var px = norm == 0 ? -_this.tx : 1.0 / norm * (_this.c * (_this.ty - y) + _this.d * (x - _this.tx));
|
|
var _this = this.__renderTransform;
|
|
var norm = _this.a * _this.d - _this.b * _this.c;
|
|
var py = norm == 0 ? -_this.ty : 1.0 / norm * (_this.a * (y - _this.ty) + _this.b * (_this.tx - x));
|
|
if(px > 0 && py > 0 && px <= this.__bitmapData.width && py <= this.__bitmapData.height) {
|
|
if(this.__scrollRect != null && !this.__scrollRect.contains(px,py)) {
|
|
return false;
|
|
}
|
|
if(stack != null && !interactiveOnly) {
|
|
stack.push(hitObject);
|
|
}
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
,__hitTestMask: function(x,y) {
|
|
if(this.__bitmapData == null) {
|
|
return false;
|
|
}
|
|
this.__getRenderTransform();
|
|
var _this = this.__renderTransform;
|
|
var norm = _this.a * _this.d - _this.b * _this.c;
|
|
var px = norm == 0 ? -_this.tx : 1.0 / norm * (_this.c * (_this.ty - y) + _this.d * (x - _this.tx));
|
|
var _this = this.__renderTransform;
|
|
var norm = _this.a * _this.d - _this.b * _this.c;
|
|
var py = norm == 0 ? -_this.ty : 1.0 / norm * (_this.a * (y - _this.ty) + _this.b * (_this.tx - x));
|
|
if(px > 0 && py > 0 && px <= this.__bitmapData.width && py <= this.__bitmapData.height) {
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
,__renderCairo: function(renderer) {
|
|
}
|
|
,__renderCairoMask: function(renderer) {
|
|
renderer.cairo.rectangle(0,0,this.get_width(),this.get_height());
|
|
}
|
|
,__renderCanvas: function(renderer) {
|
|
this.__updateCacheBitmap(renderer,false);
|
|
if(this.__bitmapData != null && this.__bitmapData.image != null) {
|
|
this.__imageVersion = this.__bitmapData.image.version;
|
|
}
|
|
if(this.__cacheBitmap != null && !this.__isCacheBitmapRender) {
|
|
var bitmap = this.__cacheBitmap;
|
|
if(bitmap.__renderable) {
|
|
var alpha = renderer.__getAlpha(bitmap.__worldAlpha);
|
|
if(alpha > 0 && bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid && bitmap.__bitmapData.readable) {
|
|
var context = renderer.context;
|
|
renderer.__setBlendMode(bitmap.__worldBlendMode);
|
|
renderer.__pushMaskObject(bitmap,false);
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(bitmap.__bitmapData.image);
|
|
context.globalAlpha = alpha;
|
|
var scrollRect = bitmap.__scrollRect;
|
|
renderer.setTransform(bitmap.__renderTransform,context);
|
|
if(!renderer.__allowSmoothing || !bitmap.smoothing) {
|
|
context.imageSmoothingEnabled = false;
|
|
}
|
|
if(scrollRect == null) {
|
|
context.drawImage(bitmap.__bitmapData.image.get_src(),0,0,bitmap.__bitmapData.image.width,bitmap.__bitmapData.image.height);
|
|
} else {
|
|
context.drawImage(bitmap.__bitmapData.image.get_src(),scrollRect.x,scrollRect.y,scrollRect.width,scrollRect.height);
|
|
}
|
|
if(!renderer.__allowSmoothing || !bitmap.smoothing) {
|
|
context.imageSmoothingEnabled = true;
|
|
}
|
|
renderer.__popMaskObject(bitmap,false);
|
|
}
|
|
}
|
|
} else {
|
|
if(!(this.opaqueBackground == null && this.__graphics == null)) {
|
|
if(this.__renderable) {
|
|
var alpha = renderer.__getAlpha(this.__worldAlpha);
|
|
if(!(alpha <= 0)) {
|
|
if(this.opaqueBackground != null && !this.__isCacheBitmapRender && this.get_width() > 0 && this.get_height() > 0) {
|
|
renderer.__setBlendMode(this.__worldBlendMode);
|
|
renderer.__pushMaskObject(this);
|
|
var context = renderer.context;
|
|
renderer.setTransform(this.__renderTransform,context);
|
|
var color = this.opaqueBackground;
|
|
context.fillStyle = "rgb(" + (color >>> 16 & 255) + "," + (color >>> 8 & 255) + "," + (color & 255) + ")";
|
|
context.fillRect(0,0,this.get_width(),this.get_height());
|
|
renderer.__popMaskObject(this);
|
|
}
|
|
if(this.__graphics != null) {
|
|
if(this.__renderable) {
|
|
var alpha = renderer.__getAlpha(this.__worldAlpha);
|
|
if(!(alpha <= 0)) {
|
|
var graphics = this.__graphics;
|
|
if(graphics != null) {
|
|
openfl_display__$internal_CanvasGraphics.render(graphics,renderer);
|
|
var width = graphics.__width;
|
|
var height = graphics.__height;
|
|
var canvas = graphics.__canvas;
|
|
if(canvas != null && graphics.__visible && width >= 1 && height >= 1) {
|
|
var transform = graphics.__worldTransform;
|
|
var context = renderer.context;
|
|
var scrollRect = this.__scrollRect;
|
|
var scale9Grid = this.__worldScale9Grid;
|
|
if(scrollRect == null || scrollRect.width > 0 && scrollRect.height > 0) {
|
|
renderer.__setBlendMode(this.__worldBlendMode);
|
|
renderer.__pushMaskObject(this);
|
|
context.globalAlpha = alpha;
|
|
if(scale9Grid != null && transform.b == 0 && transform.c == 0) {
|
|
context.setTransform(1,0,0,1,transform.tx,transform.ty);
|
|
var bounds = graphics.__bounds;
|
|
var scaleX = graphics.__renderTransform.a;
|
|
var scaleY = graphics.__renderTransform.d;
|
|
var renderScaleX = transform.a;
|
|
var renderScaleY = transform.d;
|
|
var left = Math.max(1,Math.round(scale9Grid.x * scaleX));
|
|
var top = Math.round(scale9Grid.y * scaleY);
|
|
var right = Math.max(1,Math.round((bounds.get_right() - scale9Grid.get_right()) * scaleX));
|
|
var bottom = Math.round((bounds.get_bottom() - scale9Grid.get_bottom()) * scaleY);
|
|
var centerWidth = Math.round(scale9Grid.width * scaleX);
|
|
var centerHeight = Math.round(scale9Grid.height * scaleY);
|
|
var renderLeft = Math.round(scale9Grid.x * renderScaleX);
|
|
var renderTop = Math.round(scale9Grid.y * renderScaleY);
|
|
var renderRight = Math.round((bounds.get_right() - scale9Grid.get_right()) * renderScaleX);
|
|
var renderBottom = Math.round((bounds.get_bottom() - scale9Grid.get_bottom()) * renderScaleY);
|
|
var renderCenterWidth = Math.round(width * renderScaleX) - renderLeft - renderRight;
|
|
var renderCenterHeight = Math.round(height * renderScaleY) - renderTop - renderBottom;
|
|
renderer.applySmoothing(context,false);
|
|
if(centerWidth != 0 && centerHeight != 0) {
|
|
context.drawImage(canvas,0,0,left,top,0,0,renderLeft,renderTop);
|
|
context.drawImage(canvas,left,0,centerWidth,top,renderLeft,0,renderCenterWidth,renderTop);
|
|
context.drawImage(canvas,left + centerWidth,0,right,top,renderLeft + renderCenterWidth,0,renderRight,renderTop);
|
|
context.drawImage(canvas,0,top,left,centerHeight,0,renderTop,renderLeft,renderCenterHeight);
|
|
context.drawImage(canvas,left,top,centerWidth,centerHeight,renderLeft,renderTop,renderCenterWidth,renderCenterHeight);
|
|
context.drawImage(canvas,left + centerWidth,top,right,centerHeight,renderLeft + renderCenterWidth,renderTop,renderRight,renderCenterHeight);
|
|
context.drawImage(canvas,0,top + centerHeight,left,bottom,0,renderTop + renderCenterHeight,renderLeft,renderBottom);
|
|
context.drawImage(canvas,left,top + centerHeight,centerWidth,bottom,renderLeft,renderTop + renderCenterHeight,renderCenterWidth,renderBottom);
|
|
context.drawImage(canvas,left + centerWidth,top + centerHeight,right,bottom,renderLeft + renderCenterWidth,renderTop + renderCenterHeight,renderRight,renderBottom);
|
|
} else if(centerWidth == 0 && centerHeight != 0) {
|
|
var renderWidth = renderLeft + renderCenterWidth + renderRight;
|
|
context.drawImage(canvas,0,0,width,top,0,0,renderWidth,renderTop);
|
|
context.drawImage(canvas,0,top,width,centerHeight,0,renderTop,renderWidth,renderCenterHeight);
|
|
context.drawImage(canvas,0,top + centerHeight,width,bottom,0,renderTop + renderCenterHeight,renderWidth,renderBottom);
|
|
} else if(centerHeight == 0 && centerWidth != 0) {
|
|
var renderHeight = renderTop + renderCenterHeight + renderBottom;
|
|
context.drawImage(canvas,0,0,left,height,0,0,renderLeft,renderHeight);
|
|
context.drawImage(canvas,left,0,centerWidth,height,renderLeft,0,renderCenterWidth,renderHeight);
|
|
context.drawImage(canvas,left + centerWidth,0,right,height,renderLeft + renderCenterWidth,0,renderRight,renderHeight);
|
|
}
|
|
} else {
|
|
renderer.setTransform(transform,context);
|
|
if(renderer.__isDOM) {
|
|
var reverseScale = 1 / renderer.pixelRatio;
|
|
context.scale(reverseScale,reverseScale);
|
|
}
|
|
context.drawImage(canvas,0,0,width,height);
|
|
}
|
|
renderer.__popMaskObject(this);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if(this.__renderable) {
|
|
var alpha = renderer.__getAlpha(this.__worldAlpha);
|
|
if(alpha > 0 && this.__bitmapData != null && this.__bitmapData.__isValid && this.__bitmapData.readable) {
|
|
var context = renderer.context;
|
|
renderer.__setBlendMode(this.__worldBlendMode);
|
|
renderer.__pushMaskObject(this,false);
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(this.__bitmapData.image);
|
|
context.globalAlpha = alpha;
|
|
var scrollRect = this.__scrollRect;
|
|
renderer.setTransform(this.__renderTransform,context);
|
|
if(!renderer.__allowSmoothing || !this.smoothing) {
|
|
context.imageSmoothingEnabled = false;
|
|
}
|
|
if(scrollRect == null) {
|
|
context.drawImage(this.__bitmapData.image.get_src(),0,0,this.__bitmapData.image.width,this.__bitmapData.image.height);
|
|
} else {
|
|
context.drawImage(this.__bitmapData.image.get_src(),scrollRect.x,scrollRect.y,scrollRect.width,scrollRect.height);
|
|
}
|
|
if(!renderer.__allowSmoothing || !this.smoothing) {
|
|
context.imageSmoothingEnabled = true;
|
|
}
|
|
renderer.__popMaskObject(this,false);
|
|
}
|
|
}
|
|
}
|
|
this.__renderEvent(renderer);
|
|
}
|
|
,__renderCanvasMask: function(renderer) {
|
|
renderer.context.rect(0,0,this.get_width(),this.get_height());
|
|
}
|
|
,__renderDOM: function(renderer) {
|
|
this.__updateCacheBitmap(renderer,false);
|
|
if(this.__cacheBitmap != null && !this.__isCacheBitmapRender) {
|
|
this.__renderDOMClear(renderer);
|
|
this.__cacheBitmap.stage = this.stage;
|
|
var bitmap = this.__cacheBitmap;
|
|
if(bitmap.stage != null && bitmap.__worldVisible && bitmap.__renderable && bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid && bitmap.__bitmapData.readable) {
|
|
renderer.__pushMaskObject(bitmap);
|
|
if(bitmap.__bitmapData.image.buffer.__srcImage != null) {
|
|
openfl_display__$internal_DOMBitmap.renderImage(bitmap,renderer);
|
|
} else {
|
|
openfl_display__$internal_DOMBitmap.renderCanvas(bitmap,renderer);
|
|
}
|
|
renderer.__popMaskObject(bitmap);
|
|
} else {
|
|
openfl_display__$internal_DOMBitmap.clear(bitmap,renderer);
|
|
}
|
|
} else {
|
|
var tmp = this.opaqueBackground != null && !this.__isCacheBitmapRender && this.get_width() > 0 && this.get_height() > 0;
|
|
var graphics = this.__graphics;
|
|
if(this.stage != null && this.__worldVisible && this.__renderable && graphics != null) {
|
|
openfl_display__$internal_CanvasGraphics.render(graphics,renderer.__canvasRenderer);
|
|
if(graphics.__softwareDirty || this.__worldAlphaChanged || this.__canvas != graphics.__canvas) {
|
|
if(graphics.__canvas != null) {
|
|
if(this.__canvas != graphics.__canvas) {
|
|
if(this.__canvas != null) {
|
|
renderer.element.removeChild(this.__canvas);
|
|
}
|
|
this.__canvas = graphics.__canvas;
|
|
this.__context = graphics.__context;
|
|
renderer.__initializeElement(this,this.__canvas);
|
|
}
|
|
} else {
|
|
openfl_display__$internal_DOMShape.clear(this,renderer);
|
|
}
|
|
}
|
|
if(this.__canvas != null) {
|
|
renderer.__pushMaskObject(this);
|
|
var cacheTransform = this.__renderTransform;
|
|
this.__renderTransform = graphics.__worldTransform;
|
|
if(graphics.__transformDirty) {
|
|
graphics.__transformDirty = false;
|
|
this.__renderTransformChanged = true;
|
|
}
|
|
renderer.__updateClip(this);
|
|
renderer.__applyStyle(this,true,true,true);
|
|
this.__renderTransform = cacheTransform;
|
|
renderer.__popMaskObject(this);
|
|
}
|
|
} else {
|
|
openfl_display__$internal_DOMShape.clear(this,renderer);
|
|
}
|
|
if(this.stage != null && this.__worldVisible && this.__renderable && this.__bitmapData != null && this.__bitmapData.__isValid && this.__bitmapData.readable) {
|
|
renderer.__pushMaskObject(this);
|
|
if(this.__bitmapData.image.buffer.__srcImage != null) {
|
|
openfl_display__$internal_DOMBitmap.renderImage(this,renderer);
|
|
} else {
|
|
openfl_display__$internal_DOMBitmap.renderCanvas(this,renderer);
|
|
}
|
|
renderer.__popMaskObject(this);
|
|
} else {
|
|
openfl_display__$internal_DOMBitmap.clear(this,renderer);
|
|
}
|
|
}
|
|
this.__renderEvent(renderer);
|
|
}
|
|
,__renderDOMClear: function(renderer) {
|
|
openfl_display__$internal_DOMBitmap.clear(this,renderer);
|
|
}
|
|
,__renderGL: function(renderer) {
|
|
this.__updateCacheBitmap(renderer,false);
|
|
if(this.__bitmapData != null && this.__bitmapData.image != null) {
|
|
this.__imageVersion = this.__bitmapData.image.version;
|
|
}
|
|
if(this.__cacheBitmap != null && !this.__isCacheBitmapRender) {
|
|
openfl_display__$internal_Context3DBitmap.render(this.__cacheBitmap,renderer);
|
|
} else {
|
|
if(!(this.opaqueBackground == null && this.__graphics == null)) {
|
|
if(!(!this.__renderable || this.__worldAlpha <= 0)) {
|
|
if(this.opaqueBackground != null && !this.__isCacheBitmapRender && this.get_width() > 0 && this.get_height() > 0) {
|
|
renderer.__setBlendMode(this.__worldBlendMode);
|
|
renderer.__pushMaskObject(this);
|
|
var context = renderer.__context3D;
|
|
var rect = openfl_geom_Rectangle.__pool.get();
|
|
rect.setTo(0,0,this.get_width(),this.get_height());
|
|
renderer.__pushMaskRect(rect,this.__renderTransform);
|
|
var color = this.opaqueBackground;
|
|
context.clear((color >>> 16 & 255) / 255,(color >>> 8 & 255) / 255,(color & 255) / 255,1,0,0,1);
|
|
renderer.__popMaskRect();
|
|
renderer.__popMaskObject(this);
|
|
openfl_geom_Rectangle.__pool.release(rect);
|
|
}
|
|
if(this.__graphics != null) {
|
|
openfl_display__$internal_Context3DShape.render(this,renderer);
|
|
}
|
|
}
|
|
}
|
|
openfl_display__$internal_Context3DBitmap.render(this,renderer);
|
|
}
|
|
this.__renderEvent(renderer);
|
|
}
|
|
,__renderGLMask: function(renderer) {
|
|
openfl_display__$internal_Context3DBitmap.renderMask(this,renderer);
|
|
}
|
|
,__updateCacheBitmap: function(renderer,force) {
|
|
if(this.__bitmapData == null || this.__filters == null && renderer.__type == "opengl" && this.__cacheBitmap == null) {
|
|
return false;
|
|
}
|
|
return openfl_display_DisplayObject.prototype.__updateCacheBitmap.call(this,renderer,this.__bitmapData.image != null && this.__bitmapData.image.version != this.__imageVersion);
|
|
}
|
|
,get_bitmapData: function() {
|
|
return this.__bitmapData;
|
|
}
|
|
,set_bitmapData: function(value) {
|
|
this.__bitmapData = value;
|
|
this.smoothing = false;
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
var tmp = this.__filters != null;
|
|
this.__imageVersion = -1;
|
|
return this.__bitmapData;
|
|
}
|
|
,set_height: function(value) {
|
|
if(this.__bitmapData != null) {
|
|
this.set_scaleY(value / this.__bitmapData.height);
|
|
} else {
|
|
this.set_scaleY(0);
|
|
}
|
|
return value;
|
|
}
|
|
,set_width: function(value) {
|
|
if(this.__bitmapData != null) {
|
|
this.set_scaleX(value / this.__bitmapData.width);
|
|
} else {
|
|
this.set_scaleX(0);
|
|
}
|
|
return value;
|
|
}
|
|
,__class__: openfl_display_Bitmap
|
|
,__properties__: $extend(openfl_display_DisplayObject.prototype.__properties__,{set_bitmapData:"set_bitmapData",get_bitmapData:"get_bitmapData"})
|
|
});
|
|
var openfl_display_BlendMode = {};
|
|
openfl_display_BlendMode.fromString = function(value) {
|
|
switch(value) {
|
|
case "add":
|
|
return 0;
|
|
case "alpha":
|
|
return 1;
|
|
case "darken":
|
|
return 2;
|
|
case "difference":
|
|
return 3;
|
|
case "erase":
|
|
return 4;
|
|
case "hardlight":
|
|
return 5;
|
|
case "invert":
|
|
return 6;
|
|
case "layer":
|
|
return 7;
|
|
case "lighten":
|
|
return 8;
|
|
case "multiply":
|
|
return 9;
|
|
case "normal":
|
|
return 10;
|
|
case "overlay":
|
|
return 11;
|
|
case "screen":
|
|
return 12;
|
|
case "shader":
|
|
return 13;
|
|
case "subtract":
|
|
return 14;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_display_BlendMode.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "add";
|
|
case 1:
|
|
return "alpha";
|
|
case 2:
|
|
return "darken";
|
|
case 3:
|
|
return "difference";
|
|
case 4:
|
|
return "erase";
|
|
case 5:
|
|
return "hardlight";
|
|
case 6:
|
|
return "invert";
|
|
case 7:
|
|
return "layer";
|
|
case 8:
|
|
return "lighten";
|
|
case 9:
|
|
return "multiply";
|
|
case 10:
|
|
return "normal";
|
|
case 11:
|
|
return "overlay";
|
|
case 12:
|
|
return "screen";
|
|
case 13:
|
|
return "shader";
|
|
case 14:
|
|
return "subtract";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
var openfl_display_DisplayObjectRenderer = function() {
|
|
openfl_events_EventDispatcher.call(this);
|
|
this.__allowSmoothing = true;
|
|
this.__tempColorTransform = new openfl_geom_ColorTransform();
|
|
this.__worldAlpha = 1;
|
|
};
|
|
$hxClasses["openfl.display.DisplayObjectRenderer"] = openfl_display_DisplayObjectRenderer;
|
|
openfl_display_DisplayObjectRenderer.__name__ = "openfl.display.DisplayObjectRenderer";
|
|
openfl_display_DisplayObjectRenderer.__super__ = openfl_events_EventDispatcher;
|
|
openfl_display_DisplayObjectRenderer.prototype = $extend(openfl_events_EventDispatcher.prototype,{
|
|
__allowSmoothing: null
|
|
,__blendMode: null
|
|
,__cleared: null
|
|
,__context: null
|
|
,__overrideBlendMode: null
|
|
,__roundPixels: null
|
|
,__stage: null
|
|
,__tempColorTransform: null
|
|
,__transparent: null
|
|
,__type: null
|
|
,__worldAlpha: null
|
|
,__worldColorTransform: null
|
|
,__worldTransform: null
|
|
,__clear: function() {
|
|
}
|
|
,__getAlpha: function(value) {
|
|
return value * this.__worldAlpha;
|
|
}
|
|
,__getColorTransform: function(value) {
|
|
if(this.__worldColorTransform != null) {
|
|
this.__tempColorTransform.__copyFrom(this.__worldColorTransform);
|
|
this.__tempColorTransform.__combine(value);
|
|
return this.__tempColorTransform;
|
|
} else {
|
|
return value;
|
|
}
|
|
}
|
|
,__popMask: function() {
|
|
}
|
|
,__popMaskObject: function(object,handleScrollRect) {
|
|
if(handleScrollRect == null) {
|
|
handleScrollRect = true;
|
|
}
|
|
}
|
|
,__popMaskRect: function() {
|
|
}
|
|
,__pushMask: function(mask) {
|
|
}
|
|
,__pushMaskObject: function(object,handleScrollRect) {
|
|
if(handleScrollRect == null) {
|
|
handleScrollRect = true;
|
|
}
|
|
}
|
|
,__pushMaskRect: function(rect,transform) {
|
|
}
|
|
,__render: function(object) {
|
|
}
|
|
,__resize: function(width,height) {
|
|
}
|
|
,__setBlendMode: function(value) {
|
|
}
|
|
,__class__: openfl_display_DisplayObjectRenderer
|
|
});
|
|
var openfl_display_CairoRenderer = function(cairo) {
|
|
openfl_display_DisplayObjectRenderer.call(this);
|
|
};
|
|
$hxClasses["openfl.display.CairoRenderer"] = openfl_display_CairoRenderer;
|
|
openfl_display_CairoRenderer.__name__ = "openfl.display.CairoRenderer";
|
|
openfl_display_CairoRenderer.__super__ = openfl_display_DisplayObjectRenderer;
|
|
openfl_display_CairoRenderer.prototype = $extend(openfl_display_DisplayObjectRenderer.prototype,{
|
|
cairo: null
|
|
,__matrix: null
|
|
,__matrix3: null
|
|
,applyMatrix: function(transform,cairo) {
|
|
if(cairo == null) {
|
|
cairo = this.cairo;
|
|
}
|
|
this.__matrix.copyFrom(transform);
|
|
if(this.cairo == cairo && this.__worldTransform != null) {
|
|
this.__matrix.concat(this.__worldTransform);
|
|
}
|
|
this.__matrix3.a = this.__matrix.a;
|
|
this.__matrix3.b = this.__matrix.b;
|
|
this.__matrix3.c = this.__matrix.c;
|
|
this.__matrix3.d = this.__matrix.d;
|
|
if(this.__roundPixels) {
|
|
this.__matrix3.tx = Math.round(this.__matrix.tx);
|
|
this.__matrix3.ty = Math.round(this.__matrix.ty);
|
|
} else {
|
|
this.__matrix3.tx = this.__matrix.tx;
|
|
this.__matrix3.ty = this.__matrix.ty;
|
|
}
|
|
cairo.set_matrix(this.__matrix3);
|
|
}
|
|
,__clear: function() {
|
|
if(this.cairo == null) {
|
|
return;
|
|
}
|
|
this.cairo.identityMatrix();
|
|
if(this.__stage != null && this.__stage.__clearBeforeRender) {
|
|
var cacheBlendMode = this.__blendMode;
|
|
this.__setBlendMode(10);
|
|
this.cairo.setSourceRGB(this.__stage.__colorSplit[0],this.__stage.__colorSplit[1],this.__stage.__colorSplit[2]);
|
|
this.cairo.paint();
|
|
this.__setBlendMode(cacheBlendMode);
|
|
}
|
|
}
|
|
,__popMask: function() {
|
|
this.cairo.restore();
|
|
}
|
|
,__popMaskObject: function(object,handleScrollRect) {
|
|
if(handleScrollRect == null) {
|
|
handleScrollRect = true;
|
|
}
|
|
if(!object.__isCacheBitmapRender && object.__mask != null) {
|
|
this.__popMask();
|
|
}
|
|
if(handleScrollRect && object.__scrollRect != null) {
|
|
this.__popMaskRect();
|
|
}
|
|
}
|
|
,__popMaskRect: function() {
|
|
this.cairo.restore();
|
|
}
|
|
,__pushMask: function(mask) {
|
|
this.cairo.save();
|
|
this.applyMatrix(mask.__renderTransform,this.cairo);
|
|
this.cairo.newPath();
|
|
mask.__renderCairoMask(this);
|
|
this.cairo.clip();
|
|
}
|
|
,__pushMaskObject: function(object,handleScrollRect) {
|
|
if(handleScrollRect == null) {
|
|
handleScrollRect = true;
|
|
}
|
|
if(handleScrollRect && object.__scrollRect != null) {
|
|
this.__pushMaskRect(object.__scrollRect,object.__renderTransform);
|
|
}
|
|
if(!object.__isCacheBitmapRender && object.__mask != null) {
|
|
this.__pushMask(object.__mask);
|
|
}
|
|
}
|
|
,__pushMaskRect: function(rect,transform) {
|
|
this.cairo.save();
|
|
this.applyMatrix(transform,this.cairo);
|
|
this.cairo.newPath();
|
|
this.cairo.rectangle(rect.x,rect.y,rect.width,rect.height);
|
|
this.cairo.clip();
|
|
}
|
|
,__render: function(object) {
|
|
if(this.cairo == null) {
|
|
return;
|
|
}
|
|
object.__renderCairo(this);
|
|
}
|
|
,__setBlendMode: function(value) {
|
|
if(this.__overrideBlendMode != null) {
|
|
value = this.__overrideBlendMode;
|
|
}
|
|
if(this.__blendMode == value) {
|
|
return;
|
|
}
|
|
this.__blendMode = value;
|
|
this.__setBlendModeCairo(this.cairo,value);
|
|
}
|
|
,__setBlendModeCairo: function(cairo,value) {
|
|
switch(value) {
|
|
case 0:
|
|
cairo.setOperator(12);
|
|
break;
|
|
case 2:
|
|
cairo.setOperator(17);
|
|
break;
|
|
case 3:
|
|
cairo.setOperator(23);
|
|
break;
|
|
case 5:
|
|
cairo.setOperator(21);
|
|
break;
|
|
case 7:
|
|
cairo.setOperator(2);
|
|
break;
|
|
case 8:
|
|
cairo.setOperator(18);
|
|
break;
|
|
case 9:
|
|
cairo.setOperator(14);
|
|
break;
|
|
case 11:
|
|
cairo.setOperator(16);
|
|
break;
|
|
case 12:
|
|
cairo.setOperator(15);
|
|
break;
|
|
default:
|
|
cairo.setOperator(2);
|
|
}
|
|
}
|
|
,__class__: openfl_display_CairoRenderer
|
|
});
|
|
var openfl_display_CanvasRenderer = function(context) {
|
|
this.pixelRatio = 1;
|
|
openfl_display_DisplayObjectRenderer.call(this);
|
|
this.context = context;
|
|
this.__tempMatrix = new openfl_geom_Matrix();
|
|
this.__type = "canvas";
|
|
};
|
|
$hxClasses["openfl.display.CanvasRenderer"] = openfl_display_CanvasRenderer;
|
|
openfl_display_CanvasRenderer.__name__ = "openfl.display.CanvasRenderer";
|
|
openfl_display_CanvasRenderer.__super__ = openfl_display_DisplayObjectRenderer;
|
|
openfl_display_CanvasRenderer.prototype = $extend(openfl_display_DisplayObjectRenderer.prototype,{
|
|
context: null
|
|
,pixelRatio: null
|
|
,__isDOM: null
|
|
,__tempMatrix: null
|
|
,applySmoothing: function(context,value) {
|
|
context.imageSmoothingEnabled = value;
|
|
}
|
|
,setTransform: function(transform,context) {
|
|
if(context == null) {
|
|
context = this.context;
|
|
} else if(this.context == context && this.__worldTransform != null) {
|
|
this.__tempMatrix.copyFrom(transform);
|
|
this.__tempMatrix.concat(this.__worldTransform);
|
|
transform = this.__tempMatrix;
|
|
}
|
|
if(this.__roundPixels) {
|
|
context.setTransform(transform.a,transform.b,transform.c,transform.d,transform.tx | 0,transform.ty | 0);
|
|
} else {
|
|
context.setTransform(transform.a,transform.b,transform.c,transform.d,transform.tx,transform.ty);
|
|
}
|
|
}
|
|
,__clear: function() {
|
|
if(this.__stage != null) {
|
|
var cacheBlendMode = this.__blendMode;
|
|
this.__blendMode = null;
|
|
this.__setBlendMode(10);
|
|
this.context.setTransform(1,0,0,1,0,0);
|
|
this.context.globalAlpha = 1;
|
|
if(!this.__stage.__transparent && this.__stage.__clearBeforeRender) {
|
|
this.context.fillStyle = this.__stage.__colorString;
|
|
this.context.fillRect(0,0,this.__stage.stageWidth * this.__stage.window.__scale,this.__stage.stageHeight * this.__stage.window.__scale);
|
|
} else if(this.__stage.__transparent && this.__stage.__clearBeforeRender) {
|
|
this.context.clearRect(0,0,this.__stage.stageWidth * this.__stage.window.__scale,this.__stage.stageHeight * this.__stage.window.__scale);
|
|
}
|
|
this.__setBlendMode(cacheBlendMode);
|
|
}
|
|
}
|
|
,__popMask: function() {
|
|
this.context.restore();
|
|
}
|
|
,__popMaskObject: function(object,handleScrollRect) {
|
|
if(handleScrollRect == null) {
|
|
handleScrollRect = true;
|
|
}
|
|
if(!object.__isCacheBitmapRender && object.__mask != null) {
|
|
this.__popMask();
|
|
}
|
|
if(handleScrollRect && object.__scrollRect != null) {
|
|
this.__popMaskRect();
|
|
}
|
|
}
|
|
,__popMaskRect: function() {
|
|
this.context.restore();
|
|
}
|
|
,__pushMask: function(mask) {
|
|
this.context.save();
|
|
this.setTransform(mask.__renderTransform,this.context);
|
|
this.context.beginPath();
|
|
mask.__renderCanvasMask(this);
|
|
this.context.closePath();
|
|
this.context.clip();
|
|
}
|
|
,__pushMaskObject: function(object,handleScrollRect) {
|
|
if(handleScrollRect == null) {
|
|
handleScrollRect = true;
|
|
}
|
|
if(handleScrollRect && object.__scrollRect != null) {
|
|
this.__pushMaskRect(object.__scrollRect,object.__renderTransform);
|
|
}
|
|
if(!object.__isCacheBitmapRender && object.__mask != null) {
|
|
this.__pushMask(object.__mask);
|
|
}
|
|
}
|
|
,__pushMaskRect: function(rect,transform) {
|
|
this.context.save();
|
|
this.setTransform(transform,this.context);
|
|
this.context.beginPath();
|
|
this.context.rect(rect.x,rect.y,rect.width,rect.height);
|
|
this.context.clip();
|
|
}
|
|
,__render: function(object) {
|
|
object.__renderCanvas(this);
|
|
}
|
|
,__setBlendMode: function(value) {
|
|
if(this.__overrideBlendMode != null) {
|
|
value = this.__overrideBlendMode;
|
|
}
|
|
if(this.__blendMode == value) {
|
|
return;
|
|
}
|
|
this.__blendMode = value;
|
|
this.__setBlendModeContext(this.context,value);
|
|
}
|
|
,__setBlendModeContext: function(context,value) {
|
|
switch(value) {
|
|
case 0:
|
|
context.globalCompositeOperation = "lighter";
|
|
break;
|
|
case 2:
|
|
context.globalCompositeOperation = "darken";
|
|
break;
|
|
case 3:
|
|
context.globalCompositeOperation = "difference";
|
|
break;
|
|
case 5:
|
|
context.globalCompositeOperation = "hard-light";
|
|
break;
|
|
case 8:
|
|
context.globalCompositeOperation = "lighten";
|
|
break;
|
|
case 9:
|
|
context.globalCompositeOperation = "multiply";
|
|
break;
|
|
case 11:
|
|
context.globalCompositeOperation = "overlay";
|
|
break;
|
|
case 12:
|
|
context.globalCompositeOperation = "screen";
|
|
break;
|
|
default:
|
|
context.globalCompositeOperation = "source-over";
|
|
}
|
|
}
|
|
,__class__: openfl_display_CanvasRenderer
|
|
});
|
|
var openfl_display_CapsStyle = {};
|
|
openfl_display_CapsStyle.fromInt = function(value) {
|
|
return value;
|
|
};
|
|
openfl_display_CapsStyle.fromString = function(value) {
|
|
switch(value) {
|
|
case "none":
|
|
return 0;
|
|
case "round":
|
|
return 1;
|
|
case "square":
|
|
return 2;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_display_CapsStyle.toInt = function(this1) {
|
|
return this1;
|
|
};
|
|
openfl_display_CapsStyle.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "none";
|
|
case 1:
|
|
return "round";
|
|
case 2:
|
|
return "square";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
var openfl_display_DOMRenderer = function(element) {
|
|
this.pixelRatio = 1;
|
|
openfl_display_DisplayObjectRenderer.call(this);
|
|
this.element = element;
|
|
openfl_display_DisplayObject.__supportDOM = true;
|
|
var prefix = (function () {
|
|
var styles = window.getComputedStyle(document.documentElement, ''),
|
|
pre = (Array.prototype.slice
|
|
.call(styles)
|
|
.join('')
|
|
.match(/-(moz|webkit|ms)-/) || (styles.OLink === '' && ['', 'o'])
|
|
)[1],
|
|
dom = ('WebKit|Moz|MS|O').match(new RegExp('(' + pre + ')', 'i'))[1];
|
|
return {
|
|
dom: dom,
|
|
lowercase: pre,
|
|
css: '-' + pre + '-',
|
|
js: pre[0].toUpperCase() + pre.substr(1)
|
|
};
|
|
})();
|
|
this.__vendorPrefix = prefix.lowercase;
|
|
this.__transformProperty = prefix.lowercase == "webkit" ? "-webkit-transform" : "transform";
|
|
this.__transformOriginProperty = prefix.lowercase == "webkit" ? "-webkit-transform-origin" : "transform-origin";
|
|
this.__clipRects = [];
|
|
this.__numClipRects = 0;
|
|
this.__z = 0;
|
|
this.__type = "dom";
|
|
this.__canvasRenderer = new openfl_display_CanvasRenderer(null);
|
|
this.__canvasRenderer.__isDOM = true;
|
|
};
|
|
$hxClasses["openfl.display.DOMRenderer"] = openfl_display_DOMRenderer;
|
|
openfl_display_DOMRenderer.__name__ = "openfl.display.DOMRenderer";
|
|
openfl_display_DOMRenderer.__super__ = openfl_display_DisplayObjectRenderer;
|
|
openfl_display_DOMRenderer.prototype = $extend(openfl_display_DisplayObjectRenderer.prototype,{
|
|
element: null
|
|
,pixelRatio: null
|
|
,__canvasRenderer: null
|
|
,__clipRects: null
|
|
,__currentClipRect: null
|
|
,__numClipRects: null
|
|
,__transformOriginProperty: null
|
|
,__transformProperty: null
|
|
,__vendorPrefix: null
|
|
,__z: null
|
|
,applyStyle: function(parent,childElement) {
|
|
if(parent != null && childElement != null) {
|
|
if(parent.__style == null || childElement.parentElement != this.element) {
|
|
this.__initializeElement(parent,childElement);
|
|
}
|
|
parent.__style = childElement.style;
|
|
this.__updateClip(parent);
|
|
this.__applyStyle(parent,true,true,true);
|
|
}
|
|
}
|
|
,clearStyle: function(childElement) {
|
|
if(childElement != null && childElement.parentElement == this.element) {
|
|
this.element.removeChild(childElement);
|
|
}
|
|
}
|
|
,__applyStyle: function(displayObject,setTransform,setAlpha,setClip) {
|
|
var style = displayObject.__style;
|
|
if(setTransform && displayObject.__renderTransformChanged) {
|
|
var _this = displayObject.__renderTransform;
|
|
var roundPixels = this.__roundPixels;
|
|
if(roundPixels == null) {
|
|
roundPixels = false;
|
|
}
|
|
style.setProperty(this.__transformProperty,roundPixels ? "matrix3d(" + _this.a + ", " + _this.b + ", 0, 0, " + _this.c + ", " + _this.d + ", 0, 0, 0, 0, 1, 0, " + (_this.tx | 0) + ", " + (_this.ty | 0) + ", 0, 1)" : "matrix3d(" + _this.a + ", " + _this.b + ", 0, 0, " + _this.c + ", " + _this.d + ", 0, 0, 0, 0, 1, 0, " + _this.tx + ", " + _this.ty + ", 0, 1)",null);
|
|
}
|
|
if(displayObject.__worldZ != ++this.__z) {
|
|
displayObject.__worldZ = this.__z;
|
|
style.setProperty("z-index",displayObject.__worldZ == null ? "null" : "" + displayObject.__worldZ,null);
|
|
}
|
|
if(setAlpha && displayObject.__worldAlphaChanged) {
|
|
if(displayObject.__worldAlpha < 1) {
|
|
style.setProperty("opacity",displayObject.__worldAlpha == null ? "null" : "" + displayObject.__worldAlpha,null);
|
|
} else {
|
|
style.removeProperty("opacity");
|
|
}
|
|
}
|
|
if(setClip && displayObject.__worldClipChanged) {
|
|
if(displayObject.__worldClip == null) {
|
|
style.removeProperty("clip");
|
|
} else {
|
|
var clip = displayObject.__worldClip;
|
|
style.setProperty("clip","rect(" + clip.y + "px, " + clip.get_right() + "px, " + clip.get_bottom() + "px, " + clip.x + "px)",null);
|
|
}
|
|
}
|
|
}
|
|
,__initializeElement: function(displayObject,element) {
|
|
var style = displayObject.__style = element.style;
|
|
style.setProperty("position","absolute",null);
|
|
style.setProperty("top","0",null);
|
|
style.setProperty("left","0",null);
|
|
style.setProperty(this.__transformOriginProperty,"0 0 0",null);
|
|
this.element.appendChild(element);
|
|
displayObject.__worldAlphaChanged = true;
|
|
displayObject.__renderTransformChanged = true;
|
|
displayObject.__worldVisibleChanged = true;
|
|
displayObject.__worldClipChanged = true;
|
|
displayObject.__worldClip = null;
|
|
displayObject.__worldZ = -1;
|
|
}
|
|
,__popMask: function() {
|
|
this.__popMaskRect();
|
|
}
|
|
,__popMaskObject: function(object,handleScrollRect) {
|
|
if(handleScrollRect == null) {
|
|
handleScrollRect = true;
|
|
}
|
|
if(object.__mask != null) {
|
|
this.__popMask();
|
|
}
|
|
if(handleScrollRect && object.__scrollRect != null) {
|
|
this.__popMaskRect();
|
|
}
|
|
}
|
|
,__popMaskRect: function() {
|
|
if(this.__numClipRects > 0) {
|
|
this.__numClipRects--;
|
|
if(this.__numClipRects > 0) {
|
|
this.__currentClipRect = this.__clipRects[this.__numClipRects - 1];
|
|
} else {
|
|
this.__currentClipRect = null;
|
|
}
|
|
}
|
|
}
|
|
,__pushMask: function(mask) {
|
|
this.__pushMaskRect(mask.getBounds(mask),mask.__renderTransform);
|
|
}
|
|
,__pushMaskObject: function(object,handleScrollRect) {
|
|
if(handleScrollRect == null) {
|
|
handleScrollRect = true;
|
|
}
|
|
if(handleScrollRect && object.__scrollRect != null) {
|
|
this.__pushMaskRect(object.__scrollRect,object.__renderTransform);
|
|
}
|
|
if(object.__mask != null) {
|
|
this.__pushMask(object.__mask);
|
|
}
|
|
}
|
|
,__pushMaskRect: function(rect,transform) {
|
|
if(this.__numClipRects == this.__clipRects.length) {
|
|
this.__clipRects[this.__numClipRects] = new openfl_geom_Rectangle();
|
|
}
|
|
var clipRect = this.__clipRects[this.__numClipRects];
|
|
rect.__transform(clipRect,transform);
|
|
if(this.__numClipRects > 0) {
|
|
var parentClipRect = this.__clipRects[this.__numClipRects - 1];
|
|
clipRect.__contract(parentClipRect.x,parentClipRect.y,parentClipRect.width,parentClipRect.height);
|
|
}
|
|
if(clipRect.height < 0) {
|
|
clipRect.height = 0;
|
|
}
|
|
if(clipRect.width < 0) {
|
|
clipRect.width = 0;
|
|
}
|
|
this.__currentClipRect = clipRect;
|
|
this.__numClipRects++;
|
|
}
|
|
,__render: function(object) {
|
|
if(!this.__stage.__transparent) {
|
|
this.element.style.background = this.__stage.__colorString;
|
|
} else {
|
|
this.element.style.background = "none";
|
|
}
|
|
this.__z = 1;
|
|
object.__renderDOM(this);
|
|
}
|
|
,__setBlendMode: function(value) {
|
|
if(this.__overrideBlendMode != null) {
|
|
value = this.__overrideBlendMode;
|
|
}
|
|
if(this.__blendMode == value) {
|
|
return;
|
|
}
|
|
this.__blendMode = value;
|
|
}
|
|
,__updateClip: function(displayObject) {
|
|
if(this.__currentClipRect == null) {
|
|
displayObject.__worldClipChanged = displayObject.__worldClip != null;
|
|
displayObject.__worldClip = null;
|
|
} else {
|
|
if(displayObject.__worldClip == null) {
|
|
displayObject.__worldClip = new openfl_geom_Rectangle();
|
|
}
|
|
var clip = openfl_geom_Rectangle.__pool.get();
|
|
var matrix = openfl_geom_Matrix.__pool.get();
|
|
matrix.copyFrom(displayObject.__renderTransform);
|
|
matrix.invert();
|
|
this.__currentClipRect.__transform(clip,matrix);
|
|
if(clip.equals(displayObject.__worldClip)) {
|
|
displayObject.__worldClipChanged = false;
|
|
} else {
|
|
displayObject.__worldClip.copyFrom(clip);
|
|
displayObject.__worldClipChanged = true;
|
|
}
|
|
openfl_geom_Rectangle.__pool.release(clip);
|
|
openfl_geom_Matrix.__pool.release(matrix);
|
|
}
|
|
}
|
|
,__class__: openfl_display_DOMRenderer
|
|
});
|
|
var openfl_display_DisplayObjectShader = function(code) {
|
|
if(this.__glFragmentSource == null) {
|
|
this.__glFragmentSource = "varying float openfl_Alphav;\n\t\tvarying vec4 openfl_ColorMultiplierv;\n\t\tvarying vec4 openfl_ColorOffsetv;\n\t\tvarying vec2 openfl_TextureCoordv;\n\n\t\tuniform bool openfl_HasColorTransform;\n\t\tuniform sampler2D openfl_Texture;\n\t\tuniform vec2 openfl_TextureSize;\n\n\t\tvoid main(void) {\n\n\t\t\tvec4 color = texture2D (openfl_Texture, openfl_TextureCoordv);\n\n\t\tif (color.a == 0.0) {\n\n\t\t\tgl_FragColor = vec4 (0.0, 0.0, 0.0, 0.0);\n\n\t\t} else if (openfl_HasColorTransform) {\n\n\t\t\tcolor = vec4 (color.rgb / color.a, color.a);\n\n\t\t\tmat4 colorMultiplier = mat4 (0);\n\t\t\tcolorMultiplier[0][0] = openfl_ColorMultiplierv.x;\n\t\t\tcolorMultiplier[1][1] = openfl_ColorMultiplierv.y;\n\t\t\tcolorMultiplier[2][2] = openfl_ColorMultiplierv.z;\n\t\t\tcolorMultiplier[3][3] = 1.0; // openfl_ColorMultiplierv.w;\n\n\t\t\tcolor = clamp (openfl_ColorOffsetv + (color * colorMultiplier), 0.0, 1.0);\n\n\t\t\tif (color.a > 0.0) {\n\n\t\t\t\tgl_FragColor = vec4 (color.rgb * color.a * openfl_Alphav, color.a * openfl_Alphav);\n\n\t\t\t} else {\n\n\t\t\t\tgl_FragColor = vec4 (0.0, 0.0, 0.0, 0.0);\n\n\t\t\t}\n\n\t\t} else {\n\n\t\t\tgl_FragColor = color * openfl_Alphav;\n\n\t\t}\n\n\t\t}";
|
|
}
|
|
if(this.__glVertexSource == null) {
|
|
this.__glVertexSource = "attribute float openfl_Alpha;\n\t\tattribute vec4 openfl_ColorMultiplier;\n\t\tattribute vec4 openfl_ColorOffset;\n\t\tattribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\n\t\tvarying float openfl_Alphav;\n\t\tvarying vec4 openfl_ColorMultiplierv;\n\t\tvarying vec4 openfl_ColorOffsetv;\n\t\tvarying vec2 openfl_TextureCoordv;\n\n\t\tuniform mat4 openfl_Matrix;\n\t\tuniform bool openfl_HasColorTransform;\n\t\tuniform vec2 openfl_TextureSize;\n\n\t\tvoid main(void) {\n\n\t\t\topenfl_Alphav = openfl_Alpha;\n\t\topenfl_TextureCoordv = openfl_TextureCoord;\n\n\t\tif (openfl_HasColorTransform) {\n\n\t\t\topenfl_ColorMultiplierv = openfl_ColorMultiplier;\n\t\t\topenfl_ColorOffsetv = openfl_ColorOffset / 255.0;\n\n\t\t}\n\n\t\tgl_Position = openfl_Matrix * openfl_Position;\n\n\t\t}";
|
|
}
|
|
openfl_display_Shader.call(this,code);
|
|
this.__isGenerated = true;
|
|
this.__initGL();
|
|
};
|
|
$hxClasses["openfl.display.DisplayObjectShader"] = openfl_display_DisplayObjectShader;
|
|
openfl_display_DisplayObjectShader.__name__ = "openfl.display.DisplayObjectShader";
|
|
openfl_display_DisplayObjectShader.__super__ = openfl_display_Shader;
|
|
openfl_display_DisplayObjectShader.prototype = $extend(openfl_display_Shader.prototype,{
|
|
openfl_Alpha: null
|
|
,openfl_ColorMultiplier: null
|
|
,openfl_ColorOffset: null
|
|
,openfl_Position: null
|
|
,openfl_TextureCoord: null
|
|
,openfl_Matrix: null
|
|
,openfl_HasColorTransform: null
|
|
,openfl_TextureSize: null
|
|
,openfl_Texture: null
|
|
,__class__: openfl_display_DisplayObjectShader
|
|
});
|
|
var openfl_text_TextField = function() {
|
|
this.__forceCachedBitmapUpdate = false;
|
|
this.__renderedOnCanvasWhileOnDOM = false;
|
|
openfl_display_InteractiveObject.call(this);
|
|
this.__caretIndex = -1;
|
|
this.__displayAsPassword = false;
|
|
this.__graphics = new openfl_display_Graphics(this);
|
|
this.__textEngine = new openfl_text__$internal_TextEngine(this);
|
|
this.__layoutDirty = true;
|
|
this.__offsetX = 0;
|
|
this.__offsetY = 0;
|
|
this.__mouseWheelEnabled = true;
|
|
this.__text = "";
|
|
this.doubleClickEnabled = true;
|
|
if(openfl_text_TextField.__defaultTextFormat == null) {
|
|
openfl_text_TextField.__defaultTextFormat = new openfl_text_TextFormat("Times New Roman",12,0,false,false,false,"","",3,0,0,0,0);
|
|
openfl_text_TextField.__defaultTextFormat.blockIndent = 0;
|
|
openfl_text_TextField.__defaultTextFormat.bullet = false;
|
|
openfl_text_TextField.__defaultTextFormat.letterSpacing = 0;
|
|
openfl_text_TextField.__defaultTextFormat.kerning = false;
|
|
}
|
|
this.__textFormat = openfl_text_TextField.__defaultTextFormat.clone();
|
|
this.__textEngine.textFormatRanges.push(new openfl_text__$internal_TextFormatRange(this.__textFormat,0,0));
|
|
this.addEventListener("mouseDown",$bind(this,this.this_onMouseDown));
|
|
this.addEventListener("focusIn",$bind(this,this.this_onFocusIn));
|
|
this.addEventListener("focusOut",$bind(this,this.this_onFocusOut));
|
|
this.addEventListener("keyDown",$bind(this,this.this_onKeyDown));
|
|
this.addEventListener("mouseWheel",$bind(this,this.this_onMouseWheel));
|
|
this.addEventListener("doubleClick",$bind(this,this.this_onDoubleClick));
|
|
};
|
|
$hxClasses["openfl.text.TextField"] = openfl_text_TextField;
|
|
openfl_text_TextField.__name__ = "openfl.text.TextField";
|
|
openfl_text_TextField.__defaultTextFormat = null;
|
|
openfl_text_TextField.__super__ = openfl_display_InteractiveObject;
|
|
openfl_text_TextField.prototype = $extend(openfl_display_InteractiveObject.prototype,{
|
|
__bounds: null
|
|
,__caretIndex: null
|
|
,__cursorTimer: null
|
|
,__dirty: null
|
|
,__displayAsPassword: null
|
|
,__domRender: null
|
|
,__inputEnabled: null
|
|
,__isHTML: null
|
|
,__layoutDirty: null
|
|
,__mouseWheelEnabled: null
|
|
,__offsetX: null
|
|
,__offsetY: null
|
|
,__selectionIndex: null
|
|
,__showCursor: null
|
|
,__text: null
|
|
,__htmlText: null
|
|
,__textEngine: null
|
|
,__textFormat: null
|
|
,__div: null
|
|
,__renderedOnCanvasWhileOnDOM: null
|
|
,__rawHtmlText: null
|
|
,__forceCachedBitmapUpdate: null
|
|
,appendText: function(text) {
|
|
if(text == null || text == "") {
|
|
return;
|
|
}
|
|
this.__dirty = true;
|
|
this.__layoutDirty = true;
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
this.__updateText(this.__text + text);
|
|
this.__textEngine.textFormatRanges.get(this.__textEngine.textFormatRanges.get_length() - 1).end = this.__text.length;
|
|
this.__updateScrollV();
|
|
this.__updateScrollH();
|
|
}
|
|
,getCharBoundaries: function(charIndex) {
|
|
if(charIndex < 0 || charIndex > this.__text.length - 1) {
|
|
return null;
|
|
}
|
|
var rect = new openfl_geom_Rectangle();
|
|
if(this.__getCharBoundaries(charIndex,rect)) {
|
|
return rect;
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
,getCharIndexAtPoint: function(x,y) {
|
|
if(x <= 2 || x > this.get_width() + 4 || y <= 0 || y > this.get_height() + 4) {
|
|
return -1;
|
|
}
|
|
this.__updateLayout();
|
|
x += this.get_scrollH();
|
|
var _g = 0;
|
|
var _g1 = this.get_scrollV() - 1;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
y += this.__textEngine.lineHeights.get(i);
|
|
}
|
|
var group = this.__textEngine.layoutGroups.iterator();
|
|
while(group.hasNext()) {
|
|
var group1 = group.next();
|
|
if(y >= group1.offsetY && y <= group1.offsetY + group1.height) {
|
|
if(x >= group1.offsetX && x <= group1.offsetX + group1.width) {
|
|
var advance = 0.0;
|
|
var _g = 0;
|
|
var _g1 = group1.positions.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
advance += group1.positions[i];
|
|
if(x <= group1.offsetX + advance) {
|
|
return group1.startIndex + i;
|
|
}
|
|
}
|
|
return group1.endIndex;
|
|
}
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
,getFirstCharInParagraph: function(charIndex) {
|
|
if(charIndex < 0 || charIndex > this.get_text().length) {
|
|
return -1;
|
|
}
|
|
var index = this.__textEngine.getLineBreakIndex();
|
|
var startIndex = 0;
|
|
while(index > -1) {
|
|
if(index < charIndex) {
|
|
startIndex = index + 1;
|
|
} else if(index >= charIndex) {
|
|
break;
|
|
}
|
|
index = this.__textEngine.getLineBreakIndex(index + 1);
|
|
}
|
|
return startIndex;
|
|
}
|
|
,getLineIndexAtPoint: function(x,y) {
|
|
this.__updateLayout();
|
|
if(x <= 2 || x > this.get_width() + 4 || y <= 0 || y > this.get_height() + 4) {
|
|
return -1;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.get_scrollV() - 1;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
y += this.__textEngine.lineHeights.get(i);
|
|
}
|
|
var group = this.__textEngine.layoutGroups.iterator();
|
|
while(group.hasNext()) {
|
|
var group1 = group.next();
|
|
if(y >= group1.offsetY && y <= group1.offsetY + group1.height) {
|
|
return group1.lineIndex;
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
,getLineIndexOfChar: function(charIndex) {
|
|
if(charIndex < 0 || charIndex > this.__text.length) {
|
|
return -1;
|
|
}
|
|
this.__updateLayout();
|
|
var group = this.__textEngine.layoutGroups.iterator();
|
|
while(group.hasNext()) {
|
|
var group1 = group.next();
|
|
if(group1.startIndex <= charIndex && group1.endIndex >= charIndex) {
|
|
return group1.lineIndex;
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
,getLineLength: function(lineIndex) {
|
|
this.__updateLayout();
|
|
if(lineIndex < 0 || lineIndex > this.__textEngine.numLines - 1) {
|
|
return 0;
|
|
}
|
|
var startIndex = -1;
|
|
var endIndex = -1;
|
|
var group = this.__textEngine.layoutGroups.iterator();
|
|
while(group.hasNext()) {
|
|
var group1 = group.next();
|
|
if(group1.lineIndex == lineIndex) {
|
|
if(startIndex == -1) {
|
|
startIndex = group1.startIndex;
|
|
}
|
|
} else if(group1.lineIndex == lineIndex + 1) {
|
|
endIndex = group1.startIndex;
|
|
break;
|
|
}
|
|
}
|
|
if(endIndex == -1) {
|
|
endIndex = this.__text.length;
|
|
}
|
|
return endIndex - startIndex;
|
|
}
|
|
,getLineMetrics: function(lineIndex) {
|
|
this.__updateLayout();
|
|
var ascender = this.__textEngine.lineAscents.get(lineIndex);
|
|
var descender = this.__textEngine.lineDescents.get(lineIndex);
|
|
var leading = this.__textEngine.lineLeadings.get(lineIndex);
|
|
var lineHeight = this.__textEngine.lineHeights.get(lineIndex);
|
|
var lineWidth = this.__textEngine.lineWidths.get(lineIndex);
|
|
var margin;
|
|
switch(this.__textFormat.align) {
|
|
case 0:
|
|
margin = (this.__textEngine.width - lineWidth) / 2;
|
|
break;
|
|
case 1:case 4:
|
|
margin = this.__textEngine.width - lineWidth - 2;
|
|
break;
|
|
case 2:case 3:case 5:
|
|
margin = 2;
|
|
break;
|
|
}
|
|
return new openfl_text_TextLineMetrics(margin,lineWidth,lineHeight,ascender,descender,leading);
|
|
}
|
|
,getLineOffset: function(lineIndex) {
|
|
this.__updateLayout();
|
|
if(lineIndex < 0 || lineIndex > this.__textEngine.numLines - 1) {
|
|
return -1;
|
|
}
|
|
var group = this.__textEngine.layoutGroups.iterator();
|
|
while(group.hasNext()) {
|
|
var group1 = group.next();
|
|
if(group1.lineIndex == lineIndex) {
|
|
return group1.startIndex;
|
|
}
|
|
}
|
|
return 0;
|
|
}
|
|
,getLineText: function(lineIndex) {
|
|
this.__updateLayout();
|
|
if(lineIndex < 0 || lineIndex > this.__textEngine.numLines - 1) {
|
|
return null;
|
|
}
|
|
var startIndex = -1;
|
|
var endIndex = -1;
|
|
var group = this.__textEngine.layoutGroups.iterator();
|
|
while(group.hasNext()) {
|
|
var group1 = group.next();
|
|
if(group1.lineIndex == lineIndex) {
|
|
if(startIndex == -1) {
|
|
startIndex = group1.startIndex;
|
|
}
|
|
} else if(group1.lineIndex == lineIndex + 1) {
|
|
endIndex = group1.startIndex;
|
|
break;
|
|
}
|
|
}
|
|
if(endIndex == -1) {
|
|
endIndex = this.__text.length;
|
|
}
|
|
return this.__textEngine.text.substring(startIndex,endIndex);
|
|
}
|
|
,getParagraphLength: function(charIndex) {
|
|
if(charIndex < 0 || charIndex > this.get_text().length) {
|
|
return -1;
|
|
}
|
|
var startIndex = this.getFirstCharInParagraph(charIndex);
|
|
if(charIndex >= this.get_text().length) {
|
|
return this.get_text().length - startIndex + 1;
|
|
}
|
|
var endIndex = this.__textEngine.getLineBreakIndex(charIndex) + 1;
|
|
if(endIndex == 0) {
|
|
endIndex = this.__text.length;
|
|
}
|
|
return endIndex - startIndex;
|
|
}
|
|
,getTextFormat: function(beginIndex,endIndex) {
|
|
if(endIndex == null) {
|
|
endIndex = -1;
|
|
}
|
|
if(beginIndex == null) {
|
|
beginIndex = -1;
|
|
}
|
|
var format = null;
|
|
if(beginIndex >= this.get_text().length || beginIndex < -1 || endIndex > this.get_text().length || endIndex < -1) {
|
|
throw haxe_Exception.thrown(new openfl_errors_RangeError("The supplied index is out of bounds"));
|
|
}
|
|
if(beginIndex == -1) {
|
|
beginIndex = 0;
|
|
}
|
|
if(endIndex == -1) {
|
|
endIndex = this.get_text().length;
|
|
}
|
|
if(beginIndex >= endIndex) {
|
|
return new openfl_text_TextFormat();
|
|
}
|
|
var group = this.__textEngine.textFormatRanges.iterator();
|
|
while(group.hasNext()) {
|
|
var group1 = group.next();
|
|
if(group1.start <= beginIndex && group1.end > beginIndex || group1.start < endIndex && group1.end >= endIndex) {
|
|
if(format == null) {
|
|
format = group1.format.clone();
|
|
} else {
|
|
if(group1.format.font != format.font) {
|
|
format.font = null;
|
|
}
|
|
if(group1.format.size != format.size) {
|
|
format.size = null;
|
|
}
|
|
if(group1.format.color != format.color) {
|
|
format.color = null;
|
|
}
|
|
if(group1.format.bold != format.bold) {
|
|
format.bold = null;
|
|
}
|
|
if(group1.format.italic != format.italic) {
|
|
format.italic = null;
|
|
}
|
|
if(group1.format.underline != format.underline) {
|
|
format.underline = null;
|
|
}
|
|
if(group1.format.url != format.url) {
|
|
format.url = null;
|
|
}
|
|
if(group1.format.target != format.target) {
|
|
format.target = null;
|
|
}
|
|
if(group1.format.align != format.align) {
|
|
format.align = null;
|
|
}
|
|
if(group1.format.leftMargin != format.leftMargin) {
|
|
format.leftMargin = null;
|
|
}
|
|
if(group1.format.rightMargin != format.rightMargin) {
|
|
format.rightMargin = null;
|
|
}
|
|
if(group1.format.indent != format.indent) {
|
|
format.indent = null;
|
|
}
|
|
if(group1.format.leading != format.leading) {
|
|
format.leading = null;
|
|
}
|
|
if(group1.format.blockIndent != format.blockIndent) {
|
|
format.blockIndent = null;
|
|
}
|
|
if(group1.format.bullet != format.bullet) {
|
|
format.bullet = null;
|
|
}
|
|
if(group1.format.kerning != format.kerning) {
|
|
format.kerning = null;
|
|
}
|
|
if(group1.format.letterSpacing != format.letterSpacing) {
|
|
format.letterSpacing = null;
|
|
}
|
|
if(group1.format.tabStops != format.tabStops) {
|
|
format.tabStops = null;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if(format == null) {
|
|
format = new openfl_text_TextFormat();
|
|
}
|
|
return format;
|
|
}
|
|
,replaceSelectedText: function(value) {
|
|
this.__replaceSelectedText(value,false);
|
|
}
|
|
,replaceText: function(beginIndex,endIndex,newText) {
|
|
this.__replaceText(beginIndex,endIndex,newText,false);
|
|
}
|
|
,setSelection: function(beginIndex,endIndex) {
|
|
this.__selectionIndex = beginIndex;
|
|
this.__caretIndex = endIndex;
|
|
this.__updateScrollV();
|
|
this.__stopCursorTimer();
|
|
this.__startCursorTimer();
|
|
}
|
|
,setTextFormat: function(format,beginIndex,endIndex) {
|
|
if(endIndex == null) {
|
|
endIndex = 0;
|
|
}
|
|
if(beginIndex == null) {
|
|
beginIndex = 0;
|
|
}
|
|
var max = this.get_text().length;
|
|
var range;
|
|
if(beginIndex < 0) {
|
|
beginIndex = 0;
|
|
}
|
|
if(endIndex < 0) {
|
|
endIndex = 0;
|
|
}
|
|
if(endIndex == 0) {
|
|
if(beginIndex == 0) {
|
|
endIndex = max;
|
|
} else {
|
|
endIndex = beginIndex + 1;
|
|
}
|
|
}
|
|
if(endIndex < beginIndex) {
|
|
return;
|
|
}
|
|
if(beginIndex == 0 && endIndex >= max) {
|
|
this.__textFormat.__merge(format);
|
|
var _g = 0;
|
|
var _g1 = this.__textEngine.textFormatRanges.get_length();
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
range = this.__textEngine.textFormatRanges.get(i);
|
|
range.format.__merge(format);
|
|
}
|
|
} else {
|
|
var index = 0;
|
|
var newRange;
|
|
while(index < this.__textEngine.textFormatRanges.get_length()) {
|
|
range = this.__textEngine.textFormatRanges.get(index);
|
|
if(range.start == beginIndex && range.end == endIndex) {
|
|
range.format.__merge(format);
|
|
break;
|
|
} else if(range.start >= beginIndex && range.end <= endIndex) {
|
|
range.format.__merge(format);
|
|
} else if(range.start >= beginIndex && range.start < endIndex && range.end > beginIndex) {
|
|
newRange = new openfl_text__$internal_TextFormatRange(range.format.clone(),range.start,endIndex);
|
|
newRange.format.__merge(format);
|
|
this.__textEngine.textFormatRanges.insertAt(index,newRange);
|
|
range.start = endIndex;
|
|
++index;
|
|
} else if(range.start < beginIndex && range.end > beginIndex && range.end >= endIndex) {
|
|
newRange = new openfl_text__$internal_TextFormatRange(range.format.clone(),beginIndex,range.end);
|
|
newRange.format.__merge(format);
|
|
this.__textEngine.textFormatRanges.insertAt(index + 1,newRange);
|
|
range.end = beginIndex;
|
|
++index;
|
|
}
|
|
++index;
|
|
}
|
|
}
|
|
this.__dirty = true;
|
|
this.__layoutDirty = true;
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
}
|
|
,__allowMouseFocus: function() {
|
|
if(!(this.__textEngine.type == 1 || this.get_tabEnabled())) {
|
|
return this.get_selectable();
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
,__caretBeginningOfLine: function() {
|
|
if(this.__selectionIndex == this.__caretIndex || this.__caretIndex < this.__selectionIndex) {
|
|
this.__caretIndex = this.getLineOffset(this.getLineIndexOfChar(this.__caretIndex));
|
|
} else {
|
|
this.__selectionIndex = this.getLineOffset(this.getLineIndexOfChar(this.__selectionIndex));
|
|
}
|
|
}
|
|
,__caretEndOfLine: function() {
|
|
var lineIndex;
|
|
if(this.__selectionIndex == this.__caretIndex) {
|
|
lineIndex = this.getLineIndexOfChar(this.__caretIndex);
|
|
} else {
|
|
lineIndex = this.getLineIndexOfChar(Math.max(this.__caretIndex,this.__selectionIndex) | 0);
|
|
}
|
|
if(lineIndex < this.__textEngine.numLines - 1) {
|
|
this.__caretIndex = this.getLineOffset(lineIndex + 1) - 1;
|
|
} else {
|
|
this.__caretIndex = this.__text.length;
|
|
}
|
|
}
|
|
,__caretNextCharacter: function() {
|
|
if(this.__caretIndex < this.__text.length) {
|
|
this.__caretIndex++;
|
|
}
|
|
}
|
|
,__caretNextLine: function(lineIndex,caretIndex) {
|
|
if(lineIndex == null) {
|
|
lineIndex = this.getLineIndexOfChar(this.__caretIndex);
|
|
}
|
|
if(lineIndex < this.__textEngine.numLines - 1) {
|
|
if(caretIndex == null) {
|
|
caretIndex = this.__caretIndex;
|
|
}
|
|
this.__caretIndex = this.__getCharIndexOnDifferentLine(caretIndex,lineIndex + 1);
|
|
} else {
|
|
this.__caretIndex = this.__text.length;
|
|
}
|
|
}
|
|
,__caretPreviousCharacter: function() {
|
|
if(this.__caretIndex > 0) {
|
|
this.__caretIndex--;
|
|
}
|
|
}
|
|
,__caretPreviousLine: function(lineIndex,caretIndex) {
|
|
if(lineIndex == null) {
|
|
lineIndex = this.getLineIndexOfChar(this.__caretIndex);
|
|
}
|
|
if(lineIndex > 0) {
|
|
if(caretIndex == null) {
|
|
caretIndex = this.__caretIndex;
|
|
}
|
|
this.__caretIndex = this.__getCharIndexOnDifferentLine(caretIndex,lineIndex - 1);
|
|
} else {
|
|
this.__caretIndex = 0;
|
|
}
|
|
}
|
|
,__disableInput: function() {
|
|
if(this.__inputEnabled && this.stage != null) {
|
|
this.stage.window.__backend.setTextInputEnabled(false);
|
|
this.stage.window.onTextInput.remove($bind(this,this.window_onTextInput));
|
|
this.stage.window.onKeyDown.remove($bind(this,this.window_onKeyDown));
|
|
this.__inputEnabled = false;
|
|
this.__stopCursorTimer();
|
|
}
|
|
}
|
|
,__dispatch: function(event) {
|
|
if(event.eventPhase == 2 && event.type == "mouseUp") {
|
|
var event1 = event;
|
|
var group = this.__getGroup(this.get_mouseX(),this.get_mouseY(),true);
|
|
if(group != null) {
|
|
var url = group.format.url;
|
|
if(url != null && url != "") {
|
|
if(StringTools.startsWith(url,"event:")) {
|
|
this.dispatchEvent(new openfl_events_TextEvent("link",false,false,HxOverrides.substr(url,6,null)));
|
|
} else {
|
|
openfl_Lib.getURL(new openfl_net_URLRequest(url));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return openfl_display_InteractiveObject.prototype.__dispatch.call(this,event);
|
|
}
|
|
,__enableInput: function() {
|
|
if(this.stage != null) {
|
|
this.stage.window.__backend.setTextInputEnabled(true);
|
|
if(!this.__inputEnabled) {
|
|
this.stage.window.__backend.setTextInputEnabled(true);
|
|
if(!this.stage.window.onTextInput.has($bind(this,this.window_onTextInput))) {
|
|
this.stage.window.onTextInput.add($bind(this,this.window_onTextInput));
|
|
this.stage.window.onKeyDown.add($bind(this,this.window_onKeyDown));
|
|
}
|
|
this.__inputEnabled = true;
|
|
this.__startCursorTimer();
|
|
}
|
|
}
|
|
}
|
|
,__getAdvance: function(position) {
|
|
return position;
|
|
}
|
|
,__getBounds: function(rect,matrix) {
|
|
this.__updateLayout();
|
|
var bounds = openfl_geom_Rectangle.__pool.get();
|
|
bounds.copyFrom(this.__textEngine.bounds);
|
|
matrix.tx += this.__offsetX;
|
|
matrix.ty += this.__offsetY;
|
|
bounds.__transform(bounds,matrix);
|
|
rect.__expand(bounds.x,bounds.y,bounds.width,bounds.height);
|
|
openfl_geom_Rectangle.__pool.release(bounds);
|
|
}
|
|
,__getCharBoundaries: function(charIndex,rect) {
|
|
if(charIndex < 0 || charIndex > this.__text.length - 1) {
|
|
return false;
|
|
}
|
|
this.__updateLayout();
|
|
var group = this.__textEngine.layoutGroups.iterator();
|
|
while(group.hasNext()) {
|
|
var group1 = group.next();
|
|
if(charIndex >= group1.startIndex && charIndex < group1.endIndex) {
|
|
try {
|
|
var x = group1.offsetX;
|
|
var _g = 0;
|
|
var _g1 = charIndex - group1.startIndex;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
x += group1.positions[i];
|
|
}
|
|
var lastPosition = group1.positions[charIndex - group1.startIndex];
|
|
rect.setTo(x,group1.offsetY,lastPosition,group1.ascent + group1.descent);
|
|
return true;
|
|
} catch( _g2 ) {
|
|
haxe_NativeStackTrace.lastError = _g2;
|
|
}
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
,__getCharIndexOnDifferentLine: function(charIndex,lineIndex) {
|
|
if(charIndex < 0 || charIndex > this.__text.length) {
|
|
return -1;
|
|
}
|
|
if(lineIndex < 0 || lineIndex > this.__textEngine.numLines - 1) {
|
|
return -1;
|
|
}
|
|
var x = null;
|
|
var y = null;
|
|
var group = this.__textEngine.layoutGroups.iterator();
|
|
while(group.hasNext()) {
|
|
var group1 = group.next();
|
|
if(charIndex >= group1.startIndex && charIndex <= group1.endIndex) {
|
|
x = group1.offsetX;
|
|
var _g = 0;
|
|
var _g1 = charIndex - group1.startIndex;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
x += group1.positions[i];
|
|
}
|
|
if(y != null) {
|
|
return this.__getPosition(x,y);
|
|
}
|
|
}
|
|
if(group1.lineIndex == lineIndex) {
|
|
y = group1.offsetY + group1.height / 2;
|
|
var _g2 = 0;
|
|
var _g3 = this.get_scrollV() - 1;
|
|
while(_g2 < _g3) {
|
|
var i1 = _g2++;
|
|
y -= this.__textEngine.lineHeights.get(i1);
|
|
}
|
|
if(x != null) {
|
|
return this.__getPosition(x,y);
|
|
}
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
,__getCursor: function() {
|
|
var group = this.__getGroup(this.get_mouseX(),this.get_mouseY(),true);
|
|
if(group != null && group.format.url != "") {
|
|
return "button";
|
|
} else if(this.__textEngine.selectable) {
|
|
return "ibeam";
|
|
}
|
|
return null;
|
|
}
|
|
,__getGroup: function(x,y,precise) {
|
|
if(precise == null) {
|
|
precise = false;
|
|
}
|
|
this.__updateLayout();
|
|
x += this.get_scrollH();
|
|
var _g = 0;
|
|
var _g1 = this.get_scrollV() - 1;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
y += this.__textEngine.lineHeights.get(i);
|
|
}
|
|
if(!precise && y > this.__textEngine.textHeight) {
|
|
y = this.__textEngine.textHeight;
|
|
}
|
|
var firstGroup = true;
|
|
var group;
|
|
var nextGroup;
|
|
var _g = 0;
|
|
var _g1 = this.__textEngine.layoutGroups.get_length();
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
group = this.__textEngine.layoutGroups.get(i);
|
|
if(i < this.__textEngine.layoutGroups.get_length() - 1) {
|
|
nextGroup = this.__textEngine.layoutGroups.get(i + 1);
|
|
} else {
|
|
nextGroup = null;
|
|
}
|
|
if(firstGroup) {
|
|
if(y < group.offsetY) {
|
|
y = group.offsetY;
|
|
}
|
|
if(x < group.offsetX) {
|
|
x = group.offsetX;
|
|
}
|
|
firstGroup = false;
|
|
}
|
|
if(y >= group.offsetY && y <= group.offsetY + group.height || !precise && nextGroup == null) {
|
|
if(x >= group.offsetX && x <= group.offsetX + group.width || !precise && (nextGroup == null || nextGroup.lineIndex != group.lineIndex)) {
|
|
return group;
|
|
}
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
,__getPosition: function(x,y) {
|
|
var group = this.__getGroup(x,y);
|
|
if(group == null) {
|
|
return this.__text.length;
|
|
}
|
|
var advance = 0.0;
|
|
var _g = 0;
|
|
var _g1 = group.positions.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
advance += group.positions[i];
|
|
if(x <= group.offsetX + advance) {
|
|
if(x <= group.offsetX + (advance - group.positions[i]) + group.positions[i] / 2) {
|
|
return group.startIndex + i;
|
|
} else if(group.startIndex + i < group.endIndex) {
|
|
return group.startIndex + i + 1;
|
|
} else {
|
|
return group.endIndex;
|
|
}
|
|
}
|
|
}
|
|
return group.endIndex;
|
|
}
|
|
,__hitTest: function(x,y,shapeFlag,stack,interactiveOnly,hitObject) {
|
|
if(!hitObject.get_visible() || this.__isMask || interactiveOnly && !this.mouseEnabled) {
|
|
return false;
|
|
}
|
|
if(this.get_mask() != null && !this.get_mask().__hitTestMask(x,y)) {
|
|
return false;
|
|
}
|
|
this.__getRenderTransform();
|
|
this.__updateLayout();
|
|
var _this = this.__renderTransform;
|
|
var norm = _this.a * _this.d - _this.b * _this.c;
|
|
var px = norm == 0 ? -_this.tx : 1.0 / norm * (_this.c * (_this.ty - y) + _this.d * (x - _this.tx));
|
|
var _this = this.__renderTransform;
|
|
var norm = _this.a * _this.d - _this.b * _this.c;
|
|
var py = norm == 0 ? -_this.ty : 1.0 / norm * (_this.a * (y - _this.ty) + _this.b * (_this.tx - x));
|
|
if(this.__textEngine.bounds.contains(px,py)) {
|
|
if(stack != null) {
|
|
stack.push(hitObject);
|
|
}
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
,__hitTestMask: function(x,y) {
|
|
this.__getRenderTransform();
|
|
this.__updateLayout();
|
|
var _this = this.__renderTransform;
|
|
var norm = _this.a * _this.d - _this.b * _this.c;
|
|
var px = norm == 0 ? -_this.tx : 1.0 / norm * (_this.c * (_this.ty - y) + _this.d * (x - _this.tx));
|
|
var _this = this.__renderTransform;
|
|
var norm = _this.a * _this.d - _this.b * _this.c;
|
|
var py = norm == 0 ? -_this.ty : 1.0 / norm * (_this.a * (y - _this.ty) + _this.b * (_this.tx - x));
|
|
if(this.__textEngine.bounds.contains(px,py)) {
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
,__renderCairo: function(renderer) {
|
|
}
|
|
,__renderCanvas: function(renderer) {
|
|
if(renderer.__isDOM && !this.__renderedOnCanvasWhileOnDOM) {
|
|
this.__renderedOnCanvasWhileOnDOM = true;
|
|
if(this.get_type() == 1) {
|
|
this.replaceText(0,this.__text.length,this.__text);
|
|
}
|
|
if(this.__isHTML) {
|
|
this.__updateText(openfl__$internal_formats_html_HTMLParser.parse(this.__text,this.__textFormat,this.__textEngine.textFormatRanges));
|
|
}
|
|
this.__dirty = true;
|
|
this.__layoutDirty = true;
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
}
|
|
if(this.get_mask() == null || this.get_mask().get_width() > 0 && this.get_mask().get_height() > 0) {
|
|
this.__updateCacheBitmap(renderer,this.__dirty);
|
|
if(this.__cacheBitmap != null && !this.__isCacheBitmapRender) {
|
|
var bitmap = this.__cacheBitmap;
|
|
if(bitmap.__renderable) {
|
|
var alpha = renderer.__getAlpha(bitmap.__worldAlpha);
|
|
if(alpha > 0 && bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid && bitmap.__bitmapData.readable) {
|
|
var context = renderer.context;
|
|
renderer.__setBlendMode(bitmap.__worldBlendMode);
|
|
renderer.__pushMaskObject(bitmap,false);
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(bitmap.__bitmapData.image);
|
|
context.globalAlpha = alpha;
|
|
var scrollRect = bitmap.__scrollRect;
|
|
renderer.setTransform(bitmap.__renderTransform,context);
|
|
if(!renderer.__allowSmoothing || !bitmap.smoothing) {
|
|
context.imageSmoothingEnabled = false;
|
|
}
|
|
if(scrollRect == null) {
|
|
context.drawImage(bitmap.__bitmapData.image.get_src(),0,0,bitmap.__bitmapData.image.width,bitmap.__bitmapData.image.height);
|
|
} else {
|
|
context.drawImage(bitmap.__bitmapData.image.get_src(),scrollRect.x,scrollRect.y,scrollRect.width,scrollRect.height);
|
|
}
|
|
if(!renderer.__allowSmoothing || !bitmap.smoothing) {
|
|
context.imageSmoothingEnabled = true;
|
|
}
|
|
renderer.__popMaskObject(bitmap,false);
|
|
}
|
|
}
|
|
} else {
|
|
var transform = this.__worldTransform;
|
|
var textEngine = this.__textEngine;
|
|
var bounds = textEngine.background || textEngine.border ? textEngine.bounds : textEngine.textBounds;
|
|
var graphics = this.__graphics;
|
|
if(this.__dirty) {
|
|
this.__updateLayout();
|
|
if(graphics.__bounds == null) {
|
|
graphics.__bounds = new openfl_geom_Rectangle();
|
|
}
|
|
graphics.__bounds.copyFrom(bounds);
|
|
}
|
|
graphics.__update(renderer.__worldTransform);
|
|
if(this.__dirty || graphics.__softwareDirty) {
|
|
var width = graphics.__width;
|
|
var height = graphics.__height;
|
|
if((textEngine.text == null || textEngine.text == "") && !textEngine.background && !textEngine.border && !textEngine.__hasFocus && (textEngine.type != 1 || !textEngine.selectable) || (textEngine.width <= 0 || textEngine.height <= 0) && textEngine.autoSize != 2) {
|
|
this.__graphics.__canvas = null;
|
|
this.__graphics.__context = null;
|
|
this.__graphics.__bitmap = null;
|
|
this.__graphics.__softwareDirty = false;
|
|
this.__graphics.set___dirty(false);
|
|
this.__dirty = false;
|
|
} else {
|
|
if(this.__graphics.__canvas == null) {
|
|
this.__graphics.__canvas = window.document.createElement("canvas");
|
|
this.__graphics.__context = this.__graphics.__canvas.getContext("2d");
|
|
}
|
|
openfl_display__$internal_CanvasTextField.context = graphics.__context;
|
|
var transform = graphics.__renderTransform;
|
|
if(renderer.__isDOM) {
|
|
var scale = renderer.pixelRatio;
|
|
graphics.__canvas.width = width * scale | 0;
|
|
graphics.__canvas.height = height * scale | 0;
|
|
graphics.__canvas.style.width = width + "px";
|
|
graphics.__canvas.style.height = height + "px";
|
|
var matrix = openfl_geom_Matrix.__pool.get();
|
|
matrix.copyFrom(transform);
|
|
matrix.scale(scale,scale);
|
|
renderer.setTransform(matrix,openfl_display__$internal_CanvasTextField.context);
|
|
openfl_geom_Matrix.__pool.release(matrix);
|
|
} else {
|
|
graphics.__canvas.width = width;
|
|
graphics.__canvas.height = height;
|
|
openfl_display__$internal_CanvasTextField.context.setTransform(transform.a,transform.b,transform.c,transform.d,transform.tx,transform.ty);
|
|
}
|
|
if(openfl_display__$internal_CanvasTextField.clearRect == null) {
|
|
openfl_display__$internal_CanvasTextField.clearRect = (typeof navigator !== 'undefined' && typeof navigator['isCocoonJS'] !== 'undefined');
|
|
}
|
|
if(openfl_display__$internal_CanvasTextField.clearRect) {
|
|
openfl_display__$internal_CanvasTextField.context.clearRect(0,0,graphics.__canvas.width,graphics.__canvas.height);
|
|
}
|
|
if(textEngine.text != null && textEngine.text != "" || textEngine.__hasFocus) {
|
|
var text = textEngine.text;
|
|
if(!renderer.__allowSmoothing || textEngine.antiAliasType == 0 && textEngine.sharpness == 400) {
|
|
graphics.__context.imageSmoothingEnabled = false;
|
|
} else {
|
|
graphics.__context.imageSmoothingEnabled = true;
|
|
}
|
|
if(textEngine.border || textEngine.background) {
|
|
openfl_display__$internal_CanvasTextField.context.rect(0.5,0.5,bounds.width - 1,bounds.height - 1);
|
|
if(textEngine.background) {
|
|
var tmp = StringTools.hex(textEngine.backgroundColor & 16777215,6);
|
|
openfl_display__$internal_CanvasTextField.context.fillStyle = "#" + tmp;
|
|
openfl_display__$internal_CanvasTextField.context.fill();
|
|
}
|
|
if(textEngine.border) {
|
|
openfl_display__$internal_CanvasTextField.context.lineWidth = 1;
|
|
var tmp = StringTools.hex(textEngine.borderColor & 16777215,6);
|
|
openfl_display__$internal_CanvasTextField.context.strokeStyle = "#" + tmp;
|
|
openfl_display__$internal_CanvasTextField.context.stroke();
|
|
}
|
|
}
|
|
openfl_display__$internal_CanvasTextField.context.textBaseline = "alphabetic";
|
|
openfl_display__$internal_CanvasTextField.context.textAlign = "start";
|
|
var scrollX = -this.get_scrollH();
|
|
var scrollY = 0.0;
|
|
var _g = 0;
|
|
var _g1 = this.get_scrollV() - 1;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
scrollY -= textEngine.lineHeights.get(i);
|
|
}
|
|
var advance;
|
|
var group = textEngine.layoutGroups.iterator();
|
|
while(group.hasNext()) {
|
|
var group1 = group.next();
|
|
if(group1.lineIndex < this.get_scrollV() - 1) {
|
|
continue;
|
|
}
|
|
if(group1.lineIndex > textEngine.get_bottomScrollV() - 1) {
|
|
break;
|
|
}
|
|
var color = "#" + StringTools.hex(group1.format.color & 16777215,6);
|
|
openfl_display__$internal_CanvasTextField.context.font = openfl_text__$internal_TextEngine.getFont(group1.format);
|
|
openfl_display__$internal_CanvasTextField.context.fillStyle = color;
|
|
openfl_display__$internal_CanvasTextField.context.fillText(text.substring(group1.startIndex,group1.endIndex),group1.offsetX + scrollX - bounds.x,group1.offsetY + group1.ascent + scrollY - bounds.y);
|
|
if(this.__caretIndex > -1 && textEngine.selectable) {
|
|
if(this.__selectionIndex == this.__caretIndex) {
|
|
if(this.__showCursor && group1.startIndex <= this.__caretIndex && group1.endIndex >= this.__caretIndex) {
|
|
advance = 0.0;
|
|
var _g = 0;
|
|
var _g1 = this.__caretIndex - group1.startIndex;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(group1.positions.length <= i) {
|
|
break;
|
|
}
|
|
advance += group1.positions[i];
|
|
}
|
|
var scrollY1 = 0.0;
|
|
var _g2 = this.get_scrollV();
|
|
var _g3 = group1.lineIndex + 1;
|
|
while(_g2 < _g3) {
|
|
var i1 = _g2++;
|
|
scrollY1 += textEngine.lineHeights.get(i1 - 1);
|
|
}
|
|
openfl_display__$internal_CanvasTextField.context.beginPath();
|
|
var tmp = StringTools.hex(group1.format.color & 16777215,6);
|
|
openfl_display__$internal_CanvasTextField.context.strokeStyle = "#" + tmp;
|
|
openfl_display__$internal_CanvasTextField.context.moveTo(group1.offsetX + advance - this.get_scrollH() - bounds.x,scrollY1 + 2 - bounds.y);
|
|
openfl_display__$internal_CanvasTextField.context.lineWidth = 1;
|
|
openfl_display__$internal_CanvasTextField.context.lineTo(group1.offsetX + advance - this.get_scrollH() - bounds.x,scrollY1 + openfl_text__$internal_TextEngine.getFormatHeight(this.get_defaultTextFormat()) - 1 - bounds.y);
|
|
openfl_display__$internal_CanvasTextField.context.stroke();
|
|
openfl_display__$internal_CanvasTextField.context.closePath();
|
|
}
|
|
} else if(group1.startIndex <= this.__caretIndex && group1.endIndex >= this.__caretIndex || group1.startIndex <= this.__selectionIndex && group1.endIndex >= this.__selectionIndex || group1.startIndex > this.__caretIndex && group1.endIndex < this.__selectionIndex || group1.startIndex > this.__selectionIndex && group1.endIndex < this.__caretIndex) {
|
|
var selectionStart = Math.min(this.__selectionIndex,this.__caretIndex) | 0;
|
|
var selectionEnd = Math.max(this.__selectionIndex,this.__caretIndex) | 0;
|
|
if(group1.startIndex > selectionStart) {
|
|
selectionStart = group1.startIndex;
|
|
}
|
|
if(group1.endIndex < selectionEnd) {
|
|
selectionEnd = group1.endIndex;
|
|
}
|
|
var end;
|
|
var start = this.getCharBoundaries(selectionStart);
|
|
if(selectionEnd >= group1.endIndex) {
|
|
end = this.getCharBoundaries(group1.endIndex - 1);
|
|
if(end != null) {
|
|
end.x += end.width + 2;
|
|
}
|
|
} else {
|
|
end = this.getCharBoundaries(selectionEnd);
|
|
}
|
|
if(start != null && end != null) {
|
|
openfl_display__$internal_CanvasTextField.context.fillStyle = "#000000";
|
|
openfl_display__$internal_CanvasTextField.context.fillRect(start.x + scrollX,start.y + scrollY,end.x - start.x,group1.height);
|
|
openfl_display__$internal_CanvasTextField.context.fillStyle = "#FFFFFF";
|
|
openfl_display__$internal_CanvasTextField.context.fillText(text.substring(selectionStart,selectionEnd),scrollX + start.x,group1.offsetY + group1.ascent + scrollY);
|
|
}
|
|
}
|
|
}
|
|
if(group1.format.underline) {
|
|
openfl_display__$internal_CanvasTextField.context.beginPath();
|
|
openfl_display__$internal_CanvasTextField.context.strokeStyle = color;
|
|
openfl_display__$internal_CanvasTextField.context.lineWidth = 1;
|
|
var x = group1.offsetX + scrollX - bounds.x;
|
|
var y = Math.floor(group1.offsetY + scrollY + group1.ascent - bounds.y) + 0.5;
|
|
openfl_display__$internal_CanvasTextField.context.moveTo(x,y);
|
|
openfl_display__$internal_CanvasTextField.context.lineTo(x + group1.width,y);
|
|
openfl_display__$internal_CanvasTextField.context.stroke();
|
|
openfl_display__$internal_CanvasTextField.context.closePath();
|
|
}
|
|
}
|
|
} else {
|
|
if(textEngine.border || textEngine.background) {
|
|
if(textEngine.border) {
|
|
openfl_display__$internal_CanvasTextField.context.rect(0.5,0.5,bounds.width - 1,bounds.height - 1);
|
|
} else {
|
|
openfl_display__$internal_CanvasTextField.context.rect(0,0,bounds.width,bounds.height);
|
|
}
|
|
if(textEngine.background) {
|
|
var tmp = StringTools.hex(textEngine.backgroundColor & 16777215,6);
|
|
openfl_display__$internal_CanvasTextField.context.fillStyle = "#" + tmp;
|
|
openfl_display__$internal_CanvasTextField.context.fill();
|
|
}
|
|
if(textEngine.border) {
|
|
openfl_display__$internal_CanvasTextField.context.lineWidth = 1;
|
|
openfl_display__$internal_CanvasTextField.context.lineCap = "square";
|
|
var tmp = StringTools.hex(textEngine.borderColor & 16777215,6);
|
|
openfl_display__$internal_CanvasTextField.context.strokeStyle = "#" + tmp;
|
|
openfl_display__$internal_CanvasTextField.context.stroke();
|
|
}
|
|
}
|
|
if(this.__caretIndex > -1 && textEngine.selectable && this.__showCursor) {
|
|
var scrollX = -this.get_scrollH();
|
|
var scrollY = 0.0;
|
|
var _g = 0;
|
|
var _g1 = this.get_scrollV() - 1;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
scrollY += textEngine.lineHeights.get(i);
|
|
}
|
|
openfl_display__$internal_CanvasTextField.context.beginPath();
|
|
var tmp = StringTools.hex(this.get_defaultTextFormat().color & 16777215,6);
|
|
openfl_display__$internal_CanvasTextField.context.strokeStyle = "#" + tmp;
|
|
openfl_display__$internal_CanvasTextField.context.moveTo(scrollX + 2.5,scrollY + 2.5);
|
|
openfl_display__$internal_CanvasTextField.context.lineWidth = 1;
|
|
openfl_display__$internal_CanvasTextField.context.lineTo(scrollX + 2.5,scrollY + openfl_text__$internal_TextEngine.getFormatHeight(this.get_defaultTextFormat()) - 1);
|
|
openfl_display__$internal_CanvasTextField.context.stroke();
|
|
openfl_display__$internal_CanvasTextField.context.closePath();
|
|
}
|
|
}
|
|
graphics.__bitmap = openfl_display_BitmapData.fromCanvas(this.__graphics.__canvas);
|
|
graphics.__visible = true;
|
|
this.__dirty = false;
|
|
graphics.__softwareDirty = false;
|
|
graphics.set___dirty(false);
|
|
}
|
|
}
|
|
var smoothingEnabled = false;
|
|
if(this.__textEngine.antiAliasType == 0 && this.__textEngine.gridFitType == 1) {
|
|
smoothingEnabled = renderer.context.imageSmoothingEnabled;
|
|
if(smoothingEnabled) {
|
|
renderer.context.imageSmoothingEnabled = false;
|
|
}
|
|
}
|
|
if(!(this.opaqueBackground == null && this.__graphics == null)) {
|
|
if(this.__renderable) {
|
|
var alpha = renderer.__getAlpha(this.__worldAlpha);
|
|
if(!(alpha <= 0)) {
|
|
if(this.opaqueBackground != null && !this.__isCacheBitmapRender && this.get_width() > 0 && this.get_height() > 0) {
|
|
renderer.__setBlendMode(this.__worldBlendMode);
|
|
renderer.__pushMaskObject(this);
|
|
var context = renderer.context;
|
|
renderer.setTransform(this.__renderTransform,context);
|
|
var color = this.opaqueBackground;
|
|
context.fillStyle = "rgb(" + (color >>> 16 & 255) + "," + (color >>> 8 & 255) + "," + (color & 255) + ")";
|
|
context.fillRect(0,0,this.get_width(),this.get_height());
|
|
renderer.__popMaskObject(this);
|
|
}
|
|
if(this.__graphics != null) {
|
|
if(this.__renderable) {
|
|
var alpha = renderer.__getAlpha(this.__worldAlpha);
|
|
if(!(alpha <= 0)) {
|
|
var graphics = this.__graphics;
|
|
if(graphics != null) {
|
|
openfl_display__$internal_CanvasGraphics.render(graphics,renderer);
|
|
var width = graphics.__width;
|
|
var height = graphics.__height;
|
|
var canvas = graphics.__canvas;
|
|
if(canvas != null && graphics.__visible && width >= 1 && height >= 1) {
|
|
var transform = graphics.__worldTransform;
|
|
var context = renderer.context;
|
|
var scrollRect = this.__scrollRect;
|
|
var scale9Grid = this.__worldScale9Grid;
|
|
if(scrollRect == null || scrollRect.width > 0 && scrollRect.height > 0) {
|
|
renderer.__setBlendMode(this.__worldBlendMode);
|
|
renderer.__pushMaskObject(this);
|
|
context.globalAlpha = alpha;
|
|
if(scale9Grid != null && transform.b == 0 && transform.c == 0) {
|
|
context.setTransform(1,0,0,1,transform.tx,transform.ty);
|
|
var bounds = graphics.__bounds;
|
|
var scaleX = graphics.__renderTransform.a;
|
|
var scaleY = graphics.__renderTransform.d;
|
|
var renderScaleX = transform.a;
|
|
var renderScaleY = transform.d;
|
|
var left = Math.max(1,Math.round(scale9Grid.x * scaleX));
|
|
var top = Math.round(scale9Grid.y * scaleY);
|
|
var right = Math.max(1,Math.round((bounds.get_right() - scale9Grid.get_right()) * scaleX));
|
|
var bottom = Math.round((bounds.get_bottom() - scale9Grid.get_bottom()) * scaleY);
|
|
var centerWidth = Math.round(scale9Grid.width * scaleX);
|
|
var centerHeight = Math.round(scale9Grid.height * scaleY);
|
|
var renderLeft = Math.round(scale9Grid.x * renderScaleX);
|
|
var renderTop = Math.round(scale9Grid.y * renderScaleY);
|
|
var renderRight = Math.round((bounds.get_right() - scale9Grid.get_right()) * renderScaleX);
|
|
var renderBottom = Math.round((bounds.get_bottom() - scale9Grid.get_bottom()) * renderScaleY);
|
|
var renderCenterWidth = Math.round(width * renderScaleX) - renderLeft - renderRight;
|
|
var renderCenterHeight = Math.round(height * renderScaleY) - renderTop - renderBottom;
|
|
renderer.applySmoothing(context,false);
|
|
if(centerWidth != 0 && centerHeight != 0) {
|
|
context.drawImage(canvas,0,0,left,top,0,0,renderLeft,renderTop);
|
|
context.drawImage(canvas,left,0,centerWidth,top,renderLeft,0,renderCenterWidth,renderTop);
|
|
context.drawImage(canvas,left + centerWidth,0,right,top,renderLeft + renderCenterWidth,0,renderRight,renderTop);
|
|
context.drawImage(canvas,0,top,left,centerHeight,0,renderTop,renderLeft,renderCenterHeight);
|
|
context.drawImage(canvas,left,top,centerWidth,centerHeight,renderLeft,renderTop,renderCenterWidth,renderCenterHeight);
|
|
context.drawImage(canvas,left + centerWidth,top,right,centerHeight,renderLeft + renderCenterWidth,renderTop,renderRight,renderCenterHeight);
|
|
context.drawImage(canvas,0,top + centerHeight,left,bottom,0,renderTop + renderCenterHeight,renderLeft,renderBottom);
|
|
context.drawImage(canvas,left,top + centerHeight,centerWidth,bottom,renderLeft,renderTop + renderCenterHeight,renderCenterWidth,renderBottom);
|
|
context.drawImage(canvas,left + centerWidth,top + centerHeight,right,bottom,renderLeft + renderCenterWidth,renderTop + renderCenterHeight,renderRight,renderBottom);
|
|
} else if(centerWidth == 0 && centerHeight != 0) {
|
|
var renderWidth = renderLeft + renderCenterWidth + renderRight;
|
|
context.drawImage(canvas,0,0,width,top,0,0,renderWidth,renderTop);
|
|
context.drawImage(canvas,0,top,width,centerHeight,0,renderTop,renderWidth,renderCenterHeight);
|
|
context.drawImage(canvas,0,top + centerHeight,width,bottom,0,renderTop + renderCenterHeight,renderWidth,renderBottom);
|
|
} else if(centerHeight == 0 && centerWidth != 0) {
|
|
var renderHeight = renderTop + renderCenterHeight + renderBottom;
|
|
context.drawImage(canvas,0,0,left,height,0,0,renderLeft,renderHeight);
|
|
context.drawImage(canvas,left,0,centerWidth,height,renderLeft,0,renderCenterWidth,renderHeight);
|
|
context.drawImage(canvas,left + centerWidth,0,right,height,renderLeft + renderCenterWidth,0,renderRight,renderHeight);
|
|
}
|
|
} else {
|
|
renderer.setTransform(transform,context);
|
|
if(renderer.__isDOM) {
|
|
var reverseScale = 1 / renderer.pixelRatio;
|
|
context.scale(reverseScale,reverseScale);
|
|
}
|
|
context.drawImage(canvas,0,0,width,height);
|
|
}
|
|
renderer.__popMaskObject(this);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if(smoothingEnabled) {
|
|
renderer.context.imageSmoothingEnabled = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,__renderDOM: function(renderer) {
|
|
this.__domRender = true;
|
|
this.__updateCacheBitmap(renderer,this.__forceCachedBitmapUpdate);
|
|
this.__forceCachedBitmapUpdate = false;
|
|
this.__domRender = false;
|
|
if(this.__cacheBitmap != null && !this.__isCacheBitmapRender) {
|
|
this.__renderDOMClear(renderer);
|
|
this.__cacheBitmap.stage = this.stage;
|
|
var bitmap = this.__cacheBitmap;
|
|
if(bitmap.stage != null && bitmap.__worldVisible && bitmap.__renderable && bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid && bitmap.__bitmapData.readable) {
|
|
renderer.__pushMaskObject(bitmap);
|
|
if(bitmap.__bitmapData.image.buffer.__srcImage != null) {
|
|
openfl_display__$internal_DOMBitmap.renderImage(bitmap,renderer);
|
|
} else {
|
|
openfl_display__$internal_DOMBitmap.renderCanvas(bitmap,renderer);
|
|
}
|
|
renderer.__popMaskObject(bitmap);
|
|
} else {
|
|
openfl_display__$internal_DOMBitmap.clear(bitmap,renderer);
|
|
}
|
|
} else {
|
|
if(this.__renderedOnCanvasWhileOnDOM) {
|
|
this.__renderedOnCanvasWhileOnDOM = false;
|
|
if(this.__isHTML && this.__rawHtmlText != null) {
|
|
this.__updateText(this.__rawHtmlText);
|
|
this.__dirty = true;
|
|
this.__layoutDirty = true;
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
}
|
|
}
|
|
var textField = this;
|
|
var textEngine = textField.__textEngine;
|
|
if(textField.stage != null && textField.__worldVisible && textField.__renderable) {
|
|
if(textField.__dirty || textField.__renderTransformChanged || textField.__div == null) {
|
|
if(textEngine.text != "" || textEngine.background || textEngine.border || textEngine.type == 1) {
|
|
if(textField.__div == null) {
|
|
textField.__div = window.document.createElement("div");
|
|
renderer.__initializeElement(textField,textField.__div);
|
|
textField.__style.setProperty("outline","none",null);
|
|
textField.__div.addEventListener("input",function(event) {
|
|
event.preventDefault();
|
|
if(textField.get_htmlText() != textField.__div.innerHTML) {
|
|
textField.set_htmlText(textField.__div.innerHTML);
|
|
var textField1 = textField.__displayAsPassword;
|
|
textField.__dirty = false;
|
|
textField.dispatchEvent(new openfl_events_TextEvent("textInput",false,false,textField.get_htmlText()));
|
|
}
|
|
},true);
|
|
}
|
|
if(!textEngine.wordWrap) {
|
|
textField.__style.setProperty("white-space","nowrap",null);
|
|
} else {
|
|
textField.__style.setProperty("word-wrap","break-word",null);
|
|
}
|
|
textField.__style.setProperty("overflow","hidden",null);
|
|
if(textEngine.selectable) {
|
|
textField.__style.setProperty("cursor","text",null);
|
|
textField.__style.setProperty("-webkit-user-select","text",null);
|
|
textField.__style.setProperty("-moz-user-select","text",null);
|
|
textField.__style.setProperty("-ms-user-select","text",null);
|
|
textField.__style.setProperty("-o-user-select","text",null);
|
|
} else {
|
|
textField.__style.setProperty("cursor","inherit",null);
|
|
}
|
|
var div = textField.__div;
|
|
div.contentEditable = textEngine.type == 1;
|
|
var style = textField.__style;
|
|
if(textEngine.background) {
|
|
style.setProperty("background-color","#" + StringTools.hex(textEngine.backgroundColor & 16777215,6),null);
|
|
} else {
|
|
style.removeProperty("background-color");
|
|
}
|
|
var w = textEngine.width;
|
|
var h = textEngine.height;
|
|
var scale = 1;
|
|
var unscaledSize = textField.__textFormat.size;
|
|
var scaledSize = unscaledSize;
|
|
var t = textField.__renderTransform;
|
|
if(t.a != 1.0 || t.d != 1.0) {
|
|
if(t.a == t.d) {
|
|
scale = t.a;
|
|
t.a = t.d = 1.0;
|
|
} else if(t.a > t.d) {
|
|
scale = t.a;
|
|
t.d /= t.a;
|
|
t.a = 1.0;
|
|
} else {
|
|
scale = t.d;
|
|
t.a /= t.d;
|
|
t.d = 1.0;
|
|
}
|
|
scaledSize *= scale;
|
|
w = Math.ceil(w * scale);
|
|
h = Math.ceil(h * scale);
|
|
}
|
|
textField.__textFormat.size = scaledSize;
|
|
var text = textEngine.text;
|
|
var adjustment = 0;
|
|
if(!textField.__isHTML) {
|
|
text = StringTools.htmlEscape(text);
|
|
} else {
|
|
var matchText = text;
|
|
while(openfl_display__$internal_DOMTextField.__regexFont.match(matchText)) {
|
|
var fontText = openfl_display__$internal_DOMTextField.__regexFont.matched(0);
|
|
var style1 = "";
|
|
if(openfl_display__$internal_DOMTextField.__regexFace.match(fontText)) {
|
|
style1 += "font-family:'" + openfl_display__$internal_DOMTextField.__getAttributeMatch(openfl_display__$internal_DOMTextField.__regexFace) + "';";
|
|
}
|
|
if(openfl_display__$internal_DOMTextField.__regexColor.match(fontText)) {
|
|
style1 += "color:#" + openfl_display__$internal_DOMTextField.__getAttributeMatch(openfl_display__$internal_DOMTextField.__regexColor) + ";";
|
|
}
|
|
if(openfl_display__$internal_DOMTextField.__regexSize.match(fontText)) {
|
|
var sizeAttr = openfl_display__$internal_DOMTextField.__getAttributeMatch(openfl_display__$internal_DOMTextField.__regexSize);
|
|
var firstChar = HxOverrides.cca(sizeAttr,0);
|
|
var size;
|
|
adjustment = parseFloat(sizeAttr) * scale;
|
|
if(firstChar == 43 || firstChar == 45) {
|
|
size = scaledSize + adjustment;
|
|
} else {
|
|
size = adjustment;
|
|
}
|
|
style1 += "font-size:" + size + "px;";
|
|
}
|
|
text = StringTools.replace(text,fontText,"<span style='" + style1 + "'>");
|
|
matchText = openfl_display__$internal_DOMTextField.__regexFont.matchedRight();
|
|
}
|
|
text = text.replace(openfl_display__$internal_DOMTextField.__regexCloseFont.r,"</span>");
|
|
}
|
|
text = StringTools.replace(text,"<p ","<p style='margin-top:0; margin-bottom:0;' ");
|
|
var unscaledLeading = textField.__textFormat.leading;
|
|
textField.__textFormat.leading += adjustment | 0;
|
|
var _this_r = new RegExp("\r\n","g".split("u").join(""));
|
|
var tmp = text.replace(_this_r,"<br>");
|
|
textField.__div.innerHTML = tmp;
|
|
var _this_r = new RegExp("\n","g".split("u").join(""));
|
|
var tmp = textField.__div.innerHTML.replace(_this_r,"<br>");
|
|
textField.__div.innerHTML = tmp;
|
|
var _this_r = new RegExp("\r","g".split("u").join(""));
|
|
var tmp = textField.__div.innerHTML.replace(_this_r,"<br>");
|
|
textField.__div.innerHTML = tmp;
|
|
style.setProperty("font",openfl_text__$internal_TextEngine.getFont(textField.__textFormat),null);
|
|
textField.__textFormat.size = unscaledSize;
|
|
textField.__textFormat.leading = unscaledLeading;
|
|
style.setProperty("top","3px",null);
|
|
if(textEngine.border) {
|
|
style.setProperty("border","solid 1px #" + StringTools.hex(textEngine.borderColor & 16777215,6),null);
|
|
textField.__renderTransform.translate(-1,-1);
|
|
textField.__renderTransformChanged = true;
|
|
textField.__transformDirty = true;
|
|
} else if(style.border != "") {
|
|
style.removeProperty("border");
|
|
textField.__renderTransformChanged = true;
|
|
}
|
|
style.setProperty("color","#" + StringTools.hex(textField.__textFormat.color & 16777215,6),null);
|
|
style.setProperty("width",w + "px",null);
|
|
style.setProperty("height",h + "px",null);
|
|
switch(textField.__textFormat.align) {
|
|
case 0:
|
|
style.setProperty("text-align","center",null);
|
|
break;
|
|
case 4:
|
|
style.setProperty("text-align","right",null);
|
|
break;
|
|
default:
|
|
style.setProperty("text-align","left",null);
|
|
}
|
|
textField.__dirty = false;
|
|
} else if(textField.__div != null) {
|
|
renderer.element.removeChild(textField.__div);
|
|
textField.__div = null;
|
|
}
|
|
}
|
|
if(textField.__div != null) {
|
|
var old = renderer.__roundPixels;
|
|
renderer.__roundPixels = true;
|
|
renderer.__updateClip(textField);
|
|
renderer.__applyStyle(textField,true,true,true);
|
|
renderer.__roundPixels = old;
|
|
}
|
|
} else {
|
|
openfl_display__$internal_DOMTextField.clear(textField,renderer);
|
|
}
|
|
}
|
|
this.__renderEvent(renderer);
|
|
}
|
|
,__renderDOMClear: function(renderer) {
|
|
openfl_display__$internal_DOMTextField.clear(this,renderer);
|
|
}
|
|
,__renderGL: function(renderer) {
|
|
this.__updateCacheBitmap(renderer,false);
|
|
if(this.__cacheBitmap != null && !this.__isCacheBitmapRender) {
|
|
openfl_display__$internal_Context3DBitmap.render(this.__cacheBitmap,renderer);
|
|
} else {
|
|
openfl_display__$internal_Context3DTextField.render(this,renderer);
|
|
if(!(this.opaqueBackground == null && this.__graphics == null)) {
|
|
if(!(!this.__renderable || this.__worldAlpha <= 0)) {
|
|
if(this.opaqueBackground != null && !this.__isCacheBitmapRender && this.get_width() > 0 && this.get_height() > 0) {
|
|
renderer.__setBlendMode(this.__worldBlendMode);
|
|
renderer.__pushMaskObject(this);
|
|
var context = renderer.__context3D;
|
|
var rect = openfl_geom_Rectangle.__pool.get();
|
|
rect.setTo(0,0,this.get_width(),this.get_height());
|
|
renderer.__pushMaskRect(rect,this.__renderTransform);
|
|
var color = this.opaqueBackground;
|
|
context.clear((color >>> 16 & 255) / 255,(color >>> 8 & 255) / 255,(color & 255) / 255,1,0,0,1);
|
|
renderer.__popMaskRect();
|
|
renderer.__popMaskObject(this);
|
|
openfl_geom_Rectangle.__pool.release(rect);
|
|
}
|
|
if(this.__graphics != null) {
|
|
openfl_display__$internal_Context3DShape.render(this,renderer);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
this.__renderEvent(renderer);
|
|
}
|
|
,__renderGLMask: function(renderer) {
|
|
openfl_display__$internal_Context3DTextField.renderMask(this,renderer);
|
|
openfl_display_InteractiveObject.prototype.__renderGLMask.call(this,renderer);
|
|
}
|
|
,__replaceSelectedText: function(value,restrict) {
|
|
if(restrict == null) {
|
|
restrict = true;
|
|
}
|
|
if(value == null) {
|
|
value = "";
|
|
}
|
|
if(value == "" && this.__selectionIndex == this.__caretIndex) {
|
|
return;
|
|
}
|
|
var startIndex = this.__caretIndex < this.__selectionIndex ? this.__caretIndex : this.__selectionIndex;
|
|
var endIndex = this.__caretIndex > this.__selectionIndex ? this.__caretIndex : this.__selectionIndex;
|
|
if(startIndex == endIndex && this.__textEngine.maxChars > 0 && this.__text.length == this.__textEngine.maxChars) {
|
|
return;
|
|
}
|
|
if(startIndex > this.__text.length) {
|
|
startIndex = this.__text.length;
|
|
}
|
|
if(endIndex > this.__text.length) {
|
|
endIndex = this.__text.length;
|
|
}
|
|
if(endIndex < startIndex) {
|
|
var cache = endIndex;
|
|
endIndex = startIndex;
|
|
startIndex = cache;
|
|
}
|
|
if(startIndex < 0) {
|
|
startIndex = 0;
|
|
}
|
|
this.__replaceText(startIndex,endIndex,value,restrict);
|
|
var i = startIndex + (js_Boot.__cast(value , String)).length;
|
|
if(i > this.__text.length) {
|
|
i = this.__text.length;
|
|
}
|
|
this.setSelection(i,i);
|
|
this.__updateScrollH();
|
|
}
|
|
,__replaceText: function(beginIndex,endIndex,newText,restrict) {
|
|
if(endIndex < beginIndex || beginIndex < 0 || endIndex > this.__text.length || newText == null) {
|
|
return;
|
|
}
|
|
if(restrict) {
|
|
newText = this.__textEngine.restrictText(newText);
|
|
if(this.__textEngine.maxChars > 0) {
|
|
var removeLength = endIndex - beginIndex;
|
|
var maxLength = this.__textEngine.maxChars - this.__text.length + removeLength;
|
|
if(maxLength <= 0) {
|
|
newText = "";
|
|
} else if(maxLength < newText.length) {
|
|
newText = HxOverrides.substr(newText,0,maxLength);
|
|
}
|
|
}
|
|
}
|
|
this.__updateText(this.__text.substring(0,beginIndex) + newText + this.__text.substring(endIndex));
|
|
if(endIndex > this.__text.length) {
|
|
endIndex = this.__text.length;
|
|
}
|
|
var offset = newText.length - (endIndex - beginIndex);
|
|
var i = 0;
|
|
var range;
|
|
while(i < this.__textEngine.textFormatRanges.get_length()) {
|
|
range = this.__textEngine.textFormatRanges.get(i);
|
|
if(range.start <= beginIndex && range.end >= endIndex) {
|
|
range.end += offset;
|
|
++i;
|
|
} else if(range.start >= beginIndex && range.end <= endIndex) {
|
|
if(i > 0) {
|
|
this.__textEngine.textFormatRanges.splice(i,1);
|
|
} else {
|
|
range.start = 0;
|
|
range.end = beginIndex + newText.length;
|
|
++i;
|
|
}
|
|
offset -= range.end - range.start;
|
|
} else if(range.start > beginIndex && range.start <= endIndex) {
|
|
range.start += offset;
|
|
++i;
|
|
} else {
|
|
++i;
|
|
}
|
|
}
|
|
this.__updateScrollV();
|
|
this.__updateScrollH();
|
|
this.__dirty = true;
|
|
this.__layoutDirty = true;
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
}
|
|
,__shouldCacheHardware: function(value) {
|
|
if(value == true) {
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,__startCursorTimer: function() {
|
|
this.__cursorTimer = haxe_Timer.delay($bind(this,this.__startCursorTimer),600);
|
|
this.__showCursor = !this.__showCursor;
|
|
this.__dirty = true;
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
}
|
|
,__startTextInput: function() {
|
|
if(this.__caretIndex < 0) {
|
|
this.__caretIndex = this.__text.length;
|
|
this.__selectionIndex = this.__caretIndex;
|
|
}
|
|
var enableInput = openfl_display_DisplayObject.__supportDOM ? this.__renderedOnCanvasWhileOnDOM : true;
|
|
if(enableInput) {
|
|
this.__enableInput();
|
|
}
|
|
}
|
|
,__stopCursorTimer: function() {
|
|
if(this.__cursorTimer != null) {
|
|
this.__cursorTimer.stop();
|
|
this.__cursorTimer = null;
|
|
}
|
|
if(this.__showCursor) {
|
|
this.__showCursor = false;
|
|
this.__dirty = true;
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
}
|
|
}
|
|
,__stopTextInput: function() {
|
|
var disableInput = openfl_display_DisplayObject.__supportDOM ? this.__renderedOnCanvasWhileOnDOM : true;
|
|
if(disableInput) {
|
|
this.__disableInput();
|
|
}
|
|
}
|
|
,__updateCacheBitmap: function(renderer,force) {
|
|
if(this.__filters == null && renderer.__type == "opengl" && this.__cacheBitmap == null && !this.__domRender) {
|
|
return false;
|
|
}
|
|
if(force) {
|
|
this.__renderDirty = true;
|
|
}
|
|
if(openfl_display_InteractiveObject.prototype.__updateCacheBitmap.call(this,renderer,force || this.__dirty)) {
|
|
if(this.__cacheBitmap != null) {
|
|
this.__cacheBitmap.__renderTransform.tx -= this.__offsetX;
|
|
this.__cacheBitmap.__renderTransform.ty -= this.__offsetY;
|
|
}
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
,__updateLayout: function() {
|
|
if(this.__layoutDirty) {
|
|
var cacheWidth = this.__textEngine.width;
|
|
this.__textEngine.update();
|
|
if(this.__textEngine.autoSize != 2) {
|
|
if(this.__textEngine.width != cacheWidth) {
|
|
switch(this.__textEngine.autoSize) {
|
|
case 0:
|
|
var _g = this;
|
|
_g.set_x(_g.get_x() + (cacheWidth - this.__textEngine.width) / 2);
|
|
break;
|
|
case 3:
|
|
var _g = this;
|
|
_g.set_x(_g.get_x() + (cacheWidth - this.__textEngine.width));
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
this.__textEngine.getBounds();
|
|
}
|
|
this.__layoutDirty = false;
|
|
}
|
|
}
|
|
,__updateScrollH: function() {
|
|
if(!this.get_multiline() && this.get_type() == 1) {
|
|
this.__layoutDirty = true;
|
|
this.__updateLayout();
|
|
var offsetX = this.__textEngine.textWidth - this.__textEngine.width + 4;
|
|
if(offsetX > 0) {
|
|
if(this.__caretIndex >= this.get_text().length) {
|
|
this.set_scrollH(Math.ceil(offsetX));
|
|
} else {
|
|
var caret = openfl_geom_Rectangle.__pool.get();
|
|
this.__getCharBoundaries(this.__caretIndex,caret);
|
|
if(caret.x < this.get_scrollH()) {
|
|
this.set_scrollH(Math.floor(caret.x - 2));
|
|
} else if(caret.x > this.get_scrollH() + this.__textEngine.width) {
|
|
this.set_scrollH(Math.ceil(caret.x - this.__textEngine.width - 2));
|
|
}
|
|
openfl_geom_Rectangle.__pool.release(caret);
|
|
}
|
|
} else {
|
|
this.set_scrollH(0);
|
|
}
|
|
}
|
|
}
|
|
,__updateScrollV: function() {
|
|
this.__layoutDirty = true;
|
|
this.__updateLayout();
|
|
var lineIndex = this.getLineIndexOfChar(this.__caretIndex);
|
|
if(lineIndex == -1 && this.__caretIndex > 0) {
|
|
lineIndex = this.getLineIndexOfChar(this.__caretIndex - 1) + 1;
|
|
}
|
|
if(lineIndex + 1 < this.get_scrollV()) {
|
|
this.set_scrollV(lineIndex + 1);
|
|
} else if(lineIndex + 1 > this.get_bottomScrollV()) {
|
|
var i = lineIndex;
|
|
var tempHeight = 0.0;
|
|
while(i >= 0) if(tempHeight + this.__textEngine.lineHeights.get(i) <= this.get_height() - 4) {
|
|
tempHeight += this.__textEngine.lineHeights.get(i);
|
|
--i;
|
|
} else {
|
|
break;
|
|
}
|
|
this.set_scrollV(i + 2);
|
|
} else {
|
|
this.set_scrollV(this.get_scrollV());
|
|
}
|
|
}
|
|
,__updateText: function(value) {
|
|
if(openfl_display_DisplayObject.__supportDOM && this.__renderedOnCanvasWhileOnDOM) {
|
|
this.__forceCachedBitmapUpdate = this.__text != value;
|
|
}
|
|
this.__textEngine.set_text(value);
|
|
this.__text = this.__textEngine.text;
|
|
if(this.__text.length < this.__caretIndex) {
|
|
this.__selectionIndex = this.__caretIndex = this.__text.length;
|
|
}
|
|
if(!this.__displayAsPassword || openfl_display_DisplayObject.__supportDOM && !this.__renderedOnCanvasWhileOnDOM) {
|
|
this.__textEngine.set_text(this.__text);
|
|
} else {
|
|
var length = this.get_text().length;
|
|
var mask = "";
|
|
var _g = 0;
|
|
var _g1 = length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
mask += "*";
|
|
}
|
|
this.__textEngine.set_text(mask);
|
|
}
|
|
}
|
|
,__updateTransforms: function(overrideTransform) {
|
|
openfl_display_InteractiveObject.prototype.__updateTransforms.call(this,overrideTransform);
|
|
var _this = this.__renderTransform;
|
|
var px = this.__offsetX;
|
|
var py = this.__offsetY;
|
|
_this.tx = px * _this.a + py * _this.c + _this.tx;
|
|
_this.ty = px * _this.b + py * _this.d + _this.ty;
|
|
}
|
|
,get_antiAliasType: function() {
|
|
return this.__textEngine.antiAliasType;
|
|
}
|
|
,set_antiAliasType: function(value) {
|
|
var tmp = value != this.__textEngine.antiAliasType;
|
|
return this.__textEngine.antiAliasType = value;
|
|
}
|
|
,get_autoSize: function() {
|
|
return this.__textEngine.autoSize;
|
|
}
|
|
,set_autoSize: function(value) {
|
|
if(value != this.__textEngine.autoSize) {
|
|
this.__dirty = true;
|
|
this.__layoutDirty = true;
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
}
|
|
return this.__textEngine.autoSize = value;
|
|
}
|
|
,get_background: function() {
|
|
return this.__textEngine.background;
|
|
}
|
|
,set_background: function(value) {
|
|
if(value != this.__textEngine.background) {
|
|
this.__dirty = true;
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
}
|
|
return this.__textEngine.background = value;
|
|
}
|
|
,get_backgroundColor: function() {
|
|
return this.__textEngine.backgroundColor;
|
|
}
|
|
,set_backgroundColor: function(value) {
|
|
if(value != this.__textEngine.backgroundColor) {
|
|
this.__dirty = true;
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
}
|
|
return this.__textEngine.backgroundColor = value;
|
|
}
|
|
,get_border: function() {
|
|
return this.__textEngine.border;
|
|
}
|
|
,set_border: function(value) {
|
|
if(value != this.__textEngine.border) {
|
|
this.__dirty = true;
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
}
|
|
return this.__textEngine.border = value;
|
|
}
|
|
,get_borderColor: function() {
|
|
return this.__textEngine.borderColor;
|
|
}
|
|
,set_borderColor: function(value) {
|
|
if(value != this.__textEngine.borderColor) {
|
|
this.__dirty = true;
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
}
|
|
return this.__textEngine.borderColor = value;
|
|
}
|
|
,get_bottomScrollV: function() {
|
|
this.__updateLayout();
|
|
return this.__textEngine.get_bottomScrollV();
|
|
}
|
|
,get_caretIndex: function() {
|
|
return this.__caretIndex;
|
|
}
|
|
,get_defaultTextFormat: function() {
|
|
return this.__textFormat.clone();
|
|
}
|
|
,set_defaultTextFormat: function(value) {
|
|
this.__textFormat.__merge(value);
|
|
this.__layoutDirty = true;
|
|
this.__dirty = true;
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
return value;
|
|
}
|
|
,get_displayAsPassword: function() {
|
|
return this.__displayAsPassword;
|
|
}
|
|
,set_displayAsPassword: function(value) {
|
|
if(value != this.__displayAsPassword) {
|
|
this.__dirty = true;
|
|
this.__layoutDirty = true;
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
this.__displayAsPassword = value;
|
|
this.__updateText(this.__text);
|
|
}
|
|
return value;
|
|
}
|
|
,get_embedFonts: function() {
|
|
return this.__textEngine.embedFonts;
|
|
}
|
|
,set_embedFonts: function(value) {
|
|
return this.__textEngine.embedFonts = value;
|
|
}
|
|
,get_gridFitType: function() {
|
|
return this.__textEngine.gridFitType;
|
|
}
|
|
,set_gridFitType: function(value) {
|
|
return this.__textEngine.gridFitType = value;
|
|
}
|
|
,get_height: function() {
|
|
this.__updateLayout();
|
|
return this.__textEngine.height * Math.abs(this.get_scaleY());
|
|
}
|
|
,set_height: function(value) {
|
|
if(value != this.__textEngine.height) {
|
|
this.__setTransformDirty();
|
|
this.__dirty = true;
|
|
this.__layoutDirty = true;
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
this.__textEngine.height = value;
|
|
}
|
|
return this.__textEngine.height * Math.abs(this.get_scaleY());
|
|
}
|
|
,get_htmlText: function() {
|
|
if(this.__isHTML) {
|
|
return this.__rawHtmlText;
|
|
} else {
|
|
return this.__text;
|
|
}
|
|
}
|
|
,set_htmlText: function(value) {
|
|
if(!this.__isHTML || this.__text != value) {
|
|
this.__dirty = true;
|
|
this.__layoutDirty = true;
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
}
|
|
this.__isHTML = true;
|
|
this.__rawHtmlText = value;
|
|
value = openfl__$internal_formats_html_HTMLParser.parse(value,this.__textFormat,this.__textEngine.textFormatRanges);
|
|
if(openfl_display_DisplayObject.__supportDOM) {
|
|
if(this.__textEngine.textFormatRanges.get_length() > 1) {
|
|
this.__textEngine.textFormatRanges.splice(1,this.__textEngine.textFormatRanges.get_length() - 1);
|
|
}
|
|
var range = this.__textEngine.textFormatRanges.get(0);
|
|
range.format = this.__textFormat;
|
|
range.start = 0;
|
|
if(this.__renderedOnCanvasWhileOnDOM) {
|
|
range.end = value.length;
|
|
this.__updateText(value);
|
|
} else {
|
|
range.end = this.__rawHtmlText.length;
|
|
this.__updateText(this.__rawHtmlText);
|
|
}
|
|
} else {
|
|
this.__updateText(value);
|
|
}
|
|
this.__updateScrollV();
|
|
return value;
|
|
}
|
|
,get_length: function() {
|
|
if(this.__text != null) {
|
|
return this.__text.length;
|
|
}
|
|
return 0;
|
|
}
|
|
,get_maxChars: function() {
|
|
return this.__textEngine.maxChars;
|
|
}
|
|
,set_maxChars: function(value) {
|
|
if(value != this.__textEngine.maxChars) {
|
|
this.__textEngine.maxChars = value;
|
|
this.__dirty = true;
|
|
this.__layoutDirty = true;
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
}
|
|
return value;
|
|
}
|
|
,get_maxScrollH: function() {
|
|
this.__updateLayout();
|
|
return this.__textEngine.maxScrollH;
|
|
}
|
|
,get_maxScrollV: function() {
|
|
this.__updateLayout();
|
|
return this.__textEngine.get_maxScrollV();
|
|
}
|
|
,get_mouseWheelEnabled: function() {
|
|
return this.__mouseWheelEnabled;
|
|
}
|
|
,set_mouseWheelEnabled: function(value) {
|
|
return this.__mouseWheelEnabled = value;
|
|
}
|
|
,get_multiline: function() {
|
|
return this.__textEngine.multiline;
|
|
}
|
|
,set_multiline: function(value) {
|
|
if(value != this.__textEngine.multiline) {
|
|
this.__dirty = true;
|
|
this.__layoutDirty = true;
|
|
this.__updateText(this.__text);
|
|
this.__updateScrollH();
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
}
|
|
return this.__textEngine.multiline = value;
|
|
}
|
|
,get_numLines: function() {
|
|
this.__updateLayout();
|
|
return this.__textEngine.numLines;
|
|
}
|
|
,get_restrict: function() {
|
|
return this.__textEngine.restrict;
|
|
}
|
|
,set_restrict: function(value) {
|
|
if(this.__textEngine.restrict != value) {
|
|
this.__textEngine.set_restrict(value);
|
|
this.__updateText(this.__text);
|
|
}
|
|
return value;
|
|
}
|
|
,get_scrollH: function() {
|
|
return this.__textEngine.scrollH;
|
|
}
|
|
,set_scrollH: function(value) {
|
|
this.__updateLayout();
|
|
if(value > this.__textEngine.maxScrollH) {
|
|
value = this.__textEngine.maxScrollH;
|
|
}
|
|
if(value < 0) {
|
|
value = 0;
|
|
}
|
|
if(value != this.__textEngine.scrollH) {
|
|
this.__dirty = true;
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
this.__textEngine.scrollH = value;
|
|
this.dispatchEvent(new openfl_events_Event("scroll"));
|
|
}
|
|
return this.__textEngine.scrollH;
|
|
}
|
|
,get_scrollV: function() {
|
|
return this.__textEngine.get_scrollV();
|
|
}
|
|
,set_scrollV: function(value) {
|
|
this.__updateLayout();
|
|
if(value > 0 && value != this.__textEngine.get_scrollV()) {
|
|
this.__dirty = true;
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
this.__textEngine.set_scrollV(value);
|
|
this.dispatchEvent(new openfl_events_Event("scroll"));
|
|
}
|
|
return this.__textEngine.get_scrollV();
|
|
}
|
|
,get_selectable: function() {
|
|
return this.__textEngine.selectable;
|
|
}
|
|
,set_selectable: function(value) {
|
|
if(value != this.__textEngine.selectable && this.get_type() == 1) {
|
|
if(this.stage != null && this.stage.get_focus() == this) {
|
|
this.__startTextInput();
|
|
} else if(!value) {
|
|
this.__stopTextInput();
|
|
}
|
|
}
|
|
return this.__textEngine.selectable = value;
|
|
}
|
|
,get_selectionBeginIndex: function() {
|
|
return Math.min(this.__caretIndex,this.__selectionIndex) | 0;
|
|
}
|
|
,get_selectionEndIndex: function() {
|
|
return Math.max(this.__caretIndex,this.__selectionIndex) | 0;
|
|
}
|
|
,get_sharpness: function() {
|
|
return this.__textEngine.sharpness;
|
|
}
|
|
,set_sharpness: function(value) {
|
|
if(value != this.__textEngine.sharpness) {
|
|
this.__dirty = true;
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
}
|
|
return this.__textEngine.sharpness = value;
|
|
}
|
|
,get_tabEnabled: function() {
|
|
if(this.__tabEnabled == null) {
|
|
return this.__textEngine.type == 1;
|
|
} else {
|
|
return this.__tabEnabled;
|
|
}
|
|
}
|
|
,get_text: function() {
|
|
return this.__text;
|
|
}
|
|
,set_text: function(value) {
|
|
if(this.__isHTML || this.__text != value) {
|
|
this.__dirty = true;
|
|
this.__layoutDirty = true;
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
} else {
|
|
return value;
|
|
}
|
|
if(this.__textEngine.textFormatRanges.get_length() > 1) {
|
|
this.__textEngine.textFormatRanges.splice(1,this.__textEngine.textFormatRanges.get_length() - 1);
|
|
}
|
|
var utfValue = value;
|
|
var range = this.__textEngine.textFormatRanges.get(0);
|
|
range.format = this.__textFormat;
|
|
range.start = 0;
|
|
range.end = utfValue.length;
|
|
this.__isHTML = false;
|
|
this.__updateText(value);
|
|
this.__updateScrollV();
|
|
return value;
|
|
}
|
|
,get_textColor: function() {
|
|
return this.__textFormat.color;
|
|
}
|
|
,set_textColor: function(value) {
|
|
if(value != this.__textFormat.color) {
|
|
this.__dirty = true;
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
}
|
|
var range = this.__textEngine.textFormatRanges.iterator();
|
|
while(range.hasNext()) {
|
|
var range1 = range.next();
|
|
range1.format.color = value;
|
|
}
|
|
return this.__textFormat.color = value;
|
|
}
|
|
,get_textWidth: function() {
|
|
this.__updateLayout();
|
|
return this.__textEngine.textWidth;
|
|
}
|
|
,get_textHeight: function() {
|
|
this.__updateLayout();
|
|
return this.__textEngine.textHeight;
|
|
}
|
|
,get_type: function() {
|
|
return this.__textEngine.type;
|
|
}
|
|
,set_type: function(value) {
|
|
if(value != this.__textEngine.type) {
|
|
if(value == 1) {
|
|
this.addEventListener("addedToStage",$bind(this,this.this_onAddedToStage));
|
|
this.this_onFocusIn(null);
|
|
this.__textEngine.__useIntAdvances = true;
|
|
} else {
|
|
this.removeEventListener("addedToStage",$bind(this,this.this_onAddedToStage));
|
|
this.__stopTextInput();
|
|
this.__textEngine.__useIntAdvances = null;
|
|
}
|
|
this.__dirty = true;
|
|
this.__layoutDirty = true;
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
}
|
|
return this.__textEngine.type = value;
|
|
}
|
|
,get_width: function() {
|
|
this.__updateLayout();
|
|
return this.__textEngine.width * Math.abs(this.__scaleX);
|
|
}
|
|
,set_width: function(value) {
|
|
if(value != this.__textEngine.width) {
|
|
this.__setTransformDirty();
|
|
this.__dirty = true;
|
|
this.__layoutDirty = true;
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
this.__textEngine.width = value;
|
|
}
|
|
return this.__textEngine.width * Math.abs(this.__scaleX);
|
|
}
|
|
,get_wordWrap: function() {
|
|
return this.__textEngine.wordWrap;
|
|
}
|
|
,set_wordWrap: function(value) {
|
|
if(value != this.__textEngine.wordWrap) {
|
|
this.__dirty = true;
|
|
this.__layoutDirty = true;
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
}
|
|
return this.__textEngine.wordWrap = value;
|
|
}
|
|
,get_x: function() {
|
|
return this.__transform.tx + this.__offsetX;
|
|
}
|
|
,set_x: function(value) {
|
|
if(value != this.__transform.tx + this.__offsetX) {
|
|
this.__setTransformDirty();
|
|
}
|
|
return this.__transform.tx = value - this.__offsetX;
|
|
}
|
|
,get_y: function() {
|
|
return this.__transform.ty + this.__offsetY;
|
|
}
|
|
,set_y: function(value) {
|
|
if(value != this.__transform.ty + this.__offsetY) {
|
|
this.__setTransformDirty();
|
|
}
|
|
return this.__transform.ty = value - this.__offsetY;
|
|
}
|
|
,stage_onMouseMove: function(event) {
|
|
if(this.stage == null) {
|
|
return;
|
|
}
|
|
if(this.get_selectable() && this.__selectionIndex >= 0) {
|
|
this.__updateLayout();
|
|
var position = this.__getPosition(this.get_mouseX() + this.get_scrollH(),this.get_mouseY());
|
|
if(position != this.__caretIndex) {
|
|
this.__caretIndex = position;
|
|
var setDirty = true;
|
|
if(openfl_display_DisplayObject.__supportDOM) {
|
|
if(this.__renderedOnCanvasWhileOnDOM) {
|
|
this.__forceCachedBitmapUpdate = true;
|
|
}
|
|
setDirty = false;
|
|
}
|
|
if(setDirty) {
|
|
this.__dirty = true;
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,stage_onMouseUp: function(event) {
|
|
if(this.stage == null) {
|
|
return;
|
|
}
|
|
this.stage.removeEventListener("mouseMove",$bind(this,this.stage_onMouseMove));
|
|
this.stage.removeEventListener("mouseUp",$bind(this,this.stage_onMouseUp));
|
|
if(this.stage.get_focus() == this) {
|
|
this.__getWorldTransform();
|
|
this.__updateLayout();
|
|
var upPos = this.__getPosition(this.get_mouseX() + this.get_scrollH(),this.get_mouseY());
|
|
var leftPos = Math.min(this.__selectionIndex,upPos) | 0;
|
|
var rightPos = Math.max(this.__selectionIndex,upPos) | 0;
|
|
this.__selectionIndex = leftPos;
|
|
this.__caretIndex = rightPos;
|
|
if(this.__inputEnabled) {
|
|
this.this_onFocusIn(null);
|
|
this.__stopCursorTimer();
|
|
this.__startCursorTimer();
|
|
if(openfl_display_DisplayObject.__supportDOM && this.__renderedOnCanvasWhileOnDOM) {
|
|
this.__forceCachedBitmapUpdate = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,this_onAddedToStage: function(event) {
|
|
this.this_onFocusIn(null);
|
|
}
|
|
,this_onFocusIn: function(event) {
|
|
if(this.get_type() == 1 && this.stage != null && this.stage.get_focus() == this) {
|
|
this.__startTextInput();
|
|
}
|
|
}
|
|
,this_onFocusOut: function(event) {
|
|
this.__stopCursorTimer();
|
|
if(event.relatedObject == null || !((event.relatedObject) instanceof openfl_text_TextField)) {
|
|
this.__stopTextInput();
|
|
} else {
|
|
if(this.stage != null) {
|
|
this.stage.window.onTextInput.remove($bind(this,this.window_onTextInput));
|
|
this.stage.window.onKeyDown.remove($bind(this,this.window_onKeyDown));
|
|
}
|
|
this.__inputEnabled = false;
|
|
}
|
|
if(this.__selectionIndex != this.__caretIndex) {
|
|
this.__selectionIndex = this.__caretIndex;
|
|
this.__dirty = true;
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
}
|
|
}
|
|
,this_onKeyDown: function(event) {
|
|
if(this.get_selectable() && this.get_type() != 1 && event.keyCode == 67 && (event.commandKey || event.ctrlKey)) {
|
|
if(this.__caretIndex != this.__selectionIndex) {
|
|
lime_system_Clipboard.set_text(this.__text.substring(this.__caretIndex,this.__selectionIndex));
|
|
}
|
|
}
|
|
}
|
|
,this_onMouseDown: function(event) {
|
|
if(!this.get_selectable() && this.get_type() != 1) {
|
|
return;
|
|
}
|
|
this.__updateLayout();
|
|
this.__caretIndex = this.__getPosition(this.get_mouseX() + this.get_scrollH(),this.get_mouseY());
|
|
this.__selectionIndex = this.__caretIndex;
|
|
if(!openfl_display_DisplayObject.__supportDOM) {
|
|
this.__dirty = true;
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
}
|
|
this.stage.addEventListener("mouseMove",$bind(this,this.stage_onMouseMove));
|
|
this.stage.addEventListener("mouseUp",$bind(this,this.stage_onMouseUp));
|
|
}
|
|
,this_onMouseWheel: function(event) {
|
|
if(this.get_mouseWheelEnabled()) {
|
|
var _g = this;
|
|
_g.set_scrollV(_g.get_scrollV() - event.delta);
|
|
}
|
|
}
|
|
,this_onDoubleClick: function(event) {
|
|
if(this.get_selectable()) {
|
|
this.__updateLayout();
|
|
var delimiters = ["\n",".","!","?",","," ",";",":","(",")","-","_","/"];
|
|
var txtStr = this.__text;
|
|
var leftPos = -1;
|
|
var rightPos = txtStr.length;
|
|
var pos = 0;
|
|
var startPos = Math.max(this.__caretIndex,1) | 0;
|
|
if(txtStr.length > 0 && this.__caretIndex >= 0 && rightPos >= this.__caretIndex) {
|
|
var _g = 0;
|
|
while(_g < delimiters.length) {
|
|
var c = delimiters[_g];
|
|
++_g;
|
|
pos = txtStr.lastIndexOf(c,startPos - 1);
|
|
if(pos > leftPos) {
|
|
leftPos = pos + 1;
|
|
}
|
|
pos = txtStr.indexOf(c,startPos);
|
|
if(pos < rightPos && pos != -1) {
|
|
rightPos = pos;
|
|
}
|
|
}
|
|
if(leftPos != rightPos) {
|
|
this.setSelection(leftPos,rightPos);
|
|
var setDirty = true;
|
|
if(openfl_display_DisplayObject.__supportDOM) {
|
|
if(this.__renderedOnCanvasWhileOnDOM) {
|
|
this.__forceCachedBitmapUpdate = true;
|
|
}
|
|
setDirty = false;
|
|
}
|
|
if(setDirty) {
|
|
this.__dirty = true;
|
|
if(!this.__renderDirty) {
|
|
this.__renderDirty = true;
|
|
this.__setParentRenderDirty();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,window_onKeyDown: function(key,modifier) {
|
|
switch(key) {
|
|
case 8:
|
|
if(this.__selectionIndex == this.__caretIndex && this.__caretIndex > 0) {
|
|
this.__selectionIndex = this.__caretIndex - 1;
|
|
}
|
|
if(this.__selectionIndex != this.__caretIndex) {
|
|
this.replaceSelectedText("");
|
|
this.__selectionIndex = this.__caretIndex;
|
|
this.dispatchEvent(new openfl_events_Event("change",true));
|
|
}
|
|
break;
|
|
case 97:
|
|
if(this.get_selectable()) {
|
|
if(lime_ui_KeyModifier.get_metaKey(modifier) || lime_ui_KeyModifier.get_ctrlKey(modifier)) {
|
|
this.__caretIndex = this.__text.length;
|
|
this.__selectionIndex = 0;
|
|
}
|
|
}
|
|
break;
|
|
case 99:
|
|
if(lime_ui_KeyModifier.get_metaKey(modifier) || lime_ui_KeyModifier.get_ctrlKey(modifier)) {
|
|
if(this.__caretIndex != this.__selectionIndex) {
|
|
lime_system_Clipboard.set_text(this.__text.substring(this.__caretIndex,this.__selectionIndex));
|
|
}
|
|
}
|
|
break;
|
|
case 120:
|
|
if(lime_ui_KeyModifier.get_metaKey(modifier) || lime_ui_KeyModifier.get_ctrlKey(modifier)) {
|
|
if(this.__caretIndex != this.__selectionIndex) {
|
|
lime_system_Clipboard.set_text(this.__text.substring(this.__caretIndex,this.__selectionIndex));
|
|
this.replaceSelectedText("");
|
|
this.dispatchEvent(new openfl_events_Event("change",true));
|
|
}
|
|
}
|
|
break;
|
|
case 127:
|
|
if(this.__selectionIndex == this.__caretIndex && this.__caretIndex < this.__text.length) {
|
|
this.__selectionIndex = this.__caretIndex + 1;
|
|
}
|
|
if(this.__selectionIndex != this.__caretIndex) {
|
|
this.replaceSelectedText("");
|
|
this.__selectionIndex = this.__caretIndex;
|
|
this.dispatchEvent(new openfl_events_Event("change",true));
|
|
}
|
|
break;
|
|
case 1073741898:
|
|
if(this.get_selectable()) {
|
|
this.__caretBeginningOfLine();
|
|
this.__stopCursorTimer();
|
|
this.__startCursorTimer();
|
|
}
|
|
break;
|
|
case 1073741901:
|
|
if(this.get_selectable()) {
|
|
this.__caretEndOfLine();
|
|
this.__stopCursorTimer();
|
|
this.__startCursorTimer();
|
|
}
|
|
break;
|
|
case 1073741903:
|
|
if(this.get_selectable()) {
|
|
if(lime_ui_KeyModifier.get_metaKey(modifier)) {
|
|
this.__caretEndOfLine();
|
|
if(!lime_ui_KeyModifier.get_shiftKey(modifier)) {
|
|
this.__selectionIndex = this.__caretIndex;
|
|
}
|
|
} else if(lime_ui_KeyModifier.get_shiftKey(modifier)) {
|
|
this.__caretNextCharacter();
|
|
} else {
|
|
if(this.__selectionIndex == this.__caretIndex) {
|
|
this.__caretNextCharacter();
|
|
} else {
|
|
this.__caretIndex = Math.max(this.__caretIndex,this.__selectionIndex) | 0;
|
|
}
|
|
this.__selectionIndex = this.__caretIndex;
|
|
}
|
|
this.__updateScrollH();
|
|
this.__updateScrollV();
|
|
this.__stopCursorTimer();
|
|
this.__startCursorTimer();
|
|
}
|
|
break;
|
|
case 1073741904:
|
|
if(this.get_selectable()) {
|
|
if(lime_ui_KeyModifier.get_metaKey(modifier)) {
|
|
this.__caretBeginningOfLine();
|
|
if(!lime_ui_KeyModifier.get_shiftKey(modifier)) {
|
|
this.__selectionIndex = this.__caretIndex;
|
|
}
|
|
} else if(lime_ui_KeyModifier.get_shiftKey(modifier)) {
|
|
this.__caretPreviousCharacter();
|
|
} else {
|
|
if(this.__selectionIndex == this.__caretIndex) {
|
|
this.__caretPreviousCharacter();
|
|
} else {
|
|
this.__caretIndex = Math.min(this.__caretIndex,this.__selectionIndex) | 0;
|
|
}
|
|
this.__selectionIndex = this.__caretIndex;
|
|
}
|
|
this.__updateScrollH();
|
|
this.__updateScrollV();
|
|
this.__stopCursorTimer();
|
|
this.__startCursorTimer();
|
|
}
|
|
break;
|
|
case 1073741905:
|
|
if(this.get_selectable()) {
|
|
if(!this.__textEngine.multiline) {
|
|
return;
|
|
}
|
|
if(lime_ui_KeyModifier.get_shiftKey(modifier)) {
|
|
this.__caretNextLine();
|
|
} else {
|
|
if(this.__selectionIndex == this.__caretIndex) {
|
|
this.__caretNextLine();
|
|
} else {
|
|
var lineIndex = this.getLineIndexOfChar(Math.max(this.__caretIndex,this.__selectionIndex) | 0);
|
|
this.__caretNextLine(lineIndex,Math.min(this.__caretIndex,this.__selectionIndex) | 0);
|
|
}
|
|
this.__selectionIndex = this.__caretIndex;
|
|
}
|
|
this.__updateScrollV();
|
|
this.__stopCursorTimer();
|
|
this.__startCursorTimer();
|
|
}
|
|
break;
|
|
case 1073741906:
|
|
if(this.get_selectable()) {
|
|
if(!this.__textEngine.multiline) {
|
|
return;
|
|
}
|
|
if(lime_ui_KeyModifier.get_shiftKey(modifier)) {
|
|
this.__caretPreviousLine();
|
|
} else {
|
|
if(this.__selectionIndex == this.__caretIndex) {
|
|
this.__caretPreviousLine();
|
|
} else {
|
|
var lineIndex = this.getLineIndexOfChar(Math.min(this.__caretIndex,this.__selectionIndex) | 0);
|
|
this.__caretPreviousLine(lineIndex,Math.min(this.__caretIndex,this.__selectionIndex) | 0);
|
|
}
|
|
this.__selectionIndex = this.__caretIndex;
|
|
}
|
|
this.__updateScrollV();
|
|
this.__stopCursorTimer();
|
|
this.__startCursorTimer();
|
|
}
|
|
break;
|
|
case 13:case 1073741912:
|
|
if(this.__textEngine.multiline) {
|
|
var te = new openfl_events_TextEvent("textInput",true,true,"\n");
|
|
this.dispatchEvent(te);
|
|
if(!te.isDefaultPrevented()) {
|
|
this.__replaceSelectedText("\n",true);
|
|
this.dispatchEvent(new openfl_events_Event("change",true));
|
|
}
|
|
}
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
,window_onTextInput: function(value) {
|
|
this.__replaceSelectedText(value,true);
|
|
this.dispatchEvent(new openfl_events_Event("change",true));
|
|
}
|
|
,__class__: openfl_text_TextField
|
|
,__properties__: $extend(openfl_display_InteractiveObject.prototype.__properties__,{set_wordWrap:"set_wordWrap",get_wordWrap:"get_wordWrap",set_type:"set_type",get_type:"get_type",get_textWidth:"get_textWidth",get_textHeight:"get_textHeight",set_textColor:"set_textColor",get_textColor:"get_textColor",set_text:"set_text",get_text:"get_text",set_sharpness:"set_sharpness",get_sharpness:"get_sharpness",get_selectionEndIndex:"get_selectionEndIndex",get_selectionBeginIndex:"get_selectionBeginIndex",set_selectable:"set_selectable",get_selectable:"get_selectable",set_scrollV:"set_scrollV",get_scrollV:"get_scrollV",set_scrollH:"set_scrollH",get_scrollH:"get_scrollH",set_restrict:"set_restrict",get_restrict:"get_restrict",get_numLines:"get_numLines",set_multiline:"set_multiline",get_multiline:"get_multiline",set_mouseWheelEnabled:"set_mouseWheelEnabled",get_mouseWheelEnabled:"get_mouseWheelEnabled",get_maxScrollV:"get_maxScrollV",get_maxScrollH:"get_maxScrollH",set_maxChars:"set_maxChars",get_maxChars:"get_maxChars",get_length:"get_length",set_htmlText:"set_htmlText",get_htmlText:"get_htmlText",set_gridFitType:"set_gridFitType",get_gridFitType:"get_gridFitType",set_embedFonts:"set_embedFonts",get_embedFonts:"get_embedFonts",set_displayAsPassword:"set_displayAsPassword",get_displayAsPassword:"get_displayAsPassword",set_defaultTextFormat:"set_defaultTextFormat",get_defaultTextFormat:"get_defaultTextFormat",get_caretIndex:"get_caretIndex",get_bottomScrollV:"get_bottomScrollV",set_borderColor:"set_borderColor",get_borderColor:"get_borderColor",set_border:"set_border",get_border:"get_border",set_backgroundColor:"set_backgroundColor",get_backgroundColor:"get_backgroundColor",set_background:"set_background",get_background:"get_background",set_autoSize:"set_autoSize",get_autoSize:"get_autoSize",set_antiAliasType:"set_antiAliasType",get_antiAliasType:"get_antiAliasType"})
|
|
});
|
|
var openfl_display_FPS = function(x,y,color) {
|
|
if(color == null) {
|
|
color = 0;
|
|
}
|
|
if(y == null) {
|
|
y = 10;
|
|
}
|
|
if(x == null) {
|
|
x = 10;
|
|
}
|
|
openfl_text_TextField.call(this);
|
|
this.set_x(x);
|
|
this.set_y(y);
|
|
this.currentFPS = 0;
|
|
this.set_selectable(false);
|
|
this.mouseEnabled = false;
|
|
this.set_defaultTextFormat(new openfl_text_TextFormat("_sans",12,color));
|
|
this.set_text("FPS: ");
|
|
this.cacheCount = 0;
|
|
this.currentTime = 0;
|
|
this.times = [];
|
|
};
|
|
$hxClasses["openfl.display.FPS"] = openfl_display_FPS;
|
|
openfl_display_FPS.__name__ = "openfl.display.FPS";
|
|
openfl_display_FPS.__super__ = openfl_text_TextField;
|
|
openfl_display_FPS.prototype = $extend(openfl_text_TextField.prototype,{
|
|
currentFPS: null
|
|
,cacheCount: null
|
|
,currentTime: null
|
|
,times: null
|
|
,__enterFrame: function(deltaTime) {
|
|
this.currentTime += deltaTime;
|
|
this.times.push(this.currentTime);
|
|
while(this.times[0] < this.currentTime - 1000) this.times.shift();
|
|
var currentCount = this.times.length;
|
|
this.currentFPS = Math.round((currentCount + this.cacheCount) / 2);
|
|
if(currentCount != this.cacheCount) {
|
|
this.set_text("FPS: " + this.currentFPS);
|
|
}
|
|
this.cacheCount = currentCount;
|
|
}
|
|
,__class__: openfl_display_FPS
|
|
});
|
|
var openfl_display_FrameLabel = function(name,frame) {
|
|
openfl_events_EventDispatcher.call(this);
|
|
this.name = name;
|
|
this.frame = frame;
|
|
};
|
|
$hxClasses["openfl.display.FrameLabel"] = openfl_display_FrameLabel;
|
|
openfl_display_FrameLabel.__name__ = "openfl.display.FrameLabel";
|
|
openfl_display_FrameLabel.__super__ = openfl_events_EventDispatcher;
|
|
openfl_display_FrameLabel.prototype = $extend(openfl_events_EventDispatcher.prototype,{
|
|
frame: null
|
|
,name: null
|
|
,__class__: openfl_display_FrameLabel
|
|
});
|
|
var openfl_display_FrameScript = function(script,frame) {
|
|
this.script = script;
|
|
this.frame = frame;
|
|
};
|
|
$hxClasses["openfl.display.FrameScript"] = openfl_display_FrameScript;
|
|
openfl_display_FrameScript.__name__ = "openfl.display.FrameScript";
|
|
openfl_display_FrameScript.prototype = {
|
|
frame: null
|
|
,script: null
|
|
,__class__: openfl_display_FrameScript
|
|
};
|
|
var openfl_display_GradientType = {};
|
|
openfl_display_GradientType.fromInt = function(value) {
|
|
return value;
|
|
};
|
|
openfl_display_GradientType.fromString = function(value) {
|
|
switch(value) {
|
|
case "linear":
|
|
return 0;
|
|
case "radial":
|
|
return 1;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_display_GradientType.toInt = function(this1) {
|
|
return this1;
|
|
};
|
|
openfl_display_GradientType.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "linear";
|
|
case 1:
|
|
return "radial";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
var openfl_display_Graphics = function(owner) {
|
|
this.__dirty = true;
|
|
this.__owner = owner;
|
|
this.__commands = new openfl_display__$internal_DrawCommandBuffer();
|
|
this.__strokePadding = 0;
|
|
this.__positionX = 0;
|
|
this.__positionY = 0;
|
|
this.__renderTransform = new openfl_geom_Matrix();
|
|
this.__usedShaderBuffers = new haxe_ds_List();
|
|
this.__worldTransform = new openfl_geom_Matrix();
|
|
this.__width = 0;
|
|
this.__height = 0;
|
|
this.__shaderBufferPool = new lime_utils_ObjectPool(function() {
|
|
return new openfl_display__$internal_ShaderBuffer();
|
|
});
|
|
this.moveTo(0,0);
|
|
};
|
|
$hxClasses["openfl.display.Graphics"] = openfl_display_Graphics;
|
|
openfl_display_Graphics.__name__ = "openfl.display.Graphics";
|
|
openfl_display_Graphics.prototype = {
|
|
__bounds: null
|
|
,__commands: null
|
|
,__dirty: null
|
|
,__hardwareDirty: null
|
|
,__height: null
|
|
,__managed: null
|
|
,__positionX: null
|
|
,__positionY: null
|
|
,__quadBuffer: null
|
|
,__renderTransform: null
|
|
,__shaderBufferPool: null
|
|
,__softwareDirty: null
|
|
,__strokePadding: null
|
|
,__transformDirty: null
|
|
,__triangleIndexBuffer: null
|
|
,__triangleIndexBufferCount: null
|
|
,__triangleIndexBufferData: null
|
|
,__usedShaderBuffers: null
|
|
,__vertexBuffer: null
|
|
,__vertexBufferCount: null
|
|
,__vertexBufferCountUVT: null
|
|
,__vertexBufferData: null
|
|
,__vertexBufferDataUVT: null
|
|
,__vertexBufferUVT: null
|
|
,__visible: null
|
|
,__owner: null
|
|
,__width: null
|
|
,__worldTransform: null
|
|
,__canvas: null
|
|
,__context: null
|
|
,__bitmap: null
|
|
,beginBitmapFill: function(bitmap,matrix,repeat,smooth) {
|
|
if(smooth == null) {
|
|
smooth = false;
|
|
}
|
|
if(repeat == null) {
|
|
repeat = true;
|
|
}
|
|
this.__commands.beginBitmapFill(bitmap,matrix != null ? matrix.clone() : null,repeat,smooth);
|
|
this.__visible = true;
|
|
}
|
|
,beginFill: function(color,alpha) {
|
|
if(alpha == null) {
|
|
alpha = 1;
|
|
}
|
|
if(color == null) {
|
|
color = 0;
|
|
}
|
|
this.__commands.beginFill(color & 16777215,alpha);
|
|
if(alpha > 0) {
|
|
this.__visible = true;
|
|
}
|
|
}
|
|
,beginGradientFill: function(type,colors,alphas,ratios,matrix,spreadMethod,interpolationMethod,focalPointRatio) {
|
|
if(focalPointRatio == null) {
|
|
focalPointRatio = 0;
|
|
}
|
|
if(interpolationMethod == null) {
|
|
interpolationMethod = 1;
|
|
}
|
|
if(spreadMethod == null) {
|
|
spreadMethod = 0;
|
|
}
|
|
if(colors == null || colors.length == 0) {
|
|
return;
|
|
}
|
|
if(alphas == null) {
|
|
alphas = [];
|
|
var _g = 0;
|
|
var _g1 = colors.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
alphas.push(1);
|
|
}
|
|
}
|
|
if(ratios == null) {
|
|
ratios = [];
|
|
var _g = 0;
|
|
var _g1 = colors.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
ratios.push(Math.ceil(i / colors.length * 255));
|
|
}
|
|
}
|
|
if(alphas.length < colors.length || ratios.length < colors.length) {
|
|
return;
|
|
}
|
|
this.__commands.beginGradientFill(type,colors,alphas,ratios,matrix,spreadMethod,interpolationMethod,focalPointRatio);
|
|
var _g = 0;
|
|
while(_g < alphas.length) {
|
|
var alpha = alphas[_g];
|
|
++_g;
|
|
if(alpha > 0) {
|
|
this.__visible = true;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
,beginShaderFill: function(shader,matrix) {
|
|
if(shader != null) {
|
|
var shaderBuffer = this.__shaderBufferPool.get();
|
|
this.__usedShaderBuffers.add(shaderBuffer);
|
|
shaderBuffer.update(shader);
|
|
this.__commands.beginShaderFill(shaderBuffer);
|
|
}
|
|
}
|
|
,clear: function() {
|
|
var _g_head = this.__usedShaderBuffers.h;
|
|
while(_g_head != null) {
|
|
var val = _g_head.item;
|
|
_g_head = _g_head.next;
|
|
var shaderBuffer = val;
|
|
this.__shaderBufferPool.release(shaderBuffer);
|
|
}
|
|
this.__usedShaderBuffers.clear();
|
|
this.__commands.clear();
|
|
this.__strokePadding = 0;
|
|
if(this.__bounds != null) {
|
|
this.set___dirty(true);
|
|
this.__transformDirty = true;
|
|
this.__bounds = null;
|
|
}
|
|
this.__visible = false;
|
|
this.__positionX = 0;
|
|
this.__positionY = 0;
|
|
this.moveTo(0,0);
|
|
}
|
|
,copyFrom: function(sourceGraphics) {
|
|
this.__bounds = sourceGraphics.__bounds != null ? sourceGraphics.__bounds.clone() : null;
|
|
this.__commands = sourceGraphics.__commands.copy();
|
|
this.set___dirty(true);
|
|
this.__strokePadding = sourceGraphics.__strokePadding;
|
|
this.__positionX = sourceGraphics.__positionX;
|
|
this.__positionY = sourceGraphics.__positionY;
|
|
this.__transformDirty = true;
|
|
this.__visible = sourceGraphics.__visible;
|
|
}
|
|
,cubicCurveTo: function(controlX1,controlY1,controlX2,controlY2,anchorX,anchorY) {
|
|
this.__inflateBounds(this.__positionX - this.__strokePadding,this.__positionY - this.__strokePadding);
|
|
this.__inflateBounds(this.__positionX + this.__strokePadding,this.__positionY + this.__strokePadding);
|
|
var ix1 = anchorX;
|
|
var ix2 = anchorX;
|
|
if(!((controlX1 < anchorX && controlX1 > this.__positionX || controlX1 > anchorX && controlX1 < this.__positionX) && (controlX2 < anchorX && controlX2 > this.__positionX || controlX2 > anchorX && controlX2 < this.__positionX))) {
|
|
var u = 2 * this.__positionX - 4 * controlX1 + 2 * controlX2;
|
|
var v = controlX1 - this.__positionX;
|
|
var w = -this.__positionX + 3 * controlX1 + anchorX - 3 * controlX2;
|
|
var t1 = (-u + Math.sqrt(u * u - 4 * v * w)) / (2 * w);
|
|
var t2 = (-u - Math.sqrt(u * u - 4 * v * w)) / (2 * w);
|
|
if(t1 > 0 && t1 < 1) {
|
|
ix1 = this.__calculateBezierCubicPoint(t1,this.__positionX,controlX1,controlX2,anchorX);
|
|
}
|
|
if(t2 > 0 && t2 < 1) {
|
|
ix2 = this.__calculateBezierCubicPoint(t2,this.__positionX,controlX1,controlX2,anchorX);
|
|
}
|
|
}
|
|
var iy1 = anchorY;
|
|
var iy2 = anchorY;
|
|
if(!((controlY1 < anchorY && controlY1 > this.__positionX || controlY1 > anchorY && controlY1 < this.__positionX) && (controlY2 < anchorY && controlY2 > this.__positionX || controlY2 > anchorY && controlY2 < this.__positionX))) {
|
|
var u = 2 * this.__positionX - 4 * controlY1 + 2 * controlY2;
|
|
var v = controlY1 - this.__positionX;
|
|
var w = -this.__positionX + 3 * controlY1 + anchorY - 3 * controlY2;
|
|
var t1 = (-u + Math.sqrt(u * u - 4 * v * w)) / (2 * w);
|
|
var t2 = (-u - Math.sqrt(u * u - 4 * v * w)) / (2 * w);
|
|
if(t1 > 0 && t1 < 1) {
|
|
iy1 = this.__calculateBezierCubicPoint(t1,this.__positionX,controlY1,controlY2,anchorY);
|
|
}
|
|
if(t2 > 0 && t2 < 1) {
|
|
iy2 = this.__calculateBezierCubicPoint(t2,this.__positionX,controlY1,controlY2,anchorY);
|
|
}
|
|
}
|
|
this.__inflateBounds(ix1 - this.__strokePadding,iy1 - this.__strokePadding);
|
|
this.__inflateBounds(ix1 + this.__strokePadding,iy1 + this.__strokePadding);
|
|
this.__inflateBounds(ix2 - this.__strokePadding,iy2 - this.__strokePadding);
|
|
this.__inflateBounds(ix2 + this.__strokePadding,iy2 + this.__strokePadding);
|
|
this.__positionX = anchorX;
|
|
this.__positionY = anchorY;
|
|
this.__inflateBounds(this.__positionX - this.__strokePadding,this.__positionY - this.__strokePadding);
|
|
this.__inflateBounds(this.__positionX + this.__strokePadding,this.__positionY + this.__strokePadding);
|
|
this.__commands.cubicCurveTo(controlX1,controlY1,controlX2,controlY2,anchorX,anchorY);
|
|
this.set___dirty(true);
|
|
}
|
|
,curveTo: function(controlX,controlY,anchorX,anchorY) {
|
|
this.__inflateBounds(this.__positionX - this.__strokePadding,this.__positionY - this.__strokePadding);
|
|
this.__inflateBounds(this.__positionX + this.__strokePadding,this.__positionY + this.__strokePadding);
|
|
var ix;
|
|
var iy;
|
|
if(controlX < anchorX && controlX > this.__positionX || controlX > anchorX && controlX < this.__positionX) {
|
|
ix = anchorX;
|
|
} else {
|
|
var tx = (this.__positionX - controlX) / (this.__positionX - 2 * controlX + anchorX);
|
|
ix = this.__calculateBezierQuadPoint(tx,this.__positionX,controlX,anchorX);
|
|
}
|
|
if(controlY < anchorY && controlY > this.__positionY || controlY > anchorY && controlY < this.__positionY) {
|
|
iy = anchorY;
|
|
} else {
|
|
var ty = (this.__positionY - controlY) / (this.__positionY - 2 * controlY + anchorY);
|
|
iy = this.__calculateBezierQuadPoint(ty,this.__positionY,controlY,anchorY);
|
|
}
|
|
this.__inflateBounds(ix - this.__strokePadding,iy - this.__strokePadding);
|
|
this.__inflateBounds(ix + this.__strokePadding,iy + this.__strokePadding);
|
|
this.__positionX = anchorX;
|
|
this.__positionY = anchorY;
|
|
this.__commands.curveTo(controlX,controlY,anchorX,anchorY);
|
|
this.set___dirty(true);
|
|
}
|
|
,drawCircle: function(x,y,radius) {
|
|
if(radius <= 0) {
|
|
return;
|
|
}
|
|
this.__inflateBounds(x - radius - this.__strokePadding,y - radius - this.__strokePadding);
|
|
this.__inflateBounds(x + radius + this.__strokePadding,y + radius + this.__strokePadding);
|
|
this.__commands.drawCircle(x,y,radius);
|
|
this.set___dirty(true);
|
|
}
|
|
,drawEllipse: function(x,y,width,height) {
|
|
if(width <= 0 || height <= 0) {
|
|
return;
|
|
}
|
|
this.__inflateBounds(x - this.__strokePadding,y - this.__strokePadding);
|
|
this.__inflateBounds(x + width + this.__strokePadding,y + height + this.__strokePadding);
|
|
this.__commands.drawEllipse(x,y,width,height);
|
|
this.set___dirty(true);
|
|
}
|
|
,drawGraphicsData: function(graphicsData) {
|
|
var fill;
|
|
var bitmapFill;
|
|
var gradientFill;
|
|
var shaderFill;
|
|
var stroke;
|
|
var path;
|
|
var trianglePath;
|
|
var quadPath;
|
|
var graphics = graphicsData.iterator();
|
|
while(graphics.hasNext()) {
|
|
var graphics1 = graphics.next();
|
|
switch(graphics1.__graphicsDataType) {
|
|
case 0:
|
|
stroke = graphics1;
|
|
if(stroke.fill != null) {
|
|
var thickness = stroke.thickness;
|
|
if(isNaN(thickness)) {
|
|
thickness = null;
|
|
}
|
|
switch(stroke.fill.__graphicsFillType) {
|
|
case 0:
|
|
fill = stroke.fill;
|
|
this.lineStyle(thickness,fill.color,fill.alpha,stroke.pixelHinting,stroke.scaleMode,stroke.caps,stroke.joints,stroke.miterLimit);
|
|
break;
|
|
case 1:
|
|
gradientFill = stroke.fill;
|
|
this.lineStyle(thickness,0,1,stroke.pixelHinting,stroke.scaleMode,stroke.caps,stroke.joints,stroke.miterLimit);
|
|
this.lineGradientStyle(gradientFill.type,gradientFill.colors,gradientFill.alphas,gradientFill.ratios,gradientFill.matrix,gradientFill.spreadMethod,gradientFill.interpolationMethod,gradientFill.focalPointRatio);
|
|
break;
|
|
case 2:
|
|
bitmapFill = stroke.fill;
|
|
this.lineStyle(thickness,0,1,stroke.pixelHinting,stroke.scaleMode,stroke.caps,stroke.joints,stroke.miterLimit);
|
|
this.lineBitmapStyle(bitmapFill.bitmapData,bitmapFill.matrix,bitmapFill.repeat,bitmapFill.smooth);
|
|
break;
|
|
default:
|
|
}
|
|
} else {
|
|
this.lineStyle();
|
|
}
|
|
break;
|
|
case 1:
|
|
fill = graphics1;
|
|
this.beginFill(fill.color,fill.alpha);
|
|
break;
|
|
case 2:
|
|
gradientFill = graphics1;
|
|
this.beginGradientFill(gradientFill.type,gradientFill.colors,gradientFill.alphas,gradientFill.ratios,gradientFill.matrix,gradientFill.spreadMethod,gradientFill.interpolationMethod,gradientFill.focalPointRatio);
|
|
break;
|
|
case 3:
|
|
path = graphics1;
|
|
this.drawPath(path.commands,path.data,path.winding);
|
|
break;
|
|
case 4:
|
|
bitmapFill = graphics1;
|
|
this.beginBitmapFill(bitmapFill.bitmapData,bitmapFill.matrix,bitmapFill.repeat,bitmapFill.smooth);
|
|
break;
|
|
case 5:
|
|
this.endFill();
|
|
break;
|
|
case 6:
|
|
quadPath = graphics1;
|
|
this.drawQuads(quadPath.rects,quadPath.indices,quadPath.transforms);
|
|
break;
|
|
case 7:
|
|
trianglePath = graphics1;
|
|
this.drawTriangles(trianglePath.vertices,trianglePath.indices,trianglePath.uvtData,trianglePath.culling);
|
|
break;
|
|
case 8:
|
|
shaderFill = graphics1;
|
|
this.beginShaderFill(shaderFill.shader,shaderFill.matrix);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
,drawPath: function(commands,data,winding) {
|
|
if(winding == null) {
|
|
winding = 0;
|
|
}
|
|
var dataIndex = 0;
|
|
if(winding == 1) {
|
|
this.__commands.windingNonZero();
|
|
}
|
|
var command = commands.iterator();
|
|
_hx_loop1: while(command.hasNext()) {
|
|
var command1 = command.next();
|
|
switch(command1) {
|
|
case 1:
|
|
this.moveTo(data.get(dataIndex),data.get(dataIndex + 1));
|
|
dataIndex += 2;
|
|
break;
|
|
case 2:
|
|
this.lineTo(data.get(dataIndex),data.get(dataIndex + 1));
|
|
dataIndex += 2;
|
|
break;
|
|
case 3:
|
|
this.curveTo(data.get(dataIndex),data.get(dataIndex + 1),data.get(dataIndex + 2),data.get(dataIndex + 3));
|
|
dataIndex += 4;
|
|
break;
|
|
case 4:
|
|
this.moveTo(data.get(dataIndex + 2),data.get(dataIndex + 3));
|
|
break _hx_loop1;
|
|
case 5:
|
|
this.lineTo(data.get(dataIndex + 2),data.get(dataIndex + 3));
|
|
break _hx_loop1;
|
|
case 6:
|
|
this.cubicCurveTo(data.get(dataIndex),data.get(dataIndex + 1),data.get(dataIndex + 2),data.get(dataIndex + 3),data.get(dataIndex + 4),data.get(dataIndex + 5));
|
|
dataIndex += 6;
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
}
|
|
,drawQuads: function(rects,indices,transforms) {
|
|
if(rects == null) {
|
|
return;
|
|
}
|
|
var hasIndices = indices != null;
|
|
var transformABCD = false;
|
|
var transformXY = false;
|
|
var length = hasIndices ? indices.get_length() : Math.floor(rects.get_length() / 4);
|
|
if(length == 0) {
|
|
return;
|
|
}
|
|
if(transforms != null) {
|
|
if(transforms.get_length() >= length * 6) {
|
|
transformABCD = true;
|
|
transformXY = true;
|
|
} else if(transforms.get_length() >= length * 4) {
|
|
transformABCD = true;
|
|
} else if(transforms.get_length() >= length * 2) {
|
|
transformXY = true;
|
|
}
|
|
}
|
|
var tileRect = openfl_geom_Rectangle.__pool.get();
|
|
var tileTransform = openfl_geom_Matrix.__pool.get();
|
|
var minX = Infinity;
|
|
var minY = Infinity;
|
|
var maxX = -Infinity;
|
|
var maxY = -Infinity;
|
|
var ri;
|
|
var ti;
|
|
var _g = 0;
|
|
var _g1 = length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
ri = hasIndices ? indices.get(i) * 4 : i * 4;
|
|
if(ri < 0) {
|
|
continue;
|
|
}
|
|
tileRect.setTo(0,0,rects.get(ri + 2),rects.get(ri + 3));
|
|
if(tileRect.width <= 0 || tileRect.height <= 0) {
|
|
continue;
|
|
}
|
|
if(transformABCD && transformXY) {
|
|
ti = i * 6;
|
|
tileTransform.setTo(transforms.get(ti),transforms.get(ti + 1),transforms.get(ti + 2),transforms.get(ti + 3),transforms.get(ti + 4),transforms.get(ti + 5));
|
|
} else if(transformABCD) {
|
|
ti = i * 4;
|
|
tileTransform.setTo(transforms.get(ti),transforms.get(ti + 1),transforms.get(ti + 2),transforms.get(ti + 3),tileRect.x,tileRect.y);
|
|
} else if(transformXY) {
|
|
ti = i * 2;
|
|
tileTransform.tx = transforms.get(ti);
|
|
tileTransform.ty = transforms.get(ti + 1);
|
|
} else {
|
|
tileTransform.tx = tileRect.x;
|
|
tileTransform.ty = tileRect.y;
|
|
}
|
|
tileRect.__transform(tileRect,tileTransform);
|
|
if(minX > tileRect.x) {
|
|
minX = tileRect.x;
|
|
}
|
|
if(minY > tileRect.y) {
|
|
minY = tileRect.y;
|
|
}
|
|
if(maxX < tileRect.get_right()) {
|
|
maxX = tileRect.get_right();
|
|
}
|
|
if(maxY < tileRect.get_bottom()) {
|
|
maxY = tileRect.get_bottom();
|
|
}
|
|
}
|
|
this.__inflateBounds(minX,minY);
|
|
this.__inflateBounds(maxX,maxY);
|
|
this.__commands.drawQuads(rects,indices,transforms);
|
|
this.set___dirty(true);
|
|
this.__visible = true;
|
|
openfl_geom_Rectangle.__pool.release(tileRect);
|
|
openfl_geom_Matrix.__pool.release(tileTransform);
|
|
}
|
|
,drawRect: function(x,y,width,height) {
|
|
if(width == 0 && height == 0) {
|
|
return;
|
|
}
|
|
var xSign = width < 0 ? -1 : 1;
|
|
var ySign = height < 0 ? -1 : 1;
|
|
this.__inflateBounds(x - this.__strokePadding * xSign,y - this.__strokePadding * ySign);
|
|
this.__inflateBounds(x + width + this.__strokePadding * xSign,y + height + this.__strokePadding * ySign);
|
|
this.__commands.drawRect(x,y,width,height);
|
|
this.set___dirty(true);
|
|
}
|
|
,drawRoundRect: function(x,y,width,height,ellipseWidth,ellipseHeight) {
|
|
if(width == 0 && height == 0) {
|
|
return;
|
|
}
|
|
var xSign = width < 0 ? -1 : 1;
|
|
var ySign = height < 0 ? -1 : 1;
|
|
this.__inflateBounds(x - this.__strokePadding * xSign,y - this.__strokePadding * ySign);
|
|
this.__inflateBounds(x + width + this.__strokePadding * xSign,y + height + this.__strokePadding * ySign);
|
|
this.__commands.drawRoundRect(x,y,width,height,ellipseWidth,ellipseHeight);
|
|
this.set___dirty(true);
|
|
}
|
|
,drawRoundRectComplex: function(x,y,width,height,topLeftRadius,topRightRadius,bottomLeftRadius,bottomRightRadius) {
|
|
if(width <= 0 || height <= 0) {
|
|
return;
|
|
}
|
|
this.__inflateBounds(x - this.__strokePadding,y - this.__strokePadding);
|
|
this.__inflateBounds(x + width + this.__strokePadding,y + height + this.__strokePadding);
|
|
var xw = x + width;
|
|
var yh = y + height;
|
|
var minSize = width < height ? width * 2 : height * 2;
|
|
if(!(topLeftRadius < minSize)) {
|
|
topLeftRadius = minSize;
|
|
}
|
|
if(!(topRightRadius < minSize)) {
|
|
topRightRadius = minSize;
|
|
}
|
|
if(!(bottomLeftRadius < minSize)) {
|
|
bottomLeftRadius = minSize;
|
|
}
|
|
if(!(bottomRightRadius < minSize)) {
|
|
bottomRightRadius = minSize;
|
|
}
|
|
var anchor = 1 - Math.sin(45 * (Math.PI / 180));
|
|
var control = 1 - Math.tan(22.5 * (Math.PI / 180));
|
|
var a = bottomRightRadius * anchor;
|
|
var s = bottomRightRadius * control;
|
|
this.moveTo(xw,yh - bottomRightRadius);
|
|
this.curveTo(xw,yh - s,xw - a,yh - a);
|
|
this.curveTo(xw - s,yh,xw - bottomRightRadius,yh);
|
|
a = bottomLeftRadius * anchor;
|
|
s = bottomLeftRadius * control;
|
|
this.lineTo(x + bottomLeftRadius,yh);
|
|
this.curveTo(x + s,yh,x + a,yh - a);
|
|
this.curveTo(x,yh - s,x,yh - bottomLeftRadius);
|
|
a = topLeftRadius * anchor;
|
|
s = topLeftRadius * control;
|
|
this.lineTo(x,y + topLeftRadius);
|
|
this.curveTo(x,y + s,x + a,y + a);
|
|
this.curveTo(x + s,y,x + topLeftRadius,y);
|
|
a = topRightRadius * anchor;
|
|
s = topRightRadius * control;
|
|
this.lineTo(xw - topRightRadius,y);
|
|
this.curveTo(xw - s,y,xw - a,y + a);
|
|
this.curveTo(xw,y + s,xw,y + topRightRadius);
|
|
this.lineTo(xw,yh - bottomRightRadius);
|
|
this.set___dirty(true);
|
|
}
|
|
,drawTriangles: function(vertices,indices,uvtData,culling) {
|
|
if(culling == null) {
|
|
culling = 1;
|
|
}
|
|
if(vertices == null || vertices.get_length() == 0) {
|
|
return;
|
|
}
|
|
var vertLength = vertices.get_length() / 2 | 0;
|
|
if(indices == null) {
|
|
if(vertLength % 3 != 0) {
|
|
throw haxe_Exception.thrown(new openfl_errors_ArgumentError("Not enough vertices to close a triangle."));
|
|
}
|
|
indices = openfl_Vector.toIntVector(null);
|
|
var _g = 0;
|
|
var _g1 = vertLength;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
indices.push(i);
|
|
}
|
|
}
|
|
if(culling == null) {
|
|
culling = 1;
|
|
}
|
|
var x;
|
|
var y;
|
|
var minX = Infinity;
|
|
var minY = Infinity;
|
|
var maxX = -Infinity;
|
|
var maxY = -Infinity;
|
|
var _g = 0;
|
|
var _g1 = vertLength;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
x = vertices.get(i * 2);
|
|
y = vertices.get(i * 2 + 1);
|
|
if(minX > x) {
|
|
minX = x;
|
|
}
|
|
if(minY > y) {
|
|
minY = y;
|
|
}
|
|
if(maxX < x) {
|
|
maxX = x;
|
|
}
|
|
if(maxY < y) {
|
|
maxY = y;
|
|
}
|
|
}
|
|
this.__inflateBounds(minX,minY);
|
|
this.__inflateBounds(maxX,maxY);
|
|
this.__commands.drawTriangles(vertices,indices,uvtData,culling);
|
|
this.set___dirty(true);
|
|
this.__visible = true;
|
|
}
|
|
,endFill: function() {
|
|
this.__commands.endFill();
|
|
}
|
|
,lineBitmapStyle: function(bitmap,matrix,repeat,smooth) {
|
|
if(smooth == null) {
|
|
smooth = false;
|
|
}
|
|
if(repeat == null) {
|
|
repeat = true;
|
|
}
|
|
this.__commands.lineBitmapStyle(bitmap,matrix != null ? matrix.clone() : null,repeat,smooth);
|
|
}
|
|
,lineGradientStyle: function(type,colors,alphas,ratios,matrix,spreadMethod,interpolationMethod,focalPointRatio) {
|
|
if(focalPointRatio == null) {
|
|
focalPointRatio = 0;
|
|
}
|
|
if(interpolationMethod == null) {
|
|
interpolationMethod = 1;
|
|
}
|
|
if(spreadMethod == null) {
|
|
spreadMethod = 0;
|
|
}
|
|
this.__commands.lineGradientStyle(type,colors,alphas,ratios,matrix,spreadMethod,interpolationMethod,focalPointRatio);
|
|
}
|
|
,lineStyle: function(thickness,color,alpha,pixelHinting,scaleMode,caps,joints,miterLimit) {
|
|
if(miterLimit == null) {
|
|
miterLimit = 3;
|
|
}
|
|
if(scaleMode == null) {
|
|
scaleMode = 2;
|
|
}
|
|
if(pixelHinting == null) {
|
|
pixelHinting = false;
|
|
}
|
|
if(alpha == null) {
|
|
alpha = 1;
|
|
}
|
|
if(color == null) {
|
|
color = 0;
|
|
}
|
|
if(thickness != null) {
|
|
if(joints == 1) {
|
|
if(thickness > this.__strokePadding) {
|
|
this.__strokePadding = thickness;
|
|
}
|
|
} else if(thickness / 2 > this.__strokePadding) {
|
|
this.__strokePadding = thickness / 2;
|
|
}
|
|
}
|
|
this.__commands.lineStyle(thickness,color,alpha,pixelHinting,scaleMode,caps,joints,miterLimit);
|
|
if(thickness != null) {
|
|
this.__visible = true;
|
|
}
|
|
}
|
|
,lineTo: function(x,y) {
|
|
if(!isFinite(x) || !isFinite(y)) {
|
|
return;
|
|
}
|
|
this.__inflateBounds(this.__positionX - this.__strokePadding,this.__positionY - this.__strokePadding);
|
|
this.__inflateBounds(this.__positionX + this.__strokePadding,this.__positionY + this.__strokePadding);
|
|
this.__positionX = x;
|
|
this.__positionY = y;
|
|
this.__inflateBounds(this.__positionX - this.__strokePadding,this.__positionY - this.__strokePadding);
|
|
this.__inflateBounds(this.__positionX + this.__strokePadding * 2,this.__positionY + this.__strokePadding);
|
|
this.__commands.lineTo(x,y);
|
|
this.set___dirty(true);
|
|
}
|
|
,moveTo: function(x,y) {
|
|
this.__positionX = x;
|
|
this.__positionY = y;
|
|
this.__commands.moveTo(x,y);
|
|
}
|
|
,overrideBlendMode: function(blendMode) {
|
|
if(blendMode == null) {
|
|
blendMode = 10;
|
|
}
|
|
this.__commands.overrideBlendMode(blendMode);
|
|
}
|
|
,readGraphicsData: function(recurse) {
|
|
if(recurse == null) {
|
|
recurse = true;
|
|
}
|
|
var graphicsData = openfl_Vector.toObjectVector(null);
|
|
this.__owner.__readGraphicsData(graphicsData,recurse);
|
|
return graphicsData;
|
|
}
|
|
,__calculateBezierCubicPoint: function(t,p1,p2,p3,p4) {
|
|
var iT = 1 - t;
|
|
return p1 * (iT * iT * iT) + 3 * p2 * t * (iT * iT) + 3 * p3 * iT * (t * t) + p4 * (t * t * t);
|
|
}
|
|
,__calculateBezierQuadPoint: function(t,p1,p2,p3) {
|
|
var iT = 1 - t;
|
|
return iT * iT * p1 + 2 * iT * t * p2 + t * t * p3;
|
|
}
|
|
,__cleanup: function() {
|
|
if(this.__bounds != null && this.__canvas != null) {
|
|
this.set___dirty(true);
|
|
this.__transformDirty = true;
|
|
}
|
|
this.__bitmap = null;
|
|
this.__canvas = null;
|
|
this.__context = null;
|
|
}
|
|
,__getBounds: function(rect,matrix) {
|
|
if(this.__bounds == null) {
|
|
return;
|
|
}
|
|
var bounds = openfl_geom_Rectangle.__pool.get();
|
|
this.__bounds.__transform(bounds,matrix);
|
|
rect.__expand(bounds.x,bounds.y,bounds.width,bounds.height);
|
|
openfl_geom_Rectangle.__pool.release(bounds);
|
|
}
|
|
,__hitTest: function(x,y,shapeFlag,matrix) {
|
|
if(this.__bounds == null) {
|
|
return false;
|
|
}
|
|
var norm = matrix.a * matrix.d - matrix.b * matrix.c;
|
|
var px = norm == 0 ? -matrix.tx : 1.0 / norm * (matrix.c * (matrix.ty - y) + matrix.d * (x - matrix.tx));
|
|
var norm = matrix.a * matrix.d - matrix.b * matrix.c;
|
|
var py = norm == 0 ? -matrix.ty : 1.0 / norm * (matrix.a * (y - matrix.ty) + matrix.b * (matrix.tx - x));
|
|
if(px > this.__bounds.x && py > this.__bounds.y && this.__bounds.contains(px,py)) {
|
|
if(shapeFlag) {
|
|
return openfl_display__$internal_CanvasGraphics.hitTest(this,px,py);
|
|
}
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
,__inflateBounds: function(x,y) {
|
|
if(this.__bounds == null) {
|
|
this.__bounds = new openfl_geom_Rectangle(x,y,0,0);
|
|
this.__transformDirty = true;
|
|
return;
|
|
}
|
|
if(x < this.__bounds.x) {
|
|
this.__bounds.width += this.__bounds.x - x;
|
|
this.__bounds.x = x;
|
|
this.__transformDirty = true;
|
|
}
|
|
if(y < this.__bounds.y) {
|
|
this.__bounds.height += this.__bounds.y - y;
|
|
this.__bounds.y = y;
|
|
this.__transformDirty = true;
|
|
}
|
|
if(x > this.__bounds.x + this.__bounds.width) {
|
|
this.__bounds.width = x - this.__bounds.x;
|
|
}
|
|
if(y > this.__bounds.y + this.__bounds.height) {
|
|
this.__bounds.height = y - this.__bounds.y;
|
|
}
|
|
}
|
|
,__readGraphicsData: function(graphicsData) {
|
|
var data = new openfl_display__$internal_DrawCommandReader(this.__commands);
|
|
var path = null;
|
|
var stroke;
|
|
var _g = 0;
|
|
var _g1 = this.__commands.types;
|
|
while(_g < _g1.length) {
|
|
var type = _g1[_g];
|
|
++_g;
|
|
switch(type._hx_index) {
|
|
case 4:case 5:case 6:case 7:case 9:case 10:case 17:case 18:
|
|
if(path == null) {
|
|
path = new openfl_display_GraphicsPath();
|
|
}
|
|
break;
|
|
default:
|
|
if(path != null) {
|
|
graphicsData.push(path);
|
|
path = null;
|
|
}
|
|
}
|
|
switch(type._hx_index) {
|
|
case 0:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.BEGIN_BITMAP_FILL;
|
|
var this1 = data;
|
|
var c = this1;
|
|
graphicsData.push(new openfl_display_GraphicsBitmapFill(c.buffer.o[c.oPos],c.buffer.o[c.oPos + 1],c.buffer.b[c.bPos],c.buffer.b[c.bPos + 1]));
|
|
break;
|
|
case 1:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.BEGIN_FILL;
|
|
var this2 = data;
|
|
var c1 = this2;
|
|
graphicsData.push(new openfl_display_GraphicsSolidFill(c1.buffer.i[c1.iPos],1));
|
|
break;
|
|
case 2:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.BEGIN_GRADIENT_FILL;
|
|
var this3 = data;
|
|
var c2 = this3;
|
|
graphicsData.push(new openfl_display_GraphicsGradientFill(c2.buffer.o[c2.oPos],c2.buffer.ii[c2.iiPos],c2.buffer.ff[c2.ffPos],c2.buffer.ii[c2.iiPos + 1],c2.buffer.o[c2.oPos + 1],c2.buffer.o[c2.oPos + 2],c2.buffer.o[c2.oPos + 3],c2.buffer.f[c2.fPos]));
|
|
break;
|
|
case 3:
|
|
break;
|
|
case 4:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.CUBIC_CURVE_TO;
|
|
var this4 = data;
|
|
var c3 = this4;
|
|
path.cubicCurveTo(c3.buffer.f[c3.fPos],c3.buffer.f[c3.fPos + 1],c3.buffer.f[c3.fPos + 2],c3.buffer.f[c3.fPos + 3],c3.buffer.f[c3.fPos + 4],c3.buffer.f[c3.fPos + 5]);
|
|
break;
|
|
case 5:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.CURVE_TO;
|
|
var this5 = data;
|
|
var c4 = this5;
|
|
path.curveTo(c4.buffer.f[c4.fPos],c4.buffer.f[c4.fPos + 1],c4.buffer.f[c4.fPos + 2],c4.buffer.f[c4.fPos + 3]);
|
|
break;
|
|
case 6:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.DRAW_CIRCLE;
|
|
var this6 = data;
|
|
var c5 = this6;
|
|
path.__drawCircle(c5.buffer.f[c5.fPos],c5.buffer.f[c5.fPos + 1],c5.buffer.f[c5.fPos + 2]);
|
|
break;
|
|
case 7:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.DRAW_ELLIPSE;
|
|
var this7 = data;
|
|
var c6 = this7;
|
|
path.__drawEllipse(c6.buffer.f[c6.fPos],c6.buffer.f[c6.fPos + 1],c6.buffer.f[c6.fPos + 2],c6.buffer.f[c6.fPos + 3]);
|
|
break;
|
|
case 9:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.DRAW_RECT;
|
|
var this8 = data;
|
|
var c7 = this8;
|
|
path.__drawRect(c7.buffer.f[c7.fPos],c7.buffer.f[c7.fPos + 1],c7.buffer.f[c7.fPos + 2],c7.buffer.f[c7.fPos + 3]);
|
|
break;
|
|
case 10:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.DRAW_ROUND_RECT;
|
|
var this9 = data;
|
|
var c8 = this9;
|
|
path.__drawRoundRect(c8.buffer.f[c8.fPos],c8.buffer.f[c8.fPos + 1],c8.buffer.f[c8.fPos + 2],c8.buffer.f[c8.fPos + 3],c8.buffer.f[c8.fPos + 4],c8.buffer.o[c8.oPos] != null ? c8.buffer.o[c8.oPos] : c8.buffer.f[c8.fPos + 4]);
|
|
break;
|
|
case 13:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.END_FILL;
|
|
var this10 = data;
|
|
graphicsData.push(new openfl_display_GraphicsEndFill());
|
|
break;
|
|
case 14:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.LINE_BITMAP_STYLE;
|
|
var this11 = data;
|
|
var c9 = this11;
|
|
path = null;
|
|
break;
|
|
case 15:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.LINE_GRADIENT_STYLE;
|
|
var this12 = data;
|
|
var c10 = this12;
|
|
break;
|
|
case 16:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.LINE_STYLE;
|
|
var this13 = data;
|
|
var c11 = this13;
|
|
stroke = new openfl_display_GraphicsStroke(c11.buffer.o[c11.oPos],c11.buffer.b[c11.bPos],c11.buffer.o[c11.oPos + 1],c11.buffer.o[c11.oPos + 2],c11.buffer.o[c11.oPos + 3],c11.buffer.f[c11.fPos + 1]);
|
|
stroke.fill = new openfl_display_GraphicsSolidFill(c11.buffer.i[c11.iPos],c11.buffer.f[c11.fPos]);
|
|
graphicsData.push(stroke);
|
|
break;
|
|
case 17:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.LINE_TO;
|
|
var this14 = data;
|
|
var c12 = this14;
|
|
path.lineTo(c12.buffer.f[c12.fPos],c12.buffer.f[c12.fPos + 1]);
|
|
break;
|
|
case 18:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.MOVE_TO;
|
|
var this15 = data;
|
|
var c13 = this15;
|
|
path.moveTo(c13.buffer.f[c13.fPos],c13.buffer.f[c13.fPos + 1]);
|
|
break;
|
|
default:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = type;
|
|
}
|
|
}
|
|
if(path != null) {
|
|
graphicsData.push(path);
|
|
}
|
|
}
|
|
,__update: function(displayMatrix) {
|
|
if(this.__bounds == null || this.__bounds.width <= 0 || this.__bounds.height <= 0) {
|
|
return;
|
|
}
|
|
var parentTransform = this.__owner.__renderTransform;
|
|
var scaleX = 1.0;
|
|
var scaleY = 1.0;
|
|
if(parentTransform != null) {
|
|
if(parentTransform.b == 0) {
|
|
scaleX = Math.abs(parentTransform.a);
|
|
} else {
|
|
scaleX = Math.sqrt(parentTransform.a * parentTransform.a + parentTransform.b * parentTransform.b);
|
|
}
|
|
if(parentTransform.c == 0) {
|
|
scaleY = Math.abs(parentTransform.d);
|
|
} else {
|
|
scaleY = Math.sqrt(parentTransform.c * parentTransform.c + parentTransform.d * parentTransform.d);
|
|
}
|
|
} else {
|
|
return;
|
|
}
|
|
if(displayMatrix != null) {
|
|
if(displayMatrix.b == 0) {
|
|
scaleX *= displayMatrix.a;
|
|
} else {
|
|
scaleX *= Math.sqrt(displayMatrix.a * displayMatrix.a + displayMatrix.b * displayMatrix.b);
|
|
}
|
|
if(displayMatrix.c == 0) {
|
|
scaleY *= displayMatrix.d;
|
|
} else {
|
|
scaleY *= Math.sqrt(displayMatrix.c * displayMatrix.c + displayMatrix.d * displayMatrix.d);
|
|
}
|
|
}
|
|
var width = this.__bounds.width * scaleX;
|
|
var height = this.__bounds.height * scaleY;
|
|
if(width < 1 || height < 1) {
|
|
if(this.__width >= 1 || this.__height >= 1) {
|
|
this.set___dirty(true);
|
|
}
|
|
this.__width = 0;
|
|
this.__height = 0;
|
|
return;
|
|
}
|
|
if(openfl_display_Graphics.maxTextureWidth != null && width > openfl_display_Graphics.maxTextureWidth) {
|
|
width = openfl_display_Graphics.maxTextureWidth;
|
|
scaleX = openfl_display_Graphics.maxTextureWidth / this.__bounds.width;
|
|
}
|
|
if(openfl_display_Graphics.maxTextureWidth != null && height > openfl_display_Graphics.maxTextureHeight) {
|
|
height = openfl_display_Graphics.maxTextureHeight;
|
|
scaleY = openfl_display_Graphics.maxTextureHeight / this.__bounds.height;
|
|
}
|
|
this.__renderTransform.a = width / this.__bounds.width;
|
|
this.__renderTransform.d = height / this.__bounds.height;
|
|
var inverseA = 1 / this.__renderTransform.a;
|
|
var inverseD = 1 / this.__renderTransform.d;
|
|
this.__worldTransform.a = inverseA * parentTransform.a;
|
|
this.__worldTransform.b = inverseA * parentTransform.b;
|
|
this.__worldTransform.c = inverseD * parentTransform.c;
|
|
this.__worldTransform.d = inverseD * parentTransform.d;
|
|
var x = this.__bounds.x;
|
|
var y = this.__bounds.y;
|
|
var tx = x * parentTransform.a + y * parentTransform.c + parentTransform.tx;
|
|
var ty = x * parentTransform.b + y * parentTransform.d + parentTransform.ty;
|
|
this.__worldTransform.tx = Math.round(tx);
|
|
this.__worldTransform.ty = Math.round(ty);
|
|
var _this = this.__worldTransform;
|
|
var norm = _this.a * _this.d - _this.b * _this.c;
|
|
this.__renderTransform.tx = norm == 0 ? -_this.tx : 1.0 / norm * (_this.c * (_this.ty - ty) + _this.d * (tx - _this.tx));
|
|
var _this = this.__worldTransform;
|
|
var norm = _this.a * _this.d - _this.b * _this.c;
|
|
this.__renderTransform.ty = norm == 0 ? -_this.ty : 1.0 / norm * (_this.a * (ty - _this.ty) + _this.b * (_this.tx - tx));
|
|
var newWidth = Math.ceil(width + 1.0);
|
|
var newHeight = Math.ceil(height + 1.0);
|
|
if(newWidth != this.__width || newHeight != this.__height) {
|
|
this.set___dirty(true);
|
|
}
|
|
this.__width = newWidth;
|
|
this.__height = newHeight;
|
|
}
|
|
,set___dirty: function(value) {
|
|
if(value && this.__owner != null) {
|
|
var _this = this.__owner;
|
|
if(!_this.__renderDirty) {
|
|
_this.__renderDirty = true;
|
|
_this.__setParentRenderDirty();
|
|
}
|
|
}
|
|
if(value) {
|
|
this.__softwareDirty = true;
|
|
this.__hardwareDirty = true;
|
|
}
|
|
return this.__dirty = value;
|
|
}
|
|
,__class__: openfl_display_Graphics
|
|
,__properties__: {set___dirty:"set___dirty"}
|
|
};
|
|
var openfl_display_IGraphicsFill = function() { };
|
|
$hxClasses["openfl.display.IGraphicsFill"] = openfl_display_IGraphicsFill;
|
|
openfl_display_IGraphicsFill.__name__ = "openfl.display.IGraphicsFill";
|
|
openfl_display_IGraphicsFill.__isInterface__ = true;
|
|
openfl_display_IGraphicsFill.prototype = {
|
|
__graphicsFillType: null
|
|
,__class__: openfl_display_IGraphicsFill
|
|
};
|
|
var openfl_display_IGraphicsData = function() { };
|
|
$hxClasses["openfl.display.IGraphicsData"] = openfl_display_IGraphicsData;
|
|
openfl_display_IGraphicsData.__name__ = "openfl.display.IGraphicsData";
|
|
openfl_display_IGraphicsData.__isInterface__ = true;
|
|
openfl_display_IGraphicsData.prototype = {
|
|
__graphicsDataType: null
|
|
,__class__: openfl_display_IGraphicsData
|
|
};
|
|
var openfl_display_GraphicsBitmapFill = function(bitmapData,matrix,repeat,smooth) {
|
|
if(smooth == null) {
|
|
smooth = false;
|
|
}
|
|
if(repeat == null) {
|
|
repeat = true;
|
|
}
|
|
this.bitmapData = bitmapData;
|
|
this.matrix = matrix;
|
|
this.repeat = repeat;
|
|
this.smooth = smooth;
|
|
this.__graphicsDataType = 4;
|
|
this.__graphicsFillType = 2;
|
|
};
|
|
$hxClasses["openfl.display.GraphicsBitmapFill"] = openfl_display_GraphicsBitmapFill;
|
|
openfl_display_GraphicsBitmapFill.__name__ = "openfl.display.GraphicsBitmapFill";
|
|
openfl_display_GraphicsBitmapFill.__interfaces__ = [openfl_display_IGraphicsFill,openfl_display_IGraphicsData];
|
|
openfl_display_GraphicsBitmapFill.prototype = {
|
|
bitmapData: null
|
|
,matrix: null
|
|
,repeat: null
|
|
,smooth: null
|
|
,__graphicsDataType: null
|
|
,__graphicsFillType: null
|
|
,__class__: openfl_display_GraphicsBitmapFill
|
|
};
|
|
var openfl_display_GraphicsEndFill = function() {
|
|
this.__graphicsDataType = 5;
|
|
this.__graphicsFillType = 3;
|
|
};
|
|
$hxClasses["openfl.display.GraphicsEndFill"] = openfl_display_GraphicsEndFill;
|
|
openfl_display_GraphicsEndFill.__name__ = "openfl.display.GraphicsEndFill";
|
|
openfl_display_GraphicsEndFill.__interfaces__ = [openfl_display_IGraphicsFill,openfl_display_IGraphicsData];
|
|
openfl_display_GraphicsEndFill.prototype = {
|
|
__graphicsDataType: null
|
|
,__graphicsFillType: null
|
|
,__class__: openfl_display_GraphicsEndFill
|
|
};
|
|
var openfl_display_GraphicsGradientFill = function(type,colors,alphas,ratios,matrix,spreadMethod,interpolationMethod,focalPointRatio) {
|
|
if(focalPointRatio == null) {
|
|
focalPointRatio = 0;
|
|
}
|
|
if(type == null) {
|
|
type = 0;
|
|
}
|
|
if(spreadMethod == null) {
|
|
spreadMethod = 0;
|
|
}
|
|
if(interpolationMethod == null) {
|
|
interpolationMethod = 1;
|
|
}
|
|
this.type = type;
|
|
this.colors = colors;
|
|
this.alphas = alphas;
|
|
this.ratios = ratios;
|
|
this.matrix = matrix;
|
|
this.spreadMethod = spreadMethod;
|
|
this.interpolationMethod = interpolationMethod;
|
|
this.focalPointRatio = focalPointRatio;
|
|
this.__graphicsDataType = 2;
|
|
this.__graphicsFillType = 1;
|
|
};
|
|
$hxClasses["openfl.display.GraphicsGradientFill"] = openfl_display_GraphicsGradientFill;
|
|
openfl_display_GraphicsGradientFill.__name__ = "openfl.display.GraphicsGradientFill";
|
|
openfl_display_GraphicsGradientFill.__interfaces__ = [openfl_display_IGraphicsFill,openfl_display_IGraphicsData];
|
|
openfl_display_GraphicsGradientFill.prototype = {
|
|
alphas: null
|
|
,colors: null
|
|
,focalPointRatio: null
|
|
,interpolationMethod: null
|
|
,matrix: null
|
|
,ratios: null
|
|
,spreadMethod: null
|
|
,type: null
|
|
,__graphicsDataType: null
|
|
,__graphicsFillType: null
|
|
,__class__: openfl_display_GraphicsGradientFill
|
|
};
|
|
var openfl_display_IGraphicsPath = function() { };
|
|
$hxClasses["openfl.display.IGraphicsPath"] = openfl_display_IGraphicsPath;
|
|
openfl_display_IGraphicsPath.__name__ = "openfl.display.IGraphicsPath";
|
|
openfl_display_IGraphicsPath.__isInterface__ = true;
|
|
var openfl_display_GraphicsPath = function(commands,data,winding) {
|
|
if(winding == null) {
|
|
winding = 0;
|
|
}
|
|
this.commands = commands;
|
|
this.data = data;
|
|
this.winding = winding;
|
|
this.__graphicsDataType = 3;
|
|
};
|
|
$hxClasses["openfl.display.GraphicsPath"] = openfl_display_GraphicsPath;
|
|
openfl_display_GraphicsPath.__name__ = "openfl.display.GraphicsPath";
|
|
openfl_display_GraphicsPath.__interfaces__ = [openfl_display_IGraphicsPath,openfl_display_IGraphicsData];
|
|
openfl_display_GraphicsPath.prototype = {
|
|
commands: null
|
|
,data: null
|
|
,winding: null
|
|
,__graphicsDataType: null
|
|
,cubicCurveTo: function(controlX1,controlY1,controlX2,controlY2,anchorX,anchorY) {
|
|
if(this.commands == null) {
|
|
this.commands = openfl_Vector.toIntVector(null);
|
|
}
|
|
if(this.data == null) {
|
|
this.data = openfl_Vector.toFloatVector(null);
|
|
}
|
|
this.commands.push(6);
|
|
this.data.push(controlX1);
|
|
this.data.push(controlY1);
|
|
this.data.push(controlX2);
|
|
this.data.push(controlY2);
|
|
this.data.push(anchorX);
|
|
this.data.push(anchorY);
|
|
}
|
|
,curveTo: function(controlX,controlY,anchorX,anchorY) {
|
|
if(this.commands == null) {
|
|
this.commands = openfl_Vector.toIntVector(null);
|
|
}
|
|
if(this.data == null) {
|
|
this.data = openfl_Vector.toFloatVector(null);
|
|
}
|
|
this.commands.push(3);
|
|
this.data.push(controlX);
|
|
this.data.push(controlY);
|
|
this.data.push(anchorX);
|
|
this.data.push(anchorY);
|
|
}
|
|
,lineTo: function(x,y) {
|
|
if(this.commands == null) {
|
|
this.commands = openfl_Vector.toIntVector(null);
|
|
}
|
|
if(this.data == null) {
|
|
this.data = openfl_Vector.toFloatVector(null);
|
|
}
|
|
this.commands.push(2);
|
|
this.data.push(x);
|
|
this.data.push(y);
|
|
}
|
|
,moveTo: function(x,y) {
|
|
if(this.commands == null) {
|
|
this.commands = openfl_Vector.toIntVector(null);
|
|
}
|
|
if(this.data == null) {
|
|
this.data = openfl_Vector.toFloatVector(null);
|
|
}
|
|
this.commands.push(1);
|
|
this.data.push(x);
|
|
this.data.push(y);
|
|
}
|
|
,wideLineTo: function(x,y) {
|
|
if(this.commands == null) {
|
|
this.commands = openfl_Vector.toIntVector(null);
|
|
}
|
|
if(this.data == null) {
|
|
this.data = openfl_Vector.toFloatVector(null);
|
|
}
|
|
this.commands.push(2);
|
|
this.data.push(x);
|
|
this.data.push(y);
|
|
}
|
|
,wideMoveTo: function(x,y) {
|
|
if(this.commands == null) {
|
|
this.commands = openfl_Vector.toIntVector(null);
|
|
}
|
|
if(this.data == null) {
|
|
this.data = openfl_Vector.toFloatVector(null);
|
|
}
|
|
this.commands.push(1);
|
|
this.data.push(x);
|
|
this.data.push(y);
|
|
}
|
|
,__drawCircle: function(x,y,radius) {
|
|
this.__drawRoundRect(x - radius,y - radius,radius * 2,radius * 2,radius * 2,radius * 2);
|
|
}
|
|
,__drawEllipse: function(x,y,width,height) {
|
|
this.__drawRoundRect(x,y,width,height,width,height);
|
|
}
|
|
,__drawRect: function(x,y,width,height) {
|
|
this.moveTo(x,y);
|
|
this.lineTo(x + width,y);
|
|
this.lineTo(x + width,y + height);
|
|
this.lineTo(x,y + height);
|
|
this.lineTo(x,y);
|
|
}
|
|
,__drawRoundRect: function(x,y,width,height,ellipseWidth,ellipseHeight) {
|
|
ellipseWidth *= 0.5;
|
|
ellipseHeight *= 0.5;
|
|
if(ellipseWidth > width / 2) {
|
|
ellipseWidth = width / 2;
|
|
}
|
|
if(ellipseHeight > height / 2) {
|
|
ellipseHeight = height / 2;
|
|
}
|
|
var xe = x + width;
|
|
var ye = y + height;
|
|
var cx1 = -ellipseWidth + ellipseWidth * 0.70710678118654752440084436210485;
|
|
var cx2 = -ellipseWidth + ellipseWidth * 0.4142135623730950488016887242097;
|
|
var cy1 = -ellipseHeight + ellipseHeight * 0.70710678118654752440084436210485;
|
|
var cy2 = -ellipseHeight + ellipseHeight * 0.4142135623730950488016887242097;
|
|
this.moveTo(xe,ye - ellipseHeight);
|
|
this.curveTo(xe,ye + cy2,xe + cx1,ye + cy1);
|
|
this.curveTo(xe + cx2,ye,xe - ellipseWidth,ye);
|
|
this.lineTo(x + ellipseWidth,ye);
|
|
this.curveTo(x - cx2,ye,x - cx1,ye + cy1);
|
|
this.curveTo(x,ye + cy2,x,ye - ellipseHeight);
|
|
this.lineTo(x,y + ellipseHeight);
|
|
this.curveTo(x,y - cy2,x - cx1,y - cy1);
|
|
this.curveTo(x - cx2,y,x + ellipseWidth,y);
|
|
this.lineTo(xe - ellipseWidth,y);
|
|
this.curveTo(xe + cx2,y,xe + cx1,y - cy1);
|
|
this.curveTo(xe,y - cy2,xe,y + ellipseHeight);
|
|
this.lineTo(xe,ye - ellipseHeight);
|
|
}
|
|
,__class__: openfl_display_GraphicsPath
|
|
};
|
|
var openfl_display_GraphicsPathWinding = {};
|
|
openfl_display_GraphicsPathWinding.fromString = function(value) {
|
|
switch(value) {
|
|
case "evenOdd":
|
|
return 0;
|
|
case "nonZero":
|
|
return 1;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_display_GraphicsPathWinding.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "evenOdd";
|
|
case 1:
|
|
return "nonZero";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
var openfl_display_GraphicsQuadPath = function(rects,indices,transforms) {
|
|
this.rects = rects;
|
|
this.indices = indices;
|
|
this.transforms = transforms;
|
|
this.__graphicsDataType = 6;
|
|
};
|
|
$hxClasses["openfl.display.GraphicsQuadPath"] = openfl_display_GraphicsQuadPath;
|
|
openfl_display_GraphicsQuadPath.__name__ = "openfl.display.GraphicsQuadPath";
|
|
openfl_display_GraphicsQuadPath.__interfaces__ = [openfl_display_IGraphicsPath,openfl_display_IGraphicsData];
|
|
openfl_display_GraphicsQuadPath.prototype = {
|
|
indices: null
|
|
,rects: null
|
|
,transforms: null
|
|
,__graphicsDataType: null
|
|
,__class__: openfl_display_GraphicsQuadPath
|
|
};
|
|
var openfl_display_GraphicsShaderFill = function(shader,matrix) {
|
|
this.shader = shader;
|
|
this.matrix = matrix;
|
|
this.__graphicsDataType = 8;
|
|
this.__graphicsFillType = 4;
|
|
};
|
|
$hxClasses["openfl.display.GraphicsShaderFill"] = openfl_display_GraphicsShaderFill;
|
|
openfl_display_GraphicsShaderFill.__name__ = "openfl.display.GraphicsShaderFill";
|
|
openfl_display_GraphicsShaderFill.__interfaces__ = [openfl_display_IGraphicsFill,openfl_display_IGraphicsData];
|
|
openfl_display_GraphicsShaderFill.prototype = {
|
|
matrix: null
|
|
,shader: null
|
|
,__graphicsDataType: null
|
|
,__graphicsFillType: null
|
|
,__class__: openfl_display_GraphicsShaderFill
|
|
};
|
|
var openfl_display_GraphicsSolidFill = function(color,alpha) {
|
|
if(alpha == null) {
|
|
alpha = 1;
|
|
}
|
|
if(color == null) {
|
|
color = 0;
|
|
}
|
|
this.alpha = alpha;
|
|
this.color = color;
|
|
this.__graphicsDataType = 1;
|
|
this.__graphicsFillType = 0;
|
|
};
|
|
$hxClasses["openfl.display.GraphicsSolidFill"] = openfl_display_GraphicsSolidFill;
|
|
openfl_display_GraphicsSolidFill.__name__ = "openfl.display.GraphicsSolidFill";
|
|
openfl_display_GraphicsSolidFill.__interfaces__ = [openfl_display_IGraphicsFill,openfl_display_IGraphicsData];
|
|
openfl_display_GraphicsSolidFill.prototype = {
|
|
alpha: null
|
|
,color: null
|
|
,__graphicsDataType: null
|
|
,__graphicsFillType: null
|
|
,__class__: openfl_display_GraphicsSolidFill
|
|
};
|
|
var openfl_display_IGraphicsStroke = function() { };
|
|
$hxClasses["openfl.display.IGraphicsStroke"] = openfl_display_IGraphicsStroke;
|
|
openfl_display_IGraphicsStroke.__name__ = "openfl.display.IGraphicsStroke";
|
|
openfl_display_IGraphicsStroke.__isInterface__ = true;
|
|
var openfl_display_GraphicsStroke = function(thickness,pixelHinting,scaleMode,caps,joints,miterLimit,fill) {
|
|
if(miterLimit == null) {
|
|
miterLimit = 3;
|
|
}
|
|
if(joints == null) {
|
|
joints = 2;
|
|
}
|
|
if(caps == null) {
|
|
caps = 0;
|
|
}
|
|
if(scaleMode == null) {
|
|
scaleMode = 2;
|
|
}
|
|
if(pixelHinting == null) {
|
|
pixelHinting = false;
|
|
}
|
|
if(thickness == null) {
|
|
thickness = NaN;
|
|
}
|
|
this.caps = caps;
|
|
this.fill = fill;
|
|
this.joints = joints;
|
|
this.miterLimit = miterLimit;
|
|
this.pixelHinting = pixelHinting;
|
|
this.scaleMode = scaleMode;
|
|
this.thickness = thickness;
|
|
this.__graphicsDataType = 0;
|
|
};
|
|
$hxClasses["openfl.display.GraphicsStroke"] = openfl_display_GraphicsStroke;
|
|
openfl_display_GraphicsStroke.__name__ = "openfl.display.GraphicsStroke";
|
|
openfl_display_GraphicsStroke.__interfaces__ = [openfl_display_IGraphicsStroke,openfl_display_IGraphicsData];
|
|
openfl_display_GraphicsStroke.prototype = {
|
|
caps: null
|
|
,fill: null
|
|
,joints: null
|
|
,miterLimit: null
|
|
,pixelHinting: null
|
|
,scaleMode: null
|
|
,thickness: null
|
|
,__graphicsDataType: null
|
|
,__class__: openfl_display_GraphicsStroke
|
|
};
|
|
var openfl_display_GraphicsTrianglePath = function(vertices,indices,uvtData,culling) {
|
|
if(culling == null) {
|
|
culling = 1;
|
|
}
|
|
this.vertices = vertices;
|
|
this.indices = indices;
|
|
this.uvtData = uvtData;
|
|
this.culling = culling;
|
|
this.__graphicsDataType = 7;
|
|
};
|
|
$hxClasses["openfl.display.GraphicsTrianglePath"] = openfl_display_GraphicsTrianglePath;
|
|
openfl_display_GraphicsTrianglePath.__name__ = "openfl.display.GraphicsTrianglePath";
|
|
openfl_display_GraphicsTrianglePath.__interfaces__ = [openfl_display_IGraphicsPath,openfl_display_IGraphicsData];
|
|
openfl_display_GraphicsTrianglePath.prototype = {
|
|
culling: null
|
|
,indices: null
|
|
,uvtData: null
|
|
,vertices: null
|
|
,__graphicsDataType: null
|
|
,__class__: openfl_display_GraphicsTrianglePath
|
|
};
|
|
var openfl_display_InterpolationMethod = {};
|
|
openfl_display_InterpolationMethod.fromInt = function(value) {
|
|
return value;
|
|
};
|
|
openfl_display_InterpolationMethod.fromString = function(value) {
|
|
switch(value) {
|
|
case "linearRGB":
|
|
return 0;
|
|
case "rgb":
|
|
return 1;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_display_InterpolationMethod.toInt = function(this1) {
|
|
return this1;
|
|
};
|
|
openfl_display_InterpolationMethod.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "linearRGB";
|
|
case 1:
|
|
return "rgb";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
var openfl_display_JPEGEncoderOptions = function(quality) {
|
|
if(quality == null) {
|
|
quality = 80;
|
|
}
|
|
this.quality = quality;
|
|
};
|
|
$hxClasses["openfl.display.JPEGEncoderOptions"] = openfl_display_JPEGEncoderOptions;
|
|
openfl_display_JPEGEncoderOptions.__name__ = "openfl.display.JPEGEncoderOptions";
|
|
openfl_display_JPEGEncoderOptions.prototype = {
|
|
quality: null
|
|
,__class__: openfl_display_JPEGEncoderOptions
|
|
};
|
|
var openfl_display_JointStyle = {};
|
|
openfl_display_JointStyle.fromInt = function(value) {
|
|
return value;
|
|
};
|
|
openfl_display_JointStyle.fromString = function(value) {
|
|
switch(value) {
|
|
case "bevel":
|
|
return 0;
|
|
case "miter":
|
|
return 1;
|
|
case "round":
|
|
return 2;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_display_JointStyle.toInt = function(this1) {
|
|
return this1;
|
|
};
|
|
openfl_display_JointStyle.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "bevel";
|
|
case 1:
|
|
return "miter";
|
|
case 2:
|
|
return "round";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
var openfl_display_LineScaleMode = {};
|
|
openfl_display_LineScaleMode.fromInt = function(value) {
|
|
return value;
|
|
};
|
|
openfl_display_LineScaleMode.fromString = function(value) {
|
|
switch(value) {
|
|
case "horizontal":
|
|
return 0;
|
|
case "none":
|
|
return 1;
|
|
case "normal":
|
|
return 2;
|
|
case "vertical":
|
|
return 3;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_display_LineScaleMode.toInt = function(this1) {
|
|
return this1;
|
|
};
|
|
openfl_display_LineScaleMode.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "horizontal";
|
|
case 1:
|
|
return "none";
|
|
case 2:
|
|
return "normal";
|
|
case 3:
|
|
return "vertical";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
var openfl_display_Loader = function() {
|
|
openfl_display_DisplayObjectContainer.call(this);
|
|
this.contentLoaderInfo = openfl_display_LoaderInfo.create(this);
|
|
this.uncaughtErrorEvents = this.contentLoaderInfo.uncaughtErrorEvents;
|
|
this.__unloaded = true;
|
|
};
|
|
$hxClasses["openfl.display.Loader"] = openfl_display_Loader;
|
|
openfl_display_Loader.__name__ = "openfl.display.Loader";
|
|
openfl_display_Loader.__super__ = openfl_display_DisplayObjectContainer;
|
|
openfl_display_Loader.prototype = $extend(openfl_display_DisplayObjectContainer.prototype,{
|
|
content: null
|
|
,contentLoaderInfo: null
|
|
,uncaughtErrorEvents: null
|
|
,__library: null
|
|
,__path: null
|
|
,__unloaded: null
|
|
,close: function() {
|
|
openfl__$internal_Lib.notImplemented({ fileName : "openfl/display/Loader.hx", lineNumber : 66, className : "openfl.display.Loader", methodName : "close"});
|
|
}
|
|
,load: function(request,context) {
|
|
this.unload();
|
|
this.contentLoaderInfo.loaderURL = openfl_Lib.get_current().get_loaderInfo().url;
|
|
this.contentLoaderInfo.url = request.url;
|
|
this.__unloaded = false;
|
|
if(request.contentType == null || request.contentType == "") {
|
|
var extension = "";
|
|
this.__path = request.url;
|
|
var queryIndex = this.__path.indexOf("?");
|
|
if(queryIndex > -1) {
|
|
this.__path = this.__path.substring(0,queryIndex);
|
|
}
|
|
while(StringTools.endsWith(this.__path,"/")) this.__path = this.__path.substring(0,this.__path.length - 1);
|
|
if(StringTools.endsWith(this.__path,".bundle")) {
|
|
this.__path += "/library.json";
|
|
if(queryIndex > -1) {
|
|
request.url = this.__path + request.url.substring(queryIndex);
|
|
} else {
|
|
request.url = this.__path;
|
|
}
|
|
}
|
|
var extIndex = this.__path.lastIndexOf(".");
|
|
if(extIndex > -1) {
|
|
extension = this.__path.substring(extIndex + 1);
|
|
}
|
|
var tmp;
|
|
switch(extension) {
|
|
case "gif":
|
|
tmp = "image/gif";
|
|
break;
|
|
case "jpeg":case "jpg":
|
|
tmp = "image/jpeg";
|
|
break;
|
|
case "js":
|
|
tmp = "application/javascript";
|
|
break;
|
|
case "json":
|
|
tmp = "application/json";
|
|
break;
|
|
case "png":
|
|
tmp = "image/png";
|
|
break;
|
|
case "swf":
|
|
tmp = "application/x-shockwave-flash";
|
|
break;
|
|
default:
|
|
tmp = "application/x-www-form-urlencoded";
|
|
}
|
|
this.contentLoaderInfo.contentType = tmp;
|
|
} else {
|
|
this.contentLoaderInfo.contentType = request.contentType;
|
|
}
|
|
if(this.contentLoaderInfo.contentType.indexOf("image/") > -1 && request.method == "GET" && (request.requestHeaders == null || request.requestHeaders.length == 0) && request.userAgent == null) {
|
|
openfl_display_BitmapData.loadFromFile(request.url).onComplete($bind(this,this.BitmapData_onLoad)).onError($bind(this,this.BitmapData_onError)).onProgress($bind(this,this.BitmapData_onProgress));
|
|
return;
|
|
}
|
|
var loader = new openfl_net_URLLoader();
|
|
loader.dataFormat = 0;
|
|
if(this.contentLoaderInfo.contentType.indexOf("/json") > -1 || this.contentLoaderInfo.contentType.indexOf("/javascript") > -1 || this.contentLoaderInfo.contentType.indexOf("/ecmascript") > -1) {
|
|
loader.dataFormat = 1;
|
|
}
|
|
loader.addEventListener("complete",$bind(this,this.loader_onComplete));
|
|
loader.addEventListener("ioError",$bind(this,this.loader_onError));
|
|
loader.addEventListener("progress",$bind(this,this.loader_onProgress));
|
|
loader.load(request);
|
|
}
|
|
,loadBytes: function(buffer,context) {
|
|
openfl_display_BitmapData.loadFromBytes(buffer).onComplete($bind(this,this.BitmapData_onLoad)).onError($bind(this,this.BitmapData_onError));
|
|
}
|
|
,unload: function() {
|
|
if(!this.__unloaded) {
|
|
if(this.content != null && this.content.parent == this) {
|
|
openfl_display_DisplayObjectContainer.prototype.removeChild.call(this,this.content);
|
|
}
|
|
if(this.__library != null) {
|
|
openfl_utils_Assets.unloadLibrary(this.contentLoaderInfo.url);
|
|
this.__library = null;
|
|
}
|
|
this.content = null;
|
|
this.contentLoaderInfo.url = null;
|
|
this.contentLoaderInfo.contentType = null;
|
|
this.contentLoaderInfo.content = null;
|
|
this.contentLoaderInfo.bytesLoaded = 0;
|
|
this.contentLoaderInfo.bytesTotal = 0;
|
|
this.contentLoaderInfo.width = 0;
|
|
this.contentLoaderInfo.height = 0;
|
|
this.__unloaded = true;
|
|
this.contentLoaderInfo.dispatchEvent(new openfl_events_Event("unload"));
|
|
}
|
|
}
|
|
,unloadAndStop: function(gc) {
|
|
if(gc == null) {
|
|
gc = true;
|
|
}
|
|
if(this.content != null) {
|
|
this.content.__stopAllMovieClips();
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.get_numChildren();
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
this.getChildAt(i).__stopAllMovieClips();
|
|
}
|
|
this.unload();
|
|
var gc1 = gc;
|
|
}
|
|
,__dispatchError: function(text) {
|
|
var event = new openfl_events_IOErrorEvent("ioError");
|
|
event.text = text;
|
|
this.contentLoaderInfo.dispatchEvent(event);
|
|
}
|
|
,__setContent: function(content,width,height) {
|
|
this.content = content;
|
|
this.contentLoaderInfo.content = content;
|
|
this.contentLoaderInfo.width = width;
|
|
this.contentLoaderInfo.height = height;
|
|
if(content != null) {
|
|
openfl_display_DisplayObjectContainer.prototype.addChildAt.call(this,content,0);
|
|
}
|
|
}
|
|
,BitmapData_onError: function(error) {
|
|
this.__dispatchError(Std.string(error));
|
|
}
|
|
,BitmapData_onLoad: function(bitmapData) {
|
|
if(bitmapData == null) {
|
|
this.__dispatchError("Unknown error");
|
|
return;
|
|
}
|
|
this.__setContent(new openfl_display_Bitmap(bitmapData),bitmapData.width,bitmapData.height);
|
|
this.contentLoaderInfo.dispatchEvent(new openfl_events_Event("complete"));
|
|
}
|
|
,BitmapData_onProgress: function(bytesLoaded,bytesTotal) {
|
|
var event = new openfl_events_ProgressEvent("progress");
|
|
event.bytesLoaded = bytesLoaded;
|
|
event.bytesTotal = bytesTotal;
|
|
this.contentLoaderInfo.dispatchEvent(event);
|
|
}
|
|
,loader_onComplete: function(event) {
|
|
var _gthis = this;
|
|
var loader = event.target;
|
|
if(this.contentLoaderInfo.contentType != null && this.contentLoaderInfo.contentType.indexOf("/json") > -1) {
|
|
var manifest = lime_utils_AssetManifest.parse(loader.data,haxe_io_Path.directory(this.__path));
|
|
if(manifest == null) {
|
|
this.__dispatchError("Cannot parse asset manifest");
|
|
return;
|
|
}
|
|
var library = lime_utils_AssetLibrary.fromManifest(manifest);
|
|
if(library == null) {
|
|
this.__dispatchError("Cannot open library");
|
|
return;
|
|
}
|
|
if(((library) instanceof openfl_utils_AssetLibrary)) {
|
|
library.load().onComplete(function(_) {
|
|
_gthis.__library = library;
|
|
openfl_utils_Assets.registerLibrary(_gthis.contentLoaderInfo.url,_gthis.__library);
|
|
if(manifest.name != null && !openfl_utils_Assets.hasLibrary(manifest.name)) {
|
|
openfl_utils_Assets.registerLibrary(manifest.name,_gthis.__library);
|
|
}
|
|
var clip = _gthis.__library.getMovieClip("");
|
|
_gthis.__setContent(clip,clip.get_width() | 0,clip.get_height() | 0);
|
|
_gthis.contentLoaderInfo.dispatchEvent(new openfl_events_Event("complete"));
|
|
}).onError(function(e) {
|
|
_gthis.__dispatchError(e);
|
|
});
|
|
}
|
|
} else if(this.contentLoaderInfo.contentType != null && (this.contentLoaderInfo.contentType.indexOf("/javascript") > -1 || this.contentLoaderInfo.contentType.indexOf("/ecmascript") > -1)) {
|
|
this.__setContent(new openfl_display_Sprite(),0,0);
|
|
eval("(function () {" + Std.string(loader.data) + "})()");
|
|
this.contentLoaderInfo.dispatchEvent(new openfl_events_Event("complete"));
|
|
} else {
|
|
this.contentLoaderInfo.bytes = loader.data;
|
|
openfl_display_BitmapData.loadFromBytes(loader.data).onComplete($bind(this,this.BitmapData_onLoad)).onError($bind(this,this.BitmapData_onError));
|
|
}
|
|
}
|
|
,loader_onError: function(event) {
|
|
event.target = this.contentLoaderInfo;
|
|
this.contentLoaderInfo.dispatchEvent(event);
|
|
}
|
|
,loader_onProgress: function(event) {
|
|
event.target = this.contentLoaderInfo;
|
|
this.contentLoaderInfo.dispatchEvent(event);
|
|
}
|
|
,__class__: openfl_display_Loader
|
|
});
|
|
var openfl_display_LoaderInfo = function() {
|
|
openfl_events_EventDispatcher.call(this);
|
|
this.applicationDomain = openfl_system_ApplicationDomain.currentDomain;
|
|
this.bytesLoaded = 0;
|
|
this.bytesTotal = 0;
|
|
this.childAllowsParent = true;
|
|
this.parameters = { };
|
|
};
|
|
$hxClasses["openfl.display.LoaderInfo"] = openfl_display_LoaderInfo;
|
|
openfl_display_LoaderInfo.__name__ = "openfl.display.LoaderInfo";
|
|
openfl_display_LoaderInfo.create = function(loader) {
|
|
var loaderInfo = new openfl_display_LoaderInfo();
|
|
loaderInfo.uncaughtErrorEvents = new openfl_events_UncaughtErrorEvents();
|
|
if(loader != null) {
|
|
loaderInfo.loader = loader;
|
|
} else {
|
|
loaderInfo.url = openfl_display_LoaderInfo.__rootURL;
|
|
}
|
|
return loaderInfo;
|
|
};
|
|
openfl_display_LoaderInfo.__super__ = openfl_events_EventDispatcher;
|
|
openfl_display_LoaderInfo.prototype = $extend(openfl_events_EventDispatcher.prototype,{
|
|
applicationDomain: null
|
|
,bytes: null
|
|
,bytesLoaded: null
|
|
,bytesTotal: null
|
|
,childAllowsParent: null
|
|
,content: null
|
|
,contentType: null
|
|
,frameRate: null
|
|
,height: null
|
|
,loader: null
|
|
,loaderURL: null
|
|
,parameters: null
|
|
,parentAllowsChild: null
|
|
,sameDomain: null
|
|
,sharedEvents: null
|
|
,uncaughtErrorEvents: null
|
|
,url: null
|
|
,width: null
|
|
,__completed: null
|
|
,__complete: function() {
|
|
if(!this.__completed) {
|
|
if(this.bytesLoaded < this.bytesTotal) {
|
|
this.bytesLoaded = this.bytesTotal;
|
|
}
|
|
this.__update(this.bytesLoaded,this.bytesTotal);
|
|
this.__completed = true;
|
|
this.dispatchEvent(new openfl_events_Event("complete"));
|
|
}
|
|
}
|
|
,__update: function(bytesLoaded,bytesTotal) {
|
|
this.bytesLoaded = bytesLoaded;
|
|
this.bytesTotal = bytesTotal;
|
|
this.dispatchEvent(new openfl_events_ProgressEvent("progress",false,false,bytesLoaded,bytesTotal));
|
|
}
|
|
,__class__: openfl_display_LoaderInfo
|
|
});
|
|
var openfl_display_MovieClip = function() {
|
|
openfl_display_Sprite.call(this);
|
|
this.__enabled = true;
|
|
if(openfl_display_MovieClip.__constructor != null) {
|
|
var method = openfl_display_MovieClip.__constructor;
|
|
openfl_display_MovieClip.__constructor = null;
|
|
method(this);
|
|
}
|
|
};
|
|
$hxClasses["openfl.display.MovieClip"] = openfl_display_MovieClip;
|
|
openfl_display_MovieClip.__name__ = "openfl.display.MovieClip";
|
|
openfl_display_MovieClip.__constructor = null;
|
|
openfl_display_MovieClip.fromTimeline = function(timeline) {
|
|
var movieClip = new openfl_display_MovieClip();
|
|
movieClip.attachTimeline(timeline);
|
|
return movieClip;
|
|
};
|
|
openfl_display_MovieClip.__super__ = openfl_display_Sprite;
|
|
openfl_display_MovieClip.prototype = $extend(openfl_display_Sprite.prototype,{
|
|
__enabled: null
|
|
,__hasDown: null
|
|
,__hasOver: null
|
|
,__hasUp: null
|
|
,__mouseIsDown: null
|
|
,__scene: null
|
|
,__timeline: null
|
|
,addFrameScript: function(index,method) {
|
|
if(this.__timeline != null) {
|
|
this.__timeline.__addFrameScript(index,method);
|
|
}
|
|
}
|
|
,attachTimeline: function(timeline) {
|
|
this.__timeline = timeline;
|
|
if(timeline != null) {
|
|
timeline.__attachMovieClip(this);
|
|
this.play();
|
|
}
|
|
}
|
|
,gotoAndPlay: function(frame,scene) {
|
|
if(this.__timeline != null) {
|
|
this.__timeline.__gotoAndPlay(frame,scene);
|
|
}
|
|
}
|
|
,gotoAndStop: function(frame,scene) {
|
|
if(this.__timeline != null) {
|
|
this.__timeline.__gotoAndStop(frame,scene);
|
|
}
|
|
}
|
|
,nextFrame: function() {
|
|
if(this.__timeline != null) {
|
|
this.__timeline.__nextFrame();
|
|
}
|
|
}
|
|
,nextScene: function() {
|
|
if(this.__timeline != null) {
|
|
this.__timeline.__nextScene();
|
|
}
|
|
}
|
|
,play: function() {
|
|
if(this.__timeline != null) {
|
|
this.__timeline.__play();
|
|
}
|
|
}
|
|
,prevFrame: function() {
|
|
if(this.__timeline != null) {
|
|
this.__timeline.__prevFrame();
|
|
}
|
|
}
|
|
,prevScene: function() {
|
|
if(this.__timeline != null) {
|
|
this.__timeline.__prevScene();
|
|
}
|
|
}
|
|
,stop: function() {
|
|
if(this.__timeline != null) {
|
|
this.__timeline.__stop();
|
|
}
|
|
}
|
|
,__enterFrame: function(deltaTime) {
|
|
if(this.__timeline != null) {
|
|
this.__timeline.__enterFrame(deltaTime);
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.__children;
|
|
while(_g < _g1.length) {
|
|
var child = _g1[_g];
|
|
++_g;
|
|
child.__enterFrame(deltaTime);
|
|
}
|
|
}
|
|
,__stopAllMovieClips: function() {
|
|
openfl_display_Sprite.prototype.__stopAllMovieClips.call(this);
|
|
this.stop();
|
|
}
|
|
,__tabTest: function(stack) {
|
|
if(!this.__enabled) {
|
|
return;
|
|
}
|
|
openfl_display_Sprite.prototype.__tabTest.call(this,stack);
|
|
}
|
|
,__onMouseDown: function(event) {
|
|
if(this.__enabled && this.__hasDown) {
|
|
this.gotoAndStop("_down");
|
|
}
|
|
this.__mouseIsDown = true;
|
|
this.stage.addEventListener("mouseUp",$bind(this,this.__onMouseUp),true);
|
|
}
|
|
,__onMouseUp: function(event) {
|
|
this.__mouseIsDown = false;
|
|
if(this.stage != null) {
|
|
this.stage.removeEventListener("mouseUp",$bind(this,this.__onMouseUp));
|
|
}
|
|
if(!this.__buttonMode) {
|
|
return;
|
|
}
|
|
if(event.target == this && this.__enabled && this.__hasOver) {
|
|
this.gotoAndStop("_over");
|
|
} else if(this.__enabled && this.__hasUp) {
|
|
this.gotoAndStop("_up");
|
|
}
|
|
}
|
|
,__onRollOut: function(event) {
|
|
if(!this.__enabled) {
|
|
return;
|
|
}
|
|
if(this.__mouseIsDown && this.__hasOver) {
|
|
this.gotoAndStop("_over");
|
|
} else if(this.__hasUp) {
|
|
this.gotoAndStop("_up");
|
|
}
|
|
}
|
|
,__onRollOver: function(event) {
|
|
if(this.__enabled && this.__hasOver) {
|
|
this.gotoAndStop("_over");
|
|
}
|
|
}
|
|
,set_buttonMode: function(value) {
|
|
if(this.__buttonMode != value) {
|
|
if(value) {
|
|
this.__hasDown = false;
|
|
this.__hasOver = false;
|
|
this.__hasUp = false;
|
|
var _g = 0;
|
|
var _g1 = this.get_currentLabels();
|
|
while(_g < _g1.length) {
|
|
var frameLabel = _g1[_g];
|
|
++_g;
|
|
switch(frameLabel.name) {
|
|
case "_down":
|
|
this.__hasDown = true;
|
|
break;
|
|
case "_over":
|
|
this.__hasOver = true;
|
|
break;
|
|
case "_up":
|
|
this.__hasUp = true;
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
if(this.__hasDown || this.__hasOver || this.__hasUp) {
|
|
this.addEventListener("rollOver",$bind(this,this.__onRollOver));
|
|
this.addEventListener("rollOut",$bind(this,this.__onRollOut));
|
|
this.addEventListener("mouseDown",$bind(this,this.__onMouseDown));
|
|
}
|
|
} else {
|
|
this.removeEventListener("rollOver",$bind(this,this.__onRollOver));
|
|
this.removeEventListener("rollOut",$bind(this,this.__onRollOut));
|
|
this.removeEventListener("mouseDown",$bind(this,this.__onMouseDown));
|
|
}
|
|
this.__buttonMode = value;
|
|
}
|
|
return value;
|
|
}
|
|
,get_currentFrame: function() {
|
|
if(this.__timeline != null) {
|
|
return this.__timeline.__currentFrame;
|
|
} else {
|
|
return 1;
|
|
}
|
|
}
|
|
,get_currentFrameLabel: function() {
|
|
if(this.__timeline != null) {
|
|
return this.__timeline.__currentFrameLabel;
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
,get_currentLabel: function() {
|
|
if(this.__timeline != null) {
|
|
return this.__timeline.__currentLabel;
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
,get_currentLabels: function() {
|
|
if(this.__timeline != null) {
|
|
return this.__timeline.__currentLabels.slice();
|
|
} else {
|
|
return [];
|
|
}
|
|
}
|
|
,get_currentScene: function() {
|
|
if(this.__timeline != null) {
|
|
return this.__timeline.__currentScene;
|
|
} else {
|
|
if(this.__scene == null) {
|
|
this.__scene = new openfl_display_Scene("",[],1);
|
|
}
|
|
return this.__scene;
|
|
}
|
|
}
|
|
,get_enabled: function() {
|
|
return this.__enabled;
|
|
}
|
|
,set_enabled: function(value) {
|
|
return this.__enabled = value;
|
|
}
|
|
,get_framesLoaded: function() {
|
|
if(this.__timeline != null) {
|
|
return this.__timeline.__framesLoaded;
|
|
} else {
|
|
return 1;
|
|
}
|
|
}
|
|
,get_isPlaying: function() {
|
|
if(this.__timeline != null) {
|
|
return this.__timeline.__isPlaying;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,get_scenes: function() {
|
|
if(this.__timeline != null) {
|
|
return this.__timeline.scenes.slice();
|
|
} else {
|
|
return [this.get_currentScene()];
|
|
}
|
|
}
|
|
,get_totalFrames: function() {
|
|
if(this.__timeline != null) {
|
|
return this.__timeline.__totalFrames;
|
|
} else {
|
|
return 1;
|
|
}
|
|
}
|
|
,__class__: openfl_display_MovieClip
|
|
,__properties__: $extend(openfl_display_Sprite.prototype.__properties__,{get_totalFrames:"get_totalFrames",get_scenes:"get_scenes",get_isPlaying:"get_isPlaying",get_framesLoaded:"get_framesLoaded",set_enabled:"set_enabled",get_enabled:"get_enabled",get_currentScene:"get_currentScene",get_currentLabels:"get_currentLabels",get_currentLabel:"get_currentLabel",get_currentFrameLabel:"get_currentFrameLabel",get_currentFrame:"get_currentFrame"})
|
|
});
|
|
var openfl_display_OpenGLRenderer = function(context,defaultRenderTarget) {
|
|
openfl_display_DisplayObjectRenderer.call(this);
|
|
this.__context3D = context;
|
|
this.__context = context.__context;
|
|
this.gl = context.__context.webgl;
|
|
this.__gl = this.gl;
|
|
this.__defaultRenderTarget = defaultRenderTarget;
|
|
this.__flipped = this.__defaultRenderTarget == null;
|
|
if(openfl_display_Graphics.maxTextureWidth == null) {
|
|
openfl_display_Graphics.maxTextureWidth = openfl_display_Graphics.maxTextureHeight = this.__gl.getParameter(this.__gl.MAX_TEXTURE_SIZE);
|
|
}
|
|
this.__matrix = lime_math_Matrix4._new();
|
|
this.__values = [];
|
|
this.__softwareRenderer = new openfl_display_CanvasRenderer(null);
|
|
this.__type = "opengl";
|
|
this.__setBlendMode(10);
|
|
this.__context3D.__setGLBlend(true);
|
|
this.__clipRects = [];
|
|
this.__maskObjects = [];
|
|
this.__numClipRects = 0;
|
|
this.__projection = lime_math_Matrix4._new();
|
|
this.__projectionFlipped = lime_math_Matrix4._new();
|
|
this.__stencilReference = 0;
|
|
this.__tempRect = new openfl_geom_Rectangle();
|
|
this.__defaultDisplayShader = new openfl_display_DisplayObjectShader();
|
|
this.__defaultGraphicsShader = new openfl_display_GraphicsShader();
|
|
this.__defaultShader = this.__defaultDisplayShader;
|
|
this.__initShader(this.__defaultShader);
|
|
this.__scrollRectMasks = new lime_utils_ObjectPool(function() {
|
|
return new openfl_display_Shape();
|
|
});
|
|
this.__maskShader = new openfl_display__$internal_Context3DMaskShader();
|
|
};
|
|
$hxClasses["openfl.display.OpenGLRenderer"] = openfl_display_OpenGLRenderer;
|
|
openfl_display_OpenGLRenderer.__name__ = "openfl.display.OpenGLRenderer";
|
|
openfl_display_OpenGLRenderer.__super__ = openfl_display_DisplayObjectRenderer;
|
|
openfl_display_OpenGLRenderer.prototype = $extend(openfl_display_DisplayObjectRenderer.prototype,{
|
|
gl: null
|
|
,__context3D: null
|
|
,__clipRects: null
|
|
,__currentDisplayShader: null
|
|
,__currentGraphicsShader: null
|
|
,__currentRenderTarget: null
|
|
,__currentShader: null
|
|
,__currentShaderBuffer: null
|
|
,__defaultDisplayShader: null
|
|
,__defaultGraphicsShader: null
|
|
,__defaultRenderTarget: null
|
|
,__defaultShader: null
|
|
,__displayHeight: null
|
|
,__displayWidth: null
|
|
,__flipped: null
|
|
,__gl: null
|
|
,__height: null
|
|
,__maskShader: null
|
|
,__matrix: null
|
|
,__maskObjects: null
|
|
,__numClipRects: null
|
|
,__offsetX: null
|
|
,__offsetY: null
|
|
,__projection: null
|
|
,__projectionFlipped: null
|
|
,__scrollRectMasks: null
|
|
,__softwareRenderer: null
|
|
,__stencilReference: null
|
|
,__tempRect: null
|
|
,__updatedStencil: null
|
|
,__upscaled: null
|
|
,__values: null
|
|
,__width: null
|
|
,applyAlpha: function(alpha) {
|
|
openfl_display_OpenGLRenderer.__alphaValue[0] = alpha;
|
|
if(this.__currentShaderBuffer != null) {
|
|
this.__currentShaderBuffer.addFloatOverride("openfl_Alpha",openfl_display_OpenGLRenderer.__alphaValue);
|
|
} else if(this.__currentShader != null) {
|
|
if(this.__currentShader.__alpha != null) {
|
|
this.__currentShader.__alpha.value = openfl_display_OpenGLRenderer.__alphaValue;
|
|
}
|
|
}
|
|
}
|
|
,applyBitmapData: function(bitmapData,smooth,repeat) {
|
|
if(repeat == null) {
|
|
repeat = false;
|
|
}
|
|
if(this.__currentShaderBuffer != null) {
|
|
if(bitmapData != null) {
|
|
openfl_display_OpenGLRenderer.__textureSizeValue[0] = bitmapData.__textureWidth;
|
|
openfl_display_OpenGLRenderer.__textureSizeValue[1] = bitmapData.__textureHeight;
|
|
this.__currentShaderBuffer.addFloatOverride("openfl_TextureSize",openfl_display_OpenGLRenderer.__textureSizeValue);
|
|
}
|
|
} else if(this.__currentShader != null) {
|
|
if(this.__currentShader.__bitmap != null) {
|
|
this.__currentShader.__bitmap.input = bitmapData;
|
|
this.__currentShader.__bitmap.filter = smooth && this.__allowSmoothing ? 4 : 5;
|
|
this.__currentShader.__bitmap.mipFilter = 2;
|
|
this.__currentShader.__bitmap.wrap = repeat ? 2 : 0;
|
|
}
|
|
if(this.__currentShader.__texture != null) {
|
|
this.__currentShader.__texture.input = bitmapData;
|
|
this.__currentShader.__texture.filter = smooth && this.__allowSmoothing ? 4 : 5;
|
|
this.__currentShader.__texture.mipFilter = 2;
|
|
this.__currentShader.__texture.wrap = repeat ? 2 : 0;
|
|
}
|
|
if(this.__currentShader.__textureSize != null) {
|
|
if(bitmapData != null) {
|
|
openfl_display_OpenGLRenderer.__textureSizeValue[0] = bitmapData.__textureWidth;
|
|
openfl_display_OpenGLRenderer.__textureSizeValue[1] = bitmapData.__textureHeight;
|
|
this.__currentShader.__textureSize.value = openfl_display_OpenGLRenderer.__textureSizeValue;
|
|
} else {
|
|
this.__currentShader.__textureSize.value = null;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,applyColorTransform: function(colorTransform) {
|
|
var enabled = colorTransform != null && !colorTransform.__isDefault(true);
|
|
this.applyHasColorTransform(enabled);
|
|
if(enabled) {
|
|
colorTransform.__setArrays(openfl_display_OpenGLRenderer.__colorMultipliersValue,openfl_display_OpenGLRenderer.__colorOffsetsValue);
|
|
if(this.__currentShaderBuffer != null) {
|
|
this.__currentShaderBuffer.addFloatOverride("openfl_ColorMultiplier",openfl_display_OpenGLRenderer.__colorMultipliersValue);
|
|
this.__currentShaderBuffer.addFloatOverride("openfl_ColorOffset",openfl_display_OpenGLRenderer.__colorOffsetsValue);
|
|
} else if(this.__currentShader != null) {
|
|
if(this.__currentShader.__colorMultiplier != null) {
|
|
this.__currentShader.__colorMultiplier.value = openfl_display_OpenGLRenderer.__colorMultipliersValue;
|
|
}
|
|
if(this.__currentShader.__colorOffset != null) {
|
|
this.__currentShader.__colorOffset.value = openfl_display_OpenGLRenderer.__colorOffsetsValue;
|
|
}
|
|
}
|
|
} else if(this.__currentShaderBuffer != null) {
|
|
this.__currentShaderBuffer.addFloatOverride("openfl_ColorMultiplier",openfl_display_OpenGLRenderer.__emptyColorValue);
|
|
this.__currentShaderBuffer.addFloatOverride("openfl_ColorOffset",openfl_display_OpenGLRenderer.__emptyColorValue);
|
|
} else if(this.__currentShader != null) {
|
|
if(this.__currentShader.__colorMultiplier != null) {
|
|
this.__currentShader.__colorMultiplier.value = openfl_display_OpenGLRenderer.__emptyColorValue;
|
|
}
|
|
if(this.__currentShader.__colorOffset != null) {
|
|
this.__currentShader.__colorOffset.value = openfl_display_OpenGLRenderer.__emptyColorValue;
|
|
}
|
|
}
|
|
}
|
|
,applyHasColorTransform: function(enabled) {
|
|
openfl_display_OpenGLRenderer.__hasColorTransformValue[0] = enabled;
|
|
if(this.__currentShaderBuffer != null) {
|
|
this.__currentShaderBuffer.addBoolOverride("openfl_HasColorTransform",openfl_display_OpenGLRenderer.__hasColorTransformValue);
|
|
} else if(this.__currentShader != null) {
|
|
if(this.__currentShader.__hasColorTransform != null) {
|
|
this.__currentShader.__hasColorTransform.value = openfl_display_OpenGLRenderer.__hasColorTransformValue;
|
|
}
|
|
}
|
|
}
|
|
,applyMatrix: function(matrix) {
|
|
if(this.__currentShaderBuffer != null) {
|
|
this.__currentShaderBuffer.addFloatOverride("openfl_Matrix",matrix);
|
|
} else if(this.__currentShader != null) {
|
|
if(this.__currentShader.__matrix != null) {
|
|
this.__currentShader.__matrix.value = matrix;
|
|
}
|
|
}
|
|
}
|
|
,getMatrix: function(transform) {
|
|
if(this.gl != null) {
|
|
var values = this.__getMatrix(transform,1);
|
|
lime_math_Matrix4.set(this.__matrix,0,values[0]);
|
|
lime_math_Matrix4.set(this.__matrix,1,values[1]);
|
|
lime_math_Matrix4.set(this.__matrix,2,values[2]);
|
|
lime_math_Matrix4.set(this.__matrix,3,values[3]);
|
|
lime_math_Matrix4.set(this.__matrix,4,values[4]);
|
|
lime_math_Matrix4.set(this.__matrix,5,values[5]);
|
|
lime_math_Matrix4.set(this.__matrix,6,values[6]);
|
|
lime_math_Matrix4.set(this.__matrix,7,values[7]);
|
|
lime_math_Matrix4.set(this.__matrix,8,values[8]);
|
|
lime_math_Matrix4.set(this.__matrix,9,values[9]);
|
|
lime_math_Matrix4.set(this.__matrix,10,values[10]);
|
|
lime_math_Matrix4.set(this.__matrix,11,values[11]);
|
|
lime_math_Matrix4.set(this.__matrix,12,values[12]);
|
|
lime_math_Matrix4.set(this.__matrix,13,values[13]);
|
|
lime_math_Matrix4.set(this.__matrix,14,values[14]);
|
|
lime_math_Matrix4.set(this.__matrix,15,values[15]);
|
|
return this.__matrix;
|
|
} else {
|
|
lime_math_Matrix4.identity(this.__matrix);
|
|
lime_math_Matrix4.set(this.__matrix,0,transform.a);
|
|
lime_math_Matrix4.set(this.__matrix,1,transform.b);
|
|
lime_math_Matrix4.set(this.__matrix,4,transform.c);
|
|
lime_math_Matrix4.set(this.__matrix,5,transform.d);
|
|
lime_math_Matrix4.set(this.__matrix,12,transform.tx);
|
|
lime_math_Matrix4.set(this.__matrix,13,transform.ty);
|
|
return this.__matrix;
|
|
}
|
|
}
|
|
,setShader: function(shader) {
|
|
this.__currentShaderBuffer = null;
|
|
if(this.__currentShader == shader) {
|
|
return;
|
|
}
|
|
var tmp = this.__currentShader != null;
|
|
if(shader == null) {
|
|
this.__currentShader = null;
|
|
this.__context3D.setProgram(null);
|
|
return;
|
|
} else {
|
|
this.__currentShader = shader;
|
|
this.__initShader(shader);
|
|
this.__context3D.setProgram(shader.program);
|
|
this.__context3D.__flushGLProgram();
|
|
this.__currentShader.__enable();
|
|
this.__context3D.__state.shader = shader;
|
|
}
|
|
}
|
|
,setViewport: function() {
|
|
this.__gl.viewport(this.__offsetX,this.__offsetY,this.__displayWidth,this.__displayHeight);
|
|
}
|
|
,updateShader: function() {
|
|
if(this.__currentShader != null) {
|
|
if(this.__currentShader.__position != null) {
|
|
this.__currentShader.__position.__useArray = true;
|
|
}
|
|
if(this.__currentShader.__textureCoord != null) {
|
|
this.__currentShader.__textureCoord.__useArray = true;
|
|
}
|
|
this.__context3D.setProgram(this.__currentShader.program);
|
|
this.__context3D.__flushGLProgram();
|
|
this.__context3D.__flushGLTextures();
|
|
this.__currentShader.__update();
|
|
}
|
|
}
|
|
,useAlphaArray: function() {
|
|
if(this.__currentShader != null) {
|
|
if(this.__currentShader.__alpha != null) {
|
|
this.__currentShader.__alpha.__useArray = true;
|
|
}
|
|
}
|
|
}
|
|
,useColorTransformArray: function() {
|
|
if(this.__currentShader != null) {
|
|
if(this.__currentShader.__colorMultiplier != null) {
|
|
this.__currentShader.__colorMultiplier.__useArray = true;
|
|
}
|
|
if(this.__currentShader.__colorOffset != null) {
|
|
this.__currentShader.__colorOffset.__useArray = true;
|
|
}
|
|
}
|
|
}
|
|
,__cleanup: function() {
|
|
if(this.__stencilReference > 0) {
|
|
this.__stencilReference = 0;
|
|
this.__context3D.setStencilActions();
|
|
this.__context3D.setStencilReferenceValue(0,0,0);
|
|
}
|
|
if(this.__numClipRects > 0) {
|
|
this.__numClipRects = 0;
|
|
this.__scissorRect();
|
|
}
|
|
}
|
|
,__clear: function() {
|
|
if(this.__stage == null || this.__stage.__transparent) {
|
|
this.__context3D.clear(0,0,0,0,0,0,1);
|
|
} else {
|
|
this.__context3D.clear(this.__stage.__colorSplit[0],this.__stage.__colorSplit[1],this.__stage.__colorSplit[2],1,0,0,1);
|
|
}
|
|
this.__cleared = true;
|
|
}
|
|
,__clearShader: function() {
|
|
if(this.__currentShader != null) {
|
|
if(this.__currentShaderBuffer == null) {
|
|
if(this.__currentShader.__bitmap != null) {
|
|
this.__currentShader.__bitmap.input = null;
|
|
}
|
|
} else {
|
|
this.__currentShaderBuffer.clearOverride();
|
|
}
|
|
if(this.__currentShader.__texture != null) {
|
|
this.__currentShader.__texture.input = null;
|
|
}
|
|
if(this.__currentShader.__textureSize != null) {
|
|
this.__currentShader.__textureSize.value = null;
|
|
}
|
|
if(this.__currentShader.__hasColorTransform != null) {
|
|
this.__currentShader.__hasColorTransform.value = null;
|
|
}
|
|
if(this.__currentShader.__position != null) {
|
|
this.__currentShader.__position.value = null;
|
|
}
|
|
if(this.__currentShader.__matrix != null) {
|
|
this.__currentShader.__matrix.value = null;
|
|
}
|
|
this.__currentShader.__clearUseArray();
|
|
}
|
|
}
|
|
,__copyShader: function(other) {
|
|
this.__currentShader = other.__currentShader;
|
|
this.__currentShaderBuffer = other.__currentShaderBuffer;
|
|
this.__currentDisplayShader = other.__currentDisplayShader;
|
|
this.__currentGraphicsShader = other.__currentGraphicsShader;
|
|
}
|
|
,__getMatrix: function(transform,pixelSnapping) {
|
|
var _matrix = openfl_geom_Matrix.__pool.get();
|
|
_matrix.copyFrom(transform);
|
|
_matrix.concat(this.__worldTransform);
|
|
if(pixelSnapping == 0 || pixelSnapping == 1 && _matrix.b == 0 && _matrix.c == 0 && (_matrix.a < 1.001 && _matrix.a > 0.999) && (_matrix.d < 1.001 && _matrix.d > 0.999)) {
|
|
_matrix.tx = Math.round(_matrix.tx);
|
|
_matrix.ty = Math.round(_matrix.ty);
|
|
}
|
|
lime_math_Matrix4.identity(this.__matrix);
|
|
lime_math_Matrix4.set(this.__matrix,0,_matrix.a);
|
|
lime_math_Matrix4.set(this.__matrix,1,_matrix.b);
|
|
lime_math_Matrix4.set(this.__matrix,4,_matrix.c);
|
|
lime_math_Matrix4.set(this.__matrix,5,_matrix.d);
|
|
lime_math_Matrix4.set(this.__matrix,12,_matrix.tx);
|
|
lime_math_Matrix4.set(this.__matrix,13,_matrix.ty);
|
|
lime_math_Matrix4.append(this.__matrix,this.__flipped ? this.__projectionFlipped : this.__projection);
|
|
this.__values[0] = lime_math_Matrix4.get(this.__matrix,0);
|
|
this.__values[1] = lime_math_Matrix4.get(this.__matrix,1);
|
|
this.__values[2] = lime_math_Matrix4.get(this.__matrix,2);
|
|
this.__values[3] = lime_math_Matrix4.get(this.__matrix,3);
|
|
this.__values[4] = lime_math_Matrix4.get(this.__matrix,4);
|
|
this.__values[5] = lime_math_Matrix4.get(this.__matrix,5);
|
|
this.__values[6] = lime_math_Matrix4.get(this.__matrix,6);
|
|
this.__values[7] = lime_math_Matrix4.get(this.__matrix,7);
|
|
this.__values[8] = lime_math_Matrix4.get(this.__matrix,8);
|
|
this.__values[9] = lime_math_Matrix4.get(this.__matrix,9);
|
|
this.__values[10] = lime_math_Matrix4.get(this.__matrix,10);
|
|
this.__values[11] = lime_math_Matrix4.get(this.__matrix,11);
|
|
this.__values[12] = lime_math_Matrix4.get(this.__matrix,12);
|
|
this.__values[13] = lime_math_Matrix4.get(this.__matrix,13);
|
|
this.__values[14] = lime_math_Matrix4.get(this.__matrix,14);
|
|
this.__values[15] = lime_math_Matrix4.get(this.__matrix,15);
|
|
openfl_geom_Matrix.__pool.release(_matrix);
|
|
return this.__values;
|
|
}
|
|
,__initShader: function(shader) {
|
|
if(shader != null) {
|
|
if(shader.__context == null) {
|
|
shader.__context = this.__context3D;
|
|
shader.__init();
|
|
}
|
|
return shader;
|
|
}
|
|
return this.__defaultShader;
|
|
}
|
|
,__initDisplayShader: function(shader) {
|
|
if(shader != null) {
|
|
if(shader.__context == null) {
|
|
shader.__context = this.__context3D;
|
|
shader.__init();
|
|
}
|
|
return shader;
|
|
}
|
|
return this.__defaultDisplayShader;
|
|
}
|
|
,__initGraphicsShader: function(shader) {
|
|
if(shader != null) {
|
|
if(shader.__context == null) {
|
|
shader.__context = this.__context3D;
|
|
shader.__init();
|
|
}
|
|
return shader;
|
|
}
|
|
return this.__defaultGraphicsShader;
|
|
}
|
|
,__initShaderBuffer: function(shaderBuffer) {
|
|
if(shaderBuffer != null) {
|
|
return this.__initGraphicsShader(shaderBuffer.shader);
|
|
}
|
|
return this.__defaultGraphicsShader;
|
|
}
|
|
,__popMask: function() {
|
|
if(this.__stencilReference == 0) {
|
|
return;
|
|
}
|
|
var mask = this.__maskObjects.pop();
|
|
if(this.__stencilReference > 1) {
|
|
this.__context3D.setStencilActions(2,1,0,0,5);
|
|
this.__context3D.setStencilReferenceValue(this.__stencilReference,255,255);
|
|
this.__context3D.setColorMask(false,false,false,false);
|
|
mask.__renderGLMask(this);
|
|
this.__stencilReference--;
|
|
this.__context3D.setStencilActions(2,1,5,5,5);
|
|
this.__context3D.setStencilReferenceValue(this.__stencilReference,255,0);
|
|
this.__context3D.setColorMask(true,true,true,true);
|
|
} else {
|
|
this.__stencilReference = 0;
|
|
this.__context3D.setStencilActions();
|
|
this.__context3D.setStencilReferenceValue(0,0,0);
|
|
}
|
|
}
|
|
,__popMaskObject: function(object,handleScrollRect) {
|
|
if(handleScrollRect == null) {
|
|
handleScrollRect = true;
|
|
}
|
|
if(object.__mask != null) {
|
|
this.__popMask();
|
|
}
|
|
if(handleScrollRect && object.__scrollRect != null) {
|
|
if(object.__renderTransform.b != 0 || object.__renderTransform.c != 0) {
|
|
this.__scrollRectMasks.release(this.__maskObjects[this.__maskObjects.length - 1]);
|
|
this.__popMask();
|
|
} else {
|
|
this.__popMaskRect();
|
|
}
|
|
}
|
|
}
|
|
,__popMaskRect: function() {
|
|
if(this.__numClipRects > 0) {
|
|
this.__numClipRects--;
|
|
if(this.__numClipRects > 0) {
|
|
this.__scissorRect(this.__clipRects[this.__numClipRects - 1]);
|
|
} else {
|
|
this.__scissorRect();
|
|
}
|
|
}
|
|
}
|
|
,__pushMask: function(mask) {
|
|
if(this.__stencilReference == 0) {
|
|
this.__context3D.clear(0,0,0,0,0,0,4);
|
|
this.__updatedStencil = true;
|
|
}
|
|
this.__context3D.setStencilActions(2,1,2,5,5);
|
|
this.__context3D.setStencilReferenceValue(this.__stencilReference,255,255);
|
|
this.__context3D.setColorMask(false,false,false,false);
|
|
mask.__renderGLMask(this);
|
|
this.__maskObjects.push(mask);
|
|
this.__stencilReference++;
|
|
this.__context3D.setStencilActions(2,1,5,5,5);
|
|
this.__context3D.setStencilReferenceValue(this.__stencilReference,255,0);
|
|
this.__context3D.setColorMask(true,true,true,true);
|
|
}
|
|
,__pushMaskObject: function(object,handleScrollRect) {
|
|
if(handleScrollRect == null) {
|
|
handleScrollRect = true;
|
|
}
|
|
if(handleScrollRect && object.__scrollRect != null) {
|
|
if(object.__renderTransform.b != 0 || object.__renderTransform.c != 0) {
|
|
var shape = this.__scrollRectMasks.get();
|
|
shape.get_graphics().clear();
|
|
shape.get_graphics().beginFill(65280);
|
|
shape.get_graphics().drawRect(object.__scrollRect.x,object.__scrollRect.y,object.__scrollRect.width,object.__scrollRect.height);
|
|
shape.__renderTransform.copyFrom(object.__renderTransform);
|
|
this.__pushMask(shape);
|
|
} else {
|
|
this.__pushMaskRect(object.__scrollRect,object.__renderTransform);
|
|
}
|
|
}
|
|
if(object.__mask != null) {
|
|
this.__pushMask(object.__mask);
|
|
}
|
|
}
|
|
,__pushMaskRect: function(rect,transform) {
|
|
if(this.__numClipRects == this.__clipRects.length) {
|
|
this.__clipRects[this.__numClipRects] = new openfl_geom_Rectangle();
|
|
}
|
|
var _matrix = openfl_geom_Matrix.__pool.get();
|
|
_matrix.copyFrom(transform);
|
|
_matrix.concat(this.__worldTransform);
|
|
var clipRect = this.__clipRects[this.__numClipRects];
|
|
rect.__transform(clipRect,_matrix);
|
|
if(this.__numClipRects > 0) {
|
|
var parentClipRect = this.__clipRects[this.__numClipRects - 1];
|
|
clipRect.__contract(parentClipRect.x,parentClipRect.y,parentClipRect.width,parentClipRect.height);
|
|
}
|
|
if(clipRect.height < 0) {
|
|
clipRect.height = 0;
|
|
}
|
|
if(clipRect.width < 0) {
|
|
clipRect.width = 0;
|
|
}
|
|
openfl_geom_Matrix.__pool.release(_matrix);
|
|
this.__scissorRect(clipRect);
|
|
this.__numClipRects++;
|
|
}
|
|
,__render: function(object) {
|
|
this.__context3D.setColorMask(true,true,true,true);
|
|
this.__context3D.setCulling(3);
|
|
this.__context3D.setDepthTest(false,0);
|
|
this.__context3D.setStencilActions();
|
|
this.__context3D.setStencilReferenceValue(0,0,0);
|
|
this.__context3D.setScissorRectangle(null);
|
|
this.__blendMode = null;
|
|
this.__setBlendMode(10);
|
|
if(this.__defaultRenderTarget == null) {
|
|
openfl_display_OpenGLRenderer.__scissorRectangle.setTo(this.__offsetX,this.__offsetY,this.__displayWidth,this.__displayHeight);
|
|
this.__context3D.setScissorRectangle(openfl_display_OpenGLRenderer.__scissorRectangle);
|
|
this.__upscaled = this.__worldTransform.a != 1 || this.__worldTransform.d != 1;
|
|
object.__renderGL(this);
|
|
if(this.__offsetX > 0 || this.__offsetY > 0) {
|
|
if(this.__offsetX > 0) {
|
|
openfl_display_OpenGLRenderer.__scissorRectangle.setTo(0,0,this.__offsetX,this.__height);
|
|
this.__context3D.setScissorRectangle(openfl_display_OpenGLRenderer.__scissorRectangle);
|
|
this.__context3D.__flushGL();
|
|
this.__gl.clearColor(0,0,0,1);
|
|
this.__gl.clear(this.__gl.COLOR_BUFFER_BIT);
|
|
openfl_display_OpenGLRenderer.__scissorRectangle.setTo(this.__offsetX + this.__displayWidth,0,this.__width,this.__height);
|
|
this.__context3D.setScissorRectangle(openfl_display_OpenGLRenderer.__scissorRectangle);
|
|
this.__context3D.__flushGL();
|
|
this.__gl.clearColor(0,0,0,1);
|
|
this.__gl.clear(this.__gl.COLOR_BUFFER_BIT);
|
|
}
|
|
if(this.__offsetY > 0) {
|
|
openfl_display_OpenGLRenderer.__scissorRectangle.setTo(0,0,this.__width,this.__offsetY);
|
|
this.__context3D.setScissorRectangle(openfl_display_OpenGLRenderer.__scissorRectangle);
|
|
this.__context3D.__flushGL();
|
|
this.__gl.clearColor(0,0,0,1);
|
|
this.__gl.clear(this.__gl.COLOR_BUFFER_BIT);
|
|
openfl_display_OpenGLRenderer.__scissorRectangle.setTo(0,this.__offsetY + this.__displayHeight,this.__width,this.__height);
|
|
this.__context3D.setScissorRectangle(openfl_display_OpenGLRenderer.__scissorRectangle);
|
|
this.__context3D.__flushGL();
|
|
this.__gl.clearColor(0,0,0,1);
|
|
this.__gl.clear(this.__gl.COLOR_BUFFER_BIT);
|
|
}
|
|
this.__context3D.setScissorRectangle(null);
|
|
}
|
|
} else {
|
|
openfl_display_OpenGLRenderer.__scissorRectangle.setTo(this.__offsetX,this.__offsetY,this.__displayWidth,this.__displayHeight);
|
|
this.__context3D.setScissorRectangle(openfl_display_OpenGLRenderer.__scissorRectangle);
|
|
var cacheMask = object.__mask;
|
|
var cacheScrollRect = object.__scrollRect;
|
|
object.__mask = null;
|
|
object.__scrollRect = null;
|
|
object.__renderGL(this);
|
|
object.__mask = cacheMask;
|
|
object.__scrollRect = cacheScrollRect;
|
|
}
|
|
this.__context3D.present();
|
|
}
|
|
,__renderFilterPass: function(source,shader,smooth,clear) {
|
|
if(clear == null) {
|
|
clear = true;
|
|
}
|
|
if(source == null || shader == null) {
|
|
return;
|
|
}
|
|
if(this.__defaultRenderTarget == null) {
|
|
return;
|
|
}
|
|
var cacheRTT = this.__context3D.__state.renderToTexture;
|
|
var cacheRTTDepthStencil = this.__context3D.__state.renderToTextureDepthStencil;
|
|
var cacheRTTAntiAlias = this.__context3D.__state.renderToTextureAntiAlias;
|
|
var cacheRTTSurfaceSelector = this.__context3D.__state.renderToTextureSurfaceSelector;
|
|
this.__context3D.setRenderToTexture(this.__defaultRenderTarget.getTexture(this.__context3D),false);
|
|
if(clear) {
|
|
this.__context3D.clear(0,0,0,0,0,0,1);
|
|
}
|
|
var shader1 = this.__initShader(shader);
|
|
this.setShader(shader1);
|
|
this.applyAlpha(1);
|
|
this.applyBitmapData(source,smooth);
|
|
this.applyColorTransform(null);
|
|
this.applyMatrix(this.__getMatrix(source.__renderTransform,1));
|
|
this.updateShader();
|
|
var vertexBuffer = source.getVertexBuffer(this.__context3D);
|
|
if(shader1.__position != null) {
|
|
this.__context3D.setVertexBufferAt(shader1.__position.index,vertexBuffer,0,3);
|
|
}
|
|
if(shader1.__textureCoord != null) {
|
|
this.__context3D.setVertexBufferAt(shader1.__textureCoord.index,vertexBuffer,3,2);
|
|
}
|
|
var indexBuffer = source.getIndexBuffer(this.__context3D);
|
|
this.__context3D.drawTriangles(indexBuffer);
|
|
if(cacheRTT != null) {
|
|
this.__context3D.setRenderToTexture(cacheRTT,cacheRTTDepthStencil,cacheRTTAntiAlias,cacheRTTSurfaceSelector);
|
|
} else {
|
|
this.__context3D.setRenderToBackBuffer();
|
|
}
|
|
this.__clearShader();
|
|
}
|
|
,__resize: function(width,height) {
|
|
this.__width = width;
|
|
this.__height = height;
|
|
var w = this.__defaultRenderTarget == null ? this.__stage.stageWidth : this.__defaultRenderTarget.width;
|
|
var h = this.__defaultRenderTarget == null ? this.__stage.stageHeight : this.__defaultRenderTarget.height;
|
|
var tmp;
|
|
if(this.__defaultRenderTarget == null) {
|
|
var _this = this.__worldTransform;
|
|
tmp = Math.round(0 * _this.a + 0 * _this.c + _this.tx);
|
|
} else {
|
|
tmp = 0;
|
|
}
|
|
this.__offsetX = tmp;
|
|
var tmp;
|
|
if(this.__defaultRenderTarget == null) {
|
|
var _this = this.__worldTransform;
|
|
tmp = Math.round(0 * _this.b + 0 * _this.d + _this.ty);
|
|
} else {
|
|
tmp = 0;
|
|
}
|
|
this.__offsetY = tmp;
|
|
var tmp;
|
|
if(this.__defaultRenderTarget == null) {
|
|
var _this = this.__worldTransform;
|
|
tmp = Math.round(w * _this.a + 0 * _this.c + _this.tx - this.__offsetX);
|
|
} else {
|
|
tmp = w;
|
|
}
|
|
this.__displayWidth = tmp;
|
|
var tmp;
|
|
if(this.__defaultRenderTarget == null) {
|
|
var _this = this.__worldTransform;
|
|
tmp = Math.round(0 * _this.b + h * _this.d + _this.ty - this.__offsetY);
|
|
} else {
|
|
tmp = h;
|
|
}
|
|
this.__displayHeight = tmp;
|
|
lime_math_Matrix4.createOrtho(this.__projection,0,this.__displayWidth + this.__offsetX * 2,0,this.__displayHeight + this.__offsetY * 2,-1000,1000);
|
|
lime_math_Matrix4.createOrtho(this.__projectionFlipped,0,this.__displayWidth + this.__offsetX * 2,this.__displayHeight + this.__offsetY * 2,0,-1000,1000);
|
|
}
|
|
,__resumeClipAndMask: function(childRenderer) {
|
|
if(this.__stencilReference > 0) {
|
|
this.__context3D.setStencilActions(2,1,5,5,5);
|
|
this.__context3D.setStencilReferenceValue(this.__stencilReference,255,0);
|
|
} else {
|
|
this.__context3D.setStencilActions();
|
|
this.__context3D.setStencilReferenceValue(0,0,0);
|
|
}
|
|
if(this.__numClipRects > 0) {
|
|
this.__scissorRect(this.__clipRects[this.__numClipRects - 1]);
|
|
} else {
|
|
this.__scissorRect();
|
|
}
|
|
}
|
|
,__scissorRect: function(clipRect) {
|
|
if(clipRect != null) {
|
|
var x = Math.floor(clipRect.x);
|
|
var y = Math.floor(clipRect.y);
|
|
var width = clipRect.width > 0 ? Math.ceil(clipRect.get_right()) - x : 0;
|
|
var height = clipRect.height > 0 ? Math.ceil(clipRect.get_bottom()) - y : 0;
|
|
if(width < 0) {
|
|
width = 0;
|
|
}
|
|
if(height < 0) {
|
|
height = 0;
|
|
}
|
|
openfl_display_OpenGLRenderer.__scissorRectangle.setTo(x,y,width,height);
|
|
this.__context3D.setScissorRectangle(openfl_display_OpenGLRenderer.__scissorRectangle);
|
|
} else {
|
|
this.__context3D.setScissorRectangle(null);
|
|
}
|
|
}
|
|
,__setBlendMode: function(value) {
|
|
if(this.__overrideBlendMode != null) {
|
|
value = this.__overrideBlendMode;
|
|
}
|
|
if(this.__blendMode == value) {
|
|
return;
|
|
}
|
|
this.__blendMode = value;
|
|
switch(value) {
|
|
case 0:
|
|
this.__context3D.setBlendFactors(2,2);
|
|
break;
|
|
case 9:
|
|
this.__context3D.setBlendFactors(1,5);
|
|
break;
|
|
case 12:
|
|
this.__context3D.setBlendFactors(2,6);
|
|
break;
|
|
case 14:
|
|
this.__context3D.setBlendFactors(2,2);
|
|
this.__context3D.__setGLBlendEquation(this.__gl.FUNC_REVERSE_SUBTRACT);
|
|
break;
|
|
default:
|
|
this.__context3D.setBlendFactors(2,5);
|
|
}
|
|
}
|
|
,__setRenderTarget: function(renderTarget) {
|
|
this.__defaultRenderTarget = renderTarget;
|
|
this.__flipped = renderTarget == null;
|
|
if(renderTarget != null) {
|
|
this.__resize(renderTarget.width,renderTarget.height);
|
|
}
|
|
}
|
|
,__setShaderBuffer: function(shaderBuffer) {
|
|
this.setShader(shaderBuffer.shader);
|
|
this.__currentShaderBuffer = shaderBuffer;
|
|
}
|
|
,__suspendClipAndMask: function() {
|
|
if(this.__stencilReference > 0) {
|
|
this.__context3D.setStencilActions();
|
|
this.__context3D.setStencilReferenceValue(0,0,0);
|
|
}
|
|
if(this.__numClipRects > 0) {
|
|
this.__scissorRect();
|
|
}
|
|
}
|
|
,__updateShaderBuffer: function(bufferOffset) {
|
|
if(this.__currentShader != null && this.__currentShaderBuffer != null) {
|
|
this.__currentShader.__updateFromBuffer(this.__currentShaderBuffer,bufferOffset);
|
|
}
|
|
}
|
|
,__class__: openfl_display_OpenGLRenderer
|
|
});
|
|
var openfl_display_PNGEncoderOptions = function(fastCompression) {
|
|
if(fastCompression == null) {
|
|
fastCompression = false;
|
|
}
|
|
this.fastCompression = fastCompression;
|
|
};
|
|
$hxClasses["openfl.display.PNGEncoderOptions"] = openfl_display_PNGEncoderOptions;
|
|
openfl_display_PNGEncoderOptions.__name__ = "openfl.display.PNGEncoderOptions";
|
|
openfl_display_PNGEncoderOptions.prototype = {
|
|
fastCompression: null
|
|
,__class__: openfl_display_PNGEncoderOptions
|
|
};
|
|
var openfl_display_PixelSnapping = {};
|
|
openfl_display_PixelSnapping.fromString = function(value) {
|
|
switch(value) {
|
|
case "always":
|
|
return 0;
|
|
case "auto":
|
|
return 1;
|
|
case "never":
|
|
return 2;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_display_PixelSnapping.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "always";
|
|
case 1:
|
|
return "auto";
|
|
case 2:
|
|
return "never";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
var openfl_display_Preloader = function(display) {
|
|
this.onComplete = new lime_app__$Event_$Void_$Void();
|
|
this.display = display;
|
|
if(display != null) {
|
|
display.addEventListener("unload",$bind(this,this.display_onUnload));
|
|
openfl_Lib.get_current().addChild(display);
|
|
}
|
|
};
|
|
$hxClasses["openfl.display.Preloader"] = openfl_display_Preloader;
|
|
openfl_display_Preloader.__name__ = "openfl.display.Preloader";
|
|
openfl_display_Preloader.prototype = {
|
|
onComplete: null
|
|
,complete: null
|
|
,display: null
|
|
,ready: null
|
|
,start: function() {
|
|
this.ready = true;
|
|
openfl_Lib.get_current().get_loaderInfo().__complete();
|
|
if(this.display != null) {
|
|
var complete = new openfl_events_Event("complete",true,true);
|
|
this.display.dispatchEvent(complete);
|
|
if(!complete.isDefaultPrevented()) {
|
|
this.display.dispatchEvent(new openfl_events_Event("unload"));
|
|
}
|
|
} else if(!this.complete) {
|
|
this.complete = true;
|
|
this.onComplete.dispatch();
|
|
}
|
|
}
|
|
,update: function(loaded,total) {
|
|
openfl_Lib.get_current().get_loaderInfo().__update(loaded,total);
|
|
if(this.display != null) {
|
|
this.display.dispatchEvent(new openfl_events_ProgressEvent("progress",true,true,loaded,total));
|
|
}
|
|
}
|
|
,display_onUnload: function(event) {
|
|
if(this.display != null) {
|
|
this.display.removeEventListener("unload",$bind(this,this.display_onUnload));
|
|
if(this.display.parent == openfl_Lib.get_current()) {
|
|
openfl_Lib.get_current().removeChild(this.display);
|
|
}
|
|
openfl_Lib.get_current().stage.set_focus(null);
|
|
this.display = null;
|
|
}
|
|
if(this.ready) {
|
|
if(!this.complete) {
|
|
this.complete = true;
|
|
this.onComplete.dispatch();
|
|
}
|
|
}
|
|
}
|
|
,__class__: openfl_display_Preloader
|
|
};
|
|
var openfl_display_DefaultPreloader = function() {
|
|
openfl_display_Sprite.call(this);
|
|
var backgroundColor = this.getBackgroundColor();
|
|
var r = backgroundColor >> 16 & 255;
|
|
var g = backgroundColor >> 8 & 255;
|
|
var b = backgroundColor & 255;
|
|
var perceivedLuminosity = 0.299 * r + 0.587 * g + 0.114 * b;
|
|
var color = 0;
|
|
if(perceivedLuminosity < 70) {
|
|
color = 16777215;
|
|
}
|
|
var x = 30;
|
|
var height = 7;
|
|
var y = this.getHeight() / 2 - height / 2;
|
|
var width = this.getWidth() - x * 2;
|
|
var padding = 2;
|
|
this.outline = new openfl_display_Shape();
|
|
this.outline.get_graphics().beginFill(color,0.07);
|
|
this.outline.get_graphics().drawRect(0,0,width,height);
|
|
this.outline.set_x(x);
|
|
this.outline.set_y(y);
|
|
this.outline.set_alpha(0);
|
|
this.addChild(this.outline);
|
|
this.progress = new openfl_display_Shape();
|
|
this.progress.get_graphics().beginFill(color,0.35);
|
|
this.progress.get_graphics().drawRect(0,0,width - padding * 2,height - padding * 2);
|
|
this.progress.set_x(x + padding);
|
|
this.progress.set_y(y + padding);
|
|
this.progress.set_scaleX(0);
|
|
this.progress.set_alpha(0);
|
|
this.addChild(this.progress);
|
|
this.startAnimation = openfl_Lib.getTimer() + 100;
|
|
this.endAnimation = this.startAnimation + 1000;
|
|
this.addEventListener("addedToStage",$bind(this,this.this_onAddedToStage));
|
|
};
|
|
$hxClasses["openfl.display.DefaultPreloader"] = openfl_display_DefaultPreloader;
|
|
openfl_display_DefaultPreloader.__name__ = "openfl.display.DefaultPreloader";
|
|
openfl_display_DefaultPreloader.__super__ = openfl_display_Sprite;
|
|
openfl_display_DefaultPreloader.prototype = $extend(openfl_display_Sprite.prototype,{
|
|
endAnimation: null
|
|
,outline: null
|
|
,progress: null
|
|
,startAnimation: null
|
|
,getBackgroundColor: function() {
|
|
var attributes = openfl_Lib.get_current().stage.window.context.attributes;
|
|
if(Object.prototype.hasOwnProperty.call(attributes,"background") && attributes.background != null) {
|
|
return attributes.background;
|
|
} else {
|
|
return 0;
|
|
}
|
|
}
|
|
,getHeight: function() {
|
|
var height = openfl_Lib.get_current().stage.window.__height;
|
|
if(height > 0) {
|
|
return height;
|
|
} else {
|
|
return openfl_Lib.get_current().stage.stageHeight;
|
|
}
|
|
}
|
|
,getWidth: function() {
|
|
var width = openfl_Lib.get_current().stage.window.__width;
|
|
if(width > 0) {
|
|
return width;
|
|
} else {
|
|
return openfl_Lib.get_current().stage.stageWidth;
|
|
}
|
|
}
|
|
,onInit: function() {
|
|
this.addEventListener("enterFrame",$bind(this,this.this_onEnterFrame));
|
|
}
|
|
,onLoaded: function() {
|
|
this.removeEventListener("enterFrame",$bind(this,this.this_onEnterFrame));
|
|
this.dispatchEvent(new openfl_events_Event("unload"));
|
|
}
|
|
,onUpdate: function(bytesLoaded,bytesTotal) {
|
|
var percentLoaded = 0.0;
|
|
if(bytesTotal > 0) {
|
|
percentLoaded = bytesLoaded / bytesTotal;
|
|
if(percentLoaded > 1) {
|
|
percentLoaded = 1;
|
|
}
|
|
}
|
|
this.progress.set_scaleX(percentLoaded);
|
|
}
|
|
,this_onAddedToStage: function(event) {
|
|
this.removeEventListener("addedToStage",$bind(this,this.this_onAddedToStage));
|
|
this.onInit();
|
|
this.onUpdate(this.get_loaderInfo().bytesLoaded,this.get_loaderInfo().bytesTotal);
|
|
this.addEventListener("progress",$bind(this,this.this_onProgress));
|
|
this.addEventListener("complete",$bind(this,this.this_onComplete));
|
|
}
|
|
,this_onComplete: function(event) {
|
|
event.preventDefault();
|
|
this.removeEventListener("progress",$bind(this,this.this_onProgress));
|
|
this.removeEventListener("complete",$bind(this,this.this_onComplete));
|
|
this.onLoaded();
|
|
}
|
|
,this_onEnterFrame: function(event) {
|
|
var elapsed = openfl_Lib.getTimer() - this.startAnimation;
|
|
var total = this.endAnimation - this.startAnimation;
|
|
var percent = elapsed / total;
|
|
if(percent < 0) {
|
|
percent = 0;
|
|
}
|
|
if(percent > 1) {
|
|
percent = 1;
|
|
}
|
|
this.outline.set_alpha(this.progress.set_alpha(percent));
|
|
}
|
|
,this_onProgress: function(event) {
|
|
this.onUpdate(event.bytesLoaded | 0,event.bytesTotal | 0);
|
|
}
|
|
,__class__: openfl_display_DefaultPreloader
|
|
});
|
|
var openfl_display_Scene = function(name,labels,numFrames) {
|
|
this.name = name;
|
|
this.labels = labels;
|
|
this.numFrames = numFrames;
|
|
};
|
|
$hxClasses["openfl.display.Scene"] = openfl_display_Scene;
|
|
openfl_display_Scene.__name__ = "openfl.display.Scene";
|
|
openfl_display_Scene.prototype = {
|
|
labels: null
|
|
,name: null
|
|
,numFrames: null
|
|
,__class__: openfl_display_Scene
|
|
};
|
|
var openfl_display_ShaderData = {};
|
|
openfl_display_ShaderData._new = function(byteArray) {
|
|
var this1 = { };
|
|
return this1;
|
|
};
|
|
var openfl_display_ShaderInput = function() {
|
|
this.channels = 0;
|
|
this.filter = 5;
|
|
this.height = 0;
|
|
this.index = 0;
|
|
this.mipFilter = 2;
|
|
this.width = 0;
|
|
this.wrap = 0;
|
|
};
|
|
$hxClasses["openfl.display.ShaderInput"] = openfl_display_ShaderInput;
|
|
openfl_display_ShaderInput.__name__ = "openfl.display.ShaderInput";
|
|
openfl_display_ShaderInput.prototype = {
|
|
channels: null
|
|
,filter: null
|
|
,height: null
|
|
,index: null
|
|
,input: null
|
|
,mipFilter: null
|
|
,name: null
|
|
,width: null
|
|
,wrap: null
|
|
,__isUniform: null
|
|
,__disableGL: function(context,id) {
|
|
var gl = context.gl;
|
|
context.setTextureAt(id,null);
|
|
}
|
|
,__updateGL: function(context,id,overrideInput,overrideFilter,overrideMipFilter,overrideWrap) {
|
|
var gl = context.gl;
|
|
var input = overrideInput != null ? overrideInput : this.input;
|
|
var filter = overrideFilter != null ? overrideFilter : this.filter;
|
|
var mipFilter = overrideMipFilter != null ? overrideMipFilter : this.mipFilter;
|
|
var wrap = overrideWrap != null ? overrideWrap : this.wrap;
|
|
if(input != null) {
|
|
var bitmapData = input;
|
|
context.setTextureAt(id,bitmapData.getTexture(context));
|
|
context.setSamplerStateAt(id,wrap,filter,mipFilter);
|
|
} else {
|
|
context.setTextureAt(id,null);
|
|
}
|
|
}
|
|
,__class__: openfl_display_ShaderInput
|
|
};
|
|
var openfl_display_ShaderParameter = function() {
|
|
this.index = 0;
|
|
};
|
|
$hxClasses["openfl.display.ShaderParameter"] = openfl_display_ShaderParameter;
|
|
openfl_display_ShaderParameter.__name__ = "openfl.display.ShaderParameter";
|
|
openfl_display_ShaderParameter.prototype = {
|
|
index: null
|
|
,name: null
|
|
,type: null
|
|
,value: null
|
|
,__arrayLength: null
|
|
,__internal: null
|
|
,__isBool: null
|
|
,__isFloat: null
|
|
,__isInt: null
|
|
,__isUniform: null
|
|
,__length: null
|
|
,__uniformMatrix: null
|
|
,__useArray: null
|
|
,__disableGL: function(context) {
|
|
var gl = context.gl;
|
|
if(!this.__isUniform) {
|
|
var _g = 0;
|
|
var _g1 = this.__arrayLength;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
gl.disableVertexAttribArray(this.index + i);
|
|
}
|
|
}
|
|
}
|
|
,__updateGL: function(context,overrideValue) {
|
|
var gl = context.gl;
|
|
var value = overrideValue != null ? overrideValue : this.value;
|
|
var boolValue = this.__isBool ? value : null;
|
|
var floatValue = this.__isFloat ? value : null;
|
|
var intValue = this.__isInt ? value : null;
|
|
if(this.__isUniform) {
|
|
if(value != null && value.length >= this.__length) {
|
|
switch(this.type) {
|
|
case 0:
|
|
gl.uniform1i(this.index,boolValue[0] ? 1 : 0);
|
|
break;
|
|
case 1:
|
|
gl.uniform2i(this.index,boolValue[0] ? 1 : 0,boolValue[1] ? 1 : 0);
|
|
break;
|
|
case 2:
|
|
gl.uniform3i(this.index,boolValue[0] ? 1 : 0,boolValue[1] ? 1 : 0,boolValue[2] ? 1 : 0);
|
|
break;
|
|
case 3:
|
|
gl.uniform4i(this.index,boolValue[0] ? 1 : 0,boolValue[1] ? 1 : 0,boolValue[2] ? 1 : 0,boolValue[3] ? 1 : 0);
|
|
break;
|
|
case 4:
|
|
gl.uniform1f(this.index,floatValue[0]);
|
|
break;
|
|
case 5:
|
|
gl.uniform2f(this.index,floatValue[0],floatValue[1]);
|
|
break;
|
|
case 6:
|
|
gl.uniform3f(this.index,floatValue[0],floatValue[1],floatValue[2]);
|
|
break;
|
|
case 7:
|
|
gl.uniform4f(this.index,floatValue[0],floatValue[1],floatValue[2],floatValue[3]);
|
|
break;
|
|
case 8:
|
|
gl.uniform1i(this.index,intValue[0]);
|
|
break;
|
|
case 9:
|
|
gl.uniform2i(this.index,intValue[0],intValue[1]);
|
|
break;
|
|
case 10:
|
|
gl.uniform3i(this.index,intValue[0],intValue[1],intValue[2]);
|
|
break;
|
|
case 11:
|
|
gl.uniform4i(this.index,intValue[0],intValue[1],intValue[2],intValue[3]);
|
|
break;
|
|
case 12:
|
|
this.__uniformMatrix[0] = floatValue[0];
|
|
this.__uniformMatrix[1] = floatValue[1];
|
|
this.__uniformMatrix[2] = floatValue[2];
|
|
this.__uniformMatrix[3] = floatValue[3];
|
|
lime_graphics_WebGLRenderContext.uniformMatrix2fv(gl,this.index,false,this.__uniformMatrix);
|
|
break;
|
|
case 16:
|
|
this.__uniformMatrix[0] = floatValue[0];
|
|
this.__uniformMatrix[1] = floatValue[1];
|
|
this.__uniformMatrix[2] = floatValue[2];
|
|
this.__uniformMatrix[3] = floatValue[3];
|
|
this.__uniformMatrix[4] = floatValue[4];
|
|
this.__uniformMatrix[5] = floatValue[5];
|
|
this.__uniformMatrix[6] = floatValue[6];
|
|
this.__uniformMatrix[7] = floatValue[7];
|
|
this.__uniformMatrix[8] = floatValue[8];
|
|
lime_graphics_WebGLRenderContext.uniformMatrix3fv(gl,this.index,false,this.__uniformMatrix);
|
|
break;
|
|
case 20:
|
|
this.__uniformMatrix[0] = floatValue[0];
|
|
this.__uniformMatrix[1] = floatValue[1];
|
|
this.__uniformMatrix[2] = floatValue[2];
|
|
this.__uniformMatrix[3] = floatValue[3];
|
|
this.__uniformMatrix[4] = floatValue[4];
|
|
this.__uniformMatrix[5] = floatValue[5];
|
|
this.__uniformMatrix[6] = floatValue[6];
|
|
this.__uniformMatrix[7] = floatValue[7];
|
|
this.__uniformMatrix[8] = floatValue[8];
|
|
this.__uniformMatrix[9] = floatValue[9];
|
|
this.__uniformMatrix[10] = floatValue[10];
|
|
this.__uniformMatrix[11] = floatValue[11];
|
|
this.__uniformMatrix[12] = floatValue[12];
|
|
this.__uniformMatrix[13] = floatValue[13];
|
|
this.__uniformMatrix[14] = floatValue[14];
|
|
this.__uniformMatrix[15] = floatValue[15];
|
|
lime_graphics_WebGLRenderContext.uniformMatrix4fv(gl,this.index,false,this.__uniformMatrix);
|
|
break;
|
|
default:
|
|
}
|
|
} else {
|
|
switch(this.type) {
|
|
case 1:case 9:
|
|
gl.uniform2i(this.index,0,0);
|
|
break;
|
|
case 3:case 11:
|
|
gl.uniform4i(this.index,0,0,0,0);
|
|
break;
|
|
case 4:
|
|
gl.uniform1f(this.index,0);
|
|
break;
|
|
case 5:
|
|
gl.uniform2f(this.index,0,0);
|
|
break;
|
|
case 6:
|
|
gl.uniform3f(this.index,0,0,0);
|
|
break;
|
|
case 7:
|
|
gl.uniform4f(this.index,0,0,0,0);
|
|
break;
|
|
case 0:case 8:
|
|
gl.uniform1i(this.index,0);
|
|
break;
|
|
case 2:case 10:
|
|
gl.uniform3i(this.index,0,0,0);
|
|
break;
|
|
case 12:
|
|
this.__uniformMatrix[0] = 0;
|
|
this.__uniformMatrix[1] = 0;
|
|
this.__uniformMatrix[2] = 0;
|
|
this.__uniformMatrix[3] = 0;
|
|
lime_graphics_WebGLRenderContext.uniformMatrix2fv(gl,this.index,false,this.__uniformMatrix);
|
|
break;
|
|
case 16:
|
|
this.__uniformMatrix[0] = 0;
|
|
this.__uniformMatrix[1] = 0;
|
|
this.__uniformMatrix[2] = 0;
|
|
this.__uniformMatrix[3] = 0;
|
|
this.__uniformMatrix[4] = 0;
|
|
this.__uniformMatrix[5] = 0;
|
|
this.__uniformMatrix[6] = 0;
|
|
this.__uniformMatrix[7] = 0;
|
|
this.__uniformMatrix[8] = 0;
|
|
lime_graphics_WebGLRenderContext.uniformMatrix3fv(gl,this.index,false,this.__uniformMatrix);
|
|
break;
|
|
case 20:
|
|
this.__uniformMatrix[0] = 0;
|
|
this.__uniformMatrix[1] = 0;
|
|
this.__uniformMatrix[2] = 0;
|
|
this.__uniformMatrix[3] = 0;
|
|
this.__uniformMatrix[4] = 0;
|
|
this.__uniformMatrix[5] = 0;
|
|
this.__uniformMatrix[6] = 0;
|
|
this.__uniformMatrix[7] = 0;
|
|
this.__uniformMatrix[8] = 0;
|
|
this.__uniformMatrix[9] = 0;
|
|
this.__uniformMatrix[10] = 0;
|
|
this.__uniformMatrix[11] = 0;
|
|
this.__uniformMatrix[12] = 0;
|
|
this.__uniformMatrix[13] = 0;
|
|
this.__uniformMatrix[14] = 0;
|
|
this.__uniformMatrix[15] = 0;
|
|
lime_graphics_WebGLRenderContext.uniformMatrix4fv(gl,this.index,false,this.__uniformMatrix);
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
} else if(!this.__useArray && (value == null || value.length == this.__length)) {
|
|
var _g = 0;
|
|
var _g1 = this.__arrayLength;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
gl.disableVertexAttribArray(this.index + i);
|
|
}
|
|
if(value != null) {
|
|
switch(this.type) {
|
|
case 0:
|
|
gl.vertexAttrib1f(this.index,boolValue[0] ? 1 : 0);
|
|
break;
|
|
case 1:
|
|
gl.vertexAttrib2f(this.index,boolValue[0] ? 1 : 0,boolValue[1] ? 1 : 0);
|
|
break;
|
|
case 2:
|
|
gl.vertexAttrib3f(this.index,boolValue[0] ? 1 : 0,boolValue[1] ? 1 : 0,boolValue[2] ? 1 : 0);
|
|
break;
|
|
case 3:
|
|
gl.vertexAttrib4f(this.index,boolValue[0] ? 1 : 0,boolValue[1] ? 1 : 0,boolValue[2] ? 1 : 0,boolValue[3] ? 1 : 0);
|
|
break;
|
|
case 4:
|
|
gl.vertexAttrib1f(this.index,floatValue[0]);
|
|
break;
|
|
case 5:
|
|
gl.vertexAttrib2f(this.index,floatValue[0],floatValue[1]);
|
|
break;
|
|
case 6:
|
|
gl.vertexAttrib3f(this.index,floatValue[0],floatValue[1],floatValue[2]);
|
|
break;
|
|
case 7:
|
|
gl.vertexAttrib4f(this.index,floatValue[0],floatValue[1],floatValue[2],floatValue[3]);
|
|
break;
|
|
case 8:
|
|
gl.vertexAttrib1f(this.index,intValue[0]);
|
|
break;
|
|
case 9:
|
|
gl.vertexAttrib2f(this.index,intValue[0],intValue[1]);
|
|
break;
|
|
case 10:
|
|
gl.vertexAttrib3f(this.index,intValue[0],intValue[1],intValue[2]);
|
|
break;
|
|
case 11:
|
|
gl.vertexAttrib4f(this.index,intValue[0],intValue[1],intValue[2],intValue[3]);
|
|
break;
|
|
case 12:
|
|
gl.vertexAttrib2f(this.index + 0,floatValue[0],floatValue[1]);
|
|
gl.vertexAttrib2f(this.index + 1,floatValue[2],floatValue[3]);
|
|
break;
|
|
case 16:
|
|
gl.vertexAttrib3f(this.index + 0,floatValue[0],floatValue[1],floatValue[2]);
|
|
gl.vertexAttrib3f(this.index + 1,floatValue[3],floatValue[4],floatValue[5]);
|
|
gl.vertexAttrib3f(this.index + 2,floatValue[6],floatValue[7],floatValue[8]);
|
|
break;
|
|
case 20:
|
|
gl.vertexAttrib4f(this.index + 0,floatValue[0],floatValue[1],floatValue[2],floatValue[3]);
|
|
gl.vertexAttrib4f(this.index + 1,floatValue[4],floatValue[5],floatValue[6],floatValue[7]);
|
|
gl.vertexAttrib4f(this.index + 2,floatValue[8],floatValue[9],floatValue[10],floatValue[11]);
|
|
gl.vertexAttrib4f(this.index + 3,floatValue[12],floatValue[13],floatValue[14],floatValue[15]);
|
|
break;
|
|
default:
|
|
}
|
|
} else {
|
|
switch(this.type) {
|
|
case 1:case 5:case 9:
|
|
gl.vertexAttrib2f(this.index,0,0);
|
|
break;
|
|
case 3:case 7:case 11:
|
|
gl.vertexAttrib4f(this.index,0,0,0,0);
|
|
break;
|
|
case 0:case 4:case 8:
|
|
gl.vertexAttrib1f(this.index,0);
|
|
break;
|
|
case 2:case 6:case 10:
|
|
gl.vertexAttrib3f(this.index,0,0,0);
|
|
break;
|
|
case 12:
|
|
gl.vertexAttrib2f(this.index + 0,0,0);
|
|
gl.vertexAttrib2f(this.index + 1,0,0);
|
|
break;
|
|
case 16:
|
|
gl.vertexAttrib3f(this.index + 0,0,0,0);
|
|
gl.vertexAttrib3f(this.index + 1,0,0,0);
|
|
gl.vertexAttrib3f(this.index + 2,0,0,0);
|
|
break;
|
|
case 20:
|
|
gl.vertexAttrib4f(this.index + 0,0,0,0,0);
|
|
gl.vertexAttrib4f(this.index + 1,0,0,0,0);
|
|
gl.vertexAttrib4f(this.index + 2,0,0,0,0);
|
|
gl.vertexAttrib4f(this.index + 3,0,0,0,0);
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
} else {
|
|
var _g = 0;
|
|
var _g1 = this.__arrayLength;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
gl.enableVertexAttribArray(this.index + i);
|
|
}
|
|
}
|
|
}
|
|
,__updateGLFromBuffer: function(context,buffer,position,length,bufferOffset) {
|
|
var gl = context.gl;
|
|
if(this.__isUniform) {
|
|
if(length >= this.__length) {
|
|
switch(this.type) {
|
|
case 1:case 9:
|
|
gl.uniform2i(this.index,buffer[position] | 0,buffer[position + 1] | 0);
|
|
break;
|
|
case 3:case 11:
|
|
gl.uniform4i(this.index,buffer[position] | 0,buffer[position + 1] | 0,buffer[position + 2] | 0,buffer[position + 3] | 0);
|
|
break;
|
|
case 4:
|
|
gl.uniform1f(this.index,buffer[position]);
|
|
break;
|
|
case 5:
|
|
gl.uniform2f(this.index,buffer[position],buffer[position + 1]);
|
|
break;
|
|
case 6:
|
|
gl.uniform3f(this.index,buffer[position],buffer[position + 1],buffer[position + 2]);
|
|
break;
|
|
case 7:
|
|
gl.uniform4f(this.index,buffer[position],buffer[position + 1],buffer[position + 2],buffer[position + 3]);
|
|
break;
|
|
case 0:case 8:
|
|
gl.uniform1i(this.index,buffer[position] | 0);
|
|
break;
|
|
case 2:case 10:
|
|
gl.uniform3i(this.index,buffer[position] | 0,buffer[position + 1] | 0,buffer[position + 2] | 0);
|
|
break;
|
|
case 12:
|
|
this.__uniformMatrix[0] = buffer[position];
|
|
this.__uniformMatrix[1] = buffer[position + 1];
|
|
this.__uniformMatrix[2] = buffer[position + 2];
|
|
this.__uniformMatrix[3] = buffer[position + 3];
|
|
lime_graphics_WebGLRenderContext.uniformMatrix2fv(gl,this.index,false,this.__uniformMatrix);
|
|
break;
|
|
case 16:
|
|
this.__uniformMatrix[0] = buffer[position];
|
|
this.__uniformMatrix[1] = buffer[position + 1];
|
|
this.__uniformMatrix[2] = buffer[position + 2];
|
|
this.__uniformMatrix[3] = buffer[position + 3];
|
|
this.__uniformMatrix[4] = buffer[position + 4];
|
|
this.__uniformMatrix[5] = buffer[position + 5];
|
|
this.__uniformMatrix[6] = buffer[position + 6];
|
|
this.__uniformMatrix[7] = buffer[position + 7];
|
|
this.__uniformMatrix[8] = buffer[position + 8];
|
|
lime_graphics_WebGLRenderContext.uniformMatrix3fv(gl,this.index,false,this.__uniformMatrix);
|
|
break;
|
|
case 20:
|
|
this.__uniformMatrix[0] = buffer[position];
|
|
this.__uniformMatrix[1] = buffer[position + 1];
|
|
this.__uniformMatrix[2] = buffer[position + 2];
|
|
this.__uniformMatrix[3] = buffer[position + 3];
|
|
this.__uniformMatrix[4] = buffer[position + 4];
|
|
this.__uniformMatrix[5] = buffer[position + 5];
|
|
this.__uniformMatrix[6] = buffer[position + 6];
|
|
this.__uniformMatrix[7] = buffer[position + 7];
|
|
this.__uniformMatrix[8] = buffer[position + 8];
|
|
this.__uniformMatrix[9] = buffer[position + 9];
|
|
this.__uniformMatrix[10] = buffer[position + 10];
|
|
this.__uniformMatrix[11] = buffer[position + 11];
|
|
this.__uniformMatrix[12] = buffer[position + 12];
|
|
this.__uniformMatrix[13] = buffer[position + 13];
|
|
this.__uniformMatrix[14] = buffer[position + 14];
|
|
this.__uniformMatrix[15] = buffer[position + 15];
|
|
lime_graphics_WebGLRenderContext.uniformMatrix4fv(gl,this.index,false,this.__uniformMatrix);
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
} else if(!this.__internal && (length == 0 || length == this.__length)) {
|
|
var _g = 0;
|
|
var _g1 = this.__arrayLength;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
gl.disableVertexAttribArray(this.index + i);
|
|
}
|
|
if(length > 0) {
|
|
switch(this.type) {
|
|
case 1:case 5:case 9:
|
|
gl.vertexAttrib2f(this.index,buffer[position],buffer[position + 1]);
|
|
break;
|
|
case 3:case 7:case 11:
|
|
gl.vertexAttrib4f(this.index,buffer[position],buffer[position + 1],buffer[position + 2],buffer[position + 3]);
|
|
break;
|
|
case 0:case 4:case 8:
|
|
gl.vertexAttrib1f(this.index,buffer[position]);
|
|
break;
|
|
case 2:case 6:case 10:
|
|
gl.vertexAttrib3f(this.index,buffer[position],buffer[position + 1],buffer[position + 2]);
|
|
break;
|
|
case 12:
|
|
gl.vertexAttrib2f(this.index + 0,buffer[position],buffer[position + 1]);
|
|
gl.vertexAttrib2f(this.index + 1,buffer[position + 2],buffer[position + 2 + 1]);
|
|
break;
|
|
case 16:
|
|
gl.vertexAttrib3f(this.index + 0,buffer[position],buffer[position + 1],buffer[position + 2]);
|
|
gl.vertexAttrib3f(this.index + 1,buffer[position + 3],buffer[position + 3 + 1],buffer[position + 3 + 2]);
|
|
gl.vertexAttrib3f(this.index + 2,buffer[position + 6],buffer[position + 6 + 1],buffer[position + 6 + 2]);
|
|
break;
|
|
case 20:
|
|
gl.vertexAttrib4f(this.index + 0,buffer[position],buffer[position + 1],buffer[position + 2],buffer[position + 3]);
|
|
gl.vertexAttrib4f(this.index + 1,buffer[position + 4],buffer[position + 4 + 1],buffer[position + 4 + 2],buffer[position + 4 + 3]);
|
|
gl.vertexAttrib4f(this.index + 2,buffer[position + 8],buffer[position + 8 + 1],buffer[position + 8 + 2],buffer[position + 8 + 3]);
|
|
gl.vertexAttrib4f(this.index + 3,buffer[position + 12],buffer[position + 12 + 1],buffer[position + 12 + 2],buffer[position + 12 + 3]);
|
|
break;
|
|
default:
|
|
}
|
|
} else {
|
|
switch(this.type) {
|
|
case 1:case 5:case 9:
|
|
gl.vertexAttrib2f(this.index,0,0);
|
|
break;
|
|
case 3:case 7:case 11:
|
|
gl.vertexAttrib4f(this.index,0,0,0,0);
|
|
break;
|
|
case 0:case 4:case 8:
|
|
gl.vertexAttrib1f(this.index,0);
|
|
break;
|
|
case 2:case 6:case 10:
|
|
gl.vertexAttrib3f(this.index,0,0,0);
|
|
break;
|
|
case 12:
|
|
gl.vertexAttrib2f(this.index + 0,0,0);
|
|
gl.vertexAttrib2f(this.index + 1,0,0);
|
|
break;
|
|
case 16:
|
|
gl.vertexAttrib3f(this.index + 0,0,0,0);
|
|
gl.vertexAttrib3f(this.index + 1,0,0,0);
|
|
gl.vertexAttrib3f(this.index + 2,0,0,0);
|
|
break;
|
|
case 20:
|
|
gl.vertexAttrib4f(this.index + 0,0,0,0,0);
|
|
gl.vertexAttrib4f(this.index + 1,0,0,0,0);
|
|
gl.vertexAttrib4f(this.index + 2,0,0,0,0);
|
|
gl.vertexAttrib4f(this.index + 3,0,0,0,0);
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
} else {
|
|
var type = gl.FLOAT;
|
|
if(this.__isBool) {
|
|
type = gl.INT;
|
|
} else if(this.__isInt) {
|
|
type = gl.INT;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.__arrayLength;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
gl.enableVertexAttribArray(this.index + i);
|
|
}
|
|
if(length > 0) {
|
|
var _g = 0;
|
|
var _g1 = this.__arrayLength;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
gl.vertexAttribPointer(this.index + i,this.__length,type,false,this.__length * 4,(position + bufferOffset * this.__length + i * this.__arrayLength) * 4);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,set_name: function(value) {
|
|
this.__internal = StringTools.startsWith(value,"openfl_");
|
|
return this.name = value;
|
|
}
|
|
,__class__: openfl_display_ShaderParameter
|
|
,__properties__: {set_name:"set_name"}
|
|
};
|
|
var openfl_display_ShaderParameterType = {};
|
|
openfl_display_ShaderParameterType.fromString = function(value) {
|
|
switch(value) {
|
|
case "bool":
|
|
return 0;
|
|
case "bool2":
|
|
return 1;
|
|
case "bool3":
|
|
return 1;
|
|
case "bool4":
|
|
return 1;
|
|
case "float":
|
|
return 4;
|
|
case "float2":
|
|
return 5;
|
|
case "float3":
|
|
return 6;
|
|
case "float4":
|
|
return 7;
|
|
case "int":
|
|
return 8;
|
|
case "int2":
|
|
return 9;
|
|
case "int3":
|
|
return 10;
|
|
case "int4":
|
|
return 11;
|
|
case "matrix2x2":
|
|
return 12;
|
|
case "matrix2x3":
|
|
return 13;
|
|
case "matrix2x4":
|
|
return 14;
|
|
case "matrix3x2":
|
|
return 15;
|
|
case "matrix3x3":
|
|
return 16;
|
|
case "matrix3x4":
|
|
return 17;
|
|
case "matrix4x2":
|
|
return 18;
|
|
case "matrix4x3":
|
|
return 19;
|
|
case "matrix4x4":
|
|
return 20;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_display_ShaderParameterType.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "bool";
|
|
case 1:
|
|
return "bool2";
|
|
case 2:
|
|
return "bool3";
|
|
case 3:
|
|
return "bool4";
|
|
case 4:
|
|
return "float";
|
|
case 5:
|
|
return "float2";
|
|
case 6:
|
|
return "float3";
|
|
case 7:
|
|
return "float4";
|
|
case 8:
|
|
return "int";
|
|
case 9:
|
|
return "int2";
|
|
case 10:
|
|
return "int3";
|
|
case 11:
|
|
return "int4";
|
|
case 12:
|
|
return "matrix2x2";
|
|
case 13:
|
|
return "matrix2x3";
|
|
case 14:
|
|
return "matrix2x4";
|
|
case 15:
|
|
return "matrix3x2";
|
|
case 16:
|
|
return "matrix3x3";
|
|
case 17:
|
|
return "matrix3x4";
|
|
case 18:
|
|
return "matrix4x2";
|
|
case 19:
|
|
return "matrix4x3";
|
|
case 20:
|
|
return "matrix4x4";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
var openfl_display_ShaderPrecision = {};
|
|
openfl_display_ShaderPrecision.fromString = function(value) {
|
|
switch(value) {
|
|
case "fast":
|
|
return 0;
|
|
case "full":
|
|
return 1;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_display_ShaderPrecision.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "fast";
|
|
case 1:
|
|
return "full";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
var openfl_display_Shape = function() {
|
|
openfl_display_DisplayObject.call(this);
|
|
};
|
|
$hxClasses["openfl.display.Shape"] = openfl_display_Shape;
|
|
openfl_display_Shape.__name__ = "openfl.display.Shape";
|
|
openfl_display_Shape.__super__ = openfl_display_DisplayObject;
|
|
openfl_display_Shape.prototype = $extend(openfl_display_DisplayObject.prototype,{
|
|
get_graphics: function() {
|
|
if(this.__graphics == null) {
|
|
this.__graphics = new openfl_display_Graphics(this);
|
|
}
|
|
return this.__graphics;
|
|
}
|
|
,__class__: openfl_display_Shape
|
|
,__properties__: $extend(openfl_display_DisplayObject.prototype.__properties__,{get_graphics:"get_graphics"})
|
|
});
|
|
var openfl_display_SpreadMethod = {};
|
|
openfl_display_SpreadMethod.fromInt = function(value) {
|
|
return value;
|
|
};
|
|
openfl_display_SpreadMethod.fromString = function(value) {
|
|
switch(value) {
|
|
case "pad":
|
|
return 0;
|
|
case "reflect":
|
|
return 1;
|
|
case "repeat":
|
|
return 2;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_display_SpreadMethod.toInt = function(this1) {
|
|
return this1;
|
|
};
|
|
openfl_display_SpreadMethod.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "pad";
|
|
case 1:
|
|
return "reflect";
|
|
case 2:
|
|
return "repeat";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
var openfl_display_Stage = function($window,color) {
|
|
openfl_display_DisplayObjectContainer.call(this);
|
|
this.set_name(null);
|
|
this.__color = -1;
|
|
this.__colorSplit = [255,255,255];
|
|
this.__colorString = "#FFFFFF";
|
|
this.__contentsScaleFactor = 1;
|
|
this.__currentTabOrderIndex = 0;
|
|
this.__deltaTime = 0;
|
|
this.__displayState = 2;
|
|
this.__mouseX = 0;
|
|
this.__mouseY = 0;
|
|
this.__lastClickTime = 0;
|
|
this.__logicalWidth = 0;
|
|
this.__logicalHeight = 0;
|
|
this.__displayMatrix = new openfl_geom_Matrix();
|
|
this.__displayRect = new openfl_geom_Rectangle();
|
|
this.__renderDirty = true;
|
|
this.stage3Ds = openfl_Vector.toObjectVector(null);
|
|
this.stage3Ds.push(new openfl_display_Stage3D(this));
|
|
this.stage3Ds.push(new openfl_display_Stage3D(this));
|
|
this.stage3Ds.push(new openfl_display_Stage3D(this));
|
|
this.stage3Ds.push(new openfl_display_Stage3D(this));
|
|
this.stage = this;
|
|
this.align = 6;
|
|
this.allowsFullScreen = true;
|
|
this.allowsFullScreenInteractive = true;
|
|
this.__quality = 1;
|
|
this.__scaleMode = 2;
|
|
this.showDefaultContextMenu = true;
|
|
this.softKeyboardRect = new openfl_geom_Rectangle();
|
|
this.stageFocusRect = true;
|
|
this.__macKeyboard = /AppleWebKit/.test (navigator.userAgent) && /Mobile\/\w+/.test (navigator.userAgent) || /Mac/.test (navigator.platform);
|
|
this.__clearBeforeRender = true;
|
|
this.__forceRender = false;
|
|
this.__stack = [];
|
|
this.__rollOutStack = [];
|
|
this.__mouseOutStack = [];
|
|
this.__touchData = new haxe_ds_IntMap();
|
|
this.application = $window.application;
|
|
this.window = $window;
|
|
this.set_color(color);
|
|
this.__contentsScaleFactor = $window.__scale;
|
|
this.__wasFullscreen = $window.__fullscreen;
|
|
this.__resize();
|
|
if(openfl_Lib.get_current().stage == null) {
|
|
this.stage.addChild(openfl_Lib.get_current());
|
|
}
|
|
};
|
|
$hxClasses["openfl.display.Stage"] = openfl_display_Stage;
|
|
openfl_display_Stage.__name__ = "openfl.display.Stage";
|
|
openfl_display_Stage.__interfaces__ = [lime_app_IModule];
|
|
openfl_display_Stage.__super__ = openfl_display_DisplayObjectContainer;
|
|
openfl_display_Stage.prototype = $extend(openfl_display_DisplayObjectContainer.prototype,{
|
|
align: null
|
|
,allowsFullScreen: null
|
|
,allowsFullScreenInteractive: null
|
|
,application: null
|
|
,context3D: null
|
|
,showDefaultContextMenu: null
|
|
,softKeyboardRect: null
|
|
,stage3Ds: null
|
|
,stageFocusRect: null
|
|
,stageHeight: null
|
|
,stageWidth: null
|
|
,window: null
|
|
,__cacheFocus: null
|
|
,__clearBeforeRender: null
|
|
,__color: null
|
|
,__colorSplit: null
|
|
,__colorString: null
|
|
,__contentsScaleFactor: null
|
|
,__currentTabOrderIndex: null
|
|
,__deltaTime: null
|
|
,__dirty: null
|
|
,__displayMatrix: null
|
|
,__displayRect: null
|
|
,__displayState: null
|
|
,__dragBounds: null
|
|
,__dragObject: null
|
|
,__dragOffsetX: null
|
|
,__dragOffsetY: null
|
|
,__focus: null
|
|
,__forceRender: null
|
|
,__fullscreen: null
|
|
,__fullScreenSourceRect: null
|
|
,__invalidated: null
|
|
,__lastClickTime: null
|
|
,__logicalWidth: null
|
|
,__logicalHeight: null
|
|
,__macKeyboard: null
|
|
,__mouseDownLeft: null
|
|
,__mouseDownMiddle: null
|
|
,__mouseDownRight: null
|
|
,__mouseOutStack: null
|
|
,__mouseOverTarget: null
|
|
,__mouseX: null
|
|
,__mouseY: null
|
|
,__pendingMouseEvent: null
|
|
,__pendingMouseX: null
|
|
,__pendingMouseY: null
|
|
,__quality: null
|
|
,__renderer: null
|
|
,__rendering: null
|
|
,__rollOutStack: null
|
|
,__scaleMode: null
|
|
,__stack: null
|
|
,__touchData: null
|
|
,__transparent: null
|
|
,__wasDirty: null
|
|
,__wasFullscreen: null
|
|
,__primaryTouch: null
|
|
,invalidate: function() {
|
|
this.__invalidated = true;
|
|
this.__renderDirty = true;
|
|
}
|
|
,localToGlobal: function(pos) {
|
|
return pos.clone();
|
|
}
|
|
,__broadcastEvent: function(event) {
|
|
if(Object.prototype.hasOwnProperty.call(openfl_display_DisplayObject.__broadcastEvents.h,event.type)) {
|
|
var dispatchers = openfl_display_DisplayObject.__broadcastEvents.h[event.type];
|
|
var _g = 0;
|
|
while(_g < dispatchers.length) {
|
|
var dispatcher = dispatchers[_g];
|
|
++_g;
|
|
if(dispatcher.stage == this || dispatcher.stage == null) {
|
|
try {
|
|
dispatcher.__dispatch(event);
|
|
} catch( _g1 ) {
|
|
haxe_NativeStackTrace.lastError = _g1;
|
|
var e = haxe_Exception.caught(_g1).unwrap();
|
|
this.__handleError(e);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,__createRenderer: function() {
|
|
var pixelRatio = 1;
|
|
if(this.window.__scale > 1) {
|
|
pixelRatio = this.window.devicePixelRatio || 1;
|
|
}
|
|
var windowWidth = this.window.__width * this.window.__scale | 0;
|
|
var windowHeight = this.window.__height * this.window.__scale | 0;
|
|
switch(this.window.context.type) {
|
|
case "cairo":
|
|
break;
|
|
case "canvas":
|
|
this.__renderer = new openfl_display_CanvasRenderer(this.window.context.canvas2D);
|
|
(js_Boot.__cast(this.__renderer , openfl_display_CanvasRenderer)).pixelRatio = pixelRatio;
|
|
break;
|
|
case "dom":
|
|
this.__renderer = new openfl_display_DOMRenderer(this.window.context.dom);
|
|
(js_Boot.__cast(this.__renderer , openfl_display_DOMRenderer)).pixelRatio = pixelRatio;
|
|
break;
|
|
case "opengl":case "opengles":case "webgl":
|
|
this.context3D = new openfl_display3D_Context3D(this);
|
|
this.context3D.configureBackBuffer(windowWidth,windowHeight,0,true,true,true);
|
|
this.context3D.present();
|
|
this.__renderer = new openfl_display_OpenGLRenderer(this.context3D);
|
|
break;
|
|
default:
|
|
}
|
|
if(this.__renderer != null) {
|
|
var tmp = this.get_quality();
|
|
this.__renderer.__allowSmoothing = tmp != 2;
|
|
this.__renderer.__worldTransform = this.__displayMatrix;
|
|
this.__renderer.__stage = this;
|
|
this.__renderer.__resize(windowWidth,windowHeight);
|
|
}
|
|
}
|
|
,__dispatchEvent: function(event) {
|
|
try {
|
|
return openfl_display_DisplayObjectContainer.prototype.__dispatchEvent.call(this,event);
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
var e = haxe_Exception.caught(_g).unwrap();
|
|
this.__handleError(e);
|
|
return false;
|
|
}
|
|
}
|
|
,__dispatchPendingMouseEvent: function() {
|
|
if(this.__pendingMouseEvent) {
|
|
this.__onMouse("mouseMove",this.__pendingMouseX,this.__pendingMouseY,0);
|
|
this.__pendingMouseEvent = false;
|
|
}
|
|
}
|
|
,__dispatchStack: function(event,stack) {
|
|
try {
|
|
var target;
|
|
var length = stack.length;
|
|
if(length == 0) {
|
|
event.eventPhase = 2;
|
|
target = event.target;
|
|
target.__dispatch(event);
|
|
} else {
|
|
event.eventPhase = 1;
|
|
event.target = stack[stack.length - 1];
|
|
var _g = 0;
|
|
var _g1 = length - 1;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
stack[i].__dispatch(event);
|
|
if(event.__isCanceled) {
|
|
return;
|
|
}
|
|
}
|
|
event.eventPhase = 2;
|
|
target = event.target;
|
|
target.__dispatch(event);
|
|
if(event.__isCanceled) {
|
|
return;
|
|
}
|
|
if(event.bubbles) {
|
|
event.eventPhase = 3;
|
|
var i = length - 2;
|
|
while(i >= 0) {
|
|
stack[i].__dispatch(event);
|
|
if(event.__isCanceled) {
|
|
return;
|
|
}
|
|
--i;
|
|
}
|
|
}
|
|
}
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
var e = haxe_Exception.caught(_g).unwrap();
|
|
this.__handleError(e);
|
|
}
|
|
}
|
|
,__dispatchTarget: function(target,event) {
|
|
try {
|
|
return target.__dispatchEvent(event);
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
var e = haxe_Exception.caught(_g).unwrap();
|
|
this.__handleError(e);
|
|
return false;
|
|
}
|
|
}
|
|
,__drag: function(mouse) {
|
|
var parent = this.__dragObject.parent;
|
|
if(parent != null) {
|
|
var _this = parent.__getWorldTransform();
|
|
var norm = _this.a * _this.d - _this.b * _this.c;
|
|
if(norm == 0) {
|
|
mouse.x = -_this.tx;
|
|
mouse.y = -_this.ty;
|
|
} else {
|
|
var px = 1.0 / norm * (_this.c * (_this.ty - mouse.y) + _this.d * (mouse.x - _this.tx));
|
|
mouse.y = 1.0 / norm * (_this.a * (mouse.y - _this.ty) + _this.b * (_this.tx - mouse.x));
|
|
mouse.x = px;
|
|
}
|
|
}
|
|
var x = mouse.x + this.__dragOffsetX;
|
|
var y = mouse.y + this.__dragOffsetY;
|
|
if(this.__dragBounds != null) {
|
|
if(x < this.__dragBounds.x) {
|
|
x = this.__dragBounds.x;
|
|
} else if(x > this.__dragBounds.get_right()) {
|
|
x = this.__dragBounds.get_right();
|
|
}
|
|
if(y < this.__dragBounds.y) {
|
|
y = this.__dragBounds.y;
|
|
} else if(y > this.__dragBounds.get_bottom()) {
|
|
y = this.__dragBounds.get_bottom();
|
|
}
|
|
}
|
|
this.__dragObject.set_x(x);
|
|
this.__dragObject.set_y(y);
|
|
}
|
|
,__getInteractive: function(stack) {
|
|
if(stack != null) {
|
|
stack.push(this);
|
|
}
|
|
return true;
|
|
}
|
|
,__globalToLocal: function(global,local) {
|
|
if(global != local) {
|
|
local.copyFrom(global);
|
|
}
|
|
return local;
|
|
}
|
|
,__handleError: function(e) {
|
|
var event = new openfl_events_UncaughtErrorEvent("uncaughtError",true,true,e);
|
|
try {
|
|
openfl_Lib.get_current().__loaderInfo.uncaughtErrorEvents.dispatchEvent(event);
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
}
|
|
if(!event.__preventDefault) {
|
|
var message = haxe_CallStack.toString(haxe_CallStack.exceptionStack());
|
|
console.log(message);
|
|
var message = Std.string(e);
|
|
console.log(message);
|
|
try {
|
|
var exc = e;
|
|
if(exc != null && Object.prototype.hasOwnProperty.call(exc,"stack") && exc.stack != null && exc.stack != "") {
|
|
console.log(exc.stack);
|
|
e.stack = exc.stack;
|
|
} else {
|
|
var msg = haxe_CallStack.toString(haxe_CallStack.callStack());
|
|
console.log(msg);
|
|
}
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
}
|
|
throw e;
|
|
}
|
|
}
|
|
,__onKey: function(type,keyCode,modifier) {
|
|
this.__dispatchPendingMouseEvent();
|
|
openfl_events_MouseEvent.__altKey = lime_ui_KeyModifier.get_altKey(modifier);
|
|
openfl_events_MouseEvent.__commandKey = lime_ui_KeyModifier.get_metaKey(modifier);
|
|
openfl_events_MouseEvent.__ctrlKey = lime_ui_KeyModifier.get_ctrlKey(modifier);
|
|
openfl_events_MouseEvent.__shiftKey = lime_ui_KeyModifier.get_shiftKey(modifier);
|
|
var stack = [];
|
|
if(this.__focus == null) {
|
|
this.__getInteractive(stack);
|
|
} else {
|
|
this.__focus.__getInteractive(stack);
|
|
}
|
|
if(stack.length > 0) {
|
|
var keyLocation;
|
|
switch(keyCode) {
|
|
case 1073741908:case 1073741909:case 1073741910:case 1073741911:case 1073741912:case 1073741913:case 1073741914:case 1073741915:case 1073741916:case 1073741917:case 1073741918:case 1073741919:case 1073741920:case 1073741921:case 1073741922:case 1073741923:case 1073742044:
|
|
keyLocation = 3;
|
|
break;
|
|
case 1073742048:case 1073742049:case 1073742050:case 1073742051:
|
|
keyLocation = 1;
|
|
break;
|
|
case 1073742052:case 1073742053:case 1073742054:case 1073742055:
|
|
keyLocation = 2;
|
|
break;
|
|
default:
|
|
keyLocation = 0;
|
|
}
|
|
var keyCode1;
|
|
switch(keyCode) {
|
|
case 8:
|
|
keyCode1 = 8;
|
|
break;
|
|
case 9:
|
|
keyCode1 = 9;
|
|
break;
|
|
case 13:
|
|
keyCode1 = 13;
|
|
break;
|
|
case 27:
|
|
keyCode1 = 27;
|
|
break;
|
|
case 32:
|
|
keyCode1 = 32;
|
|
break;
|
|
case 33:
|
|
keyCode1 = 49;
|
|
break;
|
|
case 34:
|
|
keyCode1 = 222;
|
|
break;
|
|
case 35:
|
|
keyCode1 = 51;
|
|
break;
|
|
case 36:
|
|
keyCode1 = 52;
|
|
break;
|
|
case 37:
|
|
keyCode1 = 53;
|
|
break;
|
|
case 38:
|
|
keyCode1 = 55;
|
|
break;
|
|
case 39:
|
|
keyCode1 = 222;
|
|
break;
|
|
case 40:
|
|
keyCode1 = 57;
|
|
break;
|
|
case 41:
|
|
keyCode1 = 48;
|
|
break;
|
|
case 42:
|
|
keyCode1 = 56;
|
|
break;
|
|
case 44:
|
|
keyCode1 = 188;
|
|
break;
|
|
case 45:
|
|
keyCode1 = 189;
|
|
break;
|
|
case 46:
|
|
keyCode1 = 190;
|
|
break;
|
|
case 47:
|
|
keyCode1 = 191;
|
|
break;
|
|
case 48:
|
|
keyCode1 = 48;
|
|
break;
|
|
case 49:
|
|
keyCode1 = 49;
|
|
break;
|
|
case 50:
|
|
keyCode1 = 50;
|
|
break;
|
|
case 51:
|
|
keyCode1 = 51;
|
|
break;
|
|
case 52:
|
|
keyCode1 = 52;
|
|
break;
|
|
case 53:
|
|
keyCode1 = 53;
|
|
break;
|
|
case 54:
|
|
keyCode1 = 54;
|
|
break;
|
|
case 55:
|
|
keyCode1 = 55;
|
|
break;
|
|
case 56:
|
|
keyCode1 = 56;
|
|
break;
|
|
case 57:
|
|
keyCode1 = 57;
|
|
break;
|
|
case 58:
|
|
keyCode1 = 186;
|
|
break;
|
|
case 59:
|
|
keyCode1 = 186;
|
|
break;
|
|
case 60:
|
|
keyCode1 = 60;
|
|
break;
|
|
case 61:
|
|
keyCode1 = 187;
|
|
break;
|
|
case 62:
|
|
keyCode1 = 190;
|
|
break;
|
|
case 63:
|
|
keyCode1 = 191;
|
|
break;
|
|
case 64:
|
|
keyCode1 = 50;
|
|
break;
|
|
case 91:
|
|
keyCode1 = 219;
|
|
break;
|
|
case 92:
|
|
keyCode1 = 220;
|
|
break;
|
|
case 93:
|
|
keyCode1 = 221;
|
|
break;
|
|
case 94:
|
|
keyCode1 = 54;
|
|
break;
|
|
case 95:
|
|
keyCode1 = 189;
|
|
break;
|
|
case 96:
|
|
keyCode1 = 192;
|
|
break;
|
|
case 97:
|
|
keyCode1 = 65;
|
|
break;
|
|
case 98:
|
|
keyCode1 = 66;
|
|
break;
|
|
case 99:
|
|
keyCode1 = 67;
|
|
break;
|
|
case 100:
|
|
keyCode1 = 68;
|
|
break;
|
|
case 101:
|
|
keyCode1 = 69;
|
|
break;
|
|
case 102:
|
|
keyCode1 = 70;
|
|
break;
|
|
case 103:
|
|
keyCode1 = 71;
|
|
break;
|
|
case 104:
|
|
keyCode1 = 72;
|
|
break;
|
|
case 105:
|
|
keyCode1 = 73;
|
|
break;
|
|
case 106:
|
|
keyCode1 = 74;
|
|
break;
|
|
case 107:
|
|
keyCode1 = 75;
|
|
break;
|
|
case 108:
|
|
keyCode1 = 76;
|
|
break;
|
|
case 109:
|
|
keyCode1 = 77;
|
|
break;
|
|
case 110:
|
|
keyCode1 = 78;
|
|
break;
|
|
case 111:
|
|
keyCode1 = 79;
|
|
break;
|
|
case 112:
|
|
keyCode1 = 80;
|
|
break;
|
|
case 113:
|
|
keyCode1 = 81;
|
|
break;
|
|
case 114:
|
|
keyCode1 = 82;
|
|
break;
|
|
case 115:
|
|
keyCode1 = 83;
|
|
break;
|
|
case 116:
|
|
keyCode1 = 84;
|
|
break;
|
|
case 117:
|
|
keyCode1 = 85;
|
|
break;
|
|
case 118:
|
|
keyCode1 = 86;
|
|
break;
|
|
case 119:
|
|
keyCode1 = 87;
|
|
break;
|
|
case 120:
|
|
keyCode1 = 88;
|
|
break;
|
|
case 121:
|
|
keyCode1 = 89;
|
|
break;
|
|
case 122:
|
|
keyCode1 = 90;
|
|
break;
|
|
case 127:
|
|
keyCode1 = 46;
|
|
break;
|
|
case 1073741881:
|
|
keyCode1 = 20;
|
|
break;
|
|
case 1073741882:
|
|
keyCode1 = 112;
|
|
break;
|
|
case 1073741883:
|
|
keyCode1 = 113;
|
|
break;
|
|
case 1073741884:
|
|
keyCode1 = 114;
|
|
break;
|
|
case 1073741885:
|
|
keyCode1 = 115;
|
|
break;
|
|
case 1073741886:
|
|
keyCode1 = 116;
|
|
break;
|
|
case 1073741887:
|
|
keyCode1 = 117;
|
|
break;
|
|
case 1073741888:
|
|
keyCode1 = 118;
|
|
break;
|
|
case 1073741889:
|
|
keyCode1 = 119;
|
|
break;
|
|
case 1073741890:
|
|
keyCode1 = 120;
|
|
break;
|
|
case 1073741891:
|
|
keyCode1 = 121;
|
|
break;
|
|
case 1073741892:
|
|
keyCode1 = 122;
|
|
break;
|
|
case 1073741893:
|
|
keyCode1 = 123;
|
|
break;
|
|
case 1073741894:
|
|
keyCode1 = 301;
|
|
break;
|
|
case 1073741895:
|
|
keyCode1 = 145;
|
|
break;
|
|
case 1073741896:
|
|
keyCode1 = 19;
|
|
break;
|
|
case 1073741897:
|
|
keyCode1 = 45;
|
|
break;
|
|
case 1073741898:
|
|
keyCode1 = 36;
|
|
break;
|
|
case 1073741899:
|
|
keyCode1 = 33;
|
|
break;
|
|
case 1073741901:
|
|
keyCode1 = 35;
|
|
break;
|
|
case 1073741902:
|
|
keyCode1 = 34;
|
|
break;
|
|
case 1073741903:
|
|
keyCode1 = 39;
|
|
break;
|
|
case 1073741904:
|
|
keyCode1 = 37;
|
|
break;
|
|
case 1073741905:
|
|
keyCode1 = 40;
|
|
break;
|
|
case 1073741906:
|
|
keyCode1 = 38;
|
|
break;
|
|
case 1073741907:
|
|
keyCode1 = 144;
|
|
break;
|
|
case 1073741908:
|
|
keyCode1 = 111;
|
|
break;
|
|
case 1073741909:
|
|
keyCode1 = 106;
|
|
break;
|
|
case 1073741910:
|
|
keyCode1 = 109;
|
|
break;
|
|
case 1073741911:
|
|
keyCode1 = 107;
|
|
break;
|
|
case 1073741912:
|
|
keyCode1 = 13;
|
|
break;
|
|
case 1073741913:
|
|
keyCode1 = 97;
|
|
break;
|
|
case 1073741914:
|
|
keyCode1 = 98;
|
|
break;
|
|
case 1073741915:
|
|
keyCode1 = 99;
|
|
break;
|
|
case 1073741916:
|
|
keyCode1 = 100;
|
|
break;
|
|
case 1073741917:
|
|
keyCode1 = 101;
|
|
break;
|
|
case 1073741918:
|
|
keyCode1 = 102;
|
|
break;
|
|
case 1073741919:
|
|
keyCode1 = 103;
|
|
break;
|
|
case 1073741920:
|
|
keyCode1 = 104;
|
|
break;
|
|
case 1073741921:
|
|
keyCode1 = 105;
|
|
break;
|
|
case 1073741922:
|
|
keyCode1 = 96;
|
|
break;
|
|
case 1073741923:
|
|
keyCode1 = 110;
|
|
break;
|
|
case 1073741925:
|
|
keyCode1 = 302;
|
|
break;
|
|
case 1073741928:
|
|
keyCode1 = 124;
|
|
break;
|
|
case 1073741929:
|
|
keyCode1 = 125;
|
|
break;
|
|
case 1073741930:
|
|
keyCode1 = 126;
|
|
break;
|
|
case 1073741982:
|
|
keyCode1 = 13;
|
|
break;
|
|
case 1073742044:
|
|
keyCode1 = 110;
|
|
break;
|
|
case 1073742048:
|
|
keyCode1 = 17;
|
|
break;
|
|
case 1073742049:
|
|
keyCode1 = 16;
|
|
break;
|
|
case 1073742050:
|
|
keyCode1 = 18;
|
|
break;
|
|
case 1073742051:
|
|
keyCode1 = 15;
|
|
break;
|
|
case 1073742052:
|
|
keyCode1 = 17;
|
|
break;
|
|
case 1073742053:
|
|
keyCode1 = 16;
|
|
break;
|
|
case 1073742054:
|
|
keyCode1 = 18;
|
|
break;
|
|
case 1073742055:
|
|
keyCode1 = 15;
|
|
break;
|
|
default:
|
|
keyCode1 = keyCode;
|
|
}
|
|
var charCode = openfl_ui_Keyboard.__getCharCode(keyCode1,lime_ui_KeyModifier.get_shiftKey(modifier));
|
|
if(type == "keyUp" && (keyCode1 == 32 || keyCode1 == 13) && ((this.__focus) instanceof openfl_display_Sprite)) {
|
|
var sprite = js_Boot.__cast(this.__focus , openfl_display_Sprite);
|
|
if(sprite.get_buttonMode() && sprite.focusRect == true) {
|
|
var localPoint = openfl_geom_Point.__pool.get();
|
|
var targetPoint = openfl_geom_Point.__pool.get();
|
|
targetPoint.x = this.__mouseX;
|
|
targetPoint.y = this.__mouseY;
|
|
var clickEvent = openfl_events_MouseEvent.__create("click",0,this.__mouseX,this.__mouseY,sprite.__globalToLocal(targetPoint,localPoint),sprite);
|
|
this.__dispatchStack(clickEvent,stack);
|
|
openfl_geom_Point.__pool.release(targetPoint);
|
|
openfl_geom_Point.__pool.release(localPoint);
|
|
}
|
|
}
|
|
var event = new openfl_events_KeyboardEvent(type,true,true,charCode,keyCode1,keyLocation,this.__macKeyboard ? lime_ui_KeyModifier.get_ctrlKey(modifier) || lime_ui_KeyModifier.get_metaKey(modifier) : lime_ui_KeyModifier.get_ctrlKey(modifier),lime_ui_KeyModifier.get_altKey(modifier),lime_ui_KeyModifier.get_shiftKey(modifier),lime_ui_KeyModifier.get_ctrlKey(modifier),lime_ui_KeyModifier.get_metaKey(modifier));
|
|
stack.reverse();
|
|
this.__dispatchStack(event,stack);
|
|
if(event.__preventDefault) {
|
|
if(type == "keyDown") {
|
|
this.window.onKeyDown.cancel();
|
|
} else {
|
|
this.window.onKeyUp.cancel();
|
|
}
|
|
} else if(type == "keyDown" && keyCode1 == 9) {
|
|
var tabStack = [];
|
|
this.__tabTest(tabStack);
|
|
var nextIndex = -1;
|
|
var nextObject = null;
|
|
var nextOffset = lime_ui_KeyModifier.get_shiftKey(modifier) ? -1 : 1;
|
|
if(tabStack.length > 1) {
|
|
haxe_ds_ArraySort.sort(tabStack,function(a,b) {
|
|
return a.get_tabIndex() - b.get_tabIndex();
|
|
});
|
|
if(tabStack[tabStack.length - 1].get_tabIndex() != -1) {
|
|
var i = 0;
|
|
while(i < tabStack.length) {
|
|
if(tabStack[i].get_tabIndex() > -1) {
|
|
if(i > 0) {
|
|
tabStack.splice(0,i);
|
|
}
|
|
break;
|
|
}
|
|
++i;
|
|
}
|
|
}
|
|
if(this.get_focus() != null) {
|
|
var current = this.get_focus();
|
|
var index = tabStack.indexOf(current);
|
|
while(index == -1 && current != null) {
|
|
var currentParent = current.parent;
|
|
if(currentParent != null && currentParent.get_tabChildren()) {
|
|
var currentIndex = currentParent.getChildIndex(current);
|
|
if(currentIndex == -1) {
|
|
current = currentParent;
|
|
continue;
|
|
}
|
|
var i = currentIndex + nextOffset;
|
|
while(lime_ui_KeyModifier.get_shiftKey(modifier) ? i >= 0 : i < currentParent.get_numChildren()) {
|
|
var sibling = currentParent.getChildAt(i);
|
|
if(((sibling) instanceof openfl_display_InteractiveObject)) {
|
|
var interactiveSibling = js_Boot.__cast(sibling , openfl_display_InteractiveObject);
|
|
index = tabStack.indexOf(interactiveSibling);
|
|
if(index != -1) {
|
|
nextOffset = 0;
|
|
break;
|
|
}
|
|
}
|
|
i += nextOffset;
|
|
}
|
|
} else if(lime_ui_KeyModifier.get_shiftKey(modifier)) {
|
|
index = tabStack.indexOf(currentParent);
|
|
if(index != -1) {
|
|
nextOffset = 0;
|
|
}
|
|
}
|
|
current = currentParent;
|
|
}
|
|
if(index < 0) {
|
|
nextIndex = 0;
|
|
} else {
|
|
nextIndex = index + nextOffset;
|
|
}
|
|
} else {
|
|
nextIndex = this.__currentTabOrderIndex;
|
|
}
|
|
} else if(tabStack.length == 1) {
|
|
nextObject = tabStack[0];
|
|
if(this.get_focus() == nextObject) {
|
|
nextObject = null;
|
|
}
|
|
}
|
|
var cancelTab = nextIndex >= 0 && nextIndex < tabStack.length;
|
|
if(tabStack.length == 1 || tabStack.length == 0 && this.get_focus() != null) {
|
|
nextIndex = 0;
|
|
} else if(tabStack.length > 1) {
|
|
if(nextIndex < 0) {
|
|
nextIndex += tabStack.length;
|
|
}
|
|
nextIndex %= tabStack.length;
|
|
nextObject = tabStack[nextIndex];
|
|
if(nextObject == this.get_focus()) {
|
|
nextIndex += nextOffset;
|
|
if(nextIndex < 0) {
|
|
nextIndex += tabStack.length;
|
|
}
|
|
nextIndex %= tabStack.length;
|
|
nextObject = tabStack[nextIndex];
|
|
}
|
|
}
|
|
var focusEvent = null;
|
|
if(this.get_focus() != null) {
|
|
focusEvent = new openfl_events_FocusEvent("keyFocusChange",true,true,nextObject,lime_ui_KeyModifier.get_shiftKey(modifier),0);
|
|
stack = [];
|
|
this.get_focus().__getInteractive(stack);
|
|
stack.reverse();
|
|
this.__dispatchStack(focusEvent,stack);
|
|
if(focusEvent.isDefaultPrevented()) {
|
|
this.window.onKeyDown.cancel();
|
|
}
|
|
}
|
|
if(focusEvent == null || !focusEvent.isDefaultPrevented()) {
|
|
this.__currentTabOrderIndex = nextIndex;
|
|
if(nextObject != null) {
|
|
this.set_focus(nextObject);
|
|
}
|
|
if(cancelTab) {
|
|
this.window.onKeyDown.cancel();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,__onLimeCreateWindow: function($window) {
|
|
if(this.window != $window) {
|
|
return;
|
|
}
|
|
var _g = $bind(this,this.__onLimeWindowActivate);
|
|
var window1 = $window;
|
|
var tmp = function() {
|
|
_g(window1);
|
|
};
|
|
$window.onActivate.add(tmp);
|
|
var _g1 = $bind(this,this.__onLimeWindowClose);
|
|
var window2 = $window;
|
|
var tmp = function() {
|
|
_g1(window2);
|
|
};
|
|
$window.onClose.add(tmp,false,-9000);
|
|
var _g2 = $bind(this,this.__onLimeWindowDeactivate);
|
|
var window3 = $window;
|
|
var tmp = function() {
|
|
_g2(window3);
|
|
};
|
|
$window.onDeactivate.add(tmp);
|
|
var _g3 = $bind(this,this.__onLimeWindowDropFile);
|
|
var window4 = $window;
|
|
var tmp = function(file) {
|
|
_g3(window4,file);
|
|
};
|
|
$window.onDropFile.add(tmp);
|
|
var _g4 = $bind(this,this.__onLimeWindowEnter);
|
|
var window5 = $window;
|
|
var tmp = function() {
|
|
_g4(window5);
|
|
};
|
|
$window.onEnter.add(tmp);
|
|
var _g5 = $bind(this,this.__onLimeWindowExpose);
|
|
var window6 = $window;
|
|
var tmp = function() {
|
|
_g5(window6);
|
|
};
|
|
$window.onExpose.add(tmp);
|
|
var _g6 = $bind(this,this.__onLimeWindowFocusIn);
|
|
var window7 = $window;
|
|
var tmp = function() {
|
|
_g6(window7);
|
|
};
|
|
$window.onFocusIn.add(tmp);
|
|
var _g7 = $bind(this,this.__onLimeWindowFocusOut);
|
|
var window8 = $window;
|
|
var tmp = function() {
|
|
_g7(window8);
|
|
};
|
|
$window.onFocusOut.add(tmp);
|
|
var _g8 = $bind(this,this.__onLimeWindowFullscreen);
|
|
var window9 = $window;
|
|
var tmp = function() {
|
|
_g8(window9);
|
|
};
|
|
$window.onFullscreen.add(tmp);
|
|
var _g9 = $bind(this,this.__onLimeKeyDown);
|
|
var window10 = $window;
|
|
var tmp = function(keyCode,modifier) {
|
|
_g9(window10,keyCode,modifier);
|
|
};
|
|
$window.onKeyDown.add(tmp);
|
|
var _g10 = $bind(this,this.__onLimeKeyUp);
|
|
var window11 = $window;
|
|
var tmp = function(keyCode,modifier) {
|
|
_g10(window11,keyCode,modifier);
|
|
};
|
|
$window.onKeyUp.add(tmp);
|
|
var _g11 = $bind(this,this.__onLimeWindowLeave);
|
|
var window12 = $window;
|
|
var tmp = function() {
|
|
_g11(window12);
|
|
};
|
|
$window.onLeave.add(tmp);
|
|
var _g12 = $bind(this,this.__onLimeWindowMinimize);
|
|
var window13 = $window;
|
|
var tmp = function() {
|
|
_g12(window13);
|
|
};
|
|
$window.onMinimize.add(tmp);
|
|
var _g13 = $bind(this,this.__onLimeMouseDown);
|
|
var window14 = $window;
|
|
var tmp = function(x,y,button) {
|
|
_g13(window14,x,y,button);
|
|
};
|
|
$window.onMouseDown.add(tmp);
|
|
var _g14 = $bind(this,this.__onLimeMouseMove);
|
|
var window15 = $window;
|
|
var tmp = function(x,y) {
|
|
_g14(window15,x,y);
|
|
};
|
|
$window.onMouseMove.add(tmp);
|
|
var _g15 = $bind(this,this.__onLimeMouseMoveRelative);
|
|
var window16 = $window;
|
|
var tmp = function(x,y) {
|
|
_g15(window16,x,y);
|
|
};
|
|
$window.onMouseMoveRelative.add(tmp);
|
|
var _g16 = $bind(this,this.__onLimeMouseUp);
|
|
var window17 = $window;
|
|
var tmp = function(x,y,button) {
|
|
_g16(window17,x,y,button);
|
|
};
|
|
$window.onMouseUp.add(tmp);
|
|
var _g17 = $bind(this,this.__onLimeMouseWheel);
|
|
var window18 = $window;
|
|
var tmp = function(deltaX,deltaY,deltaMode) {
|
|
_g17(window18,deltaX,deltaY,deltaMode);
|
|
};
|
|
$window.onMouseWheel.add(tmp);
|
|
var _g18 = $bind(this,this.__onLimeWindowMove);
|
|
var window19 = $window;
|
|
var tmp = function(x,y) {
|
|
_g18(window19,x,y);
|
|
};
|
|
$window.onMove.add(tmp);
|
|
$window.onRender.add($bind(this,this.__onLimeRender));
|
|
$window.onRenderContextLost.add($bind(this,this.__onLimeRenderContextLost));
|
|
$window.onRenderContextRestored.add($bind(this,this.__onLimeRenderContextRestored));
|
|
var _g19 = $bind(this,this.__onLimeWindowResize);
|
|
var window20 = $window;
|
|
var tmp = function(width,height) {
|
|
_g19(window20,width,height);
|
|
};
|
|
$window.onResize.add(tmp);
|
|
var _g20 = $bind(this,this.__onLimeWindowRestore);
|
|
var window21 = $window;
|
|
var tmp = function() {
|
|
_g20(window21);
|
|
};
|
|
$window.onRestore.add(tmp);
|
|
var _g21 = $bind(this,this.__onLimeTextEdit);
|
|
var window22 = $window;
|
|
var tmp = function(text,start,length) {
|
|
_g21(window22,text,start,length);
|
|
};
|
|
$window.onTextEdit.add(tmp);
|
|
var _g22 = $bind(this,this.__onLimeTextInput);
|
|
var window23 = $window;
|
|
var tmp = function(text) {
|
|
_g22(window23,text);
|
|
};
|
|
$window.onTextInput.add(tmp);
|
|
this.__onLimeWindowCreate($window);
|
|
}
|
|
,__onLimeGamepadAxisMove: function(gamepad,axis,value) {
|
|
try {
|
|
openfl_ui_GameInput.__onGamepadAxisMove(gamepad,axis,value);
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
var e = haxe_Exception.caught(_g).unwrap();
|
|
this.__handleError(e);
|
|
}
|
|
}
|
|
,__onLimeGamepadButtonDown: function(gamepad,button) {
|
|
try {
|
|
openfl_ui_GameInput.__onGamepadButtonDown(gamepad,button);
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
var e = haxe_Exception.caught(_g).unwrap();
|
|
this.__handleError(e);
|
|
}
|
|
}
|
|
,__onLimeGamepadButtonUp: function(gamepad,button) {
|
|
try {
|
|
openfl_ui_GameInput.__onGamepadButtonUp(gamepad,button);
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
var e = haxe_Exception.caught(_g).unwrap();
|
|
this.__handleError(e);
|
|
}
|
|
}
|
|
,__onLimeGamepadConnect: function(gamepad) {
|
|
try {
|
|
openfl_ui_GameInput.__onGamepadConnect(gamepad);
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
var e = haxe_Exception.caught(_g).unwrap();
|
|
this.__handleError(e);
|
|
}
|
|
var _g = $bind(this,this.__onLimeGamepadAxisMove);
|
|
var gamepad1 = gamepad;
|
|
var tmp = function(axis,value) {
|
|
_g(gamepad1,axis,value);
|
|
};
|
|
gamepad.onAxisMove.add(tmp);
|
|
var _g1 = $bind(this,this.__onLimeGamepadButtonDown);
|
|
var gamepad2 = gamepad;
|
|
var tmp = function(button) {
|
|
_g1(gamepad2,button);
|
|
};
|
|
gamepad.onButtonDown.add(tmp);
|
|
var _g2 = $bind(this,this.__onLimeGamepadButtonUp);
|
|
var gamepad3 = gamepad;
|
|
var tmp = function(button) {
|
|
_g2(gamepad3,button);
|
|
};
|
|
gamepad.onButtonUp.add(tmp);
|
|
var _g3 = $bind(this,this.__onLimeGamepadDisconnect);
|
|
var gamepad4 = gamepad;
|
|
var tmp = function() {
|
|
_g3(gamepad4);
|
|
};
|
|
gamepad.onDisconnect.add(tmp);
|
|
}
|
|
,__onLimeGamepadDisconnect: function(gamepad) {
|
|
try {
|
|
openfl_ui_GameInput.__onGamepadDisconnect(gamepad);
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
var e = haxe_Exception.caught(_g).unwrap();
|
|
this.__handleError(e);
|
|
}
|
|
}
|
|
,__onLimeKeyDown: function($window,keyCode,modifier) {
|
|
if(this.window == null || this.window != $window) {
|
|
return;
|
|
}
|
|
this.__onKey("keyDown",keyCode,modifier);
|
|
}
|
|
,__onLimeKeyUp: function($window,keyCode,modifier) {
|
|
if(this.window == null || this.window != $window) {
|
|
return;
|
|
}
|
|
this.__onKey("keyUp",keyCode,modifier);
|
|
}
|
|
,__onLimeModuleExit: function(code) {
|
|
if(this.window != null) {
|
|
var event = null;
|
|
event = new openfl_events_Event("deactivate");
|
|
this.__broadcastEvent(event);
|
|
}
|
|
}
|
|
,__onLimeMouseDown: function($window,x,y,button) {
|
|
if(this.window == null || this.window != $window) {
|
|
return;
|
|
}
|
|
this.__dispatchPendingMouseEvent();
|
|
var type;
|
|
switch(button) {
|
|
case 1:
|
|
type = "middleMouseDown";
|
|
break;
|
|
case 2:
|
|
type = "rightMouseDown";
|
|
break;
|
|
default:
|
|
type = "mouseDown";
|
|
}
|
|
this.__onMouse(type,x * $window.__scale | 0,y * $window.__scale | 0,button);
|
|
if(!this.showDefaultContextMenu && button == 2) {
|
|
$window.onMouseDown.cancel();
|
|
}
|
|
}
|
|
,__onLimeMouseMove: function($window,x,y) {
|
|
if(this.window == null || this.window != $window) {
|
|
return;
|
|
}
|
|
this.__pendingMouseEvent = true;
|
|
this.__pendingMouseX = x * $window.__scale | 0;
|
|
this.__pendingMouseY = y * $window.__scale | 0;
|
|
}
|
|
,__onLimeMouseMoveRelative: function($window,x,y) {
|
|
}
|
|
,__onLimeMouseUp: function($window,x,y,button) {
|
|
if(this.window == null || this.window != $window) {
|
|
return;
|
|
}
|
|
this.__dispatchPendingMouseEvent();
|
|
var type;
|
|
switch(button) {
|
|
case 1:
|
|
type = "middleMouseUp";
|
|
break;
|
|
case 2:
|
|
type = "rightMouseUp";
|
|
break;
|
|
default:
|
|
type = "mouseUp";
|
|
}
|
|
this.__onMouse(type,x * $window.__scale | 0,y * $window.__scale | 0,button);
|
|
if(!this.showDefaultContextMenu && button == 2) {
|
|
$window.onMouseUp.cancel();
|
|
}
|
|
}
|
|
,__onLimeMouseWheel: function($window,deltaX,deltaY,deltaMode) {
|
|
if(this.window == null || this.window != $window) {
|
|
return;
|
|
}
|
|
this.__dispatchPendingMouseEvent();
|
|
if(deltaMode == lime_ui_MouseWheelMode.PIXELS) {
|
|
this.__onMouseWheel(deltaX * $window.__scale | 0,deltaY * $window.__scale | 0,deltaMode);
|
|
} else {
|
|
this.__onMouseWheel(deltaX | 0,deltaY | 0,deltaMode);
|
|
}
|
|
}
|
|
,__onLimeRender: function(context) {
|
|
if(this.__rendering) {
|
|
return;
|
|
}
|
|
this.__rendering = true;
|
|
var event = null;
|
|
this.__broadcastEvent(new openfl_events_Event("enterFrame"));
|
|
this.__broadcastEvent(new openfl_events_Event("frameConstructed"));
|
|
this.__broadcastEvent(new openfl_events_Event("exitFrame"));
|
|
this.__renderable = true;
|
|
this.__enterFrame(this.__deltaTime);
|
|
this.__deltaTime = 0;
|
|
var shouldRender = this.__renderer != null && (this.__renderDirty || this.__forceRender);
|
|
if(this.__invalidated && shouldRender) {
|
|
this.__invalidated = false;
|
|
event = new openfl_events_Event("render");
|
|
this.__broadcastEvent(event);
|
|
}
|
|
this.__update(false,true);
|
|
if(this.__renderer != null) {
|
|
if(this.context3D != null) {
|
|
var stage3D = this.stage3Ds.iterator();
|
|
while(stage3D.hasNext()) {
|
|
var stage3D1 = stage3D.next();
|
|
this.context3D.__renderStage3D(stage3D1);
|
|
}
|
|
if(this.context3D.__present) {
|
|
shouldRender = true;
|
|
}
|
|
}
|
|
if(shouldRender) {
|
|
var tmp = this.__renderer.__type == "cairo";
|
|
if(this.context3D == null) {
|
|
this.__renderer.__clear();
|
|
}
|
|
this.__renderer.__render(this);
|
|
} else if(this.context3D == null) {
|
|
this.window.onRender.cancel();
|
|
}
|
|
if(this.context3D != null) {
|
|
if(!this.context3D.__present) {
|
|
this.window.onRender.cancel();
|
|
} else {
|
|
if(!this.__renderer.__cleared) {
|
|
this.__renderer.__clear();
|
|
}
|
|
this.context3D.__present = false;
|
|
this.context3D.__cleared = false;
|
|
}
|
|
}
|
|
this.__renderer.__cleared = false;
|
|
}
|
|
this.__rendering = false;
|
|
}
|
|
,__onLimeRenderContextLost: function() {
|
|
this.__renderer = null;
|
|
this.context3D = null;
|
|
var stage3D = this.stage3Ds.iterator();
|
|
while(stage3D.hasNext()) {
|
|
var stage3D1 = stage3D.next();
|
|
stage3D1.__lostContext();
|
|
}
|
|
}
|
|
,__onLimeRenderContextRestored: function(context) {
|
|
this.__createRenderer();
|
|
var stage3D = this.stage3Ds.iterator();
|
|
while(stage3D.hasNext()) {
|
|
var stage3D1 = stage3D.next();
|
|
stage3D1.__restoreContext();
|
|
}
|
|
}
|
|
,__onLimeTextEdit: function($window,text,start,length) {
|
|
}
|
|
,__onLimeTextInput: function($window,text) {
|
|
if(this.window == null || this.window != $window) {
|
|
return;
|
|
}
|
|
var stack = [];
|
|
if(this.__focus == null) {
|
|
this.__getInteractive(stack);
|
|
} else {
|
|
this.__focus.__getInteractive(stack);
|
|
}
|
|
var event = new openfl_events_TextEvent("textInput",true,true,text);
|
|
if(stack.length > 0) {
|
|
stack.reverse();
|
|
this.__dispatchStack(event,stack);
|
|
} else {
|
|
this.__dispatchEvent(event);
|
|
}
|
|
if(event.isDefaultPrevented()) {
|
|
$window.onTextInput.cancel();
|
|
}
|
|
}
|
|
,__onLimeTouchCancel: function(touch) {
|
|
var isPrimaryTouchPoint = this.__primaryTouch == touch;
|
|
if(isPrimaryTouchPoint) {
|
|
this.__primaryTouch = null;
|
|
}
|
|
this.__onTouch("touchEnd",touch,isPrimaryTouchPoint);
|
|
}
|
|
,__onLimeTouchMove: function(touch) {
|
|
this.__onTouch("touchMove",touch,this.__primaryTouch == touch);
|
|
}
|
|
,__onLimeTouchEnd: function(touch) {
|
|
var isPrimaryTouchPoint = this.__primaryTouch == touch;
|
|
if(isPrimaryTouchPoint) {
|
|
this.__primaryTouch = null;
|
|
}
|
|
this.__onTouch("touchEnd",touch,isPrimaryTouchPoint);
|
|
}
|
|
,__onLimeTouchStart: function(touch) {
|
|
if(this.__primaryTouch == null) {
|
|
this.__primaryTouch = touch;
|
|
}
|
|
this.__onTouch("touchBegin",touch,this.__primaryTouch == touch);
|
|
}
|
|
,__onLimeUpdate: function(deltaTime) {
|
|
this.__deltaTime = deltaTime;
|
|
this.__dispatchPendingMouseEvent();
|
|
}
|
|
,__onLimeWindowActivate: function($window) {
|
|
if(this.window == null || this.window != $window) {
|
|
return;
|
|
}
|
|
}
|
|
,__onLimeWindowClose: function($window) {
|
|
if(this.window == $window) {
|
|
this.window = null;
|
|
}
|
|
this.__primaryTouch = null;
|
|
var event = null;
|
|
event = new openfl_events_Event("deactivate");
|
|
this.__broadcastEvent(event);
|
|
}
|
|
,__onLimeWindowCreate: function($window) {
|
|
if(this.window == null || this.window != $window) {
|
|
return;
|
|
}
|
|
if($window.context != null) {
|
|
this.__createRenderer();
|
|
}
|
|
}
|
|
,__onLimeWindowDeactivate: function($window) {
|
|
if(this.window == null || this.window != $window) {
|
|
return;
|
|
}
|
|
}
|
|
,__onLimeWindowDropFile: function($window,file) {
|
|
}
|
|
,__onLimeWindowEnter: function($window) {
|
|
}
|
|
,__onLimeWindowExpose: function($window) {
|
|
if(this.window == null || this.window != $window) {
|
|
return;
|
|
}
|
|
this.__renderDirty = true;
|
|
}
|
|
,__onLimeWindowFocusIn: function($window) {
|
|
if(this.window == null || this.window != $window) {
|
|
return;
|
|
}
|
|
this.__renderDirty = true;
|
|
var event = null;
|
|
event = new openfl_events_Event("activate");
|
|
this.__broadcastEvent(event);
|
|
this.set_focus(this.__cacheFocus);
|
|
}
|
|
,__onLimeWindowFocusOut: function($window) {
|
|
if(this.window == null || this.window != $window) {
|
|
return;
|
|
}
|
|
this.__primaryTouch = null;
|
|
var event = null;
|
|
event = new openfl_events_Event("deactivate");
|
|
this.__broadcastEvent(event);
|
|
var currentFocus = this.get_focus();
|
|
this.set_focus(null);
|
|
this.__cacheFocus = currentFocus;
|
|
openfl_events_MouseEvent.__altKey = false;
|
|
openfl_events_MouseEvent.__commandKey = false;
|
|
openfl_events_MouseEvent.__ctrlKey = false;
|
|
openfl_events_MouseEvent.__shiftKey = false;
|
|
}
|
|
,__onLimeWindowFullscreen: function($window) {
|
|
if(this.window == null || this.window != $window) {
|
|
return;
|
|
}
|
|
this.__resize();
|
|
if(!this.__wasFullscreen) {
|
|
this.__wasFullscreen = true;
|
|
if(this.__displayState == 2) {
|
|
this.__displayState = 1;
|
|
}
|
|
this.__dispatchEvent(new openfl_events_FullScreenEvent("fullScreen",false,false,true,true));
|
|
}
|
|
}
|
|
,__onLimeWindowLeave: function($window) {
|
|
if(this.window == null || this.window != $window || openfl_events_MouseEvent.__buttonDown) {
|
|
return;
|
|
}
|
|
this.__dispatchPendingMouseEvent();
|
|
var event = null;
|
|
event = new openfl_events_Event("mouseLeave");
|
|
this.__dispatchEvent(event);
|
|
}
|
|
,__onLimeWindowMinimize: function($window) {
|
|
if(this.window == null || this.window != $window) {
|
|
return;
|
|
}
|
|
}
|
|
,__onLimeWindowMove: function($window,x,y) {
|
|
}
|
|
,__onLimeWindowResize: function($window,width,height) {
|
|
if(this.window == null || this.window != $window) {
|
|
return;
|
|
}
|
|
this.__resize();
|
|
if(this.__wasFullscreen && !$window.__fullscreen) {
|
|
this.__wasFullscreen = false;
|
|
this.__displayState = 2;
|
|
this.__dispatchEvent(new openfl_events_FullScreenEvent("fullScreen",false,false,false,true));
|
|
}
|
|
}
|
|
,__onLimeWindowRestore: function($window) {
|
|
if(this.window == null || this.window != $window) {
|
|
return;
|
|
}
|
|
if(this.__wasFullscreen && !$window.__fullscreen) {
|
|
this.__wasFullscreen = false;
|
|
this.__displayState = 2;
|
|
this.__dispatchEvent(new openfl_events_FullScreenEvent("fullScreen",false,false,false,true));
|
|
}
|
|
}
|
|
,__onMouse: function(type,x,y,button) {
|
|
if(button > 2) {
|
|
return;
|
|
}
|
|
var targetPoint = openfl_geom_Point.__pool.get();
|
|
targetPoint.setTo(x,y);
|
|
var _this = this.__displayMatrix;
|
|
var norm = _this.a * _this.d - _this.b * _this.c;
|
|
if(norm == 0) {
|
|
targetPoint.x = -_this.tx;
|
|
targetPoint.y = -_this.ty;
|
|
} else {
|
|
var px = 1.0 / norm * (_this.c * (_this.ty - targetPoint.y) + _this.d * (targetPoint.x - _this.tx));
|
|
targetPoint.y = 1.0 / norm * (_this.a * (targetPoint.y - _this.ty) + _this.b * (_this.tx - targetPoint.x));
|
|
targetPoint.x = px;
|
|
}
|
|
this.__mouseX = targetPoint.x;
|
|
this.__mouseY = targetPoint.y;
|
|
var stack = [];
|
|
var target = null;
|
|
if(this.__hitTest(this.__mouseX,this.__mouseY,true,stack,true,this)) {
|
|
target = stack[stack.length - 1];
|
|
} else {
|
|
target = this;
|
|
stack = [this];
|
|
}
|
|
if(target == null) {
|
|
target = this;
|
|
}
|
|
var clickType = null;
|
|
switch(type) {
|
|
case "middleMouseDown":
|
|
this.__mouseDownMiddle = target;
|
|
break;
|
|
case "middleMouseUp":
|
|
if(this.__mouseDownMiddle == target) {
|
|
clickType = "middleClick";
|
|
}
|
|
this.__mouseDownMiddle = null;
|
|
break;
|
|
case "mouseDown":
|
|
if(target.__allowMouseFocus()) {
|
|
if(this.get_focus() != null) {
|
|
var focusEvent = new openfl_events_FocusEvent("mouseFocusChange",true,true,target,false,0);
|
|
this.__dispatchStack(focusEvent,stack);
|
|
if(!focusEvent.isDefaultPrevented()) {
|
|
this.set_focus(target);
|
|
}
|
|
} else {
|
|
this.set_focus(target);
|
|
}
|
|
} else {
|
|
this.set_focus(null);
|
|
}
|
|
this.__mouseDownLeft = target;
|
|
openfl_events_MouseEvent.__buttonDown = true;
|
|
break;
|
|
case "mouseUp":
|
|
if(this.__mouseDownLeft != null) {
|
|
openfl_events_MouseEvent.__buttonDown = false;
|
|
if(this.__mouseDownLeft == target) {
|
|
clickType = "click";
|
|
} else {
|
|
var event = null;
|
|
event = openfl_events_MouseEvent.__create("releaseOutside",1,this.__mouseX,this.__mouseY,new openfl_geom_Point(this.__mouseX,this.__mouseY),this);
|
|
this.__mouseDownLeft.dispatchEvent(event);
|
|
}
|
|
this.__mouseDownLeft = null;
|
|
}
|
|
break;
|
|
case "rightMouseDown":
|
|
this.__mouseDownRight = target;
|
|
break;
|
|
case "rightMouseUp":
|
|
if(this.__mouseDownRight == target) {
|
|
clickType = "rightClick";
|
|
}
|
|
this.__mouseDownRight = null;
|
|
break;
|
|
default:
|
|
}
|
|
var localPoint = openfl_geom_Point.__pool.get();
|
|
var event = null;
|
|
event = openfl_events_MouseEvent.__create(type,button,this.__mouseX,this.__mouseY,target.__globalToLocal(targetPoint,localPoint),target);
|
|
this.__dispatchStack(event,stack);
|
|
if(clickType != null) {
|
|
event = openfl_events_MouseEvent.__create(clickType,button,this.__mouseX,this.__mouseY,target.__globalToLocal(targetPoint,localPoint),target);
|
|
this.__dispatchStack(event,stack);
|
|
if(type == "mouseUp" && (js_Boot.__cast(target , openfl_display_InteractiveObject)).doubleClickEnabled) {
|
|
var currentTime = openfl_Lib.getTimer();
|
|
if(currentTime - this.__lastClickTime < 500) {
|
|
event = openfl_events_MouseEvent.__create("doubleClick",button,this.__mouseX,this.__mouseY,target.__globalToLocal(targetPoint,localPoint),target);
|
|
this.__dispatchStack(event,stack);
|
|
this.__lastClickTime = 0;
|
|
} else {
|
|
this.__lastClickTime = currentTime;
|
|
}
|
|
}
|
|
}
|
|
if(openfl_ui_Mouse.__cursor == "auto" && !openfl_ui_Mouse.__hidden) {
|
|
var cursor = null;
|
|
if(this.__mouseDownLeft != null) {
|
|
cursor = this.__mouseDownLeft.__getCursor();
|
|
} else {
|
|
var _g = 0;
|
|
while(_g < stack.length) {
|
|
var target1 = stack[_g];
|
|
++_g;
|
|
cursor = target1.__getCursor();
|
|
if(cursor != null) {
|
|
this.window.set_cursor(openfl_ui_MouseCursor.toLimeCursor(cursor));
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
if(cursor == null) {
|
|
this.window.set_cursor(lime_ui_MouseCursor.ARROW);
|
|
}
|
|
}
|
|
var event;
|
|
if(target != this.__mouseOverTarget) {
|
|
if(this.__mouseOverTarget != null) {
|
|
event = openfl_events_MouseEvent.__create("mouseOut",button,this.__mouseX,this.__mouseY,this.__mouseOverTarget.__globalToLocal(targetPoint,localPoint),this.__mouseOverTarget);
|
|
this.__dispatchStack(event,this.__mouseOutStack);
|
|
}
|
|
}
|
|
var item;
|
|
var i = 0;
|
|
while(i < this.__rollOutStack.length) {
|
|
item = this.__rollOutStack[i];
|
|
if(stack.indexOf(item) == -1) {
|
|
HxOverrides.remove(this.__rollOutStack,item);
|
|
event = openfl_events_MouseEvent.__create("rollOut",button,this.__mouseX,this.__mouseY,this.__mouseOverTarget.__globalToLocal(targetPoint,localPoint),this.__mouseOverTarget);
|
|
event.bubbles = false;
|
|
this.__dispatchTarget(item,event);
|
|
} else {
|
|
++i;
|
|
}
|
|
}
|
|
var _g = 0;
|
|
while(_g < stack.length) {
|
|
var item = stack[_g];
|
|
++_g;
|
|
if(this.__rollOutStack.indexOf(item) == -1 && this.__mouseOverTarget != null) {
|
|
if(item.hasEventListener("rollOver")) {
|
|
event = openfl_events_MouseEvent.__create("rollOver",button,this.__mouseX,this.__mouseY,this.__mouseOverTarget.__globalToLocal(targetPoint,localPoint),item);
|
|
event.bubbles = false;
|
|
this.__dispatchTarget(item,event);
|
|
}
|
|
if(item.hasEventListener("rollOut") || item.hasEventListener("rollOver")) {
|
|
this.__rollOutStack.push(item);
|
|
}
|
|
}
|
|
}
|
|
if(target != this.__mouseOverTarget) {
|
|
if(target != null) {
|
|
event = openfl_events_MouseEvent.__create("mouseOver",button,this.__mouseX,this.__mouseY,target.__globalToLocal(targetPoint,localPoint),target);
|
|
this.__dispatchStack(event,stack);
|
|
}
|
|
this.__mouseOverTarget = target;
|
|
this.__mouseOutStack = stack;
|
|
}
|
|
if(this.__dragObject != null) {
|
|
this.__drag(targetPoint);
|
|
var dropTarget = null;
|
|
if(this.__mouseOverTarget == this.__dragObject) {
|
|
var cacheMouseEnabled = this.__dragObject.mouseEnabled;
|
|
var cacheMouseChildren = this.__dragObject.mouseChildren;
|
|
this.__dragObject.mouseEnabled = false;
|
|
this.__dragObject.mouseChildren = false;
|
|
var stack = [];
|
|
if(this.__hitTest(this.__mouseX,this.__mouseY,true,stack,true,this)) {
|
|
dropTarget = stack[stack.length - 1];
|
|
}
|
|
this.__dragObject.mouseEnabled = cacheMouseEnabled;
|
|
this.__dragObject.mouseChildren = cacheMouseChildren;
|
|
} else if(this.__mouseOverTarget != this) {
|
|
dropTarget = this.__mouseOverTarget;
|
|
}
|
|
this.__dragObject.dropTarget = dropTarget;
|
|
}
|
|
openfl_geom_Point.__pool.release(targetPoint);
|
|
openfl_geom_Point.__pool.release(localPoint);
|
|
}
|
|
,__onMouseWheel: function(deltaX,deltaY,deltaMode) {
|
|
var x = this.__mouseX;
|
|
var y = this.__mouseY;
|
|
var stack = [];
|
|
var target = null;
|
|
if(this.__hitTest(this.__mouseX,this.__mouseY,true,stack,true,this)) {
|
|
target = stack[stack.length - 1];
|
|
} else {
|
|
target = this;
|
|
stack = [this];
|
|
}
|
|
if(target == null) {
|
|
target = this;
|
|
}
|
|
var targetPoint = openfl_geom_Point.__pool.get();
|
|
targetPoint.setTo(x,y);
|
|
var _this = this.__displayMatrix;
|
|
var norm = _this.a * _this.d - _this.b * _this.c;
|
|
if(norm == 0) {
|
|
targetPoint.x = -_this.tx;
|
|
targetPoint.y = -_this.ty;
|
|
} else {
|
|
var px = 1.0 / norm * (_this.c * (_this.ty - targetPoint.y) + _this.d * (targetPoint.x - _this.tx));
|
|
targetPoint.y = 1.0 / norm * (_this.a * (targetPoint.y - _this.ty) + _this.b * (_this.tx - targetPoint.x));
|
|
targetPoint.x = px;
|
|
}
|
|
var delta = deltaY | 0;
|
|
var event = openfl_events_MouseEvent.__create("mouseWheel",0,this.__mouseX,this.__mouseY,target.__globalToLocal(targetPoint,targetPoint),target,delta);
|
|
event.cancelable = true;
|
|
this.__dispatchStack(event,stack);
|
|
if(event.isDefaultPrevented()) {
|
|
this.window.onMouseWheel.cancel();
|
|
}
|
|
openfl_geom_Point.__pool.release(targetPoint);
|
|
}
|
|
,__onTouch: function(type,touch,isPrimaryTouchPoint) {
|
|
var targetPoint = openfl_geom_Point.__pool.get();
|
|
targetPoint.setTo(Math.round(touch.x * this.window.__width * this.window.__scale),Math.round(touch.y * this.window.__height * this.window.__scale));
|
|
var _this = this.__displayMatrix;
|
|
var norm = _this.a * _this.d - _this.b * _this.c;
|
|
if(norm == 0) {
|
|
targetPoint.x = -_this.tx;
|
|
targetPoint.y = -_this.ty;
|
|
} else {
|
|
var px = 1.0 / norm * (_this.c * (_this.ty - targetPoint.y) + _this.d * (targetPoint.x - _this.tx));
|
|
targetPoint.y = 1.0 / norm * (_this.a * (targetPoint.y - _this.ty) + _this.b * (_this.tx - targetPoint.x));
|
|
targetPoint.x = px;
|
|
}
|
|
var touchX = targetPoint.x;
|
|
var touchY = targetPoint.y;
|
|
var stack = [];
|
|
var target = null;
|
|
if(this.__hitTest(touchX,touchY,false,stack,true,this)) {
|
|
target = stack[stack.length - 1];
|
|
} else {
|
|
target = this;
|
|
stack = [this];
|
|
}
|
|
if(target == null) {
|
|
target = this;
|
|
}
|
|
var touchId = touch.id;
|
|
var touchData = null;
|
|
if(this.__touchData.h.hasOwnProperty(touchId)) {
|
|
touchData = this.__touchData.h[touchId];
|
|
} else {
|
|
touchData = openfl__$internal_utils_TouchData.__pool.get();
|
|
touchData.reset();
|
|
touchData.touch = touch;
|
|
this.__touchData.h[touchId] = touchData;
|
|
}
|
|
var touchType = null;
|
|
var releaseTouchData = false;
|
|
switch(type) {
|
|
case "touchBegin":
|
|
touchData.touchDownTarget = target;
|
|
break;
|
|
case "touchEnd":
|
|
if(touchData.touchDownTarget == target) {
|
|
touchType = "touchTap";
|
|
}
|
|
touchData.touchDownTarget = null;
|
|
releaseTouchData = true;
|
|
break;
|
|
default:
|
|
}
|
|
var localPoint = openfl_geom_Point.__pool.get();
|
|
var touchEvent = openfl_events_TouchEvent.__create(type,null,touchX,touchY,target.__globalToLocal(targetPoint,localPoint),target);
|
|
touchEvent.touchPointID = touchId;
|
|
touchEvent.isPrimaryTouchPoint = isPrimaryTouchPoint;
|
|
touchEvent.pressure = touch.pressure;
|
|
this.__dispatchStack(touchEvent,stack);
|
|
if(touchType != null) {
|
|
touchEvent = openfl_events_TouchEvent.__create(touchType,null,touchX,touchY,target.__globalToLocal(targetPoint,localPoint),target);
|
|
touchEvent.touchPointID = touchId;
|
|
touchEvent.isPrimaryTouchPoint = isPrimaryTouchPoint;
|
|
touchEvent.pressure = touch.pressure;
|
|
this.__dispatchStack(touchEvent,stack);
|
|
}
|
|
var touchOverTarget = touchData.touchOverTarget;
|
|
if(target != touchOverTarget && touchOverTarget != null) {
|
|
touchEvent = openfl_events_TouchEvent.__create("touchOut",null,touchX,touchY,touchOverTarget.__globalToLocal(targetPoint,localPoint),touchOverTarget);
|
|
touchEvent.touchPointID = touchId;
|
|
touchEvent.isPrimaryTouchPoint = isPrimaryTouchPoint;
|
|
touchEvent.pressure = touch.pressure;
|
|
this.__dispatchTarget(touchOverTarget,touchEvent);
|
|
}
|
|
var touchOutStack = touchData.rollOutStack;
|
|
var item;
|
|
var i = 0;
|
|
while(i < touchOutStack.length) {
|
|
item = touchOutStack[i];
|
|
if(stack.indexOf(item) == -1) {
|
|
HxOverrides.remove(touchOutStack,item);
|
|
touchEvent = openfl_events_TouchEvent.__create("touchRollOut",null,touchX,touchY,touchOverTarget.__globalToLocal(targetPoint,localPoint),touchOverTarget);
|
|
touchEvent.touchPointID = touchId;
|
|
touchEvent.isPrimaryTouchPoint = isPrimaryTouchPoint;
|
|
touchEvent.bubbles = false;
|
|
touchEvent.pressure = touch.pressure;
|
|
this.__dispatchTarget(item,touchEvent);
|
|
} else {
|
|
++i;
|
|
}
|
|
}
|
|
var _g = 0;
|
|
while(_g < stack.length) {
|
|
var item = stack[_g];
|
|
++_g;
|
|
if(touchOutStack.indexOf(item) == -1) {
|
|
if(item.hasEventListener("touchRollOver")) {
|
|
touchEvent = openfl_events_TouchEvent.__create("touchRollOver",null,touchX,touchY,touchOverTarget.__globalToLocal(targetPoint,localPoint),item);
|
|
touchEvent.touchPointID = touchId;
|
|
touchEvent.isPrimaryTouchPoint = isPrimaryTouchPoint;
|
|
touchEvent.bubbles = false;
|
|
touchEvent.pressure = touch.pressure;
|
|
this.__dispatchTarget(item,touchEvent);
|
|
}
|
|
if(item.hasEventListener("touchRollOut")) {
|
|
touchOutStack.push(item);
|
|
}
|
|
}
|
|
}
|
|
if(target != touchOverTarget) {
|
|
if(target != null) {
|
|
touchEvent = openfl_events_TouchEvent.__create("touchOver",null,touchX,touchY,target.__globalToLocal(targetPoint,localPoint),target);
|
|
touchEvent.touchPointID = touchId;
|
|
touchEvent.isPrimaryTouchPoint = isPrimaryTouchPoint;
|
|
touchEvent.bubbles = true;
|
|
touchEvent.pressure = touch.pressure;
|
|
this.__dispatchTarget(target,touchEvent);
|
|
}
|
|
touchData.touchOverTarget = target;
|
|
}
|
|
openfl_geom_Point.__pool.release(targetPoint);
|
|
openfl_geom_Point.__pool.release(localPoint);
|
|
if(releaseTouchData) {
|
|
this.__touchData.remove(touchId);
|
|
touchData.reset();
|
|
openfl__$internal_utils_TouchData.__pool.release(touchData);
|
|
}
|
|
}
|
|
,__registerLimeModule: function(application) {
|
|
application.onCreateWindow.add($bind(this,this.__onLimeCreateWindow));
|
|
application.onUpdate.add($bind(this,this.__onLimeUpdate));
|
|
application.onExit.add($bind(this,this.__onLimeModuleExit),false,0);
|
|
var gamepad = lime_ui_Gamepad.devices.iterator();
|
|
while(gamepad.hasNext()) {
|
|
var gamepad1 = gamepad.next();
|
|
this.__onLimeGamepadConnect(gamepad1);
|
|
}
|
|
lime_ui_Gamepad.onConnect.add($bind(this,this.__onLimeGamepadConnect));
|
|
lime_ui_Touch.onStart.add($bind(this,this.__onLimeTouchStart));
|
|
lime_ui_Touch.onMove.add($bind(this,this.__onLimeTouchMove));
|
|
lime_ui_Touch.onEnd.add($bind(this,this.__onLimeTouchEnd));
|
|
lime_ui_Touch.onCancel.add($bind(this,this.__onLimeTouchCancel));
|
|
}
|
|
,__resize: function() {
|
|
var cacheWidth = this.stageWidth;
|
|
var cacheHeight = this.stageHeight;
|
|
var windowWidth = this.window.__width * this.window.__scale | 0;
|
|
var windowHeight = this.window.__height * this.window.__scale | 0;
|
|
this.__logicalWidth = windowWidth;
|
|
this.__logicalHeight = windowHeight;
|
|
this.__displayMatrix.identity();
|
|
if(this.get_fullScreenSourceRect() != null && this.window.__fullscreen) {
|
|
this.stageWidth = this.get_fullScreenSourceRect().width | 0;
|
|
this.stageHeight = this.get_fullScreenSourceRect().height | 0;
|
|
var displayScaleX = windowWidth / this.stageWidth;
|
|
var displayScaleY = windowHeight / this.stageHeight;
|
|
this.__displayMatrix.translate(-this.get_fullScreenSourceRect().x,-this.get_fullScreenSourceRect().y);
|
|
this.__displayMatrix.scale(displayScaleX,displayScaleY);
|
|
this.__displayRect.setTo(this.get_fullScreenSourceRect().get_left(),this.get_fullScreenSourceRect().get_right(),this.get_fullScreenSourceRect().get_top(),this.get_fullScreenSourceRect().get_bottom());
|
|
} else {
|
|
if(this.__logicalWidth == 0 && this.__logicalHeight == 0) {
|
|
this.stageWidth = windowWidth;
|
|
this.stageHeight = windowHeight;
|
|
} else {
|
|
this.stageWidth = this.__logicalWidth;
|
|
this.stageHeight = this.__logicalHeight;
|
|
var scaleX = windowWidth / this.stageWidth;
|
|
var scaleY = windowHeight / this.stageHeight;
|
|
var targetScale = Math.min(scaleX,scaleY);
|
|
var offsetX = Math.round((windowWidth - this.stageWidth * targetScale) / 2);
|
|
var offsetY = Math.round((windowHeight - this.stageHeight * targetScale) / 2);
|
|
this.__displayMatrix.scale(targetScale,targetScale);
|
|
this.__displayMatrix.translate(offsetX,offsetY);
|
|
}
|
|
this.__displayRect.setTo(0,0,this.stageWidth,this.stageHeight);
|
|
}
|
|
if(this.context3D != null) {
|
|
this.context3D.configureBackBuffer(windowWidth,windowHeight,0,true,true,true);
|
|
}
|
|
var stage3D = this.stage3Ds.iterator();
|
|
while(stage3D.hasNext()) {
|
|
var stage3D1 = stage3D.next();
|
|
stage3D1.__resize(windowWidth,windowHeight);
|
|
}
|
|
if(this.__renderer != null) {
|
|
this.__renderer.__resize(windowWidth,windowHeight);
|
|
}
|
|
if(this.stageWidth != cacheWidth || this.stageHeight != cacheHeight) {
|
|
this.__renderDirty = true;
|
|
this.__setTransformDirty();
|
|
var event = null;
|
|
event = new openfl_events_Event("resize");
|
|
this.__dispatchEvent(event);
|
|
}
|
|
}
|
|
,__setLogicalSize: function(width,height) {
|
|
this.__logicalWidth = width;
|
|
this.__logicalHeight = height;
|
|
this.__resize();
|
|
}
|
|
,__startDrag: function(sprite,lockCenter,bounds) {
|
|
if(bounds == null) {
|
|
this.__dragBounds = null;
|
|
} else {
|
|
this.__dragBounds = new openfl_geom_Rectangle();
|
|
var right = bounds.get_right();
|
|
var bottom = bounds.get_bottom();
|
|
this.__dragBounds.x = right < bounds.x ? right : bounds.x;
|
|
this.__dragBounds.y = bottom < bounds.y ? bottom : bounds.y;
|
|
this.__dragBounds.width = Math.abs(bounds.width);
|
|
this.__dragBounds.height = Math.abs(bounds.height);
|
|
}
|
|
this.__dragObject = sprite;
|
|
if(this.__dragObject != null) {
|
|
if(lockCenter) {
|
|
this.__dragOffsetX = 0;
|
|
this.__dragOffsetY = 0;
|
|
} else {
|
|
var mouse = openfl_geom_Point.__pool.get();
|
|
mouse.setTo(this.get_mouseX(),this.get_mouseY());
|
|
var parent = this.__dragObject.parent;
|
|
if(parent != null) {
|
|
var _this = parent.__getWorldTransform();
|
|
var norm = _this.a * _this.d - _this.b * _this.c;
|
|
if(norm == 0) {
|
|
mouse.x = -_this.tx;
|
|
mouse.y = -_this.ty;
|
|
} else {
|
|
var px = 1.0 / norm * (_this.c * (_this.ty - mouse.y) + _this.d * (mouse.x - _this.tx));
|
|
mouse.y = 1.0 / norm * (_this.a * (mouse.y - _this.ty) + _this.b * (_this.tx - mouse.x));
|
|
mouse.x = px;
|
|
}
|
|
}
|
|
this.__dragOffsetX = this.__dragObject.get_x() - mouse.x;
|
|
this.__dragOffsetY = this.__dragObject.get_y() - mouse.y;
|
|
openfl_geom_Point.__pool.release(mouse);
|
|
}
|
|
}
|
|
}
|
|
,__stopDrag: function(sprite) {
|
|
this.__dragBounds = null;
|
|
this.__dragObject = null;
|
|
}
|
|
,__unregisterLimeModule: function(application) {
|
|
application.onCreateWindow.remove($bind(this,this.__onLimeCreateWindow));
|
|
application.onUpdate.remove($bind(this,this.__onLimeUpdate));
|
|
application.onExit.remove($bind(this,this.__onLimeModuleExit));
|
|
lime_ui_Gamepad.onConnect.remove($bind(this,this.__onLimeGamepadConnect));
|
|
lime_ui_Touch.onStart.remove($bind(this,this.__onLimeTouchStart));
|
|
lime_ui_Touch.onMove.remove($bind(this,this.__onLimeTouchMove));
|
|
lime_ui_Touch.onEnd.remove($bind(this,this.__onLimeTouchEnd));
|
|
lime_ui_Touch.onCancel.remove($bind(this,this.__onLimeTouchCancel));
|
|
}
|
|
,__update: function(transformOnly,updateChildren) {
|
|
if(transformOnly) {
|
|
if(this.__transformDirty) {
|
|
openfl_display_DisplayObjectContainer.prototype.__update.call(this,true,updateChildren);
|
|
if(updateChildren) {
|
|
this.__transformDirty = false;
|
|
}
|
|
}
|
|
} else if(this.__transformDirty || this.__renderDirty) {
|
|
openfl_display_DisplayObjectContainer.prototype.__update.call(this,false,updateChildren);
|
|
if(updateChildren) {
|
|
if(openfl_display_DisplayObject.__supportDOM) {
|
|
this.__wasDirty = true;
|
|
}
|
|
}
|
|
} else if(!this.__renderDirty && this.__wasDirty) {
|
|
openfl_display_DisplayObjectContainer.prototype.__update.call(this,false,updateChildren);
|
|
if(updateChildren) {
|
|
this.__wasDirty = false;
|
|
}
|
|
}
|
|
}
|
|
,get_color: function() {
|
|
return this.__color;
|
|
}
|
|
,set_color: function(value) {
|
|
if(value == null) {
|
|
this.__transparent = true;
|
|
value = 0;
|
|
} else {
|
|
this.__transparent = false;
|
|
}
|
|
if(this.__color != value) {
|
|
var r = (value & 16711680) >>> 16;
|
|
var g = (value & 65280) >>> 8;
|
|
var b = value & 255;
|
|
this.__colorSplit[0] = r / 255;
|
|
this.__colorSplit[1] = g / 255;
|
|
this.__colorSplit[2] = b / 255;
|
|
this.__colorString = "#" + StringTools.hex(value & 16777215,6);
|
|
this.__renderDirty = true;
|
|
this.__color = -16777216 | value & 16777215;
|
|
}
|
|
return value;
|
|
}
|
|
,get_contentsScaleFactor: function() {
|
|
return this.__contentsScaleFactor;
|
|
}
|
|
,get_displayState: function() {
|
|
return this.__displayState;
|
|
}
|
|
,set_displayState: function(value) {
|
|
if(this.window != null) {
|
|
if(value == 2) {
|
|
if(this.window.__fullscreen) {
|
|
this.window.set_fullscreen(false);
|
|
}
|
|
} else if(!this.window.__fullscreen) {
|
|
this.window.set_fullscreen(true);
|
|
}
|
|
}
|
|
return this.__displayState = value;
|
|
}
|
|
,get_focus: function() {
|
|
return this.__focus;
|
|
}
|
|
,set_focus: function(value) {
|
|
if(value != this.__focus) {
|
|
var oldFocus = this.__focus;
|
|
this.__focus = value;
|
|
this.__cacheFocus = value;
|
|
if(oldFocus != null) {
|
|
var event = new openfl_events_FocusEvent("focusOut",true,false,value,false,0);
|
|
var stack = [];
|
|
oldFocus.__getInteractive(stack);
|
|
stack.reverse();
|
|
this.__dispatchStack(event,stack);
|
|
}
|
|
if(value != null) {
|
|
var event = new openfl_events_FocusEvent("focusIn",true,false,oldFocus,false,0);
|
|
var stack = [];
|
|
value.__getInteractive(stack);
|
|
stack.reverse();
|
|
this.__dispatchStack(event,stack);
|
|
}
|
|
}
|
|
return value;
|
|
}
|
|
,get_frameRate: function() {
|
|
if(this.window != null) {
|
|
return this.window.__backend.getFrameRate();
|
|
}
|
|
return 0;
|
|
}
|
|
,set_frameRate: function(value) {
|
|
if(this.window != null) {
|
|
return this.window.__backend.setFrameRate(value);
|
|
}
|
|
return value;
|
|
}
|
|
,get_fullScreenHeight: function() {
|
|
return Math.ceil(this.window.get_display().currentMode.height * this.window.__scale);
|
|
}
|
|
,get_fullScreenSourceRect: function() {
|
|
if(this.__fullScreenSourceRect == null) {
|
|
return null;
|
|
} else {
|
|
return this.__fullScreenSourceRect.clone();
|
|
}
|
|
}
|
|
,set_fullScreenSourceRect: function(value) {
|
|
if(value == null) {
|
|
if(this.__fullScreenSourceRect != null) {
|
|
this.__fullScreenSourceRect = null;
|
|
this.__resize();
|
|
}
|
|
} else if(!value.equals(this.__fullScreenSourceRect)) {
|
|
this.__fullScreenSourceRect = value.clone();
|
|
this.__resize();
|
|
}
|
|
return value;
|
|
}
|
|
,get_fullScreenWidth: function() {
|
|
return Math.ceil(this.window.get_display().currentMode.width * this.window.__scale);
|
|
}
|
|
,set_height: function(value) {
|
|
return this.get_height();
|
|
}
|
|
,get_mouseX: function() {
|
|
return this.__mouseX;
|
|
}
|
|
,get_mouseY: function() {
|
|
return this.__mouseY;
|
|
}
|
|
,get_quality: function() {
|
|
return this.__quality;
|
|
}
|
|
,set_quality: function(value) {
|
|
this.__quality = value;
|
|
if(this.__renderer != null) {
|
|
var tmp = this.get_quality();
|
|
this.__renderer.__allowSmoothing = tmp != 2;
|
|
}
|
|
return value;
|
|
}
|
|
,set_rotation: function(value) {
|
|
return 0;
|
|
}
|
|
,get_scaleMode: function() {
|
|
return this.__scaleMode;
|
|
}
|
|
,set_scaleMode: function(value) {
|
|
return this.__scaleMode = value;
|
|
}
|
|
,set_scaleX: function(value) {
|
|
return 0;
|
|
}
|
|
,set_scaleY: function(value) {
|
|
return 0;
|
|
}
|
|
,get_tabEnabled: function() {
|
|
return false;
|
|
}
|
|
,set_tabEnabled: function(value) {
|
|
throw haxe_Exception.thrown(new openfl_errors_IllegalOperationError("Error: The Stage class does not implement this property or method."));
|
|
}
|
|
,get_tabIndex: function() {
|
|
return -1;
|
|
}
|
|
,set_tabIndex: function(value) {
|
|
throw haxe_Exception.thrown(new openfl_errors_IllegalOperationError("Error: The Stage class does not implement this property or method."));
|
|
}
|
|
,set_transform: function(value) {
|
|
return this.get_transform();
|
|
}
|
|
,set_width: function(value) {
|
|
return this.get_width();
|
|
}
|
|
,set_x: function(value) {
|
|
return 0;
|
|
}
|
|
,set_y: function(value) {
|
|
return 0;
|
|
}
|
|
,__class__: openfl_display_Stage
|
|
,__properties__: $extend(openfl_display_DisplayObjectContainer.prototype.__properties__,{set_scaleMode:"set_scaleMode",get_scaleMode:"get_scaleMode",set_quality:"set_quality",get_quality:"get_quality",get_fullScreenWidth:"get_fullScreenWidth",set_fullScreenSourceRect:"set_fullScreenSourceRect",get_fullScreenSourceRect:"get_fullScreenSourceRect",get_fullScreenHeight:"get_fullScreenHeight",set_frameRate:"set_frameRate",get_frameRate:"get_frameRate",set_focus:"set_focus",get_focus:"get_focus",set_displayState:"set_displayState",get_displayState:"get_displayState",get_contentsScaleFactor:"get_contentsScaleFactor",set_color:"set_color",get_color:"get_color"})
|
|
});
|
|
var openfl_display_Stage3D = function(stage) {
|
|
openfl_events_EventDispatcher.call(this);
|
|
this.__stage = stage;
|
|
this.__height = 0;
|
|
this.__projectionTransform = new openfl_geom_Matrix3D();
|
|
this.__renderTransform = new openfl_geom_Matrix3D();
|
|
this.__width = 0;
|
|
this.__x = 0;
|
|
this.__y = 0;
|
|
this.visible = true;
|
|
if(stage.stageWidth > 0 && stage.stageHeight > 0) {
|
|
this.__resize(stage.stageWidth,stage.stageHeight);
|
|
}
|
|
};
|
|
$hxClasses["openfl.display.Stage3D"] = openfl_display_Stage3D;
|
|
openfl_display_Stage3D.__name__ = "openfl.display.Stage3D";
|
|
openfl_display_Stage3D.__active = null;
|
|
openfl_display_Stage3D.__super__ = openfl_events_EventDispatcher;
|
|
openfl_display_Stage3D.prototype = $extend(openfl_events_EventDispatcher.prototype,{
|
|
context3D: null
|
|
,visible: null
|
|
,__contextLost: null
|
|
,__contextRequested: null
|
|
,__height: null
|
|
,__indexBuffer: null
|
|
,__projectionTransform: null
|
|
,__renderTransform: null
|
|
,__stage: null
|
|
,__vertexBuffer: null
|
|
,__width: null
|
|
,__x: null
|
|
,__y: null
|
|
,__canvas: null
|
|
,__renderContext: null
|
|
,__style: null
|
|
,__webgl: null
|
|
,requestContext3D: function(context3DRenderMode,profile) {
|
|
if(profile == null) {
|
|
profile = 0;
|
|
}
|
|
if(context3DRenderMode == null) {
|
|
context3DRenderMode = 0;
|
|
}
|
|
if(this.__contextLost) {
|
|
this.__contextRequested = true;
|
|
return;
|
|
}
|
|
if(this.context3D != null) {
|
|
this.__contextRequested = true;
|
|
haxe_Timer.delay($bind(this,this.__dispatchCreate),1);
|
|
} else if(!this.__contextRequested) {
|
|
this.__contextRequested = true;
|
|
haxe_Timer.delay($bind(this,this.__createContext),1);
|
|
}
|
|
}
|
|
,requestContext3DMatchingProfiles: function(profiles) {
|
|
this.requestContext3D();
|
|
}
|
|
,__createContext: function() {
|
|
var stage = this.__stage;
|
|
var renderer = stage.__renderer;
|
|
if(renderer.__type == "cairo" || renderer.__type == "canvas") {
|
|
this.__dispatchError();
|
|
return;
|
|
}
|
|
if(renderer.__type == "opengl") {
|
|
this.context3D = new openfl_display3D_Context3D(stage,stage.context3D.__contextState,this);
|
|
this.__dispatchCreate();
|
|
} else if(renderer.__type == "dom") {
|
|
this.__canvas = window.document.createElement("canvas");
|
|
this.__canvas.width = stage.stageWidth;
|
|
this.__canvas.height = stage.stageHeight;
|
|
var $window = stage.window;
|
|
var attributes = renderer.__context.attributes;
|
|
var transparentBackground = Object.prototype.hasOwnProperty.call(attributes,"background") && attributes.background == null;
|
|
var colorDepth = Object.prototype.hasOwnProperty.call(attributes,"colorDepth") ? attributes.colorDepth : 32;
|
|
var options = Object.prototype.hasOwnProperty.call(attributes,"antialiasing") && attributes.antialiasing > 0;
|
|
var options1 = { alpha : transparentBackground || colorDepth > 16, antialias : options, depth : true, premultipliedAlpha : true, stencil : true, preserveDrawingBuffer : false};
|
|
this.__webgl = js_html__$CanvasElement_CanvasUtil.getContextWebGL(this.__canvas,options1);
|
|
if(this.__webgl != null) {
|
|
this.__dispatchError();
|
|
} else {
|
|
this.__dispatchError();
|
|
}
|
|
}
|
|
}
|
|
,__dispatchError: function() {
|
|
this.__contextRequested = false;
|
|
this.dispatchEvent(new openfl_events_ErrorEvent("error",false,false,"Context3D not available"));
|
|
}
|
|
,__dispatchCreate: function() {
|
|
if(this.__contextRequested) {
|
|
this.__contextRequested = false;
|
|
this.dispatchEvent(new openfl_events_Event("context3DCreate"));
|
|
}
|
|
}
|
|
,__lostContext: function() {
|
|
this.__contextLost = true;
|
|
if(this.context3D != null) {
|
|
this.context3D.__dispose();
|
|
this.__contextRequested = true;
|
|
}
|
|
}
|
|
,__resize: function(width,height) {
|
|
if(width != this.__width || height != this.__height) {
|
|
if(this.__canvas != null) {
|
|
this.__canvas.width = width;
|
|
this.__canvas.height = height;
|
|
}
|
|
this.__projectionTransform.copyRawDataFrom(openfl_Vector.toFloatVector(null,null,null,[2.0 / (width > 0 ? width : 1),0.0,0.0,0.0,0.0,-2.0 / (height > 0 ? height : 1),0.0,0.0,0.0,0.0,-0.001,0.0,-1.0,1.0,0.0,1.0]));
|
|
this.__renderTransform.identity();
|
|
this.__renderTransform.appendTranslation(this.__x,this.__y,0);
|
|
this.__renderTransform.append(this.__projectionTransform);
|
|
this.__width = width;
|
|
this.__height = height;
|
|
}
|
|
}
|
|
,__restoreContext: function() {
|
|
this.__contextLost = false;
|
|
this.__createContext();
|
|
}
|
|
,get_x: function() {
|
|
return this.__x;
|
|
}
|
|
,set_x: function(value) {
|
|
if(this.__x == value) {
|
|
return value;
|
|
}
|
|
this.__x = value;
|
|
this.__renderTransform.identity();
|
|
this.__renderTransform.appendTranslation(this.__x,this.__y,0);
|
|
this.__renderTransform.append(this.__projectionTransform);
|
|
return value;
|
|
}
|
|
,get_y: function() {
|
|
return this.__y;
|
|
}
|
|
,set_y: function(value) {
|
|
if(this.__y == value) {
|
|
return value;
|
|
}
|
|
this.__y = value;
|
|
this.__renderTransform.identity();
|
|
this.__renderTransform.appendTranslation(this.__x,this.__y,0);
|
|
this.__renderTransform.append(this.__projectionTransform);
|
|
return value;
|
|
}
|
|
,__class__: openfl_display_Stage3D
|
|
,__properties__: {set_y:"set_y",get_y:"get_y",set_x:"set_x",get_x:"get_x"}
|
|
});
|
|
var openfl_display_StageAlign = {};
|
|
openfl_display_StageAlign.fromString = function(value) {
|
|
switch(value) {
|
|
case "bottom":
|
|
return 0;
|
|
case "bottomLeft":
|
|
return 1;
|
|
case "bottomRight":
|
|
return 2;
|
|
case "left":
|
|
return 3;
|
|
case "right":
|
|
return 4;
|
|
case "top":
|
|
return 5;
|
|
case "topLeft":
|
|
return 6;
|
|
case "topRight":
|
|
return 7;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_display_StageAlign.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "bottom";
|
|
case 1:
|
|
return "bottomLeft";
|
|
case 2:
|
|
return "bottomRight";
|
|
case 3:
|
|
return "left";
|
|
case 4:
|
|
return "right";
|
|
case 5:
|
|
return "top";
|
|
case 6:
|
|
return "topLeft";
|
|
case 7:
|
|
return "topRight";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
var openfl_display_StageDisplayState = {};
|
|
openfl_display_StageDisplayState.fromString = function(value) {
|
|
switch(value) {
|
|
case "fullScreen":
|
|
return 0;
|
|
case "fullScreenInteractive":
|
|
return 1;
|
|
case "normal":
|
|
return 2;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_display_StageDisplayState.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "fullScreen";
|
|
case 1:
|
|
return "fullScreenInteractive";
|
|
case 2:
|
|
return "normal";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
var openfl_display_StageQuality = {};
|
|
openfl_display_StageQuality.fromString = function(value) {
|
|
switch(value) {
|
|
case "best":
|
|
return 0;
|
|
case "high":
|
|
return 1;
|
|
case "low":
|
|
return 2;
|
|
case "medium":
|
|
return 3;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_display_StageQuality.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "best";
|
|
case 1:
|
|
return "high";
|
|
case 2:
|
|
return "low";
|
|
case 3:
|
|
return "medium";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
var openfl_display_StageScaleMode = {};
|
|
openfl_display_StageScaleMode.fromString = function(value) {
|
|
switch(value) {
|
|
case "exactFit":
|
|
return 0;
|
|
case "noBorder":
|
|
return 1;
|
|
case "noScale":
|
|
return 2;
|
|
case "showAll":
|
|
return 3;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_display_StageScaleMode.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "exactFit";
|
|
case 1:
|
|
return "noBorder";
|
|
case 2:
|
|
return "noScale";
|
|
case 3:
|
|
return "showAll";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
var openfl_display_Timeline = function() {
|
|
this.__framesLoaded = 1;
|
|
this.__totalFrames = 1;
|
|
this.__currentLabels = [];
|
|
this.__currentFrame = 1;
|
|
this.__lastFrameScriptEval = -1;
|
|
this.__lastFrameUpdate = -1;
|
|
};
|
|
$hxClasses["openfl.display.Timeline"] = openfl_display_Timeline;
|
|
openfl_display_Timeline.__name__ = "openfl.display.Timeline";
|
|
openfl_display_Timeline.prototype = {
|
|
frameRate: null
|
|
,scenes: null
|
|
,scripts: null
|
|
,__currentFrame: null
|
|
,__currentFrameLabel: null
|
|
,__currentLabel: null
|
|
,__currentLabels: null
|
|
,__currentScene: null
|
|
,__frameScripts: null
|
|
,__framesLoaded: null
|
|
,__frameTime: null
|
|
,__isPlaying: null
|
|
,__lastFrameScriptEval: null
|
|
,__lastFrameUpdate: null
|
|
,__scope: null
|
|
,__timeElapsed: null
|
|
,__totalFrames: null
|
|
,attachMovieClip: function(movieClip) {
|
|
}
|
|
,enterFrame: function(frame) {
|
|
}
|
|
,__addFrameScript: function(index,method) {
|
|
if(index < 0) {
|
|
return;
|
|
}
|
|
var frame = index + 1;
|
|
if(method != null) {
|
|
if(this.__frameScripts == null) {
|
|
this.__frameScripts = new haxe_ds_IntMap();
|
|
}
|
|
this.__frameScripts.h[frame] = function(scope) {
|
|
method();
|
|
};
|
|
} else if(this.__frameScripts != null) {
|
|
this.__frameScripts.remove(frame);
|
|
}
|
|
}
|
|
,__attachMovieClip: function(movieClip) {
|
|
this.__scope = movieClip;
|
|
this.__totalFrames = 0;
|
|
this.__framesLoaded = 0;
|
|
if(this.scenes != null && this.scenes.length > 0) {
|
|
var _g = 0;
|
|
var _g1 = this.scenes;
|
|
while(_g < _g1.length) {
|
|
var scene = _g1[_g];
|
|
++_g;
|
|
this.__totalFrames += scene.numFrames;
|
|
this.__framesLoaded += scene.numFrames;
|
|
if(scene.labels != null) {
|
|
this.__currentLabels = this.__currentLabels.concat(scene.labels);
|
|
}
|
|
}
|
|
this.__currentScene = this.scenes[0];
|
|
}
|
|
if(this.scripts != null && this.scripts.length > 0) {
|
|
this.__frameScripts = new haxe_ds_IntMap();
|
|
var _g = 0;
|
|
var _g1 = this.scripts;
|
|
while(_g < _g1.length) {
|
|
var script = _g1[_g];
|
|
++_g;
|
|
this.__frameScripts.h[script.frame] = script.script;
|
|
}
|
|
}
|
|
this.attachMovieClip(movieClip);
|
|
}
|
|
,__enterFrame: function(deltaTime) {
|
|
if(this.__isPlaying) {
|
|
var nextFrame = this.__getNextFrame(deltaTime);
|
|
if(this.__lastFrameScriptEval == nextFrame) {
|
|
return;
|
|
}
|
|
if(this.__frameScripts != null) {
|
|
if(nextFrame < this.__currentFrame) {
|
|
if(!this.__evaluateFrameScripts(this.__totalFrames)) {
|
|
return;
|
|
}
|
|
this.__currentFrame = 1;
|
|
}
|
|
if(!this.__evaluateFrameScripts(nextFrame)) {
|
|
return;
|
|
}
|
|
} else {
|
|
this.__currentFrame = nextFrame;
|
|
}
|
|
}
|
|
this.__updateSymbol(this.__currentFrame);
|
|
}
|
|
,__evaluateFrameScripts: function(advanceToFrame) {
|
|
if(this.__frameScripts == null) {
|
|
return true;
|
|
}
|
|
var _g = this.__currentFrame;
|
|
var _g1 = advanceToFrame + 1;
|
|
while(_g < _g1) {
|
|
var frame = _g++;
|
|
if(frame == this.__lastFrameScriptEval) {
|
|
continue;
|
|
}
|
|
this.__lastFrameScriptEval = frame;
|
|
this.__currentFrame = frame;
|
|
if(this.__frameScripts.h.hasOwnProperty(frame)) {
|
|
this.__updateSymbol(frame);
|
|
var script = this.__frameScripts.h[frame];
|
|
script(this.__scope);
|
|
if(this.__currentFrame != frame) {
|
|
return false;
|
|
}
|
|
}
|
|
if(!this.__isPlaying) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
,__getNextFrame: function(deltaTime) {
|
|
var nextFrame = 0;
|
|
if(this.frameRate != null) {
|
|
this.__timeElapsed += deltaTime;
|
|
nextFrame = this.__currentFrame + Math.floor(this.__timeElapsed / this.__frameTime);
|
|
if(nextFrame < 1) {
|
|
nextFrame = 1;
|
|
}
|
|
if(nextFrame > this.__totalFrames) {
|
|
nextFrame = Math.floor((nextFrame - 1) % this.__totalFrames) + 1;
|
|
}
|
|
this.__timeElapsed %= this.__frameTime;
|
|
} else {
|
|
nextFrame = this.__currentFrame + 1;
|
|
if(nextFrame > this.__totalFrames) {
|
|
nextFrame = 1;
|
|
}
|
|
}
|
|
return nextFrame;
|
|
}
|
|
,__goto: function(frame) {
|
|
if(frame < 1) {
|
|
frame = 1;
|
|
} else if(frame > this.__totalFrames) {
|
|
frame = this.__totalFrames;
|
|
}
|
|
this.__lastFrameScriptEval = -1;
|
|
this.__currentFrame = frame;
|
|
this.__updateSymbol(this.__currentFrame);
|
|
this.__evaluateFrameScripts(this.__currentFrame);
|
|
}
|
|
,__gotoAndPlay: function(frame,scene) {
|
|
this.__play();
|
|
this.__goto(this.__resolveFrameReference(frame));
|
|
}
|
|
,__gotoAndStop: function(frame,scene) {
|
|
this.__stop();
|
|
this.__goto(this.__resolveFrameReference(frame));
|
|
}
|
|
,__nextFrame: function() {
|
|
this.__stop();
|
|
this.__goto(this.__currentFrame + 1);
|
|
}
|
|
,__nextScene: function() {
|
|
}
|
|
,__play: function() {
|
|
if(this.__isPlaying || this.__totalFrames < 2) {
|
|
return;
|
|
}
|
|
this.__isPlaying = true;
|
|
if(this.frameRate != null) {
|
|
this.__frameTime = 1000 / this.frameRate | 0;
|
|
this.__timeElapsed = 0;
|
|
}
|
|
}
|
|
,__prevFrame: function() {
|
|
this.__stop();
|
|
this.__goto(this.__currentFrame - 1);
|
|
}
|
|
,__prevScene: function() {
|
|
}
|
|
,__stop: function() {
|
|
this.__isPlaying = false;
|
|
}
|
|
,__resolveFrameReference: function(frame) {
|
|
if(typeof(frame) == "number" && ((frame | 0) === frame)) {
|
|
return frame;
|
|
} else if(typeof(frame) == "string") {
|
|
var label = frame;
|
|
var _g = 0;
|
|
var _g1 = this.__currentLabels;
|
|
while(_g < _g1.length) {
|
|
var frameLabel = _g1[_g];
|
|
++_g;
|
|
if(frameLabel.name == label) {
|
|
return frameLabel.frame;
|
|
}
|
|
}
|
|
throw haxe_Exception.thrown(new openfl_errors_ArgumentError("Error #2109: Frame label " + label + " not found in scene."));
|
|
} else {
|
|
throw haxe_Exception.thrown("Invalid type for frame " + frame.__name__);
|
|
}
|
|
}
|
|
,__updateFrameLabel: function() {
|
|
this.__currentLabel = null;
|
|
this.__currentFrameLabel = null;
|
|
var _g = 0;
|
|
var _g1 = this.__currentLabels;
|
|
while(_g < _g1.length) {
|
|
var label = _g1[_g];
|
|
++_g;
|
|
if(label.frame < this.__currentFrame) {
|
|
this.__currentLabel = label.name;
|
|
} else if(label.frame == this.__currentFrame) {
|
|
this.__currentLabel = label.name;
|
|
this.__currentFrameLabel = label.name;
|
|
} else {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
,__updateSymbol: function(targetFrame) {
|
|
if(this.__currentFrame != this.__lastFrameUpdate) {
|
|
this.__updateFrameLabel();
|
|
this.enterFrame(targetFrame);
|
|
this.__lastFrameUpdate = this.__currentFrame;
|
|
}
|
|
}
|
|
,__class__: openfl_display_Timeline
|
|
};
|
|
var openfl_display_TriangleCulling = {};
|
|
openfl_display_TriangleCulling.fromString = function(value) {
|
|
switch(value) {
|
|
case "negative":
|
|
return 0;
|
|
case "none":
|
|
return 1;
|
|
case "positive":
|
|
return 2;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_display_TriangleCulling.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "negative";
|
|
case 1:
|
|
return "none";
|
|
case 2:
|
|
return "positive";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
var openfl_display_Window = function(application,attributes) {
|
|
lime_ui_Window.call(this,application,attributes);
|
|
this.stage = new openfl_display_Stage(this,Object.prototype.hasOwnProperty.call(attributes.context,"background") ? attributes.context.background : 16777215);
|
|
if(Object.prototype.hasOwnProperty.call(attributes,"parameters")) {
|
|
try {
|
|
this.stage.get_loaderInfo().parameters = attributes.parameters;
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
}
|
|
}
|
|
if(Object.prototype.hasOwnProperty.call(attributes,"resizable") && !attributes.resizable) {
|
|
this.stage.__setLogicalSize(attributes.width,attributes.height);
|
|
}
|
|
application.addModule(this.stage);
|
|
};
|
|
$hxClasses["openfl.display.Window"] = openfl_display_Window;
|
|
openfl_display_Window.__name__ = "openfl.display.Window";
|
|
openfl_display_Window.__super__ = lime_ui_Window;
|
|
openfl_display_Window.prototype = $extend(lime_ui_Window.prototype,{
|
|
__class__: openfl_display_Window
|
|
});
|
|
var openfl_display__$internal_AbstractNoise = function(seed,octaves,channels,grayScale,falloff,stitch,stitch_threshold) {
|
|
if(stitch_threshold == null) {
|
|
stitch_threshold = 0.05;
|
|
}
|
|
if(stitch == null) {
|
|
stitch = false;
|
|
}
|
|
this.stitch = stitch;
|
|
this.stitch_threshold = stitch_threshold;
|
|
this.octaves = octaves;
|
|
this.channels = channels;
|
|
this.grayscale = grayScale;
|
|
this.calculateOctaves(falloff);
|
|
};
|
|
$hxClasses["openfl.display._internal.AbstractNoise"] = openfl_display__$internal_AbstractNoise;
|
|
openfl_display__$internal_AbstractNoise.__name__ = "openfl.display._internal.AbstractNoise";
|
|
openfl_display__$internal_AbstractNoise.prototype = {
|
|
octaves: null
|
|
,stitch: null
|
|
,stitch_threshold: null
|
|
,channels: null
|
|
,grayscale: null
|
|
,octaves_frequencies: null
|
|
,octaves_persistences: null
|
|
,persistence_max: null
|
|
,fill: function(bitmap,_scale_x,_scale_y,_scale_z) {
|
|
}
|
|
,stitching: function(bitmap,color,px,py,stitch_w,stitch_h,width,height) {
|
|
var r = color >> 16 & 255;
|
|
var g = color >> 8 & 255;
|
|
var b = color & 255;
|
|
if(width - stitch_w < px) {
|
|
var dest = bitmap.getPixel32(width - px,py);
|
|
var dest_r = dest >> 16 & 255;
|
|
var dest_g = dest >> 8 & 255;
|
|
var dest_b = dest & 255;
|
|
var u = (width - px) / stitch_w;
|
|
var uu = u * u;
|
|
r = this.mixI(dest_r,r,u);
|
|
g = this.mixI(dest_g,g,u);
|
|
b = this.mixI(dest_b,b,u);
|
|
}
|
|
if(height - stitch_h < py) {
|
|
var dest = bitmap.getPixel32(px,height - py);
|
|
var dest_r = dest >> 16 & 255;
|
|
var dest_g = dest >> 8 & 255;
|
|
var dest_b = dest & 255;
|
|
var u = (height - py) / stitch_h;
|
|
var uu = u * u;
|
|
r = this.mixI(dest_r,r,u);
|
|
g = this.mixI(dest_g,g,u);
|
|
b = this.mixI(dest_b,b,u);
|
|
}
|
|
return -16777216 | r << 16 | g << 8 | b;
|
|
}
|
|
,color: function(r_noise,g_noise,b_noise) {
|
|
var color_r = 0;
|
|
var color_g = 0;
|
|
var color_b = 0;
|
|
if(null != r_noise) {
|
|
color_r = this.noiseToColor(r_noise);
|
|
}
|
|
if(null != g_noise) {
|
|
color_g = this.noiseToColor(g_noise);
|
|
}
|
|
if(null != b_noise) {
|
|
color_b = this.noiseToColor(b_noise);
|
|
}
|
|
return -16777216 | color_r << 16 | color_g << 8 | color_b;
|
|
}
|
|
,noiseToColor: function(noise) {
|
|
return (noise * this.persistence_max + 1.0) * 128 | 0;
|
|
}
|
|
,fade: function(t) {
|
|
return t * t * t * (t * (t * 6.0 - 15.0) + 10.0);
|
|
}
|
|
,mixI: function(x,y,t) {
|
|
return (1.0 - t) * x + t * y | 0;
|
|
}
|
|
,mix: function(x,y,t) {
|
|
return (1.0 - t) * x + t * y;
|
|
}
|
|
,fastfloor: function(x) {
|
|
if(x > 0) {
|
|
return x | 0;
|
|
} else {
|
|
return x - 1 | 0;
|
|
}
|
|
}
|
|
,dot2d: function(grad,x,y) {
|
|
return grad[0] * x + grad[1] * y;
|
|
}
|
|
,dot: function(grad,x,y,z) {
|
|
return grad[0] * x + grad[1] * y + grad[2] * z;
|
|
}
|
|
,calculateOctaves: function(fPersistence) {
|
|
var fFreq;
|
|
var fPers;
|
|
this.octaves_frequencies = [];
|
|
this.octaves_persistences = [];
|
|
this.persistence_max = 0;
|
|
var _g = 0;
|
|
var _g1 = this.octaves;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
fFreq = Math.pow(2.0,i);
|
|
fPers = Math.pow(fPersistence,i);
|
|
this.persistence_max += fPers;
|
|
this.octaves_frequencies.push(fFreq);
|
|
this.octaves_persistences.push(fPers);
|
|
}
|
|
this.persistence_max = 1.0 / this.persistence_max;
|
|
}
|
|
,__class__: openfl_display__$internal_AbstractNoise
|
|
};
|
|
var openfl_display__$internal_CairoBitmap = function() { };
|
|
$hxClasses["openfl.display._internal.CairoBitmap"] = openfl_display__$internal_CairoBitmap;
|
|
openfl_display__$internal_CairoBitmap.__name__ = "openfl.display._internal.CairoBitmap";
|
|
openfl_display__$internal_CairoBitmap.render = function(bitmap,renderer) {
|
|
if(!bitmap.__renderable) {
|
|
return;
|
|
}
|
|
var alpha = renderer.__getAlpha(bitmap.__worldAlpha);
|
|
if(alpha > 0 && bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid) {
|
|
var cairo = renderer.cairo;
|
|
renderer.__setBlendMode(bitmap.__worldBlendMode);
|
|
renderer.__pushMaskObject(bitmap);
|
|
renderer.applyMatrix(bitmap.__renderTransform,cairo);
|
|
var surface = bitmap.__bitmapData.getSurface();
|
|
if(surface != null) {
|
|
var pattern = lime_graphics_cairo_CairoPattern.createForSurface(surface);
|
|
lime_graphics_cairo_CairoPattern.set_filter(pattern,renderer.__allowSmoothing && bitmap.smoothing ? 1 : 3);
|
|
cairo.set_source(pattern);
|
|
if(alpha == 1) {
|
|
cairo.paint();
|
|
} else {
|
|
cairo.paintWithAlpha(alpha);
|
|
}
|
|
}
|
|
renderer.__popMaskObject(bitmap);
|
|
renderer.__setBlendMode(10);
|
|
}
|
|
};
|
|
var openfl_display__$internal_CairoDisplayObject = function() { };
|
|
$hxClasses["openfl.display._internal.CairoDisplayObject"] = openfl_display__$internal_CairoDisplayObject;
|
|
openfl_display__$internal_CairoDisplayObject.__name__ = "openfl.display._internal.CairoDisplayObject";
|
|
openfl_display__$internal_CairoDisplayObject.render = function(displayObject,renderer) {
|
|
};
|
|
var openfl_display__$internal_CairoGraphics = function() { };
|
|
$hxClasses["openfl.display._internal.CairoGraphics"] = openfl_display__$internal_CairoGraphics;
|
|
openfl_display__$internal_CairoGraphics.__name__ = "openfl.display._internal.CairoGraphics";
|
|
openfl_display__$internal_CairoGraphics.hitTest = function(graphics,x,y) {
|
|
return false;
|
|
};
|
|
openfl_display__$internal_CairoGraphics.render = function(graphics,renderer) {
|
|
};
|
|
openfl_display__$internal_CairoGraphics.renderMask = function(graphics,renderer) {
|
|
};
|
|
var openfl_display__$internal_CairoTextField = function() { };
|
|
$hxClasses["openfl.display._internal.CairoTextField"] = openfl_display__$internal_CairoTextField;
|
|
openfl_display__$internal_CairoTextField.__name__ = "openfl.display._internal.CairoTextField";
|
|
openfl_display__$internal_CairoTextField.render = function(textField,renderer,transform) {
|
|
};
|
|
var openfl_display__$internal_CanvasBitmap = function() { };
|
|
$hxClasses["openfl.display._internal.CanvasBitmap"] = openfl_display__$internal_CanvasBitmap;
|
|
openfl_display__$internal_CanvasBitmap.__name__ = "openfl.display._internal.CanvasBitmap";
|
|
openfl_display__$internal_CanvasBitmap.render = function(bitmap,renderer) {
|
|
if(!bitmap.__renderable) {
|
|
return;
|
|
}
|
|
var alpha = renderer.__getAlpha(bitmap.__worldAlpha);
|
|
if(alpha > 0 && bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid && bitmap.__bitmapData.readable) {
|
|
var context = renderer.context;
|
|
renderer.__setBlendMode(bitmap.__worldBlendMode);
|
|
renderer.__pushMaskObject(bitmap,false);
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(bitmap.__bitmapData.image);
|
|
context.globalAlpha = alpha;
|
|
var scrollRect = bitmap.__scrollRect;
|
|
renderer.setTransform(bitmap.__renderTransform,context);
|
|
if(!renderer.__allowSmoothing || !bitmap.smoothing) {
|
|
context.imageSmoothingEnabled = false;
|
|
}
|
|
if(scrollRect == null) {
|
|
context.drawImage(bitmap.__bitmapData.image.get_src(),0,0,bitmap.__bitmapData.image.width,bitmap.__bitmapData.image.height);
|
|
} else {
|
|
context.drawImage(bitmap.__bitmapData.image.get_src(),scrollRect.x,scrollRect.y,scrollRect.width,scrollRect.height);
|
|
}
|
|
if(!renderer.__allowSmoothing || !bitmap.smoothing) {
|
|
context.imageSmoothingEnabled = true;
|
|
}
|
|
renderer.__popMaskObject(bitmap,false);
|
|
}
|
|
};
|
|
var openfl_display__$internal_CanvasDisplayObject = function() { };
|
|
$hxClasses["openfl.display._internal.CanvasDisplayObject"] = openfl_display__$internal_CanvasDisplayObject;
|
|
openfl_display__$internal_CanvasDisplayObject.__name__ = "openfl.display._internal.CanvasDisplayObject";
|
|
openfl_display__$internal_CanvasDisplayObject.render = function(displayObject,renderer) {
|
|
if(displayObject.opaqueBackground == null && displayObject.__graphics == null) {
|
|
return;
|
|
}
|
|
if(!displayObject.__renderable) {
|
|
return;
|
|
}
|
|
var alpha = renderer.__getAlpha(displayObject.__worldAlpha);
|
|
if(alpha <= 0) {
|
|
return;
|
|
}
|
|
if(displayObject.opaqueBackground != null && !displayObject.__isCacheBitmapRender && displayObject.get_width() > 0 && displayObject.get_height() > 0) {
|
|
renderer.__setBlendMode(displayObject.__worldBlendMode);
|
|
renderer.__pushMaskObject(displayObject);
|
|
var context = renderer.context;
|
|
renderer.setTransform(displayObject.__renderTransform,context);
|
|
var color = displayObject.opaqueBackground;
|
|
context.fillStyle = "rgb(" + (color >>> 16 & 255) + "," + (color >>> 8 & 255) + "," + (color & 255) + ")";
|
|
context.fillRect(0,0,displayObject.get_width(),displayObject.get_height());
|
|
renderer.__popMaskObject(displayObject);
|
|
}
|
|
if(displayObject.__graphics != null) {
|
|
if(displayObject.__renderable) {
|
|
var alpha = renderer.__getAlpha(displayObject.__worldAlpha);
|
|
if(!(alpha <= 0)) {
|
|
var graphics = displayObject.__graphics;
|
|
if(graphics != null) {
|
|
openfl_display__$internal_CanvasGraphics.render(graphics,renderer);
|
|
var width = graphics.__width;
|
|
var height = graphics.__height;
|
|
var canvas = graphics.__canvas;
|
|
if(canvas != null && graphics.__visible && width >= 1 && height >= 1) {
|
|
var transform = graphics.__worldTransform;
|
|
var context = renderer.context;
|
|
var scrollRect = displayObject.__scrollRect;
|
|
var scale9Grid = displayObject.__worldScale9Grid;
|
|
if(scrollRect == null || scrollRect.width > 0 && scrollRect.height > 0) {
|
|
renderer.__setBlendMode(displayObject.__worldBlendMode);
|
|
renderer.__pushMaskObject(displayObject);
|
|
context.globalAlpha = alpha;
|
|
if(scale9Grid != null && transform.b == 0 && transform.c == 0) {
|
|
context.setTransform(1,0,0,1,transform.tx,transform.ty);
|
|
var bounds = graphics.__bounds;
|
|
var scaleX = graphics.__renderTransform.a;
|
|
var scaleY = graphics.__renderTransform.d;
|
|
var renderScaleX = transform.a;
|
|
var renderScaleY = transform.d;
|
|
var left = Math.max(1,Math.round(scale9Grid.x * scaleX));
|
|
var top = Math.round(scale9Grid.y * scaleY);
|
|
var right = Math.max(1,Math.round((bounds.get_right() - scale9Grid.get_right()) * scaleX));
|
|
var bottom = Math.round((bounds.get_bottom() - scale9Grid.get_bottom()) * scaleY);
|
|
var centerWidth = Math.round(scale9Grid.width * scaleX);
|
|
var centerHeight = Math.round(scale9Grid.height * scaleY);
|
|
var renderLeft = Math.round(scale9Grid.x * renderScaleX);
|
|
var renderTop = Math.round(scale9Grid.y * renderScaleY);
|
|
var renderRight = Math.round((bounds.get_right() - scale9Grid.get_right()) * renderScaleX);
|
|
var renderBottom = Math.round((bounds.get_bottom() - scale9Grid.get_bottom()) * renderScaleY);
|
|
var renderCenterWidth = Math.round(width * renderScaleX) - renderLeft - renderRight;
|
|
var renderCenterHeight = Math.round(height * renderScaleY) - renderTop - renderBottom;
|
|
renderer.applySmoothing(context,false);
|
|
if(centerWidth != 0 && centerHeight != 0) {
|
|
context.drawImage(canvas,0,0,left,top,0,0,renderLeft,renderTop);
|
|
context.drawImage(canvas,left,0,centerWidth,top,renderLeft,0,renderCenterWidth,renderTop);
|
|
context.drawImage(canvas,left + centerWidth,0,right,top,renderLeft + renderCenterWidth,0,renderRight,renderTop);
|
|
context.drawImage(canvas,0,top,left,centerHeight,0,renderTop,renderLeft,renderCenterHeight);
|
|
context.drawImage(canvas,left,top,centerWidth,centerHeight,renderLeft,renderTop,renderCenterWidth,renderCenterHeight);
|
|
context.drawImage(canvas,left + centerWidth,top,right,centerHeight,renderLeft + renderCenterWidth,renderTop,renderRight,renderCenterHeight);
|
|
context.drawImage(canvas,0,top + centerHeight,left,bottom,0,renderTop + renderCenterHeight,renderLeft,renderBottom);
|
|
context.drawImage(canvas,left,top + centerHeight,centerWidth,bottom,renderLeft,renderTop + renderCenterHeight,renderCenterWidth,renderBottom);
|
|
context.drawImage(canvas,left + centerWidth,top + centerHeight,right,bottom,renderLeft + renderCenterWidth,renderTop + renderCenterHeight,renderRight,renderBottom);
|
|
} else if(centerWidth == 0 && centerHeight != 0) {
|
|
var renderWidth = renderLeft + renderCenterWidth + renderRight;
|
|
context.drawImage(canvas,0,0,width,top,0,0,renderWidth,renderTop);
|
|
context.drawImage(canvas,0,top,width,centerHeight,0,renderTop,renderWidth,renderCenterHeight);
|
|
context.drawImage(canvas,0,top + centerHeight,width,bottom,0,renderTop + renderCenterHeight,renderWidth,renderBottom);
|
|
} else if(centerHeight == 0 && centerWidth != 0) {
|
|
var renderHeight = renderTop + renderCenterHeight + renderBottom;
|
|
context.drawImage(canvas,0,0,left,height,0,0,renderLeft,renderHeight);
|
|
context.drawImage(canvas,left,0,centerWidth,height,renderLeft,0,renderCenterWidth,renderHeight);
|
|
context.drawImage(canvas,left + centerWidth,0,right,height,renderLeft + renderCenterWidth,0,renderRight,renderHeight);
|
|
}
|
|
} else {
|
|
renderer.setTransform(transform,context);
|
|
if(renderer.__isDOM) {
|
|
var reverseScale = 1 / renderer.pixelRatio;
|
|
context.scale(reverseScale,reverseScale);
|
|
}
|
|
context.drawImage(canvas,0,0,width,height);
|
|
}
|
|
renderer.__popMaskObject(displayObject);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
var openfl_display__$internal_DrawCommandBuffer = function() {
|
|
if(openfl_display__$internal_DrawCommandBuffer.empty == null) {
|
|
this.types = [];
|
|
this.b = [];
|
|
this.i = [];
|
|
this.f = [];
|
|
this.o = [];
|
|
this.ff = [];
|
|
this.ii = [];
|
|
this.copyOnWrite = true;
|
|
} else {
|
|
this.clear();
|
|
}
|
|
};
|
|
$hxClasses["openfl.display._internal.DrawCommandBuffer"] = openfl_display__$internal_DrawCommandBuffer;
|
|
openfl_display__$internal_DrawCommandBuffer.__name__ = "openfl.display._internal.DrawCommandBuffer";
|
|
openfl_display__$internal_DrawCommandBuffer.prototype = {
|
|
types: null
|
|
,b: null
|
|
,copyOnWrite: null
|
|
,f: null
|
|
,ff: null
|
|
,i: null
|
|
,ii: null
|
|
,o: null
|
|
,append: function(other) {
|
|
if(this.get_length() == 0) {
|
|
this.types = other.types;
|
|
this.b = other.b;
|
|
this.i = other.i;
|
|
this.f = other.f;
|
|
this.o = other.o;
|
|
this.ff = other.ff;
|
|
this.ii = other.ii;
|
|
this.copyOnWrite = other.copyOnWrite = true;
|
|
return other;
|
|
}
|
|
var data = new openfl_display__$internal_DrawCommandReader(other);
|
|
var _g = 0;
|
|
var _g1 = other.types;
|
|
while(_g < _g1.length) {
|
|
var type = _g1[_g];
|
|
++_g;
|
|
switch(type._hx_index) {
|
|
case 0:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.BEGIN_BITMAP_FILL;
|
|
var this1 = data;
|
|
var c = this1;
|
|
this.beginBitmapFill(c.buffer.o[c.oPos],c.buffer.o[c.oPos + 1],c.buffer.b[c.bPos],c.buffer.b[c.bPos + 1]);
|
|
break;
|
|
case 1:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.BEGIN_FILL;
|
|
var this2 = data;
|
|
var c1 = this2;
|
|
this.beginFill(c1.buffer.i[c1.iPos],c1.buffer.f[c1.fPos]);
|
|
break;
|
|
case 2:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.BEGIN_GRADIENT_FILL;
|
|
var this3 = data;
|
|
var c2 = this3;
|
|
this.beginGradientFill(c2.buffer.o[c2.oPos],c2.buffer.ii[c2.iiPos],c2.buffer.ff[c2.ffPos],c2.buffer.ii[c2.iiPos + 1],c2.buffer.o[c2.oPos + 1],c2.buffer.o[c2.oPos + 2],c2.buffer.o[c2.oPos + 3],c2.buffer.f[c2.fPos]);
|
|
break;
|
|
case 3:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.BEGIN_SHADER_FILL;
|
|
var this4 = data;
|
|
var c3 = this4;
|
|
this.beginShaderFill(c3.buffer.o[c3.oPos]);
|
|
break;
|
|
case 4:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.CUBIC_CURVE_TO;
|
|
var this5 = data;
|
|
var c4 = this5;
|
|
this.cubicCurveTo(c4.buffer.f[c4.fPos],c4.buffer.f[c4.fPos + 1],c4.buffer.f[c4.fPos + 2],c4.buffer.f[c4.fPos + 3],c4.buffer.f[c4.fPos + 4],c4.buffer.f[c4.fPos + 5]);
|
|
break;
|
|
case 5:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.CURVE_TO;
|
|
var this6 = data;
|
|
var c5 = this6;
|
|
this.curveTo(c5.buffer.f[c5.fPos],c5.buffer.f[c5.fPos + 1],c5.buffer.f[c5.fPos + 2],c5.buffer.f[c5.fPos + 3]);
|
|
break;
|
|
case 6:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.DRAW_CIRCLE;
|
|
var this7 = data;
|
|
var c6 = this7;
|
|
this.drawCircle(c6.buffer.f[c6.fPos],c6.buffer.f[c6.fPos + 1],c6.buffer.f[c6.fPos + 2]);
|
|
break;
|
|
case 7:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.DRAW_ELLIPSE;
|
|
var this8 = data;
|
|
var c7 = this8;
|
|
this.drawEllipse(c7.buffer.f[c7.fPos],c7.buffer.f[c7.fPos + 1],c7.buffer.f[c7.fPos + 2],c7.buffer.f[c7.fPos + 3]);
|
|
break;
|
|
case 8:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.DRAW_QUADS;
|
|
var this9 = data;
|
|
var c8 = this9;
|
|
this.drawQuads(c8.buffer.o[c8.oPos],c8.buffer.o[c8.oPos + 1],c8.buffer.o[c8.oPos + 2]);
|
|
break;
|
|
case 9:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.DRAW_RECT;
|
|
var this10 = data;
|
|
var c9 = this10;
|
|
this.drawRect(c9.buffer.f[c9.fPos],c9.buffer.f[c9.fPos + 1],c9.buffer.f[c9.fPos + 2],c9.buffer.f[c9.fPos + 3]);
|
|
break;
|
|
case 10:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.DRAW_ROUND_RECT;
|
|
var this11 = data;
|
|
var c10 = this11;
|
|
this.drawRoundRect(c10.buffer.f[c10.fPos],c10.buffer.f[c10.fPos + 1],c10.buffer.f[c10.fPos + 2],c10.buffer.f[c10.fPos + 3],c10.buffer.f[c10.fPos + 4],c10.buffer.o[c10.oPos]);
|
|
break;
|
|
case 12:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.DRAW_TRIANGLES;
|
|
var this12 = data;
|
|
var c11 = this12;
|
|
this.drawTriangles(c11.buffer.o[c11.oPos],c11.buffer.o[c11.oPos + 1],c11.buffer.o[c11.oPos + 2],c11.buffer.o[c11.oPos + 3]);
|
|
break;
|
|
case 13:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.END_FILL;
|
|
var this13 = data;
|
|
var c12 = this13;
|
|
this.endFill();
|
|
break;
|
|
case 14:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.LINE_BITMAP_STYLE;
|
|
var this14 = data;
|
|
var c13 = this14;
|
|
this.lineBitmapStyle(c13.buffer.o[c13.oPos],c13.buffer.o[c13.oPos + 1],c13.buffer.b[c13.bPos],c13.buffer.b[c13.bPos + 1]);
|
|
break;
|
|
case 15:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.LINE_GRADIENT_STYLE;
|
|
var this15 = data;
|
|
var c14 = this15;
|
|
this.lineGradientStyle(c14.buffer.o[c14.oPos],c14.buffer.ii[c14.iiPos],c14.buffer.ff[c14.ffPos],c14.buffer.ii[c14.iiPos + 1],c14.buffer.o[c14.oPos + 1],c14.buffer.o[c14.oPos + 2],c14.buffer.o[c14.oPos + 3],c14.buffer.f[c14.fPos]);
|
|
break;
|
|
case 16:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.LINE_STYLE;
|
|
var this16 = data;
|
|
var c15 = this16;
|
|
this.lineStyle(c15.buffer.o[c15.oPos],c15.buffer.i[c15.iPos],c15.buffer.f[c15.fPos],c15.buffer.b[c15.bPos],c15.buffer.o[c15.oPos + 1],c15.buffer.o[c15.oPos + 2],c15.buffer.o[c15.oPos + 3],c15.buffer.f[c15.fPos + 1]);
|
|
break;
|
|
case 17:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.LINE_TO;
|
|
var this17 = data;
|
|
var c16 = this17;
|
|
this.lineTo(c16.buffer.f[c16.fPos],c16.buffer.f[c16.fPos + 1]);
|
|
break;
|
|
case 18:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.MOVE_TO;
|
|
var this18 = data;
|
|
var c17 = this18;
|
|
this.moveTo(c17.buffer.f[c17.fPos],c17.buffer.f[c17.fPos + 1]);
|
|
break;
|
|
case 20:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.OVERRIDE_MATRIX;
|
|
var this19 = data;
|
|
var c18 = this19;
|
|
this.overrideMatrix(c18.buffer.o[c18.oPos]);
|
|
break;
|
|
case 21:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.WINDING_EVEN_ODD;
|
|
var this20 = data;
|
|
var c19 = this20;
|
|
this.windingEvenOdd();
|
|
break;
|
|
case 22:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.WINDING_NON_ZERO;
|
|
var this21 = data;
|
|
var c20 = this21;
|
|
this.windingNonZero();
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
data.destroy();
|
|
return other;
|
|
}
|
|
,beginBitmapFill: function(bitmap,matrix,repeat,smooth) {
|
|
this.prepareWrite();
|
|
this.types.push(openfl_display__$internal_DrawCommandType.BEGIN_BITMAP_FILL);
|
|
this.o.push(bitmap);
|
|
this.o.push(matrix);
|
|
this.b.push(repeat);
|
|
this.b.push(smooth);
|
|
}
|
|
,beginFill: function(color,alpha) {
|
|
this.prepareWrite();
|
|
this.types.push(openfl_display__$internal_DrawCommandType.BEGIN_FILL);
|
|
this.i.push(color);
|
|
this.f.push(alpha);
|
|
}
|
|
,beginGradientFill: function(type,colors,alphas,ratios,matrix,spreadMethod,interpolationMethod,focalPointRatio) {
|
|
this.prepareWrite();
|
|
this.types.push(openfl_display__$internal_DrawCommandType.BEGIN_GRADIENT_FILL);
|
|
this.o.push(type);
|
|
this.ii.push(colors);
|
|
this.ff.push(alphas);
|
|
this.ii.push(ratios);
|
|
this.o.push(matrix);
|
|
this.o.push(spreadMethod);
|
|
this.o.push(interpolationMethod);
|
|
this.f.push(focalPointRatio);
|
|
}
|
|
,beginShaderFill: function(shaderBuffer) {
|
|
this.prepareWrite();
|
|
this.types.push(openfl_display__$internal_DrawCommandType.BEGIN_SHADER_FILL);
|
|
this.o.push(shaderBuffer);
|
|
}
|
|
,clear: function() {
|
|
this.types = openfl_display__$internal_DrawCommandBuffer.empty.types;
|
|
this.b = openfl_display__$internal_DrawCommandBuffer.empty.b;
|
|
this.i = openfl_display__$internal_DrawCommandBuffer.empty.i;
|
|
this.f = openfl_display__$internal_DrawCommandBuffer.empty.f;
|
|
this.o = openfl_display__$internal_DrawCommandBuffer.empty.o;
|
|
this.ff = openfl_display__$internal_DrawCommandBuffer.empty.ff;
|
|
this.ii = openfl_display__$internal_DrawCommandBuffer.empty.ii;
|
|
this.copyOnWrite = true;
|
|
}
|
|
,copy: function() {
|
|
var copy = new openfl_display__$internal_DrawCommandBuffer();
|
|
copy.append(this);
|
|
return copy;
|
|
}
|
|
,cubicCurveTo: function(controlX1,controlY1,controlX2,controlY2,anchorX,anchorY) {
|
|
this.prepareWrite();
|
|
this.types.push(openfl_display__$internal_DrawCommandType.CUBIC_CURVE_TO);
|
|
this.f.push(controlX1);
|
|
this.f.push(controlY1);
|
|
this.f.push(controlX2);
|
|
this.f.push(controlY2);
|
|
this.f.push(anchorX);
|
|
this.f.push(anchorY);
|
|
}
|
|
,curveTo: function(controlX,controlY,anchorX,anchorY) {
|
|
this.prepareWrite();
|
|
this.types.push(openfl_display__$internal_DrawCommandType.CURVE_TO);
|
|
this.f.push(controlX);
|
|
this.f.push(controlY);
|
|
this.f.push(anchorX);
|
|
this.f.push(anchorY);
|
|
}
|
|
,destroy: function() {
|
|
this.clear();
|
|
this.types = null;
|
|
this.b = null;
|
|
this.i = null;
|
|
this.f = null;
|
|
this.o = null;
|
|
this.ff = null;
|
|
this.ii = null;
|
|
}
|
|
,drawCircle: function(x,y,radius) {
|
|
this.prepareWrite();
|
|
this.types.push(openfl_display__$internal_DrawCommandType.DRAW_CIRCLE);
|
|
this.f.push(x);
|
|
this.f.push(y);
|
|
this.f.push(radius);
|
|
}
|
|
,drawEllipse: function(x,y,width,height) {
|
|
this.prepareWrite();
|
|
this.types.push(openfl_display__$internal_DrawCommandType.DRAW_ELLIPSE);
|
|
this.f.push(x);
|
|
this.f.push(y);
|
|
this.f.push(width);
|
|
this.f.push(height);
|
|
}
|
|
,drawQuads: function(rects,indices,transforms) {
|
|
this.prepareWrite();
|
|
this.types.push(openfl_display__$internal_DrawCommandType.DRAW_QUADS);
|
|
this.o.push(rects);
|
|
this.o.push(indices);
|
|
this.o.push(transforms);
|
|
}
|
|
,drawRect: function(x,y,width,height) {
|
|
this.prepareWrite();
|
|
this.types.push(openfl_display__$internal_DrawCommandType.DRAW_RECT);
|
|
this.f.push(x);
|
|
this.f.push(y);
|
|
this.f.push(width);
|
|
this.f.push(height);
|
|
}
|
|
,drawRoundRect: function(x,y,width,height,ellipseWidth,ellipseHeight) {
|
|
this.prepareWrite();
|
|
this.types.push(openfl_display__$internal_DrawCommandType.DRAW_ROUND_RECT);
|
|
this.f.push(x);
|
|
this.f.push(y);
|
|
this.f.push(width);
|
|
this.f.push(height);
|
|
this.f.push(ellipseWidth);
|
|
this.o.push(ellipseHeight);
|
|
}
|
|
,drawTriangles: function(vertices,indices,uvtData,culling) {
|
|
this.prepareWrite();
|
|
this.types.push(openfl_display__$internal_DrawCommandType.DRAW_TRIANGLES);
|
|
this.o.push(vertices);
|
|
this.o.push(indices);
|
|
this.o.push(uvtData);
|
|
this.o.push(culling);
|
|
}
|
|
,endFill: function() {
|
|
this.prepareWrite();
|
|
this.types.push(openfl_display__$internal_DrawCommandType.END_FILL);
|
|
}
|
|
,lineBitmapStyle: function(bitmap,matrix,repeat,smooth) {
|
|
this.prepareWrite();
|
|
this.types.push(openfl_display__$internal_DrawCommandType.LINE_BITMAP_STYLE);
|
|
this.o.push(bitmap);
|
|
this.o.push(matrix);
|
|
this.b.push(repeat);
|
|
this.b.push(smooth);
|
|
}
|
|
,lineGradientStyle: function(type,colors,alphas,ratios,matrix,spreadMethod,interpolationMethod,focalPointRatio) {
|
|
this.prepareWrite();
|
|
this.types.push(openfl_display__$internal_DrawCommandType.LINE_GRADIENT_STYLE);
|
|
this.o.push(type);
|
|
this.ii.push(colors);
|
|
this.ff.push(alphas);
|
|
this.ii.push(ratios);
|
|
this.o.push(matrix);
|
|
this.o.push(spreadMethod);
|
|
this.o.push(interpolationMethod);
|
|
this.f.push(focalPointRatio);
|
|
}
|
|
,lineStyle: function(thickness,color,alpha,pixelHinting,scaleMode,caps,joints,miterLimit) {
|
|
this.prepareWrite();
|
|
this.types.push(openfl_display__$internal_DrawCommandType.LINE_STYLE);
|
|
this.o.push(thickness);
|
|
this.i.push(color);
|
|
this.f.push(alpha);
|
|
this.b.push(pixelHinting);
|
|
this.o.push(scaleMode);
|
|
this.o.push(caps);
|
|
this.o.push(joints);
|
|
this.f.push(miterLimit);
|
|
}
|
|
,lineTo: function(x,y) {
|
|
this.prepareWrite();
|
|
this.types.push(openfl_display__$internal_DrawCommandType.LINE_TO);
|
|
this.f.push(x);
|
|
this.f.push(y);
|
|
}
|
|
,moveTo: function(x,y) {
|
|
this.prepareWrite();
|
|
this.types.push(openfl_display__$internal_DrawCommandType.MOVE_TO);
|
|
this.f.push(x);
|
|
this.f.push(y);
|
|
}
|
|
,prepareWrite: function() {
|
|
if(this.copyOnWrite) {
|
|
this.types = this.types.slice();
|
|
this.b = this.b.slice();
|
|
this.i = this.i.slice();
|
|
this.f = this.f.slice();
|
|
this.o = this.o.slice();
|
|
this.ff = this.ff.slice();
|
|
this.ii = this.ii.slice();
|
|
this.copyOnWrite = false;
|
|
}
|
|
}
|
|
,overrideBlendMode: function(blendMode) {
|
|
this.prepareWrite();
|
|
this.types.push(openfl_display__$internal_DrawCommandType.OVERRIDE_BLEND_MODE);
|
|
this.o.push(blendMode);
|
|
}
|
|
,overrideMatrix: function(matrix) {
|
|
this.prepareWrite();
|
|
this.types.push(openfl_display__$internal_DrawCommandType.OVERRIDE_MATRIX);
|
|
this.o.push(matrix);
|
|
}
|
|
,windingEvenOdd: function() {
|
|
this.prepareWrite();
|
|
this.types.push(openfl_display__$internal_DrawCommandType.WINDING_EVEN_ODD);
|
|
}
|
|
,windingNonZero: function() {
|
|
this.prepareWrite();
|
|
this.types.push(openfl_display__$internal_DrawCommandType.WINDING_NON_ZERO);
|
|
}
|
|
,get_length: function() {
|
|
return this.types.length;
|
|
}
|
|
,__class__: openfl_display__$internal_DrawCommandBuffer
|
|
,__properties__: {get_length:"get_length"}
|
|
};
|
|
var openfl_display__$internal_CanvasGraphics = function() { };
|
|
$hxClasses["openfl.display._internal.CanvasGraphics"] = openfl_display__$internal_CanvasGraphics;
|
|
openfl_display__$internal_CanvasGraphics.__name__ = "openfl.display._internal.CanvasGraphics";
|
|
openfl_display__$internal_CanvasGraphics.allowSmoothing = null;
|
|
openfl_display__$internal_CanvasGraphics.bitmapFill = null;
|
|
openfl_display__$internal_CanvasGraphics.bitmapStroke = null;
|
|
openfl_display__$internal_CanvasGraphics.bitmapRepeat = null;
|
|
openfl_display__$internal_CanvasGraphics.bounds = null;
|
|
openfl_display__$internal_CanvasGraphics.graphics = null;
|
|
openfl_display__$internal_CanvasGraphics.hasFill = null;
|
|
openfl_display__$internal_CanvasGraphics.hasStroke = null;
|
|
openfl_display__$internal_CanvasGraphics.hitTesting = null;
|
|
openfl_display__$internal_CanvasGraphics.inversePendingMatrix = null;
|
|
openfl_display__$internal_CanvasGraphics.pendingMatrix = null;
|
|
openfl_display__$internal_CanvasGraphics.windingRule = null;
|
|
openfl_display__$internal_CanvasGraphics.worldAlpha = null;
|
|
openfl_display__$internal_CanvasGraphics.context = null;
|
|
openfl_display__$internal_CanvasGraphics.hitTestCanvas = null;
|
|
openfl_display__$internal_CanvasGraphics.hitTestContext = null;
|
|
openfl_display__$internal_CanvasGraphics.closePath = function(strokeBefore) {
|
|
if(strokeBefore == null) {
|
|
strokeBefore = false;
|
|
}
|
|
if(openfl_display__$internal_CanvasGraphics.context.strokeStyle == null) {
|
|
return;
|
|
}
|
|
if(!strokeBefore) {
|
|
openfl_display__$internal_CanvasGraphics.context.closePath();
|
|
}
|
|
openfl_display__$internal_CanvasGraphics.context.stroke();
|
|
if(strokeBefore) {
|
|
openfl_display__$internal_CanvasGraphics.context.closePath();
|
|
}
|
|
openfl_display__$internal_CanvasGraphics.context.beginPath();
|
|
};
|
|
openfl_display__$internal_CanvasGraphics.createBitmapFill = function(bitmap,bitmapRepeat,smooth) {
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(bitmap.image);
|
|
openfl_display__$internal_CanvasGraphics.setSmoothing(smooth);
|
|
return openfl_display__$internal_CanvasGraphics.context.createPattern(bitmap.image.get_src(),bitmapRepeat ? "repeat" : "no-repeat");
|
|
};
|
|
openfl_display__$internal_CanvasGraphics.createGradientPattern = function(type,colors,alphas,ratios,matrix,spreadMethod,interpolationMethod,focalPointRatio) {
|
|
var gradientFill = null;
|
|
var point = null;
|
|
var point2 = null;
|
|
var releaseMatrix = false;
|
|
if(matrix == null) {
|
|
matrix = openfl_geom_Matrix.__pool.get();
|
|
releaseMatrix = true;
|
|
}
|
|
switch(type) {
|
|
case 0:
|
|
point = openfl_geom_Point.__pool.get();
|
|
point.setTo(-819.2,0);
|
|
var px = point.x;
|
|
var py = point.y;
|
|
point.x = px * matrix.a + py * matrix.c + matrix.tx;
|
|
point.y = px * matrix.b + py * matrix.d + matrix.ty;
|
|
point2 = openfl_geom_Point.__pool.get();
|
|
point2.setTo(819.2,0);
|
|
var px = point2.x;
|
|
var py = point2.y;
|
|
point2.x = px * matrix.a + py * matrix.c + matrix.tx;
|
|
point2.y = px * matrix.b + py * matrix.d + matrix.ty;
|
|
gradientFill = openfl_display__$internal_CanvasGraphics.context.createLinearGradient(point.x,point.y,point2.x,point2.y);
|
|
break;
|
|
case 1:
|
|
point = openfl_geom_Point.__pool.get();
|
|
point.setTo(1638.4,0);
|
|
var px = point.x;
|
|
var py = point.y;
|
|
point.x = px * matrix.a + py * matrix.c + matrix.tx;
|
|
point.y = px * matrix.b + py * matrix.d + matrix.ty;
|
|
gradientFill = openfl_display__$internal_CanvasGraphics.context.createRadialGradient(matrix.tx,matrix.ty,0,matrix.tx,matrix.ty,Math.abs((point.x - matrix.tx) / 2));
|
|
break;
|
|
}
|
|
var rgb;
|
|
var alpha;
|
|
var r;
|
|
var g;
|
|
var b;
|
|
var ratio;
|
|
var _g = 0;
|
|
var _g1 = colors.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
rgb = colors[i];
|
|
alpha = alphas[i];
|
|
r = (rgb & 16711680) >>> 16;
|
|
g = (rgb & 65280) >>> 8;
|
|
b = rgb & 255;
|
|
ratio = ratios[i] / 255;
|
|
if(ratio < 0) {
|
|
ratio = 0;
|
|
}
|
|
if(ratio > 1) {
|
|
ratio = 1;
|
|
}
|
|
gradientFill.addColorStop(ratio,"rgba(" + r + ", " + g + ", " + b + ", " + alpha + ")");
|
|
}
|
|
if(point != null) {
|
|
openfl_geom_Point.__pool.release(point);
|
|
}
|
|
if(point2 != null) {
|
|
openfl_geom_Point.__pool.release(point2);
|
|
}
|
|
if(releaseMatrix) {
|
|
openfl_geom_Matrix.__pool.release(matrix);
|
|
}
|
|
return gradientFill;
|
|
};
|
|
openfl_display__$internal_CanvasGraphics.createTempPatternCanvas = function(bitmap,repeat,width,height) {
|
|
var canvas = window.document.createElement("canvas");
|
|
var context = canvas.getContext("2d");
|
|
canvas.width = width;
|
|
canvas.height = height;
|
|
var tmp = bitmap.image.get_src();
|
|
context.fillStyle = context.createPattern(tmp,repeat ? "repeat" : "no-repeat");
|
|
context.beginPath();
|
|
context.moveTo(0,0);
|
|
context.lineTo(0,height);
|
|
context.lineTo(width,height);
|
|
context.lineTo(width,0);
|
|
context.lineTo(0,0);
|
|
context.closePath();
|
|
if(!openfl_display__$internal_CanvasGraphics.hitTesting) {
|
|
context.fill(openfl_display__$internal_CanvasGraphics.windingRule);
|
|
}
|
|
return canvas;
|
|
};
|
|
openfl_display__$internal_CanvasGraphics.drawRoundRect = function(x,y,width,height,ellipseWidth,ellipseHeight) {
|
|
if(ellipseHeight == null) {
|
|
ellipseHeight = ellipseWidth;
|
|
}
|
|
ellipseWidth *= 0.5;
|
|
ellipseHeight *= 0.5;
|
|
if(ellipseWidth > width / 2) {
|
|
ellipseWidth = width / 2;
|
|
}
|
|
if(ellipseHeight > height / 2) {
|
|
ellipseHeight = height / 2;
|
|
}
|
|
var xe = x + width;
|
|
var ye = y + height;
|
|
var cx1 = -ellipseWidth + ellipseWidth * 0.70710678118654752440084436210485;
|
|
var cx2 = -ellipseWidth + ellipseWidth * 0.4142135623730950488016887242097;
|
|
var cy1 = -ellipseHeight + ellipseHeight * 0.70710678118654752440084436210485;
|
|
var cy2 = -ellipseHeight + ellipseHeight * 0.4142135623730950488016887242097;
|
|
openfl_display__$internal_CanvasGraphics.context.moveTo(xe,ye - ellipseHeight);
|
|
openfl_display__$internal_CanvasGraphics.context.quadraticCurveTo(xe,ye + cy2,xe + cx1,ye + cy1);
|
|
openfl_display__$internal_CanvasGraphics.context.quadraticCurveTo(xe + cx2,ye,xe - ellipseWidth,ye);
|
|
openfl_display__$internal_CanvasGraphics.context.lineTo(x + ellipseWidth,ye);
|
|
openfl_display__$internal_CanvasGraphics.context.quadraticCurveTo(x - cx2,ye,x - cx1,ye + cy1);
|
|
openfl_display__$internal_CanvasGraphics.context.quadraticCurveTo(x,ye + cy2,x,ye - ellipseHeight);
|
|
openfl_display__$internal_CanvasGraphics.context.lineTo(x,y + ellipseHeight);
|
|
openfl_display__$internal_CanvasGraphics.context.quadraticCurveTo(x,y - cy2,x - cx1,y - cy1);
|
|
openfl_display__$internal_CanvasGraphics.context.quadraticCurveTo(x - cx2,y,x + ellipseWidth,y);
|
|
openfl_display__$internal_CanvasGraphics.context.lineTo(xe - ellipseWidth,y);
|
|
openfl_display__$internal_CanvasGraphics.context.quadraticCurveTo(xe + cx2,y,xe + cx1,y - cy1);
|
|
openfl_display__$internal_CanvasGraphics.context.quadraticCurveTo(xe,y - cy2,xe,y + ellipseHeight);
|
|
openfl_display__$internal_CanvasGraphics.context.lineTo(xe,ye - ellipseHeight);
|
|
};
|
|
openfl_display__$internal_CanvasGraphics.endFill = function() {
|
|
openfl_display__$internal_CanvasGraphics.context.beginPath();
|
|
openfl_display__$internal_CanvasGraphics.playCommands(openfl_display__$internal_CanvasGraphics.fillCommands,false);
|
|
openfl_display__$internal_CanvasGraphics.fillCommands.clear();
|
|
};
|
|
openfl_display__$internal_CanvasGraphics.endStroke = function() {
|
|
openfl_display__$internal_CanvasGraphics.context.beginPath();
|
|
openfl_display__$internal_CanvasGraphics.playCommands(openfl_display__$internal_CanvasGraphics.strokeCommands,true);
|
|
openfl_display__$internal_CanvasGraphics.context.closePath();
|
|
openfl_display__$internal_CanvasGraphics.strokeCommands.clear();
|
|
};
|
|
openfl_display__$internal_CanvasGraphics.hitTest = function(graphics,x,y) {
|
|
openfl_display__$internal_CanvasGraphics.bounds = graphics.__bounds;
|
|
openfl_display__$internal_CanvasGraphics.graphics = graphics;
|
|
if(graphics.__commands.get_length() == 0 || openfl_display__$internal_CanvasGraphics.bounds == null || openfl_display__$internal_CanvasGraphics.bounds.width <= 0 || openfl_display__$internal_CanvasGraphics.bounds.height <= 0) {
|
|
return false;
|
|
} else {
|
|
openfl_display__$internal_CanvasGraphics.hitTesting = true;
|
|
var transform = graphics.__renderTransform;
|
|
var px = x * transform.a + y * transform.c + transform.tx;
|
|
var py = x * transform.b + y * transform.d + transform.ty;
|
|
x = px;
|
|
y = py;
|
|
x -= openfl_display__$internal_CanvasGraphics.bounds.x * transform.a + openfl_display__$internal_CanvasGraphics.bounds.y * transform.c + transform.tx;
|
|
y -= openfl_display__$internal_CanvasGraphics.bounds.x * transform.b + openfl_display__$internal_CanvasGraphics.bounds.y * transform.d + transform.ty;
|
|
var cacheCanvas = graphics.__canvas;
|
|
var cacheContext = graphics.__context;
|
|
graphics.__canvas = openfl_display__$internal_CanvasGraphics.hitTestCanvas;
|
|
graphics.__context = openfl_display__$internal_CanvasGraphics.hitTestContext;
|
|
openfl_display__$internal_CanvasGraphics.context = graphics.__context;
|
|
openfl_display__$internal_CanvasGraphics.context.setTransform(transform.a,transform.b,transform.c,transform.d,transform.tx,transform.ty);
|
|
openfl_display__$internal_CanvasGraphics.fillCommands.clear();
|
|
openfl_display__$internal_CanvasGraphics.strokeCommands.clear();
|
|
openfl_display__$internal_CanvasGraphics.hasFill = false;
|
|
openfl_display__$internal_CanvasGraphics.hasStroke = false;
|
|
openfl_display__$internal_CanvasGraphics.bitmapFill = null;
|
|
openfl_display__$internal_CanvasGraphics.bitmapRepeat = false;
|
|
openfl_display__$internal_CanvasGraphics.windingRule = "evenodd";
|
|
var data = new openfl_display__$internal_DrawCommandReader(graphics.__commands);
|
|
var _g = 0;
|
|
var _g1 = graphics.__commands.types;
|
|
while(_g < _g1.length) {
|
|
var type = _g1[_g];
|
|
++_g;
|
|
switch(type._hx_index) {
|
|
case 0:case 1:case 2:case 3:
|
|
openfl_display__$internal_CanvasGraphics.endFill();
|
|
if(openfl_display__$internal_CanvasGraphics.hasFill && openfl_display__$internal_CanvasGraphics.context.isPointInPath(x,y,openfl_display__$internal_CanvasGraphics.windingRule)) {
|
|
data.destroy();
|
|
graphics.__canvas = cacheCanvas;
|
|
graphics.__context = cacheContext;
|
|
return true;
|
|
}
|
|
openfl_display__$internal_CanvasGraphics.endStroke();
|
|
if(openfl_display__$internal_CanvasGraphics.hasStroke && openfl_display__$internal_CanvasGraphics.context.isPointInStroke(x,y)) {
|
|
data.destroy();
|
|
graphics.__canvas = cacheCanvas;
|
|
graphics.__context = cacheContext;
|
|
return true;
|
|
}
|
|
if(type == openfl_display__$internal_DrawCommandType.BEGIN_BITMAP_FILL) {
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.BEGIN_BITMAP_FILL;
|
|
var this1 = data;
|
|
var c = this1;
|
|
openfl_display__$internal_CanvasGraphics.fillCommands.beginBitmapFill(c.buffer.o[c.oPos],c.buffer.o[c.oPos + 1],c.buffer.b[c.bPos],c.buffer.b[c.bPos + 1]);
|
|
openfl_display__$internal_CanvasGraphics.strokeCommands.beginBitmapFill(c.buffer.o[c.oPos],c.buffer.o[c.oPos + 1],c.buffer.b[c.bPos],c.buffer.b[c.bPos + 1]);
|
|
} else if(type == openfl_display__$internal_DrawCommandType.BEGIN_GRADIENT_FILL) {
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.BEGIN_GRADIENT_FILL;
|
|
var this2 = data;
|
|
var c1 = this2;
|
|
openfl_display__$internal_CanvasGraphics.fillCommands.beginGradientFill(c1.buffer.o[c1.oPos],c1.buffer.ii[c1.iiPos],c1.buffer.ff[c1.ffPos],c1.buffer.ii[c1.iiPos + 1],c1.buffer.o[c1.oPos + 1],c1.buffer.o[c1.oPos + 2],c1.buffer.o[c1.oPos + 3],c1.buffer.f[c1.fPos]);
|
|
openfl_display__$internal_CanvasGraphics.strokeCommands.beginGradientFill(c1.buffer.o[c1.oPos],c1.buffer.ii[c1.iiPos],c1.buffer.ff[c1.ffPos],c1.buffer.ii[c1.iiPos + 1],c1.buffer.o[c1.oPos + 1],c1.buffer.o[c1.oPos + 2],c1.buffer.o[c1.oPos + 3],c1.buffer.f[c1.fPos]);
|
|
} else if(type == openfl_display__$internal_DrawCommandType.BEGIN_SHADER_FILL) {
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.BEGIN_SHADER_FILL;
|
|
var this3 = data;
|
|
var c2 = this3;
|
|
openfl_display__$internal_CanvasGraphics.fillCommands.beginShaderFill(c2.buffer.o[c2.oPos]);
|
|
openfl_display__$internal_CanvasGraphics.strokeCommands.beginShaderFill(c2.buffer.o[c2.oPos]);
|
|
} else {
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.BEGIN_FILL;
|
|
var this4 = data;
|
|
var c3 = this4;
|
|
openfl_display__$internal_CanvasGraphics.fillCommands.beginFill(c3.buffer.i[c3.iPos],1);
|
|
openfl_display__$internal_CanvasGraphics.strokeCommands.beginFill(c3.buffer.i[c3.iPos],1);
|
|
}
|
|
break;
|
|
case 4:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.CUBIC_CURVE_TO;
|
|
var this5 = data;
|
|
var c4 = this5;
|
|
openfl_display__$internal_CanvasGraphics.fillCommands.cubicCurveTo(c4.buffer.f[c4.fPos],c4.buffer.f[c4.fPos + 1],c4.buffer.f[c4.fPos + 2],c4.buffer.f[c4.fPos + 3],c4.buffer.f[c4.fPos + 4],c4.buffer.f[c4.fPos + 5]);
|
|
openfl_display__$internal_CanvasGraphics.strokeCommands.cubicCurveTo(c4.buffer.f[c4.fPos],c4.buffer.f[c4.fPos + 1],c4.buffer.f[c4.fPos + 2],c4.buffer.f[c4.fPos + 3],c4.buffer.f[c4.fPos + 4],c4.buffer.f[c4.fPos + 5]);
|
|
break;
|
|
case 5:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.CURVE_TO;
|
|
var this6 = data;
|
|
var c5 = this6;
|
|
openfl_display__$internal_CanvasGraphics.fillCommands.curveTo(c5.buffer.f[c5.fPos],c5.buffer.f[c5.fPos + 1],c5.buffer.f[c5.fPos + 2],c5.buffer.f[c5.fPos + 3]);
|
|
openfl_display__$internal_CanvasGraphics.strokeCommands.curveTo(c5.buffer.f[c5.fPos],c5.buffer.f[c5.fPos + 1],c5.buffer.f[c5.fPos + 2],c5.buffer.f[c5.fPos + 3]);
|
|
break;
|
|
case 6:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.DRAW_CIRCLE;
|
|
var this7 = data;
|
|
var c6 = this7;
|
|
openfl_display__$internal_CanvasGraphics.fillCommands.drawCircle(c6.buffer.f[c6.fPos],c6.buffer.f[c6.fPos + 1],c6.buffer.f[c6.fPos + 2]);
|
|
openfl_display__$internal_CanvasGraphics.strokeCommands.drawCircle(c6.buffer.f[c6.fPos],c6.buffer.f[c6.fPos + 1],c6.buffer.f[c6.fPos + 2]);
|
|
break;
|
|
case 7:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.DRAW_ELLIPSE;
|
|
var this8 = data;
|
|
var c7 = this8;
|
|
openfl_display__$internal_CanvasGraphics.fillCommands.drawEllipse(c7.buffer.f[c7.fPos],c7.buffer.f[c7.fPos + 1],c7.buffer.f[c7.fPos + 2],c7.buffer.f[c7.fPos + 3]);
|
|
openfl_display__$internal_CanvasGraphics.strokeCommands.drawEllipse(c7.buffer.f[c7.fPos],c7.buffer.f[c7.fPos + 1],c7.buffer.f[c7.fPos + 2],c7.buffer.f[c7.fPos + 3]);
|
|
break;
|
|
case 9:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.DRAW_RECT;
|
|
var this9 = data;
|
|
var c8 = this9;
|
|
openfl_display__$internal_CanvasGraphics.fillCommands.drawRect(c8.buffer.f[c8.fPos],c8.buffer.f[c8.fPos + 1],c8.buffer.f[c8.fPos + 2],c8.buffer.f[c8.fPos + 3]);
|
|
openfl_display__$internal_CanvasGraphics.strokeCommands.drawRect(c8.buffer.f[c8.fPos],c8.buffer.f[c8.fPos + 1],c8.buffer.f[c8.fPos + 2],c8.buffer.f[c8.fPos + 3]);
|
|
break;
|
|
case 10:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.DRAW_ROUND_RECT;
|
|
var this10 = data;
|
|
var c9 = this10;
|
|
openfl_display__$internal_CanvasGraphics.fillCommands.drawRoundRect(c9.buffer.f[c9.fPos],c9.buffer.f[c9.fPos + 1],c9.buffer.f[c9.fPos + 2],c9.buffer.f[c9.fPos + 3],c9.buffer.f[c9.fPos + 4],c9.buffer.o[c9.oPos]);
|
|
openfl_display__$internal_CanvasGraphics.strokeCommands.drawRoundRect(c9.buffer.f[c9.fPos],c9.buffer.f[c9.fPos + 1],c9.buffer.f[c9.fPos + 2],c9.buffer.f[c9.fPos + 3],c9.buffer.f[c9.fPos + 4],c9.buffer.o[c9.oPos]);
|
|
break;
|
|
case 13:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.END_FILL;
|
|
var this11 = data;
|
|
openfl_display__$internal_CanvasGraphics.endFill();
|
|
if(openfl_display__$internal_CanvasGraphics.hasFill && openfl_display__$internal_CanvasGraphics.context.isPointInPath(x,y,openfl_display__$internal_CanvasGraphics.windingRule)) {
|
|
data.destroy();
|
|
graphics.__canvas = cacheCanvas;
|
|
graphics.__context = cacheContext;
|
|
return true;
|
|
}
|
|
openfl_display__$internal_CanvasGraphics.endStroke();
|
|
if(openfl_display__$internal_CanvasGraphics.hasStroke && openfl_display__$internal_CanvasGraphics.context.isPointInStroke(x,y)) {
|
|
data.destroy();
|
|
graphics.__canvas = cacheCanvas;
|
|
graphics.__context = cacheContext;
|
|
return true;
|
|
}
|
|
openfl_display__$internal_CanvasGraphics.hasFill = false;
|
|
openfl_display__$internal_CanvasGraphics.bitmapFill = null;
|
|
break;
|
|
case 14:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.LINE_BITMAP_STYLE;
|
|
var this12 = data;
|
|
var c10 = this12;
|
|
openfl_display__$internal_CanvasGraphics.strokeCommands.lineBitmapStyle(c10.buffer.o[c10.oPos],c10.buffer.o[c10.oPos + 1],c10.buffer.b[c10.bPos],c10.buffer.b[c10.bPos + 1]);
|
|
break;
|
|
case 15:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.LINE_GRADIENT_STYLE;
|
|
var this13 = data;
|
|
var c11 = this13;
|
|
openfl_display__$internal_CanvasGraphics.strokeCommands.lineGradientStyle(c11.buffer.o[c11.oPos],c11.buffer.ii[c11.iiPos],c11.buffer.ff[c11.ffPos],c11.buffer.ii[c11.iiPos + 1],c11.buffer.o[c11.oPos + 1],c11.buffer.o[c11.oPos + 2],c11.buffer.o[c11.oPos + 3],c11.buffer.f[c11.fPos]);
|
|
break;
|
|
case 16:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.LINE_STYLE;
|
|
var this14 = data;
|
|
var c12 = this14;
|
|
openfl_display__$internal_CanvasGraphics.strokeCommands.lineStyle(c12.buffer.o[c12.oPos],c12.buffer.i[c12.iPos],1,c12.buffer.b[c12.bPos],c12.buffer.o[c12.oPos + 1],c12.buffer.o[c12.oPos + 2],c12.buffer.o[c12.oPos + 3],c12.buffer.f[c12.fPos + 1]);
|
|
break;
|
|
case 17:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.LINE_TO;
|
|
var this15 = data;
|
|
var c13 = this15;
|
|
openfl_display__$internal_CanvasGraphics.fillCommands.lineTo(c13.buffer.f[c13.fPos],c13.buffer.f[c13.fPos + 1]);
|
|
openfl_display__$internal_CanvasGraphics.strokeCommands.lineTo(c13.buffer.f[c13.fPos],c13.buffer.f[c13.fPos + 1]);
|
|
break;
|
|
case 18:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.MOVE_TO;
|
|
var this16 = data;
|
|
var c14 = this16;
|
|
openfl_display__$internal_CanvasGraphics.fillCommands.moveTo(c14.buffer.f[c14.fPos],c14.buffer.f[c14.fPos + 1]);
|
|
openfl_display__$internal_CanvasGraphics.strokeCommands.moveTo(c14.buffer.f[c14.fPos],c14.buffer.f[c14.fPos + 1]);
|
|
break;
|
|
case 21:
|
|
openfl_display__$internal_CanvasGraphics.windingRule = "evenodd";
|
|
break;
|
|
case 22:
|
|
openfl_display__$internal_CanvasGraphics.windingRule = "nonzero";
|
|
break;
|
|
default:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = type;
|
|
}
|
|
}
|
|
var hitTest = false;
|
|
if(openfl_display__$internal_CanvasGraphics.fillCommands.get_length() > 0) {
|
|
openfl_display__$internal_CanvasGraphics.endFill();
|
|
}
|
|
if(openfl_display__$internal_CanvasGraphics.hasFill && openfl_display__$internal_CanvasGraphics.context.isPointInPath(x,y,openfl_display__$internal_CanvasGraphics.windingRule)) {
|
|
hitTest = true;
|
|
}
|
|
if(openfl_display__$internal_CanvasGraphics.strokeCommands.get_length() > 0) {
|
|
openfl_display__$internal_CanvasGraphics.endStroke();
|
|
}
|
|
if(openfl_display__$internal_CanvasGraphics.hasStroke && openfl_display__$internal_CanvasGraphics.context.isPointInStroke(x,y)) {
|
|
hitTest = true;
|
|
}
|
|
data.destroy();
|
|
graphics.__canvas = cacheCanvas;
|
|
graphics.__context = cacheContext;
|
|
return hitTest;
|
|
}
|
|
};
|
|
openfl_display__$internal_CanvasGraphics.isCCW = function(x1,y1,x2,y2,x3,y3) {
|
|
return (x2 - x1) * (y3 - y1) - (y2 - y1) * (x3 - x1) < 0;
|
|
};
|
|
openfl_display__$internal_CanvasGraphics.normalizeUVT = function(uvt,skipT) {
|
|
if(skipT == null) {
|
|
skipT = false;
|
|
}
|
|
var max = -Infinity;
|
|
var tmp = -Infinity;
|
|
var len = uvt.get_length();
|
|
var _g = 1;
|
|
var _g1 = len + 1;
|
|
while(_g < _g1) {
|
|
var t = _g++;
|
|
if(skipT && t % 3 == 0) {
|
|
continue;
|
|
}
|
|
tmp = uvt.get(t - 1);
|
|
if(max < tmp) {
|
|
max = tmp;
|
|
}
|
|
}
|
|
if(!skipT) {
|
|
return { max : max, uvt : uvt};
|
|
}
|
|
var result = openfl_Vector.toFloatVector(null);
|
|
var _g = 1;
|
|
var _g1 = len + 1;
|
|
while(_g < _g1) {
|
|
var t = _g++;
|
|
if(skipT && t % 3 == 0) {
|
|
continue;
|
|
}
|
|
result.push(uvt.get(t - 1));
|
|
}
|
|
return { max : max, uvt : result};
|
|
};
|
|
openfl_display__$internal_CanvasGraphics.playCommands = function(commands,stroke) {
|
|
if(stroke == null) {
|
|
stroke = false;
|
|
}
|
|
openfl_display__$internal_CanvasGraphics.bounds = openfl_display__$internal_CanvasGraphics.graphics.__bounds;
|
|
var offsetX = openfl_display__$internal_CanvasGraphics.bounds.x;
|
|
var offsetY = openfl_display__$internal_CanvasGraphics.bounds.y;
|
|
var positionX = 0.0;
|
|
var positionY = 0.0;
|
|
var closeGap = false;
|
|
var startX = 0.0;
|
|
var startY = 0.0;
|
|
var setStart = false;
|
|
openfl_display__$internal_CanvasGraphics.windingRule = "evenodd";
|
|
openfl_display__$internal_CanvasGraphics.setSmoothing(true);
|
|
var hasPath = false;
|
|
var data = new openfl_display__$internal_DrawCommandReader(commands);
|
|
var x;
|
|
var y;
|
|
var width;
|
|
var height;
|
|
var kappa = .5522848;
|
|
var ox;
|
|
var oy;
|
|
var xe;
|
|
var ye;
|
|
var xm;
|
|
var ym;
|
|
var r;
|
|
var g;
|
|
var b;
|
|
var optimizationUsed;
|
|
var canOptimizeMatrix;
|
|
var st;
|
|
var sr;
|
|
var sb;
|
|
var sl;
|
|
var stl = null;
|
|
var sbr = null;
|
|
var _g = 0;
|
|
var _g1 = commands.types;
|
|
_hx_loop1: while(_g < _g1.length) {
|
|
var type = _g1[_g];
|
|
++_g;
|
|
switch(type._hx_index) {
|
|
case 0:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.BEGIN_BITMAP_FILL;
|
|
var this1 = data;
|
|
var c = this1;
|
|
openfl_display__$internal_CanvasGraphics.bitmapFill = c.buffer.o[c.oPos];
|
|
openfl_display__$internal_CanvasGraphics.context.fillStyle = openfl_display__$internal_CanvasGraphics.createBitmapFill(c.buffer.o[c.oPos],c.buffer.b[c.bPos],c.buffer.b[c.bPos + 1]);
|
|
openfl_display__$internal_CanvasGraphics.hasFill = true;
|
|
if(c.buffer.o[c.oPos + 1] != null) {
|
|
openfl_display__$internal_CanvasGraphics.pendingMatrix = c.buffer.o[c.oPos + 1];
|
|
openfl_display__$internal_CanvasGraphics.inversePendingMatrix = c.buffer.o[c.oPos + 1].clone();
|
|
openfl_display__$internal_CanvasGraphics.inversePendingMatrix.invert();
|
|
} else {
|
|
openfl_display__$internal_CanvasGraphics.pendingMatrix = null;
|
|
openfl_display__$internal_CanvasGraphics.inversePendingMatrix = null;
|
|
}
|
|
break;
|
|
case 1:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.BEGIN_FILL;
|
|
var this2 = data;
|
|
var c1 = this2;
|
|
if(c1.buffer.f[c1.fPos] < 0.005) {
|
|
openfl_display__$internal_CanvasGraphics.hasFill = false;
|
|
} else {
|
|
if(c1.buffer.f[c1.fPos] == 1) {
|
|
var tmp = StringTools.hex(c1.buffer.i[c1.iPos] & 16777215,6);
|
|
openfl_display__$internal_CanvasGraphics.context.fillStyle = "#" + tmp;
|
|
} else {
|
|
r = (c1.buffer.i[c1.iPos] & 16711680) >>> 16;
|
|
g = (c1.buffer.i[c1.iPos] & 65280) >>> 8;
|
|
b = c1.buffer.i[c1.iPos] & 255;
|
|
openfl_display__$internal_CanvasGraphics.context.fillStyle = "rgba(" + r + ", " + g + ", " + b + ", " + c1.buffer.f[c1.fPos] + ")";
|
|
}
|
|
openfl_display__$internal_CanvasGraphics.bitmapFill = null;
|
|
openfl_display__$internal_CanvasGraphics.setSmoothing(true);
|
|
openfl_display__$internal_CanvasGraphics.hasFill = true;
|
|
}
|
|
break;
|
|
case 2:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.BEGIN_GRADIENT_FILL;
|
|
var this3 = data;
|
|
var c2 = this3;
|
|
openfl_display__$internal_CanvasGraphics.context.fillStyle = openfl_display__$internal_CanvasGraphics.createGradientPattern(c2.buffer.o[c2.oPos],c2.buffer.ii[c2.iiPos],c2.buffer.ff[c2.ffPos],c2.buffer.ii[c2.iiPos + 1],c2.buffer.o[c2.oPos + 1],c2.buffer.o[c2.oPos + 2],c2.buffer.o[c2.oPos + 3],c2.buffer.f[c2.fPos]);
|
|
openfl_display__$internal_CanvasGraphics.bitmapFill = null;
|
|
openfl_display__$internal_CanvasGraphics.setSmoothing(true);
|
|
openfl_display__$internal_CanvasGraphics.hasFill = true;
|
|
break;
|
|
case 3:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.BEGIN_SHADER_FILL;
|
|
var this4 = data;
|
|
var c3 = this4;
|
|
var shaderBuffer = c3.buffer.o[c3.oPos];
|
|
if(shaderBuffer.inputCount > 0) {
|
|
openfl_display__$internal_CanvasGraphics.bitmapFill = shaderBuffer.inputs[0];
|
|
openfl_display__$internal_CanvasGraphics.context.fillStyle = openfl_display__$internal_CanvasGraphics.createBitmapFill(openfl_display__$internal_CanvasGraphics.bitmapFill,shaderBuffer.inputWrap[0] != 0,shaderBuffer.inputFilter[0] != 5);
|
|
openfl_display__$internal_CanvasGraphics.hasFill = true;
|
|
openfl_display__$internal_CanvasGraphics.pendingMatrix = null;
|
|
openfl_display__$internal_CanvasGraphics.inversePendingMatrix = null;
|
|
}
|
|
break;
|
|
case 4:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.CUBIC_CURVE_TO;
|
|
var this5 = data;
|
|
var c4 = this5;
|
|
hasPath = true;
|
|
openfl_display__$internal_CanvasGraphics.context.bezierCurveTo(c4.buffer.f[c4.fPos] - offsetX,c4.buffer.f[c4.fPos + 1] - offsetY,c4.buffer.f[c4.fPos + 2] - offsetX,c4.buffer.f[c4.fPos + 3] - offsetY,c4.buffer.f[c4.fPos + 4] - offsetX,c4.buffer.f[c4.fPos + 5] - offsetY);
|
|
break;
|
|
case 5:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.CURVE_TO;
|
|
var this6 = data;
|
|
var c5 = this6;
|
|
hasPath = true;
|
|
openfl_display__$internal_CanvasGraphics.context.quadraticCurveTo(c5.buffer.f[c5.fPos] - offsetX,c5.buffer.f[c5.fPos + 1] - offsetY,c5.buffer.f[c5.fPos + 2] - offsetX,c5.buffer.f[c5.fPos + 3] - offsetY);
|
|
break;
|
|
case 6:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.DRAW_CIRCLE;
|
|
var this7 = data;
|
|
var c6 = this7;
|
|
hasPath = true;
|
|
openfl_display__$internal_CanvasGraphics.context.moveTo(c6.buffer.f[c6.fPos] - offsetX + c6.buffer.f[c6.fPos + 2],c6.buffer.f[c6.fPos + 1] - offsetY);
|
|
openfl_display__$internal_CanvasGraphics.context.arc(c6.buffer.f[c6.fPos] - offsetX,c6.buffer.f[c6.fPos + 1] - offsetY,c6.buffer.f[c6.fPos + 2],0,Math.PI * 2,true);
|
|
break;
|
|
case 7:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.DRAW_ELLIPSE;
|
|
var this8 = data;
|
|
var c7 = this8;
|
|
hasPath = true;
|
|
x = c7.buffer.f[c7.fPos];
|
|
y = c7.buffer.f[c7.fPos + 1];
|
|
width = c7.buffer.f[c7.fPos + 2];
|
|
height = c7.buffer.f[c7.fPos + 3];
|
|
x -= offsetX;
|
|
y -= offsetY;
|
|
ox = width / 2 * kappa;
|
|
oy = height / 2 * kappa;
|
|
xe = x + width;
|
|
ye = y + height;
|
|
xm = x + width / 2;
|
|
ym = y + height / 2;
|
|
openfl_display__$internal_CanvasGraphics.context.moveTo(x,ym);
|
|
openfl_display__$internal_CanvasGraphics.context.bezierCurveTo(x,ym - oy,xm - ox,y,xm,y);
|
|
openfl_display__$internal_CanvasGraphics.context.bezierCurveTo(xm + ox,y,xe,ym - oy,xe,ym);
|
|
openfl_display__$internal_CanvasGraphics.context.bezierCurveTo(xe,ym + oy,xm + ox,ye,xm,ye);
|
|
openfl_display__$internal_CanvasGraphics.context.bezierCurveTo(xm - ox,ye,x,ym + oy,x,ym);
|
|
break;
|
|
case 8:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.DRAW_QUADS;
|
|
var this9 = data;
|
|
var c8 = this9;
|
|
var rects = c8.buffer.o[c8.oPos];
|
|
var indices = c8.buffer.o[c8.oPos + 1];
|
|
var transforms = c8.buffer.o[c8.oPos + 2];
|
|
var hasIndices = indices != null;
|
|
var transformABCD = false;
|
|
var transformXY = false;
|
|
var length = hasIndices ? indices.get_length() : Math.floor(rects.get_length() / 4);
|
|
if(length == 0) {
|
|
return;
|
|
}
|
|
if(transforms != null) {
|
|
if(transforms.get_length() >= length * 6) {
|
|
transformABCD = true;
|
|
transformXY = true;
|
|
} else if(transforms.get_length() >= length * 4) {
|
|
transformABCD = true;
|
|
} else if(transforms.get_length() >= length * 2) {
|
|
transformXY = true;
|
|
}
|
|
}
|
|
var tileRect = openfl_geom_Rectangle.__pool.get();
|
|
var tileTransform = openfl_geom_Matrix.__pool.get();
|
|
var transform = openfl_display__$internal_CanvasGraphics.graphics.__renderTransform;
|
|
var alpha = openfl_display__$internal_CanvasGraphics.worldAlpha;
|
|
var ri;
|
|
var ti;
|
|
openfl_display__$internal_CanvasGraphics.context.save();
|
|
var _g2 = 0;
|
|
var _g3 = length;
|
|
while(_g2 < _g3) {
|
|
var i = _g2++;
|
|
ri = hasIndices ? indices.get(i) * 4 : i * 4;
|
|
if(ri < 0) {
|
|
continue;
|
|
}
|
|
tileRect.setTo(rects.get(ri),rects.get(ri + 1),rects.get(ri + 2),rects.get(ri + 3));
|
|
if(tileRect.width <= 0 || tileRect.height <= 0) {
|
|
continue;
|
|
}
|
|
if(transformABCD && transformXY) {
|
|
ti = i * 6;
|
|
tileTransform.setTo(transforms.get(ti),transforms.get(ti + 1),transforms.get(ti + 2),transforms.get(ti + 3),transforms.get(ti + 4),transforms.get(ti + 5));
|
|
} else if(transformABCD) {
|
|
ti = i * 4;
|
|
tileTransform.setTo(transforms.get(ti),transforms.get(ti + 1),transforms.get(ti + 2),transforms.get(ti + 3),tileRect.x,tileRect.y);
|
|
} else if(transformXY) {
|
|
ti = i * 2;
|
|
tileTransform.tx = transforms.get(ti);
|
|
tileTransform.ty = transforms.get(ti + 1);
|
|
} else {
|
|
tileTransform.tx = tileRect.x;
|
|
tileTransform.ty = tileRect.y;
|
|
}
|
|
tileTransform.tx += positionX - offsetX;
|
|
tileTransform.ty += positionY - offsetY;
|
|
tileTransform.concat(transform);
|
|
openfl_display__$internal_CanvasGraphics.context.setTransform(tileTransform.a,tileTransform.b,tileTransform.c,tileTransform.d,tileTransform.tx,tileTransform.ty);
|
|
if(openfl_display__$internal_CanvasGraphics.bitmapFill != null) {
|
|
openfl_display__$internal_CanvasGraphics.context.drawImage(openfl_display__$internal_CanvasGraphics.bitmapFill.image.get_src(),tileRect.x,tileRect.y,tileRect.width,tileRect.height,0,0,tileRect.width,tileRect.height);
|
|
} else {
|
|
openfl_display__$internal_CanvasGraphics.context.fillRect(0,0,tileRect.width,tileRect.height);
|
|
}
|
|
}
|
|
openfl_geom_Rectangle.__pool.release(tileRect);
|
|
openfl_geom_Matrix.__pool.release(tileTransform);
|
|
openfl_display__$internal_CanvasGraphics.context.restore();
|
|
break;
|
|
case 9:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.DRAW_RECT;
|
|
var this10 = data;
|
|
var c9 = this10;
|
|
optimizationUsed = false;
|
|
if(openfl_display__$internal_CanvasGraphics.bitmapFill != null && !openfl_display__$internal_CanvasGraphics.hitTesting) {
|
|
st = 0;
|
|
sr = 0;
|
|
sb = 0;
|
|
sl = 0;
|
|
canOptimizeMatrix = true;
|
|
if(openfl_display__$internal_CanvasGraphics.pendingMatrix != null) {
|
|
if(openfl_display__$internal_CanvasGraphics.pendingMatrix.b != 0 || openfl_display__$internal_CanvasGraphics.pendingMatrix.c != 0) {
|
|
canOptimizeMatrix = false;
|
|
} else {
|
|
if(stl == null) {
|
|
stl = openfl_geom_Point.__pool.get();
|
|
}
|
|
if(sbr == null) {
|
|
sbr = openfl_geom_Point.__pool.get();
|
|
}
|
|
stl.setTo(c9.buffer.f[c9.fPos],c9.buffer.f[c9.fPos + 1]);
|
|
var _this = openfl_display__$internal_CanvasGraphics.inversePendingMatrix;
|
|
var px = stl.x;
|
|
var py = stl.y;
|
|
stl.x = px * _this.a + py * _this.c + _this.tx;
|
|
stl.y = px * _this.b + py * _this.d + _this.ty;
|
|
sbr.setTo(c9.buffer.f[c9.fPos] + c9.buffer.f[c9.fPos + 2],c9.buffer.f[c9.fPos + 1] + c9.buffer.f[c9.fPos + 3]);
|
|
var _this1 = openfl_display__$internal_CanvasGraphics.inversePendingMatrix;
|
|
var px1 = sbr.x;
|
|
var py1 = sbr.y;
|
|
sbr.x = px1 * _this1.a + py1 * _this1.c + _this1.tx;
|
|
sbr.y = px1 * _this1.b + py1 * _this1.d + _this1.ty;
|
|
st = stl.y;
|
|
sl = stl.x;
|
|
sb = sbr.y;
|
|
sr = sbr.x;
|
|
}
|
|
} else {
|
|
st = c9.buffer.f[c9.fPos + 1];
|
|
sl = c9.buffer.f[c9.fPos];
|
|
sb = c9.buffer.f[c9.fPos + 1] + c9.buffer.f[c9.fPos + 3];
|
|
sr = c9.buffer.f[c9.fPos] + c9.buffer.f[c9.fPos + 2];
|
|
}
|
|
if(canOptimizeMatrix && st >= 0 && sl >= 0 && sr <= openfl_display__$internal_CanvasGraphics.bitmapFill.width && sb <= openfl_display__$internal_CanvasGraphics.bitmapFill.height) {
|
|
optimizationUsed = true;
|
|
if(!openfl_display__$internal_CanvasGraphics.hitTesting) {
|
|
openfl_display__$internal_CanvasGraphics.context.drawImage(openfl_display__$internal_CanvasGraphics.bitmapFill.image.get_src(),sl,st,sr - sl,sb - st,c9.buffer.f[c9.fPos] - offsetX,c9.buffer.f[c9.fPos + 1] - offsetY,c9.buffer.f[c9.fPos + 2],c9.buffer.f[c9.fPos + 3]);
|
|
}
|
|
}
|
|
}
|
|
if(!optimizationUsed) {
|
|
hasPath = true;
|
|
openfl_display__$internal_CanvasGraphics.context.rect(c9.buffer.f[c9.fPos] - offsetX,c9.buffer.f[c9.fPos + 1] - offsetY,c9.buffer.f[c9.fPos + 2],c9.buffer.f[c9.fPos + 3]);
|
|
}
|
|
break;
|
|
case 10:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.DRAW_ROUND_RECT;
|
|
var this11 = data;
|
|
var c10 = this11;
|
|
hasPath = true;
|
|
openfl_display__$internal_CanvasGraphics.drawRoundRect(c10.buffer.f[c10.fPos] - offsetX,c10.buffer.f[c10.fPos + 1] - offsetY,c10.buffer.f[c10.fPos + 2],c10.buffer.f[c10.fPos + 3],c10.buffer.f[c10.fPos + 4],c10.buffer.o[c10.oPos]);
|
|
break;
|
|
case 12:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.DRAW_TRIANGLES;
|
|
var this12 = data;
|
|
var c11 = this12;
|
|
var v = c11.buffer.o[c11.oPos];
|
|
var ind = c11.buffer.o[c11.oPos + 1];
|
|
var uvt = c11.buffer.o[c11.oPos + 2];
|
|
var pattern = null;
|
|
var colorFill = openfl_display__$internal_CanvasGraphics.bitmapFill == null;
|
|
if(colorFill && uvt != null) {
|
|
break _hx_loop1;
|
|
}
|
|
if(!colorFill) {
|
|
if(uvt == null) {
|
|
uvt = openfl_Vector.toFloatVector(null);
|
|
var _g4 = 0;
|
|
var _g5 = v.get_length() / 2 | 0;
|
|
while(_g4 < _g5) {
|
|
var i1 = _g4++;
|
|
uvt.push(v.get(i1 * 2) - offsetX / openfl_display__$internal_CanvasGraphics.bitmapFill.width);
|
|
uvt.push(v.get(i1 * 2 + 1) - offsetY / openfl_display__$internal_CanvasGraphics.bitmapFill.height);
|
|
}
|
|
}
|
|
var skipT = uvt.get_length() != v.get_length();
|
|
var normalizedUVT = openfl_display__$internal_CanvasGraphics.normalizeUVT(uvt,skipT);
|
|
var maxUVT = normalizedUVT.max;
|
|
uvt = normalizedUVT.uvt;
|
|
if(maxUVT > 1) {
|
|
pattern = openfl_display__$internal_CanvasGraphics.createTempPatternCanvas(openfl_display__$internal_CanvasGraphics.bitmapFill,openfl_display__$internal_CanvasGraphics.bitmapRepeat,openfl_display__$internal_CanvasGraphics.bounds.width | 0,openfl_display__$internal_CanvasGraphics.bounds.height | 0);
|
|
} else {
|
|
pattern = openfl_display__$internal_CanvasGraphics.createTempPatternCanvas(openfl_display__$internal_CanvasGraphics.bitmapFill,openfl_display__$internal_CanvasGraphics.bitmapRepeat,openfl_display__$internal_CanvasGraphics.bitmapFill.width,openfl_display__$internal_CanvasGraphics.bitmapFill.height);
|
|
}
|
|
}
|
|
var i2 = 0;
|
|
var l = ind.get_length();
|
|
var a_;
|
|
var b_;
|
|
var c_;
|
|
var iax;
|
|
var iay;
|
|
var ibx;
|
|
var iby;
|
|
var icx;
|
|
var icy;
|
|
var x1;
|
|
var y1;
|
|
var x2;
|
|
var y2;
|
|
var x3;
|
|
var y3;
|
|
var uvx1;
|
|
var uvy1;
|
|
var uvx2;
|
|
var uvy2;
|
|
var uvx3;
|
|
var uvy3;
|
|
var denom;
|
|
var t1;
|
|
var t2;
|
|
var t3;
|
|
var t4;
|
|
var dx;
|
|
var dy;
|
|
while(i2 < l) {
|
|
a_ = i2;
|
|
b_ = i2 + 1;
|
|
c_ = i2 + 2;
|
|
iax = ind.get(a_) * 2;
|
|
iay = ind.get(a_) * 2 + 1;
|
|
ibx = ind.get(b_) * 2;
|
|
iby = ind.get(b_) * 2 + 1;
|
|
icx = ind.get(c_) * 2;
|
|
icy = ind.get(c_) * 2 + 1;
|
|
x1 = v.get(iax) - offsetX;
|
|
y1 = v.get(iay) - offsetY;
|
|
x2 = v.get(ibx) - offsetX;
|
|
y2 = v.get(iby) - offsetY;
|
|
x3 = v.get(icx) - offsetX;
|
|
y3 = v.get(icy) - offsetY;
|
|
switch(c11.buffer.o[c11.oPos + 3]) {
|
|
case 0:
|
|
if((x2 - x1) * (y3 - y1) - (y2 - y1) * (x3 - x1) < 0) {
|
|
i2 += 3;
|
|
continue;
|
|
}
|
|
break;
|
|
case 2:
|
|
if(!((x2 - x1) * (y3 - y1) - (y2 - y1) * (x3 - x1) < 0)) {
|
|
i2 += 3;
|
|
continue;
|
|
}
|
|
break;
|
|
default:
|
|
}
|
|
if(colorFill) {
|
|
openfl_display__$internal_CanvasGraphics.context.beginPath();
|
|
openfl_display__$internal_CanvasGraphics.context.moveTo(x1,y1);
|
|
openfl_display__$internal_CanvasGraphics.context.lineTo(x2,y2);
|
|
openfl_display__$internal_CanvasGraphics.context.lineTo(x3,y3);
|
|
openfl_display__$internal_CanvasGraphics.context.closePath();
|
|
if(!openfl_display__$internal_CanvasGraphics.hitTesting) {
|
|
openfl_display__$internal_CanvasGraphics.context.fill(openfl_display__$internal_CanvasGraphics.windingRule);
|
|
}
|
|
i2 += 3;
|
|
continue;
|
|
}
|
|
uvx1 = uvt.get(iax) * pattern.width;
|
|
uvx2 = uvt.get(ibx) * pattern.width;
|
|
uvx3 = uvt.get(icx) * pattern.width;
|
|
uvy1 = uvt.get(iay) * pattern.height;
|
|
uvy2 = uvt.get(iby) * pattern.height;
|
|
uvy3 = uvt.get(icy) * pattern.height;
|
|
denom = uvx1 * (uvy3 - uvy2) - uvx2 * uvy3 + uvx3 * uvy2 + (uvx2 - uvx3) * uvy1;
|
|
if(denom == 0) {
|
|
i2 += 3;
|
|
openfl_display__$internal_CanvasGraphics.context.restore();
|
|
continue;
|
|
}
|
|
openfl_display__$internal_CanvasGraphics.context.save();
|
|
openfl_display__$internal_CanvasGraphics.context.beginPath();
|
|
openfl_display__$internal_CanvasGraphics.context.moveTo(x1,y1);
|
|
openfl_display__$internal_CanvasGraphics.context.lineTo(x2,y2);
|
|
openfl_display__$internal_CanvasGraphics.context.lineTo(x3,y3);
|
|
openfl_display__$internal_CanvasGraphics.context.closePath();
|
|
openfl_display__$internal_CanvasGraphics.context.clip();
|
|
t1 = -(uvy1 * (x3 - x2) - uvy2 * x3 + uvy3 * x2 + (uvy2 - uvy3) * x1) / denom;
|
|
t2 = (uvy2 * y3 + uvy1 * (y2 - y3) - uvy3 * y2 + (uvy3 - uvy2) * y1) / denom;
|
|
t3 = (uvx1 * (x3 - x2) - uvx2 * x3 + uvx3 * x2 + (uvx2 - uvx3) * x1) / denom;
|
|
t4 = -(uvx2 * y3 + uvx1 * (y2 - y3) - uvx3 * y2 + (uvx3 - uvx2) * y1) / denom;
|
|
dx = (uvx1 * (uvy3 * x2 - uvy2 * x3) + uvy1 * (uvx2 * x3 - uvx3 * x2) + (uvx3 * uvy2 - uvx2 * uvy3) * x1) / denom;
|
|
dy = (uvx1 * (uvy3 * y2 - uvy2 * y3) + uvy1 * (uvx2 * y3 - uvx3 * y2) + (uvx3 * uvy2 - uvx2 * uvy3) * y1) / denom;
|
|
openfl_display__$internal_CanvasGraphics.context.transform(t1,t2,t3,t4,dx,dy);
|
|
openfl_display__$internal_CanvasGraphics.context.drawImage(pattern,0,0,pattern.width,pattern.height);
|
|
openfl_display__$internal_CanvasGraphics.context.restore();
|
|
i2 += 3;
|
|
}
|
|
break;
|
|
case 14:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.LINE_BITMAP_STYLE;
|
|
var this13 = data;
|
|
var c12 = this13;
|
|
if(stroke && openfl_display__$internal_CanvasGraphics.hasStroke) {
|
|
openfl_display__$internal_CanvasGraphics.closePath();
|
|
}
|
|
openfl_display__$internal_CanvasGraphics.context.moveTo(positionX - offsetX,positionY - offsetY);
|
|
openfl_display__$internal_CanvasGraphics.context.strokeStyle = openfl_display__$internal_CanvasGraphics.createBitmapFill(c12.buffer.o[c12.oPos],c12.buffer.b[c12.bPos],c12.buffer.b[c12.bPos + 1]);
|
|
openfl_display__$internal_CanvasGraphics.hasStroke = true;
|
|
break;
|
|
case 15:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.LINE_GRADIENT_STYLE;
|
|
var this14 = data;
|
|
var c13 = this14;
|
|
if(stroke && openfl_display__$internal_CanvasGraphics.hasStroke) {
|
|
openfl_display__$internal_CanvasGraphics.closePath();
|
|
}
|
|
openfl_display__$internal_CanvasGraphics.context.moveTo(positionX - offsetX,positionY - offsetY);
|
|
openfl_display__$internal_CanvasGraphics.context.strokeStyle = openfl_display__$internal_CanvasGraphics.createGradientPattern(c13.buffer.o[c13.oPos],c13.buffer.ii[c13.iiPos],c13.buffer.ff[c13.ffPos],c13.buffer.ii[c13.iiPos + 1],c13.buffer.o[c13.oPos + 1],c13.buffer.o[c13.oPos + 2],c13.buffer.o[c13.oPos + 3],c13.buffer.f[c13.fPos]);
|
|
openfl_display__$internal_CanvasGraphics.setSmoothing(true);
|
|
openfl_display__$internal_CanvasGraphics.hasStroke = true;
|
|
break;
|
|
case 16:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.LINE_STYLE;
|
|
var this15 = data;
|
|
var c14 = this15;
|
|
if(stroke && openfl_display__$internal_CanvasGraphics.hasStroke) {
|
|
openfl_display__$internal_CanvasGraphics.closePath(true);
|
|
}
|
|
openfl_display__$internal_CanvasGraphics.context.moveTo(positionX - offsetX,positionY - offsetY);
|
|
if(c14.buffer.o[c14.oPos] == null) {
|
|
openfl_display__$internal_CanvasGraphics.hasStroke = false;
|
|
} else {
|
|
openfl_display__$internal_CanvasGraphics.context.lineWidth = c14.buffer.o[c14.oPos] > 0 ? c14.buffer.o[c14.oPos] : 1;
|
|
var tmp1 = c14.buffer.o[c14.oPos + 3] == null ? "round" : openfl_display_JointStyle.toString(c14.buffer.o[c14.oPos + 3]).toLowerCase();
|
|
openfl_display__$internal_CanvasGraphics.context.lineJoin = tmp1;
|
|
var tmp2 = c14.buffer.o[c14.oPos + 2] == null ? "round" : c14.buffer.o[c14.oPos + 2] == 0 ? "butt" : openfl_display_CapsStyle.toString(c14.buffer.o[c14.oPos + 2]).toLowerCase();
|
|
openfl_display__$internal_CanvasGraphics.context.lineCap = tmp2;
|
|
openfl_display__$internal_CanvasGraphics.context.miterLimit = c14.buffer.f[c14.fPos + 1];
|
|
if(c14.buffer.f[c14.fPos] == 1) {
|
|
var tmp3 = StringTools.hex(c14.buffer.i[c14.iPos] & 16777215,6);
|
|
openfl_display__$internal_CanvasGraphics.context.strokeStyle = "#" + tmp3;
|
|
} else {
|
|
r = (c14.buffer.i[c14.iPos] & 16711680) >>> 16;
|
|
g = (c14.buffer.i[c14.iPos] & 65280) >>> 8;
|
|
b = c14.buffer.i[c14.iPos] & 255;
|
|
openfl_display__$internal_CanvasGraphics.context.strokeStyle = "rgba(" + r + ", " + g + ", " + b + ", " + c14.buffer.f[c14.fPos] + ")";
|
|
}
|
|
openfl_display__$internal_CanvasGraphics.setSmoothing(true);
|
|
openfl_display__$internal_CanvasGraphics.hasStroke = true;
|
|
}
|
|
break;
|
|
case 17:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.LINE_TO;
|
|
var this16 = data;
|
|
var c15 = this16;
|
|
hasPath = true;
|
|
openfl_display__$internal_CanvasGraphics.context.lineTo(c15.buffer.f[c15.fPos] - offsetX,c15.buffer.f[c15.fPos + 1] - offsetY);
|
|
positionX = c15.buffer.f[c15.fPos];
|
|
positionY = c15.buffer.f[c15.fPos + 1];
|
|
if(positionX == startX && positionY == startY) {
|
|
closeGap = true;
|
|
}
|
|
break;
|
|
case 18:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.MOVE_TO;
|
|
var this17 = data;
|
|
var c16 = this17;
|
|
openfl_display__$internal_CanvasGraphics.context.moveTo(c16.buffer.f[c16.fPos] - offsetX,c16.buffer.f[c16.fPos + 1] - offsetY);
|
|
positionX = c16.buffer.f[c16.fPos];
|
|
positionY = c16.buffer.f[c16.fPos + 1];
|
|
if(setStart && c16.buffer.f[c16.fPos] != startX && c16.buffer.f[c16.fPos + 1] != startY) {
|
|
closeGap = true;
|
|
}
|
|
startX = c16.buffer.f[c16.fPos];
|
|
startY = c16.buffer.f[c16.fPos + 1];
|
|
setStart = true;
|
|
break;
|
|
case 21:
|
|
openfl_display__$internal_CanvasGraphics.windingRule = "evenodd";
|
|
break;
|
|
case 22:
|
|
openfl_display__$internal_CanvasGraphics.windingRule = "nonzero";
|
|
break;
|
|
default:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = type;
|
|
}
|
|
}
|
|
if(stl != null) {
|
|
openfl_geom_Point.__pool.release(stl);
|
|
}
|
|
if(sbr != null) {
|
|
openfl_geom_Point.__pool.release(sbr);
|
|
}
|
|
data.destroy();
|
|
if(hasPath) {
|
|
if(stroke && openfl_display__$internal_CanvasGraphics.hasStroke) {
|
|
if(openfl_display__$internal_CanvasGraphics.hasFill && closeGap) {
|
|
openfl_display__$internal_CanvasGraphics.context.lineTo(startX - offsetX,startY - offsetY);
|
|
openfl_display__$internal_CanvasGraphics.closePath(false);
|
|
} else if(closeGap && positionX == startX && positionY == startY) {
|
|
openfl_display__$internal_CanvasGraphics.closePath(false);
|
|
}
|
|
if(!openfl_display__$internal_CanvasGraphics.hitTesting) {
|
|
openfl_display__$internal_CanvasGraphics.context.stroke();
|
|
}
|
|
}
|
|
if(!stroke) {
|
|
if(openfl_display__$internal_CanvasGraphics.hasFill || openfl_display__$internal_CanvasGraphics.bitmapFill != null) {
|
|
openfl_display__$internal_CanvasGraphics.context.translate(-openfl_display__$internal_CanvasGraphics.bounds.x,-openfl_display__$internal_CanvasGraphics.bounds.y);
|
|
if(openfl_display__$internal_CanvasGraphics.pendingMatrix != null) {
|
|
openfl_display__$internal_CanvasGraphics.context.transform(openfl_display__$internal_CanvasGraphics.pendingMatrix.a,openfl_display__$internal_CanvasGraphics.pendingMatrix.b,openfl_display__$internal_CanvasGraphics.pendingMatrix.c,openfl_display__$internal_CanvasGraphics.pendingMatrix.d,openfl_display__$internal_CanvasGraphics.pendingMatrix.tx,openfl_display__$internal_CanvasGraphics.pendingMatrix.ty);
|
|
if(!openfl_display__$internal_CanvasGraphics.hitTesting) {
|
|
openfl_display__$internal_CanvasGraphics.context.fill(openfl_display__$internal_CanvasGraphics.windingRule);
|
|
}
|
|
openfl_display__$internal_CanvasGraphics.context.transform(openfl_display__$internal_CanvasGraphics.inversePendingMatrix.a,openfl_display__$internal_CanvasGraphics.inversePendingMatrix.b,openfl_display__$internal_CanvasGraphics.inversePendingMatrix.c,openfl_display__$internal_CanvasGraphics.inversePendingMatrix.d,openfl_display__$internal_CanvasGraphics.inversePendingMatrix.tx,openfl_display__$internal_CanvasGraphics.inversePendingMatrix.ty);
|
|
} else if(!openfl_display__$internal_CanvasGraphics.hitTesting) {
|
|
openfl_display__$internal_CanvasGraphics.context.fill(openfl_display__$internal_CanvasGraphics.windingRule);
|
|
}
|
|
openfl_display__$internal_CanvasGraphics.context.translate(openfl_display__$internal_CanvasGraphics.bounds.x,openfl_display__$internal_CanvasGraphics.bounds.y);
|
|
openfl_display__$internal_CanvasGraphics.context.closePath();
|
|
}
|
|
}
|
|
}
|
|
};
|
|
openfl_display__$internal_CanvasGraphics.render = function(graphics,renderer) {
|
|
graphics.__update(renderer.__worldTransform);
|
|
if(graphics.__softwareDirty) {
|
|
openfl_display__$internal_CanvasGraphics.hitTesting = false;
|
|
openfl_display__$internal_CanvasGraphics.graphics = graphics;
|
|
openfl_display__$internal_CanvasGraphics.allowSmoothing = renderer.__allowSmoothing;
|
|
openfl_display__$internal_CanvasGraphics.worldAlpha = renderer.__getAlpha(graphics.__owner.__worldAlpha);
|
|
openfl_display__$internal_CanvasGraphics.bounds = graphics.__bounds;
|
|
var width = graphics.__width;
|
|
var height = graphics.__height;
|
|
if(!graphics.__visible || graphics.__commands.get_length() == 0 || openfl_display__$internal_CanvasGraphics.bounds == null || width < 1 || height < 1) {
|
|
graphics.__canvas = null;
|
|
graphics.__context = null;
|
|
graphics.__bitmap = null;
|
|
} else {
|
|
if(graphics.__canvas == null) {
|
|
graphics.__canvas = window.document.createElement("canvas");
|
|
graphics.__context = graphics.__canvas.getContext("2d");
|
|
}
|
|
openfl_display__$internal_CanvasGraphics.context = graphics.__context;
|
|
var transform = graphics.__renderTransform;
|
|
var canvas = graphics.__canvas;
|
|
var scale = renderer.pixelRatio;
|
|
var scaledWidth = width * scale | 0;
|
|
var scaledHeight = height * scale | 0;
|
|
renderer.__setBlendModeContext(openfl_display__$internal_CanvasGraphics.context,10);
|
|
if(renderer.__isDOM) {
|
|
if(canvas.width == scaledWidth && canvas.height == scaledHeight) {
|
|
openfl_display__$internal_CanvasGraphics.context.clearRect(0,0,scaledWidth,scaledHeight);
|
|
} else {
|
|
canvas.width = scaledWidth;
|
|
canvas.height = scaledHeight;
|
|
canvas.style.width = width + "px";
|
|
canvas.style.height = height + "px";
|
|
}
|
|
var transform1 = graphics.__renderTransform;
|
|
openfl_display__$internal_CanvasGraphics.context.setTransform(transform1.a * scale,transform1.b * scale,transform1.c * scale,transform1.d * scale,transform1.tx * scale,transform1.ty * scale);
|
|
} else {
|
|
if(canvas.width == scaledWidth && canvas.height == scaledHeight) {
|
|
openfl_display__$internal_CanvasGraphics.context.closePath();
|
|
openfl_display__$internal_CanvasGraphics.context.setTransform(1,0,0,1,0,0);
|
|
openfl_display__$internal_CanvasGraphics.context.clearRect(0,0,scaledWidth,scaledHeight);
|
|
} else {
|
|
canvas.width = width;
|
|
canvas.height = height;
|
|
}
|
|
openfl_display__$internal_CanvasGraphics.context.setTransform(transform.a,transform.b,transform.c,transform.d,transform.tx,transform.ty);
|
|
}
|
|
openfl_display__$internal_CanvasGraphics.fillCommands.clear();
|
|
openfl_display__$internal_CanvasGraphics.strokeCommands.clear();
|
|
openfl_display__$internal_CanvasGraphics.hasFill = false;
|
|
openfl_display__$internal_CanvasGraphics.hasStroke = false;
|
|
openfl_display__$internal_CanvasGraphics.bitmapFill = null;
|
|
openfl_display__$internal_CanvasGraphics.bitmapRepeat = false;
|
|
var hasLineStyle = false;
|
|
var initStrokeX = 0.0;
|
|
var initStrokeY = 0.0;
|
|
openfl_display__$internal_CanvasGraphics.windingRule = "evenodd";
|
|
var data = new openfl_display__$internal_DrawCommandReader(graphics.__commands);
|
|
var _g = 0;
|
|
var _g1 = graphics.__commands.types;
|
|
while(_g < _g1.length) {
|
|
var type = _g1[_g];
|
|
++_g;
|
|
switch(type._hx_index) {
|
|
case 0:case 1:case 2:case 3:
|
|
openfl_display__$internal_CanvasGraphics.endFill();
|
|
openfl_display__$internal_CanvasGraphics.endStroke();
|
|
if(type == openfl_display__$internal_DrawCommandType.BEGIN_BITMAP_FILL) {
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.BEGIN_BITMAP_FILL;
|
|
var this1 = data;
|
|
var c = this1;
|
|
openfl_display__$internal_CanvasGraphics.fillCommands.beginBitmapFill(c.buffer.o[c.oPos],c.buffer.o[c.oPos + 1],c.buffer.b[c.bPos],c.buffer.b[c.bPos + 1]);
|
|
openfl_display__$internal_CanvasGraphics.strokeCommands.beginBitmapFill(c.buffer.o[c.oPos],c.buffer.o[c.oPos + 1],c.buffer.b[c.bPos],c.buffer.b[c.bPos + 1]);
|
|
} else if(type == openfl_display__$internal_DrawCommandType.BEGIN_GRADIENT_FILL) {
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.BEGIN_GRADIENT_FILL;
|
|
var this2 = data;
|
|
var c1 = this2;
|
|
openfl_display__$internal_CanvasGraphics.fillCommands.beginGradientFill(c1.buffer.o[c1.oPos],c1.buffer.ii[c1.iiPos],c1.buffer.ff[c1.ffPos],c1.buffer.ii[c1.iiPos + 1],c1.buffer.o[c1.oPos + 1],c1.buffer.o[c1.oPos + 2],c1.buffer.o[c1.oPos + 3],c1.buffer.f[c1.fPos]);
|
|
openfl_display__$internal_CanvasGraphics.strokeCommands.beginGradientFill(c1.buffer.o[c1.oPos],c1.buffer.ii[c1.iiPos],c1.buffer.ff[c1.ffPos],c1.buffer.ii[c1.iiPos + 1],c1.buffer.o[c1.oPos + 1],c1.buffer.o[c1.oPos + 2],c1.buffer.o[c1.oPos + 3],c1.buffer.f[c1.fPos]);
|
|
} else if(type == openfl_display__$internal_DrawCommandType.BEGIN_SHADER_FILL) {
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.BEGIN_SHADER_FILL;
|
|
var this3 = data;
|
|
var c2 = this3;
|
|
openfl_display__$internal_CanvasGraphics.fillCommands.beginShaderFill(c2.buffer.o[c2.oPos]);
|
|
openfl_display__$internal_CanvasGraphics.strokeCommands.beginShaderFill(c2.buffer.o[c2.oPos]);
|
|
} else {
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.BEGIN_FILL;
|
|
var this4 = data;
|
|
var c3 = this4;
|
|
openfl_display__$internal_CanvasGraphics.fillCommands.beginFill(c3.buffer.i[c3.iPos],c3.buffer.f[c3.fPos]);
|
|
openfl_display__$internal_CanvasGraphics.strokeCommands.beginFill(c3.buffer.i[c3.iPos],c3.buffer.f[c3.fPos]);
|
|
}
|
|
break;
|
|
case 4:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.CUBIC_CURVE_TO;
|
|
var this5 = data;
|
|
var c4 = this5;
|
|
openfl_display__$internal_CanvasGraphics.fillCommands.cubicCurveTo(c4.buffer.f[c4.fPos],c4.buffer.f[c4.fPos + 1],c4.buffer.f[c4.fPos + 2],c4.buffer.f[c4.fPos + 3],c4.buffer.f[c4.fPos + 4],c4.buffer.f[c4.fPos + 5]);
|
|
if(hasLineStyle) {
|
|
openfl_display__$internal_CanvasGraphics.strokeCommands.cubicCurveTo(c4.buffer.f[c4.fPos],c4.buffer.f[c4.fPos + 1],c4.buffer.f[c4.fPos + 2],c4.buffer.f[c4.fPos + 3],c4.buffer.f[c4.fPos + 4],c4.buffer.f[c4.fPos + 5]);
|
|
} else {
|
|
initStrokeX = c4.buffer.f[c4.fPos + 4];
|
|
initStrokeY = c4.buffer.f[c4.fPos + 5];
|
|
}
|
|
break;
|
|
case 5:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.CURVE_TO;
|
|
var this6 = data;
|
|
var c5 = this6;
|
|
openfl_display__$internal_CanvasGraphics.fillCommands.curveTo(c5.buffer.f[c5.fPos],c5.buffer.f[c5.fPos + 1],c5.buffer.f[c5.fPos + 2],c5.buffer.f[c5.fPos + 3]);
|
|
if(hasLineStyle) {
|
|
openfl_display__$internal_CanvasGraphics.strokeCommands.curveTo(c5.buffer.f[c5.fPos],c5.buffer.f[c5.fPos + 1],c5.buffer.f[c5.fPos + 2],c5.buffer.f[c5.fPos + 3]);
|
|
} else {
|
|
initStrokeX = c5.buffer.f[c5.fPos + 2];
|
|
initStrokeY = c5.buffer.f[c5.fPos + 3];
|
|
}
|
|
break;
|
|
case 6:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.DRAW_CIRCLE;
|
|
var this7 = data;
|
|
var c6 = this7;
|
|
openfl_display__$internal_CanvasGraphics.fillCommands.drawCircle(c6.buffer.f[c6.fPos],c6.buffer.f[c6.fPos + 1],c6.buffer.f[c6.fPos + 2]);
|
|
if(hasLineStyle) {
|
|
openfl_display__$internal_CanvasGraphics.strokeCommands.drawCircle(c6.buffer.f[c6.fPos],c6.buffer.f[c6.fPos + 1],c6.buffer.f[c6.fPos + 2]);
|
|
}
|
|
break;
|
|
case 7:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.DRAW_ELLIPSE;
|
|
var this8 = data;
|
|
var c7 = this8;
|
|
openfl_display__$internal_CanvasGraphics.fillCommands.drawEllipse(c7.buffer.f[c7.fPos],c7.buffer.f[c7.fPos + 1],c7.buffer.f[c7.fPos + 2],c7.buffer.f[c7.fPos + 3]);
|
|
if(hasLineStyle) {
|
|
openfl_display__$internal_CanvasGraphics.strokeCommands.drawEllipse(c7.buffer.f[c7.fPos],c7.buffer.f[c7.fPos + 1],c7.buffer.f[c7.fPos + 2],c7.buffer.f[c7.fPos + 3]);
|
|
}
|
|
break;
|
|
case 8:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.DRAW_QUADS;
|
|
var this9 = data;
|
|
var c8 = this9;
|
|
openfl_display__$internal_CanvasGraphics.fillCommands.drawQuads(c8.buffer.o[c8.oPos],c8.buffer.o[c8.oPos + 1],c8.buffer.o[c8.oPos + 2]);
|
|
break;
|
|
case 9:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.DRAW_RECT;
|
|
var this10 = data;
|
|
var c9 = this10;
|
|
openfl_display__$internal_CanvasGraphics.fillCommands.drawRect(c9.buffer.f[c9.fPos],c9.buffer.f[c9.fPos + 1],c9.buffer.f[c9.fPos + 2],c9.buffer.f[c9.fPos + 3]);
|
|
if(hasLineStyle) {
|
|
openfl_display__$internal_CanvasGraphics.strokeCommands.drawRect(c9.buffer.f[c9.fPos],c9.buffer.f[c9.fPos + 1],c9.buffer.f[c9.fPos + 2],c9.buffer.f[c9.fPos + 3]);
|
|
}
|
|
break;
|
|
case 10:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.DRAW_ROUND_RECT;
|
|
var this11 = data;
|
|
var c10 = this11;
|
|
openfl_display__$internal_CanvasGraphics.fillCommands.drawRoundRect(c10.buffer.f[c10.fPos],c10.buffer.f[c10.fPos + 1],c10.buffer.f[c10.fPos + 2],c10.buffer.f[c10.fPos + 3],c10.buffer.f[c10.fPos + 4],c10.buffer.o[c10.oPos]);
|
|
if(hasLineStyle) {
|
|
openfl_display__$internal_CanvasGraphics.strokeCommands.drawRoundRect(c10.buffer.f[c10.fPos],c10.buffer.f[c10.fPos + 1],c10.buffer.f[c10.fPos + 2],c10.buffer.f[c10.fPos + 3],c10.buffer.f[c10.fPos + 4],c10.buffer.o[c10.oPos]);
|
|
}
|
|
break;
|
|
case 12:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.DRAW_TRIANGLES;
|
|
var this12 = data;
|
|
var c11 = this12;
|
|
openfl_display__$internal_CanvasGraphics.fillCommands.drawTriangles(c11.buffer.o[c11.oPos],c11.buffer.o[c11.oPos + 1],c11.buffer.o[c11.oPos + 2],c11.buffer.o[c11.oPos + 3]);
|
|
break;
|
|
case 13:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.END_FILL;
|
|
var this13 = data;
|
|
openfl_display__$internal_CanvasGraphics.endFill();
|
|
openfl_display__$internal_CanvasGraphics.endStroke();
|
|
openfl_display__$internal_CanvasGraphics.hasFill = false;
|
|
hasLineStyle = false;
|
|
openfl_display__$internal_CanvasGraphics.bitmapFill = null;
|
|
initStrokeX = 0;
|
|
initStrokeY = 0;
|
|
break;
|
|
case 14:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.LINE_BITMAP_STYLE;
|
|
var this14 = data;
|
|
var c12 = this14;
|
|
if(!hasLineStyle && (initStrokeX != 0 || initStrokeY != 0)) {
|
|
openfl_display__$internal_CanvasGraphics.strokeCommands.moveTo(initStrokeX,initStrokeY);
|
|
initStrokeX = 0;
|
|
initStrokeY = 0;
|
|
}
|
|
hasLineStyle = true;
|
|
openfl_display__$internal_CanvasGraphics.strokeCommands.lineBitmapStyle(c12.buffer.o[c12.oPos],c12.buffer.o[c12.oPos + 1],c12.buffer.b[c12.bPos],c12.buffer.b[c12.bPos + 1]);
|
|
break;
|
|
case 15:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.LINE_GRADIENT_STYLE;
|
|
var this15 = data;
|
|
var c13 = this15;
|
|
if(!hasLineStyle && (initStrokeX != 0 || initStrokeY != 0)) {
|
|
openfl_display__$internal_CanvasGraphics.strokeCommands.moveTo(initStrokeX,initStrokeY);
|
|
initStrokeX = 0;
|
|
initStrokeY = 0;
|
|
}
|
|
hasLineStyle = true;
|
|
openfl_display__$internal_CanvasGraphics.strokeCommands.lineGradientStyle(c13.buffer.o[c13.oPos],c13.buffer.ii[c13.iiPos],c13.buffer.ff[c13.ffPos],c13.buffer.ii[c13.iiPos + 1],c13.buffer.o[c13.oPos + 1],c13.buffer.o[c13.oPos + 2],c13.buffer.o[c13.oPos + 3],c13.buffer.f[c13.fPos]);
|
|
break;
|
|
case 16:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.LINE_STYLE;
|
|
var this16 = data;
|
|
var c14 = this16;
|
|
if(!hasLineStyle && c14.buffer.o[c14.oPos] != null) {
|
|
if(initStrokeX != 0 || initStrokeY != 0) {
|
|
openfl_display__$internal_CanvasGraphics.strokeCommands.moveTo(initStrokeX,initStrokeY);
|
|
initStrokeX = 0;
|
|
initStrokeY = 0;
|
|
}
|
|
}
|
|
hasLineStyle = c14.buffer.o[c14.oPos] != null;
|
|
openfl_display__$internal_CanvasGraphics.strokeCommands.lineStyle(c14.buffer.o[c14.oPos],c14.buffer.i[c14.iPos],c14.buffer.f[c14.fPos],c14.buffer.b[c14.bPos],c14.buffer.o[c14.oPos + 1],c14.buffer.o[c14.oPos + 2],c14.buffer.o[c14.oPos + 3],c14.buffer.f[c14.fPos + 1]);
|
|
break;
|
|
case 17:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.LINE_TO;
|
|
var this17 = data;
|
|
var c15 = this17;
|
|
openfl_display__$internal_CanvasGraphics.fillCommands.lineTo(c15.buffer.f[c15.fPos],c15.buffer.f[c15.fPos + 1]);
|
|
if(hasLineStyle) {
|
|
openfl_display__$internal_CanvasGraphics.strokeCommands.lineTo(c15.buffer.f[c15.fPos],c15.buffer.f[c15.fPos + 1]);
|
|
} else {
|
|
initStrokeX = c15.buffer.f[c15.fPos];
|
|
initStrokeY = c15.buffer.f[c15.fPos + 1];
|
|
}
|
|
break;
|
|
case 18:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.MOVE_TO;
|
|
var this18 = data;
|
|
var c16 = this18;
|
|
openfl_display__$internal_CanvasGraphics.fillCommands.moveTo(c16.buffer.f[c16.fPos],c16.buffer.f[c16.fPos + 1]);
|
|
if(hasLineStyle) {
|
|
openfl_display__$internal_CanvasGraphics.strokeCommands.moveTo(c16.buffer.f[c16.fPos],c16.buffer.f[c16.fPos + 1]);
|
|
} else {
|
|
initStrokeX = c16.buffer.f[c16.fPos];
|
|
initStrokeY = c16.buffer.f[c16.fPos + 1];
|
|
}
|
|
break;
|
|
case 19:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.OVERRIDE_BLEND_MODE;
|
|
var this19 = data;
|
|
var c17 = this19;
|
|
renderer.__setBlendModeContext(openfl_display__$internal_CanvasGraphics.context,c17.buffer.o[c17.oPos]);
|
|
break;
|
|
case 21:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.WINDING_EVEN_ODD;
|
|
var this20 = data;
|
|
openfl_display__$internal_CanvasGraphics.fillCommands.windingEvenOdd();
|
|
openfl_display__$internal_CanvasGraphics.windingRule = "evenodd";
|
|
break;
|
|
case 22:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.WINDING_NON_ZERO;
|
|
var this21 = data;
|
|
openfl_display__$internal_CanvasGraphics.fillCommands.windingNonZero();
|
|
openfl_display__$internal_CanvasGraphics.windingRule = "nonzero";
|
|
break;
|
|
default:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = type;
|
|
}
|
|
}
|
|
if(openfl_display__$internal_CanvasGraphics.fillCommands.get_length() > 0) {
|
|
openfl_display__$internal_CanvasGraphics.endFill();
|
|
}
|
|
if(openfl_display__$internal_CanvasGraphics.strokeCommands.get_length() > 0) {
|
|
openfl_display__$internal_CanvasGraphics.endStroke();
|
|
}
|
|
data.destroy();
|
|
graphics.__bitmap = openfl_display_BitmapData.fromCanvas(graphics.__canvas);
|
|
}
|
|
graphics.__softwareDirty = false;
|
|
graphics.set___dirty(false);
|
|
}
|
|
};
|
|
openfl_display__$internal_CanvasGraphics.renderMask = function(graphics,renderer) {
|
|
if(graphics.__commands.get_length() != 0) {
|
|
openfl_display__$internal_CanvasGraphics.context = renderer.context;
|
|
var positionX = 0.0;
|
|
var positionY = 0.0;
|
|
var offsetX = 0;
|
|
var offsetY = 0;
|
|
var data = new openfl_display__$internal_DrawCommandReader(graphics.__commands);
|
|
var x;
|
|
var y;
|
|
var width;
|
|
var height;
|
|
var kappa = .5522848;
|
|
var ox;
|
|
var oy;
|
|
var xe;
|
|
var ye;
|
|
var xm;
|
|
var ym;
|
|
var _g = 0;
|
|
var _g1 = graphics.__commands.types;
|
|
while(_g < _g1.length) {
|
|
var type = _g1[_g];
|
|
++_g;
|
|
switch(type._hx_index) {
|
|
case 4:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.CUBIC_CURVE_TO;
|
|
var this1 = data;
|
|
var c = this1;
|
|
openfl_display__$internal_CanvasGraphics.context.bezierCurveTo(c.buffer.f[c.fPos] - offsetX,c.buffer.f[c.fPos + 1] - offsetY,c.buffer.f[c.fPos + 2] - offsetX,c.buffer.f[c.fPos + 3] - offsetY,c.buffer.f[c.fPos + 4] - offsetX,c.buffer.f[c.fPos + 5] - offsetY);
|
|
positionX = c.buffer.f[c.fPos + 4];
|
|
positionY = c.buffer.f[c.fPos + 5];
|
|
break;
|
|
case 5:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.CURVE_TO;
|
|
var this2 = data;
|
|
var c1 = this2;
|
|
openfl_display__$internal_CanvasGraphics.context.quadraticCurveTo(c1.buffer.f[c1.fPos] - offsetX,c1.buffer.f[c1.fPos + 1] - offsetY,c1.buffer.f[c1.fPos + 2] - offsetX,c1.buffer.f[c1.fPos + 3] - offsetY);
|
|
positionX = c1.buffer.f[c1.fPos + 2];
|
|
positionY = c1.buffer.f[c1.fPos + 3];
|
|
break;
|
|
case 6:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.DRAW_CIRCLE;
|
|
var this3 = data;
|
|
var c2 = this3;
|
|
openfl_display__$internal_CanvasGraphics.context.arc(c2.buffer.f[c2.fPos] - offsetX,c2.buffer.f[c2.fPos + 1] - offsetY,c2.buffer.f[c2.fPos + 2],0,Math.PI * 2,true);
|
|
break;
|
|
case 7:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.DRAW_ELLIPSE;
|
|
var this4 = data;
|
|
var c3 = this4;
|
|
x = c3.buffer.f[c3.fPos];
|
|
y = c3.buffer.f[c3.fPos + 1];
|
|
width = c3.buffer.f[c3.fPos + 2];
|
|
height = c3.buffer.f[c3.fPos + 3];
|
|
x -= offsetX;
|
|
y -= offsetY;
|
|
ox = width / 2 * kappa;
|
|
oy = height / 2 * kappa;
|
|
xe = x + width;
|
|
ye = y + height;
|
|
xm = x + width / 2;
|
|
ym = y + height / 2;
|
|
openfl_display__$internal_CanvasGraphics.context.moveTo(x,ym);
|
|
openfl_display__$internal_CanvasGraphics.context.bezierCurveTo(x,ym - oy,xm - ox,y,xm,y);
|
|
openfl_display__$internal_CanvasGraphics.context.bezierCurveTo(xm + ox,y,xe,ym - oy,xe,ym);
|
|
openfl_display__$internal_CanvasGraphics.context.bezierCurveTo(xe,ym + oy,xm + ox,ye,xm,ye);
|
|
openfl_display__$internal_CanvasGraphics.context.bezierCurveTo(xm - ox,ye,x,ym + oy,x,ym);
|
|
break;
|
|
case 9:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.DRAW_RECT;
|
|
var this5 = data;
|
|
var c4 = this5;
|
|
openfl_display__$internal_CanvasGraphics.context.beginPath();
|
|
openfl_display__$internal_CanvasGraphics.context.rect(c4.buffer.f[c4.fPos] - offsetX,c4.buffer.f[c4.fPos + 1] - offsetY,c4.buffer.f[c4.fPos + 2],c4.buffer.f[c4.fPos + 3]);
|
|
openfl_display__$internal_CanvasGraphics.context.closePath();
|
|
break;
|
|
case 10:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.DRAW_ROUND_RECT;
|
|
var this6 = data;
|
|
var c5 = this6;
|
|
openfl_display__$internal_CanvasGraphics.drawRoundRect(c5.buffer.f[c5.fPos] - offsetX,c5.buffer.f[c5.fPos + 1] - offsetY,c5.buffer.f[c5.fPos + 2],c5.buffer.f[c5.fPos + 3],c5.buffer.f[c5.fPos + 4],c5.buffer.o[c5.oPos]);
|
|
break;
|
|
case 17:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.LINE_TO;
|
|
var this7 = data;
|
|
var c6 = this7;
|
|
openfl_display__$internal_CanvasGraphics.context.lineTo(c6.buffer.f[c6.fPos] - offsetX,c6.buffer.f[c6.fPos + 1] - offsetY);
|
|
positionX = c6.buffer.f[c6.fPos];
|
|
positionY = c6.buffer.f[c6.fPos + 1];
|
|
break;
|
|
case 18:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.MOVE_TO;
|
|
var this8 = data;
|
|
var c7 = this8;
|
|
openfl_display__$internal_CanvasGraphics.context.moveTo(c7.buffer.f[c7.fPos] - offsetX,c7.buffer.f[c7.fPos + 1] - offsetY);
|
|
positionX = c7.buffer.f[c7.fPos];
|
|
positionY = c7.buffer.f[c7.fPos + 1];
|
|
break;
|
|
default:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = type;
|
|
}
|
|
}
|
|
data.destroy();
|
|
}
|
|
};
|
|
openfl_display__$internal_CanvasGraphics.setSmoothing = function(smooth) {
|
|
if(!openfl_display__$internal_CanvasGraphics.allowSmoothing) {
|
|
smooth = false;
|
|
}
|
|
if(openfl_display__$internal_CanvasGraphics.context.imageSmoothingEnabled != smooth) {
|
|
openfl_display__$internal_CanvasGraphics.context.imageSmoothingEnabled = smooth;
|
|
}
|
|
};
|
|
var openfl_display__$internal_CanvasShape = function() { };
|
|
$hxClasses["openfl.display._internal.CanvasShape"] = openfl_display__$internal_CanvasShape;
|
|
openfl_display__$internal_CanvasShape.__name__ = "openfl.display._internal.CanvasShape";
|
|
openfl_display__$internal_CanvasShape.render = function(shape,renderer) {
|
|
if(!shape.__renderable) {
|
|
return;
|
|
}
|
|
var alpha = renderer.__getAlpha(shape.__worldAlpha);
|
|
if(alpha <= 0) {
|
|
return;
|
|
}
|
|
var graphics = shape.__graphics;
|
|
if(graphics != null) {
|
|
openfl_display__$internal_CanvasGraphics.render(graphics,renderer);
|
|
var width = graphics.__width;
|
|
var height = graphics.__height;
|
|
var canvas = graphics.__canvas;
|
|
if(canvas != null && graphics.__visible && width >= 1 && height >= 1) {
|
|
var transform = graphics.__worldTransform;
|
|
var context = renderer.context;
|
|
var scrollRect = shape.__scrollRect;
|
|
var scale9Grid = shape.__worldScale9Grid;
|
|
if(scrollRect == null || scrollRect.width > 0 && scrollRect.height > 0) {
|
|
renderer.__setBlendMode(shape.__worldBlendMode);
|
|
renderer.__pushMaskObject(shape);
|
|
context.globalAlpha = alpha;
|
|
if(scale9Grid != null && transform.b == 0 && transform.c == 0) {
|
|
context.setTransform(1,0,0,1,transform.tx,transform.ty);
|
|
var bounds = graphics.__bounds;
|
|
var scaleX = graphics.__renderTransform.a;
|
|
var scaleY = graphics.__renderTransform.d;
|
|
var renderScaleX = transform.a;
|
|
var renderScaleY = transform.d;
|
|
var left = Math.max(1,Math.round(scale9Grid.x * scaleX));
|
|
var top = Math.round(scale9Grid.y * scaleY);
|
|
var right = Math.max(1,Math.round((bounds.get_right() - scale9Grid.get_right()) * scaleX));
|
|
var bottom = Math.round((bounds.get_bottom() - scale9Grid.get_bottom()) * scaleY);
|
|
var centerWidth = Math.round(scale9Grid.width * scaleX);
|
|
var centerHeight = Math.round(scale9Grid.height * scaleY);
|
|
var renderLeft = Math.round(scale9Grid.x * renderScaleX);
|
|
var renderTop = Math.round(scale9Grid.y * renderScaleY);
|
|
var renderRight = Math.round((bounds.get_right() - scale9Grid.get_right()) * renderScaleX);
|
|
var renderBottom = Math.round((bounds.get_bottom() - scale9Grid.get_bottom()) * renderScaleY);
|
|
var renderCenterWidth = Math.round(width * renderScaleX) - renderLeft - renderRight;
|
|
var renderCenterHeight = Math.round(height * renderScaleY) - renderTop - renderBottom;
|
|
renderer.applySmoothing(context,false);
|
|
if(centerWidth != 0 && centerHeight != 0) {
|
|
context.drawImage(canvas,0,0,left,top,0,0,renderLeft,renderTop);
|
|
context.drawImage(canvas,left,0,centerWidth,top,renderLeft,0,renderCenterWidth,renderTop);
|
|
context.drawImage(canvas,left + centerWidth,0,right,top,renderLeft + renderCenterWidth,0,renderRight,renderTop);
|
|
context.drawImage(canvas,0,top,left,centerHeight,0,renderTop,renderLeft,renderCenterHeight);
|
|
context.drawImage(canvas,left,top,centerWidth,centerHeight,renderLeft,renderTop,renderCenterWidth,renderCenterHeight);
|
|
context.drawImage(canvas,left + centerWidth,top,right,centerHeight,renderLeft + renderCenterWidth,renderTop,renderRight,renderCenterHeight);
|
|
context.drawImage(canvas,0,top + centerHeight,left,bottom,0,renderTop + renderCenterHeight,renderLeft,renderBottom);
|
|
context.drawImage(canvas,left,top + centerHeight,centerWidth,bottom,renderLeft,renderTop + renderCenterHeight,renderCenterWidth,renderBottom);
|
|
context.drawImage(canvas,left + centerWidth,top + centerHeight,right,bottom,renderLeft + renderCenterWidth,renderTop + renderCenterHeight,renderRight,renderBottom);
|
|
} else if(centerWidth == 0 && centerHeight != 0) {
|
|
var renderWidth = renderLeft + renderCenterWidth + renderRight;
|
|
context.drawImage(canvas,0,0,width,top,0,0,renderWidth,renderTop);
|
|
context.drawImage(canvas,0,top,width,centerHeight,0,renderTop,renderWidth,renderCenterHeight);
|
|
context.drawImage(canvas,0,top + centerHeight,width,bottom,0,renderTop + renderCenterHeight,renderWidth,renderBottom);
|
|
} else if(centerHeight == 0 && centerWidth != 0) {
|
|
var renderHeight = renderTop + renderCenterHeight + renderBottom;
|
|
context.drawImage(canvas,0,0,left,height,0,0,renderLeft,renderHeight);
|
|
context.drawImage(canvas,left,0,centerWidth,height,renderLeft,0,renderCenterWidth,renderHeight);
|
|
context.drawImage(canvas,left + centerWidth,0,right,height,renderLeft + renderCenterWidth,0,renderRight,renderHeight);
|
|
}
|
|
} else {
|
|
renderer.setTransform(transform,context);
|
|
if(renderer.__isDOM) {
|
|
var reverseScale = 1 / renderer.pixelRatio;
|
|
context.scale(reverseScale,reverseScale);
|
|
}
|
|
context.drawImage(canvas,0,0,width,height);
|
|
}
|
|
renderer.__popMaskObject(shape);
|
|
}
|
|
}
|
|
}
|
|
};
|
|
var openfl_display__$internal_CanvasTextField = function() { };
|
|
$hxClasses["openfl.display._internal.CanvasTextField"] = openfl_display__$internal_CanvasTextField;
|
|
openfl_display__$internal_CanvasTextField.__name__ = "openfl.display._internal.CanvasTextField";
|
|
openfl_display__$internal_CanvasTextField.context = null;
|
|
openfl_display__$internal_CanvasTextField.clearRect = null;
|
|
openfl_display__$internal_CanvasTextField.render = function(textField,renderer,transform) {
|
|
var textEngine = textField.__textEngine;
|
|
var bounds = textEngine.background || textEngine.border ? textEngine.bounds : textEngine.textBounds;
|
|
var graphics = textField.__graphics;
|
|
if(textField.__dirty) {
|
|
textField.__updateLayout();
|
|
if(graphics.__bounds == null) {
|
|
graphics.__bounds = new openfl_geom_Rectangle();
|
|
}
|
|
graphics.__bounds.copyFrom(bounds);
|
|
}
|
|
graphics.__update(renderer.__worldTransform);
|
|
if(textField.__dirty || graphics.__softwareDirty) {
|
|
var width = graphics.__width;
|
|
var height = graphics.__height;
|
|
if((textEngine.text == null || textEngine.text == "") && !textEngine.background && !textEngine.border && !textEngine.__hasFocus && (textEngine.type != 1 || !textEngine.selectable) || (textEngine.width <= 0 || textEngine.height <= 0) && textEngine.autoSize != 2) {
|
|
textField.__graphics.__canvas = null;
|
|
textField.__graphics.__context = null;
|
|
textField.__graphics.__bitmap = null;
|
|
textField.__graphics.__softwareDirty = false;
|
|
textField.__graphics.set___dirty(false);
|
|
textField.__dirty = false;
|
|
} else {
|
|
if(textField.__graphics.__canvas == null) {
|
|
textField.__graphics.__canvas = window.document.createElement("canvas");
|
|
textField.__graphics.__context = textField.__graphics.__canvas.getContext("2d");
|
|
}
|
|
openfl_display__$internal_CanvasTextField.context = graphics.__context;
|
|
var transform = graphics.__renderTransform;
|
|
if(renderer.__isDOM) {
|
|
var scale = renderer.pixelRatio;
|
|
graphics.__canvas.width = width * scale | 0;
|
|
graphics.__canvas.height = height * scale | 0;
|
|
graphics.__canvas.style.width = width + "px";
|
|
graphics.__canvas.style.height = height + "px";
|
|
var matrix = openfl_geom_Matrix.__pool.get();
|
|
matrix.copyFrom(transform);
|
|
matrix.scale(scale,scale);
|
|
renderer.setTransform(matrix,openfl_display__$internal_CanvasTextField.context);
|
|
openfl_geom_Matrix.__pool.release(matrix);
|
|
} else {
|
|
graphics.__canvas.width = width;
|
|
graphics.__canvas.height = height;
|
|
openfl_display__$internal_CanvasTextField.context.setTransform(transform.a,transform.b,transform.c,transform.d,transform.tx,transform.ty);
|
|
}
|
|
if(openfl_display__$internal_CanvasTextField.clearRect == null) {
|
|
openfl_display__$internal_CanvasTextField.clearRect = (typeof navigator !== 'undefined' && typeof navigator['isCocoonJS'] !== 'undefined');
|
|
}
|
|
if(openfl_display__$internal_CanvasTextField.clearRect) {
|
|
openfl_display__$internal_CanvasTextField.context.clearRect(0,0,graphics.__canvas.width,graphics.__canvas.height);
|
|
}
|
|
if(textEngine.text != null && textEngine.text != "" || textEngine.__hasFocus) {
|
|
var text = textEngine.text;
|
|
if(!renderer.__allowSmoothing || textEngine.antiAliasType == 0 && textEngine.sharpness == 400) {
|
|
graphics.__context.imageSmoothingEnabled = false;
|
|
} else {
|
|
graphics.__context.imageSmoothingEnabled = true;
|
|
}
|
|
if(textEngine.border || textEngine.background) {
|
|
openfl_display__$internal_CanvasTextField.context.rect(0.5,0.5,bounds.width - 1,bounds.height - 1);
|
|
if(textEngine.background) {
|
|
var tmp = StringTools.hex(textEngine.backgroundColor & 16777215,6);
|
|
openfl_display__$internal_CanvasTextField.context.fillStyle = "#" + tmp;
|
|
openfl_display__$internal_CanvasTextField.context.fill();
|
|
}
|
|
if(textEngine.border) {
|
|
openfl_display__$internal_CanvasTextField.context.lineWidth = 1;
|
|
var tmp = StringTools.hex(textEngine.borderColor & 16777215,6);
|
|
openfl_display__$internal_CanvasTextField.context.strokeStyle = "#" + tmp;
|
|
openfl_display__$internal_CanvasTextField.context.stroke();
|
|
}
|
|
}
|
|
openfl_display__$internal_CanvasTextField.context.textBaseline = "alphabetic";
|
|
openfl_display__$internal_CanvasTextField.context.textAlign = "start";
|
|
var scrollX = -textField.get_scrollH();
|
|
var scrollY = 0.0;
|
|
var _g = 0;
|
|
var _g1 = textField.get_scrollV() - 1;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
scrollY -= textEngine.lineHeights.get(i);
|
|
}
|
|
var advance;
|
|
var group = textEngine.layoutGroups.iterator();
|
|
while(group.hasNext()) {
|
|
var group1 = group.next();
|
|
if(group1.lineIndex < textField.get_scrollV() - 1) {
|
|
continue;
|
|
}
|
|
if(group1.lineIndex > textEngine.get_bottomScrollV() - 1) {
|
|
break;
|
|
}
|
|
var color = "#" + StringTools.hex(group1.format.color & 16777215,6);
|
|
openfl_display__$internal_CanvasTextField.context.font = openfl_text__$internal_TextEngine.getFont(group1.format);
|
|
openfl_display__$internal_CanvasTextField.context.fillStyle = color;
|
|
openfl_display__$internal_CanvasTextField.context.fillText(text.substring(group1.startIndex,group1.endIndex),group1.offsetX + scrollX - bounds.x,group1.offsetY + group1.ascent + scrollY - bounds.y);
|
|
if(textField.__caretIndex > -1 && textEngine.selectable) {
|
|
if(textField.__selectionIndex == textField.__caretIndex) {
|
|
if(textField.__showCursor && group1.startIndex <= textField.__caretIndex && group1.endIndex >= textField.__caretIndex) {
|
|
advance = 0.0;
|
|
var _g = 0;
|
|
var _g1 = textField.__caretIndex - group1.startIndex;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(group1.positions.length <= i) {
|
|
break;
|
|
}
|
|
advance += group1.positions[i];
|
|
}
|
|
var scrollY1 = 0.0;
|
|
var _g2 = textField.get_scrollV();
|
|
var _g3 = group1.lineIndex + 1;
|
|
while(_g2 < _g3) {
|
|
var i1 = _g2++;
|
|
scrollY1 += textEngine.lineHeights.get(i1 - 1);
|
|
}
|
|
openfl_display__$internal_CanvasTextField.context.beginPath();
|
|
var tmp = StringTools.hex(group1.format.color & 16777215,6);
|
|
openfl_display__$internal_CanvasTextField.context.strokeStyle = "#" + tmp;
|
|
openfl_display__$internal_CanvasTextField.context.moveTo(group1.offsetX + advance - textField.get_scrollH() - bounds.x,scrollY1 + 2 - bounds.y);
|
|
openfl_display__$internal_CanvasTextField.context.lineWidth = 1;
|
|
openfl_display__$internal_CanvasTextField.context.lineTo(group1.offsetX + advance - textField.get_scrollH() - bounds.x,scrollY1 + openfl_text__$internal_TextEngine.getFormatHeight(textField.get_defaultTextFormat()) - 1 - bounds.y);
|
|
openfl_display__$internal_CanvasTextField.context.stroke();
|
|
openfl_display__$internal_CanvasTextField.context.closePath();
|
|
}
|
|
} else if(group1.startIndex <= textField.__caretIndex && group1.endIndex >= textField.__caretIndex || group1.startIndex <= textField.__selectionIndex && group1.endIndex >= textField.__selectionIndex || group1.startIndex > textField.__caretIndex && group1.endIndex < textField.__selectionIndex || group1.startIndex > textField.__selectionIndex && group1.endIndex < textField.__caretIndex) {
|
|
var selectionStart = Math.min(textField.__selectionIndex,textField.__caretIndex) | 0;
|
|
var selectionEnd = Math.max(textField.__selectionIndex,textField.__caretIndex) | 0;
|
|
if(group1.startIndex > selectionStart) {
|
|
selectionStart = group1.startIndex;
|
|
}
|
|
if(group1.endIndex < selectionEnd) {
|
|
selectionEnd = group1.endIndex;
|
|
}
|
|
var end;
|
|
var start = textField.getCharBoundaries(selectionStart);
|
|
if(selectionEnd >= group1.endIndex) {
|
|
end = textField.getCharBoundaries(group1.endIndex - 1);
|
|
if(end != null) {
|
|
end.x += end.width + 2;
|
|
}
|
|
} else {
|
|
end = textField.getCharBoundaries(selectionEnd);
|
|
}
|
|
if(start != null && end != null) {
|
|
openfl_display__$internal_CanvasTextField.context.fillStyle = "#000000";
|
|
openfl_display__$internal_CanvasTextField.context.fillRect(start.x + scrollX,start.y + scrollY,end.x - start.x,group1.height);
|
|
openfl_display__$internal_CanvasTextField.context.fillStyle = "#FFFFFF";
|
|
openfl_display__$internal_CanvasTextField.context.fillText(text.substring(selectionStart,selectionEnd),scrollX + start.x,group1.offsetY + group1.ascent + scrollY);
|
|
}
|
|
}
|
|
}
|
|
if(group1.format.underline) {
|
|
openfl_display__$internal_CanvasTextField.context.beginPath();
|
|
openfl_display__$internal_CanvasTextField.context.strokeStyle = color;
|
|
openfl_display__$internal_CanvasTextField.context.lineWidth = 1;
|
|
var x = group1.offsetX + scrollX - bounds.x;
|
|
var y = Math.floor(group1.offsetY + scrollY + group1.ascent - bounds.y) + 0.5;
|
|
openfl_display__$internal_CanvasTextField.context.moveTo(x,y);
|
|
openfl_display__$internal_CanvasTextField.context.lineTo(x + group1.width,y);
|
|
openfl_display__$internal_CanvasTextField.context.stroke();
|
|
openfl_display__$internal_CanvasTextField.context.closePath();
|
|
}
|
|
}
|
|
} else {
|
|
if(textEngine.border || textEngine.background) {
|
|
if(textEngine.border) {
|
|
openfl_display__$internal_CanvasTextField.context.rect(0.5,0.5,bounds.width - 1,bounds.height - 1);
|
|
} else {
|
|
openfl_display__$internal_CanvasTextField.context.rect(0,0,bounds.width,bounds.height);
|
|
}
|
|
if(textEngine.background) {
|
|
var tmp = StringTools.hex(textEngine.backgroundColor & 16777215,6);
|
|
openfl_display__$internal_CanvasTextField.context.fillStyle = "#" + tmp;
|
|
openfl_display__$internal_CanvasTextField.context.fill();
|
|
}
|
|
if(textEngine.border) {
|
|
openfl_display__$internal_CanvasTextField.context.lineWidth = 1;
|
|
openfl_display__$internal_CanvasTextField.context.lineCap = "square";
|
|
var tmp = StringTools.hex(textEngine.borderColor & 16777215,6);
|
|
openfl_display__$internal_CanvasTextField.context.strokeStyle = "#" + tmp;
|
|
openfl_display__$internal_CanvasTextField.context.stroke();
|
|
}
|
|
}
|
|
if(textField.__caretIndex > -1 && textEngine.selectable && textField.__showCursor) {
|
|
var scrollX = -textField.get_scrollH();
|
|
var scrollY = 0.0;
|
|
var _g = 0;
|
|
var _g1 = textField.get_scrollV() - 1;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
scrollY += textEngine.lineHeights.get(i);
|
|
}
|
|
openfl_display__$internal_CanvasTextField.context.beginPath();
|
|
var tmp = StringTools.hex(textField.get_defaultTextFormat().color & 16777215,6);
|
|
openfl_display__$internal_CanvasTextField.context.strokeStyle = "#" + tmp;
|
|
openfl_display__$internal_CanvasTextField.context.moveTo(scrollX + 2.5,scrollY + 2.5);
|
|
openfl_display__$internal_CanvasTextField.context.lineWidth = 1;
|
|
openfl_display__$internal_CanvasTextField.context.lineTo(scrollX + 2.5,scrollY + openfl_text__$internal_TextEngine.getFormatHeight(textField.get_defaultTextFormat()) - 1);
|
|
openfl_display__$internal_CanvasTextField.context.stroke();
|
|
openfl_display__$internal_CanvasTextField.context.closePath();
|
|
}
|
|
}
|
|
graphics.__bitmap = openfl_display_BitmapData.fromCanvas(textField.__graphics.__canvas);
|
|
graphics.__visible = true;
|
|
textField.__dirty = false;
|
|
graphics.__softwareDirty = false;
|
|
graphics.set___dirty(false);
|
|
}
|
|
}
|
|
};
|
|
var openfl_display__$internal_Context3DBitmap = function() { };
|
|
$hxClasses["openfl.display._internal.Context3DBitmap"] = openfl_display__$internal_Context3DBitmap;
|
|
openfl_display__$internal_Context3DBitmap.__name__ = "openfl.display._internal.Context3DBitmap";
|
|
openfl_display__$internal_Context3DBitmap.render = function(bitmap,renderer) {
|
|
if(!bitmap.__renderable || bitmap.__worldAlpha <= 0) {
|
|
return;
|
|
}
|
|
if(bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid) {
|
|
var context = renderer.__context3D;
|
|
renderer.__setBlendMode(bitmap.__worldBlendMode);
|
|
renderer.__pushMaskObject(bitmap);
|
|
var shader = renderer.__initDisplayShader(bitmap.__worldShader);
|
|
renderer.setShader(shader);
|
|
renderer.applyBitmapData(bitmap.__bitmapData,renderer.__allowSmoothing && (bitmap.smoothing || renderer.__upscaled));
|
|
renderer.applyMatrix(renderer.__getMatrix(bitmap.__renderTransform,bitmap.pixelSnapping));
|
|
renderer.applyAlpha(bitmap.__worldAlpha);
|
|
renderer.applyColorTransform(bitmap.__worldColorTransform);
|
|
renderer.updateShader();
|
|
var vertexBuffer = bitmap.__bitmapData.getVertexBuffer(context);
|
|
if(shader.__position != null) {
|
|
context.setVertexBufferAt(shader.__position.index,vertexBuffer,0,3);
|
|
}
|
|
if(shader.__textureCoord != null) {
|
|
context.setVertexBufferAt(shader.__textureCoord.index,vertexBuffer,3,2);
|
|
}
|
|
var indexBuffer = bitmap.__bitmapData.getIndexBuffer(context);
|
|
context.drawTriangles(indexBuffer);
|
|
renderer.__clearShader();
|
|
renderer.__popMaskObject(bitmap);
|
|
}
|
|
};
|
|
openfl_display__$internal_Context3DBitmap.renderMask = function(bitmap,renderer) {
|
|
if(bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid) {
|
|
var context = renderer.__context3D;
|
|
var shader = renderer.__maskShader;
|
|
renderer.setShader(shader);
|
|
renderer.applyBitmapData(openfl_display__$internal_Context3DMaskShader.opaqueBitmapData,true);
|
|
renderer.applyMatrix(renderer.__getMatrix(bitmap.__renderTransform,bitmap.pixelSnapping));
|
|
renderer.updateShader();
|
|
var vertexBuffer = bitmap.__bitmapData.getVertexBuffer(context);
|
|
if(shader.__position != null) {
|
|
context.setVertexBufferAt(shader.__position.index,vertexBuffer,0,3);
|
|
}
|
|
if(shader.__textureCoord != null) {
|
|
context.setVertexBufferAt(shader.__textureCoord.index,vertexBuffer,3,2);
|
|
}
|
|
var indexBuffer = bitmap.__bitmapData.getIndexBuffer(context);
|
|
context.drawTriangles(indexBuffer);
|
|
renderer.__clearShader();
|
|
}
|
|
};
|
|
var openfl_display__$internal_Context3DBuffer = function(context3D,elementType,elementCount,dataPerVertex) {
|
|
this.context3D = context3D;
|
|
this.elementType = elementType;
|
|
this.dataPerVertex = dataPerVertex;
|
|
this.indexCount = 0;
|
|
this.vertexCount = 0;
|
|
this.resize(elementCount);
|
|
};
|
|
$hxClasses["openfl.display._internal.Context3DBuffer"] = openfl_display__$internal_Context3DBuffer;
|
|
openfl_display__$internal_Context3DBuffer.__name__ = "openfl.display._internal.Context3DBuffer";
|
|
openfl_display__$internal_Context3DBuffer.prototype = {
|
|
dataPerVertex: null
|
|
,elementCount: null
|
|
,elementType: null
|
|
,indexBufferData: null
|
|
,indexBuffers: null
|
|
,indexCount: null
|
|
,vertexBuffer: null
|
|
,vertexBufferData: null
|
|
,vertexCount: null
|
|
,context3D: null
|
|
,drawElements: function(start,length) {
|
|
if(length == null) {
|
|
length = -1;
|
|
}
|
|
if(this.indexCount == 0 || this.vertexCount == 0) {
|
|
return;
|
|
}
|
|
if(this.elementType._hx_index == 0) {
|
|
if(length == -1) {
|
|
length = this.elementCount * 2;
|
|
}
|
|
if(start < 10922 && length - start < 10922) {
|
|
this.context3D.drawTriangles(this.indexBuffers[0],start,length * 2);
|
|
} else {
|
|
var end = start + length;
|
|
while(start < end) {
|
|
var arrayBufferIndex = Math.floor(start / 10922);
|
|
length = Math.min(end - start,10922) | 0;
|
|
if(length <= 0) {
|
|
break;
|
|
}
|
|
this.context3D.drawTriangles(this.indexBuffers[arrayBufferIndex],(start - arrayBufferIndex * 10922) * 3,length * 2);
|
|
start += length;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,flushVertexBufferData: function() {
|
|
if(this.vertexBufferData.length > this.vertexCount) {
|
|
this.vertexCount = this.vertexBufferData.length;
|
|
this.vertexBuffer = this.context3D.createVertexBuffer(this.vertexCount,this.dataPerVertex,0);
|
|
}
|
|
this.vertexBuffer.uploadFromTypedArray(lime_utils_Float32Array.toArrayBufferView(this.vertexBufferData));
|
|
}
|
|
,resize: function(elementCount,dataPerVertex) {
|
|
if(dataPerVertex == null) {
|
|
dataPerVertex = -1;
|
|
}
|
|
this.elementCount = elementCount;
|
|
if(dataPerVertex == -1) {
|
|
dataPerVertex = this.dataPerVertex;
|
|
}
|
|
if(dataPerVertex != this.dataPerVertex) {
|
|
this.vertexBuffer = null;
|
|
this.vertexCount = 0;
|
|
this.dataPerVertex = dataPerVertex;
|
|
}
|
|
var numVertices = 0;
|
|
switch(this.elementType._hx_index) {
|
|
case 0:
|
|
numVertices = elementCount * 4;
|
|
break;
|
|
case 1:
|
|
numVertices = elementCount * 3;
|
|
break;
|
|
case 2:
|
|
numVertices = elementCount * 3;
|
|
break;
|
|
}
|
|
var vertexLength = numVertices * dataPerVertex;
|
|
if(this.vertexBufferData == null) {
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = null;
|
|
var len = null;
|
|
var this1;
|
|
if(vertexLength != null) {
|
|
this1 = new Float32Array(vertexLength);
|
|
} else if(array != null) {
|
|
this1 = new Float32Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Float32Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Float32Array(view);
|
|
} else if(buffer != null) {
|
|
if(len == null) {
|
|
this1 = new Float32Array(buffer,0);
|
|
} else {
|
|
this1 = new Float32Array(buffer,0,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
this.vertexBufferData = this1;
|
|
} else if(vertexLength > this.vertexBufferData.length) {
|
|
var cacheBufferData = this.vertexBufferData;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = null;
|
|
var len = null;
|
|
var this1;
|
|
if(vertexLength != null) {
|
|
this1 = new Float32Array(vertexLength);
|
|
} else if(array != null) {
|
|
this1 = new Float32Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Float32Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Float32Array(view);
|
|
} else if(buffer != null) {
|
|
if(len == null) {
|
|
this1 = new Float32Array(buffer,0);
|
|
} else {
|
|
this1 = new Float32Array(buffer,0,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
this.vertexBufferData = this1;
|
|
this.vertexBufferData.set(cacheBufferData);
|
|
}
|
|
}
|
|
,__class__: openfl_display__$internal_Context3DBuffer
|
|
};
|
|
var openfl_display__$internal_Context3DElementType = $hxEnums["openfl.display._internal.Context3DElementType"] = { __ename__ : "openfl.display._internal.Context3DElementType", __constructs__ : ["QUADS","TRIANGLES","TRIANGLE_INDICES"]
|
|
,QUADS: {_hx_index:0,__enum__:"openfl.display._internal.Context3DElementType",toString:$estr}
|
|
,TRIANGLES: {_hx_index:1,__enum__:"openfl.display._internal.Context3DElementType",toString:$estr}
|
|
,TRIANGLE_INDICES: {_hx_index:2,__enum__:"openfl.display._internal.Context3DElementType",toString:$estr}
|
|
};
|
|
var openfl_display__$internal_Context3DDisplayObject = function() { };
|
|
$hxClasses["openfl.display._internal.Context3DDisplayObject"] = openfl_display__$internal_Context3DDisplayObject;
|
|
openfl_display__$internal_Context3DDisplayObject.__name__ = "openfl.display._internal.Context3DDisplayObject";
|
|
openfl_display__$internal_Context3DDisplayObject.render = function(displayObject,renderer) {
|
|
if(displayObject.opaqueBackground == null && displayObject.__graphics == null) {
|
|
return;
|
|
}
|
|
if(!displayObject.__renderable || displayObject.__worldAlpha <= 0) {
|
|
return;
|
|
}
|
|
if(displayObject.opaqueBackground != null && !displayObject.__isCacheBitmapRender && displayObject.get_width() > 0 && displayObject.get_height() > 0) {
|
|
renderer.__setBlendMode(displayObject.__worldBlendMode);
|
|
renderer.__pushMaskObject(displayObject);
|
|
var context = renderer.__context3D;
|
|
var rect = openfl_geom_Rectangle.__pool.get();
|
|
rect.setTo(0,0,displayObject.get_width(),displayObject.get_height());
|
|
renderer.__pushMaskRect(rect,displayObject.__renderTransform);
|
|
var color = displayObject.opaqueBackground;
|
|
context.clear((color >>> 16 & 255) / 255,(color >>> 8 & 255) / 255,(color & 255) / 255,1,0,0,1);
|
|
renderer.__popMaskRect();
|
|
renderer.__popMaskObject(displayObject);
|
|
openfl_geom_Rectangle.__pool.release(rect);
|
|
}
|
|
if(displayObject.__graphics != null) {
|
|
openfl_display__$internal_Context3DShape.render(displayObject,renderer);
|
|
}
|
|
};
|
|
openfl_display__$internal_Context3DDisplayObject.renderMask = function(displayObject,renderer) {
|
|
if(displayObject.opaqueBackground == null && displayObject.__graphics == null) {
|
|
return;
|
|
}
|
|
var tmp = displayObject.opaqueBackground != null && !displayObject.__isCacheBitmapRender && displayObject.get_width() > 0 && displayObject.get_height() > 0;
|
|
if(displayObject.__graphics != null) {
|
|
openfl_display__$internal_Context3DShape.renderMask(displayObject,renderer);
|
|
}
|
|
};
|
|
var openfl_display__$internal_Context3DGraphics = function() { };
|
|
$hxClasses["openfl.display._internal.Context3DGraphics"] = openfl_display__$internal_Context3DGraphics;
|
|
openfl_display__$internal_Context3DGraphics.__name__ = "openfl.display._internal.Context3DGraphics";
|
|
openfl_display__$internal_Context3DGraphics.maskRender = null;
|
|
openfl_display__$internal_Context3DGraphics.buildBuffer = function(graphics,renderer) {
|
|
var quadBufferPosition = 0;
|
|
var triangleIndexBufferPosition = 0;
|
|
var vertexBufferPosition = 0;
|
|
var vertexBufferPositionUVT = 0;
|
|
var data = new openfl_display__$internal_DrawCommandReader(graphics.__commands);
|
|
var context = renderer.__context3D;
|
|
var tileRect = openfl_geom_Rectangle.__pool.get();
|
|
var tileTransform = openfl_geom_Matrix.__pool.get();
|
|
var bitmap = null;
|
|
var _g = 0;
|
|
var _g1 = graphics.__commands.types;
|
|
while(_g < _g1.length) {
|
|
var type = _g1[_g];
|
|
++_g;
|
|
switch(type._hx_index) {
|
|
case 0:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.BEGIN_BITMAP_FILL;
|
|
var this1 = data;
|
|
var c = this1;
|
|
bitmap = c.buffer.o[c.oPos];
|
|
break;
|
|
case 1:
|
|
bitmap = null;
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = type;
|
|
break;
|
|
case 3:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.BEGIN_SHADER_FILL;
|
|
var this2 = data;
|
|
var c1 = this2;
|
|
var shaderBuffer = c1.buffer.o[c1.oPos];
|
|
bitmap = null;
|
|
if(shaderBuffer != null) {
|
|
var _g2 = 0;
|
|
var _g3 = shaderBuffer.inputCount;
|
|
while(_g2 < _g3) {
|
|
var i = _g2++;
|
|
if(shaderBuffer.inputRefs[i].name == "bitmap") {
|
|
bitmap = shaderBuffer.inputs[i];
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
case 8:
|
|
if(bitmap != null) {
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.DRAW_QUADS;
|
|
var this3 = data;
|
|
var c2 = this3;
|
|
var rects = c2.buffer.o[c2.oPos];
|
|
var indices = c2.buffer.o[c2.oPos + 1];
|
|
var transforms = c2.buffer.o[c2.oPos + 2];
|
|
var hasIndices = indices != null;
|
|
var transformABCD = false;
|
|
var transformXY = false;
|
|
var length = hasIndices ? indices.get_length() : Math.floor(rects.get_length() / 4);
|
|
if(length == 0) {
|
|
return;
|
|
}
|
|
if(transforms != null) {
|
|
if(transforms.get_length() >= length * 6) {
|
|
transformABCD = true;
|
|
transformXY = true;
|
|
} else if(transforms.get_length() >= length * 4) {
|
|
transformABCD = true;
|
|
} else if(transforms.get_length() >= length * 2) {
|
|
transformXY = true;
|
|
}
|
|
}
|
|
var dataPerVertex = 4;
|
|
var stride = dataPerVertex * 4;
|
|
if(graphics.__quadBuffer == null) {
|
|
graphics.__quadBuffer = new openfl_display__$internal_Context3DBuffer(context,openfl_display__$internal_Context3DElementType.QUADS,length,dataPerVertex);
|
|
} else {
|
|
graphics.__quadBuffer.resize(quadBufferPosition + length,dataPerVertex);
|
|
}
|
|
var vertexOffset;
|
|
var alpha = 1.0;
|
|
var tileData;
|
|
var id;
|
|
var tileWidth;
|
|
var tileHeight;
|
|
var uvX;
|
|
var uvY;
|
|
var uvWidth;
|
|
var uvHeight;
|
|
var x;
|
|
var y;
|
|
var x2;
|
|
var y2;
|
|
var x3;
|
|
var y3;
|
|
var x4;
|
|
var y4;
|
|
var ri;
|
|
var ti;
|
|
var vertexBufferData = graphics.__quadBuffer.vertexBufferData;
|
|
var bitmapWidth = bitmap.width;
|
|
var bitmapHeight = bitmap.height;
|
|
var sourceRect = bitmap.rect;
|
|
var _g4 = 0;
|
|
var _g5 = length;
|
|
while(_g4 < _g5) {
|
|
var i1 = _g4++;
|
|
vertexOffset = (quadBufferPosition + i1) * stride;
|
|
ri = hasIndices ? indices.get(i1) * 4 : i1 * 4;
|
|
if(ri < 0) {
|
|
continue;
|
|
}
|
|
tileRect.setTo(rects.get(ri),rects.get(ri + 1),rects.get(ri + 2),rects.get(ri + 3));
|
|
tileWidth = tileRect.width;
|
|
tileHeight = tileRect.height;
|
|
if(tileWidth <= 0 || tileHeight <= 0) {
|
|
continue;
|
|
}
|
|
if(transformABCD && transformXY) {
|
|
ti = i1 * 6;
|
|
tileTransform.setTo(transforms.get(ti),transforms.get(ti + 1),transforms.get(ti + 2),transforms.get(ti + 3),transforms.get(ti + 4),transforms.get(ti + 5));
|
|
} else if(transformABCD) {
|
|
ti = i1 * 4;
|
|
tileTransform.setTo(transforms.get(ti),transforms.get(ti + 1),transforms.get(ti + 2),transforms.get(ti + 3),tileRect.x,tileRect.y);
|
|
} else if(transformXY) {
|
|
ti = i1 * 2;
|
|
tileTransform.tx = transforms.get(ti);
|
|
tileTransform.ty = transforms.get(ti + 1);
|
|
} else {
|
|
tileTransform.tx = tileRect.x;
|
|
tileTransform.ty = tileRect.y;
|
|
}
|
|
uvX = tileRect.x / bitmapWidth;
|
|
uvY = tileRect.y / bitmapHeight;
|
|
uvWidth = tileRect.get_right() / bitmapWidth;
|
|
uvHeight = tileRect.get_bottom() / bitmapHeight;
|
|
x = 0 * tileTransform.a + 0 * tileTransform.c + tileTransform.tx;
|
|
y = 0 * tileTransform.b + 0 * tileTransform.d + tileTransform.ty;
|
|
x2 = tileWidth * tileTransform.a + 0 * tileTransform.c + tileTransform.tx;
|
|
y2 = tileWidth * tileTransform.b + 0 * tileTransform.d + tileTransform.ty;
|
|
x3 = 0 * tileTransform.a + tileHeight * tileTransform.c + tileTransform.tx;
|
|
y3 = 0 * tileTransform.b + tileHeight * tileTransform.d + tileTransform.ty;
|
|
x4 = tileWidth * tileTransform.a + tileHeight * tileTransform.c + tileTransform.tx;
|
|
y4 = tileWidth * tileTransform.b + tileHeight * tileTransform.d + tileTransform.ty;
|
|
vertexBufferData[vertexOffset] = x;
|
|
vertexBufferData[vertexOffset + 1] = y;
|
|
vertexBufferData[vertexOffset + 2] = uvX;
|
|
vertexBufferData[vertexOffset + 3] = uvY;
|
|
vertexBufferData[vertexOffset + dataPerVertex] = x2;
|
|
vertexBufferData[vertexOffset + dataPerVertex + 1] = y2;
|
|
vertexBufferData[vertexOffset + dataPerVertex + 2] = uvWidth;
|
|
vertexBufferData[vertexOffset + dataPerVertex + 3] = uvY;
|
|
vertexBufferData[vertexOffset + dataPerVertex * 2] = x3;
|
|
vertexBufferData[vertexOffset + dataPerVertex * 2 + 1] = y3;
|
|
vertexBufferData[vertexOffset + dataPerVertex * 2 + 2] = uvX;
|
|
vertexBufferData[vertexOffset + dataPerVertex * 2 + 3] = uvHeight;
|
|
vertexBufferData[vertexOffset + dataPerVertex * 3] = x4;
|
|
vertexBufferData[vertexOffset + dataPerVertex * 3 + 1] = y4;
|
|
vertexBufferData[vertexOffset + dataPerVertex * 3 + 2] = uvWidth;
|
|
vertexBufferData[vertexOffset + dataPerVertex * 3 + 3] = uvHeight;
|
|
}
|
|
quadBufferPosition += length;
|
|
}
|
|
break;
|
|
case 12:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.DRAW_TRIANGLES;
|
|
var this4 = data;
|
|
var c3 = this4;
|
|
var vertices = c3.buffer.o[c3.oPos];
|
|
var indices1 = c3.buffer.o[c3.oPos + 1];
|
|
var uvtData = c3.buffer.o[c3.oPos + 2];
|
|
var culling = c3.buffer.o[c3.oPos + 3];
|
|
var hasIndices1 = indices1 != null;
|
|
var numVertices = Math.floor(vertices.get_length() / 2);
|
|
var length1 = hasIndices1 ? indices1.get_length() : numVertices;
|
|
var hasUVData = uvtData != null;
|
|
var hasUVTData = hasUVData && uvtData.get_length() >= numVertices * 3;
|
|
var vertLength = hasUVTData ? 4 : 2;
|
|
var uvStride = hasUVTData ? 3 : 2;
|
|
var dataPerVertex1 = vertLength + 2;
|
|
var vertexOffset1 = hasUVTData ? vertexBufferPositionUVT : vertexBufferPosition;
|
|
openfl_display__$internal_Context3DGraphics.resizeVertexBuffer(graphics,hasUVTData,vertexOffset1 + length1 * dataPerVertex1);
|
|
var vertexBufferData1 = hasUVTData ? graphics.__vertexBufferDataUVT : graphics.__vertexBufferData;
|
|
var offset;
|
|
var vertOffset;
|
|
var uvOffset;
|
|
var t;
|
|
var _g6 = 0;
|
|
var _g7 = length1;
|
|
while(_g6 < _g7) {
|
|
var i2 = _g6++;
|
|
offset = vertexOffset1 + i2 * dataPerVertex1;
|
|
vertOffset = hasIndices1 ? indices1.get(i2) * 2 : i2 * 2;
|
|
uvOffset = hasIndices1 ? indices1.get(i2) * uvStride : i2 * uvStride;
|
|
if(hasUVTData) {
|
|
t = uvtData.get(uvOffset + 2);
|
|
vertexBufferData1[offset] = vertices.get(vertOffset) / t;
|
|
vertexBufferData1[offset + 1] = vertices.get(vertOffset + 1) / t;
|
|
vertexBufferData1[offset + 2] = 0;
|
|
vertexBufferData1[offset + 3] = 1 / t;
|
|
} else {
|
|
vertexBufferData1[offset] = vertices.get(vertOffset);
|
|
vertexBufferData1[offset + 1] = vertices.get(vertOffset + 1);
|
|
}
|
|
vertexBufferData1[offset + vertLength] = hasUVData ? uvtData.get(uvOffset) : 0;
|
|
vertexBufferData1[offset + vertLength + 1] = hasUVData ? uvtData.get(uvOffset + 1) : 0;
|
|
}
|
|
if(hasUVTData) {
|
|
vertexBufferPositionUVT += length1 * dataPerVertex1;
|
|
} else {
|
|
vertexBufferPosition += length1 * dataPerVertex1;
|
|
}
|
|
break;
|
|
case 13:
|
|
bitmap = null;
|
|
break;
|
|
default:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = type;
|
|
}
|
|
}
|
|
if(quadBufferPosition > 0) {
|
|
graphics.__quadBuffer.flushVertexBufferData();
|
|
}
|
|
if(triangleIndexBufferPosition > 0) {
|
|
var buffer = graphics.__triangleIndexBuffer;
|
|
if(buffer == null || triangleIndexBufferPosition > graphics.__triangleIndexBufferCount) {
|
|
buffer = context.createIndexBuffer(triangleIndexBufferPosition,0);
|
|
graphics.__triangleIndexBuffer = buffer;
|
|
graphics.__triangleIndexBufferCount = triangleIndexBufferPosition;
|
|
}
|
|
buffer.uploadFromTypedArray(graphics.__triangleIndexBufferData);
|
|
}
|
|
if(vertexBufferPosition > 0) {
|
|
var buffer = graphics.__vertexBuffer;
|
|
if(buffer == null || vertexBufferPosition > graphics.__vertexBufferCount) {
|
|
buffer = context.createVertexBuffer(vertexBufferPosition,4,0);
|
|
graphics.__vertexBuffer = buffer;
|
|
graphics.__vertexBufferCount = vertexBufferPosition;
|
|
}
|
|
buffer.uploadFromTypedArray(lime_utils_Float32Array.toArrayBufferView(graphics.__vertexBufferData));
|
|
}
|
|
if(vertexBufferPositionUVT > 0) {
|
|
var buffer = graphics.__vertexBufferUVT;
|
|
if(buffer == null || vertexBufferPositionUVT > graphics.__vertexBufferCountUVT) {
|
|
buffer = context.createVertexBuffer(vertexBufferPositionUVT,6,0);
|
|
graphics.__vertexBufferUVT = buffer;
|
|
graphics.__vertexBufferCountUVT = vertexBufferPositionUVT;
|
|
}
|
|
buffer.uploadFromTypedArray(lime_utils_Float32Array.toArrayBufferView(graphics.__vertexBufferDataUVT));
|
|
}
|
|
openfl_geom_Rectangle.__pool.release(tileRect);
|
|
openfl_geom_Matrix.__pool.release(tileTransform);
|
|
};
|
|
openfl_display__$internal_Context3DGraphics.isCompatible = function(graphics) {
|
|
if(graphics.__owner.__worldScale9Grid != null) {
|
|
return false;
|
|
}
|
|
var data = new openfl_display__$internal_DrawCommandReader(graphics.__commands);
|
|
var hasColorFill = false;
|
|
var hasBitmapFill = false;
|
|
var hasShaderFill = false;
|
|
var _g = 0;
|
|
var _g1 = graphics.__commands.types;
|
|
while(_g < _g1.length) {
|
|
var type = _g1[_g];
|
|
++_g;
|
|
switch(type._hx_index) {
|
|
case 0:
|
|
hasBitmapFill = true;
|
|
hasColorFill = false;
|
|
hasShaderFill = false;
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = type;
|
|
break;
|
|
case 1:
|
|
hasBitmapFill = false;
|
|
hasColorFill = true;
|
|
hasShaderFill = false;
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = type;
|
|
break;
|
|
case 3:
|
|
hasBitmapFill = false;
|
|
hasColorFill = false;
|
|
hasShaderFill = true;
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = type;
|
|
break;
|
|
case 8:
|
|
if(hasBitmapFill || hasShaderFill) {
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = type;
|
|
} else {
|
|
data.destroy();
|
|
return false;
|
|
}
|
|
break;
|
|
case 9:
|
|
if(hasColorFill) {
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = type;
|
|
} else {
|
|
data.destroy();
|
|
return false;
|
|
}
|
|
break;
|
|
case 12:
|
|
if(hasBitmapFill || hasShaderFill) {
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = type;
|
|
} else {
|
|
data.destroy();
|
|
return false;
|
|
}
|
|
break;
|
|
case 13:
|
|
hasBitmapFill = false;
|
|
hasColorFill = false;
|
|
hasShaderFill = false;
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = type;
|
|
break;
|
|
case 18:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = type;
|
|
break;
|
|
case 19:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = type;
|
|
break;
|
|
default:
|
|
data.destroy();
|
|
return false;
|
|
}
|
|
}
|
|
data.destroy();
|
|
return true;
|
|
};
|
|
openfl_display__$internal_Context3DGraphics.render = function(graphics,renderer) {
|
|
if(!graphics.__visible || graphics.__commands.get_length() == 0) {
|
|
return;
|
|
}
|
|
if(graphics.__bitmap != null && !graphics.__dirty || !openfl_display__$internal_Context3DGraphics.isCompatible(graphics)) {
|
|
var cacheTransform = renderer.__softwareRenderer.__worldTransform;
|
|
renderer.__softwareRenderer.__worldTransform = renderer.__worldTransform;
|
|
openfl_display__$internal_CanvasGraphics.render(graphics,renderer.__softwareRenderer);
|
|
renderer.__softwareRenderer.__worldTransform = cacheTransform;
|
|
} else {
|
|
graphics.__bitmap = null;
|
|
graphics.__update(renderer.__worldTransform);
|
|
var bounds = graphics.__bounds;
|
|
var width = graphics.__width;
|
|
var height = graphics.__height;
|
|
if(bounds != null && width >= 1 && height >= 1) {
|
|
if(graphics.__hardwareDirty || graphics.__quadBuffer == null && graphics.__vertexBuffer == null && graphics.__vertexBufferUVT == null) {
|
|
openfl_display__$internal_Context3DGraphics.buildBuffer(graphics,renderer);
|
|
}
|
|
var data = new openfl_display__$internal_DrawCommandReader(graphics.__commands);
|
|
var context = renderer.__context3D;
|
|
var gl = context.gl;
|
|
var matrix = openfl_geom_Matrix.__pool.get();
|
|
var shaderBuffer = null;
|
|
var bitmap = null;
|
|
var repeat = false;
|
|
var smooth = false;
|
|
var fill = null;
|
|
var positionX = 0.0;
|
|
var positionY = 0.0;
|
|
var quadBufferPosition = 0;
|
|
var shaderBufferOffset = 0;
|
|
var triangleIndexBufferPosition = 0;
|
|
var vertexBufferPosition = 0;
|
|
var vertexBufferPositionUVT = 0;
|
|
var _g = 0;
|
|
var _g1 = graphics.__commands.types;
|
|
while(_g < _g1.length) {
|
|
var type = _g1[_g];
|
|
++_g;
|
|
switch(type._hx_index) {
|
|
case 0:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.BEGIN_BITMAP_FILL;
|
|
var this1 = data;
|
|
var c = this1;
|
|
bitmap = c.buffer.o[c.oPos];
|
|
repeat = c.buffer.b[c.bPos];
|
|
smooth = c.buffer.b[c.bPos + 1];
|
|
shaderBuffer = null;
|
|
fill = null;
|
|
break;
|
|
case 1:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.BEGIN_FILL;
|
|
var this2 = data;
|
|
var c1 = this2;
|
|
var color = c1.buffer.i[c1.iPos] | 0;
|
|
var alpha = c1.buffer.f[c1.fPos] * 255 | 0;
|
|
fill = color & 16777215 | alpha << 24;
|
|
shaderBuffer = null;
|
|
bitmap = null;
|
|
break;
|
|
case 3:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.BEGIN_SHADER_FILL;
|
|
var this3 = data;
|
|
var c2 = this3;
|
|
shaderBuffer = c2.buffer.o[c2.oPos];
|
|
shaderBufferOffset = 0;
|
|
if(shaderBuffer == null || shaderBuffer.shader == null || shaderBuffer.shader.__bitmap == null) {
|
|
bitmap = null;
|
|
} else {
|
|
bitmap = shaderBuffer.shader.__bitmap.input;
|
|
}
|
|
fill = null;
|
|
break;
|
|
case 8:
|
|
if(bitmap != null) {
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.DRAW_QUADS;
|
|
var this4 = data;
|
|
var c3 = this4;
|
|
var rects = c3.buffer.o[c3.oPos];
|
|
var indices = c3.buffer.o[c3.oPos + 1];
|
|
var transforms = c3.buffer.o[c3.oPos + 2];
|
|
var hasIndices = indices != null;
|
|
var length = hasIndices ? indices.get_length() : Math.floor(rects.get_length() / 4);
|
|
var uMatrix = renderer.__getMatrix(graphics.__owner.__renderTransform,1);
|
|
var shader;
|
|
if(shaderBuffer != null && !openfl_display__$internal_Context3DGraphics.maskRender) {
|
|
shader = renderer.__initShaderBuffer(shaderBuffer);
|
|
renderer.__setShaderBuffer(shaderBuffer);
|
|
renderer.applyMatrix(uMatrix);
|
|
renderer.applyBitmapData(bitmap,false,repeat);
|
|
renderer.applyAlpha(graphics.__owner.__worldAlpha);
|
|
renderer.applyColorTransform(graphics.__owner.__worldColorTransform);
|
|
} else {
|
|
shader = openfl_display__$internal_Context3DGraphics.maskRender ? renderer.__maskShader : renderer.__initGraphicsShader(null);
|
|
renderer.setShader(shader);
|
|
renderer.applyMatrix(uMatrix);
|
|
renderer.applyBitmapData(bitmap,smooth,repeat);
|
|
renderer.applyAlpha(graphics.__owner.__worldAlpha);
|
|
renderer.applyColorTransform(graphics.__owner.__worldColorTransform);
|
|
renderer.updateShader();
|
|
}
|
|
var end = quadBufferPosition + length;
|
|
while(quadBufferPosition < end) {
|
|
length = Math.min(end - quadBufferPosition,context.__quadIndexBufferElements) | 0;
|
|
if(length <= 0) {
|
|
break;
|
|
}
|
|
if(shaderBuffer != null && !openfl_display__$internal_Context3DGraphics.maskRender) {
|
|
renderer.__updateShaderBuffer(shaderBufferOffset);
|
|
}
|
|
if(shader.__position != null) {
|
|
context.setVertexBufferAt(shader.__position.index,graphics.__quadBuffer.vertexBuffer,quadBufferPosition * 16,2);
|
|
}
|
|
if(shader.__textureCoord != null) {
|
|
context.setVertexBufferAt(shader.__textureCoord.index,graphics.__quadBuffer.vertexBuffer,quadBufferPosition * 16 + 2,2);
|
|
}
|
|
context.drawTriangles(context.__quadIndexBuffer,0,length * 2);
|
|
shaderBufferOffset += length * 4;
|
|
quadBufferPosition += length;
|
|
}
|
|
renderer.__clearShader();
|
|
}
|
|
break;
|
|
case 9:
|
|
if(fill != null) {
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.DRAW_RECT;
|
|
var this5 = data;
|
|
var c4 = this5;
|
|
var x = c4.buffer.f[c4.fPos];
|
|
var y = c4.buffer.f[c4.fPos + 1];
|
|
var width = c4.buffer.f[c4.fPos + 2];
|
|
var height = c4.buffer.f[c4.fPos + 3];
|
|
var color1 = fill;
|
|
openfl_display__$internal_Context3DGraphics.tempColorTransform.redOffset = color1 >>> 16 & 255;
|
|
openfl_display__$internal_Context3DGraphics.tempColorTransform.greenOffset = color1 >>> 8 & 255;
|
|
openfl_display__$internal_Context3DGraphics.tempColorTransform.blueOffset = color1 & 255;
|
|
openfl_display__$internal_Context3DGraphics.tempColorTransform.__combine(graphics.__owner.__worldColorTransform);
|
|
matrix.identity();
|
|
matrix.scale(width,height);
|
|
matrix.tx = x;
|
|
matrix.ty = y;
|
|
matrix.concat(graphics.__owner.__renderTransform);
|
|
var shader1 = openfl_display__$internal_Context3DGraphics.maskRender ? renderer.__maskShader : renderer.__initGraphicsShader(null);
|
|
renderer.setShader(shader1);
|
|
renderer.applyMatrix(renderer.__getMatrix(matrix,1));
|
|
renderer.applyBitmapData(openfl_display__$internal_Context3DGraphics.blankBitmapData,true,repeat);
|
|
renderer.applyAlpha((color1 >>> 24 & 255) / 255 * graphics.__owner.__worldAlpha);
|
|
renderer.applyColorTransform(openfl_display__$internal_Context3DGraphics.tempColorTransform);
|
|
renderer.updateShader();
|
|
var vertexBuffer = openfl_display__$internal_Context3DGraphics.blankBitmapData.getVertexBuffer(context);
|
|
if(shader1.__position != null) {
|
|
context.setVertexBufferAt(shader1.__position.index,vertexBuffer,0,3);
|
|
}
|
|
if(shader1.__textureCoord != null) {
|
|
context.setVertexBufferAt(shader1.__textureCoord.index,vertexBuffer,3,2);
|
|
}
|
|
var indexBuffer = openfl_display__$internal_Context3DGraphics.blankBitmapData.getIndexBuffer(context);
|
|
context.drawTriangles(indexBuffer);
|
|
shaderBufferOffset += 4;
|
|
renderer.__clearShader();
|
|
}
|
|
break;
|
|
case 12:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.DRAW_TRIANGLES;
|
|
var this6 = data;
|
|
var c5 = this6;
|
|
var vertices = c5.buffer.o[c5.oPos];
|
|
var indices1 = c5.buffer.o[c5.oPos + 1];
|
|
var uvtData = c5.buffer.o[c5.oPos + 2];
|
|
var culling = c5.buffer.o[c5.oPos + 3];
|
|
var hasIndices1 = indices1 != null;
|
|
var numVertices = Math.floor(vertices.get_length() / 2);
|
|
var length1 = hasIndices1 ? indices1.get_length() : numVertices;
|
|
var hasUVData = uvtData != null;
|
|
var hasUVTData = hasUVData && uvtData.get_length() >= numVertices * 3;
|
|
var vertLength = hasUVTData ? 4 : 2;
|
|
var uvStride = hasUVTData ? 3 : 2;
|
|
var dataPerVertex = vertLength + 2;
|
|
var vertexBuffer1 = hasUVTData ? graphics.__vertexBufferUVT : graphics.__vertexBuffer;
|
|
var bufferPosition = hasUVTData ? vertexBufferPositionUVT : vertexBufferPosition;
|
|
var uMatrix1 = renderer.__getMatrix(graphics.__owner.__renderTransform,1);
|
|
var shader2;
|
|
if(shaderBuffer != null && !openfl_display__$internal_Context3DGraphics.maskRender) {
|
|
shader2 = renderer.__initShaderBuffer(shaderBuffer);
|
|
renderer.__setShaderBuffer(shaderBuffer);
|
|
renderer.applyMatrix(uMatrix1);
|
|
renderer.applyBitmapData(bitmap,false,repeat);
|
|
renderer.applyAlpha(1);
|
|
renderer.applyColorTransform(null);
|
|
renderer.__updateShaderBuffer(shaderBufferOffset);
|
|
} else {
|
|
shader2 = openfl_display__$internal_Context3DGraphics.maskRender ? renderer.__maskShader : renderer.__initGraphicsShader(null);
|
|
renderer.setShader(shader2);
|
|
renderer.applyMatrix(uMatrix1);
|
|
renderer.applyBitmapData(bitmap,smooth,repeat);
|
|
renderer.applyAlpha(graphics.__owner.__worldAlpha);
|
|
renderer.applyColorTransform(graphics.__owner.__worldColorTransform);
|
|
renderer.updateShader();
|
|
}
|
|
if(shader2.__position != null) {
|
|
context.setVertexBufferAt(shader2.__position.index,vertexBuffer1,bufferPosition,hasUVTData ? 4 : 2);
|
|
}
|
|
if(shader2.__textureCoord != null) {
|
|
context.setVertexBufferAt(shader2.__textureCoord.index,vertexBuffer1,bufferPosition + vertLength,2);
|
|
}
|
|
switch(culling) {
|
|
case 0:
|
|
context.setCulling(0);
|
|
break;
|
|
case 1:
|
|
context.setCulling(3);
|
|
break;
|
|
case 2:
|
|
context.setCulling(1);
|
|
break;
|
|
default:
|
|
}
|
|
context.__drawTriangles(0,length1);
|
|
shaderBufferOffset += length1;
|
|
if(hasUVTData) {
|
|
vertexBufferPositionUVT += dataPerVertex * length1;
|
|
} else {
|
|
vertexBufferPosition += dataPerVertex * length1;
|
|
}
|
|
switch(culling) {
|
|
case 1:case 2:
|
|
context.setCulling(0);
|
|
break;
|
|
default:
|
|
}
|
|
renderer.__clearShader();
|
|
break;
|
|
case 13:
|
|
bitmap = null;
|
|
fill = null;
|
|
shaderBuffer = null;
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = type;
|
|
break;
|
|
case 18:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.MOVE_TO;
|
|
var this7 = data;
|
|
var c6 = this7;
|
|
positionX = c6.buffer.f[c6.fPos];
|
|
positionY = c6.buffer.f[c6.fPos + 1];
|
|
break;
|
|
case 19:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = openfl_display__$internal_DrawCommandType.OVERRIDE_BLEND_MODE;
|
|
var this8 = data;
|
|
var c7 = this8;
|
|
renderer.__setBlendMode(c7.buffer.o[c7.oPos]);
|
|
break;
|
|
default:
|
|
switch(data.prev._hx_index) {
|
|
case 0:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 1:
|
|
data.iPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 2:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 3:
|
|
data.oPos += 1;
|
|
break;
|
|
case 4:
|
|
data.fPos += 6;
|
|
break;
|
|
case 5:
|
|
data.fPos += 4;
|
|
break;
|
|
case 6:
|
|
data.fPos += 3;
|
|
break;
|
|
case 7:
|
|
data.fPos += 4;
|
|
break;
|
|
case 8:
|
|
data.oPos += 3;
|
|
break;
|
|
case 9:
|
|
data.fPos += 4;
|
|
break;
|
|
case 10:
|
|
data.fPos += 5;
|
|
data.oPos += 1;
|
|
break;
|
|
case 12:
|
|
data.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
data.oPos += 2;
|
|
data.bPos += 2;
|
|
break;
|
|
case 15:
|
|
data.oPos += 4;
|
|
data.iiPos += 2;
|
|
data.ffPos += 1;
|
|
data.fPos += 1;
|
|
break;
|
|
case 16:
|
|
data.oPos += 4;
|
|
data.iPos += 1;
|
|
data.fPos += 2;
|
|
data.bPos += 1;
|
|
break;
|
|
case 17:
|
|
data.fPos += 2;
|
|
break;
|
|
case 18:
|
|
data.fPos += 2;
|
|
break;
|
|
case 19:
|
|
data.oPos += 1;
|
|
break;
|
|
case 20:
|
|
data.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
data.prev = type;
|
|
}
|
|
}
|
|
openfl_geom_Matrix.__pool.release(matrix);
|
|
}
|
|
graphics.__hardwareDirty = false;
|
|
graphics.set___dirty(false);
|
|
}
|
|
};
|
|
openfl_display__$internal_Context3DGraphics.renderMask = function(graphics,renderer) {
|
|
openfl_display__$internal_Context3DGraphics.maskRender = true;
|
|
openfl_display__$internal_Context3DGraphics.render(graphics,renderer);
|
|
openfl_display__$internal_Context3DGraphics.maskRender = false;
|
|
};
|
|
openfl_display__$internal_Context3DGraphics.resizeIndexBuffer = function(graphics,isQuad,length) {
|
|
if(isQuad) {
|
|
return;
|
|
}
|
|
var buffer = isQuad ? null : graphics.__triangleIndexBufferData;
|
|
var position = 0;
|
|
var newBuffer = null;
|
|
if(buffer == null) {
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer1 = null;
|
|
var len = null;
|
|
var this1;
|
|
if(length != null) {
|
|
this1 = new Uint16Array(length);
|
|
} else if(array != null) {
|
|
this1 = new Uint16Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Uint16Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Uint16Array(view);
|
|
} else if(buffer1 != null) {
|
|
if(len == null) {
|
|
this1 = new Uint16Array(buffer1,0);
|
|
} else {
|
|
this1 = new Uint16Array(buffer1,0,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
newBuffer = this1;
|
|
} else if(length > buffer.length) {
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer1 = null;
|
|
var len = null;
|
|
var this1;
|
|
if(length != null) {
|
|
this1 = new Uint16Array(length);
|
|
} else if(array != null) {
|
|
this1 = new Uint16Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Uint16Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Uint16Array(view);
|
|
} else if(buffer1 != null) {
|
|
if(len == null) {
|
|
this1 = new Uint16Array(buffer1,0);
|
|
} else {
|
|
this1 = new Uint16Array(buffer1,0,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
newBuffer = this1;
|
|
newBuffer.set(buffer);
|
|
position = buffer.length;
|
|
}
|
|
if(newBuffer != null) {
|
|
if(!isQuad) {
|
|
graphics.__triangleIndexBufferData = newBuffer;
|
|
}
|
|
}
|
|
};
|
|
openfl_display__$internal_Context3DGraphics.resizeVertexBuffer = function(graphics,hasUVTData,length) {
|
|
var buffer = hasUVTData ? graphics.__vertexBufferDataUVT : graphics.__vertexBufferData;
|
|
var newBuffer = null;
|
|
if(buffer == null) {
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer1 = null;
|
|
var len = null;
|
|
var this1;
|
|
if(length != null) {
|
|
this1 = new Float32Array(length);
|
|
} else if(array != null) {
|
|
this1 = new Float32Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Float32Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Float32Array(view);
|
|
} else if(buffer1 != null) {
|
|
if(len == null) {
|
|
this1 = new Float32Array(buffer1,0);
|
|
} else {
|
|
this1 = new Float32Array(buffer1,0,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
newBuffer = this1;
|
|
} else if(length > buffer.length) {
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer1 = null;
|
|
var len = null;
|
|
var this1;
|
|
if(length != null) {
|
|
this1 = new Float32Array(length);
|
|
} else if(array != null) {
|
|
this1 = new Float32Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Float32Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Float32Array(view);
|
|
} else if(buffer1 != null) {
|
|
if(len == null) {
|
|
this1 = new Float32Array(buffer1,0);
|
|
} else {
|
|
this1 = new Float32Array(buffer1,0,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
newBuffer = this1;
|
|
newBuffer.set(buffer);
|
|
}
|
|
if(newBuffer != null) {
|
|
if(hasUVTData) {
|
|
graphics.__vertexBufferDataUVT = newBuffer;
|
|
} else {
|
|
graphics.__vertexBufferData = newBuffer;
|
|
}
|
|
}
|
|
};
|
|
var openfl_display__$internal_Context3DMaskShader = function() {
|
|
if(this.__glFragmentSource == null) {
|
|
this.__glFragmentSource = "varying vec2 openfl_TextureCoordv;\n\n\t\tuniform sampler2D openfl_Texture;\n\n\t\tvoid main(void) {\n\n\t\t\tvec4 color = texture2D (openfl_Texture, openfl_TextureCoordv);\n\n\t\t\tif (color.a == 0.0) {\n\n\t\t\t\tdiscard;\n\n\t\t\t} else {\n\n\t\t\t\tgl_FragColor = color;\n\n\t\t\t}\n\n\t\t}";
|
|
}
|
|
if(this.__glVertexSource == null) {
|
|
this.__glVertexSource = "attribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\t\tvarying vec2 openfl_TextureCoordv;\n\n\t\tuniform mat4 openfl_Matrix;\n\n\t\tvoid main(void) {\n\n\t\t\topenfl_TextureCoordv = openfl_TextureCoord;\n\n\t\t\tgl_Position = openfl_Matrix * openfl_Position;\n\n\t\t}";
|
|
}
|
|
openfl_display_Shader.call(this);
|
|
this.__isGenerated = true;
|
|
this.__initGL();
|
|
};
|
|
$hxClasses["openfl.display._internal.Context3DMaskShader"] = openfl_display__$internal_Context3DMaskShader;
|
|
openfl_display__$internal_Context3DMaskShader.__name__ = "openfl.display._internal.Context3DMaskShader";
|
|
openfl_display__$internal_Context3DMaskShader.__super__ = openfl_display_Shader;
|
|
openfl_display__$internal_Context3DMaskShader.prototype = $extend(openfl_display_Shader.prototype,{
|
|
openfl_Position: null
|
|
,openfl_TextureCoord: null
|
|
,openfl_Matrix: null
|
|
,openfl_Texture: null
|
|
,__class__: openfl_display__$internal_Context3DMaskShader
|
|
});
|
|
var openfl_display__$internal_Context3DShape = function() { };
|
|
$hxClasses["openfl.display._internal.Context3DShape"] = openfl_display__$internal_Context3DShape;
|
|
openfl_display__$internal_Context3DShape.__name__ = "openfl.display._internal.Context3DShape";
|
|
openfl_display__$internal_Context3DShape.render = function(shape,renderer) {
|
|
if(!shape.__renderable || shape.__worldAlpha <= 0) {
|
|
return;
|
|
}
|
|
var graphics = shape.__graphics;
|
|
if(graphics != null) {
|
|
renderer.__setBlendMode(shape.__worldBlendMode);
|
|
renderer.__pushMaskObject(shape);
|
|
openfl_display__$internal_Context3DGraphics.render(graphics,renderer);
|
|
if(graphics.__bitmap != null && graphics.__visible) {
|
|
var context = renderer.__context3D;
|
|
var scale9Grid = shape.__worldScale9Grid;
|
|
var shader = renderer.__initDisplayShader(shape.__worldShader);
|
|
renderer.setShader(shader);
|
|
renderer.applyBitmapData(graphics.__bitmap,true);
|
|
renderer.applyMatrix(renderer.__getMatrix(graphics.__worldTransform,1));
|
|
renderer.applyAlpha(shape.__worldAlpha);
|
|
renderer.applyColorTransform(shape.__worldColorTransform);
|
|
renderer.updateShader();
|
|
var vertexBuffer = graphics.__bitmap.getVertexBuffer(context);
|
|
if(shader.__position != null) {
|
|
context.setVertexBufferAt(shader.__position.index,vertexBuffer,0,3);
|
|
}
|
|
if(shader.__textureCoord != null) {
|
|
context.setVertexBufferAt(shader.__textureCoord.index,vertexBuffer,3,2);
|
|
}
|
|
var indexBuffer = graphics.__bitmap.getIndexBuffer(context);
|
|
context.drawTriangles(indexBuffer);
|
|
renderer.__clearShader();
|
|
}
|
|
renderer.__popMaskObject(shape);
|
|
}
|
|
};
|
|
openfl_display__$internal_Context3DShape.renderMask = function(shape,renderer) {
|
|
var graphics = shape.__graphics;
|
|
if(graphics != null) {
|
|
openfl_display__$internal_Context3DGraphics.renderMask(graphics,renderer);
|
|
if(graphics.__bitmap != null) {
|
|
var context = renderer.__context3D;
|
|
var shader = renderer.__maskShader;
|
|
renderer.setShader(shader);
|
|
renderer.applyBitmapData(graphics.__bitmap,true);
|
|
renderer.applyMatrix(renderer.__getMatrix(graphics.__worldTransform,1));
|
|
renderer.updateShader();
|
|
var vertexBuffer = graphics.__bitmap.getVertexBuffer(context);
|
|
if(shader.__position != null) {
|
|
context.setVertexBufferAt(shader.__position.index,vertexBuffer,0,3);
|
|
}
|
|
if(shader.__textureCoord != null) {
|
|
context.setVertexBufferAt(shader.__textureCoord.index,vertexBuffer,3,2);
|
|
}
|
|
var indexBuffer = graphics.__bitmap.getIndexBuffer(context);
|
|
context.drawTriangles(indexBuffer);
|
|
renderer.__clearShader();
|
|
}
|
|
}
|
|
};
|
|
var openfl_display__$internal_Context3DTextField = function() { };
|
|
$hxClasses["openfl.display._internal.Context3DTextField"] = openfl_display__$internal_Context3DTextField;
|
|
openfl_display__$internal_Context3DTextField.__name__ = "openfl.display._internal.Context3DTextField";
|
|
openfl_display__$internal_Context3DTextField.render = function(textField,renderer) {
|
|
var renderer1 = renderer.__softwareRenderer;
|
|
var transform = textField.__worldTransform;
|
|
var textEngine = textField.__textEngine;
|
|
var bounds = textEngine.background || textEngine.border ? textEngine.bounds : textEngine.textBounds;
|
|
var graphics = textField.__graphics;
|
|
if(textField.__dirty) {
|
|
textField.__updateLayout();
|
|
if(graphics.__bounds == null) {
|
|
graphics.__bounds = new openfl_geom_Rectangle();
|
|
}
|
|
graphics.__bounds.copyFrom(bounds);
|
|
}
|
|
graphics.__update(renderer1.__worldTransform);
|
|
if(textField.__dirty || graphics.__softwareDirty) {
|
|
var width = graphics.__width;
|
|
var height = graphics.__height;
|
|
if((textEngine.text == null || textEngine.text == "") && !textEngine.background && !textEngine.border && !textEngine.__hasFocus && (textEngine.type != 1 || !textEngine.selectable) || (textEngine.width <= 0 || textEngine.height <= 0) && textEngine.autoSize != 2) {
|
|
textField.__graphics.__canvas = null;
|
|
textField.__graphics.__context = null;
|
|
textField.__graphics.__bitmap = null;
|
|
textField.__graphics.__softwareDirty = false;
|
|
textField.__graphics.set___dirty(false);
|
|
textField.__dirty = false;
|
|
} else {
|
|
if(textField.__graphics.__canvas == null) {
|
|
textField.__graphics.__canvas = window.document.createElement("canvas");
|
|
textField.__graphics.__context = textField.__graphics.__canvas.getContext("2d");
|
|
}
|
|
openfl_display__$internal_CanvasTextField.context = graphics.__context;
|
|
var transform = graphics.__renderTransform;
|
|
if(renderer1.__isDOM) {
|
|
var scale = renderer1.pixelRatio;
|
|
graphics.__canvas.width = width * scale | 0;
|
|
graphics.__canvas.height = height * scale | 0;
|
|
graphics.__canvas.style.width = width + "px";
|
|
graphics.__canvas.style.height = height + "px";
|
|
var matrix = openfl_geom_Matrix.__pool.get();
|
|
matrix.copyFrom(transform);
|
|
matrix.scale(scale,scale);
|
|
renderer1.setTransform(matrix,openfl_display__$internal_CanvasTextField.context);
|
|
openfl_geom_Matrix.__pool.release(matrix);
|
|
} else {
|
|
graphics.__canvas.width = width;
|
|
graphics.__canvas.height = height;
|
|
openfl_display__$internal_CanvasTextField.context.setTransform(transform.a,transform.b,transform.c,transform.d,transform.tx,transform.ty);
|
|
}
|
|
if(openfl_display__$internal_CanvasTextField.clearRect == null) {
|
|
openfl_display__$internal_CanvasTextField.clearRect = (typeof navigator !== 'undefined' && typeof navigator['isCocoonJS'] !== 'undefined');
|
|
}
|
|
if(openfl_display__$internal_CanvasTextField.clearRect) {
|
|
openfl_display__$internal_CanvasTextField.context.clearRect(0,0,graphics.__canvas.width,graphics.__canvas.height);
|
|
}
|
|
if(textEngine.text != null && textEngine.text != "" || textEngine.__hasFocus) {
|
|
var text = textEngine.text;
|
|
if(!renderer1.__allowSmoothing || textEngine.antiAliasType == 0 && textEngine.sharpness == 400) {
|
|
graphics.__context.imageSmoothingEnabled = false;
|
|
} else {
|
|
graphics.__context.imageSmoothingEnabled = true;
|
|
}
|
|
if(textEngine.border || textEngine.background) {
|
|
openfl_display__$internal_CanvasTextField.context.rect(0.5,0.5,bounds.width - 1,bounds.height - 1);
|
|
if(textEngine.background) {
|
|
var tmp = StringTools.hex(textEngine.backgroundColor & 16777215,6);
|
|
openfl_display__$internal_CanvasTextField.context.fillStyle = "#" + tmp;
|
|
openfl_display__$internal_CanvasTextField.context.fill();
|
|
}
|
|
if(textEngine.border) {
|
|
openfl_display__$internal_CanvasTextField.context.lineWidth = 1;
|
|
var tmp = StringTools.hex(textEngine.borderColor & 16777215,6);
|
|
openfl_display__$internal_CanvasTextField.context.strokeStyle = "#" + tmp;
|
|
openfl_display__$internal_CanvasTextField.context.stroke();
|
|
}
|
|
}
|
|
openfl_display__$internal_CanvasTextField.context.textBaseline = "alphabetic";
|
|
openfl_display__$internal_CanvasTextField.context.textAlign = "start";
|
|
var scrollX = -textField.get_scrollH();
|
|
var scrollY = 0.0;
|
|
var _g = 0;
|
|
var _g1 = textField.get_scrollV() - 1;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
scrollY -= textEngine.lineHeights.get(i);
|
|
}
|
|
var advance;
|
|
var group = textEngine.layoutGroups.iterator();
|
|
while(group.hasNext()) {
|
|
var group1 = group.next();
|
|
if(group1.lineIndex < textField.get_scrollV() - 1) {
|
|
continue;
|
|
}
|
|
if(group1.lineIndex > textEngine.get_bottomScrollV() - 1) {
|
|
break;
|
|
}
|
|
var color = "#" + StringTools.hex(group1.format.color & 16777215,6);
|
|
openfl_display__$internal_CanvasTextField.context.font = openfl_text__$internal_TextEngine.getFont(group1.format);
|
|
openfl_display__$internal_CanvasTextField.context.fillStyle = color;
|
|
openfl_display__$internal_CanvasTextField.context.fillText(text.substring(group1.startIndex,group1.endIndex),group1.offsetX + scrollX - bounds.x,group1.offsetY + group1.ascent + scrollY - bounds.y);
|
|
if(textField.__caretIndex > -1 && textEngine.selectable) {
|
|
if(textField.__selectionIndex == textField.__caretIndex) {
|
|
if(textField.__showCursor && group1.startIndex <= textField.__caretIndex && group1.endIndex >= textField.__caretIndex) {
|
|
advance = 0.0;
|
|
var _g = 0;
|
|
var _g1 = textField.__caretIndex - group1.startIndex;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(group1.positions.length <= i) {
|
|
break;
|
|
}
|
|
advance += group1.positions[i];
|
|
}
|
|
var scrollY1 = 0.0;
|
|
var _g2 = textField.get_scrollV();
|
|
var _g3 = group1.lineIndex + 1;
|
|
while(_g2 < _g3) {
|
|
var i1 = _g2++;
|
|
scrollY1 += textEngine.lineHeights.get(i1 - 1);
|
|
}
|
|
openfl_display__$internal_CanvasTextField.context.beginPath();
|
|
var tmp = StringTools.hex(group1.format.color & 16777215,6);
|
|
openfl_display__$internal_CanvasTextField.context.strokeStyle = "#" + tmp;
|
|
openfl_display__$internal_CanvasTextField.context.moveTo(group1.offsetX + advance - textField.get_scrollH() - bounds.x,scrollY1 + 2 - bounds.y);
|
|
openfl_display__$internal_CanvasTextField.context.lineWidth = 1;
|
|
openfl_display__$internal_CanvasTextField.context.lineTo(group1.offsetX + advance - textField.get_scrollH() - bounds.x,scrollY1 + openfl_text__$internal_TextEngine.getFormatHeight(textField.get_defaultTextFormat()) - 1 - bounds.y);
|
|
openfl_display__$internal_CanvasTextField.context.stroke();
|
|
openfl_display__$internal_CanvasTextField.context.closePath();
|
|
}
|
|
} else if(group1.startIndex <= textField.__caretIndex && group1.endIndex >= textField.__caretIndex || group1.startIndex <= textField.__selectionIndex && group1.endIndex >= textField.__selectionIndex || group1.startIndex > textField.__caretIndex && group1.endIndex < textField.__selectionIndex || group1.startIndex > textField.__selectionIndex && group1.endIndex < textField.__caretIndex) {
|
|
var selectionStart = Math.min(textField.__selectionIndex,textField.__caretIndex) | 0;
|
|
var selectionEnd = Math.max(textField.__selectionIndex,textField.__caretIndex) | 0;
|
|
if(group1.startIndex > selectionStart) {
|
|
selectionStart = group1.startIndex;
|
|
}
|
|
if(group1.endIndex < selectionEnd) {
|
|
selectionEnd = group1.endIndex;
|
|
}
|
|
var end;
|
|
var start = textField.getCharBoundaries(selectionStart);
|
|
if(selectionEnd >= group1.endIndex) {
|
|
end = textField.getCharBoundaries(group1.endIndex - 1);
|
|
if(end != null) {
|
|
end.x += end.width + 2;
|
|
}
|
|
} else {
|
|
end = textField.getCharBoundaries(selectionEnd);
|
|
}
|
|
if(start != null && end != null) {
|
|
openfl_display__$internal_CanvasTextField.context.fillStyle = "#000000";
|
|
openfl_display__$internal_CanvasTextField.context.fillRect(start.x + scrollX,start.y + scrollY,end.x - start.x,group1.height);
|
|
openfl_display__$internal_CanvasTextField.context.fillStyle = "#FFFFFF";
|
|
openfl_display__$internal_CanvasTextField.context.fillText(text.substring(selectionStart,selectionEnd),scrollX + start.x,group1.offsetY + group1.ascent + scrollY);
|
|
}
|
|
}
|
|
}
|
|
if(group1.format.underline) {
|
|
openfl_display__$internal_CanvasTextField.context.beginPath();
|
|
openfl_display__$internal_CanvasTextField.context.strokeStyle = color;
|
|
openfl_display__$internal_CanvasTextField.context.lineWidth = 1;
|
|
var x = group1.offsetX + scrollX - bounds.x;
|
|
var y = Math.floor(group1.offsetY + scrollY + group1.ascent - bounds.y) + 0.5;
|
|
openfl_display__$internal_CanvasTextField.context.moveTo(x,y);
|
|
openfl_display__$internal_CanvasTextField.context.lineTo(x + group1.width,y);
|
|
openfl_display__$internal_CanvasTextField.context.stroke();
|
|
openfl_display__$internal_CanvasTextField.context.closePath();
|
|
}
|
|
}
|
|
} else {
|
|
if(textEngine.border || textEngine.background) {
|
|
if(textEngine.border) {
|
|
openfl_display__$internal_CanvasTextField.context.rect(0.5,0.5,bounds.width - 1,bounds.height - 1);
|
|
} else {
|
|
openfl_display__$internal_CanvasTextField.context.rect(0,0,bounds.width,bounds.height);
|
|
}
|
|
if(textEngine.background) {
|
|
var tmp = StringTools.hex(textEngine.backgroundColor & 16777215,6);
|
|
openfl_display__$internal_CanvasTextField.context.fillStyle = "#" + tmp;
|
|
openfl_display__$internal_CanvasTextField.context.fill();
|
|
}
|
|
if(textEngine.border) {
|
|
openfl_display__$internal_CanvasTextField.context.lineWidth = 1;
|
|
openfl_display__$internal_CanvasTextField.context.lineCap = "square";
|
|
var tmp = StringTools.hex(textEngine.borderColor & 16777215,6);
|
|
openfl_display__$internal_CanvasTextField.context.strokeStyle = "#" + tmp;
|
|
openfl_display__$internal_CanvasTextField.context.stroke();
|
|
}
|
|
}
|
|
if(textField.__caretIndex > -1 && textEngine.selectable && textField.__showCursor) {
|
|
var scrollX = -textField.get_scrollH();
|
|
var scrollY = 0.0;
|
|
var _g = 0;
|
|
var _g1 = textField.get_scrollV() - 1;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
scrollY += textEngine.lineHeights.get(i);
|
|
}
|
|
openfl_display__$internal_CanvasTextField.context.beginPath();
|
|
var tmp = StringTools.hex(textField.get_defaultTextFormat().color & 16777215,6);
|
|
openfl_display__$internal_CanvasTextField.context.strokeStyle = "#" + tmp;
|
|
openfl_display__$internal_CanvasTextField.context.moveTo(scrollX + 2.5,scrollY + 2.5);
|
|
openfl_display__$internal_CanvasTextField.context.lineWidth = 1;
|
|
openfl_display__$internal_CanvasTextField.context.lineTo(scrollX + 2.5,scrollY + openfl_text__$internal_TextEngine.getFormatHeight(textField.get_defaultTextFormat()) - 1);
|
|
openfl_display__$internal_CanvasTextField.context.stroke();
|
|
openfl_display__$internal_CanvasTextField.context.closePath();
|
|
}
|
|
}
|
|
graphics.__bitmap = openfl_display_BitmapData.fromCanvas(textField.__graphics.__canvas);
|
|
graphics.__visible = true;
|
|
textField.__dirty = false;
|
|
graphics.__softwareDirty = false;
|
|
graphics.set___dirty(false);
|
|
}
|
|
}
|
|
textField.__graphics.__hardwareDirty = false;
|
|
};
|
|
openfl_display__$internal_Context3DTextField.renderMask = function(textField,renderer) {
|
|
var renderer1 = renderer.__softwareRenderer;
|
|
var transform = textField.__worldTransform;
|
|
var textEngine = textField.__textEngine;
|
|
var bounds = textEngine.background || textEngine.border ? textEngine.bounds : textEngine.textBounds;
|
|
var graphics = textField.__graphics;
|
|
if(textField.__dirty) {
|
|
textField.__updateLayout();
|
|
if(graphics.__bounds == null) {
|
|
graphics.__bounds = new openfl_geom_Rectangle();
|
|
}
|
|
graphics.__bounds.copyFrom(bounds);
|
|
}
|
|
graphics.__update(renderer1.__worldTransform);
|
|
if(textField.__dirty || graphics.__softwareDirty) {
|
|
var width = graphics.__width;
|
|
var height = graphics.__height;
|
|
if((textEngine.text == null || textEngine.text == "") && !textEngine.background && !textEngine.border && !textEngine.__hasFocus && (textEngine.type != 1 || !textEngine.selectable) || (textEngine.width <= 0 || textEngine.height <= 0) && textEngine.autoSize != 2) {
|
|
textField.__graphics.__canvas = null;
|
|
textField.__graphics.__context = null;
|
|
textField.__graphics.__bitmap = null;
|
|
textField.__graphics.__softwareDirty = false;
|
|
textField.__graphics.set___dirty(false);
|
|
textField.__dirty = false;
|
|
} else {
|
|
if(textField.__graphics.__canvas == null) {
|
|
textField.__graphics.__canvas = window.document.createElement("canvas");
|
|
textField.__graphics.__context = textField.__graphics.__canvas.getContext("2d");
|
|
}
|
|
openfl_display__$internal_CanvasTextField.context = graphics.__context;
|
|
var transform = graphics.__renderTransform;
|
|
if(renderer1.__isDOM) {
|
|
var scale = renderer1.pixelRatio;
|
|
graphics.__canvas.width = width * scale | 0;
|
|
graphics.__canvas.height = height * scale | 0;
|
|
graphics.__canvas.style.width = width + "px";
|
|
graphics.__canvas.style.height = height + "px";
|
|
var matrix = openfl_geom_Matrix.__pool.get();
|
|
matrix.copyFrom(transform);
|
|
matrix.scale(scale,scale);
|
|
renderer1.setTransform(matrix,openfl_display__$internal_CanvasTextField.context);
|
|
openfl_geom_Matrix.__pool.release(matrix);
|
|
} else {
|
|
graphics.__canvas.width = width;
|
|
graphics.__canvas.height = height;
|
|
openfl_display__$internal_CanvasTextField.context.setTransform(transform.a,transform.b,transform.c,transform.d,transform.tx,transform.ty);
|
|
}
|
|
if(openfl_display__$internal_CanvasTextField.clearRect == null) {
|
|
openfl_display__$internal_CanvasTextField.clearRect = (typeof navigator !== 'undefined' && typeof navigator['isCocoonJS'] !== 'undefined');
|
|
}
|
|
if(openfl_display__$internal_CanvasTextField.clearRect) {
|
|
openfl_display__$internal_CanvasTextField.context.clearRect(0,0,graphics.__canvas.width,graphics.__canvas.height);
|
|
}
|
|
if(textEngine.text != null && textEngine.text != "" || textEngine.__hasFocus) {
|
|
var text = textEngine.text;
|
|
if(!renderer1.__allowSmoothing || textEngine.antiAliasType == 0 && textEngine.sharpness == 400) {
|
|
graphics.__context.imageSmoothingEnabled = false;
|
|
} else {
|
|
graphics.__context.imageSmoothingEnabled = true;
|
|
}
|
|
if(textEngine.border || textEngine.background) {
|
|
openfl_display__$internal_CanvasTextField.context.rect(0.5,0.5,bounds.width - 1,bounds.height - 1);
|
|
if(textEngine.background) {
|
|
var tmp = StringTools.hex(textEngine.backgroundColor & 16777215,6);
|
|
openfl_display__$internal_CanvasTextField.context.fillStyle = "#" + tmp;
|
|
openfl_display__$internal_CanvasTextField.context.fill();
|
|
}
|
|
if(textEngine.border) {
|
|
openfl_display__$internal_CanvasTextField.context.lineWidth = 1;
|
|
var tmp = StringTools.hex(textEngine.borderColor & 16777215,6);
|
|
openfl_display__$internal_CanvasTextField.context.strokeStyle = "#" + tmp;
|
|
openfl_display__$internal_CanvasTextField.context.stroke();
|
|
}
|
|
}
|
|
openfl_display__$internal_CanvasTextField.context.textBaseline = "alphabetic";
|
|
openfl_display__$internal_CanvasTextField.context.textAlign = "start";
|
|
var scrollX = -textField.get_scrollH();
|
|
var scrollY = 0.0;
|
|
var _g = 0;
|
|
var _g1 = textField.get_scrollV() - 1;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
scrollY -= textEngine.lineHeights.get(i);
|
|
}
|
|
var advance;
|
|
var group = textEngine.layoutGroups.iterator();
|
|
while(group.hasNext()) {
|
|
var group1 = group.next();
|
|
if(group1.lineIndex < textField.get_scrollV() - 1) {
|
|
continue;
|
|
}
|
|
if(group1.lineIndex > textEngine.get_bottomScrollV() - 1) {
|
|
break;
|
|
}
|
|
var color = "#" + StringTools.hex(group1.format.color & 16777215,6);
|
|
openfl_display__$internal_CanvasTextField.context.font = openfl_text__$internal_TextEngine.getFont(group1.format);
|
|
openfl_display__$internal_CanvasTextField.context.fillStyle = color;
|
|
openfl_display__$internal_CanvasTextField.context.fillText(text.substring(group1.startIndex,group1.endIndex),group1.offsetX + scrollX - bounds.x,group1.offsetY + group1.ascent + scrollY - bounds.y);
|
|
if(textField.__caretIndex > -1 && textEngine.selectable) {
|
|
if(textField.__selectionIndex == textField.__caretIndex) {
|
|
if(textField.__showCursor && group1.startIndex <= textField.__caretIndex && group1.endIndex >= textField.__caretIndex) {
|
|
advance = 0.0;
|
|
var _g = 0;
|
|
var _g1 = textField.__caretIndex - group1.startIndex;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(group1.positions.length <= i) {
|
|
break;
|
|
}
|
|
advance += group1.positions[i];
|
|
}
|
|
var scrollY1 = 0.0;
|
|
var _g2 = textField.get_scrollV();
|
|
var _g3 = group1.lineIndex + 1;
|
|
while(_g2 < _g3) {
|
|
var i1 = _g2++;
|
|
scrollY1 += textEngine.lineHeights.get(i1 - 1);
|
|
}
|
|
openfl_display__$internal_CanvasTextField.context.beginPath();
|
|
var tmp = StringTools.hex(group1.format.color & 16777215,6);
|
|
openfl_display__$internal_CanvasTextField.context.strokeStyle = "#" + tmp;
|
|
openfl_display__$internal_CanvasTextField.context.moveTo(group1.offsetX + advance - textField.get_scrollH() - bounds.x,scrollY1 + 2 - bounds.y);
|
|
openfl_display__$internal_CanvasTextField.context.lineWidth = 1;
|
|
openfl_display__$internal_CanvasTextField.context.lineTo(group1.offsetX + advance - textField.get_scrollH() - bounds.x,scrollY1 + openfl_text__$internal_TextEngine.getFormatHeight(textField.get_defaultTextFormat()) - 1 - bounds.y);
|
|
openfl_display__$internal_CanvasTextField.context.stroke();
|
|
openfl_display__$internal_CanvasTextField.context.closePath();
|
|
}
|
|
} else if(group1.startIndex <= textField.__caretIndex && group1.endIndex >= textField.__caretIndex || group1.startIndex <= textField.__selectionIndex && group1.endIndex >= textField.__selectionIndex || group1.startIndex > textField.__caretIndex && group1.endIndex < textField.__selectionIndex || group1.startIndex > textField.__selectionIndex && group1.endIndex < textField.__caretIndex) {
|
|
var selectionStart = Math.min(textField.__selectionIndex,textField.__caretIndex) | 0;
|
|
var selectionEnd = Math.max(textField.__selectionIndex,textField.__caretIndex) | 0;
|
|
if(group1.startIndex > selectionStart) {
|
|
selectionStart = group1.startIndex;
|
|
}
|
|
if(group1.endIndex < selectionEnd) {
|
|
selectionEnd = group1.endIndex;
|
|
}
|
|
var end;
|
|
var start = textField.getCharBoundaries(selectionStart);
|
|
if(selectionEnd >= group1.endIndex) {
|
|
end = textField.getCharBoundaries(group1.endIndex - 1);
|
|
if(end != null) {
|
|
end.x += end.width + 2;
|
|
}
|
|
} else {
|
|
end = textField.getCharBoundaries(selectionEnd);
|
|
}
|
|
if(start != null && end != null) {
|
|
openfl_display__$internal_CanvasTextField.context.fillStyle = "#000000";
|
|
openfl_display__$internal_CanvasTextField.context.fillRect(start.x + scrollX,start.y + scrollY,end.x - start.x,group1.height);
|
|
openfl_display__$internal_CanvasTextField.context.fillStyle = "#FFFFFF";
|
|
openfl_display__$internal_CanvasTextField.context.fillText(text.substring(selectionStart,selectionEnd),scrollX + start.x,group1.offsetY + group1.ascent + scrollY);
|
|
}
|
|
}
|
|
}
|
|
if(group1.format.underline) {
|
|
openfl_display__$internal_CanvasTextField.context.beginPath();
|
|
openfl_display__$internal_CanvasTextField.context.strokeStyle = color;
|
|
openfl_display__$internal_CanvasTextField.context.lineWidth = 1;
|
|
var x = group1.offsetX + scrollX - bounds.x;
|
|
var y = Math.floor(group1.offsetY + scrollY + group1.ascent - bounds.y) + 0.5;
|
|
openfl_display__$internal_CanvasTextField.context.moveTo(x,y);
|
|
openfl_display__$internal_CanvasTextField.context.lineTo(x + group1.width,y);
|
|
openfl_display__$internal_CanvasTextField.context.stroke();
|
|
openfl_display__$internal_CanvasTextField.context.closePath();
|
|
}
|
|
}
|
|
} else {
|
|
if(textEngine.border || textEngine.background) {
|
|
if(textEngine.border) {
|
|
openfl_display__$internal_CanvasTextField.context.rect(0.5,0.5,bounds.width - 1,bounds.height - 1);
|
|
} else {
|
|
openfl_display__$internal_CanvasTextField.context.rect(0,0,bounds.width,bounds.height);
|
|
}
|
|
if(textEngine.background) {
|
|
var tmp = StringTools.hex(textEngine.backgroundColor & 16777215,6);
|
|
openfl_display__$internal_CanvasTextField.context.fillStyle = "#" + tmp;
|
|
openfl_display__$internal_CanvasTextField.context.fill();
|
|
}
|
|
if(textEngine.border) {
|
|
openfl_display__$internal_CanvasTextField.context.lineWidth = 1;
|
|
openfl_display__$internal_CanvasTextField.context.lineCap = "square";
|
|
var tmp = StringTools.hex(textEngine.borderColor & 16777215,6);
|
|
openfl_display__$internal_CanvasTextField.context.strokeStyle = "#" + tmp;
|
|
openfl_display__$internal_CanvasTextField.context.stroke();
|
|
}
|
|
}
|
|
if(textField.__caretIndex > -1 && textEngine.selectable && textField.__showCursor) {
|
|
var scrollX = -textField.get_scrollH();
|
|
var scrollY = 0.0;
|
|
var _g = 0;
|
|
var _g1 = textField.get_scrollV() - 1;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
scrollY += textEngine.lineHeights.get(i);
|
|
}
|
|
openfl_display__$internal_CanvasTextField.context.beginPath();
|
|
var tmp = StringTools.hex(textField.get_defaultTextFormat().color & 16777215,6);
|
|
openfl_display__$internal_CanvasTextField.context.strokeStyle = "#" + tmp;
|
|
openfl_display__$internal_CanvasTextField.context.moveTo(scrollX + 2.5,scrollY + 2.5);
|
|
openfl_display__$internal_CanvasTextField.context.lineWidth = 1;
|
|
openfl_display__$internal_CanvasTextField.context.lineTo(scrollX + 2.5,scrollY + openfl_text__$internal_TextEngine.getFormatHeight(textField.get_defaultTextFormat()) - 1);
|
|
openfl_display__$internal_CanvasTextField.context.stroke();
|
|
openfl_display__$internal_CanvasTextField.context.closePath();
|
|
}
|
|
}
|
|
graphics.__bitmap = openfl_display_BitmapData.fromCanvas(textField.__graphics.__canvas);
|
|
graphics.__visible = true;
|
|
textField.__dirty = false;
|
|
graphics.__softwareDirty = false;
|
|
graphics.set___dirty(false);
|
|
}
|
|
}
|
|
textField.__graphics.__hardwareDirty = false;
|
|
};
|
|
var openfl_display__$internal_DOMBitmap = function() { };
|
|
$hxClasses["openfl.display._internal.DOMBitmap"] = openfl_display__$internal_DOMBitmap;
|
|
openfl_display__$internal_DOMBitmap.__name__ = "openfl.display._internal.DOMBitmap";
|
|
openfl_display__$internal_DOMBitmap.clear = function(bitmap,renderer) {
|
|
if(bitmap.__image != null) {
|
|
renderer.element.removeChild(bitmap.__image);
|
|
bitmap.__image = null;
|
|
bitmap.__style = null;
|
|
}
|
|
if(bitmap.__canvas != null) {
|
|
renderer.element.removeChild(bitmap.__canvas);
|
|
bitmap.__canvas = null;
|
|
bitmap.__style = null;
|
|
}
|
|
};
|
|
openfl_display__$internal_DOMBitmap.render = function(bitmap,renderer) {
|
|
if(bitmap.stage != null && bitmap.__worldVisible && bitmap.__renderable && bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid && bitmap.__bitmapData.readable) {
|
|
renderer.__pushMaskObject(bitmap);
|
|
if(bitmap.__bitmapData.image.buffer.__srcImage != null) {
|
|
openfl_display__$internal_DOMBitmap.renderImage(bitmap,renderer);
|
|
} else {
|
|
openfl_display__$internal_DOMBitmap.renderCanvas(bitmap,renderer);
|
|
}
|
|
renderer.__popMaskObject(bitmap);
|
|
} else {
|
|
openfl_display__$internal_DOMBitmap.clear(bitmap,renderer);
|
|
}
|
|
};
|
|
openfl_display__$internal_DOMBitmap.renderCanvas = function(bitmap,renderer) {
|
|
if(bitmap.__image != null) {
|
|
renderer.element.removeChild(bitmap.__image);
|
|
bitmap.__image = null;
|
|
}
|
|
if(bitmap.__canvas == null) {
|
|
bitmap.__canvas = window.document.createElement("canvas");
|
|
bitmap.__context = bitmap.__canvas.getContext("2d");
|
|
bitmap.__imageVersion = -1;
|
|
if(!renderer.__allowSmoothing || !bitmap.smoothing) {
|
|
bitmap.__context.imageSmoothingEnabled = false;
|
|
}
|
|
renderer.__initializeElement(bitmap,bitmap.__canvas);
|
|
}
|
|
if(bitmap.__imageVersion != bitmap.__bitmapData.image.version) {
|
|
lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(bitmap.__bitmapData.image);
|
|
bitmap.__canvas.width = bitmap.__bitmapData.width + 1;
|
|
bitmap.__canvas.width = bitmap.__bitmapData.width;
|
|
bitmap.__canvas.height = bitmap.__bitmapData.height;
|
|
bitmap.__context.drawImage(bitmap.__bitmapData.image.buffer.__srcCanvas,0,0);
|
|
bitmap.__imageVersion = bitmap.__bitmapData.image.version;
|
|
}
|
|
renderer.__updateClip(bitmap);
|
|
renderer.__applyStyle(bitmap,true,true,true);
|
|
};
|
|
openfl_display__$internal_DOMBitmap.renderImage = function(bitmap,renderer) {
|
|
if(bitmap.__canvas != null) {
|
|
renderer.element.removeChild(bitmap.__canvas);
|
|
bitmap.__canvas = null;
|
|
}
|
|
if(bitmap.__image == null) {
|
|
bitmap.__image = window.document.createElement("img");
|
|
bitmap.__image.crossOrigin = "Anonymous";
|
|
bitmap.__image.src = bitmap.__bitmapData.image.buffer.__srcImage.src;
|
|
renderer.__initializeElement(bitmap,bitmap.__image);
|
|
}
|
|
renderer.__updateClip(bitmap);
|
|
renderer.__applyStyle(bitmap,true,true,true);
|
|
};
|
|
var openfl_display__$internal_DOMDisplayObject = function() { };
|
|
$hxClasses["openfl.display._internal.DOMDisplayObject"] = openfl_display__$internal_DOMDisplayObject;
|
|
openfl_display__$internal_DOMDisplayObject.__name__ = "openfl.display._internal.DOMDisplayObject";
|
|
openfl_display__$internal_DOMDisplayObject.clear = function(displayObject,renderer) {
|
|
if(displayObject.__cacheBitmap != null) {
|
|
openfl_display__$internal_DOMBitmap.clear(displayObject.__cacheBitmap,renderer);
|
|
}
|
|
openfl_display__$internal_DOMShape.clear(displayObject,renderer);
|
|
};
|
|
openfl_display__$internal_DOMDisplayObject.render = function(displayObject,renderer) {
|
|
var tmp = displayObject.opaqueBackground != null && !displayObject.__isCacheBitmapRender && displayObject.get_width() > 0 && displayObject.get_height() > 0;
|
|
var graphics = displayObject.__graphics;
|
|
if(displayObject.stage != null && displayObject.__worldVisible && displayObject.__renderable && graphics != null) {
|
|
openfl_display__$internal_CanvasGraphics.render(graphics,renderer.__canvasRenderer);
|
|
if(graphics.__softwareDirty || displayObject.__worldAlphaChanged || displayObject.__canvas != graphics.__canvas) {
|
|
if(graphics.__canvas != null) {
|
|
if(displayObject.__canvas != graphics.__canvas) {
|
|
if(displayObject.__canvas != null) {
|
|
renderer.element.removeChild(displayObject.__canvas);
|
|
}
|
|
displayObject.__canvas = graphics.__canvas;
|
|
displayObject.__context = graphics.__context;
|
|
renderer.__initializeElement(displayObject,displayObject.__canvas);
|
|
}
|
|
} else {
|
|
openfl_display__$internal_DOMShape.clear(displayObject,renderer);
|
|
}
|
|
}
|
|
if(displayObject.__canvas != null) {
|
|
renderer.__pushMaskObject(displayObject);
|
|
var cacheTransform = displayObject.__renderTransform;
|
|
displayObject.__renderTransform = graphics.__worldTransform;
|
|
if(graphics.__transformDirty) {
|
|
graphics.__transformDirty = false;
|
|
displayObject.__renderTransformChanged = true;
|
|
}
|
|
renderer.__updateClip(displayObject);
|
|
renderer.__applyStyle(displayObject,true,true,true);
|
|
displayObject.__renderTransform = cacheTransform;
|
|
renderer.__popMaskObject(displayObject);
|
|
}
|
|
} else {
|
|
openfl_display__$internal_DOMShape.clear(displayObject,renderer);
|
|
}
|
|
};
|
|
var openfl_display__$internal_DOMShape = function() { };
|
|
$hxClasses["openfl.display._internal.DOMShape"] = openfl_display__$internal_DOMShape;
|
|
openfl_display__$internal_DOMShape.__name__ = "openfl.display._internal.DOMShape";
|
|
openfl_display__$internal_DOMShape.clear = function(shape,renderer) {
|
|
if(shape.__canvas != null) {
|
|
renderer.element.removeChild(shape.__canvas);
|
|
shape.__canvas = null;
|
|
shape.__style = null;
|
|
}
|
|
};
|
|
openfl_display__$internal_DOMShape.render = function(shape,renderer) {
|
|
var graphics = shape.__graphics;
|
|
if(shape.stage != null && shape.__worldVisible && shape.__renderable && graphics != null) {
|
|
openfl_display__$internal_CanvasGraphics.render(graphics,renderer.__canvasRenderer);
|
|
if(graphics.__softwareDirty || shape.__worldAlphaChanged || shape.__canvas != graphics.__canvas) {
|
|
if(graphics.__canvas != null) {
|
|
if(shape.__canvas != graphics.__canvas) {
|
|
if(shape.__canvas != null) {
|
|
renderer.element.removeChild(shape.__canvas);
|
|
}
|
|
shape.__canvas = graphics.__canvas;
|
|
shape.__context = graphics.__context;
|
|
renderer.__initializeElement(shape,shape.__canvas);
|
|
}
|
|
} else {
|
|
openfl_display__$internal_DOMShape.clear(shape,renderer);
|
|
}
|
|
}
|
|
if(shape.__canvas != null) {
|
|
renderer.__pushMaskObject(shape);
|
|
var cacheTransform = shape.__renderTransform;
|
|
shape.__renderTransform = graphics.__worldTransform;
|
|
if(graphics.__transformDirty) {
|
|
graphics.__transformDirty = false;
|
|
shape.__renderTransformChanged = true;
|
|
}
|
|
renderer.__updateClip(shape);
|
|
renderer.__applyStyle(shape,true,true,true);
|
|
shape.__renderTransform = cacheTransform;
|
|
renderer.__popMaskObject(shape);
|
|
}
|
|
} else {
|
|
openfl_display__$internal_DOMShape.clear(shape,renderer);
|
|
}
|
|
};
|
|
var openfl_display__$internal_DOMTextField = function() { };
|
|
$hxClasses["openfl.display._internal.DOMTextField"] = openfl_display__$internal_DOMTextField;
|
|
openfl_display__$internal_DOMTextField.__name__ = "openfl.display._internal.DOMTextField";
|
|
openfl_display__$internal_DOMTextField.clear = function(textField,renderer) {
|
|
if(textField.__div != null) {
|
|
renderer.element.removeChild(textField.__div);
|
|
textField.__div = null;
|
|
textField.__style = null;
|
|
}
|
|
};
|
|
openfl_display__$internal_DOMTextField.measureText = function(textField) {
|
|
var textEngine = textField.__textEngine;
|
|
var div = textField.__div;
|
|
if(div == null) {
|
|
div = window.document.createElement("div");
|
|
var _this_r = new RegExp("\n","g".split("u").join(""));
|
|
div.innerHTML = textEngine.text.replace(_this_r,"<br>");
|
|
div.style.setProperty("font",openfl_text__$internal_TextEngine.getFont(textField.__textFormat),null);
|
|
div.style.setProperty("pointer-events","none",null);
|
|
div.style.position = "absolute";
|
|
div.style.top = "110%";
|
|
window.document.body.appendChild(div);
|
|
}
|
|
textEngine.__measuredWidth = div.clientWidth;
|
|
if(textField.__div == null) {
|
|
div.style.width = Std.string(textEngine.width - 4) + "px";
|
|
}
|
|
textEngine.__measuredHeight = div.clientHeight;
|
|
if(textField.__div == null) {
|
|
window.document.body.removeChild(div);
|
|
}
|
|
};
|
|
openfl_display__$internal_DOMTextField.render = function(textField,renderer) {
|
|
var textEngine = textField.__textEngine;
|
|
if(textField.stage != null && textField.__worldVisible && textField.__renderable) {
|
|
if(textField.__dirty || textField.__renderTransformChanged || textField.__div == null) {
|
|
if(textEngine.text != "" || textEngine.background || textEngine.border || textEngine.type == 1) {
|
|
if(textField.__div == null) {
|
|
textField.__div = window.document.createElement("div");
|
|
renderer.__initializeElement(textField,textField.__div);
|
|
textField.__style.setProperty("outline","none",null);
|
|
textField.__div.addEventListener("input",function(event) {
|
|
event.preventDefault();
|
|
if(textField.get_htmlText() != textField.__div.innerHTML) {
|
|
textField.set_htmlText(textField.__div.innerHTML);
|
|
var textField1 = textField.__displayAsPassword;
|
|
textField.__dirty = false;
|
|
textField.dispatchEvent(new openfl_events_TextEvent("textInput",false,false,textField.get_htmlText()));
|
|
}
|
|
},true);
|
|
}
|
|
if(!textEngine.wordWrap) {
|
|
textField.__style.setProperty("white-space","nowrap",null);
|
|
} else {
|
|
textField.__style.setProperty("word-wrap","break-word",null);
|
|
}
|
|
textField.__style.setProperty("overflow","hidden",null);
|
|
if(textEngine.selectable) {
|
|
textField.__style.setProperty("cursor","text",null);
|
|
textField.__style.setProperty("-webkit-user-select","text",null);
|
|
textField.__style.setProperty("-moz-user-select","text",null);
|
|
textField.__style.setProperty("-ms-user-select","text",null);
|
|
textField.__style.setProperty("-o-user-select","text",null);
|
|
} else {
|
|
textField.__style.setProperty("cursor","inherit",null);
|
|
}
|
|
var div = textField.__div;
|
|
div.contentEditable = textEngine.type == 1;
|
|
var style = textField.__style;
|
|
if(textEngine.background) {
|
|
style.setProperty("background-color","#" + StringTools.hex(textEngine.backgroundColor & 16777215,6),null);
|
|
} else {
|
|
style.removeProperty("background-color");
|
|
}
|
|
var w = textEngine.width;
|
|
var h = textEngine.height;
|
|
var scale = 1;
|
|
var unscaledSize = textField.__textFormat.size;
|
|
var scaledSize = unscaledSize;
|
|
var t = textField.__renderTransform;
|
|
if(t.a != 1.0 || t.d != 1.0) {
|
|
if(t.a == t.d) {
|
|
scale = t.a;
|
|
t.a = t.d = 1.0;
|
|
} else if(t.a > t.d) {
|
|
scale = t.a;
|
|
t.d /= t.a;
|
|
t.a = 1.0;
|
|
} else {
|
|
scale = t.d;
|
|
t.a /= t.d;
|
|
t.d = 1.0;
|
|
}
|
|
scaledSize *= scale;
|
|
w = Math.ceil(w * scale);
|
|
h = Math.ceil(h * scale);
|
|
}
|
|
textField.__textFormat.size = scaledSize;
|
|
var text = textEngine.text;
|
|
var adjustment = 0;
|
|
if(!textField.__isHTML) {
|
|
text = StringTools.htmlEscape(text);
|
|
} else {
|
|
var matchText = text;
|
|
while(openfl_display__$internal_DOMTextField.__regexFont.match(matchText)) {
|
|
var fontText = openfl_display__$internal_DOMTextField.__regexFont.matched(0);
|
|
var style1 = "";
|
|
if(openfl_display__$internal_DOMTextField.__regexFace.match(fontText)) {
|
|
style1 += "font-family:'" + openfl_display__$internal_DOMTextField.__getAttributeMatch(openfl_display__$internal_DOMTextField.__regexFace) + "';";
|
|
}
|
|
if(openfl_display__$internal_DOMTextField.__regexColor.match(fontText)) {
|
|
style1 += "color:#" + openfl_display__$internal_DOMTextField.__getAttributeMatch(openfl_display__$internal_DOMTextField.__regexColor) + ";";
|
|
}
|
|
if(openfl_display__$internal_DOMTextField.__regexSize.match(fontText)) {
|
|
var sizeAttr = openfl_display__$internal_DOMTextField.__getAttributeMatch(openfl_display__$internal_DOMTextField.__regexSize);
|
|
var firstChar = HxOverrides.cca(sizeAttr,0);
|
|
var size;
|
|
adjustment = parseFloat(sizeAttr) * scale;
|
|
if(firstChar == 43 || firstChar == 45) {
|
|
size = scaledSize + adjustment;
|
|
} else {
|
|
size = adjustment;
|
|
}
|
|
style1 += "font-size:" + size + "px;";
|
|
}
|
|
text = StringTools.replace(text,fontText,"<span style='" + style1 + "'>");
|
|
matchText = openfl_display__$internal_DOMTextField.__regexFont.matchedRight();
|
|
}
|
|
text = text.replace(openfl_display__$internal_DOMTextField.__regexCloseFont.r,"</span>");
|
|
}
|
|
text = StringTools.replace(text,"<p ","<p style='margin-top:0; margin-bottom:0;' ");
|
|
var unscaledLeading = textField.__textFormat.leading;
|
|
textField.__textFormat.leading += adjustment | 0;
|
|
var _this_r = new RegExp("\r\n","g".split("u").join(""));
|
|
var tmp = text.replace(_this_r,"<br>");
|
|
textField.__div.innerHTML = tmp;
|
|
var _this_r = new RegExp("\n","g".split("u").join(""));
|
|
var tmp = textField.__div.innerHTML.replace(_this_r,"<br>");
|
|
textField.__div.innerHTML = tmp;
|
|
var _this_r = new RegExp("\r","g".split("u").join(""));
|
|
var tmp = textField.__div.innerHTML.replace(_this_r,"<br>");
|
|
textField.__div.innerHTML = tmp;
|
|
style.setProperty("font",openfl_text__$internal_TextEngine.getFont(textField.__textFormat),null);
|
|
textField.__textFormat.size = unscaledSize;
|
|
textField.__textFormat.leading = unscaledLeading;
|
|
style.setProperty("top","3px",null);
|
|
if(textEngine.border) {
|
|
style.setProperty("border","solid 1px #" + StringTools.hex(textEngine.borderColor & 16777215,6),null);
|
|
textField.__renderTransform.translate(-1,-1);
|
|
textField.__renderTransformChanged = true;
|
|
textField.__transformDirty = true;
|
|
} else if(style.border != "") {
|
|
style.removeProperty("border");
|
|
textField.__renderTransformChanged = true;
|
|
}
|
|
style.setProperty("color","#" + StringTools.hex(textField.__textFormat.color & 16777215,6),null);
|
|
style.setProperty("width",w + "px",null);
|
|
style.setProperty("height",h + "px",null);
|
|
switch(textField.__textFormat.align) {
|
|
case 0:
|
|
style.setProperty("text-align","center",null);
|
|
break;
|
|
case 4:
|
|
style.setProperty("text-align","right",null);
|
|
break;
|
|
default:
|
|
style.setProperty("text-align","left",null);
|
|
}
|
|
textField.__dirty = false;
|
|
} else if(textField.__div != null) {
|
|
renderer.element.removeChild(textField.__div);
|
|
textField.__div = null;
|
|
}
|
|
}
|
|
if(textField.__div != null) {
|
|
var old = renderer.__roundPixels;
|
|
renderer.__roundPixels = true;
|
|
renderer.__updateClip(textField);
|
|
renderer.__applyStyle(textField,true,true,true);
|
|
renderer.__roundPixels = old;
|
|
}
|
|
} else {
|
|
openfl_display__$internal_DOMTextField.clear(textField,renderer);
|
|
}
|
|
};
|
|
openfl_display__$internal_DOMTextField.__getAttributeMatch = function(regex) {
|
|
if(regex.matched(2) != null) {
|
|
return regex.matched(2);
|
|
} else {
|
|
return regex.matched(3);
|
|
}
|
|
};
|
|
var openfl_display__$internal_DrawCommandReader = function(buffer) {
|
|
this.buffer = buffer;
|
|
this.bPos = this.iPos = this.fPos = this.oPos = this.ffPos = this.iiPos = this.tsPos = 0;
|
|
this.prev = openfl_display__$internal_DrawCommandType.UNKNOWN;
|
|
};
|
|
$hxClasses["openfl.display._internal.DrawCommandReader"] = openfl_display__$internal_DrawCommandReader;
|
|
openfl_display__$internal_DrawCommandReader.__name__ = "openfl.display._internal.DrawCommandReader";
|
|
openfl_display__$internal_DrawCommandReader.prototype = {
|
|
buffer: null
|
|
,bPos: null
|
|
,iiPos: null
|
|
,iPos: null
|
|
,ffPos: null
|
|
,fPos: null
|
|
,oPos: null
|
|
,prev: null
|
|
,tsPos: null
|
|
,advance: function() {
|
|
switch(this.prev._hx_index) {
|
|
case 0:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 1:
|
|
this.iPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 2:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 3:
|
|
this.oPos += 1;
|
|
break;
|
|
case 4:
|
|
this.fPos += 6;
|
|
break;
|
|
case 5:
|
|
this.fPos += 4;
|
|
break;
|
|
case 6:
|
|
this.fPos += 3;
|
|
break;
|
|
case 7:
|
|
this.fPos += 4;
|
|
break;
|
|
case 8:
|
|
this.oPos += 3;
|
|
break;
|
|
case 9:
|
|
this.fPos += 4;
|
|
break;
|
|
case 10:
|
|
this.fPos += 5;
|
|
this.oPos += 1;
|
|
break;
|
|
case 12:
|
|
this.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 15:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 16:
|
|
this.oPos += 4;
|
|
this.iPos += 1;
|
|
this.fPos += 2;
|
|
this.bPos += 1;
|
|
break;
|
|
case 17:
|
|
this.fPos += 2;
|
|
break;
|
|
case 18:
|
|
this.fPos += 2;
|
|
break;
|
|
case 19:
|
|
this.oPos += 1;
|
|
break;
|
|
case 20:
|
|
this.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
,bool: function(index) {
|
|
return this.buffer.b[this.bPos + index];
|
|
}
|
|
,destroy: function() {
|
|
this.buffer = null;
|
|
this.reset();
|
|
}
|
|
,fArr: function(index) {
|
|
return this.buffer.ff[this.ffPos + index];
|
|
}
|
|
,float: function(index) {
|
|
return this.buffer.f[this.fPos + index];
|
|
}
|
|
,iArr: function(index) {
|
|
return this.buffer.ii[this.iiPos + index];
|
|
}
|
|
,int: function(index) {
|
|
return this.buffer.i[this.iPos + index];
|
|
}
|
|
,obj: function(index) {
|
|
return this.buffer.o[this.oPos + index];
|
|
}
|
|
,readBeginBitmapFill: function() {
|
|
switch(this.prev._hx_index) {
|
|
case 0:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 1:
|
|
this.iPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 2:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 3:
|
|
this.oPos += 1;
|
|
break;
|
|
case 4:
|
|
this.fPos += 6;
|
|
break;
|
|
case 5:
|
|
this.fPos += 4;
|
|
break;
|
|
case 6:
|
|
this.fPos += 3;
|
|
break;
|
|
case 7:
|
|
this.fPos += 4;
|
|
break;
|
|
case 8:
|
|
this.oPos += 3;
|
|
break;
|
|
case 9:
|
|
this.fPos += 4;
|
|
break;
|
|
case 10:
|
|
this.fPos += 5;
|
|
this.oPos += 1;
|
|
break;
|
|
case 12:
|
|
this.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 15:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 16:
|
|
this.oPos += 4;
|
|
this.iPos += 1;
|
|
this.fPos += 2;
|
|
this.bPos += 1;
|
|
break;
|
|
case 17:
|
|
this.fPos += 2;
|
|
break;
|
|
case 18:
|
|
this.fPos += 2;
|
|
break;
|
|
case 19:
|
|
this.oPos += 1;
|
|
break;
|
|
case 20:
|
|
this.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
this.prev = openfl_display__$internal_DrawCommandType.BEGIN_BITMAP_FILL;
|
|
var this1 = this;
|
|
return this1;
|
|
}
|
|
,readBeginFill: function() {
|
|
switch(this.prev._hx_index) {
|
|
case 0:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 1:
|
|
this.iPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 2:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 3:
|
|
this.oPos += 1;
|
|
break;
|
|
case 4:
|
|
this.fPos += 6;
|
|
break;
|
|
case 5:
|
|
this.fPos += 4;
|
|
break;
|
|
case 6:
|
|
this.fPos += 3;
|
|
break;
|
|
case 7:
|
|
this.fPos += 4;
|
|
break;
|
|
case 8:
|
|
this.oPos += 3;
|
|
break;
|
|
case 9:
|
|
this.fPos += 4;
|
|
break;
|
|
case 10:
|
|
this.fPos += 5;
|
|
this.oPos += 1;
|
|
break;
|
|
case 12:
|
|
this.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 15:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 16:
|
|
this.oPos += 4;
|
|
this.iPos += 1;
|
|
this.fPos += 2;
|
|
this.bPos += 1;
|
|
break;
|
|
case 17:
|
|
this.fPos += 2;
|
|
break;
|
|
case 18:
|
|
this.fPos += 2;
|
|
break;
|
|
case 19:
|
|
this.oPos += 1;
|
|
break;
|
|
case 20:
|
|
this.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
this.prev = openfl_display__$internal_DrawCommandType.BEGIN_FILL;
|
|
var this1 = this;
|
|
return this1;
|
|
}
|
|
,readBeginGradientFill: function() {
|
|
switch(this.prev._hx_index) {
|
|
case 0:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 1:
|
|
this.iPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 2:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 3:
|
|
this.oPos += 1;
|
|
break;
|
|
case 4:
|
|
this.fPos += 6;
|
|
break;
|
|
case 5:
|
|
this.fPos += 4;
|
|
break;
|
|
case 6:
|
|
this.fPos += 3;
|
|
break;
|
|
case 7:
|
|
this.fPos += 4;
|
|
break;
|
|
case 8:
|
|
this.oPos += 3;
|
|
break;
|
|
case 9:
|
|
this.fPos += 4;
|
|
break;
|
|
case 10:
|
|
this.fPos += 5;
|
|
this.oPos += 1;
|
|
break;
|
|
case 12:
|
|
this.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 15:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 16:
|
|
this.oPos += 4;
|
|
this.iPos += 1;
|
|
this.fPos += 2;
|
|
this.bPos += 1;
|
|
break;
|
|
case 17:
|
|
this.fPos += 2;
|
|
break;
|
|
case 18:
|
|
this.fPos += 2;
|
|
break;
|
|
case 19:
|
|
this.oPos += 1;
|
|
break;
|
|
case 20:
|
|
this.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
this.prev = openfl_display__$internal_DrawCommandType.BEGIN_GRADIENT_FILL;
|
|
var this1 = this;
|
|
return this1;
|
|
}
|
|
,readBeginShaderFill: function() {
|
|
switch(this.prev._hx_index) {
|
|
case 0:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 1:
|
|
this.iPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 2:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 3:
|
|
this.oPos += 1;
|
|
break;
|
|
case 4:
|
|
this.fPos += 6;
|
|
break;
|
|
case 5:
|
|
this.fPos += 4;
|
|
break;
|
|
case 6:
|
|
this.fPos += 3;
|
|
break;
|
|
case 7:
|
|
this.fPos += 4;
|
|
break;
|
|
case 8:
|
|
this.oPos += 3;
|
|
break;
|
|
case 9:
|
|
this.fPos += 4;
|
|
break;
|
|
case 10:
|
|
this.fPos += 5;
|
|
this.oPos += 1;
|
|
break;
|
|
case 12:
|
|
this.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 15:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 16:
|
|
this.oPos += 4;
|
|
this.iPos += 1;
|
|
this.fPos += 2;
|
|
this.bPos += 1;
|
|
break;
|
|
case 17:
|
|
this.fPos += 2;
|
|
break;
|
|
case 18:
|
|
this.fPos += 2;
|
|
break;
|
|
case 19:
|
|
this.oPos += 1;
|
|
break;
|
|
case 20:
|
|
this.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
this.prev = openfl_display__$internal_DrawCommandType.BEGIN_SHADER_FILL;
|
|
var this1 = this;
|
|
return this1;
|
|
}
|
|
,readCubicCurveTo: function() {
|
|
switch(this.prev._hx_index) {
|
|
case 0:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 1:
|
|
this.iPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 2:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 3:
|
|
this.oPos += 1;
|
|
break;
|
|
case 4:
|
|
this.fPos += 6;
|
|
break;
|
|
case 5:
|
|
this.fPos += 4;
|
|
break;
|
|
case 6:
|
|
this.fPos += 3;
|
|
break;
|
|
case 7:
|
|
this.fPos += 4;
|
|
break;
|
|
case 8:
|
|
this.oPos += 3;
|
|
break;
|
|
case 9:
|
|
this.fPos += 4;
|
|
break;
|
|
case 10:
|
|
this.fPos += 5;
|
|
this.oPos += 1;
|
|
break;
|
|
case 12:
|
|
this.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 15:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 16:
|
|
this.oPos += 4;
|
|
this.iPos += 1;
|
|
this.fPos += 2;
|
|
this.bPos += 1;
|
|
break;
|
|
case 17:
|
|
this.fPos += 2;
|
|
break;
|
|
case 18:
|
|
this.fPos += 2;
|
|
break;
|
|
case 19:
|
|
this.oPos += 1;
|
|
break;
|
|
case 20:
|
|
this.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
this.prev = openfl_display__$internal_DrawCommandType.CUBIC_CURVE_TO;
|
|
var this1 = this;
|
|
return this1;
|
|
}
|
|
,readCurveTo: function() {
|
|
switch(this.prev._hx_index) {
|
|
case 0:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 1:
|
|
this.iPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 2:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 3:
|
|
this.oPos += 1;
|
|
break;
|
|
case 4:
|
|
this.fPos += 6;
|
|
break;
|
|
case 5:
|
|
this.fPos += 4;
|
|
break;
|
|
case 6:
|
|
this.fPos += 3;
|
|
break;
|
|
case 7:
|
|
this.fPos += 4;
|
|
break;
|
|
case 8:
|
|
this.oPos += 3;
|
|
break;
|
|
case 9:
|
|
this.fPos += 4;
|
|
break;
|
|
case 10:
|
|
this.fPos += 5;
|
|
this.oPos += 1;
|
|
break;
|
|
case 12:
|
|
this.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 15:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 16:
|
|
this.oPos += 4;
|
|
this.iPos += 1;
|
|
this.fPos += 2;
|
|
this.bPos += 1;
|
|
break;
|
|
case 17:
|
|
this.fPos += 2;
|
|
break;
|
|
case 18:
|
|
this.fPos += 2;
|
|
break;
|
|
case 19:
|
|
this.oPos += 1;
|
|
break;
|
|
case 20:
|
|
this.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
this.prev = openfl_display__$internal_DrawCommandType.CURVE_TO;
|
|
var this1 = this;
|
|
return this1;
|
|
}
|
|
,readDrawCircle: function() {
|
|
switch(this.prev._hx_index) {
|
|
case 0:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 1:
|
|
this.iPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 2:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 3:
|
|
this.oPos += 1;
|
|
break;
|
|
case 4:
|
|
this.fPos += 6;
|
|
break;
|
|
case 5:
|
|
this.fPos += 4;
|
|
break;
|
|
case 6:
|
|
this.fPos += 3;
|
|
break;
|
|
case 7:
|
|
this.fPos += 4;
|
|
break;
|
|
case 8:
|
|
this.oPos += 3;
|
|
break;
|
|
case 9:
|
|
this.fPos += 4;
|
|
break;
|
|
case 10:
|
|
this.fPos += 5;
|
|
this.oPos += 1;
|
|
break;
|
|
case 12:
|
|
this.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 15:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 16:
|
|
this.oPos += 4;
|
|
this.iPos += 1;
|
|
this.fPos += 2;
|
|
this.bPos += 1;
|
|
break;
|
|
case 17:
|
|
this.fPos += 2;
|
|
break;
|
|
case 18:
|
|
this.fPos += 2;
|
|
break;
|
|
case 19:
|
|
this.oPos += 1;
|
|
break;
|
|
case 20:
|
|
this.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
this.prev = openfl_display__$internal_DrawCommandType.DRAW_CIRCLE;
|
|
var this1 = this;
|
|
return this1;
|
|
}
|
|
,readDrawEllipse: function() {
|
|
switch(this.prev._hx_index) {
|
|
case 0:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 1:
|
|
this.iPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 2:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 3:
|
|
this.oPos += 1;
|
|
break;
|
|
case 4:
|
|
this.fPos += 6;
|
|
break;
|
|
case 5:
|
|
this.fPos += 4;
|
|
break;
|
|
case 6:
|
|
this.fPos += 3;
|
|
break;
|
|
case 7:
|
|
this.fPos += 4;
|
|
break;
|
|
case 8:
|
|
this.oPos += 3;
|
|
break;
|
|
case 9:
|
|
this.fPos += 4;
|
|
break;
|
|
case 10:
|
|
this.fPos += 5;
|
|
this.oPos += 1;
|
|
break;
|
|
case 12:
|
|
this.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 15:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 16:
|
|
this.oPos += 4;
|
|
this.iPos += 1;
|
|
this.fPos += 2;
|
|
this.bPos += 1;
|
|
break;
|
|
case 17:
|
|
this.fPos += 2;
|
|
break;
|
|
case 18:
|
|
this.fPos += 2;
|
|
break;
|
|
case 19:
|
|
this.oPos += 1;
|
|
break;
|
|
case 20:
|
|
this.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
this.prev = openfl_display__$internal_DrawCommandType.DRAW_ELLIPSE;
|
|
var this1 = this;
|
|
return this1;
|
|
}
|
|
,readDrawQuads: function() {
|
|
switch(this.prev._hx_index) {
|
|
case 0:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 1:
|
|
this.iPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 2:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 3:
|
|
this.oPos += 1;
|
|
break;
|
|
case 4:
|
|
this.fPos += 6;
|
|
break;
|
|
case 5:
|
|
this.fPos += 4;
|
|
break;
|
|
case 6:
|
|
this.fPos += 3;
|
|
break;
|
|
case 7:
|
|
this.fPos += 4;
|
|
break;
|
|
case 8:
|
|
this.oPos += 3;
|
|
break;
|
|
case 9:
|
|
this.fPos += 4;
|
|
break;
|
|
case 10:
|
|
this.fPos += 5;
|
|
this.oPos += 1;
|
|
break;
|
|
case 12:
|
|
this.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 15:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 16:
|
|
this.oPos += 4;
|
|
this.iPos += 1;
|
|
this.fPos += 2;
|
|
this.bPos += 1;
|
|
break;
|
|
case 17:
|
|
this.fPos += 2;
|
|
break;
|
|
case 18:
|
|
this.fPos += 2;
|
|
break;
|
|
case 19:
|
|
this.oPos += 1;
|
|
break;
|
|
case 20:
|
|
this.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
this.prev = openfl_display__$internal_DrawCommandType.DRAW_QUADS;
|
|
var this1 = this;
|
|
return this1;
|
|
}
|
|
,readDrawRect: function() {
|
|
switch(this.prev._hx_index) {
|
|
case 0:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 1:
|
|
this.iPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 2:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 3:
|
|
this.oPos += 1;
|
|
break;
|
|
case 4:
|
|
this.fPos += 6;
|
|
break;
|
|
case 5:
|
|
this.fPos += 4;
|
|
break;
|
|
case 6:
|
|
this.fPos += 3;
|
|
break;
|
|
case 7:
|
|
this.fPos += 4;
|
|
break;
|
|
case 8:
|
|
this.oPos += 3;
|
|
break;
|
|
case 9:
|
|
this.fPos += 4;
|
|
break;
|
|
case 10:
|
|
this.fPos += 5;
|
|
this.oPos += 1;
|
|
break;
|
|
case 12:
|
|
this.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 15:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 16:
|
|
this.oPos += 4;
|
|
this.iPos += 1;
|
|
this.fPos += 2;
|
|
this.bPos += 1;
|
|
break;
|
|
case 17:
|
|
this.fPos += 2;
|
|
break;
|
|
case 18:
|
|
this.fPos += 2;
|
|
break;
|
|
case 19:
|
|
this.oPos += 1;
|
|
break;
|
|
case 20:
|
|
this.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
this.prev = openfl_display__$internal_DrawCommandType.DRAW_RECT;
|
|
var this1 = this;
|
|
return this1;
|
|
}
|
|
,readDrawRoundRect: function() {
|
|
switch(this.prev._hx_index) {
|
|
case 0:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 1:
|
|
this.iPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 2:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 3:
|
|
this.oPos += 1;
|
|
break;
|
|
case 4:
|
|
this.fPos += 6;
|
|
break;
|
|
case 5:
|
|
this.fPos += 4;
|
|
break;
|
|
case 6:
|
|
this.fPos += 3;
|
|
break;
|
|
case 7:
|
|
this.fPos += 4;
|
|
break;
|
|
case 8:
|
|
this.oPos += 3;
|
|
break;
|
|
case 9:
|
|
this.fPos += 4;
|
|
break;
|
|
case 10:
|
|
this.fPos += 5;
|
|
this.oPos += 1;
|
|
break;
|
|
case 12:
|
|
this.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 15:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 16:
|
|
this.oPos += 4;
|
|
this.iPos += 1;
|
|
this.fPos += 2;
|
|
this.bPos += 1;
|
|
break;
|
|
case 17:
|
|
this.fPos += 2;
|
|
break;
|
|
case 18:
|
|
this.fPos += 2;
|
|
break;
|
|
case 19:
|
|
this.oPos += 1;
|
|
break;
|
|
case 20:
|
|
this.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
this.prev = openfl_display__$internal_DrawCommandType.DRAW_ROUND_RECT;
|
|
var this1 = this;
|
|
return this1;
|
|
}
|
|
,readDrawTriangles: function() {
|
|
switch(this.prev._hx_index) {
|
|
case 0:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 1:
|
|
this.iPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 2:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 3:
|
|
this.oPos += 1;
|
|
break;
|
|
case 4:
|
|
this.fPos += 6;
|
|
break;
|
|
case 5:
|
|
this.fPos += 4;
|
|
break;
|
|
case 6:
|
|
this.fPos += 3;
|
|
break;
|
|
case 7:
|
|
this.fPos += 4;
|
|
break;
|
|
case 8:
|
|
this.oPos += 3;
|
|
break;
|
|
case 9:
|
|
this.fPos += 4;
|
|
break;
|
|
case 10:
|
|
this.fPos += 5;
|
|
this.oPos += 1;
|
|
break;
|
|
case 12:
|
|
this.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 15:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 16:
|
|
this.oPos += 4;
|
|
this.iPos += 1;
|
|
this.fPos += 2;
|
|
this.bPos += 1;
|
|
break;
|
|
case 17:
|
|
this.fPos += 2;
|
|
break;
|
|
case 18:
|
|
this.fPos += 2;
|
|
break;
|
|
case 19:
|
|
this.oPos += 1;
|
|
break;
|
|
case 20:
|
|
this.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
this.prev = openfl_display__$internal_DrawCommandType.DRAW_TRIANGLES;
|
|
var this1 = this;
|
|
return this1;
|
|
}
|
|
,readEndFill: function() {
|
|
switch(this.prev._hx_index) {
|
|
case 0:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 1:
|
|
this.iPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 2:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 3:
|
|
this.oPos += 1;
|
|
break;
|
|
case 4:
|
|
this.fPos += 6;
|
|
break;
|
|
case 5:
|
|
this.fPos += 4;
|
|
break;
|
|
case 6:
|
|
this.fPos += 3;
|
|
break;
|
|
case 7:
|
|
this.fPos += 4;
|
|
break;
|
|
case 8:
|
|
this.oPos += 3;
|
|
break;
|
|
case 9:
|
|
this.fPos += 4;
|
|
break;
|
|
case 10:
|
|
this.fPos += 5;
|
|
this.oPos += 1;
|
|
break;
|
|
case 12:
|
|
this.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 15:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 16:
|
|
this.oPos += 4;
|
|
this.iPos += 1;
|
|
this.fPos += 2;
|
|
this.bPos += 1;
|
|
break;
|
|
case 17:
|
|
this.fPos += 2;
|
|
break;
|
|
case 18:
|
|
this.fPos += 2;
|
|
break;
|
|
case 19:
|
|
this.oPos += 1;
|
|
break;
|
|
case 20:
|
|
this.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
this.prev = openfl_display__$internal_DrawCommandType.END_FILL;
|
|
var this1 = this;
|
|
return this1;
|
|
}
|
|
,readLineBitmapStyle: function() {
|
|
switch(this.prev._hx_index) {
|
|
case 0:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 1:
|
|
this.iPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 2:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 3:
|
|
this.oPos += 1;
|
|
break;
|
|
case 4:
|
|
this.fPos += 6;
|
|
break;
|
|
case 5:
|
|
this.fPos += 4;
|
|
break;
|
|
case 6:
|
|
this.fPos += 3;
|
|
break;
|
|
case 7:
|
|
this.fPos += 4;
|
|
break;
|
|
case 8:
|
|
this.oPos += 3;
|
|
break;
|
|
case 9:
|
|
this.fPos += 4;
|
|
break;
|
|
case 10:
|
|
this.fPos += 5;
|
|
this.oPos += 1;
|
|
break;
|
|
case 12:
|
|
this.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 15:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 16:
|
|
this.oPos += 4;
|
|
this.iPos += 1;
|
|
this.fPos += 2;
|
|
this.bPos += 1;
|
|
break;
|
|
case 17:
|
|
this.fPos += 2;
|
|
break;
|
|
case 18:
|
|
this.fPos += 2;
|
|
break;
|
|
case 19:
|
|
this.oPos += 1;
|
|
break;
|
|
case 20:
|
|
this.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
this.prev = openfl_display__$internal_DrawCommandType.LINE_BITMAP_STYLE;
|
|
var this1 = this;
|
|
return this1;
|
|
}
|
|
,readLineGradientStyle: function() {
|
|
switch(this.prev._hx_index) {
|
|
case 0:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 1:
|
|
this.iPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 2:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 3:
|
|
this.oPos += 1;
|
|
break;
|
|
case 4:
|
|
this.fPos += 6;
|
|
break;
|
|
case 5:
|
|
this.fPos += 4;
|
|
break;
|
|
case 6:
|
|
this.fPos += 3;
|
|
break;
|
|
case 7:
|
|
this.fPos += 4;
|
|
break;
|
|
case 8:
|
|
this.oPos += 3;
|
|
break;
|
|
case 9:
|
|
this.fPos += 4;
|
|
break;
|
|
case 10:
|
|
this.fPos += 5;
|
|
this.oPos += 1;
|
|
break;
|
|
case 12:
|
|
this.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 15:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 16:
|
|
this.oPos += 4;
|
|
this.iPos += 1;
|
|
this.fPos += 2;
|
|
this.bPos += 1;
|
|
break;
|
|
case 17:
|
|
this.fPos += 2;
|
|
break;
|
|
case 18:
|
|
this.fPos += 2;
|
|
break;
|
|
case 19:
|
|
this.oPos += 1;
|
|
break;
|
|
case 20:
|
|
this.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
this.prev = openfl_display__$internal_DrawCommandType.LINE_GRADIENT_STYLE;
|
|
var this1 = this;
|
|
return this1;
|
|
}
|
|
,readLineStyle: function() {
|
|
switch(this.prev._hx_index) {
|
|
case 0:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 1:
|
|
this.iPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 2:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 3:
|
|
this.oPos += 1;
|
|
break;
|
|
case 4:
|
|
this.fPos += 6;
|
|
break;
|
|
case 5:
|
|
this.fPos += 4;
|
|
break;
|
|
case 6:
|
|
this.fPos += 3;
|
|
break;
|
|
case 7:
|
|
this.fPos += 4;
|
|
break;
|
|
case 8:
|
|
this.oPos += 3;
|
|
break;
|
|
case 9:
|
|
this.fPos += 4;
|
|
break;
|
|
case 10:
|
|
this.fPos += 5;
|
|
this.oPos += 1;
|
|
break;
|
|
case 12:
|
|
this.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 15:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 16:
|
|
this.oPos += 4;
|
|
this.iPos += 1;
|
|
this.fPos += 2;
|
|
this.bPos += 1;
|
|
break;
|
|
case 17:
|
|
this.fPos += 2;
|
|
break;
|
|
case 18:
|
|
this.fPos += 2;
|
|
break;
|
|
case 19:
|
|
this.oPos += 1;
|
|
break;
|
|
case 20:
|
|
this.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
this.prev = openfl_display__$internal_DrawCommandType.LINE_STYLE;
|
|
var this1 = this;
|
|
return this1;
|
|
}
|
|
,readLineTo: function() {
|
|
switch(this.prev._hx_index) {
|
|
case 0:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 1:
|
|
this.iPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 2:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 3:
|
|
this.oPos += 1;
|
|
break;
|
|
case 4:
|
|
this.fPos += 6;
|
|
break;
|
|
case 5:
|
|
this.fPos += 4;
|
|
break;
|
|
case 6:
|
|
this.fPos += 3;
|
|
break;
|
|
case 7:
|
|
this.fPos += 4;
|
|
break;
|
|
case 8:
|
|
this.oPos += 3;
|
|
break;
|
|
case 9:
|
|
this.fPos += 4;
|
|
break;
|
|
case 10:
|
|
this.fPos += 5;
|
|
this.oPos += 1;
|
|
break;
|
|
case 12:
|
|
this.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 15:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 16:
|
|
this.oPos += 4;
|
|
this.iPos += 1;
|
|
this.fPos += 2;
|
|
this.bPos += 1;
|
|
break;
|
|
case 17:
|
|
this.fPos += 2;
|
|
break;
|
|
case 18:
|
|
this.fPos += 2;
|
|
break;
|
|
case 19:
|
|
this.oPos += 1;
|
|
break;
|
|
case 20:
|
|
this.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
this.prev = openfl_display__$internal_DrawCommandType.LINE_TO;
|
|
var this1 = this;
|
|
return this1;
|
|
}
|
|
,readMoveTo: function() {
|
|
switch(this.prev._hx_index) {
|
|
case 0:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 1:
|
|
this.iPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 2:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 3:
|
|
this.oPos += 1;
|
|
break;
|
|
case 4:
|
|
this.fPos += 6;
|
|
break;
|
|
case 5:
|
|
this.fPos += 4;
|
|
break;
|
|
case 6:
|
|
this.fPos += 3;
|
|
break;
|
|
case 7:
|
|
this.fPos += 4;
|
|
break;
|
|
case 8:
|
|
this.oPos += 3;
|
|
break;
|
|
case 9:
|
|
this.fPos += 4;
|
|
break;
|
|
case 10:
|
|
this.fPos += 5;
|
|
this.oPos += 1;
|
|
break;
|
|
case 12:
|
|
this.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 15:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 16:
|
|
this.oPos += 4;
|
|
this.iPos += 1;
|
|
this.fPos += 2;
|
|
this.bPos += 1;
|
|
break;
|
|
case 17:
|
|
this.fPos += 2;
|
|
break;
|
|
case 18:
|
|
this.fPos += 2;
|
|
break;
|
|
case 19:
|
|
this.oPos += 1;
|
|
break;
|
|
case 20:
|
|
this.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
this.prev = openfl_display__$internal_DrawCommandType.MOVE_TO;
|
|
var this1 = this;
|
|
return this1;
|
|
}
|
|
,readOverrideBlendMode: function() {
|
|
switch(this.prev._hx_index) {
|
|
case 0:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 1:
|
|
this.iPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 2:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 3:
|
|
this.oPos += 1;
|
|
break;
|
|
case 4:
|
|
this.fPos += 6;
|
|
break;
|
|
case 5:
|
|
this.fPos += 4;
|
|
break;
|
|
case 6:
|
|
this.fPos += 3;
|
|
break;
|
|
case 7:
|
|
this.fPos += 4;
|
|
break;
|
|
case 8:
|
|
this.oPos += 3;
|
|
break;
|
|
case 9:
|
|
this.fPos += 4;
|
|
break;
|
|
case 10:
|
|
this.fPos += 5;
|
|
this.oPos += 1;
|
|
break;
|
|
case 12:
|
|
this.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 15:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 16:
|
|
this.oPos += 4;
|
|
this.iPos += 1;
|
|
this.fPos += 2;
|
|
this.bPos += 1;
|
|
break;
|
|
case 17:
|
|
this.fPos += 2;
|
|
break;
|
|
case 18:
|
|
this.fPos += 2;
|
|
break;
|
|
case 19:
|
|
this.oPos += 1;
|
|
break;
|
|
case 20:
|
|
this.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
this.prev = openfl_display__$internal_DrawCommandType.OVERRIDE_BLEND_MODE;
|
|
var this1 = this;
|
|
return this1;
|
|
}
|
|
,readOverrideMatrix: function() {
|
|
switch(this.prev._hx_index) {
|
|
case 0:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 1:
|
|
this.iPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 2:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 3:
|
|
this.oPos += 1;
|
|
break;
|
|
case 4:
|
|
this.fPos += 6;
|
|
break;
|
|
case 5:
|
|
this.fPos += 4;
|
|
break;
|
|
case 6:
|
|
this.fPos += 3;
|
|
break;
|
|
case 7:
|
|
this.fPos += 4;
|
|
break;
|
|
case 8:
|
|
this.oPos += 3;
|
|
break;
|
|
case 9:
|
|
this.fPos += 4;
|
|
break;
|
|
case 10:
|
|
this.fPos += 5;
|
|
this.oPos += 1;
|
|
break;
|
|
case 12:
|
|
this.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 15:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 16:
|
|
this.oPos += 4;
|
|
this.iPos += 1;
|
|
this.fPos += 2;
|
|
this.bPos += 1;
|
|
break;
|
|
case 17:
|
|
this.fPos += 2;
|
|
break;
|
|
case 18:
|
|
this.fPos += 2;
|
|
break;
|
|
case 19:
|
|
this.oPos += 1;
|
|
break;
|
|
case 20:
|
|
this.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
this.prev = openfl_display__$internal_DrawCommandType.OVERRIDE_MATRIX;
|
|
var this1 = this;
|
|
return this1;
|
|
}
|
|
,readWindingEvenOdd: function() {
|
|
switch(this.prev._hx_index) {
|
|
case 0:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 1:
|
|
this.iPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 2:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 3:
|
|
this.oPos += 1;
|
|
break;
|
|
case 4:
|
|
this.fPos += 6;
|
|
break;
|
|
case 5:
|
|
this.fPos += 4;
|
|
break;
|
|
case 6:
|
|
this.fPos += 3;
|
|
break;
|
|
case 7:
|
|
this.fPos += 4;
|
|
break;
|
|
case 8:
|
|
this.oPos += 3;
|
|
break;
|
|
case 9:
|
|
this.fPos += 4;
|
|
break;
|
|
case 10:
|
|
this.fPos += 5;
|
|
this.oPos += 1;
|
|
break;
|
|
case 12:
|
|
this.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 15:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 16:
|
|
this.oPos += 4;
|
|
this.iPos += 1;
|
|
this.fPos += 2;
|
|
this.bPos += 1;
|
|
break;
|
|
case 17:
|
|
this.fPos += 2;
|
|
break;
|
|
case 18:
|
|
this.fPos += 2;
|
|
break;
|
|
case 19:
|
|
this.oPos += 1;
|
|
break;
|
|
case 20:
|
|
this.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
this.prev = openfl_display__$internal_DrawCommandType.WINDING_EVEN_ODD;
|
|
var this1 = this;
|
|
return this1;
|
|
}
|
|
,readWindingNonZero: function() {
|
|
switch(this.prev._hx_index) {
|
|
case 0:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 1:
|
|
this.iPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 2:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 3:
|
|
this.oPos += 1;
|
|
break;
|
|
case 4:
|
|
this.fPos += 6;
|
|
break;
|
|
case 5:
|
|
this.fPos += 4;
|
|
break;
|
|
case 6:
|
|
this.fPos += 3;
|
|
break;
|
|
case 7:
|
|
this.fPos += 4;
|
|
break;
|
|
case 8:
|
|
this.oPos += 3;
|
|
break;
|
|
case 9:
|
|
this.fPos += 4;
|
|
break;
|
|
case 10:
|
|
this.fPos += 5;
|
|
this.oPos += 1;
|
|
break;
|
|
case 12:
|
|
this.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 15:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 16:
|
|
this.oPos += 4;
|
|
this.iPos += 1;
|
|
this.fPos += 2;
|
|
this.bPos += 1;
|
|
break;
|
|
case 17:
|
|
this.fPos += 2;
|
|
break;
|
|
case 18:
|
|
this.fPos += 2;
|
|
break;
|
|
case 19:
|
|
this.oPos += 1;
|
|
break;
|
|
case 20:
|
|
this.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
this.prev = openfl_display__$internal_DrawCommandType.WINDING_NON_ZERO;
|
|
var this1 = this;
|
|
return this1;
|
|
}
|
|
,reset: function() {
|
|
this.bPos = this.iPos = this.fPos = this.oPos = this.ffPos = this.iiPos = this.tsPos = 0;
|
|
}
|
|
,skip: function(type) {
|
|
switch(this.prev._hx_index) {
|
|
case 0:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 1:
|
|
this.iPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 2:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 3:
|
|
this.oPos += 1;
|
|
break;
|
|
case 4:
|
|
this.fPos += 6;
|
|
break;
|
|
case 5:
|
|
this.fPos += 4;
|
|
break;
|
|
case 6:
|
|
this.fPos += 3;
|
|
break;
|
|
case 7:
|
|
this.fPos += 4;
|
|
break;
|
|
case 8:
|
|
this.oPos += 3;
|
|
break;
|
|
case 9:
|
|
this.fPos += 4;
|
|
break;
|
|
case 10:
|
|
this.fPos += 5;
|
|
this.oPos += 1;
|
|
break;
|
|
case 12:
|
|
this.oPos += 4;
|
|
break;
|
|
case 13:
|
|
break;
|
|
case 14:
|
|
this.oPos += 2;
|
|
this.bPos += 2;
|
|
break;
|
|
case 15:
|
|
this.oPos += 4;
|
|
this.iiPos += 2;
|
|
this.ffPos += 1;
|
|
this.fPos += 1;
|
|
break;
|
|
case 16:
|
|
this.oPos += 4;
|
|
this.iPos += 1;
|
|
this.fPos += 2;
|
|
this.bPos += 1;
|
|
break;
|
|
case 17:
|
|
this.fPos += 2;
|
|
break;
|
|
case 18:
|
|
this.fPos += 2;
|
|
break;
|
|
case 19:
|
|
this.oPos += 1;
|
|
break;
|
|
case 20:
|
|
this.oPos += 1;
|
|
break;
|
|
case 21:case 22:
|
|
break;
|
|
default:
|
|
}
|
|
this.prev = type;
|
|
}
|
|
,__class__: openfl_display__$internal_DrawCommandReader
|
|
};
|
|
var openfl_display__$internal_BeginBitmapFillView = {};
|
|
openfl_display__$internal_BeginBitmapFillView.__properties__ = {get_smooth:"get_smooth",get_repeat:"get_repeat",get_matrix:"get_matrix",get_bitmap:"get_bitmap"};
|
|
openfl_display__$internal_BeginBitmapFillView._new = function(d) {
|
|
var this1 = d;
|
|
return this1;
|
|
};
|
|
openfl_display__$internal_BeginBitmapFillView.get_bitmap = function(this1) {
|
|
return this1.buffer.o[this1.oPos];
|
|
};
|
|
openfl_display__$internal_BeginBitmapFillView.get_matrix = function(this1) {
|
|
return this1.buffer.o[this1.oPos + 1];
|
|
};
|
|
openfl_display__$internal_BeginBitmapFillView.get_repeat = function(this1) {
|
|
return this1.buffer.b[this1.bPos];
|
|
};
|
|
openfl_display__$internal_BeginBitmapFillView.get_smooth = function(this1) {
|
|
return this1.buffer.b[this1.bPos + 1];
|
|
};
|
|
var openfl_display__$internal_BeginFillView = {};
|
|
openfl_display__$internal_BeginFillView.__properties__ = {get_alpha:"get_alpha",get_color:"get_color"};
|
|
openfl_display__$internal_BeginFillView._new = function(d) {
|
|
var this1 = d;
|
|
return this1;
|
|
};
|
|
openfl_display__$internal_BeginFillView.get_color = function(this1) {
|
|
return this1.buffer.i[this1.iPos];
|
|
};
|
|
openfl_display__$internal_BeginFillView.get_alpha = function(this1) {
|
|
return this1.buffer.f[this1.fPos];
|
|
};
|
|
var openfl_display__$internal_BeginGradientFillView = {};
|
|
openfl_display__$internal_BeginGradientFillView.__properties__ = {get_focalPointRatio:"get_focalPointRatio",get_interpolationMethod:"get_interpolationMethod",get_spreadMethod:"get_spreadMethod",get_matrix:"get_matrix",get_ratios:"get_ratios",get_alphas:"get_alphas",get_colors:"get_colors",get_type:"get_type"};
|
|
openfl_display__$internal_BeginGradientFillView._new = function(d) {
|
|
var this1 = d;
|
|
return this1;
|
|
};
|
|
openfl_display__$internal_BeginGradientFillView.get_type = function(this1) {
|
|
return this1.buffer.o[this1.oPos];
|
|
};
|
|
openfl_display__$internal_BeginGradientFillView.get_colors = function(this1) {
|
|
return this1.buffer.ii[this1.iiPos];
|
|
};
|
|
openfl_display__$internal_BeginGradientFillView.get_alphas = function(this1) {
|
|
return this1.buffer.ff[this1.ffPos];
|
|
};
|
|
openfl_display__$internal_BeginGradientFillView.get_ratios = function(this1) {
|
|
return this1.buffer.ii[this1.iiPos + 1];
|
|
};
|
|
openfl_display__$internal_BeginGradientFillView.get_matrix = function(this1) {
|
|
return this1.buffer.o[this1.oPos + 1];
|
|
};
|
|
openfl_display__$internal_BeginGradientFillView.get_spreadMethod = function(this1) {
|
|
return this1.buffer.o[this1.oPos + 2];
|
|
};
|
|
openfl_display__$internal_BeginGradientFillView.get_interpolationMethod = function(this1) {
|
|
return this1.buffer.o[this1.oPos + 3];
|
|
};
|
|
openfl_display__$internal_BeginGradientFillView.get_focalPointRatio = function(this1) {
|
|
return this1.buffer.f[this1.fPos];
|
|
};
|
|
var openfl_display__$internal_BeginShaderFillView = {};
|
|
openfl_display__$internal_BeginShaderFillView.__properties__ = {get_shaderBuffer:"get_shaderBuffer"};
|
|
openfl_display__$internal_BeginShaderFillView._new = function(d) {
|
|
var this1 = d;
|
|
return this1;
|
|
};
|
|
openfl_display__$internal_BeginShaderFillView.get_shaderBuffer = function(this1) {
|
|
return this1.buffer.o[this1.oPos];
|
|
};
|
|
var openfl_display__$internal_CubicCurveToView = {};
|
|
openfl_display__$internal_CubicCurveToView.__properties__ = {get_anchorY:"get_anchorY",get_anchorX:"get_anchorX",get_controlY2:"get_controlY2",get_controlX2:"get_controlX2",get_controlY1:"get_controlY1",get_controlX1:"get_controlX1"};
|
|
openfl_display__$internal_CubicCurveToView._new = function(d) {
|
|
var this1 = d;
|
|
return this1;
|
|
};
|
|
openfl_display__$internal_CubicCurveToView.get_controlX1 = function(this1) {
|
|
return this1.buffer.f[this1.fPos];
|
|
};
|
|
openfl_display__$internal_CubicCurveToView.get_controlY1 = function(this1) {
|
|
return this1.buffer.f[this1.fPos + 1];
|
|
};
|
|
openfl_display__$internal_CubicCurveToView.get_controlX2 = function(this1) {
|
|
return this1.buffer.f[this1.fPos + 2];
|
|
};
|
|
openfl_display__$internal_CubicCurveToView.get_controlY2 = function(this1) {
|
|
return this1.buffer.f[this1.fPos + 3];
|
|
};
|
|
openfl_display__$internal_CubicCurveToView.get_anchorX = function(this1) {
|
|
return this1.buffer.f[this1.fPos + 4];
|
|
};
|
|
openfl_display__$internal_CubicCurveToView.get_anchorY = function(this1) {
|
|
return this1.buffer.f[this1.fPos + 5];
|
|
};
|
|
var openfl_display__$internal_CurveToView = {};
|
|
openfl_display__$internal_CurveToView.__properties__ = {get_anchorY:"get_anchorY",get_anchorX:"get_anchorX",get_controlY:"get_controlY",get_controlX:"get_controlX"};
|
|
openfl_display__$internal_CurveToView._new = function(d) {
|
|
var this1 = d;
|
|
return this1;
|
|
};
|
|
openfl_display__$internal_CurveToView.get_controlX = function(this1) {
|
|
return this1.buffer.f[this1.fPos];
|
|
};
|
|
openfl_display__$internal_CurveToView.get_controlY = function(this1) {
|
|
return this1.buffer.f[this1.fPos + 1];
|
|
};
|
|
openfl_display__$internal_CurveToView.get_anchorX = function(this1) {
|
|
return this1.buffer.f[this1.fPos + 2];
|
|
};
|
|
openfl_display__$internal_CurveToView.get_anchorY = function(this1) {
|
|
return this1.buffer.f[this1.fPos + 3];
|
|
};
|
|
var openfl_display__$internal_DrawCircleView = {};
|
|
openfl_display__$internal_DrawCircleView.__properties__ = {get_radius:"get_radius",get_y:"get_y",get_x:"get_x"};
|
|
openfl_display__$internal_DrawCircleView._new = function(d) {
|
|
var this1 = d;
|
|
return this1;
|
|
};
|
|
openfl_display__$internal_DrawCircleView.get_x = function(this1) {
|
|
return this1.buffer.f[this1.fPos];
|
|
};
|
|
openfl_display__$internal_DrawCircleView.get_y = function(this1) {
|
|
return this1.buffer.f[this1.fPos + 1];
|
|
};
|
|
openfl_display__$internal_DrawCircleView.get_radius = function(this1) {
|
|
return this1.buffer.f[this1.fPos + 2];
|
|
};
|
|
var openfl_display__$internal_DrawEllipseView = {};
|
|
openfl_display__$internal_DrawEllipseView.__properties__ = {get_height:"get_height",get_width:"get_width",get_y:"get_y",get_x:"get_x"};
|
|
openfl_display__$internal_DrawEllipseView._new = function(d) {
|
|
var this1 = d;
|
|
return this1;
|
|
};
|
|
openfl_display__$internal_DrawEllipseView.get_x = function(this1) {
|
|
return this1.buffer.f[this1.fPos];
|
|
};
|
|
openfl_display__$internal_DrawEllipseView.get_y = function(this1) {
|
|
return this1.buffer.f[this1.fPos + 1];
|
|
};
|
|
openfl_display__$internal_DrawEllipseView.get_width = function(this1) {
|
|
return this1.buffer.f[this1.fPos + 2];
|
|
};
|
|
openfl_display__$internal_DrawEllipseView.get_height = function(this1) {
|
|
return this1.buffer.f[this1.fPos + 3];
|
|
};
|
|
var openfl_display__$internal_DrawQuadsView = {};
|
|
openfl_display__$internal_DrawQuadsView.__properties__ = {get_transforms:"get_transforms",get_indices:"get_indices",get_rects:"get_rects"};
|
|
openfl_display__$internal_DrawQuadsView._new = function(d) {
|
|
var this1 = d;
|
|
return this1;
|
|
};
|
|
openfl_display__$internal_DrawQuadsView.get_rects = function(this1) {
|
|
return this1.buffer.o[this1.oPos];
|
|
};
|
|
openfl_display__$internal_DrawQuadsView.get_indices = function(this1) {
|
|
return this1.buffer.o[this1.oPos + 1];
|
|
};
|
|
openfl_display__$internal_DrawQuadsView.get_transforms = function(this1) {
|
|
return this1.buffer.o[this1.oPos + 2];
|
|
};
|
|
var openfl_display__$internal_DrawRectView = {};
|
|
openfl_display__$internal_DrawRectView.__properties__ = {get_height:"get_height",get_width:"get_width",get_y:"get_y",get_x:"get_x"};
|
|
openfl_display__$internal_DrawRectView._new = function(d) {
|
|
var this1 = d;
|
|
return this1;
|
|
};
|
|
openfl_display__$internal_DrawRectView.get_x = function(this1) {
|
|
return this1.buffer.f[this1.fPos];
|
|
};
|
|
openfl_display__$internal_DrawRectView.get_y = function(this1) {
|
|
return this1.buffer.f[this1.fPos + 1];
|
|
};
|
|
openfl_display__$internal_DrawRectView.get_width = function(this1) {
|
|
return this1.buffer.f[this1.fPos + 2];
|
|
};
|
|
openfl_display__$internal_DrawRectView.get_height = function(this1) {
|
|
return this1.buffer.f[this1.fPos + 3];
|
|
};
|
|
var openfl_display__$internal_DrawRoundRectView = {};
|
|
openfl_display__$internal_DrawRoundRectView.__properties__ = {get_ellipseHeight:"get_ellipseHeight",get_ellipseWidth:"get_ellipseWidth",get_height:"get_height",get_width:"get_width",get_y:"get_y",get_x:"get_x"};
|
|
openfl_display__$internal_DrawRoundRectView._new = function(d) {
|
|
var this1 = d;
|
|
return this1;
|
|
};
|
|
openfl_display__$internal_DrawRoundRectView.get_x = function(this1) {
|
|
return this1.buffer.f[this1.fPos];
|
|
};
|
|
openfl_display__$internal_DrawRoundRectView.get_y = function(this1) {
|
|
return this1.buffer.f[this1.fPos + 1];
|
|
};
|
|
openfl_display__$internal_DrawRoundRectView.get_width = function(this1) {
|
|
return this1.buffer.f[this1.fPos + 2];
|
|
};
|
|
openfl_display__$internal_DrawRoundRectView.get_height = function(this1) {
|
|
return this1.buffer.f[this1.fPos + 3];
|
|
};
|
|
openfl_display__$internal_DrawRoundRectView.get_ellipseWidth = function(this1) {
|
|
return this1.buffer.f[this1.fPos + 4];
|
|
};
|
|
openfl_display__$internal_DrawRoundRectView.get_ellipseHeight = function(this1) {
|
|
return this1.buffer.o[this1.oPos];
|
|
};
|
|
var openfl_display__$internal_DrawTrianglesView = {};
|
|
openfl_display__$internal_DrawTrianglesView.__properties__ = {get_culling:"get_culling",get_uvtData:"get_uvtData",get_indices:"get_indices",get_vertices:"get_vertices"};
|
|
openfl_display__$internal_DrawTrianglesView._new = function(d) {
|
|
var this1 = d;
|
|
return this1;
|
|
};
|
|
openfl_display__$internal_DrawTrianglesView.get_vertices = function(this1) {
|
|
return this1.buffer.o[this1.oPos];
|
|
};
|
|
openfl_display__$internal_DrawTrianglesView.get_indices = function(this1) {
|
|
return this1.buffer.o[this1.oPos + 1];
|
|
};
|
|
openfl_display__$internal_DrawTrianglesView.get_uvtData = function(this1) {
|
|
return this1.buffer.o[this1.oPos + 2];
|
|
};
|
|
openfl_display__$internal_DrawTrianglesView.get_culling = function(this1) {
|
|
return this1.buffer.o[this1.oPos + 3];
|
|
};
|
|
var openfl_display__$internal_EndFillView = {};
|
|
openfl_display__$internal_EndFillView._new = function(d) {
|
|
var this1 = d;
|
|
return this1;
|
|
};
|
|
var openfl_display__$internal_LineBitmapStyleView = {};
|
|
openfl_display__$internal_LineBitmapStyleView.__properties__ = {get_smooth:"get_smooth",get_repeat:"get_repeat",get_matrix:"get_matrix",get_bitmap:"get_bitmap"};
|
|
openfl_display__$internal_LineBitmapStyleView._new = function(d) {
|
|
var this1 = d;
|
|
return this1;
|
|
};
|
|
openfl_display__$internal_LineBitmapStyleView.get_bitmap = function(this1) {
|
|
return this1.buffer.o[this1.oPos];
|
|
};
|
|
openfl_display__$internal_LineBitmapStyleView.get_matrix = function(this1) {
|
|
return this1.buffer.o[this1.oPos + 1];
|
|
};
|
|
openfl_display__$internal_LineBitmapStyleView.get_repeat = function(this1) {
|
|
return this1.buffer.b[this1.bPos];
|
|
};
|
|
openfl_display__$internal_LineBitmapStyleView.get_smooth = function(this1) {
|
|
return this1.buffer.b[this1.bPos + 1];
|
|
};
|
|
var openfl_display__$internal_LineGradientStyleView = {};
|
|
openfl_display__$internal_LineGradientStyleView.__properties__ = {get_focalPointRatio:"get_focalPointRatio",get_interpolationMethod:"get_interpolationMethod",get_spreadMethod:"get_spreadMethod",get_matrix:"get_matrix",get_ratios:"get_ratios",get_alphas:"get_alphas",get_colors:"get_colors",get_type:"get_type"};
|
|
openfl_display__$internal_LineGradientStyleView._new = function(d) {
|
|
var this1 = d;
|
|
return this1;
|
|
};
|
|
openfl_display__$internal_LineGradientStyleView.get_type = function(this1) {
|
|
return this1.buffer.o[this1.oPos];
|
|
};
|
|
openfl_display__$internal_LineGradientStyleView.get_colors = function(this1) {
|
|
return this1.buffer.ii[this1.iiPos];
|
|
};
|
|
openfl_display__$internal_LineGradientStyleView.get_alphas = function(this1) {
|
|
return this1.buffer.ff[this1.ffPos];
|
|
};
|
|
openfl_display__$internal_LineGradientStyleView.get_ratios = function(this1) {
|
|
return this1.buffer.ii[this1.iiPos + 1];
|
|
};
|
|
openfl_display__$internal_LineGradientStyleView.get_matrix = function(this1) {
|
|
return this1.buffer.o[this1.oPos + 1];
|
|
};
|
|
openfl_display__$internal_LineGradientStyleView.get_spreadMethod = function(this1) {
|
|
return this1.buffer.o[this1.oPos + 2];
|
|
};
|
|
openfl_display__$internal_LineGradientStyleView.get_interpolationMethod = function(this1) {
|
|
return this1.buffer.o[this1.oPos + 3];
|
|
};
|
|
openfl_display__$internal_LineGradientStyleView.get_focalPointRatio = function(this1) {
|
|
return this1.buffer.f[this1.fPos];
|
|
};
|
|
var openfl_display__$internal_LineStyleView = {};
|
|
openfl_display__$internal_LineStyleView.__properties__ = {get_miterLimit:"get_miterLimit",get_joints:"get_joints",get_caps:"get_caps",get_scaleMode:"get_scaleMode",get_pixelHinting:"get_pixelHinting",get_alpha:"get_alpha",get_color:"get_color",get_thickness:"get_thickness"};
|
|
openfl_display__$internal_LineStyleView._new = function(d) {
|
|
var this1 = d;
|
|
return this1;
|
|
};
|
|
openfl_display__$internal_LineStyleView.get_thickness = function(this1) {
|
|
return this1.buffer.o[this1.oPos];
|
|
};
|
|
openfl_display__$internal_LineStyleView.get_color = function(this1) {
|
|
return this1.buffer.i[this1.iPos];
|
|
};
|
|
openfl_display__$internal_LineStyleView.get_alpha = function(this1) {
|
|
return this1.buffer.f[this1.fPos];
|
|
};
|
|
openfl_display__$internal_LineStyleView.get_pixelHinting = function(this1) {
|
|
return this1.buffer.b[this1.bPos];
|
|
};
|
|
openfl_display__$internal_LineStyleView.get_scaleMode = function(this1) {
|
|
return this1.buffer.o[this1.oPos + 1];
|
|
};
|
|
openfl_display__$internal_LineStyleView.get_caps = function(this1) {
|
|
return this1.buffer.o[this1.oPos + 2];
|
|
};
|
|
openfl_display__$internal_LineStyleView.get_joints = function(this1) {
|
|
return this1.buffer.o[this1.oPos + 3];
|
|
};
|
|
openfl_display__$internal_LineStyleView.get_miterLimit = function(this1) {
|
|
return this1.buffer.f[this1.fPos + 1];
|
|
};
|
|
var openfl_display__$internal_LineToView = {};
|
|
openfl_display__$internal_LineToView.__properties__ = {get_y:"get_y",get_x:"get_x"};
|
|
openfl_display__$internal_LineToView._new = function(d) {
|
|
var this1 = d;
|
|
return this1;
|
|
};
|
|
openfl_display__$internal_LineToView.get_x = function(this1) {
|
|
return this1.buffer.f[this1.fPos];
|
|
};
|
|
openfl_display__$internal_LineToView.get_y = function(this1) {
|
|
return this1.buffer.f[this1.fPos + 1];
|
|
};
|
|
var openfl_display__$internal_MoveToView = {};
|
|
openfl_display__$internal_MoveToView.__properties__ = {get_y:"get_y",get_x:"get_x"};
|
|
openfl_display__$internal_MoveToView._new = function(d) {
|
|
var this1 = d;
|
|
return this1;
|
|
};
|
|
openfl_display__$internal_MoveToView.get_x = function(this1) {
|
|
return this1.buffer.f[this1.fPos];
|
|
};
|
|
openfl_display__$internal_MoveToView.get_y = function(this1) {
|
|
return this1.buffer.f[this1.fPos + 1];
|
|
};
|
|
var openfl_display__$internal_OverrideBlendModeView = {};
|
|
openfl_display__$internal_OverrideBlendModeView.__properties__ = {get_blendMode:"get_blendMode"};
|
|
openfl_display__$internal_OverrideBlendModeView._new = function(d) {
|
|
var this1 = d;
|
|
return this1;
|
|
};
|
|
openfl_display__$internal_OverrideBlendModeView.get_blendMode = function(this1) {
|
|
return this1.buffer.o[this1.oPos];
|
|
};
|
|
var openfl_display__$internal_OverrideMatrixView = {};
|
|
openfl_display__$internal_OverrideMatrixView.__properties__ = {get_matrix:"get_matrix"};
|
|
openfl_display__$internal_OverrideMatrixView._new = function(d) {
|
|
var this1 = d;
|
|
return this1;
|
|
};
|
|
openfl_display__$internal_OverrideMatrixView.get_matrix = function(this1) {
|
|
return this1.buffer.o[this1.oPos];
|
|
};
|
|
var openfl_display__$internal_WindingEvenOddView = {};
|
|
openfl_display__$internal_WindingEvenOddView._new = function(d) {
|
|
var this1 = d;
|
|
return this1;
|
|
};
|
|
var openfl_display__$internal_WindingNonZeroView = {};
|
|
openfl_display__$internal_WindingNonZeroView._new = function(d) {
|
|
var this1 = d;
|
|
return this1;
|
|
};
|
|
var openfl_display__$internal_DrawCommandType = $hxEnums["openfl.display._internal.DrawCommandType"] = { __ename__ : "openfl.display._internal.DrawCommandType", __constructs__ : ["BEGIN_BITMAP_FILL","BEGIN_FILL","BEGIN_GRADIENT_FILL","BEGIN_SHADER_FILL","CUBIC_CURVE_TO","CURVE_TO","DRAW_CIRCLE","DRAW_ELLIPSE","DRAW_QUADS","DRAW_RECT","DRAW_ROUND_RECT","DRAW_TILES","DRAW_TRIANGLES","END_FILL","LINE_BITMAP_STYLE","LINE_GRADIENT_STYLE","LINE_STYLE","LINE_TO","MOVE_TO","OVERRIDE_BLEND_MODE","OVERRIDE_MATRIX","WINDING_EVEN_ODD","WINDING_NON_ZERO","UNKNOWN"]
|
|
,BEGIN_BITMAP_FILL: {_hx_index:0,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr}
|
|
,BEGIN_FILL: {_hx_index:1,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr}
|
|
,BEGIN_GRADIENT_FILL: {_hx_index:2,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr}
|
|
,BEGIN_SHADER_FILL: {_hx_index:3,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr}
|
|
,CUBIC_CURVE_TO: {_hx_index:4,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr}
|
|
,CURVE_TO: {_hx_index:5,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr}
|
|
,DRAW_CIRCLE: {_hx_index:6,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr}
|
|
,DRAW_ELLIPSE: {_hx_index:7,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr}
|
|
,DRAW_QUADS: {_hx_index:8,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr}
|
|
,DRAW_RECT: {_hx_index:9,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr}
|
|
,DRAW_ROUND_RECT: {_hx_index:10,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr}
|
|
,DRAW_TILES: {_hx_index:11,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr}
|
|
,DRAW_TRIANGLES: {_hx_index:12,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr}
|
|
,END_FILL: {_hx_index:13,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr}
|
|
,LINE_BITMAP_STYLE: {_hx_index:14,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr}
|
|
,LINE_GRADIENT_STYLE: {_hx_index:15,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr}
|
|
,LINE_STYLE: {_hx_index:16,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr}
|
|
,LINE_TO: {_hx_index:17,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr}
|
|
,MOVE_TO: {_hx_index:18,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr}
|
|
,OVERRIDE_BLEND_MODE: {_hx_index:19,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr}
|
|
,OVERRIDE_MATRIX: {_hx_index:20,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr}
|
|
,WINDING_EVEN_ODD: {_hx_index:21,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr}
|
|
,WINDING_NON_ZERO: {_hx_index:22,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr}
|
|
,UNKNOWN: {_hx_index:23,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr}
|
|
};
|
|
var openfl_display__$internal_PerlinNoise = function(seed,octaves,channels,grayScale,falloff,stitch,stitch_threshold) {
|
|
if(stitch_threshold == null) {
|
|
stitch_threshold = 0.05;
|
|
}
|
|
if(stitch == null) {
|
|
stitch = false;
|
|
}
|
|
openfl_display__$internal_AbstractNoise.call(this,seed,octaves,channels,grayScale,falloff,stitch,stitch_threshold);
|
|
this.p_perm = [];
|
|
var _g = 0;
|
|
while(_g < 512) {
|
|
var i = _g++;
|
|
this.p_perm[i] = openfl_display__$internal_PerlinNoise.P[i & 255];
|
|
}
|
|
this.base_factor = 0.03125;
|
|
this.setSeed(seed);
|
|
};
|
|
$hxClasses["openfl.display._internal.PerlinNoise"] = openfl_display__$internal_PerlinNoise;
|
|
openfl_display__$internal_PerlinNoise.__name__ = "openfl.display._internal.PerlinNoise";
|
|
openfl_display__$internal_PerlinNoise.__super__ = openfl_display__$internal_AbstractNoise;
|
|
openfl_display__$internal_PerlinNoise.prototype = $extend(openfl_display__$internal_AbstractNoise.prototype,{
|
|
p_perm: null
|
|
,x_offset: null
|
|
,y_offset: null
|
|
,z_offset: null
|
|
,base_factor: null
|
|
,fill: function(bitmap,_scale_x,_scale_y,_scale_z) {
|
|
var width = bitmap.width;
|
|
var height = bitmap.height;
|
|
var octaves = this.octaves;
|
|
var octaves_frequencies = this.octaves_frequencies;
|
|
var octaves_persistences = this.octaves_persistences;
|
|
var isRed = (1 & this.channels) == 1;
|
|
var isGreen = (2 & this.channels) == 2;
|
|
var isBlue = (4 & this.channels) == 4;
|
|
var channels = 0;
|
|
if(isRed) {
|
|
++channels;
|
|
}
|
|
if(isGreen) {
|
|
++channels;
|
|
}
|
|
if(isBlue) {
|
|
++channels;
|
|
}
|
|
var grayscale = this.grayscale;
|
|
var stitch_w = this.stitch_threshold * width | 0;
|
|
var stitch_h = this.stitch_threshold * height | 0;
|
|
var base_x = _scale_x * this.base_factor + this.x_offset;
|
|
_scale_y = _scale_y * this.base_factor + this.y_offset;
|
|
_scale_z = _scale_z * this.base_factor + this.z_offset;
|
|
var g_offset = 1.0;
|
|
var b_offset = 2.0;
|
|
var _g = 0;
|
|
var _g1 = height;
|
|
while(_g < _g1) {
|
|
var py = _g++;
|
|
_scale_x = base_x;
|
|
var _g2 = 0;
|
|
var _g3 = width;
|
|
while(_g2 < _g3) {
|
|
var px = _g2++;
|
|
var color1 = 0.0;
|
|
var color2 = 0.0;
|
|
var color3 = 0.0;
|
|
var _g4 = 0;
|
|
var _g5 = octaves;
|
|
while(_g4 < _g5) {
|
|
var i = _g4++;
|
|
var frequency = octaves_frequencies[i];
|
|
var persistence = octaves_persistences[i];
|
|
color1 += this.noise(_scale_x * frequency,_scale_y * frequency,_scale_z * frequency) * persistence;
|
|
if(!grayscale) {
|
|
if(1 < channels) {
|
|
color2 += this.noise((_scale_x + g_offset) * frequency,(_scale_y + g_offset) * frequency,_scale_z * frequency) * persistence;
|
|
}
|
|
if(2 < channels) {
|
|
color3 += this.noise((_scale_x + b_offset) * frequency,(_scale_y + b_offset) * frequency,_scale_z * frequency) * persistence;
|
|
}
|
|
}
|
|
}
|
|
var color = 0;
|
|
if(grayscale) {
|
|
color = this.color(color1,color1,color1);
|
|
} else if(isRed && isGreen && isBlue) {
|
|
color = this.color(color1,color2,color3);
|
|
} else if(isRed && isGreen) {
|
|
color = this.color(color1,color2,null);
|
|
} else if(isRed && isBlue) {
|
|
color = this.color(color1,null,color2);
|
|
} else if(isGreen && isBlue) {
|
|
color = this.color(null,color1,color2);
|
|
} else if(isRed) {
|
|
color = this.color(color1,null,null);
|
|
} else if(isGreen) {
|
|
color = this.color(null,color1,null);
|
|
} else if(isBlue) {
|
|
color = this.color(null,null,color1);
|
|
}
|
|
if(this.stitch) {
|
|
color = this.stitching(bitmap,color,px,py,stitch_w,stitch_h,width,height);
|
|
}
|
|
bitmap.setPixel32(px,py,color);
|
|
_scale_x += this.base_factor;
|
|
}
|
|
_scale_y += this.base_factor;
|
|
}
|
|
}
|
|
,noise: function(x,y,z) {
|
|
var xf = x - x % 1;
|
|
var yf = y - y % 1;
|
|
var zf = z - z % 1;
|
|
x -= xf;
|
|
y -= yf;
|
|
z -= zf;
|
|
var X = (xf | 0) & 255;
|
|
var Y = (yf | 0) & 255;
|
|
var Z = (zf | 0) & 255;
|
|
var u = this.fade(x);
|
|
var v = this.fade(y);
|
|
var w = this.fade(z);
|
|
var A = this.p_perm[X] + Y;
|
|
var AA = this.p_perm[A] + Z;
|
|
var AB = this.p_perm[A + 1] + Z;
|
|
var B = this.p_perm[X + 1] + Y;
|
|
var BA = this.p_perm[B] + Z;
|
|
var BB = this.p_perm[B + 1] + Z;
|
|
var x1 = x - 1;
|
|
var y1 = y - 1;
|
|
var z1 = z - 1;
|
|
var hash = this.p_perm[BB + 1] & 15;
|
|
var g1 = ((hash & 1) == 0 ? hash < 8 ? x1 : y1 : hash < 8 ? -x1 : -y1) + ((hash & 2) == 0 ? hash < 4 ? y1 : hash == 12 ? x1 : z1 : hash < 4 ? -y1 : hash == 14 ? -x1 : -z1);
|
|
hash = this.p_perm[AB + 1] & 15;
|
|
var g2 = ((hash & 1) == 0 ? hash < 8 ? x : y1 : hash < 8 ? -x : -y1) + ((hash & 2) == 0 ? hash < 4 ? y1 : hash == 12 ? x : z1 : hash < 4 ? -y1 : hash == 14 ? -x : -z1);
|
|
hash = this.p_perm[BA + 1] & 15;
|
|
var g3 = ((hash & 1) == 0 ? hash < 8 ? x1 : y : hash < 8 ? -x1 : -y) + ((hash & 2) == 0 ? hash < 4 ? y : hash == 12 ? x1 : z1 : hash < 4 ? -y : hash == 14 ? -x1 : -z1);
|
|
hash = this.p_perm[AA + 1] & 15;
|
|
var g4 = ((hash & 1) == 0 ? hash < 8 ? x : y : hash < 8 ? -x : -y) + ((hash & 2) == 0 ? hash < 4 ? y : hash == 12 ? x : z1 : hash < 4 ? -y : hash == 14 ? -x : -z1);
|
|
hash = this.p_perm[BB] & 15;
|
|
var g5 = ((hash & 1) == 0 ? hash < 8 ? x1 : y1 : hash < 8 ? -x1 : -y1) + ((hash & 2) == 0 ? hash < 4 ? y1 : hash == 12 ? x1 : z : hash < 4 ? -y1 : hash == 14 ? -x1 : -z);
|
|
hash = this.p_perm[AB] & 15;
|
|
var g6 = ((hash & 1) == 0 ? hash < 8 ? x : y1 : hash < 8 ? -x : -y1) + ((hash & 2) == 0 ? hash < 4 ? y1 : hash == 12 ? x : z : hash < 4 ? -y1 : hash == 14 ? -x : -z);
|
|
hash = this.p_perm[BA] & 15;
|
|
var g7 = ((hash & 1) == 0 ? hash < 8 ? x1 : y : hash < 8 ? -x1 : -y) + ((hash & 2) == 0 ? hash < 4 ? y : hash == 12 ? x1 : z : hash < 4 ? -y : hash == 14 ? -x1 : -z);
|
|
hash = this.p_perm[AA] & 15;
|
|
var g8 = ((hash & 1) == 0 ? hash < 8 ? x : y : hash < 8 ? -x : -y) + ((hash & 2) == 0 ? hash < 4 ? y : hash == 12 ? x : z : hash < 4 ? -y : hash == 14 ? -x : -z);
|
|
g2 += u * (g1 - g2);
|
|
g4 += u * (g3 - g4);
|
|
g6 += u * (g5 - g6);
|
|
g8 += u * (g7 - g8);
|
|
g4 += v * (g2 - g4);
|
|
g8 += v * (g6 - g8);
|
|
return g8 + w * (g4 - g8);
|
|
}
|
|
,setSeed: function(seed) {
|
|
seed = seed * 16807.0 % 2147483647 | 0;
|
|
this.x_offset = seed;
|
|
seed = seed * 16807.0 % 2147483647 | 0;
|
|
this.y_offset = seed;
|
|
seed = seed * 16807.0 % 2147483647 | 0;
|
|
this.z_offset = seed;
|
|
}
|
|
,__class__: openfl_display__$internal_PerlinNoise
|
|
});
|
|
var openfl_display__$internal_SamplerState = function(wrap,filter,mipfilter,lodBias,ignoreSampler,centroid,textureAlpha) {
|
|
if(textureAlpha == null) {
|
|
textureAlpha = false;
|
|
}
|
|
if(centroid == null) {
|
|
centroid = false;
|
|
}
|
|
if(ignoreSampler == null) {
|
|
ignoreSampler = false;
|
|
}
|
|
if(lodBias == null) {
|
|
lodBias = 0.0;
|
|
}
|
|
if(mipfilter == null) {
|
|
mipfilter = 2;
|
|
}
|
|
if(filter == null) {
|
|
filter = 5;
|
|
}
|
|
if(wrap == null) {
|
|
wrap = 0;
|
|
}
|
|
this.wrap = wrap;
|
|
this.filter = filter;
|
|
this.mipfilter = mipfilter;
|
|
this.lodBias = lodBias;
|
|
this.ignoreSampler = ignoreSampler;
|
|
this.centroid = centroid;
|
|
this.textureAlpha = textureAlpha;
|
|
};
|
|
$hxClasses["openfl.display._internal.SamplerState"] = openfl_display__$internal_SamplerState;
|
|
openfl_display__$internal_SamplerState.__name__ = "openfl.display._internal.SamplerState";
|
|
openfl_display__$internal_SamplerState.prototype = {
|
|
centroid: null
|
|
,filter: null
|
|
,ignoreSampler: null
|
|
,lodBias: null
|
|
,mipfilter: null
|
|
,mipmapGenerated: null
|
|
,textureAlpha: null
|
|
,wrap: null
|
|
,clone: function() {
|
|
var copy = new openfl_display__$internal_SamplerState(this.wrap,this.filter,this.mipfilter,this.lodBias,this.ignoreSampler,this.centroid,this.textureAlpha);
|
|
copy.mipmapGenerated = this.mipmapGenerated;
|
|
return copy;
|
|
}
|
|
,copyFrom: function(other) {
|
|
if(other == null || other.ignoreSampler) {
|
|
return;
|
|
}
|
|
this.wrap = other.wrap;
|
|
this.filter = other.filter;
|
|
this.mipfilter = other.mipfilter;
|
|
this.lodBias = other.lodBias;
|
|
this.centroid = other.centroid;
|
|
this.textureAlpha = other.textureAlpha;
|
|
}
|
|
,equals: function(other) {
|
|
if(other == null) {
|
|
return false;
|
|
}
|
|
if(this.wrap == other.wrap && this.filter == other.filter && this.mipfilter == other.mipfilter && this.lodBias == other.lodBias) {
|
|
return this.textureAlpha == other.textureAlpha;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,__class__: openfl_display__$internal_SamplerState
|
|
};
|
|
var openfl_display__$internal_ShaderBuffer = function() {
|
|
this.inputRefs = [];
|
|
this.inputFilter = [];
|
|
this.inputMipFilter = [];
|
|
this.inputs = [];
|
|
this.inputWrap = [];
|
|
this.overrideIntNames = [];
|
|
this.overrideIntValues = [];
|
|
this.overrideFloatNames = [];
|
|
this.overrideFloatValues = [];
|
|
this.overrideBoolNames = [];
|
|
this.overrideBoolValues = [];
|
|
this.paramLengths = [];
|
|
this.paramPositions = [];
|
|
this.paramRefs_Bool = [];
|
|
this.paramRefs_Float = [];
|
|
this.paramRefs_Int = [];
|
|
this.paramTypes = [];
|
|
};
|
|
$hxClasses["openfl.display._internal.ShaderBuffer"] = openfl_display__$internal_ShaderBuffer;
|
|
openfl_display__$internal_ShaderBuffer.__name__ = "openfl.display._internal.ShaderBuffer";
|
|
openfl_display__$internal_ShaderBuffer.prototype = {
|
|
inputCount: null
|
|
,inputRefs: null
|
|
,inputFilter: null
|
|
,inputMipFilter: null
|
|
,inputs: null
|
|
,inputWrap: null
|
|
,overrideBoolCount: null
|
|
,overrideBoolNames: null
|
|
,overrideBoolValues: null
|
|
,overrideFloatCount: null
|
|
,overrideFloatNames: null
|
|
,overrideFloatValues: null
|
|
,overrideIntCount: null
|
|
,overrideIntNames: null
|
|
,overrideIntValues: null
|
|
,paramBoolCount: null
|
|
,paramCount: null
|
|
,paramData: null
|
|
,paramDataBuffer: null
|
|
,paramDataLength: null
|
|
,paramFloatCount: null
|
|
,paramIntCount: null
|
|
,paramLengths: null
|
|
,paramPositions: null
|
|
,paramRefs_Bool: null
|
|
,paramRefs_Float: null
|
|
,paramRefs_Int: null
|
|
,paramTypes: null
|
|
,shader: null
|
|
,addBoolOverride: function(name,values) {
|
|
this.overrideBoolNames[this.overrideBoolCount] = name;
|
|
this.overrideBoolValues[this.overrideBoolCount] = values;
|
|
this.overrideBoolCount++;
|
|
}
|
|
,addFloatOverride: function(name,values) {
|
|
this.overrideFloatNames[this.overrideFloatCount] = name;
|
|
this.overrideFloatValues[this.overrideFloatCount] = values;
|
|
this.overrideFloatCount++;
|
|
}
|
|
,addIntOverride: function(name,values) {
|
|
this.overrideIntNames[this.overrideIntCount] = name;
|
|
this.overrideIntValues[this.overrideIntCount] = values;
|
|
this.overrideIntCount++;
|
|
}
|
|
,clearOverride: function() {
|
|
this.overrideIntCount = 0;
|
|
this.overrideFloatCount = 0;
|
|
this.overrideBoolCount = 0;
|
|
}
|
|
,update: function(shader) {
|
|
this.inputCount = 0;
|
|
this.overrideIntCount = 0;
|
|
this.overrideFloatCount = 0;
|
|
this.overrideBoolCount = 0;
|
|
this.paramBoolCount = 0;
|
|
this.paramCount = 0;
|
|
this.paramDataLength = 0;
|
|
this.paramFloatCount = 0;
|
|
this.paramIntCount = 0;
|
|
this.shader = null;
|
|
if(shader == null) {
|
|
return;
|
|
}
|
|
shader.__init();
|
|
this.inputCount = shader.__inputBitmapData.length;
|
|
var input;
|
|
var _g = 0;
|
|
var _g1 = this.inputCount;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
input = shader.__inputBitmapData[i];
|
|
this.inputs[i] = input.input;
|
|
this.inputFilter[i] = input.filter;
|
|
this.inputMipFilter[i] = input.mipFilter;
|
|
this.inputRefs[i] = input;
|
|
this.inputWrap[i] = input.wrap;
|
|
}
|
|
var boolCount = shader.__paramBool.length;
|
|
var floatCount = shader.__paramFloat.length;
|
|
var intCount = shader.__paramInt.length;
|
|
this.paramCount = boolCount + floatCount + intCount;
|
|
this.paramBoolCount = boolCount;
|
|
this.paramFloatCount = floatCount;
|
|
this.paramIntCount = intCount;
|
|
var length = 0;
|
|
var p = 0;
|
|
var param;
|
|
var _g = 0;
|
|
var _g1 = boolCount;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
param = shader.__paramBool[i];
|
|
this.paramPositions[p] = this.paramDataLength;
|
|
length = param.value != null ? param.value.length : 0;
|
|
this.paramLengths[p] = length;
|
|
this.paramDataLength += length;
|
|
this.paramTypes[p] = 0;
|
|
this.paramRefs_Bool[i] = param;
|
|
++p;
|
|
}
|
|
var param;
|
|
var _g = 0;
|
|
var _g1 = floatCount;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
param = shader.__paramFloat[i];
|
|
this.paramPositions[p] = this.paramDataLength;
|
|
length = param.value != null ? param.value.length : 0;
|
|
this.paramLengths[p] = length;
|
|
this.paramDataLength += length;
|
|
this.paramTypes[p] = 1;
|
|
this.paramRefs_Float[i] = param;
|
|
++p;
|
|
}
|
|
var param;
|
|
var _g = 0;
|
|
var _g1 = intCount;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
param = shader.__paramInt[i];
|
|
this.paramPositions[p] = this.paramDataLength;
|
|
length = param.value != null ? param.value.length : 0;
|
|
this.paramLengths[p] = length;
|
|
this.paramDataLength += length;
|
|
this.paramTypes[p] = 2;
|
|
this.paramRefs_Int[i] = param;
|
|
++p;
|
|
}
|
|
if(this.paramDataLength > 0) {
|
|
if(this.paramData == null) {
|
|
var elements = this.paramDataLength;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = null;
|
|
var len = null;
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Float32Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Float32Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Float32Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Float32Array(view);
|
|
} else if(buffer != null) {
|
|
if(len == null) {
|
|
this1 = new Float32Array(buffer,0);
|
|
} else {
|
|
this1 = new Float32Array(buffer,0,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
this.paramData = this1;
|
|
} else if(this.paramDataLength > this.paramData.length) {
|
|
var elements = this.paramDataLength;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = null;
|
|
var len = null;
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Float32Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Float32Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Float32Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Float32Array(view);
|
|
} else if(buffer != null) {
|
|
if(len == null) {
|
|
this1 = new Float32Array(buffer,0);
|
|
} else {
|
|
this1 = new Float32Array(buffer,0,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
var data = this1;
|
|
data.set(this.paramData);
|
|
this.paramData = data;
|
|
}
|
|
}
|
|
var boolIndex = 0;
|
|
var floatIndex = 0;
|
|
var intIndex = 0;
|
|
var paramPosition = 0;
|
|
var boolParam;
|
|
var floatParam;
|
|
var intParam;
|
|
var length;
|
|
var _g = 0;
|
|
var _g1 = this.paramCount;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
length = this.paramLengths[i];
|
|
if(i < boolCount) {
|
|
boolParam = this.paramRefs_Bool[boolIndex];
|
|
++boolIndex;
|
|
var _g2 = 0;
|
|
var _g3 = length;
|
|
while(_g2 < _g3) {
|
|
var j = _g2++;
|
|
this.paramData[paramPosition] = boolParam.value[j] ? 1 : 0;
|
|
++paramPosition;
|
|
}
|
|
} else if(i < boolCount + floatCount) {
|
|
floatParam = this.paramRefs_Float[floatIndex];
|
|
++floatIndex;
|
|
var _g4 = 0;
|
|
var _g5 = length;
|
|
while(_g4 < _g5) {
|
|
var j1 = _g4++;
|
|
this.paramData[paramPosition] = floatParam.value[j1];
|
|
++paramPosition;
|
|
}
|
|
} else {
|
|
intParam = this.paramRefs_Int[intIndex];
|
|
++intIndex;
|
|
var _g6 = 0;
|
|
var _g7 = length;
|
|
while(_g6 < _g7) {
|
|
var j2 = _g6++;
|
|
this.paramData[paramPosition] = intParam.value[j2];
|
|
++paramPosition;
|
|
}
|
|
}
|
|
}
|
|
this.shader = shader;
|
|
}
|
|
,__class__: openfl_display__$internal_ShaderBuffer
|
|
};
|
|
var openfl_display3D_Context3D = function(stage,contextState,stage3D) {
|
|
this.profile = 3;
|
|
this.driverInfo = "OpenGL (Direct blitting)";
|
|
this.backBufferWidth = 0;
|
|
this.backBufferHeight = 0;
|
|
openfl_events_EventDispatcher.call(this);
|
|
this.__stage = stage;
|
|
this.__contextState = contextState;
|
|
this.__stage3D = stage3D;
|
|
this.__context = stage.window.context;
|
|
this.gl = this.__context.webgl;
|
|
if(this.__contextState == null) {
|
|
this.__contextState = new openfl_display3D__$internal_Context3DState();
|
|
}
|
|
this.__state = new openfl_display3D__$internal_Context3DState();
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = null;
|
|
var len = null;
|
|
var this1 = new Float32Array(512);
|
|
this.__vertexConstants = this1;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = null;
|
|
var len = null;
|
|
var this1 = new Float32Array(512);
|
|
this.__fragmentConstants = this1;
|
|
var elements = null;
|
|
var array = [1.0,1.0,1.0,1.0];
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = null;
|
|
var len = null;
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Float32Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Float32Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Float32Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Float32Array(view);
|
|
} else if(buffer != null) {
|
|
if(len == null) {
|
|
this1 = new Float32Array(buffer,0);
|
|
} else {
|
|
this1 = new Float32Array(buffer,0,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
this.__positionScale = this1;
|
|
this.__programs = new haxe_ds_StringMap();
|
|
if(openfl_display3D_Context3D.__glMaxViewportDims == -1) {
|
|
openfl_display3D_Context3D.__glMaxViewportDims = this.gl.getParameter(this.gl.MAX_VIEWPORT_DIMS);
|
|
}
|
|
this.maxBackBufferWidth = openfl_display3D_Context3D.__glMaxViewportDims;
|
|
this.maxBackBufferHeight = openfl_display3D_Context3D.__glMaxViewportDims;
|
|
if(openfl_display3D_Context3D.__glMaxTextureMaxAnisotropy == -1) {
|
|
var extension = this.gl.getExtension("EXT_texture_filter_anisotropic");
|
|
if(extension == null || !Object.prototype.hasOwnProperty.call(extension,"MAX_TEXTURE_MAX_ANISOTROPY_EXT")) {
|
|
extension = this.gl.getExtension("MOZ_EXT_texture_filter_anisotropic");
|
|
}
|
|
if(extension == null || !Object.prototype.hasOwnProperty.call(extension,"MAX_TEXTURE_MAX_ANISOTROPY_EXT")) {
|
|
extension = this.gl.getExtension("WEBKIT_EXT_texture_filter_anisotropic");
|
|
}
|
|
if(extension != null) {
|
|
openfl_display3D_Context3D.__glTextureMaxAnisotropy = extension.TEXTURE_MAX_ANISOTROPY_EXT;
|
|
openfl_display3D_Context3D.__glMaxTextureMaxAnisotropy = this.gl.getParameter(extension.MAX_TEXTURE_MAX_ANISOTROPY_EXT);
|
|
} else {
|
|
openfl_display3D_Context3D.__glTextureMaxAnisotropy = 0;
|
|
openfl_display3D_Context3D.__glMaxTextureMaxAnisotropy = 0;
|
|
}
|
|
}
|
|
if(openfl_display3D_Context3D.__glDepthStencil == -1) {
|
|
openfl_display3D_Context3D.__glDepthStencil = this.gl.DEPTH_STENCIL;
|
|
}
|
|
if(openfl_display3D_Context3D.__glMemoryTotalAvailable == -1) {
|
|
var extension = this.gl.getExtension("NVX_gpu_memory_info");
|
|
if(extension != null) {
|
|
openfl_display3D_Context3D.__glMemoryTotalAvailable = extension.GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX;
|
|
openfl_display3D_Context3D.__glMemoryCurrentAvailable = extension.GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX;
|
|
}
|
|
}
|
|
if(openfl_display3D_Context3D.__driverInfo == null) {
|
|
var vendor = this.gl.getParameter(this.gl.VENDOR);
|
|
var version = this.gl.getParameter(this.gl.VERSION);
|
|
var renderer = this.gl.getParameter(this.gl.RENDERER);
|
|
var glslVersion = this.gl.getParameter(this.gl.SHADING_LANGUAGE_VERSION);
|
|
openfl_display3D_Context3D.__driverInfo = "OpenGL Vendor=" + vendor + " Version=" + version + " Renderer=" + renderer + " GLSL=" + glslVersion;
|
|
}
|
|
this.driverInfo = openfl_display3D_Context3D.__driverInfo;
|
|
this.__quadIndexBufferElements = 16383;
|
|
this.__quadIndexBufferCount = this.__quadIndexBufferElements * 6;
|
|
var elements = this.__quadIndexBufferCount;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = null;
|
|
var len = null;
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Uint16Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Uint16Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Uint16Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Uint16Array(view);
|
|
} else if(buffer != null) {
|
|
if(len == null) {
|
|
this1 = new Uint16Array(buffer,0);
|
|
} else {
|
|
this1 = new Uint16Array(buffer,0,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
var data = this1;
|
|
var index = 0;
|
|
var vertex = 0;
|
|
var _g = 0;
|
|
var _g1 = this.__quadIndexBufferElements;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
data[index] = vertex;
|
|
data[index + 1] = vertex + 1;
|
|
data[index + 2] = vertex + 2;
|
|
data[index + 3] = vertex + 2;
|
|
data[index + 4] = vertex + 1;
|
|
data[index + 5] = vertex + 3;
|
|
index = index + 6;
|
|
vertex = vertex + 4;
|
|
}
|
|
this.__quadIndexBuffer = this.createIndexBuffer(this.__quadIndexBufferCount);
|
|
this.__quadIndexBuffer.uploadFromTypedArray(data);
|
|
};
|
|
$hxClasses["openfl.display3D.Context3D"] = openfl_display3D_Context3D;
|
|
openfl_display3D_Context3D.__name__ = "openfl.display3D.Context3D";
|
|
openfl_display3D_Context3D.__driverInfo = null;
|
|
openfl_display3D_Context3D.__super__ = openfl_events_EventDispatcher;
|
|
openfl_display3D_Context3D.prototype = $extend(openfl_events_EventDispatcher.prototype,{
|
|
backBufferHeight: null
|
|
,backBufferWidth: null
|
|
,driverInfo: null
|
|
,maxBackBufferHeight: null
|
|
,maxBackBufferWidth: null
|
|
,profile: null
|
|
,gl: null
|
|
,__backBufferAntiAlias: null
|
|
,__backBufferTexture: null
|
|
,__backBufferWantsBestResolution: null
|
|
,__backBufferWantsBestResolutionOnBrowserZoom: null
|
|
,__cleared: null
|
|
,__context: null
|
|
,__contextState: null
|
|
,__renderStage3DProgram: null
|
|
,__enableErrorChecking: null
|
|
,__fragmentConstants: null
|
|
,__frontBufferTexture: null
|
|
,__positionScale: null
|
|
,__present: null
|
|
,__programs: null
|
|
,__quadIndexBuffer: null
|
|
,__quadIndexBufferCount: null
|
|
,__quadIndexBufferElements: null
|
|
,__stage: null
|
|
,__stage3D: null
|
|
,__state: null
|
|
,__vertexConstants: null
|
|
,clear: function(red,green,blue,alpha,depth,stencil,mask) {
|
|
if(mask == null) {
|
|
mask = 7;
|
|
}
|
|
if(stencil == null) {
|
|
stencil = 0;
|
|
}
|
|
if(depth == null) {
|
|
depth = 1;
|
|
}
|
|
if(alpha == null) {
|
|
alpha = 1;
|
|
}
|
|
if(blue == null) {
|
|
blue = 0;
|
|
}
|
|
if(green == null) {
|
|
green = 0;
|
|
}
|
|
if(red == null) {
|
|
red = 0;
|
|
}
|
|
this.__flushGLFramebuffer();
|
|
this.__flushGLViewport();
|
|
var clearMask = 0;
|
|
if((mask & 1) != 0) {
|
|
if(this.__state.renderToTexture == null) {
|
|
if(this.__stage.context3D == this && !this.__stage.__renderer.__cleared) {
|
|
this.__stage.__renderer.__cleared = true;
|
|
}
|
|
this.__cleared = true;
|
|
}
|
|
clearMask |= this.gl.COLOR_BUFFER_BIT;
|
|
if(this.__contextState.colorMaskRed != true || this.__contextState.colorMaskGreen != true || this.__contextState.colorMaskBlue != true || this.__contextState.colorMaskAlpha != true) {
|
|
this.gl.colorMask(true,true,true,true);
|
|
this.__contextState.colorMaskRed = true;
|
|
this.__contextState.colorMaskGreen = true;
|
|
this.__contextState.colorMaskBlue = true;
|
|
this.__contextState.colorMaskAlpha = true;
|
|
}
|
|
this.gl.clearColor(red,green,blue,alpha);
|
|
}
|
|
if((mask & 2) != 0) {
|
|
clearMask |= this.gl.DEPTH_BUFFER_BIT;
|
|
if(this.__contextState.depthMask != true) {
|
|
this.gl.depthMask(true);
|
|
this.__contextState.depthMask = true;
|
|
}
|
|
this.gl.clearDepth(depth);
|
|
}
|
|
if((mask & 4) != 0) {
|
|
clearMask |= this.gl.STENCIL_BUFFER_BIT;
|
|
if(this.__contextState.stencilWriteMask != 255) {
|
|
this.gl.stencilMask(255);
|
|
this.__contextState.stencilWriteMask = 255;
|
|
}
|
|
this.gl.clearStencil(stencil);
|
|
this.__contextState.stencilWriteMask = 255;
|
|
}
|
|
if(clearMask == 0) {
|
|
return;
|
|
}
|
|
this.__setGLScissorTest(false);
|
|
this.gl.clear(clearMask);
|
|
}
|
|
,configureBackBuffer: function(width,height,antiAlias,enableDepthAndStencil,wantsBestResolution,wantsBestResolutionOnBrowserZoom) {
|
|
if(wantsBestResolutionOnBrowserZoom == null) {
|
|
wantsBestResolutionOnBrowserZoom = false;
|
|
}
|
|
if(wantsBestResolution == null) {
|
|
wantsBestResolution = false;
|
|
}
|
|
if(enableDepthAndStencil == null) {
|
|
enableDepthAndStencil = true;
|
|
}
|
|
if(this.__stage3D == null) {
|
|
this.backBufferWidth = width;
|
|
this.backBufferHeight = height;
|
|
this.__backBufferAntiAlias = antiAlias;
|
|
this.__state.backBufferEnableDepthAndStencil = enableDepthAndStencil;
|
|
this.__backBufferWantsBestResolution = wantsBestResolution;
|
|
this.__backBufferWantsBestResolutionOnBrowserZoom = wantsBestResolutionOnBrowserZoom;
|
|
} else {
|
|
if(this.__backBufferTexture == null || this.backBufferWidth != width || this.backBufferHeight != height) {
|
|
if(this.__backBufferTexture != null) {
|
|
this.__backBufferTexture.dispose();
|
|
}
|
|
if(this.__frontBufferTexture != null) {
|
|
this.__frontBufferTexture.dispose();
|
|
}
|
|
this.__backBufferTexture = this.createRectangleTexture(width,height,1,true);
|
|
this.__frontBufferTexture = this.createRectangleTexture(width,height,1,true);
|
|
if(this.__stage3D.__vertexBuffer == null) {
|
|
this.__stage3D.__vertexBuffer = this.createVertexBuffer(4,5);
|
|
}
|
|
var vertexData = openfl_Vector.toFloatVector(null,null,null,[width,height,0,1,1,0,height,0,0,1,width,0,0,1,0,0,0,0,0,0.0]);
|
|
this.__stage3D.__vertexBuffer.uploadFromVector(vertexData,0,20);
|
|
if(this.__stage3D.__indexBuffer == null) {
|
|
this.__stage3D.__indexBuffer = this.createIndexBuffer(6);
|
|
var indexData = openfl_Vector.toIntVector(null,null,null,[0,1,2,2,1,3]);
|
|
this.__stage3D.__indexBuffer.uploadFromVector(indexData,0,6);
|
|
}
|
|
}
|
|
this.backBufferWidth = width;
|
|
this.backBufferHeight = height;
|
|
this.__backBufferAntiAlias = antiAlias;
|
|
this.__state.backBufferEnableDepthAndStencil = enableDepthAndStencil;
|
|
this.__backBufferWantsBestResolution = wantsBestResolution;
|
|
this.__backBufferWantsBestResolutionOnBrowserZoom = wantsBestResolutionOnBrowserZoom;
|
|
this.__state.__primaryGLFramebuffer = this.__backBufferTexture.__getGLFramebuffer(enableDepthAndStencil,antiAlias,0);
|
|
this.__frontBufferTexture.__getGLFramebuffer(enableDepthAndStencil,antiAlias,0);
|
|
}
|
|
}
|
|
,createCubeTexture: function(size,format,optimizeForRenderToTexture,streamingLevels) {
|
|
if(streamingLevels == null) {
|
|
streamingLevels = 0;
|
|
}
|
|
return new openfl_display3D_textures_CubeTexture(this,size,format,optimizeForRenderToTexture,streamingLevels);
|
|
}
|
|
,createIndexBuffer: function(numIndices,bufferUsage) {
|
|
if(bufferUsage == null) {
|
|
bufferUsage = 1;
|
|
}
|
|
return new openfl_display3D_IndexBuffer3D(this,numIndices,bufferUsage);
|
|
}
|
|
,createProgram: function(format) {
|
|
if(format == null) {
|
|
format = 0;
|
|
}
|
|
return new openfl_display3D_Program3D(this,format);
|
|
}
|
|
,createRectangleTexture: function(width,height,format,optimizeForRenderToTexture) {
|
|
return new openfl_display3D_textures_RectangleTexture(this,width,height,openfl_display3D_Context3DTextureFormat.toString(format),optimizeForRenderToTexture);
|
|
}
|
|
,createTexture: function(width,height,format,optimizeForRenderToTexture,streamingLevels) {
|
|
if(streamingLevels == null) {
|
|
streamingLevels = 0;
|
|
}
|
|
return new openfl_display3D_textures_Texture(this,width,height,format,optimizeForRenderToTexture,streamingLevels);
|
|
}
|
|
,createVertexBuffer: function(numVertices,data32PerVertex,bufferUsage) {
|
|
if(bufferUsage == null) {
|
|
bufferUsage = 1;
|
|
}
|
|
return new openfl_display3D_VertexBuffer3D(this,numVertices,data32PerVertex,openfl_display3D_Context3DBufferUsage.toString(bufferUsage));
|
|
}
|
|
,createVideoTexture: function() {
|
|
return new openfl_display3D_textures_VideoTexture(this);
|
|
}
|
|
,dispose: function(recreate) {
|
|
if(recreate == null) {
|
|
recreate = true;
|
|
}
|
|
this.gl = null;
|
|
this.__dispose();
|
|
}
|
|
,drawToBitmapData: function(destination,srcRect,destPoint) {
|
|
if(destination == null) {
|
|
return;
|
|
}
|
|
var sourceRect = srcRect != null ? srcRect.__toLimeRectangle() : new lime_math_Rectangle(0,0,this.backBufferWidth,this.backBufferHeight);
|
|
var destVector = destPoint != null ? destPoint.__toLimeVector2() : new lime_math_Vector2();
|
|
if(this.__stage.context3D == this) {
|
|
if(this.__stage.window != null) {
|
|
if(this.__stage3D != null) {
|
|
var xa = -this.__stage3D.get_x() | 0;
|
|
var ya = -this.__stage3D.get_y() | 0;
|
|
destVector.x = xa;
|
|
destVector.y = ya;
|
|
}
|
|
var image = this.__stage.window.readPixels();
|
|
destination.image.copyPixels(image,sourceRect,destVector);
|
|
}
|
|
} else if(this.__backBufferTexture != null) {
|
|
var cacheRenderToTexture = this.__state.renderToTexture;
|
|
this.setRenderToBackBuffer();
|
|
this.__flushGLFramebuffer();
|
|
this.__flushGLViewport();
|
|
var elements = this.backBufferWidth * this.backBufferHeight * 4;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = null;
|
|
var len = null;
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Uint8Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Uint8Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Uint8Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Uint8Array(view);
|
|
} else if(buffer != null) {
|
|
if(len == null) {
|
|
this1 = new Uint8Array(buffer,0);
|
|
} else {
|
|
this1 = new Uint8Array(buffer,0,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
var data = this1;
|
|
var this1 = this.gl;
|
|
var width = this.backBufferWidth;
|
|
var height = this.backBufferHeight;
|
|
var format = this.__backBufferTexture.__format;
|
|
var type = this.gl.UNSIGNED_BYTE;
|
|
var pixels = data;
|
|
var dstOffset = null;
|
|
if(dstOffset != null) {
|
|
this1.readPixels(0,0,width,height,format,type,pixels,dstOffset);
|
|
} else {
|
|
this1.readPixels(0,0,width,height,format,type,pixels);
|
|
}
|
|
var image = new lime_graphics_Image(new lime_graphics_ImageBuffer(data,this.backBufferWidth,this.backBufferHeight,32,2));
|
|
destination.image.copyPixels(image,sourceRect,destVector);
|
|
if(cacheRenderToTexture != null) {
|
|
this.setRenderToTexture(cacheRenderToTexture,this.__state.renderToTextureDepthStencil,this.__state.renderToTextureAntiAlias,this.__state.renderToTextureSurfaceSelector);
|
|
}
|
|
}
|
|
}
|
|
,drawTriangles: function(indexBuffer,firstIndex,numTriangles) {
|
|
if(numTriangles == null) {
|
|
numTriangles = -1;
|
|
}
|
|
if(firstIndex == null) {
|
|
firstIndex = 0;
|
|
}
|
|
if(this.__state.renderToTexture == null) {
|
|
if(this.__stage.context3D == this && !this.__stage.__renderer.__cleared) {
|
|
this.__stage.__renderer.__clear();
|
|
} else if(!this.__cleared) {
|
|
this.clear(0,0,0,0,1,0,1);
|
|
}
|
|
}
|
|
this.__flushGL();
|
|
if(this.__state.program != null) {
|
|
this.__state.program.__flush();
|
|
}
|
|
var count = numTriangles == -1 ? indexBuffer.__numIndices : numTriangles * 3;
|
|
this.__bindGLElementArrayBuffer(indexBuffer.__id);
|
|
this.gl.drawElements(this.gl.TRIANGLES,count,this.gl.UNSIGNED_SHORT,firstIndex * 2);
|
|
}
|
|
,present: function() {
|
|
this.setRenderToBackBuffer();
|
|
if(this.__stage3D != null && this.__backBufferTexture != null) {
|
|
if(!this.__cleared) {
|
|
this.clear(0,0,0,0,1,0,1);
|
|
}
|
|
var cacheBuffer = this.__backBufferTexture;
|
|
this.__backBufferTexture = this.__frontBufferTexture;
|
|
this.__frontBufferTexture = cacheBuffer;
|
|
this.__state.__primaryGLFramebuffer = this.__backBufferTexture.__getGLFramebuffer(this.__state.backBufferEnableDepthAndStencil,this.__backBufferAntiAlias,0);
|
|
this.__cleared = false;
|
|
}
|
|
this.__present = true;
|
|
}
|
|
,setBlendFactors: function(sourceFactor,destinationFactor) {
|
|
this.setBlendFactorsSeparate(sourceFactor,destinationFactor,sourceFactor,destinationFactor);
|
|
}
|
|
,setBlendFactorsSeparate: function(sourceRGBFactor,destinationRGBFactor,sourceAlphaFactor,destinationAlphaFactor) {
|
|
this.__state.blendSourceRGBFactor = sourceRGBFactor;
|
|
this.__state.blendDestinationRGBFactor = destinationRGBFactor;
|
|
this.__state.blendSourceAlphaFactor = sourceAlphaFactor;
|
|
this.__state.blendDestinationAlphaFactor = destinationAlphaFactor;
|
|
this.__setGLBlendEquation(this.gl.FUNC_ADD);
|
|
}
|
|
,setColorMask: function(red,green,blue,alpha) {
|
|
this.__state.colorMaskRed = red;
|
|
this.__state.colorMaskGreen = green;
|
|
this.__state.colorMaskBlue = blue;
|
|
this.__state.colorMaskAlpha = alpha;
|
|
}
|
|
,setCulling: function(triangleFaceToCull) {
|
|
this.__state.culling = triangleFaceToCull;
|
|
}
|
|
,setDepthTest: function(depthMask,passCompareMode) {
|
|
this.__state.depthMask = depthMask;
|
|
this.__state.depthCompareMode = passCompareMode;
|
|
}
|
|
,setProgram: function(program) {
|
|
this.__state.program = program;
|
|
this.__state.shader = null;
|
|
if(program != null) {
|
|
var _g = 0;
|
|
var _g1 = program.__samplerStates.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(this.__state.samplerStates[i] == null) {
|
|
this.__state.samplerStates[i] = program.__samplerStates[i].clone();
|
|
} else {
|
|
this.__state.samplerStates[i].copyFrom(program.__samplerStates[i]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,setProgramConstantsFromByteArray: function(programType,firstRegister,numRegisters,data,byteArrayOffset) {
|
|
if(numRegisters == 0 || this.__state.program == null) {
|
|
return;
|
|
}
|
|
if(!(this.__state.program != null && this.__state.program.__format == 1)) {
|
|
if(numRegisters == -1) {
|
|
numRegisters = (openfl_utils_ByteArray.get_length(data) >>> 2) - byteArrayOffset;
|
|
}
|
|
var isVertex = programType == 1;
|
|
var dest = isVertex ? this.__vertexConstants : this.__fragmentConstants;
|
|
var bytes = openfl_utils_ByteArray.toBytes(data);
|
|
var byteOffset = 0;
|
|
var len = openfl_utils_ByteArray.get_length(data);
|
|
if(byteOffset == null) {
|
|
byteOffset = 0;
|
|
}
|
|
var floatData = byteOffset == null ? new Float32Array(bytes.b.bufferValue) : len == null ? new Float32Array(bytes.b.bufferValue,byteOffset) : new Float32Array(bytes.b.bufferValue,byteOffset,len);
|
|
var outOffset = firstRegister * 4;
|
|
var inOffset = UInt.toFloat(byteArrayOffset) / UInt.toFloat(4) | 0;
|
|
var _g = 0;
|
|
var _g1 = numRegisters * 4;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
dest[outOffset + i] = floatData[inOffset + i];
|
|
}
|
|
if(this.__state.program != null) {
|
|
this.__state.program.__markDirty(isVertex,firstRegister,numRegisters);
|
|
}
|
|
}
|
|
}
|
|
,setProgramConstantsFromMatrix: function(programType,firstRegister,matrix,transposedMatrix) {
|
|
if(transposedMatrix == null) {
|
|
transposedMatrix = false;
|
|
}
|
|
if(this.__state.program != null && this.__state.program.__format == 1) {
|
|
this.__flushGLProgram();
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = null;
|
|
var len = null;
|
|
var this1 = new Float32Array(16);
|
|
var data = this1;
|
|
data[0] = matrix.rawData.get(0);
|
|
data[1] = matrix.rawData.get(1);
|
|
data[2] = matrix.rawData.get(2);
|
|
data[3] = matrix.rawData.get(3);
|
|
data[4] = matrix.rawData.get(4);
|
|
data[5] = matrix.rawData.get(5);
|
|
data[6] = matrix.rawData.get(6);
|
|
data[7] = matrix.rawData.get(7);
|
|
data[8] = matrix.rawData.get(8);
|
|
data[9] = matrix.rawData.get(9);
|
|
data[10] = matrix.rawData.get(10);
|
|
data[11] = matrix.rawData.get(11);
|
|
data[12] = matrix.rawData.get(12);
|
|
data[13] = matrix.rawData.get(13);
|
|
data[14] = matrix.rawData.get(14);
|
|
data[15] = matrix.rawData.get(15);
|
|
lime_graphics_WebGLRenderContext.uniformMatrix4fv(this.gl,firstRegister,transposedMatrix,data);
|
|
} else {
|
|
var isVertex = programType == 1;
|
|
var dest = isVertex ? this.__vertexConstants : this.__fragmentConstants;
|
|
var source = matrix.rawData;
|
|
var i = firstRegister * 4;
|
|
if(transposedMatrix) {
|
|
dest[i++] = source.get(0);
|
|
dest[i++] = source.get(4);
|
|
dest[i++] = source.get(8);
|
|
dest[i++] = source.get(12);
|
|
dest[i++] = source.get(1);
|
|
dest[i++] = source.get(5);
|
|
dest[i++] = source.get(9);
|
|
dest[i++] = source.get(13);
|
|
dest[i++] = source.get(2);
|
|
dest[i++] = source.get(6);
|
|
dest[i++] = source.get(10);
|
|
dest[i++] = source.get(14);
|
|
dest[i++] = source.get(3);
|
|
dest[i++] = source.get(7);
|
|
dest[i++] = source.get(11);
|
|
dest[i++] = source.get(15);
|
|
} else {
|
|
dest[i++] = source.get(0);
|
|
dest[i++] = source.get(1);
|
|
dest[i++] = source.get(2);
|
|
dest[i++] = source.get(3);
|
|
dest[i++] = source.get(4);
|
|
dest[i++] = source.get(5);
|
|
dest[i++] = source.get(6);
|
|
dest[i++] = source.get(7);
|
|
dest[i++] = source.get(8);
|
|
dest[i++] = source.get(9);
|
|
dest[i++] = source.get(10);
|
|
dest[i++] = source.get(11);
|
|
dest[i++] = source.get(12);
|
|
dest[i++] = source.get(13);
|
|
dest[i++] = source.get(14);
|
|
dest[i++] = source.get(15);
|
|
}
|
|
if(this.__state.program != null) {
|
|
this.__state.program.__markDirty(isVertex,firstRegister,4);
|
|
}
|
|
}
|
|
}
|
|
,setProgramConstantsFromVector: function(programType,firstRegister,data,numRegisters) {
|
|
if(numRegisters == null) {
|
|
numRegisters = -1;
|
|
}
|
|
if(numRegisters == 0) {
|
|
return;
|
|
}
|
|
if(!(this.__state.program != null && this.__state.program.__format == 1)) {
|
|
if(numRegisters == -1) {
|
|
numRegisters = data.get_length() >> 2;
|
|
}
|
|
var isVertex = programType == 1;
|
|
var dest = isVertex ? this.__vertexConstants : this.__fragmentConstants;
|
|
var source = data;
|
|
var sourceIndex = 0;
|
|
var destIndex = firstRegister * 4;
|
|
var _g = 0;
|
|
var _g1 = numRegisters;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
dest[destIndex++] = source.get(sourceIndex++);
|
|
dest[destIndex++] = source.get(sourceIndex++);
|
|
dest[destIndex++] = source.get(sourceIndex++);
|
|
dest[destIndex++] = source.get(sourceIndex++);
|
|
}
|
|
if(this.__state.program != null) {
|
|
this.__state.program.__markDirty(isVertex,firstRegister,numRegisters);
|
|
}
|
|
}
|
|
}
|
|
,setRenderToBackBuffer: function() {
|
|
this.__state.renderToTexture = null;
|
|
}
|
|
,setRenderToTexture: function(texture,enableDepthAndStencil,antiAlias,surfaceSelector) {
|
|
if(surfaceSelector == null) {
|
|
surfaceSelector = 0;
|
|
}
|
|
if(antiAlias == null) {
|
|
antiAlias = 0;
|
|
}
|
|
if(enableDepthAndStencil == null) {
|
|
enableDepthAndStencil = false;
|
|
}
|
|
this.__state.renderToTexture = texture;
|
|
this.__state.renderToTextureDepthStencil = enableDepthAndStencil;
|
|
this.__state.renderToTextureAntiAlias = antiAlias;
|
|
this.__state.renderToTextureSurfaceSelector = surfaceSelector;
|
|
}
|
|
,setSamplerStateAt: function(sampler,wrap,filter,mipfilter) {
|
|
if(this.__state.samplerStates[sampler] == null) {
|
|
this.__state.samplerStates[sampler] = new openfl_display__$internal_SamplerState();
|
|
}
|
|
var state = this.__state.samplerStates[sampler];
|
|
state.wrap = wrap;
|
|
state.filter = filter;
|
|
state.mipfilter = mipfilter;
|
|
}
|
|
,setScissorRectangle: function(rectangle) {
|
|
if(rectangle != null) {
|
|
this.__state.scissorEnabled = true;
|
|
this.__state.scissorRectangle.copyFrom(rectangle);
|
|
} else {
|
|
this.__state.scissorEnabled = false;
|
|
}
|
|
}
|
|
,setStencilActions: function(triangleFace,compareMode,actionOnBothPass,actionOnDepthFail,actionOnDepthPassStencilFail) {
|
|
if(actionOnDepthPassStencilFail == null) {
|
|
actionOnDepthPassStencilFail = 5;
|
|
}
|
|
if(actionOnDepthFail == null) {
|
|
actionOnDepthFail = 5;
|
|
}
|
|
if(actionOnBothPass == null) {
|
|
actionOnBothPass = 5;
|
|
}
|
|
if(compareMode == null) {
|
|
compareMode = 0;
|
|
}
|
|
if(triangleFace == null) {
|
|
triangleFace = 2;
|
|
}
|
|
this.__state.stencilTriangleFace = triangleFace;
|
|
this.__state.stencilCompareMode = compareMode;
|
|
this.__state.stencilPass = actionOnBothPass;
|
|
this.__state.stencilDepthFail = actionOnDepthFail;
|
|
this.__state.stencilFail = actionOnDepthPassStencilFail;
|
|
}
|
|
,setStencilReferenceValue: function(referenceValue,readMask,writeMask) {
|
|
if(writeMask == null) {
|
|
writeMask = 255;
|
|
}
|
|
if(readMask == null) {
|
|
readMask = 255;
|
|
}
|
|
this.__state.stencilReferenceValue = referenceValue;
|
|
this.__state.stencilReadMask = readMask;
|
|
this.__state.stencilWriteMask = writeMask;
|
|
}
|
|
,setTextureAt: function(sampler,texture) {
|
|
this.__state.textures[sampler] = texture;
|
|
}
|
|
,setVertexBufferAt: function(index,buffer,bufferOffset,format) {
|
|
if(format == null) {
|
|
format = 4;
|
|
}
|
|
if(bufferOffset == null) {
|
|
bufferOffset = 0;
|
|
}
|
|
if(buffer == null) {
|
|
this.gl.disableVertexAttribArray(index);
|
|
this.__bindGLArrayBuffer(null);
|
|
return;
|
|
}
|
|
this.__bindGLArrayBuffer(buffer.__id);
|
|
this.gl.enableVertexAttribArray(index);
|
|
var byteOffset = bufferOffset * 4;
|
|
switch(format) {
|
|
case 0:
|
|
this.gl.vertexAttribPointer(index,4,this.gl.UNSIGNED_BYTE,true,buffer.__stride,byteOffset);
|
|
break;
|
|
case 1:
|
|
this.gl.vertexAttribPointer(index,1,this.gl.FLOAT,false,buffer.__stride,byteOffset);
|
|
break;
|
|
case 2:
|
|
this.gl.vertexAttribPointer(index,2,this.gl.FLOAT,false,buffer.__stride,byteOffset);
|
|
break;
|
|
case 3:
|
|
this.gl.vertexAttribPointer(index,3,this.gl.FLOAT,false,buffer.__stride,byteOffset);
|
|
break;
|
|
case 4:
|
|
this.gl.vertexAttribPointer(index,4,this.gl.FLOAT,false,buffer.__stride,byteOffset);
|
|
break;
|
|
default:
|
|
throw haxe_Exception.thrown(new openfl_errors_IllegalOperationError());
|
|
}
|
|
}
|
|
,__bindGLArrayBuffer: function(buffer) {
|
|
if(this.__contextState.__currentGLArrayBuffer != buffer) {
|
|
this.gl.bindBuffer(this.gl.ARRAY_BUFFER,buffer);
|
|
this.__contextState.__currentGLArrayBuffer = buffer;
|
|
}
|
|
}
|
|
,__bindGLElementArrayBuffer: function(buffer) {
|
|
if(this.__contextState.__currentGLElementArrayBuffer != buffer) {
|
|
this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,buffer);
|
|
this.__contextState.__currentGLElementArrayBuffer = buffer;
|
|
}
|
|
}
|
|
,__bindGLFramebuffer: function(framebuffer) {
|
|
if(this.__contextState.__currentGLFramebuffer != framebuffer) {
|
|
this.gl.bindFramebuffer(this.gl.FRAMEBUFFER,framebuffer);
|
|
this.__contextState.__currentGLFramebuffer = framebuffer;
|
|
}
|
|
}
|
|
,__bindGLTexture2D: function(texture) {
|
|
this.gl.bindTexture(this.gl.TEXTURE_2D,texture);
|
|
this.__contextState.__currentGLTexture2D = texture;
|
|
}
|
|
,__bindGLTextureCubeMap: function(texture) {
|
|
this.gl.bindTexture(this.gl.TEXTURE_CUBE_MAP,texture);
|
|
this.__contextState.__currentGLTextureCubeMap = texture;
|
|
}
|
|
,__dispose: function() {
|
|
this.driverInfo += " (Disposed)";
|
|
if(this.__stage3D != null) {
|
|
this.__stage3D.__indexBuffer = null;
|
|
this.__stage3D.__vertexBuffer = null;
|
|
this.__stage3D.context3D = null;
|
|
this.__stage3D = null;
|
|
}
|
|
this.__backBufferTexture = null;
|
|
this.__context = null;
|
|
this.__renderStage3DProgram = null;
|
|
this.__fragmentConstants = null;
|
|
this.__frontBufferTexture = null;
|
|
this.__positionScale = null;
|
|
this.__present = false;
|
|
this.__quadIndexBuffer = null;
|
|
this.__stage = null;
|
|
this.__vertexConstants = null;
|
|
}
|
|
,__drawTriangles: function(firstIndex,count) {
|
|
if(firstIndex == null) {
|
|
firstIndex = 0;
|
|
}
|
|
if(this.__state.renderToTexture == null) {
|
|
if(this.__stage.context3D == this && !this.__stage.__renderer.__cleared) {
|
|
this.__stage.__renderer.__clear();
|
|
} else if(!this.__cleared) {
|
|
this.clear(0,0,0,0,1,0,1);
|
|
}
|
|
}
|
|
this.__flushGL();
|
|
if(this.__state.program != null) {
|
|
this.__state.program.__flush();
|
|
}
|
|
this.gl.drawArrays(this.gl.TRIANGLES,firstIndex,count);
|
|
}
|
|
,__flushGL: function() {
|
|
this.__flushGLProgram();
|
|
this.__flushGLFramebuffer();
|
|
this.__flushGLViewport();
|
|
this.__flushGLBlend();
|
|
if(this.__contextState.colorMaskRed != this.__state.colorMaskRed || this.__contextState.colorMaskGreen != this.__state.colorMaskGreen || this.__contextState.colorMaskBlue != this.__state.colorMaskBlue || this.__contextState.colorMaskAlpha != this.__state.colorMaskAlpha) {
|
|
this.gl.colorMask(this.__state.colorMaskRed,this.__state.colorMaskGreen,this.__state.colorMaskBlue,this.__state.colorMaskAlpha);
|
|
this.__contextState.colorMaskRed = this.__state.colorMaskRed;
|
|
this.__contextState.colorMaskGreen = this.__state.colorMaskGreen;
|
|
this.__contextState.colorMaskBlue = this.__state.colorMaskBlue;
|
|
this.__contextState.colorMaskAlpha = this.__state.colorMaskAlpha;
|
|
}
|
|
this.__flushGLCulling();
|
|
this.__flushGLDepth();
|
|
this.__flushGLScissor();
|
|
this.__flushGLStencil();
|
|
this.__flushGLTextures();
|
|
}
|
|
,__flushGLBlend: function() {
|
|
if(this.__contextState.blendDestinationRGBFactor != this.__state.blendDestinationRGBFactor || this.__contextState.blendSourceRGBFactor != this.__state.blendSourceRGBFactor || this.__contextState.blendDestinationAlphaFactor != this.__state.blendDestinationAlphaFactor || this.__contextState.blendSourceAlphaFactor != this.__state.blendSourceAlphaFactor) {
|
|
this.__setGLBlend(true);
|
|
if(this.__state.blendDestinationRGBFactor == this.__state.blendDestinationAlphaFactor && this.__state.blendSourceRGBFactor == this.__state.blendSourceAlphaFactor) {
|
|
this.gl.blendFunc(this.__getGLBlend(this.__state.blendSourceRGBFactor),this.__getGLBlend(this.__state.blendDestinationRGBFactor));
|
|
} else {
|
|
this.gl.blendFuncSeparate(this.__getGLBlend(this.__state.blendSourceRGBFactor),this.__getGLBlend(this.__state.blendDestinationRGBFactor),this.__getGLBlend(this.__state.blendSourceAlphaFactor),this.__getGLBlend(this.__state.blendDestinationAlphaFactor));
|
|
}
|
|
this.__contextState.blendDestinationRGBFactor = this.__state.blendDestinationRGBFactor;
|
|
this.__contextState.blendSourceRGBFactor = this.__state.blendSourceRGBFactor;
|
|
this.__contextState.blendDestinationAlphaFactor = this.__state.blendDestinationAlphaFactor;
|
|
this.__contextState.blendSourceAlphaFactor = this.__state.blendSourceAlphaFactor;
|
|
}
|
|
}
|
|
,__flushGLColor: function() {
|
|
if(this.__contextState.colorMaskRed != this.__state.colorMaskRed || this.__contextState.colorMaskGreen != this.__state.colorMaskGreen || this.__contextState.colorMaskBlue != this.__state.colorMaskBlue || this.__contextState.colorMaskAlpha != this.__state.colorMaskAlpha) {
|
|
this.gl.colorMask(this.__state.colorMaskRed,this.__state.colorMaskGreen,this.__state.colorMaskBlue,this.__state.colorMaskAlpha);
|
|
this.__contextState.colorMaskRed = this.__state.colorMaskRed;
|
|
this.__contextState.colorMaskGreen = this.__state.colorMaskGreen;
|
|
this.__contextState.colorMaskBlue = this.__state.colorMaskBlue;
|
|
this.__contextState.colorMaskAlpha = this.__state.colorMaskAlpha;
|
|
}
|
|
}
|
|
,__flushGLCulling: function() {
|
|
if(this.__contextState.culling != this.__state.culling) {
|
|
if(this.__state.culling == 3) {
|
|
this.__setGLCullFace(false);
|
|
} else {
|
|
this.__setGLCullFace(true);
|
|
switch(this.__state.culling) {
|
|
case 0:
|
|
this.gl.cullFace(this.gl.BACK);
|
|
break;
|
|
case 1:
|
|
this.gl.cullFace(this.gl.FRONT);
|
|
break;
|
|
case 2:
|
|
this.gl.cullFace(this.gl.FRONT_AND_BACK);
|
|
break;
|
|
case 3:
|
|
break;
|
|
default:
|
|
throw haxe_Exception.thrown(new openfl_errors_IllegalOperationError());
|
|
}
|
|
}
|
|
this.__contextState.culling = this.__state.culling;
|
|
}
|
|
}
|
|
,__flushGLDepth: function() {
|
|
var depthMask = this.__state.depthMask && (this.__state.renderToTexture != null ? this.__state.renderToTextureDepthStencil : this.__state.backBufferEnableDepthAndStencil);
|
|
if(this.__contextState.depthMask != depthMask) {
|
|
this.gl.depthMask(depthMask);
|
|
this.__contextState.depthMask = depthMask;
|
|
}
|
|
if(this.__contextState.depthCompareMode != this.__state.depthCompareMode) {
|
|
switch(this.__state.depthCompareMode) {
|
|
case 0:
|
|
this.gl.depthFunc(this.gl.ALWAYS);
|
|
break;
|
|
case 1:
|
|
this.gl.depthFunc(this.gl.EQUAL);
|
|
break;
|
|
case 2:
|
|
this.gl.depthFunc(this.gl.GREATER);
|
|
break;
|
|
case 3:
|
|
this.gl.depthFunc(this.gl.GEQUAL);
|
|
break;
|
|
case 4:
|
|
this.gl.depthFunc(this.gl.LESS);
|
|
break;
|
|
case 5:
|
|
this.gl.depthFunc(this.gl.LEQUAL);
|
|
break;
|
|
case 6:
|
|
this.gl.depthFunc(this.gl.NEVER);
|
|
break;
|
|
case 7:
|
|
this.gl.depthFunc(this.gl.NOTEQUAL);
|
|
break;
|
|
default:
|
|
throw haxe_Exception.thrown(new openfl_errors_IllegalOperationError());
|
|
}
|
|
this.__contextState.depthCompareMode = this.__state.depthCompareMode;
|
|
}
|
|
}
|
|
,__flushGLFramebuffer: function() {
|
|
if(this.__state.renderToTexture != null) {
|
|
if(this.__contextState.renderToTexture != this.__state.renderToTexture || this.__contextState.renderToTextureSurfaceSelector != this.__state.renderToTextureSurfaceSelector) {
|
|
var framebuffer = this.__state.renderToTexture.__getGLFramebuffer(this.__state.renderToTextureDepthStencil,this.__state.renderToTextureAntiAlias,this.__state.renderToTextureSurfaceSelector);
|
|
this.__bindGLFramebuffer(framebuffer);
|
|
this.__contextState.renderToTexture = this.__state.renderToTexture;
|
|
this.__contextState.renderToTextureAntiAlias = this.__state.renderToTextureAntiAlias;
|
|
this.__contextState.renderToTextureDepthStencil = this.__state.renderToTextureDepthStencil;
|
|
this.__contextState.renderToTextureSurfaceSelector = this.__state.renderToTextureSurfaceSelector;
|
|
}
|
|
this.__setGLDepthTest(this.__state.renderToTextureDepthStencil);
|
|
this.__setGLStencilTest(this.__state.renderToTextureDepthStencil);
|
|
this.__setGLFrontFace(true);
|
|
} else {
|
|
if(this.__stage == null && this.backBufferWidth == 0 && this.backBufferHeight == 0) {
|
|
throw haxe_Exception.thrown(new openfl_errors_Error("Context3D backbuffer has not been configured"));
|
|
}
|
|
if(this.__contextState.renderToTexture != null || this.__contextState.__currentGLFramebuffer != this.__state.__primaryGLFramebuffer || this.__contextState.backBufferEnableDepthAndStencil != this.__state.backBufferEnableDepthAndStencil) {
|
|
this.__bindGLFramebuffer(this.__state.__primaryGLFramebuffer);
|
|
this.__contextState.renderToTexture = null;
|
|
this.__contextState.backBufferEnableDepthAndStencil = this.__state.backBufferEnableDepthAndStencil;
|
|
}
|
|
this.__setGLDepthTest(this.__state.backBufferEnableDepthAndStencil);
|
|
this.__setGLStencilTest(this.__state.backBufferEnableDepthAndStencil);
|
|
this.__setGLFrontFace(this.__stage.context3D != this);
|
|
}
|
|
}
|
|
,__flushGLProgram: function() {
|
|
var shader = this.__state.shader;
|
|
var program = this.__state.program;
|
|
if(this.__contextState.shader != shader) {
|
|
if(this.__contextState.shader != null) {
|
|
this.__contextState.shader.__disable();
|
|
}
|
|
if(shader != null) {
|
|
shader.__enable();
|
|
}
|
|
this.__contextState.shader = shader;
|
|
}
|
|
if(this.__contextState.program != program) {
|
|
if(this.__contextState.program != null) {
|
|
this.__contextState.program.__disable();
|
|
}
|
|
if(program != null) {
|
|
program.__enable();
|
|
}
|
|
this.__contextState.program = program;
|
|
}
|
|
if(program != null && program.__format == 0) {
|
|
this.__positionScale[1] = this.__stage.context3D == this && this.__state.renderToTexture == null ? 1.0 : -1.0;
|
|
program.__setPositionScale(this.__positionScale);
|
|
}
|
|
}
|
|
,__flushGLScissor: function() {
|
|
if(!this.__state.scissorEnabled) {
|
|
if(this.__contextState.scissorEnabled != this.__state.scissorEnabled) {
|
|
this.__setGLScissorTest(false);
|
|
this.__contextState.scissorEnabled = false;
|
|
}
|
|
} else {
|
|
this.__setGLScissorTest(true);
|
|
this.__contextState.scissorEnabled = true;
|
|
var scissorX = this.__state.scissorRectangle.x | 0;
|
|
var scissorY = this.__state.scissorRectangle.y | 0;
|
|
var scissorWidth = this.__state.scissorRectangle.width | 0;
|
|
var scissorHeight = this.__state.scissorRectangle.height | 0;
|
|
if(this.__state.renderToTexture == null && this.__stage3D == null) {
|
|
var contextHeight = this.__stage.window.__height * this.__stage.window.__scale | 0;
|
|
scissorY = contextHeight - (this.__state.scissorRectangle.height | 0) - scissorY;
|
|
}
|
|
if(this.__contextState.scissorRectangle.x != scissorX || this.__contextState.scissorRectangle.y != scissorY || this.__contextState.scissorRectangle.width != scissorWidth || this.__contextState.scissorRectangle.height != scissorHeight) {
|
|
this.gl.scissor(scissorX,scissorY,scissorWidth,scissorHeight);
|
|
this.__contextState.scissorRectangle.setTo(scissorX,scissorY,scissorWidth,scissorHeight);
|
|
}
|
|
}
|
|
}
|
|
,__flushGLStencil: function() {
|
|
if(this.__contextState.stencilTriangleFace != this.__state.stencilTriangleFace || this.__contextState.stencilPass != this.__state.stencilPass || this.__contextState.stencilDepthFail != this.__state.stencilDepthFail || this.__contextState.stencilFail != this.__state.stencilFail) {
|
|
this.gl.stencilOpSeparate(this.__getGLTriangleFace(this.__state.stencilTriangleFace),this.__getGLStencilAction(this.__state.stencilFail),this.__getGLStencilAction(this.__state.stencilDepthFail),this.__getGLStencilAction(this.__state.stencilPass));
|
|
this.__contextState.stencilTriangleFace = this.__state.stencilTriangleFace;
|
|
this.__contextState.stencilPass = this.__state.stencilPass;
|
|
this.__contextState.stencilDepthFail = this.__state.stencilDepthFail;
|
|
this.__contextState.stencilFail = this.__state.stencilFail;
|
|
}
|
|
if(this.__contextState.stencilWriteMask != this.__state.stencilWriteMask) {
|
|
this.gl.stencilMask(this.__state.stencilWriteMask);
|
|
this.__contextState.stencilWriteMask = this.__state.stencilWriteMask;
|
|
}
|
|
if(this.__contextState.stencilCompareMode != this.__state.stencilCompareMode || this.__contextState.stencilReferenceValue != this.__state.stencilReferenceValue || this.__contextState.stencilReadMask != this.__state.stencilReadMask) {
|
|
this.gl.stencilFunc(this.__getGLCompareMode(this.__state.stencilCompareMode),this.__state.stencilReferenceValue,this.__state.stencilReadMask);
|
|
this.__contextState.stencilCompareMode = this.__state.stencilCompareMode;
|
|
this.__contextState.stencilReferenceValue = this.__state.stencilReferenceValue;
|
|
this.__contextState.stencilReadMask = this.__state.stencilReadMask;
|
|
}
|
|
}
|
|
,__flushGLTextures: function() {
|
|
var sampler = 0;
|
|
var texture;
|
|
var samplerState;
|
|
var _g = 0;
|
|
var _g1 = this.__state.textures.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
texture = this.__state.textures[i];
|
|
samplerState = this.__state.samplerStates[i];
|
|
if(samplerState == null) {
|
|
this.__state.samplerStates[i] = new openfl_display__$internal_SamplerState();
|
|
samplerState = this.__state.samplerStates[i];
|
|
}
|
|
this.gl.activeTexture(this.gl.TEXTURE0 + sampler);
|
|
if(texture != null) {
|
|
if(texture.__textureTarget == this.gl.TEXTURE_2D) {
|
|
this.__bindGLTexture2D(texture.__getTexture());
|
|
} else {
|
|
this.__bindGLTextureCubeMap(texture.__getTexture());
|
|
}
|
|
this.__contextState.textures[i] = texture;
|
|
texture.__setSamplerState(samplerState);
|
|
} else {
|
|
this.__bindGLTexture2D(null);
|
|
}
|
|
if(this.__state.program != null && this.__state.program.__format == 0 && samplerState.textureAlpha) {
|
|
this.gl.activeTexture(this.gl.TEXTURE0 + sampler + 4);
|
|
if(texture != null && texture.__alphaTexture != null) {
|
|
if(texture.__alphaTexture.__textureTarget == this.gl.TEXTURE_2D) {
|
|
this.__bindGLTexture2D(texture.__alphaTexture.__getTexture());
|
|
} else {
|
|
this.__bindGLTextureCubeMap(texture.__alphaTexture.__getTexture());
|
|
}
|
|
texture.__alphaTexture.__setSamplerState(samplerState);
|
|
this.gl.uniform1i(this.__state.program.__agalAlphaSamplerEnabled[sampler].location,1);
|
|
} else {
|
|
this.__bindGLTexture2D(null);
|
|
if(this.__state.program.__agalAlphaSamplerEnabled[sampler] != null) {
|
|
this.gl.uniform1i(this.__state.program.__agalAlphaSamplerEnabled[sampler].location,0);
|
|
}
|
|
}
|
|
}
|
|
++sampler;
|
|
}
|
|
}
|
|
,__flushGLViewport: function() {
|
|
if(this.__state.renderToTexture == null) {
|
|
if(this.__stage.context3D == this) {
|
|
var x = this.__stage3D == null ? 0 : this.__stage3D.get_x() | 0;
|
|
var y = this.__stage.window.__height * this.__stage.window.__scale - this.backBufferHeight - (this.__stage3D == null ? 0 : this.__stage3D.get_y()) | 0;
|
|
this.gl.viewport(x,y,this.backBufferWidth,this.backBufferHeight);
|
|
} else {
|
|
this.gl.viewport(0,0,this.backBufferWidth,this.backBufferHeight);
|
|
}
|
|
} else {
|
|
var width = 0;
|
|
var height = 0;
|
|
if(((this.__state.renderToTexture) instanceof openfl_display3D_textures_Texture)) {
|
|
var texture2D = this.__state.renderToTexture;
|
|
width = texture2D.__width;
|
|
height = texture2D.__height;
|
|
} else if(((this.__state.renderToTexture) instanceof openfl_display3D_textures_RectangleTexture)) {
|
|
var rectTexture = this.__state.renderToTexture;
|
|
width = rectTexture.__width;
|
|
height = rectTexture.__height;
|
|
} else if(((this.__state.renderToTexture) instanceof openfl_display3D_textures_CubeTexture)) {
|
|
var cubeTexture = this.__state.renderToTexture;
|
|
width = cubeTexture.__size;
|
|
height = cubeTexture.__size;
|
|
}
|
|
this.gl.viewport(0,0,width,height);
|
|
}
|
|
}
|
|
,__getGLBlend: function(blendFactor) {
|
|
switch(blendFactor) {
|
|
case 0:
|
|
return this.gl.DST_ALPHA;
|
|
case 1:
|
|
return this.gl.DST_COLOR;
|
|
case 2:
|
|
return this.gl.ONE;
|
|
case 3:
|
|
return this.gl.ONE_MINUS_DST_ALPHA;
|
|
case 4:
|
|
return this.gl.ONE_MINUS_DST_COLOR;
|
|
case 5:
|
|
return this.gl.ONE_MINUS_SRC_ALPHA;
|
|
case 6:
|
|
return this.gl.ONE_MINUS_SRC_COLOR;
|
|
case 7:
|
|
return this.gl.SRC_ALPHA;
|
|
case 8:
|
|
return this.gl.SRC_COLOR;
|
|
case 9:
|
|
return this.gl.ZERO;
|
|
default:
|
|
throw haxe_Exception.thrown(new openfl_errors_IllegalOperationError());
|
|
}
|
|
}
|
|
,__getGLCompareMode: function(mode) {
|
|
switch(mode) {
|
|
case 0:
|
|
return this.gl.ALWAYS;
|
|
case 1:
|
|
return this.gl.EQUAL;
|
|
case 2:
|
|
return this.gl.GREATER;
|
|
case 3:
|
|
return this.gl.GEQUAL;
|
|
case 4:
|
|
return this.gl.LESS;
|
|
case 5:
|
|
return this.gl.LEQUAL;
|
|
case 6:
|
|
return this.gl.NEVER;
|
|
case 7:
|
|
return this.gl.NOTEQUAL;
|
|
default:
|
|
return this.gl.EQUAL;
|
|
}
|
|
}
|
|
,__getGLStencilAction: function(action) {
|
|
switch(action) {
|
|
case 0:
|
|
return this.gl.DECR;
|
|
case 1:
|
|
return this.gl.DECR_WRAP;
|
|
case 2:
|
|
return this.gl.INCR;
|
|
case 3:
|
|
return this.gl.INCR_WRAP;
|
|
case 4:
|
|
return this.gl.INVERT;
|
|
case 5:
|
|
return this.gl.KEEP;
|
|
case 6:
|
|
return this.gl.REPLACE;
|
|
case 7:
|
|
return this.gl.ZERO;
|
|
default:
|
|
return this.gl.KEEP;
|
|
}
|
|
}
|
|
,__getGLTriangleFace: function(face) {
|
|
switch(face) {
|
|
case 0:
|
|
return this.gl.BACK;
|
|
case 1:
|
|
return this.gl.FRONT;
|
|
case 2:
|
|
return this.gl.FRONT_AND_BACK;
|
|
case 3:
|
|
return this.gl.NONE;
|
|
default:
|
|
return this.gl.FRONT_AND_BACK;
|
|
}
|
|
}
|
|
,__renderStage3D: function(stage3D) {
|
|
var context = stage3D.context3D;
|
|
if(context != null && context != this && context.__frontBufferTexture != null && stage3D.visible && this.backBufferHeight > 0 && this.backBufferWidth > 0) {
|
|
if(this.__renderStage3DProgram == null) {
|
|
var vertexAssembler = new openfl_utils_AGALMiniAssembler();
|
|
vertexAssembler.assemble(openfl_display3D_Context3DProgramType.toString(1),"m44 op, va0, vc0\n" + "mov v0, va1");
|
|
var fragmentAssembler = new openfl_utils_AGALMiniAssembler();
|
|
fragmentAssembler.assemble(openfl_display3D_Context3DProgramType.toString(0),"tex ft1, v0, fs0 <2d,nearest,nomip>\n" + "mov oc, ft1");
|
|
this.__renderStage3DProgram = this.createProgram();
|
|
this.__renderStage3DProgram.upload(vertexAssembler.agalcode,fragmentAssembler.agalcode);
|
|
}
|
|
this.setProgram(this.__renderStage3DProgram);
|
|
this.setBlendFactors(2,9);
|
|
this.setColorMask(true,true,true,true);
|
|
this.setCulling(3);
|
|
this.setDepthTest(false,0);
|
|
this.setStencilActions();
|
|
this.setStencilReferenceValue(0,0,0);
|
|
this.setScissorRectangle(null);
|
|
this.setTextureAt(0,context.__frontBufferTexture);
|
|
this.setVertexBufferAt(0,stage3D.__vertexBuffer,0,3);
|
|
this.setVertexBufferAt(1,stage3D.__vertexBuffer,3,2);
|
|
this.setProgramConstantsFromMatrix(1,0,stage3D.__renderTransform,true);
|
|
this.drawTriangles(stage3D.__indexBuffer);
|
|
this.__present = true;
|
|
}
|
|
}
|
|
,__setGLBlend: function(enable) {
|
|
if(this.__contextState.__enableGLBlend != enable) {
|
|
if(enable) {
|
|
this.gl.enable(this.gl.BLEND);
|
|
} else {
|
|
this.gl.disable(this.gl.BLEND);
|
|
}
|
|
this.__contextState.__enableGLBlend = enable;
|
|
}
|
|
}
|
|
,__setGLBlendEquation: function(value) {
|
|
if(this.__contextState.__glBlendEquation != value) {
|
|
this.gl.blendEquation(value);
|
|
this.__contextState.__glBlendEquation = value;
|
|
}
|
|
}
|
|
,__setGLCullFace: function(enable) {
|
|
if(this.__contextState.__enableGLCullFace != enable) {
|
|
if(enable) {
|
|
this.gl.enable(this.gl.CULL_FACE);
|
|
} else {
|
|
this.gl.disable(this.gl.CULL_FACE);
|
|
}
|
|
this.__contextState.__enableGLCullFace = enable;
|
|
}
|
|
}
|
|
,__setGLDepthTest: function(enable) {
|
|
if(this.__contextState.__enableGLDepthTest != enable) {
|
|
if(enable) {
|
|
this.gl.enable(this.gl.DEPTH_TEST);
|
|
} else {
|
|
this.gl.disable(this.gl.DEPTH_TEST);
|
|
}
|
|
this.__contextState.__enableGLDepthTest = enable;
|
|
}
|
|
}
|
|
,__setGLFrontFace: function(counterClockWise) {
|
|
if(this.__contextState.__frontFaceGLCCW != counterClockWise) {
|
|
this.gl.frontFace(counterClockWise ? this.gl.CCW : this.gl.CW);
|
|
this.__contextState.__frontFaceGLCCW = counterClockWise;
|
|
}
|
|
}
|
|
,__setGLScissorTest: function(enable) {
|
|
if(this.__contextState.__enableGLScissorTest != enable) {
|
|
if(enable) {
|
|
this.gl.enable(this.gl.SCISSOR_TEST);
|
|
} else {
|
|
this.gl.disable(this.gl.SCISSOR_TEST);
|
|
}
|
|
this.__contextState.__enableGLScissorTest = enable;
|
|
}
|
|
}
|
|
,__setGLStencilTest: function(enable) {
|
|
if(this.__contextState.__enableGLStencilTest != enable) {
|
|
if(enable) {
|
|
this.gl.enable(this.gl.STENCIL_TEST);
|
|
} else {
|
|
this.gl.disable(this.gl.STENCIL_TEST);
|
|
}
|
|
this.__contextState.__enableGLStencilTest = enable;
|
|
}
|
|
}
|
|
,get_enableErrorChecking: function() {
|
|
return this.__enableErrorChecking;
|
|
}
|
|
,set_enableErrorChecking: function(value) {
|
|
return this.__enableErrorChecking = value;
|
|
}
|
|
,get_totalGPUMemory: function() {
|
|
if(openfl_display3D_Context3D.__glMemoryCurrentAvailable != -1) {
|
|
var current = this.gl.getParameter(openfl_display3D_Context3D.__glMemoryCurrentAvailable);
|
|
var total = this.gl.getParameter(openfl_display3D_Context3D.__glMemoryTotalAvailable);
|
|
if(total > 0) {
|
|
return (total - current) * 1024;
|
|
}
|
|
}
|
|
return 0;
|
|
}
|
|
,__class__: openfl_display3D_Context3D
|
|
,__properties__: {get_totalGPUMemory:"get_totalGPUMemory",set_enableErrorChecking:"set_enableErrorChecking",get_enableErrorChecking:"get_enableErrorChecking"}
|
|
});
|
|
var openfl_display3D_Context3DBlendFactor = {};
|
|
openfl_display3D_Context3DBlendFactor.fromString = function(value) {
|
|
switch(value) {
|
|
case "destinationAlpha":
|
|
return 0;
|
|
case "destinationColor":
|
|
return 1;
|
|
case "one":
|
|
return 2;
|
|
case "oneMinusDestinationAlpha":
|
|
return 3;
|
|
case "oneMinusDestinationColor":
|
|
return 4;
|
|
case "oneMinusSourceAlpha":
|
|
return 5;
|
|
case "oneMinusSourceColor":
|
|
return 6;
|
|
case "sourceAlpha":
|
|
return 7;
|
|
case "sourceColor":
|
|
return 8;
|
|
case "zero":
|
|
return 9;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_display3D_Context3DBlendFactor.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "destinationAlpha";
|
|
case 1:
|
|
return "destinationColor";
|
|
case 2:
|
|
return "one";
|
|
case 3:
|
|
return "oneMinusDestinationAlpha";
|
|
case 4:
|
|
return "oneMinusDestinationColor";
|
|
case 5:
|
|
return "oneMinusSourceAlpha";
|
|
case 6:
|
|
return "oneMinusSourceColor";
|
|
case 7:
|
|
return "sourceAlpha";
|
|
case 8:
|
|
return "sourceColor";
|
|
case 9:
|
|
return "zero";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
var openfl_display3D_Context3DBufferUsage = {};
|
|
openfl_display3D_Context3DBufferUsage.fromString = function(value) {
|
|
switch(value) {
|
|
case "dynamicDraw":
|
|
return 0;
|
|
case "staticDraw":
|
|
return 1;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_display3D_Context3DBufferUsage.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "dynamicDraw";
|
|
case 1:
|
|
return "staticDraw";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
var openfl_display3D_Context3DCompareMode = {};
|
|
openfl_display3D_Context3DCompareMode.fromString = function(value) {
|
|
switch(value) {
|
|
case "always":
|
|
return 0;
|
|
case "equal":
|
|
return 1;
|
|
case "greater":
|
|
return 2;
|
|
case "greaterEqual":
|
|
return 3;
|
|
case "less":
|
|
return 4;
|
|
case "lessEqual":
|
|
return 5;
|
|
case "never":
|
|
return 6;
|
|
case "notEqual":
|
|
return 7;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_display3D_Context3DCompareMode.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "always";
|
|
case 1:
|
|
return "equal";
|
|
case 2:
|
|
return "greater";
|
|
case 3:
|
|
return "greaterEqual";
|
|
case 4:
|
|
return "less";
|
|
case 5:
|
|
return "lessEqual";
|
|
case 6:
|
|
return "never";
|
|
case 7:
|
|
return "notEqual";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
var openfl_display3D_Context3DMipFilter = {};
|
|
openfl_display3D_Context3DMipFilter.fromString = function(value) {
|
|
switch(value) {
|
|
case "miplinear":
|
|
return 0;
|
|
case "mipnearest":
|
|
return 1;
|
|
case "mipnone":
|
|
return 2;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_display3D_Context3DMipFilter.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "miplinear";
|
|
case 1:
|
|
return "mipnearest";
|
|
case 2:
|
|
return "mipnone";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
var openfl_display3D_Context3DProfile = {};
|
|
openfl_display3D_Context3DProfile.fromString = function(value) {
|
|
switch(value) {
|
|
case "baseline":
|
|
return 0;
|
|
case "baselineConstrained":
|
|
return 1;
|
|
case "baselineExtended":
|
|
return 2;
|
|
case "standard":
|
|
return 3;
|
|
case "standardConstrained":
|
|
return 4;
|
|
case "standardExtended":
|
|
return 5;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_display3D_Context3DProfile.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "baseline";
|
|
case 1:
|
|
return "baselineConstrained";
|
|
case 2:
|
|
return "baselineExtended";
|
|
case 3:
|
|
return "standard";
|
|
case 4:
|
|
return "standardConstrained";
|
|
case 5:
|
|
return "standardExtended";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
var openfl_display3D_Context3DProgramFormat = {};
|
|
openfl_display3D_Context3DProgramFormat.fromString = function(value) {
|
|
switch(value) {
|
|
case "agal":
|
|
return 0;
|
|
case "glsl":
|
|
return 1;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_display3D_Context3DProgramFormat.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "agal";
|
|
case 1:
|
|
return "glsl";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
var openfl_display3D_Context3DProgramType = {};
|
|
openfl_display3D_Context3DProgramType.fromString = function(value) {
|
|
switch(value) {
|
|
case "fragment":
|
|
return 0;
|
|
case "vertex":
|
|
return 1;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_display3D_Context3DProgramType.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "fragment";
|
|
case 1:
|
|
return "vertex";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
var openfl_display3D_Context3DRenderMode = {};
|
|
openfl_display3D_Context3DRenderMode.fromString = function(value) {
|
|
switch(value) {
|
|
case "auto":
|
|
return 0;
|
|
case "software":
|
|
return 1;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_display3D_Context3DRenderMode.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "auto";
|
|
case 1:
|
|
return "software";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
var openfl_display3D_Context3DStencilAction = {};
|
|
openfl_display3D_Context3DStencilAction.fromString = function(value) {
|
|
switch(value) {
|
|
case "decrementSaturate":
|
|
return 0;
|
|
case "decrementWrap":
|
|
return 1;
|
|
case "incrementSaturate":
|
|
return 2;
|
|
case "incrementWrap":
|
|
return 3;
|
|
case "invert":
|
|
return 4;
|
|
case "keep":
|
|
return 5;
|
|
case "set":
|
|
return 6;
|
|
case "zero":
|
|
return 7;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_display3D_Context3DStencilAction.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "decrementSaturate";
|
|
case 1:
|
|
return "decrementWrap";
|
|
case 2:
|
|
return "incrementSaturate";
|
|
case 3:
|
|
return "incrementWrap";
|
|
case 4:
|
|
return "invert";
|
|
case 5:
|
|
return "keep";
|
|
case 6:
|
|
return "set";
|
|
case 7:
|
|
return "zero";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
var openfl_display3D_Context3DTextureFilter = {};
|
|
openfl_display3D_Context3DTextureFilter.fromString = function(value) {
|
|
switch(value) {
|
|
case "anisotropic16x":
|
|
return 0;
|
|
case "anisotropic2x":
|
|
return 1;
|
|
case "anisotropic4x":
|
|
return 2;
|
|
case "anisotropic8x":
|
|
return 3;
|
|
case "linear":
|
|
return 4;
|
|
case "nearest":
|
|
return 5;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_display3D_Context3DTextureFilter.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "anisotropic16x";
|
|
case 1:
|
|
return "anisotropic2x";
|
|
case 2:
|
|
return "anisotropic4x";
|
|
case 3:
|
|
return "anisotropic8x";
|
|
case 4:
|
|
return "linear";
|
|
case 5:
|
|
return "nearest";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
var openfl_display3D_Context3DTextureFormat = {};
|
|
openfl_display3D_Context3DTextureFormat.fromString = function(value) {
|
|
switch(value) {
|
|
case "bgrPacked565":
|
|
return 0;
|
|
case "bgra":
|
|
return 1;
|
|
case "bgraPacked4444":
|
|
return 2;
|
|
case "compressed":
|
|
return 3;
|
|
case "compressedAlpha":
|
|
return 4;
|
|
case "rgbaHalfFloat":
|
|
return 5;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_display3D_Context3DTextureFormat.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "bgrPacked565";
|
|
case 1:
|
|
return "bgra";
|
|
case 2:
|
|
return "bgraPacked4444";
|
|
case 3:
|
|
return "compressed";
|
|
case 4:
|
|
return "compressedAlpha";
|
|
case 5:
|
|
return "rgbaHalfFloat";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
var openfl_display3D_Context3DTriangleFace = {};
|
|
openfl_display3D_Context3DTriangleFace.fromString = function(value) {
|
|
switch(value) {
|
|
case "back":
|
|
return 0;
|
|
case "front":
|
|
return 1;
|
|
case "frontAndBack":
|
|
return 2;
|
|
case "none":
|
|
return 3;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_display3D_Context3DTriangleFace.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "back";
|
|
case 1:
|
|
return "front";
|
|
case 2:
|
|
return "frontAndBack";
|
|
case 3:
|
|
return "none";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
var openfl_display3D_Context3DVertexBufferFormat = {};
|
|
openfl_display3D_Context3DVertexBufferFormat.fromString = function(value) {
|
|
switch(value) {
|
|
case "bytes4":
|
|
return 0;
|
|
case "float1":
|
|
return 1;
|
|
case "float2":
|
|
return 2;
|
|
case "float3":
|
|
return 3;
|
|
case "float4":
|
|
return 4;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_display3D_Context3DVertexBufferFormat.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "bytes4";
|
|
case 1:
|
|
return "float1";
|
|
case 2:
|
|
return "float2";
|
|
case 3:
|
|
return "float3";
|
|
case 4:
|
|
return "float4";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
var openfl_display3D_Context3DWrapMode = {};
|
|
openfl_display3D_Context3DWrapMode.fromString = function(value) {
|
|
switch(value) {
|
|
case "clamp":
|
|
return 0;
|
|
case "clamp_u_repeat_v":
|
|
return 1;
|
|
case "repeat":
|
|
return 2;
|
|
case "repeat_u_clamp_v":
|
|
return 3;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_display3D_Context3DWrapMode.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "clamp";
|
|
case 1:
|
|
return "clamp_u_repeat_v";
|
|
case 2:
|
|
return "repeat";
|
|
case 3:
|
|
return "repeat_u_clamp_v";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
var openfl_display3D_IndexBuffer3D = function(context3D,numIndices,bufferUsage) {
|
|
this.__context = context3D;
|
|
this.__numIndices = numIndices;
|
|
var gl = this.__context.gl;
|
|
this.__id = gl.createBuffer();
|
|
this.__usage = bufferUsage == 0 ? gl.DYNAMIC_DRAW : gl.STATIC_DRAW;
|
|
};
|
|
$hxClasses["openfl.display3D.IndexBuffer3D"] = openfl_display3D_IndexBuffer3D;
|
|
openfl_display3D_IndexBuffer3D.__name__ = "openfl.display3D.IndexBuffer3D";
|
|
openfl_display3D_IndexBuffer3D.prototype = {
|
|
__context: null
|
|
,__id: null
|
|
,__memoryUsage: null
|
|
,__numIndices: null
|
|
,__tempUInt16Array: null
|
|
,__usage: null
|
|
,dispose: function() {
|
|
var gl = this.__context.gl;
|
|
gl.deleteBuffer(this.__id);
|
|
}
|
|
,uploadFromByteArray: function(data,byteArrayOffset,startOffset,count) {
|
|
var offset = byteArrayOffset + startOffset * 2;
|
|
var elements = null;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = openfl_utils_ByteArray.toArrayBuffer(data);
|
|
var byteoffset = offset;
|
|
if(byteoffset == null) {
|
|
byteoffset = 0;
|
|
}
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Uint16Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Uint16Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Uint16Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Uint16Array(view);
|
|
} else if(buffer != null) {
|
|
if(count == null) {
|
|
this1 = new Uint16Array(buffer,byteoffset);
|
|
} else {
|
|
this1 = new Uint16Array(buffer,byteoffset,count);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
this.uploadFromTypedArray(this1);
|
|
}
|
|
,uploadFromTypedArray: function(data,byteLength) {
|
|
if(byteLength == null) {
|
|
byteLength = -1;
|
|
}
|
|
if(data == null) {
|
|
return;
|
|
}
|
|
var gl = this.__context.gl;
|
|
this.__context.__bindGLElementArrayBuffer(this.__id);
|
|
lime_graphics_WebGLRenderContext.bufferData(gl,gl.ELEMENT_ARRAY_BUFFER,data,this.__usage);
|
|
}
|
|
,uploadFromVector: function(data,startOffset,count) {
|
|
if(data == null) {
|
|
return;
|
|
}
|
|
var gl = this.__context.gl;
|
|
var length = startOffset + count;
|
|
var existingUInt16Array = this.__tempUInt16Array;
|
|
if(this.__tempUInt16Array == null || this.__tempUInt16Array.length < count) {
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = null;
|
|
var len = null;
|
|
var this1;
|
|
if(count != null) {
|
|
this1 = new Uint16Array(count);
|
|
} else if(array != null) {
|
|
this1 = new Uint16Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Uint16Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Uint16Array(view);
|
|
} else if(buffer != null) {
|
|
if(len == null) {
|
|
this1 = new Uint16Array(buffer,0);
|
|
} else {
|
|
this1 = new Uint16Array(buffer,0,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
this.__tempUInt16Array = this1;
|
|
if(existingUInt16Array != null) {
|
|
this.__tempUInt16Array.set(existingUInt16Array);
|
|
}
|
|
}
|
|
var _g = startOffset;
|
|
var _g1 = length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
this.__tempUInt16Array[i - startOffset] = data.get(i);
|
|
}
|
|
this.uploadFromTypedArray(this.__tempUInt16Array);
|
|
}
|
|
,__class__: openfl_display3D_IndexBuffer3D
|
|
};
|
|
var openfl_display3D_Program3D = function(context3D,format) {
|
|
this.__context = context3D;
|
|
this.__format = format;
|
|
if(this.__format == 0) {
|
|
this.__agalSamplerUsageMask = 0;
|
|
this.__agalUniforms = new haxe_ds_List();
|
|
this.__agalSamplerUniforms = new haxe_ds_List();
|
|
this.__agalAlphaSamplerUniforms = new haxe_ds_List();
|
|
this.__agalAlphaSamplerEnabled = [];
|
|
} else {
|
|
this.__glslAttribNames = [];
|
|
this.__glslAttribTypes = [];
|
|
this.__glslSamplerNames = [];
|
|
this.__glslUniformLocations = [];
|
|
this.__glslUniformNames = [];
|
|
this.__glslUniformTypes = [];
|
|
}
|
|
this.__samplerStates = [];
|
|
};
|
|
$hxClasses["openfl.display3D.Program3D"] = openfl_display3D_Program3D;
|
|
openfl_display3D_Program3D.__name__ = "openfl.display3D.Program3D";
|
|
openfl_display3D_Program3D.prototype = {
|
|
__agalAlphaSamplerEnabled: null
|
|
,__agalAlphaSamplerUniforms: null
|
|
,__agalFragmentUniformMap: null
|
|
,__agalPositionScale: null
|
|
,__agalSamplerUniforms: null
|
|
,__agalSamplerUsageMask: null
|
|
,__agalUniforms: null
|
|
,__agalVertexUniformMap: null
|
|
,__context: null
|
|
,__format: null
|
|
,__glFragmentShader: null
|
|
,__glFragmentSource: null
|
|
,__glProgram: null
|
|
,__glslAttribNames: null
|
|
,__glslAttribTypes: null
|
|
,__glslSamplerNames: null
|
|
,__glslUniformLocations: null
|
|
,__glslUniformNames: null
|
|
,__glslUniformTypes: null
|
|
,__glVertexShader: null
|
|
,__glVertexSource: null
|
|
,__samplerStates: null
|
|
,dispose: function() {
|
|
this.__deleteShaders();
|
|
}
|
|
,getAttributeIndex: function(name) {
|
|
if(this.__format == 0) {
|
|
if(StringTools.startsWith(name,"va")) {
|
|
return Std.parseInt(name.substring(2));
|
|
} else {
|
|
return -1;
|
|
}
|
|
} else {
|
|
var _g = 0;
|
|
var _g1 = this.__glslAttribNames.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(this.__glslAttribNames[i] == name) {
|
|
return i;
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
}
|
|
,getConstantIndex: function(name) {
|
|
if(this.__format == 0) {
|
|
if(StringTools.startsWith(name,"vc")) {
|
|
return Std.parseInt(name.substring(2));
|
|
} else if(StringTools.startsWith(name,"fc")) {
|
|
return Std.parseInt(name.substring(2));
|
|
} else {
|
|
return -1;
|
|
}
|
|
} else {
|
|
var _g = 0;
|
|
var _g1 = this.__glslUniformNames.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(this.__glslUniformNames[i] == name) {
|
|
return this.__glslUniformLocations[i];
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
}
|
|
,upload: function(vertexProgram,fragmentProgram) {
|
|
if(this.__format != 0) {
|
|
return;
|
|
}
|
|
var samplerStates = [];
|
|
var glslVertex = openfl_display3D__$internal_agal_AGALConverter.convertToGLSL(vertexProgram,null);
|
|
var glslFragment = openfl_display3D__$internal_agal_AGALConverter.convertToGLSL(fragmentProgram,samplerStates);
|
|
if(lime_utils_Log.level == 5) {
|
|
lime_utils_Log.info(glslVertex,{ fileName : "openfl/display3D/Program3D.hx", lineNumber : 399, className : "openfl.display3D.Program3D", methodName : "upload"});
|
|
lime_utils_Log.info(glslFragment,{ fileName : "openfl/display3D/Program3D.hx", lineNumber : 400, className : "openfl.display3D.Program3D", methodName : "upload"});
|
|
}
|
|
this.__deleteShaders();
|
|
this.__uploadFromGLSL(glslVertex,glslFragment);
|
|
this.__buildAGALUniformList();
|
|
var _g = 0;
|
|
var _g1 = samplerStates.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
this.__samplerStates[i] = samplerStates[i];
|
|
}
|
|
}
|
|
,uploadSources: function(vertexSource,fragmentSource) {
|
|
if(this.__format != 1) {
|
|
return;
|
|
}
|
|
var prefix = "#ifdef GL_ES\n\t\t\t#ifdef GL_FRAGMENT_PRECISION_HIGH\n\t\t\tprecision highp float;\n\t\t\t#else\n\t\t\tprecision mediump float;\n\t\t\t#endif\n\t\t\t#endif\n\t\t\t";
|
|
var vertex = prefix + vertexSource;
|
|
var fragment = prefix + fragmentSource;
|
|
if(vertex == this.__glVertexSource && fragment == this.__glFragmentSource) {
|
|
return;
|
|
}
|
|
this.__processGLSLData(vertexSource,"attribute");
|
|
this.__processGLSLData(vertexSource,"uniform");
|
|
this.__processGLSLData(fragmentSource,"uniform");
|
|
this.__deleteShaders();
|
|
this.__uploadFromGLSL(vertex,fragment);
|
|
var samplerNames = this.__glslSamplerNames;
|
|
var attribNames = this.__glslAttribNames;
|
|
var attribTypes = this.__glslAttribTypes;
|
|
var uniformNames = this.__glslUniformNames;
|
|
this.__glslSamplerNames = [];
|
|
this.__glslAttribNames = [];
|
|
this.__glslAttribTypes = [];
|
|
this.__glslUniformLocations = [];
|
|
var gl = this.__context.gl;
|
|
var index;
|
|
var location;
|
|
var _g = 0;
|
|
while(_g < samplerNames.length) {
|
|
var name = samplerNames[_g];
|
|
++_g;
|
|
index = gl.getUniformLocation(this.__glProgram,name);
|
|
this.__glslSamplerNames[index] = name;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = attribNames.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
index = gl.getAttribLocation(this.__glProgram,attribNames[i]);
|
|
this.__glslAttribNames[index] = attribNames[i];
|
|
this.__glslAttribTypes[index] = attribTypes[i];
|
|
}
|
|
var _g = 0;
|
|
var _g1 = uniformNames.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
location = gl.getUniformLocation(this.__glProgram,uniformNames[i]);
|
|
this.__glslUniformLocations[i] = location;
|
|
}
|
|
}
|
|
,__buildAGALUniformList: function() {
|
|
if(this.__format == 1) {
|
|
return;
|
|
}
|
|
var gl = this.__context.gl;
|
|
this.__agalUniforms.clear();
|
|
this.__agalSamplerUniforms.clear();
|
|
this.__agalAlphaSamplerUniforms.clear();
|
|
this.__agalAlphaSamplerEnabled = [];
|
|
this.__agalSamplerUsageMask = 0;
|
|
var numActive = 0;
|
|
numActive = gl.getProgramParameter(this.__glProgram,gl.ACTIVE_UNIFORMS);
|
|
var vertexUniforms = new haxe_ds_List();
|
|
var fragmentUniforms = new haxe_ds_List();
|
|
var _g = 0;
|
|
var _g1 = numActive;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var info = gl.getActiveUniform(this.__glProgram,i);
|
|
var name = info.name;
|
|
var size = info.size;
|
|
var uniformType = info.type;
|
|
var uniform = new openfl_display3D_Uniform(this.__context);
|
|
uniform.name = name;
|
|
uniform.size = size;
|
|
uniform.type = uniformType;
|
|
uniform.location = gl.getUniformLocation(this.__glProgram,uniform.name);
|
|
var indexBracket = uniform.name.indexOf("[");
|
|
if(indexBracket >= 0) {
|
|
uniform.name = uniform.name.substring(0,indexBracket);
|
|
}
|
|
switch(uniform.type) {
|
|
case 35674:
|
|
uniform.regCount = 2;
|
|
break;
|
|
case 35675:
|
|
uniform.regCount = 3;
|
|
break;
|
|
case 35676:
|
|
uniform.regCount = 4;
|
|
break;
|
|
default:
|
|
uniform.regCount = 1;
|
|
}
|
|
uniform.regCount *= uniform.size;
|
|
this.__agalUniforms.add(uniform);
|
|
if(uniform.name == "vcPositionScale") {
|
|
this.__agalPositionScale = uniform;
|
|
} else if(StringTools.startsWith(uniform.name,"vc")) {
|
|
uniform.regIndex = Std.parseInt(uniform.name.substring(2));
|
|
uniform.regData = this.__context.__vertexConstants;
|
|
vertexUniforms.add(uniform);
|
|
} else if(StringTools.startsWith(uniform.name,"fc")) {
|
|
uniform.regIndex = Std.parseInt(uniform.name.substring(2));
|
|
uniform.regData = this.__context.__fragmentConstants;
|
|
fragmentUniforms.add(uniform);
|
|
} else if(StringTools.startsWith(uniform.name,"sampler") && uniform.name.indexOf("alpha") == -1) {
|
|
uniform.regIndex = Std.parseInt(uniform.name.substring(7));
|
|
this.__agalSamplerUniforms.add(uniform);
|
|
var _g2 = 0;
|
|
var _g3 = uniform.regCount;
|
|
while(_g2 < _g3) {
|
|
var reg = _g2++;
|
|
this.__agalSamplerUsageMask |= 1 << uniform.regIndex + reg;
|
|
}
|
|
} else if(StringTools.startsWith(uniform.name,"sampler") && StringTools.endsWith(uniform.name,"_alpha")) {
|
|
var len = uniform.name.indexOf("_") - 7;
|
|
uniform.regIndex = Std.parseInt(uniform.name.substring(7,7 + len)) + 4;
|
|
this.__agalAlphaSamplerUniforms.add(uniform);
|
|
} else if(StringTools.startsWith(uniform.name,"sampler") && StringTools.endsWith(uniform.name,"_alphaEnabled")) {
|
|
uniform.regIndex = Std.parseInt(uniform.name.substring(7));
|
|
this.__agalAlphaSamplerEnabled[uniform.regIndex] = uniform;
|
|
}
|
|
if(lime_utils_Log.level == 5) {
|
|
lime_utils_Log.verbose("" + i + " name:" + uniform.name + " type:" + uniform.type + " size:" + uniform.size + " location:" + Std.string(uniform.location),{ fileName : "openfl/display3D/Program3D.hx", lineNumber : 577, className : "openfl.display3D.Program3D", methodName : "__buildAGALUniformList"});
|
|
}
|
|
}
|
|
this.__agalVertexUniformMap = new openfl_display3D_UniformMap(Lambda.array(vertexUniforms));
|
|
this.__agalFragmentUniformMap = new openfl_display3D_UniformMap(Lambda.array(fragmentUniforms));
|
|
}
|
|
,__deleteShaders: function() {
|
|
var gl = this.__context.gl;
|
|
if(this.__glProgram != null) {
|
|
this.__glProgram = null;
|
|
}
|
|
if(this.__glVertexShader != null) {
|
|
gl.deleteShader(this.__glVertexShader);
|
|
this.__glVertexShader = null;
|
|
}
|
|
if(this.__glFragmentShader != null) {
|
|
gl.deleteShader(this.__glFragmentShader);
|
|
this.__glFragmentShader = null;
|
|
}
|
|
}
|
|
,__disable: function() {
|
|
var tmp = this.__format == 1;
|
|
}
|
|
,__enable: function() {
|
|
var gl = this.__context.gl;
|
|
gl.useProgram(this.__glProgram);
|
|
if(this.__format == 0) {
|
|
this.__agalVertexUniformMap.markAllDirty();
|
|
this.__agalFragmentUniformMap.markAllDirty();
|
|
var _g_head = this.__agalSamplerUniforms.h;
|
|
while(_g_head != null) {
|
|
var val = _g_head.item;
|
|
_g_head = _g_head.next;
|
|
var sampler = val;
|
|
if(sampler.regCount == 1) {
|
|
gl.uniform1i(sampler.location,sampler.regIndex);
|
|
} else {
|
|
throw haxe_Exception.thrown(new openfl_errors_IllegalOperationError("!!! TODO: uniform location on webgl"));
|
|
}
|
|
}
|
|
var _g1_head = this.__agalAlphaSamplerUniforms.h;
|
|
while(_g1_head != null) {
|
|
var val = _g1_head.item;
|
|
_g1_head = _g1_head.next;
|
|
var sampler = val;
|
|
if(sampler.regCount == 1) {
|
|
gl.uniform1i(sampler.location,sampler.regIndex);
|
|
} else {
|
|
throw haxe_Exception.thrown(new openfl_errors_IllegalOperationError("!!! TODO: uniform location on webgl"));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,__flush: function() {
|
|
if(this.__format == 0) {
|
|
this.__agalVertexUniformMap.flush();
|
|
this.__agalFragmentUniformMap.flush();
|
|
} else {
|
|
return;
|
|
}
|
|
}
|
|
,__getSamplerState: function(sampler) {
|
|
return this.__samplerStates[sampler];
|
|
}
|
|
,__markDirty: function(isVertex,index,count) {
|
|
if(this.__format == 1) {
|
|
return;
|
|
}
|
|
if(isVertex) {
|
|
this.__agalVertexUniformMap.markDirty(index,count);
|
|
} else {
|
|
this.__agalFragmentUniformMap.markDirty(index,count);
|
|
}
|
|
}
|
|
,__processGLSLData: function(source,storageType) {
|
|
var lastMatch = 0;
|
|
var position;
|
|
var regex;
|
|
var name;
|
|
var type;
|
|
if(storageType == "uniform") {
|
|
regex = new EReg("uniform ([A-Za-z0-9]+) ([A-Za-z0-9_]+)","");
|
|
} else {
|
|
regex = new EReg("attribute ([A-Za-z0-9]+) ([A-Za-z0-9_]+)","");
|
|
}
|
|
while(regex.matchSub(source,lastMatch)) {
|
|
type = regex.matched(1);
|
|
name = regex.matched(2);
|
|
if(StringTools.startsWith(name,"gl_")) {
|
|
continue;
|
|
}
|
|
if(StringTools.startsWith(type,"sampler")) {
|
|
this.__glslSamplerNames.push(name);
|
|
} else {
|
|
var parameterType;
|
|
switch(type) {
|
|
case "bool":
|
|
parameterType = 0;
|
|
break;
|
|
case "bvec2":
|
|
parameterType = 1;
|
|
break;
|
|
case "bvec3":
|
|
parameterType = 2;
|
|
break;
|
|
case "bvec4":
|
|
parameterType = 3;
|
|
break;
|
|
case "dvec2":case "vec2":
|
|
parameterType = 5;
|
|
break;
|
|
case "dvec3":case "vec3":
|
|
parameterType = 6;
|
|
break;
|
|
case "double":case "float":
|
|
parameterType = 4;
|
|
break;
|
|
case "ivec3":case "uvec3":
|
|
parameterType = 10;
|
|
break;
|
|
case "ivec4":case "uvec4":
|
|
parameterType = 11;
|
|
break;
|
|
case "mat2":case "mat2x2":
|
|
parameterType = 12;
|
|
break;
|
|
case "mat2x3":
|
|
parameterType = 13;
|
|
break;
|
|
case "mat2x4":
|
|
parameterType = 14;
|
|
break;
|
|
case "mat3x2":
|
|
parameterType = 15;
|
|
break;
|
|
case "mat3":case "mat3x3":
|
|
parameterType = 16;
|
|
break;
|
|
case "mat3x4":
|
|
parameterType = 17;
|
|
break;
|
|
case "mat4":case "mat4x4":
|
|
parameterType = 20;
|
|
break;
|
|
case "mat4x2":
|
|
parameterType = 18;
|
|
break;
|
|
case "mat4x3":
|
|
parameterType = 19;
|
|
break;
|
|
case "int":case "uint":
|
|
parameterType = 8;
|
|
break;
|
|
case "ivec2":case "uvec2":
|
|
parameterType = 9;
|
|
break;
|
|
case "dvec4":case "vec4":
|
|
parameterType = 7;
|
|
break;
|
|
default:
|
|
parameterType = null;
|
|
}
|
|
if(storageType == "uniform") {
|
|
this.__glslUniformNames.push(name);
|
|
this.__glslUniformTypes.push(parameterType);
|
|
} else {
|
|
this.__glslAttribNames.push(name);
|
|
this.__glslAttribTypes.push(parameterType);
|
|
}
|
|
}
|
|
position = regex.matchedPos();
|
|
lastMatch = position.pos + position.len;
|
|
}
|
|
}
|
|
,__setPositionScale: function(positionScale) {
|
|
if(this.__format == 1) {
|
|
return;
|
|
}
|
|
if(this.__agalPositionScale != null) {
|
|
var gl = this.__context.gl;
|
|
var location = this.__agalPositionScale.location;
|
|
var data = positionScale;
|
|
var srcOffset = null;
|
|
if(srcOffset != null) {
|
|
gl.uniform4fv(location,data,srcOffset,null);
|
|
} else {
|
|
gl.uniform4fv(location,data);
|
|
}
|
|
}
|
|
}
|
|
,__setSamplerState: function(sampler,state) {
|
|
this.__samplerStates[sampler] = state;
|
|
}
|
|
,__uploadFromGLSL: function(vertexShaderSource,fragmentShaderSource) {
|
|
var gl = this.__context.gl;
|
|
this.__glVertexSource = vertexShaderSource;
|
|
this.__glFragmentSource = fragmentShaderSource;
|
|
this.__glVertexShader = gl.createShader(gl.VERTEX_SHADER);
|
|
gl.shaderSource(this.__glVertexShader,vertexShaderSource);
|
|
gl.compileShader(this.__glVertexShader);
|
|
if(gl.getShaderParameter(this.__glVertexShader,gl.COMPILE_STATUS) == 0) {
|
|
var message = "Error compiling vertex shader";
|
|
message += "\n" + gl.getShaderInfoLog(this.__glVertexShader);
|
|
message += "\n" + vertexShaderSource;
|
|
lime_utils_Log.error(message,{ fileName : "openfl/display3D/Program3D.hx", lineNumber : 869, className : "openfl.display3D.Program3D", methodName : "__uploadFromGLSL"});
|
|
}
|
|
this.__glFragmentShader = gl.createShader(gl.FRAGMENT_SHADER);
|
|
gl.shaderSource(this.__glFragmentShader,fragmentShaderSource);
|
|
gl.compileShader(this.__glFragmentShader);
|
|
if(gl.getShaderParameter(this.__glFragmentShader,gl.COMPILE_STATUS) == 0) {
|
|
var message = "Error compiling fragment shader";
|
|
message += "\n" + gl.getShaderInfoLog(this.__glFragmentShader);
|
|
message += "\n" + fragmentShaderSource;
|
|
lime_utils_Log.error(message,{ fileName : "openfl/display3D/Program3D.hx", lineNumber : 881, className : "openfl.display3D.Program3D", methodName : "__uploadFromGLSL"});
|
|
}
|
|
this.__glProgram = gl.createProgram();
|
|
if(this.__format == 0) {
|
|
var _g = 0;
|
|
while(_g < 16) {
|
|
var i = _g++;
|
|
var name = "va" + i;
|
|
if(vertexShaderSource.indexOf(" " + name) != -1) {
|
|
gl.bindAttribLocation(this.__glProgram,i,name);
|
|
}
|
|
}
|
|
} else {
|
|
var _g = 0;
|
|
var _g1 = this.__glslAttribNames;
|
|
while(_g < _g1.length) {
|
|
var name = _g1[_g];
|
|
++_g;
|
|
if(name.indexOf("Position") > -1 && StringTools.startsWith(name,"openfl_")) {
|
|
gl.bindAttribLocation(this.__glProgram,0,name);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
gl.attachShader(this.__glProgram,this.__glVertexShader);
|
|
gl.attachShader(this.__glProgram,this.__glFragmentShader);
|
|
gl.linkProgram(this.__glProgram);
|
|
if(gl.getProgramParameter(this.__glProgram,gl.LINK_STATUS) == 0) {
|
|
var message = "Unable to initialize the shader program";
|
|
message += "\n" + gl.getProgramInfoLog(this.__glProgram);
|
|
lime_utils_Log.error(message,{ fileName : "openfl/display3D/Program3D.hx", lineNumber : 922, className : "openfl.display3D.Program3D", methodName : "__uploadFromGLSL"});
|
|
}
|
|
}
|
|
,__class__: openfl_display3D_Program3D
|
|
};
|
|
var openfl_display3D_Uniform = function(context) {
|
|
this.context = context;
|
|
this.isDirty = true;
|
|
var this1 = new lime_utils_BytePointerData(null,0);
|
|
this.regDataPointer = this1;
|
|
};
|
|
$hxClasses["openfl.display3D.Uniform"] = openfl_display3D_Uniform;
|
|
openfl_display3D_Uniform.__name__ = "openfl.display3D.Uniform";
|
|
openfl_display3D_Uniform.prototype = {
|
|
name: null
|
|
,location: null
|
|
,type: null
|
|
,size: null
|
|
,regData: null
|
|
,regIndex: null
|
|
,regCount: null
|
|
,isDirty: null
|
|
,context: null
|
|
,regDataPointer: null
|
|
,flush: function() {
|
|
var gl = this.context.gl;
|
|
var index = this.regIndex * 4;
|
|
switch(this.type) {
|
|
case 35664:
|
|
lime_graphics_WebGL2RenderContext.uniform2fv(gl,this.location,this.regData.subarray(index,index + this.regCount * 2));
|
|
break;
|
|
case 35665:
|
|
var location = this.location;
|
|
var data = this.regData.subarray(index,index + this.regCount * 3);
|
|
var srcOffset = null;
|
|
if(srcOffset != null) {
|
|
gl.uniform3fv(location,data,srcOffset,null);
|
|
} else {
|
|
gl.uniform3fv(location,data);
|
|
}
|
|
break;
|
|
case 35666:
|
|
var location = this.location;
|
|
var data = this.regData.subarray(index,index + this.regCount * 4);
|
|
var srcOffset = null;
|
|
if(srcOffset != null) {
|
|
gl.uniform4fv(location,data,srcOffset,null);
|
|
} else {
|
|
gl.uniform4fv(location,data);
|
|
}
|
|
break;
|
|
case 35674:
|
|
lime_graphics_WebGLRenderContext.uniformMatrix2fv(gl,this.location,false,this.regData.subarray(index,index + this.size * 2 * 2));
|
|
break;
|
|
case 35675:
|
|
lime_graphics_WebGLRenderContext.uniformMatrix3fv(gl,this.location,false,this.regData.subarray(index,index + this.size * 3 * 3));
|
|
break;
|
|
case 35676:
|
|
lime_graphics_WebGLRenderContext.uniformMatrix4fv(gl,this.location,false,this.regData.subarray(index,index + this.size * 4 * 4));
|
|
break;
|
|
default:
|
|
var location = this.location;
|
|
var data = this.regData.subarray(index,index + this.regCount * 4);
|
|
var srcOffset = null;
|
|
if(srcOffset != null) {
|
|
gl.uniform4fv(location,data,srcOffset,null);
|
|
} else {
|
|
gl.uniform4fv(location,data);
|
|
}
|
|
}
|
|
}
|
|
,__getUniformRegisters: function(index,size) {
|
|
return this.regData.subarray(index,index + size);
|
|
}
|
|
,__class__: openfl_display3D_Uniform
|
|
};
|
|
var openfl_display3D_UniformMap = function(list) {
|
|
this.__uniforms = list;
|
|
this.__uniforms.sort(function(a,b) {
|
|
return Reflect.compare(a.regIndex,b.regIndex);
|
|
});
|
|
var total = 0;
|
|
var _g = 0;
|
|
var _g1 = this.__uniforms;
|
|
while(_g < _g1.length) {
|
|
var uniform = _g1[_g];
|
|
++_g;
|
|
if(uniform.regIndex + uniform.regCount > total) {
|
|
total = uniform.regIndex + uniform.regCount;
|
|
}
|
|
}
|
|
this.__registerLookup = openfl_Vector.toObjectVector(null,total);
|
|
var _g = 0;
|
|
var _g1 = this.__uniforms;
|
|
while(_g < _g1.length) {
|
|
var uniform = _g1[_g];
|
|
++_g;
|
|
var _g2 = 0;
|
|
var _g3 = uniform.regCount;
|
|
while(_g2 < _g3) {
|
|
var i = _g2++;
|
|
this.__registerLookup.set(uniform.regIndex + i,uniform);
|
|
}
|
|
}
|
|
this.__anyDirty = this.__allDirty = true;
|
|
};
|
|
$hxClasses["openfl.display3D.UniformMap"] = openfl_display3D_UniformMap;
|
|
openfl_display3D_UniformMap.__name__ = "openfl.display3D.UniformMap";
|
|
openfl_display3D_UniformMap.prototype = {
|
|
__allDirty: null
|
|
,__anyDirty: null
|
|
,__registerLookup: null
|
|
,__uniforms: null
|
|
,flush: function() {
|
|
if(this.__anyDirty) {
|
|
var _g = 0;
|
|
var _g1 = this.__uniforms;
|
|
while(_g < _g1.length) {
|
|
var uniform = _g1[_g];
|
|
++_g;
|
|
if(this.__allDirty || uniform.isDirty) {
|
|
uniform.flush();
|
|
uniform.isDirty = false;
|
|
}
|
|
}
|
|
this.__anyDirty = this.__allDirty = false;
|
|
}
|
|
}
|
|
,markAllDirty: function() {
|
|
this.__allDirty = true;
|
|
this.__anyDirty = true;
|
|
}
|
|
,markDirty: function(start,count) {
|
|
if(this.__allDirty) {
|
|
return;
|
|
}
|
|
var end = start + count;
|
|
if(end > this.__registerLookup.get_length()) {
|
|
end = this.__registerLookup.get_length();
|
|
}
|
|
var index = start;
|
|
while(index < end) {
|
|
var uniform = this.__registerLookup.get(index);
|
|
if(uniform != null) {
|
|
uniform.isDirty = true;
|
|
this.__anyDirty = true;
|
|
index = uniform.regIndex + uniform.regCount;
|
|
} else {
|
|
++index;
|
|
}
|
|
}
|
|
}
|
|
,__class__: openfl_display3D_UniformMap
|
|
};
|
|
var openfl_display3D_VertexBuffer3D = function(context3D,numVertices,dataPerVertex,bufferUsage) {
|
|
this.__context = context3D;
|
|
this.__numVertices = numVertices;
|
|
this.__vertexSize = dataPerVertex;
|
|
var gl = this.__context.gl;
|
|
this.__id = gl.createBuffer();
|
|
this.__stride = this.__vertexSize * 4;
|
|
this.__usage = openfl_display3D_Context3DBufferUsage.fromString(bufferUsage) == 0 ? gl.DYNAMIC_DRAW : gl.STATIC_DRAW;
|
|
};
|
|
$hxClasses["openfl.display3D.VertexBuffer3D"] = openfl_display3D_VertexBuffer3D;
|
|
openfl_display3D_VertexBuffer3D.__name__ = "openfl.display3D.VertexBuffer3D";
|
|
openfl_display3D_VertexBuffer3D.prototype = {
|
|
__context: null
|
|
,__data: null
|
|
,__id: null
|
|
,__memoryUsage: null
|
|
,__numVertices: null
|
|
,__stride: null
|
|
,__tempFloat32Array: null
|
|
,__usage: null
|
|
,__vertexSize: null
|
|
,dispose: function() {
|
|
var gl = this.__context.gl;
|
|
gl.deleteBuffer(this.__id);
|
|
}
|
|
,uploadFromByteArray: function(data,byteArrayOffset,startVertex,numVertices) {
|
|
var offset = byteArrayOffset + startVertex * this.__stride;
|
|
var length = numVertices * this.__vertexSize;
|
|
var elements = null;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = openfl_utils_ByteArray.toArrayBuffer(data);
|
|
var byteoffset = offset;
|
|
if(byteoffset == null) {
|
|
byteoffset = 0;
|
|
}
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Float32Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Float32Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Float32Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Float32Array(view);
|
|
} else if(buffer != null) {
|
|
if(length == null) {
|
|
this1 = new Float32Array(buffer,byteoffset);
|
|
} else {
|
|
this1 = new Float32Array(buffer,byteoffset,length);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
this.uploadFromTypedArray(lime_utils_Float32Array.toArrayBufferView(this1));
|
|
}
|
|
,uploadFromTypedArray: function(data,byteLength) {
|
|
if(byteLength == null) {
|
|
byteLength = -1;
|
|
}
|
|
if(data == null) {
|
|
return;
|
|
}
|
|
var gl = this.__context.gl;
|
|
this.__context.__bindGLArrayBuffer(this.__id);
|
|
lime_graphics_WebGLRenderContext.bufferData(gl,gl.ARRAY_BUFFER,data,this.__usage);
|
|
}
|
|
,uploadFromVector: function(data,startVertex,numVertices) {
|
|
if(data == null) {
|
|
return;
|
|
}
|
|
var gl = this.__context.gl;
|
|
var start = startVertex * this.__vertexSize;
|
|
var count = numVertices * this.__vertexSize;
|
|
var length = start + count;
|
|
var existingFloat32Array = this.__tempFloat32Array;
|
|
if(this.__tempFloat32Array == null || this.__tempFloat32Array.length < count) {
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = null;
|
|
var len = null;
|
|
var this1;
|
|
if(count != null) {
|
|
this1 = new Float32Array(count);
|
|
} else if(array != null) {
|
|
this1 = new Float32Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Float32Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Float32Array(view);
|
|
} else if(buffer != null) {
|
|
if(len == null) {
|
|
this1 = new Float32Array(buffer,0);
|
|
} else {
|
|
this1 = new Float32Array(buffer,0,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
this.__tempFloat32Array = this1;
|
|
if(existingFloat32Array != null) {
|
|
this.__tempFloat32Array.set(existingFloat32Array);
|
|
}
|
|
}
|
|
var _g = start;
|
|
var _g1 = length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
this.__tempFloat32Array[i - start] = data.get(i);
|
|
}
|
|
this.uploadFromTypedArray(lime_utils_Float32Array.toArrayBufferView(this.__tempFloat32Array));
|
|
}
|
|
,__class__: openfl_display3D_VertexBuffer3D
|
|
};
|
|
var openfl_display3D__$internal_Context3DState = function() {
|
|
this.backBufferEnableDepthAndStencil = false;
|
|
this.blendDestinationAlphaFactor = 9;
|
|
this.blendSourceAlphaFactor = 2;
|
|
this.blendDestinationRGBFactor = 9;
|
|
this.blendSourceRGBFactor = 2;
|
|
this.colorMaskRed = true;
|
|
this.colorMaskGreen = true;
|
|
this.colorMaskBlue = true;
|
|
this.colorMaskAlpha = true;
|
|
this.culling = 3;
|
|
this.depthCompareMode = 4;
|
|
this.depthMask = true;
|
|
this.samplerStates = [];
|
|
this.scissorRectangle = new openfl_geom_Rectangle();
|
|
this.stencilCompareMode = 0;
|
|
this.stencilDepthFail = 5;
|
|
this.stencilFail = 5;
|
|
this.stencilPass = 5;
|
|
this.stencilReadMask = 255;
|
|
this.stencilReferenceValue = 0;
|
|
this.stencilTriangleFace = 2;
|
|
this.stencilWriteMask = 255;
|
|
this.textures = [];
|
|
this.__frontFaceGLCCW = true;
|
|
this.__glBlendEquation = 32774;
|
|
};
|
|
$hxClasses["openfl.display3D._internal.Context3DState"] = openfl_display3D__$internal_Context3DState;
|
|
openfl_display3D__$internal_Context3DState.__name__ = "openfl.display3D._internal.Context3DState";
|
|
openfl_display3D__$internal_Context3DState.prototype = {
|
|
backBufferEnableDepthAndStencil: null
|
|
,blendDestinationAlphaFactor: null
|
|
,blendSourceAlphaFactor: null
|
|
,blendDestinationRGBFactor: null
|
|
,blendSourceRGBFactor: null
|
|
,colorMaskRed: null
|
|
,colorMaskGreen: null
|
|
,colorMaskBlue: null
|
|
,colorMaskAlpha: null
|
|
,culling: null
|
|
,depthCompareMode: null
|
|
,depthMask: null
|
|
,program: null
|
|
,renderToTexture: null
|
|
,renderToTextureAntiAlias: null
|
|
,renderToTextureDepthStencil: null
|
|
,renderToTextureSurfaceSelector: null
|
|
,samplerStates: null
|
|
,scissorEnabled: null
|
|
,scissorRectangle: null
|
|
,stencilCompareMode: null
|
|
,stencilDepthFail: null
|
|
,stencilFail: null
|
|
,stencilPass: null
|
|
,stencilReadMask: null
|
|
,stencilReferenceValue: null
|
|
,stencilTriangleFace: null
|
|
,stencilWriteMask: null
|
|
,textures: null
|
|
,shader: null
|
|
,__currentGLArrayBuffer: null
|
|
,__currentGLElementArrayBuffer: null
|
|
,__currentGLFramebuffer: null
|
|
,__currentGLTexture2D: null
|
|
,__currentGLTextureCubeMap: null
|
|
,__enableGLBlend: null
|
|
,__enableGLCullFace: null
|
|
,__enableGLDepthTest: null
|
|
,__enableGLScissorTest: null
|
|
,__enableGLStencilTest: null
|
|
,__frontFaceGLCCW: null
|
|
,__glBlendEquation: null
|
|
,__primaryGLFramebuffer: null
|
|
,__rttDepthGLRenderbuffer: null
|
|
,__rttGLFramebuffer: null
|
|
,__rttGLRenderbuffer: null
|
|
,__rttStencilGLRenderbuffer: null
|
|
,__class__: openfl_display3D__$internal_Context3DState
|
|
};
|
|
var openfl_display3D__$internal_agal_AGALConverter = function() { };
|
|
$hxClasses["openfl.display3D._internal.agal.AGALConverter"] = openfl_display3D__$internal_agal_AGALConverter;
|
|
openfl_display3D__$internal_agal_AGALConverter.__name__ = "openfl.display3D._internal.agal.AGALConverter";
|
|
openfl_display3D__$internal_agal_AGALConverter.prefixFromType = function(regType,programType) {
|
|
switch(regType) {
|
|
case 0:
|
|
return "va";
|
|
case 1:
|
|
if(programType == openfl_display3D__$internal_agal__$AGALConverter_ProgramType.VERTEX) {
|
|
return "vc";
|
|
} else {
|
|
return "fc";
|
|
}
|
|
break;
|
|
case 2:
|
|
if(programType == openfl_display3D__$internal_agal__$AGALConverter_ProgramType.VERTEX) {
|
|
return "vt";
|
|
} else {
|
|
return "ft";
|
|
}
|
|
break;
|
|
case 3:
|
|
return "output_";
|
|
case 4:
|
|
return "v";
|
|
case 5:
|
|
return "sampler";
|
|
default:
|
|
throw haxe_Exception.thrown(new openfl_errors_IllegalOperationError("Invalid data!"));
|
|
}
|
|
};
|
|
openfl_display3D__$internal_agal_AGALConverter.readUInt64 = function(byteArray) {
|
|
var low = byteArray.readInt();
|
|
var high = byteArray.readInt();
|
|
var this1 = new haxe__$Int64__$_$_$Int64(high,low);
|
|
return this1;
|
|
};
|
|
openfl_display3D__$internal_agal_AGALConverter.convertToGLSL = function(agal,samplerState) {
|
|
agal.position = 0;
|
|
agal.__endian = 1;
|
|
var magic = agal.readByte() & 255;
|
|
if(magic == 176) {
|
|
return agal.readUTF();
|
|
}
|
|
if(magic != 160) {
|
|
throw haxe_Exception.thrown(new openfl_errors_IllegalOperationError("Magic value must be 0xA0, may not be AGAL"));
|
|
}
|
|
var version = agal.readInt();
|
|
if(version != 1) {
|
|
throw haxe_Exception.thrown(new openfl_errors_IllegalOperationError("Version must be 1"));
|
|
}
|
|
var shaderTypeID = agal.readByte() & 255;
|
|
if(shaderTypeID != 161) {
|
|
throw haxe_Exception.thrown(new openfl_errors_IllegalOperationError("Shader type ID must be 0xA1"));
|
|
}
|
|
var programType = (agal.readByte() & 255) == 0 ? openfl_display3D__$internal_agal__$AGALConverter_ProgramType.VERTEX : openfl_display3D__$internal_agal__$AGALConverter_ProgramType.FRAGMENT;
|
|
var map = new openfl_display3D__$internal_agal_RegisterMap();
|
|
var sb_b = "";
|
|
while(true) {
|
|
var a = agal.position;
|
|
if(!UInt.gt(openfl_utils_ByteArray.get_length(agal),a)) {
|
|
break;
|
|
}
|
|
var opcode = agal.readInt();
|
|
var dest = agal.readUnsignedInt();
|
|
var source1 = openfl_display3D__$internal_agal_AGALConverter.readUInt64(agal);
|
|
var source2 = openfl_display3D__$internal_agal_AGALConverter.readUInt64(agal);
|
|
var dr = openfl_display3D__$internal_agal__$AGALConverter_DestRegister.parse(dest,programType);
|
|
var sr1 = openfl_display3D__$internal_agal__$AGALConverter_SourceRegister.parse(source1,programType,dr.mask);
|
|
var sr2 = openfl_display3D__$internal_agal__$AGALConverter_SourceRegister.parse(source2,programType,dr.mask);
|
|
sb_b += "\t";
|
|
switch(opcode) {
|
|
case 0:
|
|
sb_b += Std.string(dr.toGLSL() + " = " + sr1.toGLSL() + "; // mov");
|
|
map.addDR(dr,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr1,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
break;
|
|
case 1:
|
|
sb_b += Std.string(dr.toGLSL() + " = " + sr1.toGLSL() + " + " + sr2.toGLSL() + "; // add");
|
|
map.addDR(dr,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr1,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr2,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
break;
|
|
case 2:
|
|
sb_b += Std.string(dr.toGLSL() + " = " + sr1.toGLSL() + " - " + sr2.toGLSL() + "; // sub");
|
|
map.addDR(dr,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr1,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr2,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
break;
|
|
case 3:
|
|
sb_b += Std.string(dr.toGLSL() + " = " + sr1.toGLSL() + " * " + sr2.toGLSL() + "; // mul");
|
|
map.addDR(dr,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr1,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr2,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
break;
|
|
case 4:
|
|
sb_b += Std.string(dr.toGLSL() + " = " + sr1.toGLSL() + " / " + sr2.toGLSL() + "; // div");
|
|
map.addDR(dr,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr1,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr2,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
break;
|
|
case 5:
|
|
var sr = sr1.toGLSL();
|
|
if(sr.indexOf(".") > -1) {
|
|
sb_b += Std.string(dr.toGLSL() + " = 1.0 / " + sr1.toGLSL() + "; // rcp");
|
|
} else {
|
|
sb_b += Std.string(dr.toGLSL() + " = vec4(1) / " + sr1.toGLSL() + "; // rcp");
|
|
}
|
|
map.addDR(dr,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr1,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
break;
|
|
case 6:
|
|
sb_b += Std.string(dr.toGLSL() + " = min(" + sr1.toGLSL() + ", " + sr2.toGLSL() + "); // min");
|
|
map.addDR(dr,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr1,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr2,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
break;
|
|
case 7:
|
|
sb_b += Std.string(dr.toGLSL() + " = max(" + sr1.toGLSL() + ", " + sr2.toGLSL() + "); // max");
|
|
map.addDR(dr,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr1,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr2,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
break;
|
|
case 8:
|
|
sb_b += Std.string(dr.toGLSL() + " = fract(" + sr1.toGLSL() + "); // frc");
|
|
map.addDR(dr,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr1,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
break;
|
|
case 9:
|
|
sb_b += Std.string(dr.toGLSL() + " = sqrt(" + sr1.toGLSL() + "); // sqrt");
|
|
map.addDR(dr,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr1,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
break;
|
|
case 10:
|
|
sb_b += Std.string(dr.toGLSL() + " = inversesqrt(" + sr1.toGLSL() + "); // rsq");
|
|
map.addDR(dr,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr1,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
break;
|
|
case 11:
|
|
sb_b += Std.string(dr.toGLSL() + " = pow(" + sr1.toGLSL() + ", " + sr2.toGLSL() + "); // pow");
|
|
map.addDR(dr,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr1,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr2,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
break;
|
|
case 12:
|
|
sb_b += Std.string(dr.toGLSL() + " = log2(" + sr1.toGLSL() + "); // log");
|
|
map.addDR(dr,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr1,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
break;
|
|
case 13:
|
|
sb_b += Std.string(dr.toGLSL() + " = exp2(" + sr1.toGLSL() + "); // exp");
|
|
map.addDR(dr,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr1,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
break;
|
|
case 14:
|
|
sb_b += Std.string(dr.toGLSL() + " = normalize(" + sr1.toGLSL() + "); // normalize");
|
|
map.addDR(dr,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr1,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
break;
|
|
case 15:
|
|
sb_b += Std.string(dr.toGLSL() + " = sin(" + sr1.toGLSL() + "); // sin");
|
|
map.addDR(dr,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr1,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
break;
|
|
case 16:
|
|
sb_b += Std.string(dr.toGLSL() + " = cos(" + sr1.toGLSL() + "); // cos");
|
|
map.addDR(dr,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr1,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
break;
|
|
case 17:
|
|
sr1.sourceMask = sr2.sourceMask = 7;
|
|
sb_b += Std.string(dr.toGLSL() + " = cross(vec3(" + sr1.toGLSL() + "), vec3(" + sr2.toGLSL() + ")); // crs");
|
|
map.addDR(dr,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr1,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr2,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
break;
|
|
case 18:
|
|
sr1.sourceMask = sr2.sourceMask = 7;
|
|
sb_b += Std.string(dr.toGLSL() + " = vec4(dot(vec3(" + sr1.toGLSL() + "), vec3(" + sr2.toGLSL() + ")))" + dr.getWriteMask() + "; // dp3");
|
|
map.addDR(dr,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr1,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr2,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
break;
|
|
case 19:
|
|
sr1.sourceMask = sr2.sourceMask = 15;
|
|
sb_b += Std.string(dr.toGLSL() + " = vec4(dot(vec4(" + sr1.toGLSL() + "), vec4(" + sr2.toGLSL() + ")))" + dr.getWriteMask() + "; // dp4");
|
|
map.addDR(dr,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr1,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr2,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
break;
|
|
case 20:
|
|
sb_b += Std.string(dr.toGLSL() + " = abs(" + sr1.toGLSL() + "); // abs");
|
|
map.addDR(dr,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr1,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
break;
|
|
case 21:
|
|
sb_b += Std.string(dr.toGLSL() + " = -" + sr1.toGLSL() + "; // neg");
|
|
map.addDR(dr,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr1,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
break;
|
|
case 22:
|
|
sb_b += Std.string(dr.toGLSL() + " = clamp(" + sr1.toGLSL() + ", 0.0, 1.0); // saturate");
|
|
map.addDR(dr,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr1,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
break;
|
|
case 23:
|
|
var existingUsage = map.getRegisterUsage(sr2);
|
|
if(existingUsage != openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4 && existingUsage != openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4_ARRAY) {
|
|
sb_b += Std.string(dr.toGLSL() + " = " + sr1.toGLSL() + " * mat3(" + sr2.toGLSL(false) + "); // m33");
|
|
map.addDR(dr,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr1,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr2,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.MATRIX_4_4);
|
|
} else {
|
|
sr1.sourceMask = sr2.sourceMask = 7;
|
|
sb_b += Std.string(dr.toGLSL() + " = vec3(" + "dot(" + sr1.toGLSL(true) + "," + sr2.toGLSL(true,0) + "), " + "dot(" + sr1.toGLSL(true) + "," + sr2.toGLSL(true,1) + ")," + "dot(" + sr1.toGLSL(true) + "," + sr2.toGLSL(true,2) + ")); // m33");
|
|
map.addDR(dr,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr1,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr2,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4,0);
|
|
map.addSR(sr2,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4,1);
|
|
map.addSR(sr2,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4,2);
|
|
}
|
|
break;
|
|
case 24:
|
|
var existingUsage1 = map.getRegisterUsage(sr2);
|
|
if(existingUsage1 != openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4 && existingUsage1 != openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4_ARRAY) {
|
|
sb_b += Std.string(dr.toGLSL() + " = " + sr1.toGLSL() + " * " + sr2.toGLSL(false) + "; // m44");
|
|
map.addDR(dr,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr1,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr2,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.MATRIX_4_4);
|
|
} else {
|
|
sr1.sourceMask = sr2.sourceMask = 15;
|
|
sb_b += Std.string(dr.toGLSL() + " = vec4(" + "dot(" + sr1.toGLSL(true) + "," + sr2.toGLSL(true,0) + "), " + "dot(" + sr1.toGLSL(true) + "," + sr2.toGLSL(true,1) + "), " + "dot(" + sr1.toGLSL(true) + "," + sr2.toGLSL(true,2) + "), " + "dot(" + sr1.toGLSL(true) + "," + sr2.toGLSL(true,3) + ")); // m44");
|
|
map.addDR(dr,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr1,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr2,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4,0);
|
|
map.addSR(sr2,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4,1);
|
|
map.addSR(sr2,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4,2);
|
|
map.addSR(sr2,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4,3);
|
|
}
|
|
break;
|
|
case 25:
|
|
dr.mask &= 7;
|
|
var existingUsage2 = map.getRegisterUsage(sr2);
|
|
if(existingUsage2 != openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4 && existingUsage2 != openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4_ARRAY) {
|
|
sb_b += Std.string(dr.toGLSL() + " = " + sr1.toGLSL() + " * " + sr2.toGLSL(false) + "; // m34");
|
|
map.addDR(dr,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr1,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr2,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.MATRIX_4_4);
|
|
} else {
|
|
sr1.sourceMask = sr2.sourceMask = 15;
|
|
sb_b += Std.string(dr.toGLSL() + " = vec3(" + "dot(" + sr1.toGLSL(true) + "," + sr2.toGLSL(true,0) + "), " + "dot(" + sr1.toGLSL(true) + "," + sr2.toGLSL(true,1) + ")," + "dot(" + sr1.toGLSL(true) + "," + sr2.toGLSL(true,2) + ")); // m34");
|
|
map.addDR(dr,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr1,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr2,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4,0);
|
|
map.addSR(sr2,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4,1);
|
|
map.addSR(sr2,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4,2);
|
|
}
|
|
break;
|
|
case 39:
|
|
sr1.sourceMask = 15;
|
|
sb_b += Std.string("if (any(lessThan(" + sr1.toGLSL() + ", vec4(0)))) discard;");
|
|
map.addSR(sr1,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
break;
|
|
case 40:
|
|
var sampler = openfl_display3D__$internal_agal__$AGALConverter_SamplerRegister.parse(source2,programType);
|
|
switch(sampler.d) {
|
|
case 0:
|
|
if(sampler.t == 2) {
|
|
sr1.sourceMask = 3;
|
|
map.addSaR(sampler,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.SAMPLER_2D_ALPHA);
|
|
sb_b += Std.string("if (" + sampler.toGLSL() + "_alphaEnabled) {\n");
|
|
sb_b += Std.string("\t\t" + dr.toGLSL() + " = vec4(texture2D(" + sampler.toGLSL() + ", " + sr1.toGLSL() + ").xyz, texture2D(" + sampler.toGLSL() + "_alpha, " + sr1.toGLSL() + ").x); // tex + alpha\n");
|
|
sb_b += "\t} else {\n";
|
|
sb_b += Std.string("\t\t" + dr.toGLSL() + " = texture2D(" + sampler.toGLSL() + ", " + sr1.toGLSL() + "); // tex\n");
|
|
sb_b += "\t}";
|
|
} else {
|
|
sr1.sourceMask = 3;
|
|
map.addSaR(sampler,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.SAMPLER_2D);
|
|
sb_b += Std.string(dr.toGLSL() + " = texture2D(" + sampler.toGLSL() + ", " + sr1.toGLSL() + "); // tex");
|
|
}
|
|
break;
|
|
case 1:
|
|
if(sampler.t == 2) {
|
|
sr1.sourceMask = 7;
|
|
map.addSaR(sampler,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.SAMPLER_CUBE_ALPHA);
|
|
sb_b += Std.string("if (" + sampler.toGLSL() + "_alphaEnabled) {\n");
|
|
sb_b += Std.string("\t\t" + dr.toGLSL() + " = vec4(textureCube(" + sampler.toGLSL() + ", " + sr1.toGLSL() + ").xyz, textureCube(" + sampler.toGLSL() + "_alpha, " + sr1.toGLSL() + ").x); // tex + alpha\n");
|
|
sb_b += "\t} else {\n";
|
|
sb_b += Std.string("\t\t" + dr.toGLSL() + " = textureCube(" + sampler.toGLSL() + ", " + sr1.toGLSL() + "); // tex");
|
|
sb_b += "\t}";
|
|
} else {
|
|
sr1.sourceMask = 7;
|
|
sb_b += Std.string(dr.toGLSL() + " = textureCube(" + sampler.toGLSL() + ", " + sr1.toGLSL() + "); // tex");
|
|
map.addSaR(sampler,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.SAMPLER_CUBE);
|
|
}
|
|
break;
|
|
}
|
|
map.addDR(dr,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr1,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
if(samplerState != null) {
|
|
samplerState[sampler.n] = sampler.toSamplerState();
|
|
}
|
|
break;
|
|
case 41:
|
|
sr1.sourceMask = sr2.sourceMask = 15;
|
|
sb_b += Std.string(dr.toGLSL() + " = vec4(greaterThanEqual(" + sr1.toGLSL() + ", " + sr2.toGLSL() + "))" + dr.getWriteMask() + "; // ste");
|
|
map.addDR(dr,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr1,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr2,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
break;
|
|
case 42:
|
|
sr1.sourceMask = sr2.sourceMask = 15;
|
|
sb_b += Std.string(dr.toGLSL() + " = vec4(lessThan(" + sr1.toGLSL() + ", " + sr2.toGLSL() + "))" + dr.getWriteMask() + "; // slt");
|
|
map.addDR(dr,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr1,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr2,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
break;
|
|
case 44:
|
|
sr1.sourceMask = sr2.sourceMask = 15;
|
|
sb_b += Std.string(dr.toGLSL() + " = vec4(equal(" + sr1.toGLSL() + ", " + sr2.toGLSL() + "))" + dr.getWriteMask() + "; // seq");
|
|
map.addDR(dr,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr1,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr2,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
break;
|
|
case 45:
|
|
sr1.sourceMask = sr2.sourceMask = 15;
|
|
sb_b += Std.string(dr.toGLSL() + " = vec4(notEqual(" + sr1.toGLSL() + ", " + sr2.toGLSL() + "))" + dr.getWriteMask() + "; // sne");
|
|
map.addDR(dr,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr1,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
map.addSR(sr2,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
break;
|
|
default:
|
|
throw haxe_Exception.thrown(new openfl_errors_IllegalOperationError("Opcode " + opcode));
|
|
}
|
|
sb_b += "\n";
|
|
}
|
|
if(openfl_display3D__$internal_agal_AGALConverter.limitedProfile == null) {
|
|
var version = lime_graphics_opengl_GL.context.getParameter(7938);
|
|
openfl_display3D__$internal_agal_AGALConverter.limitedProfile = version.indexOf("OpenGL ES") > -1 || version.indexOf("WebGL") > -1;
|
|
}
|
|
var glsl_b = "";
|
|
glsl_b += Std.string("// AGAL " + (programType == openfl_display3D__$internal_agal__$AGALConverter_ProgramType.VERTEX ? "vertex" : "fragment") + " shader\n");
|
|
if(openfl_display3D__$internal_agal_AGALConverter.limitedProfile) {
|
|
glsl_b += "#version 100\n";
|
|
glsl_b += "#ifdef GL_FRAGMENT_PRECISION_HIGH\n";
|
|
glsl_b += "precision highp float;\n";
|
|
glsl_b += "#else\n";
|
|
glsl_b += "precision mediump float;\n";
|
|
glsl_b += "#endif\n";
|
|
} else {
|
|
glsl_b += "#version 120\n";
|
|
}
|
|
glsl_b += Std.string(map.toGLSL(false));
|
|
if(programType == openfl_display3D__$internal_agal__$AGALConverter_ProgramType.VERTEX) {
|
|
glsl_b += "uniform vec4 vcPositionScale;\n";
|
|
}
|
|
glsl_b += "void main() {\n";
|
|
glsl_b += Std.string(map.toGLSL(true));
|
|
glsl_b += Std.string(sb_b);
|
|
if(programType == openfl_display3D__$internal_agal__$AGALConverter_ProgramType.VERTEX) {
|
|
glsl_b += "\tgl_Position *= vcPositionScale;\n";
|
|
}
|
|
glsl_b += "}\n";
|
|
return glsl_b;
|
|
};
|
|
var openfl_display3D__$internal_agal__$AGALConverter_DestRegister = function() {
|
|
};
|
|
$hxClasses["openfl.display3D._internal.agal._AGALConverter.DestRegister"] = openfl_display3D__$internal_agal__$AGALConverter_DestRegister;
|
|
openfl_display3D__$internal_agal__$AGALConverter_DestRegister.__name__ = "openfl.display3D._internal.agal._AGALConverter.DestRegister";
|
|
openfl_display3D__$internal_agal__$AGALConverter_DestRegister.parse = function(v,programType) {
|
|
var dr = new openfl_display3D__$internal_agal__$AGALConverter_DestRegister();
|
|
dr.programType = programType;
|
|
dr.type = v >>> 24 & 15;
|
|
dr.mask = v >>> 16 & 15;
|
|
dr.n = v & 65535;
|
|
return dr;
|
|
};
|
|
openfl_display3D__$internal_agal__$AGALConverter_DestRegister.prototype = {
|
|
mask: null
|
|
,n: null
|
|
,programType: null
|
|
,type: null
|
|
,getWriteMask: function() {
|
|
var str = ".";
|
|
if((this.mask & 1) != 0) {
|
|
str += "x";
|
|
}
|
|
if((this.mask & 2) != 0) {
|
|
str += "y";
|
|
}
|
|
if((this.mask & 4) != 0) {
|
|
str += "z";
|
|
}
|
|
if((this.mask & 8) != 0) {
|
|
str += "w";
|
|
}
|
|
return str;
|
|
}
|
|
,toGLSL: function(useMask) {
|
|
if(useMask == null) {
|
|
useMask = true;
|
|
}
|
|
var str;
|
|
if(this.type == 3) {
|
|
str = this.programType == openfl_display3D__$internal_agal__$AGALConverter_ProgramType.VERTEX ? "gl_Position" : "gl_FragColor";
|
|
} else {
|
|
str = openfl_display3D__$internal_agal_AGALConverter.prefixFromType(this.type,this.programType) + this.n;
|
|
}
|
|
if(useMask && this.mask != 15) {
|
|
str += this.getWriteMask();
|
|
}
|
|
return str;
|
|
}
|
|
,__class__: openfl_display3D__$internal_agal__$AGALConverter_DestRegister
|
|
};
|
|
var openfl_display3D__$internal_agal__$AGALConverter_ProgramType = $hxEnums["openfl.display3D._internal.agal._AGALConverter.ProgramType"] = { __ename__ : "openfl.display3D._internal.agal._AGALConverter.ProgramType", __constructs__ : ["VERTEX","FRAGMENT"]
|
|
,VERTEX: {_hx_index:0,__enum__:"openfl.display3D._internal.agal._AGALConverter.ProgramType",toString:$estr}
|
|
,FRAGMENT: {_hx_index:1,__enum__:"openfl.display3D._internal.agal._AGALConverter.ProgramType",toString:$estr}
|
|
};
|
|
var openfl_display3D__$internal_agal_RegisterMap = function() {
|
|
this.mEntries = [];
|
|
};
|
|
$hxClasses["openfl.display3D._internal.agal.RegisterMap"] = openfl_display3D__$internal_agal_RegisterMap;
|
|
openfl_display3D__$internal_agal_RegisterMap.__name__ = "openfl.display3D._internal.agal.RegisterMap";
|
|
openfl_display3D__$internal_agal_RegisterMap.prototype = {
|
|
mEntries: null
|
|
,add: function(type,name,number,usage) {
|
|
var _g = 0;
|
|
var _g1 = this.mEntries;
|
|
while(_g < _g1.length) {
|
|
var entry = _g1[_g];
|
|
++_g;
|
|
if(entry.type == type && entry.name == name && entry.number == number) {
|
|
if(entry.usage != usage) {
|
|
throw haxe_Exception.thrown(new openfl_errors_IllegalOperationError("Cannot use register in multiple ways yet (mat4/vec4)"));
|
|
}
|
|
return;
|
|
}
|
|
}
|
|
var entry = new openfl_display3D__$internal_agal__$AGALConverter_RegisterMapEntry();
|
|
entry.type = type;
|
|
entry.name = name;
|
|
entry.number = number;
|
|
entry.usage = usage;
|
|
this.mEntries.push(entry);
|
|
}
|
|
,addDR: function(dr,usage) {
|
|
this.add(dr.type,dr.toGLSL(false),dr.n,usage);
|
|
}
|
|
,addSaR: function(sr,usage) {
|
|
this.add(sr.type,sr.toGLSL(),sr.n,usage);
|
|
}
|
|
,addSR: function(sr,usage,offset) {
|
|
if(offset == null) {
|
|
offset = 0;
|
|
}
|
|
if(sr.d != 0) {
|
|
this.add(sr.itype,openfl_display3D__$internal_agal_AGALConverter.prefixFromType(sr.itype,sr.programType) + sr.n,sr.n,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4);
|
|
this.add(sr.type,openfl_display3D__$internal_agal_AGALConverter.prefixFromType(sr.type,sr.programType) + sr.o,sr.o,openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4_ARRAY);
|
|
return;
|
|
}
|
|
this.add(sr.type,sr.toGLSL(false,offset),sr.n + offset,usage);
|
|
}
|
|
,getRegisterUsage: function(sr) {
|
|
if(sr.d != 0) {
|
|
return openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4_ARRAY;
|
|
}
|
|
return this.getUsage(sr.type,sr.toGLSL(false),sr.n);
|
|
}
|
|
,getUsage: function(type,name,number) {
|
|
var _g = 0;
|
|
var _g1 = this.mEntries;
|
|
while(_g < _g1.length) {
|
|
var entry = _g1[_g];
|
|
++_g;
|
|
if(entry.type == type && entry.name == name && entry.number == number) {
|
|
return entry.usage;
|
|
}
|
|
}
|
|
return openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.UNUSED;
|
|
}
|
|
,toGLSL: function(tempRegistersOnly) {
|
|
this.mEntries.sort(function(a,b) {
|
|
return a.number - b.number;
|
|
});
|
|
var entry;
|
|
this.mEntries.sort(function(a,b) {
|
|
return js_Boot.__cast(a.type , Int) - js_Boot.__cast(b.type , Int);
|
|
});
|
|
var sb_b = "";
|
|
var _g = 0;
|
|
var _g1 = this.mEntries.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
entry = this.mEntries[i];
|
|
if(tempRegistersOnly && entry.type != 2 || !tempRegistersOnly && entry.type == 2) {
|
|
continue;
|
|
}
|
|
if(entry.type == 3) {
|
|
continue;
|
|
}
|
|
switch(entry.type) {
|
|
case 0:
|
|
sb_b += "attribute ";
|
|
break;
|
|
case 1:
|
|
sb_b += "uniform ";
|
|
break;
|
|
case 2:
|
|
sb_b += "\t";
|
|
break;
|
|
case 3:
|
|
break;
|
|
case 4:
|
|
sb_b += "varying ";
|
|
break;
|
|
case 5:
|
|
sb_b += "uniform ";
|
|
break;
|
|
default:
|
|
throw haxe_Exception.thrown(new openfl_errors_IllegalOperationError());
|
|
}
|
|
switch(entry.usage._hx_index) {
|
|
case 0:
|
|
lime_utils_Log.info("Missing switch patten: RegisterUsage.UNUSED",{ fileName : "openfl/display3D/_internal/agal/AGALConverter.hx", lineNumber : 750, className : "openfl.display3D._internal.agal.RegisterMap", methodName : "toGLSL"});
|
|
break;
|
|
case 1:
|
|
sb_b += "vec4 ";
|
|
break;
|
|
case 2:
|
|
sb_b += "mat4 ";
|
|
break;
|
|
case 3:
|
|
sb_b += "sampler2D ";
|
|
break;
|
|
case 4:
|
|
break;
|
|
case 5:
|
|
sb_b += "samplerCube ";
|
|
break;
|
|
case 6:
|
|
break;
|
|
case 7:
|
|
sb_b += "vec4 ";
|
|
break;
|
|
}
|
|
if(entry.usage == openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.SAMPLER_2D_ALPHA) {
|
|
sb_b += "sampler2D ";
|
|
sb_b += Std.string(entry.name);
|
|
sb_b += ";\n";
|
|
sb_b += "uniform ";
|
|
sb_b += "sampler2D ";
|
|
sb_b += Std.string(entry.name + "_alpha");
|
|
sb_b += ";\n";
|
|
sb_b += "uniform ";
|
|
sb_b += "bool ";
|
|
sb_b += Std.string(entry.name + "_alphaEnabled");
|
|
sb_b += ";\n";
|
|
} else if(entry.usage == openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.SAMPLER_CUBE_ALPHA) {
|
|
sb_b += "samplerCube ";
|
|
sb_b += Std.string(entry.name);
|
|
sb_b += ";\n";
|
|
sb_b += "uniform ";
|
|
sb_b += "samplerCube ";
|
|
sb_b += Std.string(entry.name + "_alpha");
|
|
sb_b += ";\n";
|
|
sb_b += "uniform ";
|
|
sb_b += "bool ";
|
|
sb_b += Std.string(entry.name + "_alphaEnabled");
|
|
sb_b += ";\n";
|
|
} else if(entry.usage == openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage.VECTOR_4_ARRAY) {
|
|
sb_b += Std.string(entry.name + "[128]");
|
|
sb_b += ";\n";
|
|
} else {
|
|
sb_b += Std.string(entry.name);
|
|
sb_b += ";\n";
|
|
}
|
|
}
|
|
return sb_b;
|
|
}
|
|
,__class__: openfl_display3D__$internal_agal_RegisterMap
|
|
};
|
|
var openfl_display3D__$internal_agal__$AGALConverter_RegisterMapEntry = function() {
|
|
};
|
|
$hxClasses["openfl.display3D._internal.agal._AGALConverter.RegisterMapEntry"] = openfl_display3D__$internal_agal__$AGALConverter_RegisterMapEntry;
|
|
openfl_display3D__$internal_agal__$AGALConverter_RegisterMapEntry.__name__ = "openfl.display3D._internal.agal._AGALConverter.RegisterMapEntry";
|
|
openfl_display3D__$internal_agal__$AGALConverter_RegisterMapEntry.prototype = {
|
|
name: null
|
|
,number: null
|
|
,type: null
|
|
,usage: null
|
|
,__class__: openfl_display3D__$internal_agal__$AGALConverter_RegisterMapEntry
|
|
};
|
|
var openfl_display3D__$internal_agal__$AGALConverter_RegisterUsage = $hxEnums["openfl.display3D._internal.agal._AGALConverter.RegisterUsage"] = { __ename__ : "openfl.display3D._internal.agal._AGALConverter.RegisterUsage", __constructs__ : ["UNUSED","VECTOR_4","MATRIX_4_4","SAMPLER_2D","SAMPLER_2D_ALPHA","SAMPLER_CUBE","SAMPLER_CUBE_ALPHA","VECTOR_4_ARRAY"]
|
|
,UNUSED: {_hx_index:0,__enum__:"openfl.display3D._internal.agal._AGALConverter.RegisterUsage",toString:$estr}
|
|
,VECTOR_4: {_hx_index:1,__enum__:"openfl.display3D._internal.agal._AGALConverter.RegisterUsage",toString:$estr}
|
|
,MATRIX_4_4: {_hx_index:2,__enum__:"openfl.display3D._internal.agal._AGALConverter.RegisterUsage",toString:$estr}
|
|
,SAMPLER_2D: {_hx_index:3,__enum__:"openfl.display3D._internal.agal._AGALConverter.RegisterUsage",toString:$estr}
|
|
,SAMPLER_2D_ALPHA: {_hx_index:4,__enum__:"openfl.display3D._internal.agal._AGALConverter.RegisterUsage",toString:$estr}
|
|
,SAMPLER_CUBE: {_hx_index:5,__enum__:"openfl.display3D._internal.agal._AGALConverter.RegisterUsage",toString:$estr}
|
|
,SAMPLER_CUBE_ALPHA: {_hx_index:6,__enum__:"openfl.display3D._internal.agal._AGALConverter.RegisterUsage",toString:$estr}
|
|
,VECTOR_4_ARRAY: {_hx_index:7,__enum__:"openfl.display3D._internal.agal._AGALConverter.RegisterUsage",toString:$estr}
|
|
};
|
|
var openfl_display3D__$internal_agal__$AGALConverter_SamplerRegister = function() {
|
|
};
|
|
$hxClasses["openfl.display3D._internal.agal._AGALConverter.SamplerRegister"] = openfl_display3D__$internal_agal__$AGALConverter_SamplerRegister;
|
|
openfl_display3D__$internal_agal__$AGALConverter_SamplerRegister.__name__ = "openfl.display3D._internal.agal._AGALConverter.SamplerRegister";
|
|
openfl_display3D__$internal_agal__$AGALConverter_SamplerRegister.parse = function(v,programType) {
|
|
var sr = new openfl_display3D__$internal_agal__$AGALConverter_SamplerRegister();
|
|
sr.programType = programType;
|
|
var b = 60;
|
|
b &= 63;
|
|
var a;
|
|
if(b == 0) {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(v.high,v.low);
|
|
a = this1;
|
|
} else if(b < 32) {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(v.high >> b,v.high << 32 - b | v.low >>> b);
|
|
a = this1;
|
|
} else {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(v.high >> 31,v.high >> b - 32);
|
|
a = this1;
|
|
}
|
|
var b_high = 0;
|
|
var b_low = 15;
|
|
var this_high = a.high & b_high;
|
|
var this_low = a.low & b_low;
|
|
sr.f = this_low;
|
|
var b = 56;
|
|
b &= 63;
|
|
var a;
|
|
if(b == 0) {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(v.high,v.low);
|
|
a = this1;
|
|
} else if(b < 32) {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(v.high >> b,v.high << 32 - b | v.low >>> b);
|
|
a = this1;
|
|
} else {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(v.high >> 31,v.high >> b - 32);
|
|
a = this1;
|
|
}
|
|
var b_high = 0;
|
|
var b_low = 15;
|
|
var this_high = a.high & b_high;
|
|
var this_low = a.low & b_low;
|
|
sr.m = this_low;
|
|
var b = 52;
|
|
b &= 63;
|
|
var a;
|
|
if(b == 0) {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(v.high,v.low);
|
|
a = this1;
|
|
} else if(b < 32) {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(v.high >> b,v.high << 32 - b | v.low >>> b);
|
|
a = this1;
|
|
} else {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(v.high >> 31,v.high >> b - 32);
|
|
a = this1;
|
|
}
|
|
var b_high = 0;
|
|
var b_low = 15;
|
|
var this_high = a.high & b_high;
|
|
var this_low = a.low & b_low;
|
|
sr.w = this_low;
|
|
var b = 48;
|
|
b &= 63;
|
|
var a;
|
|
if(b == 0) {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(v.high,v.low);
|
|
a = this1;
|
|
} else if(b < 32) {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(v.high >> b,v.high << 32 - b | v.low >>> b);
|
|
a = this1;
|
|
} else {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(v.high >> 31,v.high >> b - 32);
|
|
a = this1;
|
|
}
|
|
var b_high = 0;
|
|
var b_low = 15;
|
|
var this_high = a.high & b_high;
|
|
var this_low = a.low & b_low;
|
|
sr.s = this_low;
|
|
var b = 44;
|
|
b &= 63;
|
|
var a;
|
|
if(b == 0) {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(v.high,v.low);
|
|
a = this1;
|
|
} else if(b < 32) {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(v.high >> b,v.high << 32 - b | v.low >>> b);
|
|
a = this1;
|
|
} else {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(v.high >> 31,v.high >> b - 32);
|
|
a = this1;
|
|
}
|
|
var b_high = 0;
|
|
var b_low = 15;
|
|
var this_high = a.high & b_high;
|
|
var this_low = a.low & b_low;
|
|
sr.d = this_low;
|
|
var b = 40;
|
|
b &= 63;
|
|
var a;
|
|
if(b == 0) {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(v.high,v.low);
|
|
a = this1;
|
|
} else if(b < 32) {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(v.high >> b,v.high << 32 - b | v.low >>> b);
|
|
a = this1;
|
|
} else {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(v.high >> 31,v.high >> b - 32);
|
|
a = this1;
|
|
}
|
|
var b_high = 0;
|
|
var b_low = 15;
|
|
var this_high = a.high & b_high;
|
|
var this_low = a.low & b_low;
|
|
sr.t = this_low;
|
|
var b = 32;
|
|
b &= 63;
|
|
var a;
|
|
if(b == 0) {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(v.high,v.low);
|
|
a = this1;
|
|
} else if(b < 32) {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(v.high >> b,v.high << 32 - b | v.low >>> b);
|
|
a = this1;
|
|
} else {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(v.high >> 31,v.high >> b - 32);
|
|
a = this1;
|
|
}
|
|
var b_high = 0;
|
|
var b_low = 15;
|
|
var this_high = a.high & b_high;
|
|
var this_low = a.low & b_low;
|
|
sr.type = this_low;
|
|
var b = 16;
|
|
b &= 63;
|
|
var a;
|
|
if(b == 0) {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(v.high,v.low);
|
|
a = this1;
|
|
} else if(b < 32) {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(v.high >> b,v.high << 32 - b | v.low >>> b);
|
|
a = this1;
|
|
} else {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(v.high >> 31,v.high >> b - 32);
|
|
a = this1;
|
|
}
|
|
var b_high = 0;
|
|
var b_low = 255;
|
|
var this_high = a.high & b_high;
|
|
var this_low = a.low & b_low;
|
|
sr.b = this_low;
|
|
var b_high = 0;
|
|
var b_low = 65535;
|
|
var this_high = v.high & b_high;
|
|
var this_low = v.low & b_low;
|
|
sr.n = this_low;
|
|
return sr;
|
|
};
|
|
openfl_display3D__$internal_agal__$AGALConverter_SamplerRegister.prototype = {
|
|
b: null
|
|
,d: null
|
|
,f: null
|
|
,m: null
|
|
,n: null
|
|
,programType: null
|
|
,s: null
|
|
,t: null
|
|
,type: null
|
|
,w: null
|
|
,toGLSL: function() {
|
|
var str = openfl_display3D__$internal_agal_AGALConverter.prefixFromType(this.type,this.programType) + this.n;
|
|
return str;
|
|
}
|
|
,toSamplerState: function() {
|
|
var wrap;
|
|
var filter;
|
|
var mipfilter;
|
|
switch(this.f) {
|
|
case 0:
|
|
filter = 5;
|
|
break;
|
|
case 1:
|
|
filter = 4;
|
|
break;
|
|
default:
|
|
throw haxe_Exception.thrown(new openfl_errors_IllegalOperationError());
|
|
}
|
|
switch(this.m) {
|
|
case 0:
|
|
mipfilter = 2;
|
|
break;
|
|
case 1:
|
|
mipfilter = 1;
|
|
break;
|
|
case 2:
|
|
mipfilter = 0;
|
|
break;
|
|
default:
|
|
throw haxe_Exception.thrown(new openfl_errors_IllegalOperationError());
|
|
}
|
|
switch(this.w) {
|
|
case 0:
|
|
wrap = 0;
|
|
break;
|
|
case 1:
|
|
wrap = 2;
|
|
break;
|
|
default:
|
|
throw haxe_Exception.thrown(new openfl_errors_IllegalOperationError());
|
|
}
|
|
var ignoreSampler = (this.s & 4) == 4;
|
|
var centroid = (this.s & 1) == 1;
|
|
var textureAlpha = this.t == 2;
|
|
var lodBias = (this.b << 24 >> 24) / 8.0;
|
|
return new openfl_display__$internal_SamplerState(wrap,filter,mipfilter,lodBias,ignoreSampler,centroid,textureAlpha);
|
|
}
|
|
,__class__: openfl_display3D__$internal_agal__$AGALConverter_SamplerRegister
|
|
};
|
|
var openfl_display3D__$internal_agal__$AGALConverter_SourceRegister = function() {
|
|
};
|
|
$hxClasses["openfl.display3D._internal.agal._AGALConverter.SourceRegister"] = openfl_display3D__$internal_agal__$AGALConverter_SourceRegister;
|
|
openfl_display3D__$internal_agal__$AGALConverter_SourceRegister.__name__ = "openfl.display3D._internal.agal._AGALConverter.SourceRegister";
|
|
openfl_display3D__$internal_agal__$AGALConverter_SourceRegister.parse = function(v,programType,sourceMask) {
|
|
var sr = new openfl_display3D__$internal_agal__$AGALConverter_SourceRegister();
|
|
sr.programType = programType;
|
|
var b = 63;
|
|
b &= 63;
|
|
var a;
|
|
if(b == 0) {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(v.high,v.low);
|
|
a = this1;
|
|
} else if(b < 32) {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(v.high >> b,v.high << 32 - b | v.low >>> b);
|
|
a = this1;
|
|
} else {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(v.high >> 31,v.high >> b - 32);
|
|
a = this1;
|
|
}
|
|
var b_high = 0;
|
|
var b_low = 1;
|
|
var this_high = a.high & b_high;
|
|
var this_low = a.low & b_low;
|
|
sr.d = this_low;
|
|
var b = 48;
|
|
b &= 63;
|
|
var a;
|
|
if(b == 0) {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(v.high,v.low);
|
|
a = this1;
|
|
} else if(b < 32) {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(v.high >> b,v.high << 32 - b | v.low >>> b);
|
|
a = this1;
|
|
} else {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(v.high >> 31,v.high >> b - 32);
|
|
a = this1;
|
|
}
|
|
var b_high = 0;
|
|
var b_low = 3;
|
|
var this_high = a.high & b_high;
|
|
var this_low = a.low & b_low;
|
|
sr.q = this_low;
|
|
var b = 40;
|
|
b &= 63;
|
|
var a;
|
|
if(b == 0) {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(v.high,v.low);
|
|
a = this1;
|
|
} else if(b < 32) {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(v.high >> b,v.high << 32 - b | v.low >>> b);
|
|
a = this1;
|
|
} else {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(v.high >> 31,v.high >> b - 32);
|
|
a = this1;
|
|
}
|
|
var b_high = 0;
|
|
var b_low = 15;
|
|
var this_high = a.high & b_high;
|
|
var this_low = a.low & b_low;
|
|
sr.itype = this_low;
|
|
var b = 32;
|
|
b &= 63;
|
|
var a;
|
|
if(b == 0) {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(v.high,v.low);
|
|
a = this1;
|
|
} else if(b < 32) {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(v.high >> b,v.high << 32 - b | v.low >>> b);
|
|
a = this1;
|
|
} else {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(v.high >> 31,v.high >> b - 32);
|
|
a = this1;
|
|
}
|
|
var b_high = 0;
|
|
var b_low = 15;
|
|
var this_high = a.high & b_high;
|
|
var this_low = a.low & b_low;
|
|
sr.type = this_low;
|
|
var b = 24;
|
|
b &= 63;
|
|
var a;
|
|
if(b == 0) {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(v.high,v.low);
|
|
a = this1;
|
|
} else if(b < 32) {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(v.high >> b,v.high << 32 - b | v.low >>> b);
|
|
a = this1;
|
|
} else {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(v.high >> 31,v.high >> b - 32);
|
|
a = this1;
|
|
}
|
|
var b_high = 0;
|
|
var b_low = 255;
|
|
var this_high = a.high & b_high;
|
|
var this_low = a.low & b_low;
|
|
sr.s = this_low;
|
|
var b = 16;
|
|
b &= 63;
|
|
var a;
|
|
if(b == 0) {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(v.high,v.low);
|
|
a = this1;
|
|
} else if(b < 32) {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(v.high >> b,v.high << 32 - b | v.low >>> b);
|
|
a = this1;
|
|
} else {
|
|
var this1 = new haxe__$Int64__$_$_$Int64(v.high >> 31,v.high >> b - 32);
|
|
a = this1;
|
|
}
|
|
var b_high = 0;
|
|
var b_low = 255;
|
|
var this_high = a.high & b_high;
|
|
var this_low = a.low & b_low;
|
|
sr.o = this_low;
|
|
var b_high = 0;
|
|
var b_low = 65535;
|
|
var this_high = v.high & b_high;
|
|
var this_low = v.low & b_low;
|
|
sr.n = this_low;
|
|
sr.sourceMask = sourceMask;
|
|
return sr;
|
|
};
|
|
openfl_display3D__$internal_agal__$AGALConverter_SourceRegister.prototype = {
|
|
d: null
|
|
,itype: null
|
|
,n: null
|
|
,o: null
|
|
,programType: null
|
|
,q: null
|
|
,s: null
|
|
,sourceMask: null
|
|
,type: null
|
|
,toGLSL: function(emitSwizzle,offset) {
|
|
if(offset == null) {
|
|
offset = 0;
|
|
}
|
|
if(emitSwizzle == null) {
|
|
emitSwizzle = true;
|
|
}
|
|
if(this.type == 3) {
|
|
if(this.programType == openfl_display3D__$internal_agal__$AGALConverter_ProgramType.VERTEX) {
|
|
return "gl_Position";
|
|
} else {
|
|
return "gl_FragColor";
|
|
}
|
|
}
|
|
var fullxyzw = this.s == 228 && this.sourceMask == 15;
|
|
var swizzle = "";
|
|
if(this.type != 5 && !fullxyzw) {
|
|
if((this.sourceMask & 1) != 0) {
|
|
switch(this.s & 3) {
|
|
case 0:
|
|
swizzle += "x";
|
|
break;
|
|
case 1:
|
|
swizzle += "y";
|
|
break;
|
|
case 2:
|
|
swizzle += "z";
|
|
break;
|
|
case 3:
|
|
swizzle += "w";
|
|
break;
|
|
}
|
|
}
|
|
if((this.sourceMask & 2) != 0) {
|
|
switch(this.s >> 2 & 3) {
|
|
case 0:
|
|
swizzle += "x";
|
|
break;
|
|
case 1:
|
|
swizzle += "y";
|
|
break;
|
|
case 2:
|
|
swizzle += "z";
|
|
break;
|
|
case 3:
|
|
swizzle += "w";
|
|
break;
|
|
}
|
|
}
|
|
if((this.sourceMask & 4) != 0) {
|
|
switch(this.s >> 4 & 3) {
|
|
case 0:
|
|
swizzle += "x";
|
|
break;
|
|
case 1:
|
|
swizzle += "y";
|
|
break;
|
|
case 2:
|
|
swizzle += "z";
|
|
break;
|
|
case 3:
|
|
swizzle += "w";
|
|
break;
|
|
}
|
|
}
|
|
if((this.sourceMask & 8) != 0) {
|
|
switch(this.s >> 6 & 3) {
|
|
case 0:
|
|
swizzle += "x";
|
|
break;
|
|
case 1:
|
|
swizzle += "y";
|
|
break;
|
|
case 2:
|
|
swizzle += "z";
|
|
break;
|
|
case 3:
|
|
swizzle += "w";
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
var str = openfl_display3D__$internal_agal_AGALConverter.prefixFromType(this.type,this.programType);
|
|
if(this.d == 0) {
|
|
str += this.n + offset;
|
|
} else {
|
|
str += this.o;
|
|
var indexComponent = "";
|
|
switch(this.q) {
|
|
case 0:
|
|
indexComponent = "x";
|
|
break;
|
|
case 1:
|
|
indexComponent = "y";
|
|
break;
|
|
case 2:
|
|
indexComponent = "z";
|
|
break;
|
|
case 3:
|
|
indexComponent = "w";
|
|
break;
|
|
}
|
|
var indexRegister = openfl_display3D__$internal_agal_AGALConverter.prefixFromType(this.itype,this.programType) + this.n + "." + indexComponent;
|
|
str += "[ int(" + indexRegister + ") +" + offset + "]";
|
|
}
|
|
if(emitSwizzle && swizzle != "") {
|
|
str += "." + swizzle;
|
|
}
|
|
return str;
|
|
}
|
|
,__class__: openfl_display3D__$internal_agal__$AGALConverter_SourceRegister
|
|
};
|
|
var openfl_display3D__$internal_atf_ATFReader = function(data,byteArrayOffset) {
|
|
this.version = 0;
|
|
data.position = byteArrayOffset;
|
|
var signature = data.readUTFBytes(3);
|
|
data.position = byteArrayOffset;
|
|
if(signature != "ATF") {
|
|
throw haxe_Exception.thrown(new openfl_errors_IllegalOperationError("ATF signature not found"));
|
|
}
|
|
var length = 0;
|
|
if(data.b[byteArrayOffset + 6] == 255) {
|
|
this.version = data.b[byteArrayOffset + 7];
|
|
data.position = byteArrayOffset + 8;
|
|
length = this.__readUInt32(data);
|
|
} else {
|
|
this.version = 0;
|
|
data.position = byteArrayOffset + 3;
|
|
length = this.__readUInt24(data);
|
|
}
|
|
if(UInt.gt(js_Boot.__cast(byteArrayOffset + length , Int),openfl_utils_ByteArray.get_length(data))) {
|
|
throw haxe_Exception.thrown(new openfl_errors_IllegalOperationError("ATF length exceeds byte array length"));
|
|
}
|
|
this.data = data;
|
|
};
|
|
$hxClasses["openfl.display3D._internal.atf.ATFReader"] = openfl_display3D__$internal_atf_ATFReader;
|
|
openfl_display3D__$internal_atf_ATFReader.__name__ = "openfl.display3D._internal.atf.ATFReader";
|
|
openfl_display3D__$internal_atf_ATFReader.prototype = {
|
|
atfFormat: null
|
|
,cubeMap: null
|
|
,data: null
|
|
,height: null
|
|
,mipCount: null
|
|
,version: null
|
|
,width: null
|
|
,readHeader: function(__width,__height,cubeMap) {
|
|
var tdata = this.data.readUnsignedByte();
|
|
var type = tdata >>> 7;
|
|
if(!cubeMap && type != 0) {
|
|
throw haxe_Exception.thrown(new openfl_errors_IllegalOperationError("ATF Cube map not expected"));
|
|
}
|
|
if(cubeMap && type != 1) {
|
|
throw haxe_Exception.thrown(new openfl_errors_IllegalOperationError("ATF Cube map expected"));
|
|
}
|
|
this.cubeMap = cubeMap;
|
|
this.atfFormat = tdata & 127;
|
|
if(this.atfFormat != 3 && this.atfFormat != 5) {
|
|
lime_utils_Log.warn("Only ATF block compressed textures without JPEG-XR+LZMA are supported",{ fileName : "openfl/display3D/_internal/atf/ATFReader.hx", lineNumber : 96, className : "openfl.display3D._internal.atf.ATFReader", methodName : "readHeader"});
|
|
}
|
|
this.width = 1 << this.data.readUnsignedByte();
|
|
this.height = 1 << this.data.readUnsignedByte();
|
|
if(this.width != __width || this.height != __height) {
|
|
throw haxe_Exception.thrown(new openfl_errors_IllegalOperationError("ATF width and height dont match"));
|
|
}
|
|
this.mipCount = this.data.readUnsignedByte();
|
|
return this.atfFormat == 5;
|
|
}
|
|
,readTextures: function(uploadCallback) {
|
|
var gpuFormats = this.version < 3 ? 3 : 4;
|
|
var sideCount = this.cubeMap ? 6 : 1;
|
|
var _g = 0;
|
|
var _g1 = sideCount;
|
|
while(_g < _g1) {
|
|
var side = _g++;
|
|
var _g2 = 0;
|
|
var _g3 = this.mipCount;
|
|
while(_g2 < _g3) {
|
|
var level = _g2++;
|
|
var _g4 = 0;
|
|
var _g5 = gpuFormats;
|
|
while(_g4 < _g5) {
|
|
var gpuFormat = _g4++;
|
|
var blockLength = this.version == 0 ? this.__readUInt24(this.data) : this.__readUInt32(this.data);
|
|
if(UInt.gt(this.data.position + blockLength,openfl_utils_ByteArray.get_length(this.data))) {
|
|
throw haxe_Exception.thrown(new openfl_errors_IllegalOperationError("Block length exceeds ATF file length"));
|
|
}
|
|
if(UInt.gt(blockLength,0)) {
|
|
var bytes = new haxe_io_Bytes(new ArrayBuffer(blockLength));
|
|
var this1 = this.data;
|
|
var bytes1 = openfl_utils_ByteArray.fromBytes(bytes);
|
|
var offset = 0;
|
|
var length = blockLength;
|
|
if(length == null) {
|
|
length = 0;
|
|
}
|
|
if(offset == null) {
|
|
offset = 0;
|
|
}
|
|
this1.readBytes(bytes1,offset,length);
|
|
uploadCallback(side,level,gpuFormat,this.width >> level,this.height >> level,blockLength,bytes);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,__readUInt24: function(data) {
|
|
var value = data.readUnsignedByte() << 16;
|
|
value = value | data.readUnsignedByte() << 8;
|
|
value = value | data.readUnsignedByte();
|
|
return value;
|
|
}
|
|
,__readUInt32: function(data) {
|
|
var value = data.readUnsignedByte() << 24;
|
|
value = value | data.readUnsignedByte() << 16;
|
|
value = value | data.readUnsignedByte() << 8;
|
|
value = value | data.readUnsignedByte();
|
|
return value;
|
|
}
|
|
,__class__: openfl_display3D__$internal_atf_ATFReader
|
|
};
|
|
var openfl_display3D_textures_TextureBase = function(context) {
|
|
openfl_events_EventDispatcher.call(this);
|
|
this.__context = context;
|
|
var gl = this.__context.gl;
|
|
this.__textureID = gl.createTexture();
|
|
this.__textureContext = this.__context.__context;
|
|
if(openfl_display3D_textures_TextureBase.__supportsBGRA == null) {
|
|
openfl_display3D_textures_TextureBase.__textureInternalFormat = gl.RGBA;
|
|
var bgraExtension = null;
|
|
if(bgraExtension != null) {
|
|
openfl_display3D_textures_TextureBase.__supportsBGRA = true;
|
|
openfl_display3D_textures_TextureBase.__textureFormat = bgraExtension.BGRA_EXT;
|
|
if(context.__context.type == "opengles") {
|
|
openfl_display3D_textures_TextureBase.__textureInternalFormat = bgraExtension.BGRA_EXT;
|
|
}
|
|
} else {
|
|
openfl_display3D_textures_TextureBase.__supportsBGRA = false;
|
|
openfl_display3D_textures_TextureBase.__textureFormat = gl.RGBA;
|
|
}
|
|
openfl_display3D_textures_TextureBase.__compressedFormats = new haxe_ds_IntMap();
|
|
openfl_display3D_textures_TextureBase.__compressedFormatsAlpha = new haxe_ds_IntMap();
|
|
var dxtExtension = gl.getExtension("WEBGL_compressed_texture_s3tc");
|
|
var etc1Extension = gl.getExtension("WEBGL_compressed_texture_etc1");
|
|
var pvrtcExtension = gl.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");
|
|
if(dxtExtension != null) {
|
|
var v = dxtExtension.COMPRESSED_RGBA_S3TC_DXT1_EXT;
|
|
openfl_display3D_textures_TextureBase.__compressedFormats.h[0] = v;
|
|
var v = dxtExtension.COMPRESSED_RGBA_S3TC_DXT5_EXT;
|
|
openfl_display3D_textures_TextureBase.__compressedFormatsAlpha.h[0] = v;
|
|
}
|
|
if(etc1Extension != null) {
|
|
var v = etc1Extension.COMPRESSED_RGB_ETC1_WEBGL;
|
|
openfl_display3D_textures_TextureBase.__compressedFormats.h[2] = v;
|
|
var v = etc1Extension.COMPRESSED_RGB_ETC1_WEBGL;
|
|
openfl_display3D_textures_TextureBase.__compressedFormatsAlpha.h[2] = v;
|
|
}
|
|
if(pvrtcExtension != null) {
|
|
var v = pvrtcExtension.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;
|
|
openfl_display3D_textures_TextureBase.__compressedFormats.h[1] = v;
|
|
var v = pvrtcExtension.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;
|
|
openfl_display3D_textures_TextureBase.__compressedFormatsAlpha.h[1] = v;
|
|
}
|
|
}
|
|
this.__internalFormat = openfl_display3D_textures_TextureBase.__textureInternalFormat;
|
|
this.__format = openfl_display3D_textures_TextureBase.__textureFormat;
|
|
};
|
|
$hxClasses["openfl.display3D.textures.TextureBase"] = openfl_display3D_textures_TextureBase;
|
|
openfl_display3D_textures_TextureBase.__name__ = "openfl.display3D.textures.TextureBase";
|
|
openfl_display3D_textures_TextureBase.__compressedFormats = null;
|
|
openfl_display3D_textures_TextureBase.__compressedFormatsAlpha = null;
|
|
openfl_display3D_textures_TextureBase.__textureFormat = null;
|
|
openfl_display3D_textures_TextureBase.__textureInternalFormat = null;
|
|
openfl_display3D_textures_TextureBase.__super__ = openfl_events_EventDispatcher;
|
|
openfl_display3D_textures_TextureBase.prototype = $extend(openfl_events_EventDispatcher.prototype,{
|
|
__alphaTexture: null
|
|
,__context: null
|
|
,__format: null
|
|
,__glDepthRenderbuffer: null
|
|
,__glFramebuffer: null
|
|
,__glStencilRenderbuffer: null
|
|
,__height: null
|
|
,__internalFormat: null
|
|
,__optimizeForRenderToTexture: null
|
|
,__samplerState: null
|
|
,__streamingLevels: null
|
|
,__textureContext: null
|
|
,__textureID: null
|
|
,__textureTarget: null
|
|
,__width: null
|
|
,dispose: function() {
|
|
var gl = this.__context.gl;
|
|
if(this.__alphaTexture != null) {
|
|
this.__alphaTexture.dispose();
|
|
this.__alphaTexture = null;
|
|
}
|
|
if(this.__textureID != null) {
|
|
gl.deleteTexture(this.__textureID);
|
|
this.__textureID = null;
|
|
}
|
|
if(this.__glFramebuffer != null) {
|
|
gl.deleteFramebuffer(this.__glFramebuffer);
|
|
this.__glFramebuffer = null;
|
|
}
|
|
if(this.__glDepthRenderbuffer != null) {
|
|
gl.deleteRenderbuffer(this.__glDepthRenderbuffer);
|
|
this.__glDepthRenderbuffer = null;
|
|
}
|
|
if(this.__glStencilRenderbuffer != null) {
|
|
gl.deleteRenderbuffer(this.__glStencilRenderbuffer);
|
|
this.__glStencilRenderbuffer = null;
|
|
}
|
|
}
|
|
,__getGLFramebuffer: function(enableDepthAndStencil,antiAlias,surfaceSelector) {
|
|
var gl = this.__context.gl;
|
|
if(this.__glFramebuffer == null) {
|
|
this.__glFramebuffer = gl.createFramebuffer();
|
|
this.__context.__bindGLFramebuffer(this.__glFramebuffer);
|
|
gl.framebufferTexture2D(gl.FRAMEBUFFER,gl.COLOR_ATTACHMENT0,gl.TEXTURE_2D,this.__textureID,0);
|
|
if(this.__context.__enableErrorChecking) {
|
|
var code = gl.checkFramebufferStatus(gl.FRAMEBUFFER);
|
|
if(code != gl.FRAMEBUFFER_COMPLETE) {
|
|
lime_utils_Log.warn("Error: Context3D.setRenderToTexture status:" + code + " width:" + this.__width + " height:" + this.__height,{ fileName : "openfl/display3D/textures/TextureBase.hx", lineNumber : 201, className : "openfl.display3D.textures.TextureBase", methodName : "__getGLFramebuffer"});
|
|
}
|
|
}
|
|
}
|
|
if(enableDepthAndStencil && this.__glDepthRenderbuffer == null) {
|
|
this.__context.__bindGLFramebuffer(this.__glFramebuffer);
|
|
if(openfl_display3D_Context3D.__glDepthStencil != 0) {
|
|
this.__glDepthRenderbuffer = gl.createRenderbuffer();
|
|
this.__glStencilRenderbuffer = this.__glDepthRenderbuffer;
|
|
gl.bindRenderbuffer(gl.RENDERBUFFER,this.__glDepthRenderbuffer);
|
|
gl.renderbufferStorage(gl.RENDERBUFFER,openfl_display3D_Context3D.__glDepthStencil,this.__width,this.__height);
|
|
gl.framebufferRenderbuffer(gl.FRAMEBUFFER,gl.DEPTH_STENCIL_ATTACHMENT,gl.RENDERBUFFER,this.__glDepthRenderbuffer);
|
|
} else {
|
|
this.__glDepthRenderbuffer = gl.createRenderbuffer();
|
|
this.__glStencilRenderbuffer = gl.createRenderbuffer();
|
|
gl.bindRenderbuffer(gl.RENDERBUFFER,this.__glDepthRenderbuffer);
|
|
gl.renderbufferStorage(gl.RENDERBUFFER,gl.DEPTH_COMPONENT16,this.__width,this.__height);
|
|
gl.bindRenderbuffer(gl.RENDERBUFFER,this.__glStencilRenderbuffer);
|
|
gl.renderbufferStorage(gl.RENDERBUFFER,gl.STENCIL_INDEX8,this.__width,this.__height);
|
|
gl.framebufferRenderbuffer(gl.FRAMEBUFFER,gl.DEPTH_ATTACHMENT,gl.RENDERBUFFER,this.__glDepthRenderbuffer);
|
|
gl.framebufferRenderbuffer(gl.FRAMEBUFFER,gl.STENCIL_ATTACHMENT,gl.RENDERBUFFER,this.__glStencilRenderbuffer);
|
|
}
|
|
if(this.__context.__enableErrorChecking) {
|
|
var code = gl.checkFramebufferStatus(gl.FRAMEBUFFER);
|
|
if(code != gl.FRAMEBUFFER_COMPLETE) {
|
|
lime_utils_Log.warn("Error: Context3D.setRenderToTexture status:" + code + " width:" + this.__width + " height:" + this.__height,{ fileName : "openfl/display3D/textures/TextureBase.hx", lineNumber : 239, className : "openfl.display3D.textures.TextureBase", methodName : "__getGLFramebuffer"});
|
|
}
|
|
}
|
|
gl.bindRenderbuffer(gl.RENDERBUFFER,null);
|
|
}
|
|
return this.__glFramebuffer;
|
|
}
|
|
,__getImage: function(bitmapData) {
|
|
var image = bitmapData.image;
|
|
if(!bitmapData.__isValid || image == null) {
|
|
return null;
|
|
}
|
|
lime__$internal_graphics_ImageCanvasUtil.sync(image,false);
|
|
var gl = this.__context.gl;
|
|
if(image.type != lime_graphics_ImageType.DATA && !image.get_premultiplied()) {
|
|
gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL,1);
|
|
} else if(!image.get_premultiplied() && image.get_transparent()) {
|
|
gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL,0);
|
|
image = image.clone();
|
|
image.set_premultiplied(true);
|
|
}
|
|
if(image.get_format() != 0) {
|
|
image = image.clone();
|
|
image.set_format(0);
|
|
image.buffer.premultiplied = true;
|
|
}
|
|
return image;
|
|
}
|
|
,__getTexture: function() {
|
|
return this.__textureID;
|
|
}
|
|
,__setSamplerState: function(state) {
|
|
if(!state.equals(this.__samplerState)) {
|
|
var gl = this.__context.gl;
|
|
if(this.__textureTarget == this.__context.gl.TEXTURE_CUBE_MAP) {
|
|
this.__context.__bindGLTextureCubeMap(this.__textureID);
|
|
} else {
|
|
this.__context.__bindGLTexture2D(this.__textureID);
|
|
}
|
|
var wrapModeS = 0;
|
|
var wrapModeT = 0;
|
|
switch(state.wrap) {
|
|
case 0:
|
|
wrapModeS = gl.CLAMP_TO_EDGE;
|
|
wrapModeT = gl.CLAMP_TO_EDGE;
|
|
break;
|
|
case 1:
|
|
wrapModeS = gl.CLAMP_TO_EDGE;
|
|
wrapModeT = gl.REPEAT;
|
|
break;
|
|
case 2:
|
|
wrapModeS = gl.REPEAT;
|
|
wrapModeT = gl.REPEAT;
|
|
break;
|
|
case 3:
|
|
wrapModeS = gl.REPEAT;
|
|
wrapModeT = gl.CLAMP_TO_EDGE;
|
|
break;
|
|
default:
|
|
throw haxe_Exception.thrown(new openfl_errors_Error("wrap bad enum"));
|
|
}
|
|
var magFilter = 0;
|
|
var minFilter = 0;
|
|
if(state.filter == 5) {
|
|
magFilter = gl.NEAREST;
|
|
} else {
|
|
magFilter = gl.LINEAR;
|
|
}
|
|
switch(state.mipfilter) {
|
|
case 0:
|
|
minFilter = state.filter == 5 ? gl.NEAREST_MIPMAP_LINEAR : gl.LINEAR_MIPMAP_LINEAR;
|
|
break;
|
|
case 1:
|
|
minFilter = state.filter == 5 ? gl.NEAREST_MIPMAP_NEAREST : gl.LINEAR_MIPMAP_NEAREST;
|
|
break;
|
|
case 2:
|
|
minFilter = state.filter == 5 ? gl.NEAREST : gl.LINEAR;
|
|
break;
|
|
default:
|
|
throw haxe_Exception.thrown(new openfl_errors_Error("mipfiter bad enum"));
|
|
}
|
|
gl.texParameteri(this.__textureTarget,gl.TEXTURE_MIN_FILTER,minFilter);
|
|
gl.texParameteri(this.__textureTarget,gl.TEXTURE_MAG_FILTER,magFilter);
|
|
gl.texParameteri(this.__textureTarget,gl.TEXTURE_WRAP_S,wrapModeS);
|
|
gl.texParameteri(this.__textureTarget,gl.TEXTURE_WRAP_T,wrapModeT);
|
|
var tmp = state.lodBias != 0.0;
|
|
if(this.__samplerState == null) {
|
|
this.__samplerState = state.clone();
|
|
}
|
|
this.__samplerState.copyFrom(state);
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
,__uploadFromImage: function(image) {
|
|
var gl = this.__context.gl;
|
|
var internalFormat;
|
|
var format;
|
|
if(this.__textureTarget != gl.TEXTURE_2D) {
|
|
return;
|
|
}
|
|
if(image.buffer.bitsPerPixel == 1) {
|
|
internalFormat = gl.ALPHA;
|
|
format = gl.ALPHA;
|
|
} else {
|
|
internalFormat = openfl_display3D_textures_TextureBase.__textureInternalFormat;
|
|
format = openfl_display3D_textures_TextureBase.__textureFormat;
|
|
}
|
|
this.__context.__bindGLTexture2D(this.__textureID);
|
|
if(image.type != lime_graphics_ImageType.DATA && !image.get_premultiplied()) {
|
|
gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL,1);
|
|
} else if(!image.get_premultiplied() && image.get_transparent()) {
|
|
gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL,1);
|
|
}
|
|
if(image.type == lime_graphics_ImageType.DATA) {
|
|
lime_graphics_WebGLRenderContext.texImage2D(gl,gl.TEXTURE_2D,0,internalFormat,image.buffer.width,image.buffer.height,0,format,gl.UNSIGNED_BYTE,image.get_data());
|
|
} else {
|
|
lime_graphics_WebGLRenderContext.texImage2D(gl,gl.TEXTURE_2D,0,internalFormat,format,gl.UNSIGNED_BYTE,image.get_src());
|
|
}
|
|
this.__context.__bindGLTexture2D(null);
|
|
}
|
|
,__class__: openfl_display3D_textures_TextureBase
|
|
});
|
|
var openfl_display3D_textures_CubeTexture = function(context,size,format,optimizeForRenderToTexture,streamingLevels) {
|
|
openfl_display3D_textures_TextureBase.call(this,context);
|
|
this.__size = size;
|
|
this.__width = this.__height = this.__size;
|
|
this.__optimizeForRenderToTexture = optimizeForRenderToTexture;
|
|
this.__streamingLevels = streamingLevels;
|
|
this.__textureTarget = this.__context.gl.TEXTURE_CUBE_MAP;
|
|
this.__uploadedSides = 0;
|
|
};
|
|
$hxClasses["openfl.display3D.textures.CubeTexture"] = openfl_display3D_textures_CubeTexture;
|
|
openfl_display3D_textures_CubeTexture.__name__ = "openfl.display3D.textures.CubeTexture";
|
|
openfl_display3D_textures_CubeTexture.__super__ = openfl_display3D_textures_TextureBase;
|
|
openfl_display3D_textures_CubeTexture.prototype = $extend(openfl_display3D_textures_TextureBase.prototype,{
|
|
__framebufferSurface: null
|
|
,__size: null
|
|
,__uploadedSides: null
|
|
,uploadCompressedTextureFromByteArray: function(data,byteArrayOffset,async) {
|
|
if(async == null) {
|
|
async = false;
|
|
}
|
|
var _gthis = this;
|
|
if(!async) {
|
|
this.__uploadCompressedTextureFromByteArray(data,byteArrayOffset);
|
|
} else {
|
|
haxe_Timer.delay(function() {
|
|
_gthis.__uploadCompressedTextureFromByteArray(data,byteArrayOffset);
|
|
var event = null;
|
|
event = new openfl_events_Event("textureReady");
|
|
_gthis.dispatchEvent(event);
|
|
},1);
|
|
}
|
|
}
|
|
,uploadFromBitmapData: function(source,side,miplevel,generateMipmap) {
|
|
if(generateMipmap == null) {
|
|
generateMipmap = false;
|
|
}
|
|
if(miplevel == null) {
|
|
miplevel = 0;
|
|
}
|
|
if(source == null) {
|
|
return;
|
|
}
|
|
var size = this.__size >> miplevel;
|
|
if(size == 0) {
|
|
return;
|
|
}
|
|
var image = this.__getImage(source);
|
|
if(image == null) {
|
|
return;
|
|
}
|
|
if(miplevel == 0 && image.buffer != null && image.buffer.data == null && image.buffer.get_src() != null) {
|
|
var gl = this.__context.gl;
|
|
var size = this.__size >> miplevel;
|
|
if(size == 0) {
|
|
return;
|
|
}
|
|
var target = this.__sideToTarget(side);
|
|
this.__context.__bindGLTextureCubeMap(this.__textureID);
|
|
lime_graphics_WebGLRenderContext.texImage2D(gl,target,miplevel,this.__internalFormat,this.__format,gl.UNSIGNED_BYTE,image.buffer.get_src());
|
|
this.__context.__bindGLTextureCubeMap(null);
|
|
this.__uploadedSides |= 1 << side;
|
|
return;
|
|
}
|
|
this.uploadFromTypedArray(image.get_data(),side,miplevel);
|
|
}
|
|
,uploadFromByteArray: function(data,byteArrayOffset,side,miplevel) {
|
|
if(miplevel == null) {
|
|
miplevel = 0;
|
|
}
|
|
if(byteArrayOffset == 0) {
|
|
this.uploadFromTypedArray(data.b,side,miplevel);
|
|
return;
|
|
}
|
|
var elements = null;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = openfl_utils_ByteArray.toArrayBuffer(data);
|
|
var byteoffset = byteArrayOffset;
|
|
var len = null;
|
|
if(byteoffset == null) {
|
|
byteoffset = 0;
|
|
}
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Uint8Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Uint8Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Uint8Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Uint8Array(view);
|
|
} else if(buffer != null) {
|
|
if(len == null) {
|
|
this1 = new Uint8Array(buffer,byteoffset);
|
|
} else {
|
|
this1 = new Uint8Array(buffer,byteoffset,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
this.uploadFromTypedArray(this1,side,miplevel);
|
|
}
|
|
,uploadFromTypedArray: function(data,side,miplevel) {
|
|
if(miplevel == null) {
|
|
miplevel = 0;
|
|
}
|
|
if(data == null) {
|
|
return;
|
|
}
|
|
var gl = this.__context.gl;
|
|
var size = this.__size >> miplevel;
|
|
if(size == 0) {
|
|
return;
|
|
}
|
|
var target = this.__sideToTarget(side);
|
|
this.__context.__bindGLTextureCubeMap(this.__textureID);
|
|
lime_graphics_WebGLRenderContext.texImage2D(gl,target,miplevel,this.__internalFormat,size,size,0,this.__format,gl.UNSIGNED_BYTE,data);
|
|
this.__context.__bindGLTextureCubeMap(null);
|
|
this.__uploadedSides |= 1 << side;
|
|
}
|
|
,__getGLFramebuffer: function(enableDepthAndStencil,antiAlias,surfaceSelector) {
|
|
var gl = this.__context.gl;
|
|
if(this.__glFramebuffer == null) {
|
|
this.__glFramebuffer = gl.createFramebuffer();
|
|
this.__framebufferSurface = -1;
|
|
}
|
|
if(this.__framebufferSurface != surfaceSelector) {
|
|
this.__framebufferSurface = surfaceSelector;
|
|
this.__context.__bindGLFramebuffer(this.__glFramebuffer);
|
|
gl.framebufferTexture2D(gl.FRAMEBUFFER,gl.COLOR_ATTACHMENT0,gl.TEXTURE_CUBE_MAP_POSITIVE_X + surfaceSelector,this.__textureID,0);
|
|
if(this.__context.__enableErrorChecking) {
|
|
var code = gl.checkFramebufferStatus(gl.FRAMEBUFFER);
|
|
if(code != gl.FRAMEBUFFER_COMPLETE) {
|
|
lime_utils_Log.error("Error: Context3D.setRenderToTexture status:" + code + " width:" + this.__width + " height:" + this.__height,{ fileName : "openfl/display3D/textures/CubeTexture.hx", lineNumber : 278, className : "openfl.display3D.textures.CubeTexture", methodName : "__getGLFramebuffer"});
|
|
}
|
|
}
|
|
}
|
|
return openfl_display3D_textures_TextureBase.prototype.__getGLFramebuffer.call(this,enableDepthAndStencil,antiAlias,surfaceSelector);
|
|
}
|
|
,__setSamplerState: function(state) {
|
|
if(openfl_display3D_textures_TextureBase.prototype.__setSamplerState.call(this,state)) {
|
|
var gl = this.__context.gl;
|
|
if(state.mipfilter != 2 && !this.__samplerState.mipmapGenerated) {
|
|
gl.generateMipmap(gl.TEXTURE_CUBE_MAP);
|
|
this.__samplerState.mipmapGenerated = true;
|
|
}
|
|
if(openfl_display3D_Context3D.__glMaxTextureMaxAnisotropy != 0) {
|
|
var aniso;
|
|
switch(state.filter) {
|
|
case 0:
|
|
aniso = 16;
|
|
break;
|
|
case 1:
|
|
aniso = 2;
|
|
break;
|
|
case 2:
|
|
aniso = 4;
|
|
break;
|
|
case 3:
|
|
aniso = 8;
|
|
break;
|
|
default:
|
|
aniso = 1;
|
|
}
|
|
if(aniso > openfl_display3D_Context3D.__glMaxTextureMaxAnisotropy) {
|
|
aniso = openfl_display3D_Context3D.__glMaxTextureMaxAnisotropy;
|
|
}
|
|
gl.texParameterf(gl.TEXTURE_CUBE_MAP,openfl_display3D_Context3D.__glTextureMaxAnisotropy,aniso);
|
|
}
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
,__sideToTarget: function(side) {
|
|
var gl = this.__context.gl;
|
|
switch(side) {
|
|
case 0:
|
|
return gl.TEXTURE_CUBE_MAP_POSITIVE_X;
|
|
case 1:
|
|
return gl.TEXTURE_CUBE_MAP_NEGATIVE_X;
|
|
case 2:
|
|
return gl.TEXTURE_CUBE_MAP_POSITIVE_Y;
|
|
case 3:
|
|
return gl.TEXTURE_CUBE_MAP_NEGATIVE_Y;
|
|
case 4:
|
|
return gl.TEXTURE_CUBE_MAP_POSITIVE_Z;
|
|
case 5:
|
|
return gl.TEXTURE_CUBE_MAP_NEGATIVE_Z;
|
|
default:
|
|
throw haxe_Exception.thrown(new openfl_errors_IllegalOperationError());
|
|
}
|
|
}
|
|
,__uploadCompressedTextureFromByteArray: function(data,byteArrayOffset) {
|
|
var _gthis = this;
|
|
var reader = new openfl_display3D__$internal_atf_ATFReader(data,byteArrayOffset);
|
|
var alpha = reader.readHeader(this.__size,this.__size,true);
|
|
var gl = this.__context.gl;
|
|
this.__context.__bindGLTextureCubeMap(this.__textureID);
|
|
var hasTexture = false;
|
|
reader.readTextures(function(side,level,gpuFormat,width,height,blockLength,bytes) {
|
|
var format = alpha ? openfl_display3D_textures_TextureBase.__compressedFormatsAlpha.h[gpuFormat] : openfl_display3D_textures_TextureBase.__compressedFormats.h[gpuFormat];
|
|
if(format == 0) {
|
|
return;
|
|
}
|
|
hasTexture = true;
|
|
var target = _gthis.__sideToTarget(side);
|
|
_gthis.__format = format;
|
|
_gthis.__internalFormat = format;
|
|
if(alpha && gpuFormat == 2) {
|
|
var size = blockLength / 2 | 0;
|
|
var elements = null;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = bytes.b.buffer;
|
|
var byteoffset = 0;
|
|
if(byteoffset == null) {
|
|
byteoffset = 0;
|
|
}
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Uint8Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Uint8Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Uint8Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Uint8Array(view);
|
|
} else if(buffer != null) {
|
|
if(size == null) {
|
|
this1 = new Uint8Array(buffer,byteoffset);
|
|
} else {
|
|
this1 = new Uint8Array(buffer,byteoffset,size);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
lime_graphics_WebGLRenderContext.compressedTexImage2D(gl,target,level,_gthis.__internalFormat,width,height,0,this1);
|
|
var alphaTexture = new openfl_display3D_textures_CubeTexture(_gthis.__context,_gthis.__size,3,_gthis.__optimizeForRenderToTexture,_gthis.__streamingLevels);
|
|
alphaTexture.__format = format;
|
|
alphaTexture.__internalFormat = format;
|
|
_gthis.__context.__bindGLTextureCubeMap(alphaTexture.__textureID);
|
|
var elements = null;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = bytes.b.buffer;
|
|
var byteoffset = size;
|
|
if(byteoffset == null) {
|
|
byteoffset = 0;
|
|
}
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Uint8Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Uint8Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Uint8Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Uint8Array(view);
|
|
} else if(buffer != null) {
|
|
if(size == null) {
|
|
this1 = new Uint8Array(buffer,byteoffset);
|
|
} else {
|
|
this1 = new Uint8Array(buffer,byteoffset,size);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
lime_graphics_WebGLRenderContext.compressedTexImage2D(gl,target,level,alphaTexture.__internalFormat,width,height,0,this1);
|
|
_gthis.__alphaTexture = alphaTexture;
|
|
} else {
|
|
var elements = null;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = bytes.b.buffer;
|
|
var byteoffset = 0;
|
|
if(byteoffset == null) {
|
|
byteoffset = 0;
|
|
}
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Uint8Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Uint8Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Uint8Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Uint8Array(view);
|
|
} else if(buffer != null) {
|
|
if(blockLength == null) {
|
|
this1 = new Uint8Array(buffer,byteoffset);
|
|
} else {
|
|
this1 = new Uint8Array(buffer,byteoffset,blockLength);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
lime_graphics_WebGLRenderContext.compressedTexImage2D(gl,target,level,_gthis.__internalFormat,width,height,0,this1);
|
|
}
|
|
});
|
|
if(!hasTexture) {
|
|
var elements = this.__size * this.__size * 4;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = null;
|
|
var len = null;
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Uint8Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Uint8Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Uint8Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Uint8Array(view);
|
|
} else if(buffer != null) {
|
|
if(len == null) {
|
|
this1 = new Uint8Array(buffer,0);
|
|
} else {
|
|
this1 = new Uint8Array(buffer,0,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
var data = this1;
|
|
lime_graphics_WebGLRenderContext.texImage2D(gl,this.__sideToTarget(0),0,this.__internalFormat,this.__size,this.__size,0,this.__format,gl.UNSIGNED_BYTE,data);
|
|
var elements = this.__size * this.__size * 4;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = null;
|
|
var len = null;
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Uint8Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Uint8Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Uint8Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Uint8Array(view);
|
|
} else if(buffer != null) {
|
|
if(len == null) {
|
|
this1 = new Uint8Array(buffer,0);
|
|
} else {
|
|
this1 = new Uint8Array(buffer,0,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
var data = this1;
|
|
lime_graphics_WebGLRenderContext.texImage2D(gl,this.__sideToTarget(1),0,this.__internalFormat,this.__size,this.__size,0,this.__format,gl.UNSIGNED_BYTE,data);
|
|
var elements = this.__size * this.__size * 4;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = null;
|
|
var len = null;
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Uint8Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Uint8Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Uint8Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Uint8Array(view);
|
|
} else if(buffer != null) {
|
|
if(len == null) {
|
|
this1 = new Uint8Array(buffer,0);
|
|
} else {
|
|
this1 = new Uint8Array(buffer,0,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
var data = this1;
|
|
lime_graphics_WebGLRenderContext.texImage2D(gl,this.__sideToTarget(2),0,this.__internalFormat,this.__size,this.__size,0,this.__format,gl.UNSIGNED_BYTE,data);
|
|
var elements = this.__size * this.__size * 4;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = null;
|
|
var len = null;
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Uint8Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Uint8Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Uint8Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Uint8Array(view);
|
|
} else if(buffer != null) {
|
|
if(len == null) {
|
|
this1 = new Uint8Array(buffer,0);
|
|
} else {
|
|
this1 = new Uint8Array(buffer,0,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
var data = this1;
|
|
lime_graphics_WebGLRenderContext.texImage2D(gl,this.__sideToTarget(3),0,this.__internalFormat,this.__size,this.__size,0,this.__format,gl.UNSIGNED_BYTE,data);
|
|
var elements = this.__size * this.__size * 4;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = null;
|
|
var len = null;
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Uint8Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Uint8Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Uint8Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Uint8Array(view);
|
|
} else if(buffer != null) {
|
|
if(len == null) {
|
|
this1 = new Uint8Array(buffer,0);
|
|
} else {
|
|
this1 = new Uint8Array(buffer,0,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
var data = this1;
|
|
lime_graphics_WebGLRenderContext.texImage2D(gl,this.__sideToTarget(4),0,this.__internalFormat,this.__size,this.__size,0,this.__format,gl.UNSIGNED_BYTE,data);
|
|
var elements = this.__size * this.__size * 4;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = null;
|
|
var len = null;
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Uint8Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Uint8Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Uint8Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Uint8Array(view);
|
|
} else if(buffer != null) {
|
|
if(len == null) {
|
|
this1 = new Uint8Array(buffer,0);
|
|
} else {
|
|
this1 = new Uint8Array(buffer,0,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
var data = this1;
|
|
lime_graphics_WebGLRenderContext.texImage2D(gl,this.__sideToTarget(5),0,this.__internalFormat,this.__size,this.__size,0,this.__format,gl.UNSIGNED_BYTE,data);
|
|
}
|
|
this.__context.__bindGLTextureCubeMap(null);
|
|
}
|
|
,__class__: openfl_display3D_textures_CubeTexture
|
|
});
|
|
var openfl_display3D_textures_RectangleTexture = function(context,width,height,format,optimizeForRenderToTexture) {
|
|
openfl_display3D_textures_TextureBase.call(this,context);
|
|
this.__width = width;
|
|
this.__height = height;
|
|
this.__optimizeForRenderToTexture = optimizeForRenderToTexture;
|
|
this.__textureTarget = this.__context.gl.TEXTURE_2D;
|
|
this.uploadFromTypedArray(null);
|
|
if(optimizeForRenderToTexture) {
|
|
this.__getGLFramebuffer(true,0,0);
|
|
}
|
|
};
|
|
$hxClasses["openfl.display3D.textures.RectangleTexture"] = openfl_display3D_textures_RectangleTexture;
|
|
openfl_display3D_textures_RectangleTexture.__name__ = "openfl.display3D.textures.RectangleTexture";
|
|
openfl_display3D_textures_RectangleTexture.__super__ = openfl_display3D_textures_TextureBase;
|
|
openfl_display3D_textures_RectangleTexture.prototype = $extend(openfl_display3D_textures_TextureBase.prototype,{
|
|
uploadFromBitmapData: function(source) {
|
|
if(source == null) {
|
|
return;
|
|
}
|
|
var image = this.__getImage(source);
|
|
if(image == null) {
|
|
return;
|
|
}
|
|
if(image.buffer != null && image.buffer.data == null && image.buffer.get_src() != null) {
|
|
var gl = this.__context.gl;
|
|
this.__context.__bindGLTexture2D(this.__textureID);
|
|
lime_graphics_WebGLRenderContext.texImage2D(gl,this.__textureTarget,0,this.__internalFormat,this.__format,gl.UNSIGNED_BYTE,image.buffer.get_src());
|
|
this.__context.__bindGLTexture2D(null);
|
|
return;
|
|
}
|
|
this.uploadFromTypedArray(image.get_data());
|
|
}
|
|
,uploadFromByteArray: function(data,byteArrayOffset) {
|
|
if(byteArrayOffset == 0) {
|
|
this.uploadFromTypedArray(data.b);
|
|
return;
|
|
}
|
|
var elements = null;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = openfl_utils_ByteArray.toArrayBuffer(data);
|
|
var byteoffset = byteArrayOffset;
|
|
var len = null;
|
|
if(byteoffset == null) {
|
|
byteoffset = 0;
|
|
}
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Uint8Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Uint8Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Uint8Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Uint8Array(view);
|
|
} else if(buffer != null) {
|
|
if(len == null) {
|
|
this1 = new Uint8Array(buffer,byteoffset);
|
|
} else {
|
|
this1 = new Uint8Array(buffer,byteoffset,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
this.uploadFromTypedArray(this1);
|
|
}
|
|
,uploadFromTypedArray: function(data) {
|
|
var gl = this.__context.gl;
|
|
this.__context.__bindGLTexture2D(this.__textureID);
|
|
lime_graphics_WebGLRenderContext.texImage2D(gl,this.__textureTarget,0,this.__internalFormat,this.__width,this.__height,0,this.__format,gl.UNSIGNED_BYTE,data);
|
|
this.__context.__bindGLTexture2D(null);
|
|
}
|
|
,__setSamplerState: function(state) {
|
|
if(openfl_display3D_textures_TextureBase.prototype.__setSamplerState.call(this,state)) {
|
|
var gl = this.__context.gl;
|
|
if(openfl_display3D_Context3D.__glMaxTextureMaxAnisotropy != 0) {
|
|
var aniso;
|
|
switch(state.filter) {
|
|
case 0:
|
|
aniso = 16;
|
|
break;
|
|
case 1:
|
|
aniso = 2;
|
|
break;
|
|
case 2:
|
|
aniso = 4;
|
|
break;
|
|
case 3:
|
|
aniso = 8;
|
|
break;
|
|
default:
|
|
aniso = 1;
|
|
}
|
|
if(aniso > openfl_display3D_Context3D.__glMaxTextureMaxAnisotropy) {
|
|
aniso = openfl_display3D_Context3D.__glMaxTextureMaxAnisotropy;
|
|
}
|
|
gl.texParameterf(gl.TEXTURE_2D,openfl_display3D_Context3D.__glTextureMaxAnisotropy,aniso);
|
|
}
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
,__class__: openfl_display3D_textures_RectangleTexture
|
|
});
|
|
var openfl_display3D_textures_Texture = function(context,width,height,format,optimizeForRenderToTexture,streamingLevels) {
|
|
openfl_display3D_textures_TextureBase.call(this,context);
|
|
this.__width = width;
|
|
this.__height = height;
|
|
this.__optimizeForRenderToTexture = optimizeForRenderToTexture;
|
|
this.__streamingLevels = streamingLevels;
|
|
var gl = this.__context.gl;
|
|
this.__textureTarget = gl.TEXTURE_2D;
|
|
this.__context.__bindGLTexture2D(this.__textureID);
|
|
lime_graphics_WebGLRenderContext.texImage2D(gl,this.__textureTarget,0,this.__internalFormat,this.__width,this.__height,0,this.__format,gl.UNSIGNED_BYTE,null);
|
|
this.__context.__bindGLTexture2D(null);
|
|
if(optimizeForRenderToTexture) {
|
|
this.__getGLFramebuffer(true,0,0);
|
|
}
|
|
};
|
|
$hxClasses["openfl.display3D.textures.Texture"] = openfl_display3D_textures_Texture;
|
|
openfl_display3D_textures_Texture.__name__ = "openfl.display3D.textures.Texture";
|
|
openfl_display3D_textures_Texture.__super__ = openfl_display3D_textures_TextureBase;
|
|
openfl_display3D_textures_Texture.prototype = $extend(openfl_display3D_textures_TextureBase.prototype,{
|
|
uploadCompressedTextureFromByteArray: function(data,byteArrayOffset,async) {
|
|
if(async == null) {
|
|
async = false;
|
|
}
|
|
var _gthis = this;
|
|
if(!async) {
|
|
this.__uploadCompressedTextureFromByteArray(data,byteArrayOffset);
|
|
} else {
|
|
haxe_Timer.delay(function() {
|
|
_gthis.__uploadCompressedTextureFromByteArray(data,byteArrayOffset);
|
|
var event = null;
|
|
event = new openfl_events_Event("textureReady");
|
|
_gthis.dispatchEvent(event);
|
|
},1);
|
|
}
|
|
}
|
|
,uploadFromBitmapData: function(source,miplevel,generateMipmap) {
|
|
if(generateMipmap == null) {
|
|
generateMipmap = false;
|
|
}
|
|
if(miplevel == null) {
|
|
miplevel = 0;
|
|
}
|
|
if(source == null) {
|
|
return;
|
|
}
|
|
var width = this.__width >> miplevel;
|
|
var height = this.__height >> miplevel;
|
|
if(width == 0 && height == 0) {
|
|
return;
|
|
}
|
|
if(width == 0) {
|
|
width = 1;
|
|
}
|
|
if(height == 0) {
|
|
height = 1;
|
|
}
|
|
if(source.width != width || source.height != height) {
|
|
var copy = new openfl_display_BitmapData(width,height,true,0);
|
|
copy.draw(source);
|
|
source = copy;
|
|
}
|
|
var image = this.__getImage(source);
|
|
if(image == null) {
|
|
return;
|
|
}
|
|
if(miplevel == 0 && image.buffer != null && image.buffer.data == null && image.buffer.get_src() != null) {
|
|
var gl = this.__context.gl;
|
|
var width = this.__width >> miplevel;
|
|
var height = this.__height >> miplevel;
|
|
if(width == 0 && height == 0) {
|
|
return;
|
|
}
|
|
if(width == 0) {
|
|
width = 1;
|
|
}
|
|
if(height == 0) {
|
|
height = 1;
|
|
}
|
|
this.__context.__bindGLTexture2D(this.__textureID);
|
|
lime_graphics_WebGLRenderContext.texImage2D(gl,this.__textureTarget,miplevel,this.__internalFormat,this.__format,gl.UNSIGNED_BYTE,image.buffer.get_src());
|
|
this.__context.__bindGLTexture2D(null);
|
|
return;
|
|
}
|
|
this.uploadFromTypedArray(image.get_data(),miplevel);
|
|
}
|
|
,uploadFromByteArray: function(data,byteArrayOffset,miplevel) {
|
|
if(miplevel == null) {
|
|
miplevel = 0;
|
|
}
|
|
if(byteArrayOffset == 0) {
|
|
this.uploadFromTypedArray(data.b,miplevel);
|
|
return;
|
|
}
|
|
var elements = null;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = openfl_utils_ByteArray.toArrayBuffer(data);
|
|
var byteoffset = byteArrayOffset;
|
|
var len = null;
|
|
if(byteoffset == null) {
|
|
byteoffset = 0;
|
|
}
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Uint8Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Uint8Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Uint8Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Uint8Array(view);
|
|
} else if(buffer != null) {
|
|
if(len == null) {
|
|
this1 = new Uint8Array(buffer,byteoffset);
|
|
} else {
|
|
this1 = new Uint8Array(buffer,byteoffset,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
this.uploadFromTypedArray(this1,miplevel);
|
|
}
|
|
,uploadFromTypedArray: function(data,miplevel) {
|
|
if(miplevel == null) {
|
|
miplevel = 0;
|
|
}
|
|
if(data == null) {
|
|
return;
|
|
}
|
|
var gl = this.__context.gl;
|
|
var width = this.__width >> miplevel;
|
|
var height = this.__height >> miplevel;
|
|
if(width == 0 && height == 0) {
|
|
return;
|
|
}
|
|
if(width == 0) {
|
|
width = 1;
|
|
}
|
|
if(height == 0) {
|
|
height = 1;
|
|
}
|
|
this.__context.__bindGLTexture2D(this.__textureID);
|
|
lime_graphics_WebGLRenderContext.texImage2D(gl,this.__textureTarget,miplevel,this.__internalFormat,width,height,0,this.__format,gl.UNSIGNED_BYTE,data);
|
|
this.__context.__bindGLTexture2D(null);
|
|
}
|
|
,__setSamplerState: function(state) {
|
|
if(openfl_display3D_textures_TextureBase.prototype.__setSamplerState.call(this,state)) {
|
|
var gl = this.__context.gl;
|
|
if(state.mipfilter != 2 && !this.__samplerState.mipmapGenerated) {
|
|
gl.generateMipmap(gl.TEXTURE_2D);
|
|
this.__samplerState.mipmapGenerated = true;
|
|
}
|
|
if(openfl_display3D_Context3D.__glMaxTextureMaxAnisotropy != 0) {
|
|
var aniso;
|
|
switch(state.filter) {
|
|
case 0:
|
|
aniso = 16;
|
|
break;
|
|
case 1:
|
|
aniso = 2;
|
|
break;
|
|
case 2:
|
|
aniso = 4;
|
|
break;
|
|
case 3:
|
|
aniso = 8;
|
|
break;
|
|
default:
|
|
aniso = 1;
|
|
}
|
|
if(aniso > openfl_display3D_Context3D.__glMaxTextureMaxAnisotropy) {
|
|
aniso = openfl_display3D_Context3D.__glMaxTextureMaxAnisotropy;
|
|
}
|
|
gl.texParameterf(gl.TEXTURE_2D,openfl_display3D_Context3D.__glTextureMaxAnisotropy,aniso);
|
|
}
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
,__uploadCompressedTextureFromByteArray: function(data,byteArrayOffset) {
|
|
var _gthis = this;
|
|
var reader = new openfl_display3D__$internal_atf_ATFReader(data,byteArrayOffset);
|
|
var alpha = reader.readHeader(this.__width,this.__height,false);
|
|
var context = this.__context;
|
|
var gl = context.gl;
|
|
this.__context.__bindGLTexture2D(this.__textureID);
|
|
var hasTexture = false;
|
|
reader.readTextures(function(target,level,gpuFormat,width,height,blockLength,bytes) {
|
|
var format = alpha ? openfl_display3D_textures_TextureBase.__compressedFormatsAlpha.h[gpuFormat] : openfl_display3D_textures_TextureBase.__compressedFormats.h[gpuFormat];
|
|
if(format == 0) {
|
|
return;
|
|
}
|
|
hasTexture = true;
|
|
_gthis.__format = format;
|
|
_gthis.__internalFormat = format;
|
|
if(alpha && gpuFormat == 2) {
|
|
var size = blockLength / 2 | 0;
|
|
var elements = null;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = bytes.b.buffer;
|
|
var byteoffset = 0;
|
|
if(byteoffset == null) {
|
|
byteoffset = 0;
|
|
}
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Uint8Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Uint8Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Uint8Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Uint8Array(view);
|
|
} else if(buffer != null) {
|
|
if(size == null) {
|
|
this1 = new Uint8Array(buffer,byteoffset);
|
|
} else {
|
|
this1 = new Uint8Array(buffer,byteoffset,size);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
lime_graphics_WebGLRenderContext.compressedTexImage2D(gl,_gthis.__textureTarget,level,_gthis.__internalFormat,width,height,0,this1);
|
|
var alphaTexture = new openfl_display3D_textures_Texture(_gthis.__context,_gthis.__width,_gthis.__height,3,_gthis.__optimizeForRenderToTexture,_gthis.__streamingLevels);
|
|
alphaTexture.__format = format;
|
|
alphaTexture.__internalFormat = format;
|
|
_gthis.__context.__bindGLTexture2D(alphaTexture.__textureID);
|
|
var elements = null;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = bytes.b.buffer;
|
|
var byteoffset = size;
|
|
if(byteoffset == null) {
|
|
byteoffset = 0;
|
|
}
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Uint8Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Uint8Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Uint8Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Uint8Array(view);
|
|
} else if(buffer != null) {
|
|
if(size == null) {
|
|
this1 = new Uint8Array(buffer,byteoffset);
|
|
} else {
|
|
this1 = new Uint8Array(buffer,byteoffset,size);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
lime_graphics_WebGLRenderContext.compressedTexImage2D(gl,alphaTexture.__textureTarget,level,alphaTexture.__internalFormat,width,height,0,this1);
|
|
_gthis.__alphaTexture = alphaTexture;
|
|
} else {
|
|
var elements = null;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = bytes.b.buffer;
|
|
var byteoffset = 0;
|
|
if(byteoffset == null) {
|
|
byteoffset = 0;
|
|
}
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Uint8Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Uint8Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Uint8Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Uint8Array(view);
|
|
} else if(buffer != null) {
|
|
if(blockLength == null) {
|
|
this1 = new Uint8Array(buffer,byteoffset);
|
|
} else {
|
|
this1 = new Uint8Array(buffer,byteoffset,blockLength);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
lime_graphics_WebGLRenderContext.compressedTexImage2D(gl,_gthis.__textureTarget,level,_gthis.__internalFormat,width,height,0,this1);
|
|
}
|
|
});
|
|
if(!hasTexture) {
|
|
var elements = this.__width * this.__height * 4;
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = null;
|
|
var len = null;
|
|
var this1;
|
|
if(elements != null) {
|
|
this1 = new Uint8Array(elements);
|
|
} else if(array != null) {
|
|
this1 = new Uint8Array(array);
|
|
} else if(vector != null) {
|
|
this1 = new Uint8Array(vector.__array);
|
|
} else if(view != null) {
|
|
this1 = new Uint8Array(view);
|
|
} else if(buffer != null) {
|
|
if(len == null) {
|
|
this1 = new Uint8Array(buffer,0);
|
|
} else {
|
|
this1 = new Uint8Array(buffer,0,len);
|
|
}
|
|
} else {
|
|
this1 = null;
|
|
}
|
|
var data = this1;
|
|
lime_graphics_WebGLRenderContext.texImage2D(gl,this.__textureTarget,0,this.__internalFormat,this.__width,this.__height,0,this.__format,gl.UNSIGNED_BYTE,data);
|
|
}
|
|
this.__context.__bindGLTexture2D(null);
|
|
}
|
|
,__class__: openfl_display3D_textures_Texture
|
|
});
|
|
var openfl_display3D_textures_VideoTexture = function(context) {
|
|
openfl_display3D_textures_TextureBase.call(this,context);
|
|
this.__textureTarget = this.__context.gl.TEXTURE_2D;
|
|
};
|
|
$hxClasses["openfl.display3D.textures.VideoTexture"] = openfl_display3D_textures_VideoTexture;
|
|
openfl_display3D_textures_VideoTexture.__name__ = "openfl.display3D.textures.VideoTexture";
|
|
openfl_display3D_textures_VideoTexture.__super__ = openfl_display3D_textures_TextureBase;
|
|
openfl_display3D_textures_VideoTexture.prototype = $extend(openfl_display3D_textures_TextureBase.prototype,{
|
|
videoHeight: null
|
|
,videoWidth: null
|
|
,__cacheTime: null
|
|
,__netStream: null
|
|
,attachNetStream: function(netStream) {
|
|
var _gthis = this;
|
|
if(this.__netStream != null) {
|
|
this.__netStream.__video.removeEventListener("canplay",$bind(this,this.__onCanPlay),false);
|
|
}
|
|
this.__cacheTime = -1;
|
|
this.__netStream = netStream;
|
|
if(this.__netStream != null) {
|
|
if(this.__netStream.__video.readyState >= 2) {
|
|
haxe_Timer.delay(function() {
|
|
_gthis.__textureReady();
|
|
},0);
|
|
} else {
|
|
this.__netStream.__video.addEventListener("canplay",$bind(this,this.__onCanPlay),false);
|
|
}
|
|
}
|
|
}
|
|
,dispose: function() {
|
|
if(this.__netStream != null && this.__netStream.__video != null) {
|
|
this.__netStream.__video.removeEventListener("timeupdate",$bind(this,this.__onTimeUpdate));
|
|
}
|
|
openfl_display3D_textures_TextureBase.prototype.dispose.call(this);
|
|
}
|
|
,__onCanPlay: function(_) {
|
|
this.__netStream.__video.addEventListener("timeupdate",$bind(this,this.__onTimeUpdate));
|
|
this.__textureReady();
|
|
}
|
|
,__onTimeUpdate: function(_) {
|
|
if(this.__netStream != null && this.__netStream.__video.currentTime != this.__cacheTime && this.__netStream.__video.readyState >= 2) {
|
|
this.__textureReady();
|
|
}
|
|
}
|
|
,__getTexture: function() {
|
|
if(this.__netStream.__video.currentTime != this.__cacheTime && this.__netStream.__video.readyState >= 2) {
|
|
var gl = this.__context.gl;
|
|
this.__context.__bindGLTexture2D(this.__textureID);
|
|
lime_graphics_WebGLRenderContext.texImage2D(gl,gl.TEXTURE_2D,0,gl.RGBA,gl.RGBA,gl.UNSIGNED_BYTE,this.__netStream.__video);
|
|
this.__cacheTime = this.__netStream.__video.currentTime;
|
|
}
|
|
return this.__textureID;
|
|
}
|
|
,__textureReady: function() {
|
|
this.videoWidth = this.__netStream.__video.videoWidth;
|
|
this.videoHeight = this.__netStream.__video.videoHeight;
|
|
var event = null;
|
|
event = new openfl_events_Event("textureReady");
|
|
this.dispatchEvent(event);
|
|
}
|
|
,__class__: openfl_display3D_textures_VideoTexture
|
|
});
|
|
var openfl_errors_Error = function(message,id) {
|
|
if(id == null) {
|
|
id = 0;
|
|
}
|
|
if(message == null) {
|
|
message = "";
|
|
}
|
|
this.message = message;
|
|
this.errorID = id;
|
|
this.name = "Error";
|
|
};
|
|
$hxClasses["openfl.errors.Error"] = openfl_errors_Error;
|
|
openfl_errors_Error.__name__ = "openfl.errors.Error";
|
|
openfl_errors_Error.prototype = {
|
|
errorID: null
|
|
,message: null
|
|
,name: null
|
|
,getStackTrace: function() {
|
|
return haxe_CallStack.toString(haxe_CallStack.exceptionStack());
|
|
}
|
|
,toString: function() {
|
|
if(this.message != null) {
|
|
return this.message;
|
|
} else {
|
|
return "Error";
|
|
}
|
|
}
|
|
,__class__: openfl_errors_Error
|
|
};
|
|
var openfl_errors_ArgumentError = function(message) {
|
|
if(message == null) {
|
|
message = "";
|
|
}
|
|
openfl_errors_Error.call(this,message);
|
|
this.name = "ArgumentError";
|
|
};
|
|
$hxClasses["openfl.errors.ArgumentError"] = openfl_errors_ArgumentError;
|
|
openfl_errors_ArgumentError.__name__ = "openfl.errors.ArgumentError";
|
|
openfl_errors_ArgumentError.__super__ = openfl_errors_Error;
|
|
openfl_errors_ArgumentError.prototype = $extend(openfl_errors_Error.prototype,{
|
|
__class__: openfl_errors_ArgumentError
|
|
});
|
|
var openfl_errors_IOError = function(message) {
|
|
if(message == null) {
|
|
message = "";
|
|
}
|
|
openfl_errors_Error.call(this,message);
|
|
this.name = "IOError";
|
|
};
|
|
$hxClasses["openfl.errors.IOError"] = openfl_errors_IOError;
|
|
openfl_errors_IOError.__name__ = "openfl.errors.IOError";
|
|
openfl_errors_IOError.__super__ = openfl_errors_Error;
|
|
openfl_errors_IOError.prototype = $extend(openfl_errors_Error.prototype,{
|
|
__class__: openfl_errors_IOError
|
|
});
|
|
var openfl_errors_EOFError = function(message,id) {
|
|
if(id == null) {
|
|
id = 0;
|
|
}
|
|
openfl_errors_IOError.call(this,"End of file was encountered");
|
|
this.name = "EOFError";
|
|
this.errorID = 2030;
|
|
};
|
|
$hxClasses["openfl.errors.EOFError"] = openfl_errors_EOFError;
|
|
openfl_errors_EOFError.__name__ = "openfl.errors.EOFError";
|
|
openfl_errors_EOFError.__super__ = openfl_errors_IOError;
|
|
openfl_errors_EOFError.prototype = $extend(openfl_errors_IOError.prototype,{
|
|
__class__: openfl_errors_EOFError
|
|
});
|
|
var openfl_errors_IllegalOperationError = function(message) {
|
|
if(message == null) {
|
|
message = "";
|
|
}
|
|
openfl_errors_Error.call(this,message,0);
|
|
this.name = "IllegalOperationError";
|
|
};
|
|
$hxClasses["openfl.errors.IllegalOperationError"] = openfl_errors_IllegalOperationError;
|
|
openfl_errors_IllegalOperationError.__name__ = "openfl.errors.IllegalOperationError";
|
|
openfl_errors_IllegalOperationError.__super__ = openfl_errors_Error;
|
|
openfl_errors_IllegalOperationError.prototype = $extend(openfl_errors_Error.prototype,{
|
|
__class__: openfl_errors_IllegalOperationError
|
|
});
|
|
var openfl_errors_RangeError = function(message) {
|
|
if(message == null) {
|
|
message = "";
|
|
}
|
|
openfl_errors_Error.call(this,message,0);
|
|
this.name = "RangeError";
|
|
};
|
|
$hxClasses["openfl.errors.RangeError"] = openfl_errors_RangeError;
|
|
openfl_errors_RangeError.__name__ = "openfl.errors.RangeError";
|
|
openfl_errors_RangeError.__super__ = openfl_errors_Error;
|
|
openfl_errors_RangeError.prototype = $extend(openfl_errors_Error.prototype,{
|
|
__class__: openfl_errors_RangeError
|
|
});
|
|
var openfl_errors_TypeError = function(message) {
|
|
if(message == null) {
|
|
message = "";
|
|
}
|
|
openfl_errors_Error.call(this,message,0);
|
|
this.name = "TypeError";
|
|
};
|
|
$hxClasses["openfl.errors.TypeError"] = openfl_errors_TypeError;
|
|
openfl_errors_TypeError.__name__ = "openfl.errors.TypeError";
|
|
openfl_errors_TypeError.__super__ = openfl_errors_Error;
|
|
openfl_errors_TypeError.prototype = $extend(openfl_errors_Error.prototype,{
|
|
__class__: openfl_errors_TypeError
|
|
});
|
|
var openfl_events_Event = function(type,bubbles,cancelable) {
|
|
if(cancelable == null) {
|
|
cancelable = false;
|
|
}
|
|
if(bubbles == null) {
|
|
bubbles = false;
|
|
}
|
|
this.type = type;
|
|
this.bubbles = bubbles;
|
|
this.cancelable = cancelable;
|
|
this.eventPhase = 2;
|
|
};
|
|
$hxClasses["openfl.events.Event"] = openfl_events_Event;
|
|
openfl_events_Event.__name__ = "openfl.events.Event";
|
|
openfl_events_Event.prototype = {
|
|
bubbles: null
|
|
,cancelable: null
|
|
,currentTarget: null
|
|
,eventPhase: null
|
|
,target: null
|
|
,type: null
|
|
,__isCanceled: null
|
|
,__isCanceledNow: null
|
|
,__preventDefault: null
|
|
,clone: function() {
|
|
var event = new openfl_events_Event(this.type,this.bubbles,this.cancelable);
|
|
event.eventPhase = this.eventPhase;
|
|
event.target = this.target;
|
|
event.currentTarget = this.currentTarget;
|
|
return event;
|
|
}
|
|
,formatToString: function(className,p1,p2,p3,p4,p5) {
|
|
var parameters = [];
|
|
if(p1 != null) {
|
|
parameters.push(p1);
|
|
}
|
|
if(p2 != null) {
|
|
parameters.push(p2);
|
|
}
|
|
if(p3 != null) {
|
|
parameters.push(p3);
|
|
}
|
|
if(p4 != null) {
|
|
parameters.push(p4);
|
|
}
|
|
if(p5 != null) {
|
|
parameters.push(p5);
|
|
}
|
|
return $bind(this,this.__formatToString).apply(this,[className,parameters]);
|
|
}
|
|
,isDefaultPrevented: function() {
|
|
return this.__preventDefault;
|
|
}
|
|
,preventDefault: function() {
|
|
if(this.cancelable) {
|
|
this.__preventDefault = true;
|
|
}
|
|
}
|
|
,stopImmediatePropagation: function() {
|
|
this.__isCanceled = true;
|
|
this.__isCanceledNow = true;
|
|
}
|
|
,stopPropagation: function() {
|
|
this.__isCanceled = true;
|
|
}
|
|
,toString: function() {
|
|
return this.__formatToString("Event",["type","bubbles","cancelable"]);
|
|
}
|
|
,__formatToString: function(className,parameters) {
|
|
var output = "[" + className;
|
|
var arg = null;
|
|
var _g = 0;
|
|
while(_g < parameters.length) {
|
|
var param = parameters[_g];
|
|
++_g;
|
|
arg = Reflect.field(this,param);
|
|
if(typeof(arg) == "string") {
|
|
output += " " + param + "=\"" + Std.string(arg) + "\"";
|
|
} else {
|
|
output += " " + param + "=" + Std.string(arg);
|
|
}
|
|
}
|
|
output += "]";
|
|
return output;
|
|
}
|
|
,__init: function() {
|
|
this.target = null;
|
|
this.currentTarget = null;
|
|
this.bubbles = false;
|
|
this.cancelable = false;
|
|
this.eventPhase = 2;
|
|
this.__isCanceled = false;
|
|
this.__isCanceledNow = false;
|
|
this.__preventDefault = false;
|
|
}
|
|
,__class__: openfl_events_Event
|
|
};
|
|
var openfl_events_AccelerometerEvent = function(type,bubbles,cancelable,timestamp,accelerationX,accelerationY,accelerationZ) {
|
|
if(accelerationZ == null) {
|
|
accelerationZ = 0;
|
|
}
|
|
if(accelerationY == null) {
|
|
accelerationY = 0;
|
|
}
|
|
if(accelerationX == null) {
|
|
accelerationX = 0;
|
|
}
|
|
if(timestamp == null) {
|
|
timestamp = 0;
|
|
}
|
|
if(cancelable == null) {
|
|
cancelable = false;
|
|
}
|
|
if(bubbles == null) {
|
|
bubbles = false;
|
|
}
|
|
openfl_events_Event.call(this,type,bubbles,cancelable);
|
|
this.timestamp = timestamp;
|
|
this.accelerationX = accelerationX;
|
|
this.accelerationY = accelerationY;
|
|
this.accelerationZ = accelerationZ;
|
|
};
|
|
$hxClasses["openfl.events.AccelerometerEvent"] = openfl_events_AccelerometerEvent;
|
|
openfl_events_AccelerometerEvent.__name__ = "openfl.events.AccelerometerEvent";
|
|
openfl_events_AccelerometerEvent.__super__ = openfl_events_Event;
|
|
openfl_events_AccelerometerEvent.prototype = $extend(openfl_events_Event.prototype,{
|
|
accelerationX: null
|
|
,accelerationY: null
|
|
,accelerationZ: null
|
|
,timestamp: null
|
|
,clone: function() {
|
|
var event = new openfl_events_AccelerometerEvent(this.type,this.bubbles,this.cancelable,this.timestamp,this.accelerationX,this.accelerationY,this.accelerationZ);
|
|
event.target = this.target;
|
|
event.currentTarget = this.currentTarget;
|
|
event.eventPhase = this.eventPhase;
|
|
return event;
|
|
}
|
|
,toString: function() {
|
|
return this.__formatToString("AccelerometerEvent",["type","bubbles","cancelable","timestamp","accelerationX","accelerationY","accelerationZ"]);
|
|
}
|
|
,__init: function() {
|
|
openfl_events_Event.prototype.__init.call(this);
|
|
this.timestamp = 0;
|
|
this.accelerationX = 0;
|
|
this.accelerationY = 0;
|
|
this.accelerationZ = 0;
|
|
}
|
|
,__class__: openfl_events_AccelerometerEvent
|
|
});
|
|
var openfl_events_ActivityEvent = function(type,bubbles,cancelable,activating) {
|
|
if(activating == null) {
|
|
activating = false;
|
|
}
|
|
if(cancelable == null) {
|
|
cancelable = false;
|
|
}
|
|
if(bubbles == null) {
|
|
bubbles = false;
|
|
}
|
|
openfl_events_Event.call(this,type,bubbles,cancelable);
|
|
this.activating = activating;
|
|
};
|
|
$hxClasses["openfl.events.ActivityEvent"] = openfl_events_ActivityEvent;
|
|
openfl_events_ActivityEvent.__name__ = "openfl.events.ActivityEvent";
|
|
openfl_events_ActivityEvent.__super__ = openfl_events_Event;
|
|
openfl_events_ActivityEvent.prototype = $extend(openfl_events_Event.prototype,{
|
|
activating: null
|
|
,clone: function() {
|
|
var event = new openfl_events_ActivityEvent(this.type,this.bubbles,this.cancelable,this.activating);
|
|
event.target = this.target;
|
|
event.currentTarget = this.currentTarget;
|
|
event.eventPhase = this.eventPhase;
|
|
return event;
|
|
}
|
|
,toString: function() {
|
|
return this.__formatToString("ActivityEvent",["type","bubbles","cancelable","activating"]);
|
|
}
|
|
,__init: function() {
|
|
openfl_events_Event.prototype.__init.call(this);
|
|
this.activating = false;
|
|
}
|
|
,__class__: openfl_events_ActivityEvent
|
|
});
|
|
var openfl_events_TextEvent = function(type,bubbles,cancelable,text) {
|
|
if(text == null) {
|
|
text = "";
|
|
}
|
|
if(cancelable == null) {
|
|
cancelable = false;
|
|
}
|
|
if(bubbles == null) {
|
|
bubbles = false;
|
|
}
|
|
openfl_events_Event.call(this,type,bubbles,cancelable);
|
|
this.text = text;
|
|
};
|
|
$hxClasses["openfl.events.TextEvent"] = openfl_events_TextEvent;
|
|
openfl_events_TextEvent.__name__ = "openfl.events.TextEvent";
|
|
openfl_events_TextEvent.__super__ = openfl_events_Event;
|
|
openfl_events_TextEvent.prototype = $extend(openfl_events_Event.prototype,{
|
|
text: null
|
|
,clone: function() {
|
|
var event = new openfl_events_TextEvent(this.type,this.bubbles,this.cancelable,this.text);
|
|
event.target = this.target;
|
|
event.currentTarget = this.currentTarget;
|
|
event.eventPhase = this.eventPhase;
|
|
return event;
|
|
}
|
|
,toString: function() {
|
|
return this.__formatToString("TextEvent",["type","bubbles","cancelable","text"]);
|
|
}
|
|
,__init: function() {
|
|
openfl_events_Event.prototype.__init.call(this);
|
|
this.text = "";
|
|
}
|
|
,__class__: openfl_events_TextEvent
|
|
});
|
|
var openfl_events_ErrorEvent = function(type,bubbles,cancelable,text,id) {
|
|
if(id == null) {
|
|
id = 0;
|
|
}
|
|
if(text == null) {
|
|
text = "";
|
|
}
|
|
if(cancelable == null) {
|
|
cancelable = false;
|
|
}
|
|
if(bubbles == null) {
|
|
bubbles = false;
|
|
}
|
|
openfl_events_TextEvent.call(this,type,bubbles,cancelable,text);
|
|
this.errorID = id;
|
|
};
|
|
$hxClasses["openfl.events.ErrorEvent"] = openfl_events_ErrorEvent;
|
|
openfl_events_ErrorEvent.__name__ = "openfl.events.ErrorEvent";
|
|
openfl_events_ErrorEvent.__super__ = openfl_events_TextEvent;
|
|
openfl_events_ErrorEvent.prototype = $extend(openfl_events_TextEvent.prototype,{
|
|
errorID: null
|
|
,clone: function() {
|
|
var event = new openfl_events_ErrorEvent(this.type,this.bubbles,this.cancelable,this.text,this.errorID);
|
|
event.target = this.target;
|
|
event.currentTarget = this.currentTarget;
|
|
event.eventPhase = this.eventPhase;
|
|
return event;
|
|
}
|
|
,toString: function() {
|
|
return this.__formatToString("ErrorEvent",["type","bubbles","cancelable","text","errorID"]);
|
|
}
|
|
,__init: function() {
|
|
openfl_events_TextEvent.prototype.__init.call(this);
|
|
this.errorID = 0;
|
|
}
|
|
,__class__: openfl_events_ErrorEvent
|
|
});
|
|
var openfl_events__$EventDispatcher_DispatchIterator = function(list) {
|
|
this.active = false;
|
|
this.reset(list);
|
|
};
|
|
$hxClasses["openfl.events._EventDispatcher.DispatchIterator"] = openfl_events__$EventDispatcher_DispatchIterator;
|
|
openfl_events__$EventDispatcher_DispatchIterator.__name__ = "openfl.events._EventDispatcher.DispatchIterator";
|
|
openfl_events__$EventDispatcher_DispatchIterator.prototype = {
|
|
active: null
|
|
,index: null
|
|
,isCopy: null
|
|
,list: null
|
|
,copy: function() {
|
|
if(!this.isCopy) {
|
|
this.list = this.list.slice();
|
|
this.isCopy = true;
|
|
}
|
|
}
|
|
,hasNext: function() {
|
|
return this.index < this.list.length;
|
|
}
|
|
,next: function() {
|
|
return this.list[this.index++];
|
|
}
|
|
,remove: function(listener,listIndex) {
|
|
if(this.active) {
|
|
if(!this.isCopy) {
|
|
if(listIndex < this.index) {
|
|
this.index--;
|
|
}
|
|
} else {
|
|
var _g = this.index;
|
|
var _g1 = this.list.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(this.list[i] == listener) {
|
|
this.list.splice(i,1);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,reset: function(list) {
|
|
this.list = list;
|
|
this.isCopy = false;
|
|
this.index = 0;
|
|
}
|
|
,start: function() {
|
|
this.active = true;
|
|
}
|
|
,stop: function() {
|
|
this.active = false;
|
|
}
|
|
,__class__: openfl_events__$EventDispatcher_DispatchIterator
|
|
};
|
|
var openfl_events__$EventDispatcher_Listener = function(callback,useCapture,priority) {
|
|
this.callback = callback;
|
|
this.useCapture = useCapture;
|
|
this.priority = priority;
|
|
};
|
|
$hxClasses["openfl.events._EventDispatcher.Listener"] = openfl_events__$EventDispatcher_Listener;
|
|
openfl_events__$EventDispatcher_Listener.__name__ = "openfl.events._EventDispatcher.Listener";
|
|
openfl_events__$EventDispatcher_Listener.prototype = {
|
|
callback: null
|
|
,priority: null
|
|
,useCapture: null
|
|
,match: function(callback,useCapture) {
|
|
if(Reflect.compareMethods(this.callback,callback)) {
|
|
return this.useCapture == useCapture;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,__class__: openfl_events__$EventDispatcher_Listener
|
|
};
|
|
var openfl_events_EventType = {};
|
|
openfl_events_EventType.equals = function(a,b) {
|
|
return a == b;
|
|
};
|
|
openfl_events_EventType.notEquals = function(a,b) {
|
|
return a != b;
|
|
};
|
|
var openfl_events_FocusEvent = function(type,bubbles,cancelable,relatedObject,shiftKey,keyCode) {
|
|
if(keyCode == null) {
|
|
keyCode = 0;
|
|
}
|
|
if(shiftKey == null) {
|
|
shiftKey = false;
|
|
}
|
|
if(cancelable == null) {
|
|
cancelable = false;
|
|
}
|
|
if(bubbles == null) {
|
|
bubbles = false;
|
|
}
|
|
openfl_events_Event.call(this,type,bubbles,cancelable);
|
|
this.keyCode = keyCode;
|
|
this.shiftKey = shiftKey;
|
|
this.relatedObject = relatedObject;
|
|
};
|
|
$hxClasses["openfl.events.FocusEvent"] = openfl_events_FocusEvent;
|
|
openfl_events_FocusEvent.__name__ = "openfl.events.FocusEvent";
|
|
openfl_events_FocusEvent.__super__ = openfl_events_Event;
|
|
openfl_events_FocusEvent.prototype = $extend(openfl_events_Event.prototype,{
|
|
keyCode: null
|
|
,relatedObject: null
|
|
,shiftKey: null
|
|
,clone: function() {
|
|
var event = new openfl_events_FocusEvent(this.type,this.bubbles,this.cancelable,this.relatedObject,this.shiftKey,this.keyCode);
|
|
event.target = this.target;
|
|
event.currentTarget = this.currentTarget;
|
|
event.eventPhase = this.eventPhase;
|
|
return event;
|
|
}
|
|
,toString: function() {
|
|
return this.__formatToString("FocusEvent",["type","bubbles","cancelable","relatedObject","shiftKey","keyCode"]);
|
|
}
|
|
,__init: function() {
|
|
openfl_events_Event.prototype.__init.call(this);
|
|
this.keyCode = 0;
|
|
this.shiftKey = false;
|
|
this.relatedObject = null;
|
|
}
|
|
,__class__: openfl_events_FocusEvent
|
|
});
|
|
var openfl_events_FullScreenEvent = function(type,bubbles,cancelable,fullScreen,interactive) {
|
|
if(interactive == null) {
|
|
interactive = false;
|
|
}
|
|
if(fullScreen == null) {
|
|
fullScreen = false;
|
|
}
|
|
if(cancelable == null) {
|
|
cancelable = false;
|
|
}
|
|
if(bubbles == null) {
|
|
bubbles = false;
|
|
}
|
|
openfl_events_ActivityEvent.call(this,type,bubbles,cancelable);
|
|
this.fullScreen = fullScreen;
|
|
this.interactive = interactive;
|
|
};
|
|
$hxClasses["openfl.events.FullScreenEvent"] = openfl_events_FullScreenEvent;
|
|
openfl_events_FullScreenEvent.__name__ = "openfl.events.FullScreenEvent";
|
|
openfl_events_FullScreenEvent.__super__ = openfl_events_ActivityEvent;
|
|
openfl_events_FullScreenEvent.prototype = $extend(openfl_events_ActivityEvent.prototype,{
|
|
fullScreen: null
|
|
,interactive: null
|
|
,clone: function() {
|
|
var event = new openfl_events_FullScreenEvent(this.type,this.bubbles,this.cancelable,this.fullScreen,this.interactive);
|
|
event.target = this.target;
|
|
event.currentTarget = this.currentTarget;
|
|
event.eventPhase = this.eventPhase;
|
|
return event;
|
|
}
|
|
,toString: function() {
|
|
return this.__formatToString("FullscreenEvent",["type","bubbles","cancelable","fullscreen","interactive"]);
|
|
}
|
|
,__init: function() {
|
|
openfl_events_ActivityEvent.prototype.__init.call(this);
|
|
this.fullScreen = false;
|
|
this.interactive = false;
|
|
}
|
|
,__class__: openfl_events_FullScreenEvent
|
|
});
|
|
var openfl_events_GameInputEvent = function(type,bubbles,cancelable,device) {
|
|
if(cancelable == null) {
|
|
cancelable = false;
|
|
}
|
|
if(bubbles == null) {
|
|
bubbles = true;
|
|
}
|
|
openfl_events_Event.call(this,type,bubbles,cancelable);
|
|
this.device = device;
|
|
};
|
|
$hxClasses["openfl.events.GameInputEvent"] = openfl_events_GameInputEvent;
|
|
openfl_events_GameInputEvent.__name__ = "openfl.events.GameInputEvent";
|
|
openfl_events_GameInputEvent.__super__ = openfl_events_Event;
|
|
openfl_events_GameInputEvent.prototype = $extend(openfl_events_Event.prototype,{
|
|
device: null
|
|
,clone: function() {
|
|
var event = new openfl_events_GameInputEvent(this.type,this.bubbles,this.cancelable,this.device);
|
|
event.target = this.target;
|
|
event.currentTarget = this.currentTarget;
|
|
event.eventPhase = this.eventPhase;
|
|
return event;
|
|
}
|
|
,toString: function() {
|
|
return this.__formatToString("GameInputEvent",["type","bubbles","cancelable","device"]);
|
|
}
|
|
,__init: function() {
|
|
openfl_events_Event.prototype.__init.call(this);
|
|
this.device = null;
|
|
}
|
|
,__class__: openfl_events_GameInputEvent
|
|
});
|
|
var openfl_events_HTTPStatusEvent = function(type,bubbles,cancelable,status,redirected) {
|
|
if(redirected == null) {
|
|
redirected = false;
|
|
}
|
|
if(status == null) {
|
|
status = 0;
|
|
}
|
|
if(cancelable == null) {
|
|
cancelable = false;
|
|
}
|
|
if(bubbles == null) {
|
|
bubbles = false;
|
|
}
|
|
this.status = status;
|
|
this.redirected = redirected;
|
|
openfl_events_Event.call(this,type,bubbles,cancelable);
|
|
};
|
|
$hxClasses["openfl.events.HTTPStatusEvent"] = openfl_events_HTTPStatusEvent;
|
|
openfl_events_HTTPStatusEvent.__name__ = "openfl.events.HTTPStatusEvent";
|
|
openfl_events_HTTPStatusEvent.__super__ = openfl_events_Event;
|
|
openfl_events_HTTPStatusEvent.prototype = $extend(openfl_events_Event.prototype,{
|
|
redirected: null
|
|
,responseHeaders: null
|
|
,responseURL: null
|
|
,status: null
|
|
,clone: function() {
|
|
var event = new openfl_events_HTTPStatusEvent(this.type,this.bubbles,this.cancelable,this.status,this.redirected);
|
|
event.target = this.target;
|
|
event.currentTarget = this.currentTarget;
|
|
event.eventPhase = this.eventPhase;
|
|
return event;
|
|
}
|
|
,toString: function() {
|
|
return this.__formatToString("HTTPStatusEvent",["type","bubbles","cancelable","status","redirected"]);
|
|
}
|
|
,__init: function() {
|
|
openfl_events_Event.prototype.__init.call(this);
|
|
this.status = 0;
|
|
this.redirected = false;
|
|
}
|
|
,__class__: openfl_events_HTTPStatusEvent
|
|
});
|
|
var openfl_events_IOErrorEvent = function(type,bubbles,cancelable,text,id) {
|
|
if(id == null) {
|
|
id = 0;
|
|
}
|
|
if(text == null) {
|
|
text = "";
|
|
}
|
|
if(cancelable == null) {
|
|
cancelable = false;
|
|
}
|
|
if(bubbles == null) {
|
|
bubbles = true;
|
|
}
|
|
openfl_events_ErrorEvent.call(this,type,bubbles,cancelable,text,id);
|
|
};
|
|
$hxClasses["openfl.events.IOErrorEvent"] = openfl_events_IOErrorEvent;
|
|
openfl_events_IOErrorEvent.__name__ = "openfl.events.IOErrorEvent";
|
|
openfl_events_IOErrorEvent.__super__ = openfl_events_ErrorEvent;
|
|
openfl_events_IOErrorEvent.prototype = $extend(openfl_events_ErrorEvent.prototype,{
|
|
clone: function() {
|
|
var event = new openfl_events_IOErrorEvent(this.type,this.bubbles,this.cancelable,this.text,this.errorID);
|
|
event.target = this.target;
|
|
event.currentTarget = this.currentTarget;
|
|
event.eventPhase = this.eventPhase;
|
|
return event;
|
|
}
|
|
,toString: function() {
|
|
return this.__formatToString("IOErrorEvent",["type","bubbles","cancelable","text","errorID"]);
|
|
}
|
|
,__class__: openfl_events_IOErrorEvent
|
|
});
|
|
var openfl_events_KeyboardEvent = function(type,bubbles,cancelable,charCodeValue,keyCodeValue,keyLocationValue,ctrlKeyValue,altKeyValue,shiftKeyValue,controlKeyValue,commandKeyValue) {
|
|
if(commandKeyValue == null) {
|
|
commandKeyValue = false;
|
|
}
|
|
if(controlKeyValue == null) {
|
|
controlKeyValue = false;
|
|
}
|
|
if(shiftKeyValue == null) {
|
|
shiftKeyValue = false;
|
|
}
|
|
if(altKeyValue == null) {
|
|
altKeyValue = false;
|
|
}
|
|
if(ctrlKeyValue == null) {
|
|
ctrlKeyValue = false;
|
|
}
|
|
if(keyCodeValue == null) {
|
|
keyCodeValue = 0;
|
|
}
|
|
if(charCodeValue == null) {
|
|
charCodeValue = 0;
|
|
}
|
|
if(cancelable == null) {
|
|
cancelable = false;
|
|
}
|
|
if(bubbles == null) {
|
|
bubbles = false;
|
|
}
|
|
openfl_events_Event.call(this,type,bubbles,cancelable);
|
|
this.charCode = charCodeValue;
|
|
this.keyCode = keyCodeValue;
|
|
this.keyLocation = keyLocationValue != null ? keyLocationValue : 0;
|
|
this.ctrlKey = ctrlKeyValue;
|
|
this.altKey = altKeyValue;
|
|
this.shiftKey = shiftKeyValue;
|
|
this.controlKey = controlKeyValue;
|
|
this.commandKey = commandKeyValue;
|
|
};
|
|
$hxClasses["openfl.events.KeyboardEvent"] = openfl_events_KeyboardEvent;
|
|
openfl_events_KeyboardEvent.__name__ = "openfl.events.KeyboardEvent";
|
|
openfl_events_KeyboardEvent.__super__ = openfl_events_Event;
|
|
openfl_events_KeyboardEvent.prototype = $extend(openfl_events_Event.prototype,{
|
|
altKey: null
|
|
,charCode: null
|
|
,commandKey: null
|
|
,controlKey: null
|
|
,ctrlKey: null
|
|
,keyCode: null
|
|
,keyLocation: null
|
|
,shiftKey: null
|
|
,clone: function() {
|
|
var event = new openfl_events_KeyboardEvent(this.type,this.bubbles,this.cancelable,this.charCode,this.keyCode,this.keyLocation,this.ctrlKey,this.altKey,this.shiftKey,this.controlKey,this.commandKey);
|
|
event.target = this.target;
|
|
event.currentTarget = this.currentTarget;
|
|
event.eventPhase = this.eventPhase;
|
|
return event;
|
|
}
|
|
,toString: function() {
|
|
return this.__formatToString("KeyboardEvent",["type","bubbles","cancelable","charCode","keyCode","keyLocation","ctrlKey","altKey","shiftKey"]);
|
|
}
|
|
,__init: function() {
|
|
openfl_events_Event.prototype.__init.call(this);
|
|
this.charCode = 0;
|
|
this.keyCode = 0;
|
|
this.keyLocation = 0;
|
|
this.ctrlKey = false;
|
|
this.altKey = false;
|
|
this.shiftKey = false;
|
|
this.controlKey = false;
|
|
this.commandKey = false;
|
|
}
|
|
,__class__: openfl_events_KeyboardEvent
|
|
});
|
|
var openfl_events_MouseEvent = function(type,bubbles,cancelable,localX,localY,relatedObject,ctrlKey,altKey,shiftKey,buttonDown,delta,commandKey,clickCount) {
|
|
if(clickCount == null) {
|
|
clickCount = 0;
|
|
}
|
|
if(commandKey == null) {
|
|
commandKey = false;
|
|
}
|
|
if(delta == null) {
|
|
delta = 0;
|
|
}
|
|
if(buttonDown == null) {
|
|
buttonDown = false;
|
|
}
|
|
if(shiftKey == null) {
|
|
shiftKey = false;
|
|
}
|
|
if(altKey == null) {
|
|
altKey = false;
|
|
}
|
|
if(ctrlKey == null) {
|
|
ctrlKey = false;
|
|
}
|
|
if(localY == null) {
|
|
localY = 0;
|
|
}
|
|
if(localX == null) {
|
|
localX = 0;
|
|
}
|
|
if(cancelable == null) {
|
|
cancelable = false;
|
|
}
|
|
if(bubbles == null) {
|
|
bubbles = true;
|
|
}
|
|
openfl_events_Event.call(this,type,bubbles,cancelable);
|
|
this.shiftKey = shiftKey;
|
|
this.altKey = altKey;
|
|
this.ctrlKey = ctrlKey;
|
|
this.bubbles = bubbles;
|
|
this.relatedObject = relatedObject;
|
|
this.delta = delta;
|
|
this.localX = localX;
|
|
this.localY = localY;
|
|
this.buttonDown = buttonDown;
|
|
this.commandKey = commandKey;
|
|
this.clickCount = clickCount;
|
|
this.isRelatedObjectInaccessible = false;
|
|
this.stageX = NaN;
|
|
this.stageY = NaN;
|
|
};
|
|
$hxClasses["openfl.events.MouseEvent"] = openfl_events_MouseEvent;
|
|
openfl_events_MouseEvent.__name__ = "openfl.events.MouseEvent";
|
|
openfl_events_MouseEvent.__altKey = null;
|
|
openfl_events_MouseEvent.__buttonDown = null;
|
|
openfl_events_MouseEvent.__commandKey = null;
|
|
openfl_events_MouseEvent.__ctrlKey = null;
|
|
openfl_events_MouseEvent.__shiftKey = null;
|
|
openfl_events_MouseEvent.__create = function(type,button,stageX,stageY,local,target,delta) {
|
|
if(delta == null) {
|
|
delta = 0;
|
|
}
|
|
var event = new openfl_events_MouseEvent(type,true,false,local.x,local.y,null,openfl_events_MouseEvent.__ctrlKey,openfl_events_MouseEvent.__altKey,openfl_events_MouseEvent.__shiftKey,openfl_events_MouseEvent.__buttonDown,delta,openfl_events_MouseEvent.__commandKey);
|
|
event.stageX = stageX;
|
|
event.stageY = stageY;
|
|
event.target = target;
|
|
return event;
|
|
};
|
|
openfl_events_MouseEvent.__super__ = openfl_events_Event;
|
|
openfl_events_MouseEvent.prototype = $extend(openfl_events_Event.prototype,{
|
|
altKey: null
|
|
,buttonDown: null
|
|
,commandKey: null
|
|
,clickCount: null
|
|
,ctrlKey: null
|
|
,delta: null
|
|
,isRelatedObjectInaccessible: null
|
|
,localX: null
|
|
,localY: null
|
|
,relatedObject: null
|
|
,shiftKey: null
|
|
,stageX: null
|
|
,stageY: null
|
|
,clone: function() {
|
|
var event = new openfl_events_MouseEvent(this.type,this.bubbles,this.cancelable,this.localX,this.localY,this.relatedObject,this.ctrlKey,this.altKey,this.shiftKey,this.buttonDown,this.delta,this.commandKey,this.clickCount);
|
|
event.target = this.target;
|
|
event.currentTarget = this.currentTarget;
|
|
event.eventPhase = this.eventPhase;
|
|
return event;
|
|
}
|
|
,toString: function() {
|
|
return this.__formatToString("MouseEvent",["type","bubbles","cancelable","localX","localY","relatedObject","ctrlKey","altKey","shiftKey","buttonDown","delta"]);
|
|
}
|
|
,updateAfterEvent: function() {
|
|
}
|
|
,__init: function() {
|
|
openfl_events_Event.prototype.__init.call(this);
|
|
this.shiftKey = false;
|
|
this.altKey = false;
|
|
this.ctrlKey = false;
|
|
this.bubbles = false;
|
|
this.relatedObject = null;
|
|
this.delta = 0;
|
|
this.localX = 0;
|
|
this.localY = 0;
|
|
this.buttonDown = false;
|
|
this.commandKey = false;
|
|
this.clickCount = 0;
|
|
this.isRelatedObjectInaccessible = false;
|
|
this.stageX = NaN;
|
|
this.stageY = NaN;
|
|
}
|
|
,__class__: openfl_events_MouseEvent
|
|
});
|
|
var openfl_events_NetStatusEvent = function(type,bubbles,cancelable,info) {
|
|
if(cancelable == null) {
|
|
cancelable = false;
|
|
}
|
|
if(bubbles == null) {
|
|
bubbles = false;
|
|
}
|
|
this.info = info;
|
|
openfl_events_Event.call(this,type,bubbles,cancelable);
|
|
};
|
|
$hxClasses["openfl.events.NetStatusEvent"] = openfl_events_NetStatusEvent;
|
|
openfl_events_NetStatusEvent.__name__ = "openfl.events.NetStatusEvent";
|
|
openfl_events_NetStatusEvent.__super__ = openfl_events_Event;
|
|
openfl_events_NetStatusEvent.prototype = $extend(openfl_events_Event.prototype,{
|
|
info: null
|
|
,clone: function() {
|
|
var event = new openfl_events_NetStatusEvent(this.type,this.bubbles,this.cancelable,this.info);
|
|
event.target = this.target;
|
|
event.currentTarget = this.currentTarget;
|
|
event.eventPhase = this.eventPhase;
|
|
return event;
|
|
}
|
|
,toString: function() {
|
|
return this.__formatToString("NetStatusEvent",["type","bubbles","cancelable","info"]);
|
|
}
|
|
,__init: function() {
|
|
openfl_events_Event.prototype.__init.call(this);
|
|
this.info = null;
|
|
}
|
|
,__class__: openfl_events_NetStatusEvent
|
|
});
|
|
var openfl_events_ProgressEvent = function(type,bubbles,cancelable,bytesLoaded,bytesTotal) {
|
|
if(bytesTotal == null) {
|
|
bytesTotal = 0;
|
|
}
|
|
if(bytesLoaded == null) {
|
|
bytesLoaded = 0;
|
|
}
|
|
if(cancelable == null) {
|
|
cancelable = false;
|
|
}
|
|
if(bubbles == null) {
|
|
bubbles = false;
|
|
}
|
|
openfl_events_Event.call(this,type,bubbles,cancelable);
|
|
this.bytesLoaded = bytesLoaded;
|
|
this.bytesTotal = bytesTotal;
|
|
};
|
|
$hxClasses["openfl.events.ProgressEvent"] = openfl_events_ProgressEvent;
|
|
openfl_events_ProgressEvent.__name__ = "openfl.events.ProgressEvent";
|
|
openfl_events_ProgressEvent.__super__ = openfl_events_Event;
|
|
openfl_events_ProgressEvent.prototype = $extend(openfl_events_Event.prototype,{
|
|
bytesLoaded: null
|
|
,bytesTotal: null
|
|
,clone: function() {
|
|
var event = new openfl_events_ProgressEvent(this.type,this.bubbles,this.cancelable,this.bytesLoaded,this.bytesTotal);
|
|
event.target = this.target;
|
|
event.currentTarget = this.currentTarget;
|
|
event.eventPhase = this.eventPhase;
|
|
return event;
|
|
}
|
|
,toString: function() {
|
|
return this.__formatToString("ProgressEvent",["type","bubbles","cancelable","bytesLoaded","bytesTotal"]);
|
|
}
|
|
,__init: function() {
|
|
openfl_events_Event.prototype.__init.call(this);
|
|
this.bytesLoaded = 0;
|
|
this.bytesTotal = 0;
|
|
}
|
|
,__class__: openfl_events_ProgressEvent
|
|
});
|
|
var openfl_events_RenderEvent = function(type,bubbles,cancelable,objectMatrix,objectColorTransform,allowSmoothing) {
|
|
if(allowSmoothing == null) {
|
|
allowSmoothing = true;
|
|
}
|
|
if(cancelable == null) {
|
|
cancelable = false;
|
|
}
|
|
if(bubbles == null) {
|
|
bubbles = false;
|
|
}
|
|
openfl_events_Event.call(this,type,bubbles,cancelable);
|
|
this.objectMatrix = objectMatrix;
|
|
this.objectColorTransform = objectColorTransform;
|
|
this.allowSmoothing = allowSmoothing;
|
|
};
|
|
$hxClasses["openfl.events.RenderEvent"] = openfl_events_RenderEvent;
|
|
openfl_events_RenderEvent.__name__ = "openfl.events.RenderEvent";
|
|
openfl_events_RenderEvent.__super__ = openfl_events_Event;
|
|
openfl_events_RenderEvent.prototype = $extend(openfl_events_Event.prototype,{
|
|
allowSmoothing: null
|
|
,objectColorTransform: null
|
|
,objectMatrix: null
|
|
,renderer: null
|
|
,clone: function() {
|
|
var event = new openfl_events_RenderEvent(this.type,this.bubbles,this.cancelable,this.objectMatrix.clone(),this.objectColorTransform.__clone(),this.allowSmoothing);
|
|
event.target = this.target;
|
|
event.currentTarget = this.currentTarget;
|
|
event.eventPhase = this.eventPhase;
|
|
return event;
|
|
}
|
|
,toString: function() {
|
|
return this.__formatToString("RenderEvent",["type","bubbles","cancelable"]);
|
|
}
|
|
,__init: function() {
|
|
openfl_events_Event.prototype.__init.call(this);
|
|
this.objectMatrix = null;
|
|
this.objectColorTransform = null;
|
|
this.allowSmoothing = false;
|
|
this.renderer = null;
|
|
}
|
|
,__class__: openfl_events_RenderEvent
|
|
});
|
|
var openfl_events_SecurityErrorEvent = function(type,bubbles,cancelable,text,id) {
|
|
if(id == null) {
|
|
id = 0;
|
|
}
|
|
if(text == null) {
|
|
text = "";
|
|
}
|
|
if(cancelable == null) {
|
|
cancelable = false;
|
|
}
|
|
if(bubbles == null) {
|
|
bubbles = false;
|
|
}
|
|
openfl_events_ErrorEvent.call(this,type,bubbles,cancelable,text,id);
|
|
};
|
|
$hxClasses["openfl.events.SecurityErrorEvent"] = openfl_events_SecurityErrorEvent;
|
|
openfl_events_SecurityErrorEvent.__name__ = "openfl.events.SecurityErrorEvent";
|
|
openfl_events_SecurityErrorEvent.__super__ = openfl_events_ErrorEvent;
|
|
openfl_events_SecurityErrorEvent.prototype = $extend(openfl_events_ErrorEvent.prototype,{
|
|
clone: function() {
|
|
var event = new openfl_events_SecurityErrorEvent(this.type,this.bubbles,this.cancelable,this.text,this.errorID);
|
|
event.target = this.target;
|
|
event.currentTarget = this.currentTarget;
|
|
event.eventPhase = this.eventPhase;
|
|
return event;
|
|
}
|
|
,toString: function() {
|
|
return this.__formatToString("SecurityErrorEvent",["type","bubbles","cancelable","text","errorID"]);
|
|
}
|
|
,__class__: openfl_events_SecurityErrorEvent
|
|
});
|
|
var openfl_events_TouchEvent = function(type,bubbles,cancelable,touchPointID,isPrimaryTouchPoint,localX,localY,sizeX,sizeY,pressure,relatedObject,ctrlKey,altKey,shiftKey,commandKey,controlKey,timestamp,touchIntent,samples,isTouchPointCanceled) {
|
|
if(isTouchPointCanceled == null) {
|
|
isTouchPointCanceled = false;
|
|
}
|
|
if(timestamp == null) {
|
|
timestamp = 0;
|
|
}
|
|
if(controlKey == null) {
|
|
controlKey = false;
|
|
}
|
|
if(commandKey == null) {
|
|
commandKey = false;
|
|
}
|
|
if(shiftKey == null) {
|
|
shiftKey = false;
|
|
}
|
|
if(altKey == null) {
|
|
altKey = false;
|
|
}
|
|
if(ctrlKey == null) {
|
|
ctrlKey = false;
|
|
}
|
|
if(pressure == null) {
|
|
pressure = 0;
|
|
}
|
|
if(sizeY == null) {
|
|
sizeY = 0;
|
|
}
|
|
if(sizeX == null) {
|
|
sizeX = 0;
|
|
}
|
|
if(localY == null) {
|
|
localY = 0;
|
|
}
|
|
if(localX == null) {
|
|
localX = 0;
|
|
}
|
|
if(isPrimaryTouchPoint == null) {
|
|
isPrimaryTouchPoint = false;
|
|
}
|
|
if(touchPointID == null) {
|
|
touchPointID = 0;
|
|
}
|
|
if(cancelable == null) {
|
|
cancelable = false;
|
|
}
|
|
if(bubbles == null) {
|
|
bubbles = true;
|
|
}
|
|
openfl_events_Event.call(this,type,bubbles,cancelable);
|
|
this.touchPointID = touchPointID;
|
|
this.isPrimaryTouchPoint = isPrimaryTouchPoint;
|
|
this.localX = localX;
|
|
this.localY = localY;
|
|
this.sizeX = sizeX;
|
|
this.sizeY = sizeY;
|
|
this.pressure = pressure;
|
|
this.relatedObject = relatedObject;
|
|
this.ctrlKey = ctrlKey;
|
|
this.altKey = altKey;
|
|
this.shiftKey = shiftKey;
|
|
this.commandKey = commandKey;
|
|
this.controlKey = controlKey;
|
|
this.stageX = NaN;
|
|
this.stageY = NaN;
|
|
};
|
|
$hxClasses["openfl.events.TouchEvent"] = openfl_events_TouchEvent;
|
|
openfl_events_TouchEvent.__name__ = "openfl.events.TouchEvent";
|
|
openfl_events_TouchEvent.__create = function(type,touch,stageX,stageY,local,target) {
|
|
var evt = new openfl_events_TouchEvent(type,true,false,0,true,local.x,local.y,1,1,1);
|
|
evt.stageX = stageX;
|
|
evt.stageY = stageY;
|
|
evt.target = target;
|
|
return evt;
|
|
};
|
|
openfl_events_TouchEvent.__super__ = openfl_events_Event;
|
|
openfl_events_TouchEvent.prototype = $extend(openfl_events_Event.prototype,{
|
|
altKey: null
|
|
,commandKey: null
|
|
,controlKey: null
|
|
,ctrlKey: null
|
|
,delta: null
|
|
,isPrimaryTouchPoint: null
|
|
,localX: null
|
|
,localY: null
|
|
,pressure: null
|
|
,relatedObject: null
|
|
,shiftKey: null
|
|
,sizeX: null
|
|
,sizeY: null
|
|
,stageX: null
|
|
,stageY: null
|
|
,touchPointID: null
|
|
,clone: function() {
|
|
var event = new openfl_events_TouchEvent(this.type,this.bubbles,this.cancelable,this.touchPointID,this.isPrimaryTouchPoint,this.localX,this.localY,this.sizeX,this.sizeY,this.pressure,this.relatedObject,this.ctrlKey,this.altKey,this.shiftKey,this.commandKey,this.controlKey);
|
|
event.target = this.target;
|
|
event.currentTarget = this.currentTarget;
|
|
event.eventPhase = this.eventPhase;
|
|
return event;
|
|
}
|
|
,toString: function() {
|
|
return this.__formatToString("TouchEvent",["type","bubbles","cancelable","touchPointID","isPrimaryTouchPoint","localX","localY","sizeX","sizeY","pressure","relatedObject","ctrlKey","altKey","shiftKey","commandKey","controlKey"]);
|
|
}
|
|
,updateAfterEvent: function() {
|
|
}
|
|
,__init: function() {
|
|
openfl_events_Event.prototype.__init.call(this);
|
|
this.touchPointID = 0;
|
|
this.isPrimaryTouchPoint = false;
|
|
this.localX = 0;
|
|
this.localY = 0;
|
|
this.sizeX = 0;
|
|
this.sizeY = 0;
|
|
this.pressure = 0;
|
|
this.relatedObject = null;
|
|
this.ctrlKey = false;
|
|
this.altKey = false;
|
|
this.shiftKey = false;
|
|
this.commandKey = false;
|
|
this.controlKey = false;
|
|
this.stageX = NaN;
|
|
this.stageY = NaN;
|
|
}
|
|
,__class__: openfl_events_TouchEvent
|
|
});
|
|
var openfl_events_UncaughtErrorEvent = function(type,bubbles,cancelable,error) {
|
|
if(cancelable == null) {
|
|
cancelable = true;
|
|
}
|
|
if(bubbles == null) {
|
|
bubbles = true;
|
|
}
|
|
openfl_events_ErrorEvent.call(this,type,bubbles,cancelable);
|
|
this.error = error;
|
|
};
|
|
$hxClasses["openfl.events.UncaughtErrorEvent"] = openfl_events_UncaughtErrorEvent;
|
|
openfl_events_UncaughtErrorEvent.__name__ = "openfl.events.UncaughtErrorEvent";
|
|
openfl_events_UncaughtErrorEvent.__super__ = openfl_events_ErrorEvent;
|
|
openfl_events_UncaughtErrorEvent.prototype = $extend(openfl_events_ErrorEvent.prototype,{
|
|
error: null
|
|
,clone: function() {
|
|
var event = new openfl_events_UncaughtErrorEvent(this.type,this.bubbles,this.cancelable,this.error);
|
|
event.target = this.target;
|
|
event.currentTarget = this.currentTarget;
|
|
event.eventPhase = this.eventPhase;
|
|
return event;
|
|
}
|
|
,toString: function() {
|
|
return this.__formatToString("UncaughtErrorEvent",["type","bubbles","cancelable","error"]);
|
|
}
|
|
,__init: function() {
|
|
openfl_events_ErrorEvent.prototype.__init.call(this);
|
|
this.error = null;
|
|
}
|
|
,__class__: openfl_events_UncaughtErrorEvent
|
|
});
|
|
var openfl_events_UncaughtErrorEvents = function() {
|
|
openfl_events_EventDispatcher.call(this);
|
|
};
|
|
$hxClasses["openfl.events.UncaughtErrorEvents"] = openfl_events_UncaughtErrorEvents;
|
|
openfl_events_UncaughtErrorEvents.__name__ = "openfl.events.UncaughtErrorEvents";
|
|
openfl_events_UncaughtErrorEvents.__super__ = openfl_events_EventDispatcher;
|
|
openfl_events_UncaughtErrorEvents.prototype = $extend(openfl_events_EventDispatcher.prototype,{
|
|
__class__: openfl_events_UncaughtErrorEvents
|
|
});
|
|
var openfl_filters_BitmapFilter = function() {
|
|
this.__bottomExtension = 0;
|
|
this.__leftExtension = 0;
|
|
this.__needSecondBitmapData = true;
|
|
this.__numShaderPasses = 0;
|
|
this.__preserveObject = false;
|
|
this.__rightExtension = 0;
|
|
this.__shaderBlendMode = 10;
|
|
this.__topExtension = 0;
|
|
this.__smooth = true;
|
|
};
|
|
$hxClasses["openfl.filters.BitmapFilter"] = openfl_filters_BitmapFilter;
|
|
openfl_filters_BitmapFilter.__name__ = "openfl.filters.BitmapFilter";
|
|
openfl_filters_BitmapFilter.prototype = {
|
|
__bottomExtension: null
|
|
,__leftExtension: null
|
|
,__needSecondBitmapData: null
|
|
,__numShaderPasses: null
|
|
,__preserveObject: null
|
|
,__renderDirty: null
|
|
,__rightExtension: null
|
|
,__shaderBlendMode: null
|
|
,__smooth: null
|
|
,__topExtension: null
|
|
,clone: function() {
|
|
return new openfl_filters_BitmapFilter();
|
|
}
|
|
,__applyFilter: function(bitmapData,sourceBitmapData,sourceRect,destPoint) {
|
|
return sourceBitmapData;
|
|
}
|
|
,__initShader: function(renderer,pass,sourceBitmapData) {
|
|
return null;
|
|
}
|
|
,__class__: openfl_filters_BitmapFilter
|
|
};
|
|
var openfl_filters_ShaderFilter = function(shader) {
|
|
openfl_filters_BitmapFilter.call(this);
|
|
this.shader = shader;
|
|
this.__numShaderPasses = 1;
|
|
};
|
|
$hxClasses["openfl.filters.ShaderFilter"] = openfl_filters_ShaderFilter;
|
|
openfl_filters_ShaderFilter.__name__ = "openfl.filters.ShaderFilter";
|
|
openfl_filters_ShaderFilter.__super__ = openfl_filters_BitmapFilter;
|
|
openfl_filters_ShaderFilter.prototype = $extend(openfl_filters_BitmapFilter.prototype,{
|
|
blendMode: null
|
|
,bottomExtension: null
|
|
,leftExtension: null
|
|
,rightExtension: null
|
|
,shader: null
|
|
,topExtension: null
|
|
,clone: function() {
|
|
var filter = new openfl_filters_ShaderFilter(this.shader);
|
|
filter.bottomExtension = this.bottomExtension;
|
|
filter.leftExtension = this.leftExtension;
|
|
filter.rightExtension = this.rightExtension;
|
|
filter.topExtension = this.topExtension;
|
|
return filter;
|
|
}
|
|
,invalidate: function() {
|
|
this.__renderDirty = true;
|
|
}
|
|
,__initShader: function(renderer,pass,sourceBitmapData) {
|
|
this.__shaderBlendMode = this.blendMode;
|
|
return this.shader;
|
|
}
|
|
,__class__: openfl_filters_ShaderFilter
|
|
});
|
|
var openfl_geom_Matrix3D = function(v) {
|
|
if(v != null && v.get_length() == 16) {
|
|
this.rawData = v.concat(null);
|
|
} else {
|
|
this.rawData = openfl_Vector.toFloatVector(null,null,null,[1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0]);
|
|
}
|
|
};
|
|
$hxClasses["openfl.geom.Matrix3D"] = openfl_geom_Matrix3D;
|
|
openfl_geom_Matrix3D.__name__ = "openfl.geom.Matrix3D";
|
|
openfl_geom_Matrix3D.create2D = function(x,y,scale,rotation) {
|
|
if(rotation == null) {
|
|
rotation = 0;
|
|
}
|
|
if(scale == null) {
|
|
scale = 1;
|
|
}
|
|
var theta = rotation * Math.PI / 180.0;
|
|
var c = Math.cos(theta);
|
|
var s = Math.sin(theta);
|
|
return new openfl_geom_Matrix3D(openfl_Vector.toFloatVector(null,null,null,[c * scale,-s * scale,0,0,s * scale,c * scale,0,0,0,0,1,0,x,y,0,1]));
|
|
};
|
|
openfl_geom_Matrix3D.createABCD = function(a,b,c,d,tx,ty) {
|
|
return new openfl_geom_Matrix3D(openfl_Vector.toFloatVector(null,null,null,[a,b,0,0,c,d,0,0,0,0,1,0,tx,ty,0,1]));
|
|
};
|
|
openfl_geom_Matrix3D.createOrtho = function(x0,x1,y0,y1,zNear,zFar) {
|
|
var sx = 1.0 / (x1 - x0);
|
|
var sy = 1.0 / (y1 - y0);
|
|
var sz = 1.0 / (zFar - zNear);
|
|
return new openfl_geom_Matrix3D(openfl_Vector.toFloatVector(null,null,null,[2.0 * sx,0,0,0,0,2.0 * sy,0,0,0,0,-2.0 * sz,0,-(x0 + x1) * sx,-(y0 + y1) * sy,-(zNear + zFar) * sz,1]));
|
|
};
|
|
openfl_geom_Matrix3D.interpolate = function(thisMat,toMat,percent) {
|
|
var m = new openfl_geom_Matrix3D();
|
|
var _g = 0;
|
|
while(_g < 16) {
|
|
var i = _g++;
|
|
m.rawData.set(i,thisMat.rawData.get(i) + (toMat.rawData.get(i) - thisMat.rawData.get(i)) * percent);
|
|
}
|
|
return m;
|
|
};
|
|
openfl_geom_Matrix3D.__getAxisRotation = function(x,y,z,degrees) {
|
|
var m = new openfl_geom_Matrix3D();
|
|
var a1 = new openfl_geom_Vector3D(x,y,z);
|
|
var rad = -degrees * (Math.PI / 180);
|
|
var c = Math.cos(rad);
|
|
var s = Math.sin(rad);
|
|
var t = 1.0 - c;
|
|
m.rawData.set(0,c + a1.x * a1.x * t);
|
|
m.rawData.set(5,c + a1.y * a1.y * t);
|
|
m.rawData.set(10,c + a1.z * a1.z * t);
|
|
var tmp1 = a1.x * a1.y * t;
|
|
var tmp2 = a1.z * s;
|
|
m.rawData.set(4,tmp1 + tmp2);
|
|
m.rawData.set(1,tmp1 - tmp2);
|
|
tmp1 = a1.x * a1.z * t;
|
|
tmp2 = a1.y * s;
|
|
m.rawData.set(8,tmp1 - tmp2);
|
|
m.rawData.set(2,tmp1 + tmp2);
|
|
tmp1 = a1.y * a1.z * t;
|
|
tmp2 = a1.x * s;
|
|
m.rawData.set(9,tmp1 + tmp2);
|
|
m.rawData.set(6,tmp1 - tmp2);
|
|
return m;
|
|
};
|
|
openfl_geom_Matrix3D.prototype = {
|
|
rawData: null
|
|
,append: function(lhs) {
|
|
var m111 = this.rawData.get(0);
|
|
var m121 = this.rawData.get(4);
|
|
var m131 = this.rawData.get(8);
|
|
var m141 = this.rawData.get(12);
|
|
var m112 = this.rawData.get(1);
|
|
var m122 = this.rawData.get(5);
|
|
var m132 = this.rawData.get(9);
|
|
var m142 = this.rawData.get(13);
|
|
var m113 = this.rawData.get(2);
|
|
var m123 = this.rawData.get(6);
|
|
var m133 = this.rawData.get(10);
|
|
var m143 = this.rawData.get(14);
|
|
var m114 = this.rawData.get(3);
|
|
var m124 = this.rawData.get(7);
|
|
var m134 = this.rawData.get(11);
|
|
var m144 = this.rawData.get(15);
|
|
var m211 = lhs.rawData.get(0);
|
|
var m221 = lhs.rawData.get(4);
|
|
var m231 = lhs.rawData.get(8);
|
|
var m241 = lhs.rawData.get(12);
|
|
var m212 = lhs.rawData.get(1);
|
|
var m222 = lhs.rawData.get(5);
|
|
var m232 = lhs.rawData.get(9);
|
|
var m242 = lhs.rawData.get(13);
|
|
var m213 = lhs.rawData.get(2);
|
|
var m223 = lhs.rawData.get(6);
|
|
var m233 = lhs.rawData.get(10);
|
|
var m243 = lhs.rawData.get(14);
|
|
var m214 = lhs.rawData.get(3);
|
|
var m224 = lhs.rawData.get(7);
|
|
var m234 = lhs.rawData.get(11);
|
|
var m244 = lhs.rawData.get(15);
|
|
this.rawData.set(0,m111 * m211 + m112 * m221 + m113 * m231 + m114 * m241);
|
|
this.rawData.set(1,m111 * m212 + m112 * m222 + m113 * m232 + m114 * m242);
|
|
this.rawData.set(2,m111 * m213 + m112 * m223 + m113 * m233 + m114 * m243);
|
|
this.rawData.set(3,m111 * m214 + m112 * m224 + m113 * m234 + m114 * m244);
|
|
this.rawData.set(4,m121 * m211 + m122 * m221 + m123 * m231 + m124 * m241);
|
|
this.rawData.set(5,m121 * m212 + m122 * m222 + m123 * m232 + m124 * m242);
|
|
this.rawData.set(6,m121 * m213 + m122 * m223 + m123 * m233 + m124 * m243);
|
|
this.rawData.set(7,m121 * m214 + m122 * m224 + m123 * m234 + m124 * m244);
|
|
this.rawData.set(8,m131 * m211 + m132 * m221 + m133 * m231 + m134 * m241);
|
|
this.rawData.set(9,m131 * m212 + m132 * m222 + m133 * m232 + m134 * m242);
|
|
this.rawData.set(10,m131 * m213 + m132 * m223 + m133 * m233 + m134 * m243);
|
|
this.rawData.set(11,m131 * m214 + m132 * m224 + m133 * m234 + m134 * m244);
|
|
this.rawData.set(12,m141 * m211 + m142 * m221 + m143 * m231 + m144 * m241);
|
|
this.rawData.set(13,m141 * m212 + m142 * m222 + m143 * m232 + m144 * m242);
|
|
this.rawData.set(14,m141 * m213 + m142 * m223 + m143 * m233 + m144 * m243);
|
|
this.rawData.set(15,m141 * m214 + m142 * m224 + m143 * m234 + m144 * m244);
|
|
}
|
|
,appendRotation: function(degrees,axis,pivotPoint) {
|
|
var tz = 0;
|
|
var ty = tz;
|
|
var tx = ty;
|
|
if(pivotPoint != null) {
|
|
tx = pivotPoint.x;
|
|
ty = pivotPoint.y;
|
|
tz = pivotPoint.z;
|
|
}
|
|
var radian = degrees * Math.PI / 180;
|
|
var cos = Math.cos(radian);
|
|
var sin = Math.sin(radian);
|
|
var x = axis.x;
|
|
var y = axis.y;
|
|
var z = axis.z;
|
|
var x2 = x * x;
|
|
var y2 = y * y;
|
|
var z2 = z * z;
|
|
var ls = x2 + y2 + z2;
|
|
if(ls != 0) {
|
|
var l = Math.sqrt(ls);
|
|
x /= l;
|
|
y /= l;
|
|
z /= l;
|
|
x2 /= ls;
|
|
y2 /= ls;
|
|
z2 /= ls;
|
|
}
|
|
var ccos = 1 - cos;
|
|
var m = new openfl_geom_Matrix3D();
|
|
var d = m.rawData;
|
|
d.set(0,x2 + (y2 + z2) * cos);
|
|
d.set(1,x * y * ccos + z * sin);
|
|
d.set(2,x * z * ccos - y * sin);
|
|
d.set(4,x * y * ccos - z * sin);
|
|
d.set(5,y2 + (x2 + z2) * cos);
|
|
d.set(6,y * z * ccos + x * sin);
|
|
d.set(8,x * z * ccos + y * sin);
|
|
d.set(9,y * z * ccos - x * sin);
|
|
d.set(10,z2 + (x2 + y2) * cos);
|
|
d.set(12,(tx * (y2 + z2) - x * (ty * y + tz * z)) * ccos + (ty * z - tz * y) * sin);
|
|
d.set(13,(ty * (x2 + z2) - y * (tx * x + tz * z)) * ccos + (tz * x - tx * z) * sin);
|
|
d.set(14,(tz * (x2 + y2) - z * (tx * x + ty * y)) * ccos + (tx * y - ty * x) * sin);
|
|
this.append(m);
|
|
}
|
|
,appendScale: function(xScale,yScale,zScale) {
|
|
this.append(new openfl_geom_Matrix3D(openfl_Vector.toFloatVector(null,null,null,[xScale,0.0,0.0,0.0,0.0,yScale,0.0,0.0,0.0,0.0,zScale,0.0,0.0,0.0,0.0,1.0])));
|
|
}
|
|
,appendTranslation: function(x,y,z) {
|
|
var _g = this.rawData;
|
|
_g.set(12,_g.get(12) + x);
|
|
var _g = this.rawData;
|
|
_g.set(13,_g.get(13) + y);
|
|
var _g = this.rawData;
|
|
_g.set(14,_g.get(14) + z);
|
|
}
|
|
,clone: function() {
|
|
return new openfl_geom_Matrix3D(this.rawData.copy());
|
|
}
|
|
,copyColumnFrom: function(column,vector3D) {
|
|
switch(column) {
|
|
case 0:
|
|
this.rawData.set(0,vector3D.x);
|
|
this.rawData.set(1,vector3D.y);
|
|
this.rawData.set(2,vector3D.z);
|
|
this.rawData.set(3,vector3D.w);
|
|
break;
|
|
case 1:
|
|
this.rawData.set(4,vector3D.x);
|
|
this.rawData.set(5,vector3D.y);
|
|
this.rawData.set(6,vector3D.z);
|
|
this.rawData.set(7,vector3D.w);
|
|
break;
|
|
case 2:
|
|
this.rawData.set(8,vector3D.x);
|
|
this.rawData.set(9,vector3D.y);
|
|
this.rawData.set(10,vector3D.z);
|
|
this.rawData.set(11,vector3D.w);
|
|
break;
|
|
case 3:
|
|
this.rawData.set(12,vector3D.x);
|
|
this.rawData.set(13,vector3D.y);
|
|
this.rawData.set(14,vector3D.z);
|
|
this.rawData.set(15,vector3D.w);
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
,copyColumnTo: function(column,vector3D) {
|
|
switch(column) {
|
|
case 0:
|
|
vector3D.x = this.rawData.get(0);
|
|
vector3D.y = this.rawData.get(1);
|
|
vector3D.z = this.rawData.get(2);
|
|
vector3D.w = this.rawData.get(3);
|
|
break;
|
|
case 1:
|
|
vector3D.x = this.rawData.get(4);
|
|
vector3D.y = this.rawData.get(5);
|
|
vector3D.z = this.rawData.get(6);
|
|
vector3D.w = this.rawData.get(7);
|
|
break;
|
|
case 2:
|
|
vector3D.x = this.rawData.get(8);
|
|
vector3D.y = this.rawData.get(9);
|
|
vector3D.z = this.rawData.get(10);
|
|
vector3D.w = this.rawData.get(11);
|
|
break;
|
|
case 3:
|
|
vector3D.x = this.rawData.get(12);
|
|
vector3D.y = this.rawData.get(13);
|
|
vector3D.z = this.rawData.get(14);
|
|
vector3D.w = this.rawData.get(15);
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
,copyFrom: function(other) {
|
|
this.rawData = other.rawData.copy();
|
|
}
|
|
,copyRawDataFrom: function(vector,index,transpose) {
|
|
if(transpose == null) {
|
|
transpose = false;
|
|
}
|
|
if(index == null) {
|
|
index = 0;
|
|
}
|
|
if(transpose) {
|
|
this.transpose();
|
|
}
|
|
var length = vector.get_length() - index;
|
|
var _g = 0;
|
|
var _g1 = length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
this.rawData.set(i,vector.get(i + index));
|
|
}
|
|
if(transpose) {
|
|
this.transpose();
|
|
}
|
|
}
|
|
,copyRawDataTo: function(vector,index,transpose) {
|
|
if(transpose == null) {
|
|
transpose = false;
|
|
}
|
|
if(index == null) {
|
|
index = 0;
|
|
}
|
|
if(transpose) {
|
|
this.transpose();
|
|
}
|
|
var _g = 0;
|
|
var _g1 = this.rawData.get_length();
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
vector.set(i + index,this.rawData.get(i));
|
|
}
|
|
if(transpose) {
|
|
this.transpose();
|
|
}
|
|
}
|
|
,copyRowFrom: function(row,vector3D) {
|
|
switch(row) {
|
|
case 0:
|
|
this.rawData.set(0,vector3D.x);
|
|
this.rawData.set(4,vector3D.y);
|
|
this.rawData.set(8,vector3D.z);
|
|
this.rawData.set(12,vector3D.w);
|
|
break;
|
|
case 1:
|
|
this.rawData.set(1,vector3D.x);
|
|
this.rawData.set(5,vector3D.y);
|
|
this.rawData.set(9,vector3D.z);
|
|
this.rawData.set(13,vector3D.w);
|
|
break;
|
|
case 2:
|
|
this.rawData.set(2,vector3D.x);
|
|
this.rawData.set(6,vector3D.y);
|
|
this.rawData.set(10,vector3D.z);
|
|
this.rawData.set(14,vector3D.w);
|
|
break;
|
|
case 3:
|
|
this.rawData.set(3,vector3D.x);
|
|
this.rawData.set(7,vector3D.y);
|
|
this.rawData.set(11,vector3D.z);
|
|
this.rawData.set(15,vector3D.w);
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
,copyRowTo: function(row,vector3D) {
|
|
switch(row) {
|
|
case 0:
|
|
vector3D.x = this.rawData.get(0);
|
|
vector3D.y = this.rawData.get(4);
|
|
vector3D.z = this.rawData.get(8);
|
|
vector3D.w = this.rawData.get(12);
|
|
break;
|
|
case 1:
|
|
vector3D.x = this.rawData.get(1);
|
|
vector3D.y = this.rawData.get(5);
|
|
vector3D.z = this.rawData.get(9);
|
|
vector3D.w = this.rawData.get(13);
|
|
break;
|
|
case 2:
|
|
vector3D.x = this.rawData.get(2);
|
|
vector3D.y = this.rawData.get(6);
|
|
vector3D.z = this.rawData.get(10);
|
|
vector3D.w = this.rawData.get(14);
|
|
break;
|
|
case 3:
|
|
vector3D.x = this.rawData.get(3);
|
|
vector3D.y = this.rawData.get(7);
|
|
vector3D.z = this.rawData.get(11);
|
|
vector3D.w = this.rawData.get(15);
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
,copyToMatrix3D: function(other) {
|
|
other.rawData = this.rawData.copy();
|
|
}
|
|
,decompose: function(orientationStyle) {
|
|
if(orientationStyle == null) {
|
|
orientationStyle = 1;
|
|
}
|
|
var vec = openfl_Vector.toObjectVector(null);
|
|
var m = this.clone();
|
|
var mr = m.rawData.copy();
|
|
var pos = new openfl_geom_Vector3D(mr.get(12),mr.get(13),mr.get(14));
|
|
mr.set(12,0);
|
|
mr.set(13,0);
|
|
mr.set(14,0);
|
|
var scale = new openfl_geom_Vector3D();
|
|
scale.x = Math.sqrt(mr.get(0) * mr.get(0) + mr.get(1) * mr.get(1) + mr.get(2) * mr.get(2));
|
|
scale.y = Math.sqrt(mr.get(4) * mr.get(4) + mr.get(5) * mr.get(5) + mr.get(6) * mr.get(6));
|
|
scale.z = Math.sqrt(mr.get(8) * mr.get(8) + mr.get(9) * mr.get(9) + mr.get(10) * mr.get(10));
|
|
if(mr.get(0) * (mr.get(5) * mr.get(10) - mr.get(6) * mr.get(9)) - mr.get(1) * (mr.get(4) * mr.get(10) - mr.get(6) * mr.get(8)) + mr.get(2) * (mr.get(4) * mr.get(9) - mr.get(5) * mr.get(8)) < 0) {
|
|
scale.z = -scale.z;
|
|
}
|
|
var _g = mr;
|
|
_g.set(0,_g.get(0) / scale.x);
|
|
var _g = mr;
|
|
_g.set(1,_g.get(1) / scale.x);
|
|
var _g = mr;
|
|
_g.set(2,_g.get(2) / scale.x);
|
|
var _g = mr;
|
|
_g.set(4,_g.get(4) / scale.y);
|
|
var _g = mr;
|
|
_g.set(5,_g.get(5) / scale.y);
|
|
var _g = mr;
|
|
_g.set(6,_g.get(6) / scale.y);
|
|
var _g = mr;
|
|
_g.set(8,_g.get(8) / scale.z);
|
|
var _g = mr;
|
|
_g.set(9,_g.get(9) / scale.z);
|
|
var _g = mr;
|
|
_g.set(10,_g.get(10) / scale.z);
|
|
var rot = new openfl_geom_Vector3D();
|
|
switch(orientationStyle) {
|
|
case 0:
|
|
rot.w = Math.acos((mr.get(0) + mr.get(5) + mr.get(10) - 1) / 2);
|
|
var len = Math.sqrt((mr.get(6) - mr.get(9)) * (mr.get(6) - mr.get(9)) + (mr.get(8) - mr.get(2)) * (mr.get(8) - mr.get(2)) + (mr.get(1) - mr.get(4)) * (mr.get(1) - mr.get(4)));
|
|
if(len != 0) {
|
|
rot.x = (mr.get(6) - mr.get(9)) / len;
|
|
rot.y = (mr.get(8) - mr.get(2)) / len;
|
|
rot.z = (mr.get(1) - mr.get(4)) / len;
|
|
} else {
|
|
rot.x = rot.y = rot.z = 0;
|
|
}
|
|
break;
|
|
case 1:
|
|
rot.y = Math.asin(-mr.get(2));
|
|
if(mr.get(2) != 1 && mr.get(2) != -1) {
|
|
rot.x = Math.atan2(mr.get(6),mr.get(10));
|
|
rot.z = Math.atan2(mr.get(1),mr.get(0));
|
|
} else {
|
|
rot.z = 0;
|
|
rot.x = Math.atan2(mr.get(4),mr.get(5));
|
|
}
|
|
break;
|
|
case 2:
|
|
var tr = mr.get(0) + mr.get(5) + mr.get(10);
|
|
if(tr > 0) {
|
|
rot.w = Math.sqrt(1 + tr) / 2;
|
|
rot.x = (mr.get(6) - mr.get(9)) / (4 * rot.w);
|
|
rot.y = (mr.get(8) - mr.get(2)) / (4 * rot.w);
|
|
rot.z = (mr.get(1) - mr.get(4)) / (4 * rot.w);
|
|
} else if(mr.get(0) > mr.get(5) && mr.get(0) > mr.get(10)) {
|
|
rot.x = Math.sqrt(1 + mr.get(0) - mr.get(5) - mr.get(10)) / 2;
|
|
rot.w = (mr.get(6) - mr.get(9)) / (4 * rot.x);
|
|
rot.y = (mr.get(1) + mr.get(4)) / (4 * rot.x);
|
|
rot.z = (mr.get(8) + mr.get(2)) / (4 * rot.x);
|
|
} else if(mr.get(5) > mr.get(10)) {
|
|
rot.y = Math.sqrt(1 + mr.get(5) - mr.get(0) - mr.get(10)) / 2;
|
|
rot.x = (mr.get(1) + mr.get(4)) / (4 * rot.y);
|
|
rot.w = (mr.get(8) - mr.get(2)) / (4 * rot.y);
|
|
rot.z = (mr.get(6) + mr.get(9)) / (4 * rot.y);
|
|
} else {
|
|
rot.z = Math.sqrt(1 + mr.get(10) - mr.get(0) - mr.get(5)) / 2;
|
|
rot.x = (mr.get(8) + mr.get(2)) / (4 * rot.z);
|
|
rot.y = (mr.get(6) + mr.get(9)) / (4 * rot.z);
|
|
rot.w = (mr.get(1) - mr.get(4)) / (4 * rot.z);
|
|
}
|
|
break;
|
|
}
|
|
vec.push(pos);
|
|
vec.push(rot);
|
|
vec.push(scale);
|
|
return vec;
|
|
}
|
|
,deltaTransformVector: function(v) {
|
|
var x = v.x;
|
|
var y = v.y;
|
|
var z = v.z;
|
|
return new openfl_geom_Vector3D(x * this.rawData.get(0) + y * this.rawData.get(4) + z * this.rawData.get(8),x * this.rawData.get(1) + y * this.rawData.get(5) + z * this.rawData.get(9),x * this.rawData.get(2) + y * this.rawData.get(6) + z * this.rawData.get(10),x * this.rawData.get(3) + y * this.rawData.get(7) + z * this.rawData.get(11));
|
|
}
|
|
,identity: function() {
|
|
this.rawData = openfl_Vector.toFloatVector(null,null,null,[1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0]);
|
|
}
|
|
,interpolateTo: function(toMat,percent) {
|
|
var _g = 0;
|
|
while(_g < 16) {
|
|
var i = _g++;
|
|
this.rawData.set(i,this.rawData.get(i) + (toMat.rawData.get(i) - this.rawData.get(i)) * percent);
|
|
}
|
|
}
|
|
,invert: function() {
|
|
var d = this.get_determinant();
|
|
var invertable = Math.abs(d) > 0.00000000001;
|
|
if(invertable) {
|
|
d = 1 / d;
|
|
var m11 = this.rawData.get(0);
|
|
var m21 = this.rawData.get(4);
|
|
var m31 = this.rawData.get(8);
|
|
var m41 = this.rawData.get(12);
|
|
var m12 = this.rawData.get(1);
|
|
var m22 = this.rawData.get(5);
|
|
var m32 = this.rawData.get(9);
|
|
var m42 = this.rawData.get(13);
|
|
var m13 = this.rawData.get(2);
|
|
var m23 = this.rawData.get(6);
|
|
var m33 = this.rawData.get(10);
|
|
var m43 = this.rawData.get(14);
|
|
var m14 = this.rawData.get(3);
|
|
var m24 = this.rawData.get(7);
|
|
var m34 = this.rawData.get(11);
|
|
var m44 = this.rawData.get(15);
|
|
this.rawData.set(0,d * (m22 * (m33 * m44 - m43 * m34) - m32 * (m23 * m44 - m43 * m24) + m42 * (m23 * m34 - m33 * m24)));
|
|
this.rawData.set(1,-d * (m12 * (m33 * m44 - m43 * m34) - m32 * (m13 * m44 - m43 * m14) + m42 * (m13 * m34 - m33 * m14)));
|
|
this.rawData.set(2,d * (m12 * (m23 * m44 - m43 * m24) - m22 * (m13 * m44 - m43 * m14) + m42 * (m13 * m24 - m23 * m14)));
|
|
this.rawData.set(3,-d * (m12 * (m23 * m34 - m33 * m24) - m22 * (m13 * m34 - m33 * m14) + m32 * (m13 * m24 - m23 * m14)));
|
|
this.rawData.set(4,-d * (m21 * (m33 * m44 - m43 * m34) - m31 * (m23 * m44 - m43 * m24) + m41 * (m23 * m34 - m33 * m24)));
|
|
this.rawData.set(5,d * (m11 * (m33 * m44 - m43 * m34) - m31 * (m13 * m44 - m43 * m14) + m41 * (m13 * m34 - m33 * m14)));
|
|
this.rawData.set(6,-d * (m11 * (m23 * m44 - m43 * m24) - m21 * (m13 * m44 - m43 * m14) + m41 * (m13 * m24 - m23 * m14)));
|
|
this.rawData.set(7,d * (m11 * (m23 * m34 - m33 * m24) - m21 * (m13 * m34 - m33 * m14) + m31 * (m13 * m24 - m23 * m14)));
|
|
this.rawData.set(8,d * (m21 * (m32 * m44 - m42 * m34) - m31 * (m22 * m44 - m42 * m24) + m41 * (m22 * m34 - m32 * m24)));
|
|
this.rawData.set(9,-d * (m11 * (m32 * m44 - m42 * m34) - m31 * (m12 * m44 - m42 * m14) + m41 * (m12 * m34 - m32 * m14)));
|
|
this.rawData.set(10,d * (m11 * (m22 * m44 - m42 * m24) - m21 * (m12 * m44 - m42 * m14) + m41 * (m12 * m24 - m22 * m14)));
|
|
this.rawData.set(11,-d * (m11 * (m22 * m34 - m32 * m24) - m21 * (m12 * m34 - m32 * m14) + m31 * (m12 * m24 - m22 * m14)));
|
|
this.rawData.set(12,-d * (m21 * (m32 * m43 - m42 * m33) - m31 * (m22 * m43 - m42 * m23) + m41 * (m22 * m33 - m32 * m23)));
|
|
this.rawData.set(13,d * (m11 * (m32 * m43 - m42 * m33) - m31 * (m12 * m43 - m42 * m13) + m41 * (m12 * m33 - m32 * m13)));
|
|
this.rawData.set(14,-d * (m11 * (m22 * m43 - m42 * m23) - m21 * (m12 * m43 - m42 * m13) + m41 * (m12 * m23 - m22 * m13)));
|
|
this.rawData.set(15,d * (m11 * (m22 * m33 - m32 * m23) - m21 * (m12 * m33 - m32 * m13) + m31 * (m12 * m23 - m22 * m13)));
|
|
}
|
|
return invertable;
|
|
}
|
|
,pointAt: function(pos,at,up) {
|
|
if(at == null) {
|
|
at = new openfl_geom_Vector3D(0,0,-1);
|
|
}
|
|
if(up == null) {
|
|
up = new openfl_geom_Vector3D(0,-1,0);
|
|
}
|
|
var dir = at.subtract(pos);
|
|
var vup = up.clone();
|
|
dir.normalize();
|
|
vup.normalize();
|
|
var dir2 = dir.clone();
|
|
dir2.scaleBy(vup.dotProduct(dir));
|
|
vup = vup.subtract(dir2);
|
|
if(vup.get_length() > 0) {
|
|
vup.normalize();
|
|
} else if(dir.x != 0) {
|
|
vup = new openfl_geom_Vector3D(-dir.y,dir.x,0);
|
|
} else {
|
|
vup = new openfl_geom_Vector3D(1,0,0);
|
|
}
|
|
var right = vup.crossProduct(dir);
|
|
right.normalize();
|
|
this.rawData.set(0,right.x);
|
|
this.rawData.set(4,right.y);
|
|
this.rawData.set(8,right.z);
|
|
this.rawData.set(12,0.0);
|
|
this.rawData.set(1,vup.x);
|
|
this.rawData.set(5,vup.y);
|
|
this.rawData.set(9,vup.z);
|
|
this.rawData.set(13,0.0);
|
|
this.rawData.set(2,dir.x);
|
|
this.rawData.set(6,dir.y);
|
|
this.rawData.set(10,dir.z);
|
|
this.rawData.set(14,0.0);
|
|
this.rawData.set(3,pos.x);
|
|
this.rawData.set(7,pos.y);
|
|
this.rawData.set(11,pos.z);
|
|
this.rawData.set(15,1.0);
|
|
}
|
|
,prepend: function(rhs) {
|
|
var m111 = rhs.rawData.get(0);
|
|
var m121 = rhs.rawData.get(4);
|
|
var m131 = rhs.rawData.get(8);
|
|
var m141 = rhs.rawData.get(12);
|
|
var m112 = rhs.rawData.get(1);
|
|
var m122 = rhs.rawData.get(5);
|
|
var m132 = rhs.rawData.get(9);
|
|
var m142 = rhs.rawData.get(13);
|
|
var m113 = rhs.rawData.get(2);
|
|
var m123 = rhs.rawData.get(6);
|
|
var m133 = rhs.rawData.get(10);
|
|
var m143 = rhs.rawData.get(14);
|
|
var m114 = rhs.rawData.get(3);
|
|
var m124 = rhs.rawData.get(7);
|
|
var m134 = rhs.rawData.get(11);
|
|
var m144 = rhs.rawData.get(15);
|
|
var m211 = this.rawData.get(0);
|
|
var m221 = this.rawData.get(4);
|
|
var m231 = this.rawData.get(8);
|
|
var m241 = this.rawData.get(12);
|
|
var m212 = this.rawData.get(1);
|
|
var m222 = this.rawData.get(5);
|
|
var m232 = this.rawData.get(9);
|
|
var m242 = this.rawData.get(13);
|
|
var m213 = this.rawData.get(2);
|
|
var m223 = this.rawData.get(6);
|
|
var m233 = this.rawData.get(10);
|
|
var m243 = this.rawData.get(14);
|
|
var m214 = this.rawData.get(3);
|
|
var m224 = this.rawData.get(7);
|
|
var m234 = this.rawData.get(11);
|
|
var m244 = this.rawData.get(15);
|
|
this.rawData.set(0,m111 * m211 + m112 * m221 + m113 * m231 + m114 * m241);
|
|
this.rawData.set(1,m111 * m212 + m112 * m222 + m113 * m232 + m114 * m242);
|
|
this.rawData.set(2,m111 * m213 + m112 * m223 + m113 * m233 + m114 * m243);
|
|
this.rawData.set(3,m111 * m214 + m112 * m224 + m113 * m234 + m114 * m244);
|
|
this.rawData.set(4,m121 * m211 + m122 * m221 + m123 * m231 + m124 * m241);
|
|
this.rawData.set(5,m121 * m212 + m122 * m222 + m123 * m232 + m124 * m242);
|
|
this.rawData.set(6,m121 * m213 + m122 * m223 + m123 * m233 + m124 * m243);
|
|
this.rawData.set(7,m121 * m214 + m122 * m224 + m123 * m234 + m124 * m244);
|
|
this.rawData.set(8,m131 * m211 + m132 * m221 + m133 * m231 + m134 * m241);
|
|
this.rawData.set(9,m131 * m212 + m132 * m222 + m133 * m232 + m134 * m242);
|
|
this.rawData.set(10,m131 * m213 + m132 * m223 + m133 * m233 + m134 * m243);
|
|
this.rawData.set(11,m131 * m214 + m132 * m224 + m133 * m234 + m134 * m244);
|
|
this.rawData.set(12,m141 * m211 + m142 * m221 + m143 * m231 + m144 * m241);
|
|
this.rawData.set(13,m141 * m212 + m142 * m222 + m143 * m232 + m144 * m242);
|
|
this.rawData.set(14,m141 * m213 + m142 * m223 + m143 * m233 + m144 * m243);
|
|
this.rawData.set(15,m141 * m214 + m142 * m224 + m143 * m234 + m144 * m244);
|
|
}
|
|
,prependRotation: function(degrees,axis,pivotPoint) {
|
|
var tz = 0;
|
|
var ty = tz;
|
|
var tx = ty;
|
|
if(pivotPoint != null) {
|
|
tx = pivotPoint.x;
|
|
ty = pivotPoint.y;
|
|
tz = pivotPoint.z;
|
|
}
|
|
var radian = degrees * Math.PI / 180;
|
|
var cos = Math.cos(radian);
|
|
var sin = Math.sin(radian);
|
|
var x = axis.x;
|
|
var y = axis.y;
|
|
var z = axis.z;
|
|
var x2 = x * x;
|
|
var y2 = y * y;
|
|
var z2 = z * z;
|
|
var ls = x2 + y2 + z2;
|
|
if(ls != 0) {
|
|
var l = Math.sqrt(ls);
|
|
x /= l;
|
|
y /= l;
|
|
z /= l;
|
|
x2 /= ls;
|
|
y2 /= ls;
|
|
z2 /= ls;
|
|
}
|
|
var ccos = 1 - cos;
|
|
var m = new openfl_geom_Matrix3D();
|
|
var d = m.rawData;
|
|
d.set(0,x2 + (y2 + z2) * cos);
|
|
d.set(1,x * y * ccos + z * sin);
|
|
d.set(2,x * z * ccos - y * sin);
|
|
d.set(4,x * y * ccos - z * sin);
|
|
d.set(5,y2 + (x2 + z2) * cos);
|
|
d.set(6,y * z * ccos + x * sin);
|
|
d.set(8,x * z * ccos + y * sin);
|
|
d.set(9,y * z * ccos - x * sin);
|
|
d.set(10,z2 + (x2 + y2) * cos);
|
|
d.set(12,(tx * (y2 + z2) - x * (ty * y + tz * z)) * ccos + (ty * z - tz * y) * sin);
|
|
d.set(13,(ty * (x2 + z2) - y * (tx * x + tz * z)) * ccos + (tz * x - tx * z) * sin);
|
|
d.set(14,(tz * (x2 + y2) - z * (tx * x + ty * y)) * ccos + (tx * y - ty * x) * sin);
|
|
this.prepend(m);
|
|
}
|
|
,prependScale: function(xScale,yScale,zScale) {
|
|
this.prepend(new openfl_geom_Matrix3D(openfl_Vector.toFloatVector(null,null,null,[xScale,0.0,0.0,0.0,0.0,yScale,0.0,0.0,0.0,0.0,zScale,0.0,0.0,0.0,0.0,1.0])));
|
|
}
|
|
,prependTranslation: function(x,y,z) {
|
|
var m = new openfl_geom_Matrix3D();
|
|
m.set_position(new openfl_geom_Vector3D(x,y,z));
|
|
this.prepend(m);
|
|
}
|
|
,recompose: function(components,orientationStyle) {
|
|
if(orientationStyle == null) {
|
|
orientationStyle = 1;
|
|
}
|
|
if(components.get_length() < 3 || components.get(2).x == 0 || components.get(2).y == 0 || components.get(2).z == 0) {
|
|
return false;
|
|
}
|
|
this.identity();
|
|
var scale = [];
|
|
scale[0] = scale[1] = scale[2] = components.get(2).x;
|
|
scale[4] = scale[5] = scale[6] = components.get(2).y;
|
|
scale[8] = scale[9] = scale[10] = components.get(2).z;
|
|
if(orientationStyle == 1) {
|
|
var cx = Math.cos(components.get(1).x);
|
|
var cy = Math.cos(components.get(1).y);
|
|
var cz = Math.cos(components.get(1).z);
|
|
var sx = Math.sin(components.get(1).x);
|
|
var sy = Math.sin(components.get(1).y);
|
|
var sz = Math.sin(components.get(1).z);
|
|
this.rawData.set(0,cy * cz * scale[0]);
|
|
this.rawData.set(1,cy * sz * scale[1]);
|
|
this.rawData.set(2,-sy * scale[2]);
|
|
this.rawData.set(3,0);
|
|
this.rawData.set(4,(sx * sy * cz - cx * sz) * scale[4]);
|
|
this.rawData.set(5,(sx * sy * sz + cx * cz) * scale[5]);
|
|
this.rawData.set(6,sx * cy * scale[6]);
|
|
this.rawData.set(7,0);
|
|
this.rawData.set(8,(cx * sy * cz + sx * sz) * scale[8]);
|
|
this.rawData.set(9,(cx * sy * sz - sx * cz) * scale[9]);
|
|
this.rawData.set(10,cx * cy * scale[10]);
|
|
this.rawData.set(11,0);
|
|
this.rawData.set(12,components.get(0).x);
|
|
this.rawData.set(13,components.get(0).y);
|
|
this.rawData.set(14,components.get(0).z);
|
|
this.rawData.set(15,1);
|
|
} else {
|
|
var x = components.get(1).x;
|
|
var y = components.get(1).y;
|
|
var z = components.get(1).z;
|
|
var w = components.get(1).w;
|
|
if(orientationStyle == 0) {
|
|
x *= Math.sin(w / 2);
|
|
y *= Math.sin(w / 2);
|
|
z *= Math.sin(w / 2);
|
|
w = Math.cos(w / 2);
|
|
}
|
|
this.rawData.set(0,(1 - 2 * y * y - 2 * z * z) * scale[0]);
|
|
this.rawData.set(1,(2 * x * y + 2 * w * z) * scale[1]);
|
|
this.rawData.set(2,(2 * x * z - 2 * w * y) * scale[2]);
|
|
this.rawData.set(3,0);
|
|
this.rawData.set(4,(2 * x * y - 2 * w * z) * scale[4]);
|
|
this.rawData.set(5,(1 - 2 * x * x - 2 * z * z) * scale[5]);
|
|
this.rawData.set(6,(2 * y * z + 2 * w * x) * scale[6]);
|
|
this.rawData.set(7,0);
|
|
this.rawData.set(8,(2 * x * z + 2 * w * y) * scale[8]);
|
|
this.rawData.set(9,(2 * y * z - 2 * w * x) * scale[9]);
|
|
this.rawData.set(10,(1 - 2 * x * x - 2 * y * y) * scale[10]);
|
|
this.rawData.set(11,0);
|
|
this.rawData.set(12,components.get(0).x);
|
|
this.rawData.set(13,components.get(0).y);
|
|
this.rawData.set(14,components.get(0).z);
|
|
this.rawData.set(15,1);
|
|
}
|
|
if(components.get(2).x == 0) {
|
|
this.rawData.set(0,1e-15);
|
|
}
|
|
if(components.get(2).y == 0) {
|
|
this.rawData.set(5,1e-15);
|
|
}
|
|
if(components.get(2).z == 0) {
|
|
this.rawData.set(10,1e-15);
|
|
}
|
|
return !(components.get(2).x == 0 || components.get(2).y == 0 || components.get(2).y == 0);
|
|
}
|
|
,transformVector: function(v) {
|
|
var x = v.x;
|
|
var y = v.y;
|
|
var z = v.z;
|
|
return new openfl_geom_Vector3D(x * this.rawData.get(0) + y * this.rawData.get(4) + z * this.rawData.get(8) + this.rawData.get(12),x * this.rawData.get(1) + y * this.rawData.get(5) + z * this.rawData.get(9) + this.rawData.get(13),x * this.rawData.get(2) + y * this.rawData.get(6) + z * this.rawData.get(10) + this.rawData.get(14),x * this.rawData.get(3) + y * this.rawData.get(7) + z * this.rawData.get(11) + this.rawData.get(15));
|
|
}
|
|
,transformVectors: function(vin,vout) {
|
|
var i = 0;
|
|
var x;
|
|
var y;
|
|
var z;
|
|
while(i + 3 <= vin.get_length()) {
|
|
x = vin.get(i);
|
|
y = vin.get(i + 1);
|
|
z = vin.get(i + 2);
|
|
vout.set(i,x * this.rawData.get(0) + y * this.rawData.get(4) + z * this.rawData.get(8) + this.rawData.get(12));
|
|
vout.set(i + 1,x * this.rawData.get(1) + y * this.rawData.get(5) + z * this.rawData.get(9) + this.rawData.get(13));
|
|
vout.set(i + 2,x * this.rawData.get(2) + y * this.rawData.get(6) + z * this.rawData.get(10) + this.rawData.get(14));
|
|
i += 3;
|
|
}
|
|
}
|
|
,transpose: function() {
|
|
var oRawData = this.rawData.copy();
|
|
this.rawData.set(1,oRawData.get(4));
|
|
this.rawData.set(2,oRawData.get(8));
|
|
this.rawData.set(3,oRawData.get(12));
|
|
this.rawData.set(4,oRawData.get(1));
|
|
this.rawData.set(6,oRawData.get(9));
|
|
this.rawData.set(7,oRawData.get(13));
|
|
this.rawData.set(8,oRawData.get(2));
|
|
this.rawData.set(9,oRawData.get(6));
|
|
this.rawData.set(11,oRawData.get(14));
|
|
this.rawData.set(12,oRawData.get(3));
|
|
this.rawData.set(13,oRawData.get(7));
|
|
this.rawData.set(14,oRawData.get(11));
|
|
}
|
|
,get_determinant: function() {
|
|
return (this.rawData.get(0) * this.rawData.get(5) - this.rawData.get(4) * this.rawData.get(1)) * (this.rawData.get(10) * this.rawData.get(15) - this.rawData.get(14) * this.rawData.get(11)) - (this.rawData.get(0) * this.rawData.get(9) - this.rawData.get(8) * this.rawData.get(1)) * (this.rawData.get(6) * this.rawData.get(15) - this.rawData.get(14) * this.rawData.get(7)) + (this.rawData.get(0) * this.rawData.get(13) - this.rawData.get(12) * this.rawData.get(1)) * (this.rawData.get(6) * this.rawData.get(11) - this.rawData.get(10) * this.rawData.get(7)) + (this.rawData.get(4) * this.rawData.get(9) - this.rawData.get(8) * this.rawData.get(5)) * (this.rawData.get(2) * this.rawData.get(15) - this.rawData.get(14) * this.rawData.get(3)) - (this.rawData.get(4) * this.rawData.get(13) - this.rawData.get(12) * this.rawData.get(5)) * (this.rawData.get(2) * this.rawData.get(11) - this.rawData.get(10) * this.rawData.get(3)) + (this.rawData.get(8) * this.rawData.get(13) - this.rawData.get(12) * this.rawData.get(9)) * (this.rawData.get(2) * this.rawData.get(7) - this.rawData.get(6) * this.rawData.get(3));
|
|
}
|
|
,get_position: function() {
|
|
return new openfl_geom_Vector3D(this.rawData.get(12),this.rawData.get(13),this.rawData.get(14));
|
|
}
|
|
,set_position: function(val) {
|
|
this.rawData.set(12,val.x);
|
|
this.rawData.set(13,val.y);
|
|
this.rawData.set(14,val.z);
|
|
return val;
|
|
}
|
|
,__class__: openfl_geom_Matrix3D
|
|
,__properties__: {set_position:"set_position",get_position:"get_position",get_determinant:"get_determinant"}
|
|
};
|
|
var openfl_geom_Orientation3D = {};
|
|
openfl_geom_Orientation3D.fromString = function(value) {
|
|
switch(value) {
|
|
case "axisAngle":
|
|
return 0;
|
|
case "eulerAngles":
|
|
return 1;
|
|
case "quaternion":
|
|
return 2;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_geom_Orientation3D.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "axisAngle";
|
|
case 1:
|
|
return "eulerAngles";
|
|
case 2:
|
|
return "quaternion";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
var openfl_geom_Transform = function(displayObject) {
|
|
this.__colorTransform = new openfl_geom_ColorTransform();
|
|
this.concatenatedColorTransform = new openfl_geom_ColorTransform();
|
|
this.pixelBounds = new openfl_geom_Rectangle();
|
|
this.__displayObject = displayObject;
|
|
this.__hasMatrix = true;
|
|
};
|
|
$hxClasses["openfl.geom.Transform"] = openfl_geom_Transform;
|
|
openfl_geom_Transform.__name__ = "openfl.geom.Transform";
|
|
openfl_geom_Transform.prototype = {
|
|
concatenatedColorTransform: null
|
|
,pixelBounds: null
|
|
,__colorTransform: null
|
|
,__displayObject: null
|
|
,__hasMatrix: null
|
|
,__hasMatrix3D: null
|
|
,get_colorTransform: function() {
|
|
return this.__colorTransform;
|
|
}
|
|
,set_colorTransform: function(value) {
|
|
if(!this.__colorTransform.__equals(value,false)) {
|
|
this.__colorTransform.__copyFrom(value);
|
|
if(value != null) {
|
|
this.__displayObject.set_alpha(value.alphaMultiplier);
|
|
}
|
|
var _this = this.__displayObject;
|
|
if(!_this.__renderDirty) {
|
|
_this.__renderDirty = true;
|
|
_this.__setParentRenderDirty();
|
|
}
|
|
}
|
|
return this.__colorTransform;
|
|
}
|
|
,get_concatenatedMatrix: function() {
|
|
if(this.__hasMatrix) {
|
|
return this.__displayObject.__getWorldTransform().clone();
|
|
}
|
|
return null;
|
|
}
|
|
,get_matrix: function() {
|
|
if(this.__hasMatrix) {
|
|
return this.__displayObject.__transform.clone();
|
|
}
|
|
return null;
|
|
}
|
|
,set_matrix: function(value) {
|
|
if(value == null) {
|
|
this.__hasMatrix = false;
|
|
return null;
|
|
}
|
|
this.__hasMatrix = true;
|
|
this.__hasMatrix3D = false;
|
|
if(this.__displayObject != null) {
|
|
this.__setTransform(value.a,value.b,value.c,value.d,value.tx,value.ty);
|
|
}
|
|
return value;
|
|
}
|
|
,get_matrix3D: function() {
|
|
if(this.__hasMatrix3D) {
|
|
var matrix = this.__displayObject.__transform;
|
|
return new openfl_geom_Matrix3D(openfl_Vector.toFloatVector(null,null,null,[matrix.a,matrix.b,0.0,0.0,matrix.c,matrix.d,0.0,0.0,0.0,0.0,1.0,0.0,matrix.tx,matrix.ty,0.0,1.0]));
|
|
}
|
|
return null;
|
|
}
|
|
,set_matrix3D: function(value) {
|
|
if(value == null) {
|
|
this.__hasMatrix3D = false;
|
|
return null;
|
|
}
|
|
this.__hasMatrix = false;
|
|
this.__hasMatrix3D = true;
|
|
this.__setTransform(value.rawData.get(0),value.rawData.get(1),value.rawData.get(5),value.rawData.get(6),value.rawData.get(12),value.rawData.get(13));
|
|
return value;
|
|
}
|
|
,__setTransform: function(a,b,c,d,tx,ty) {
|
|
if(this.__displayObject != null) {
|
|
var transform = this.__displayObject.__transform;
|
|
if(transform.a == a && transform.b == b && transform.c == c && transform.d == d && transform.tx == tx && transform.ty == ty) {
|
|
return;
|
|
}
|
|
var scaleX = 0.0;
|
|
var scaleY = 0.0;
|
|
if(b == 0) {
|
|
scaleX = a;
|
|
} else {
|
|
scaleX = Math.sqrt(a * a + b * b);
|
|
}
|
|
if(c == 0) {
|
|
scaleY = d;
|
|
} else {
|
|
scaleY = Math.sqrt(c * c + d * d);
|
|
}
|
|
this.__displayObject.__scaleX = scaleX;
|
|
this.__displayObject.__scaleY = scaleY;
|
|
var rotation = 180 / Math.PI * Math.atan2(d,c) - 90;
|
|
if(rotation != this.__displayObject.__rotation) {
|
|
this.__displayObject.__rotation = rotation;
|
|
var radians = rotation * (Math.PI / 180);
|
|
this.__displayObject.__rotationSine = Math.sin(radians);
|
|
this.__displayObject.__rotationCosine = Math.cos(radians);
|
|
}
|
|
transform.a = a;
|
|
transform.b = b;
|
|
transform.c = c;
|
|
transform.d = d;
|
|
transform.tx = tx;
|
|
transform.ty = ty;
|
|
this.__displayObject.__setTransformDirty();
|
|
}
|
|
}
|
|
,__class__: openfl_geom_Transform
|
|
,__properties__: {set_matrix3D:"set_matrix3D",get_matrix3D:"get_matrix3D",set_matrix:"set_matrix",get_matrix:"get_matrix",get_concatenatedMatrix:"get_concatenatedMatrix",set_colorTransform:"set_colorTransform",get_colorTransform:"get_colorTransform"}
|
|
};
|
|
var openfl_geom_Vector3D = function(x,y,z,w) {
|
|
if(w == null) {
|
|
w = 0;
|
|
}
|
|
if(z == null) {
|
|
z = 0;
|
|
}
|
|
if(y == null) {
|
|
y = 0;
|
|
}
|
|
if(x == null) {
|
|
x = 0;
|
|
}
|
|
this.w = w;
|
|
this.x = x;
|
|
this.y = y;
|
|
this.z = z;
|
|
};
|
|
$hxClasses["openfl.geom.Vector3D"] = openfl_geom_Vector3D;
|
|
openfl_geom_Vector3D.__name__ = "openfl.geom.Vector3D";
|
|
openfl_geom_Vector3D.__properties__ = {get_Z_AXIS:"get_Z_AXIS",get_Y_AXIS:"get_Y_AXIS",get_X_AXIS:"get_X_AXIS"};
|
|
openfl_geom_Vector3D.angleBetween = function(a,b) {
|
|
var la = a.get_length();
|
|
var lb = b.get_length();
|
|
var dot = a.dotProduct(b);
|
|
if(la != 0) {
|
|
dot /= la;
|
|
}
|
|
if(lb != 0) {
|
|
dot /= lb;
|
|
}
|
|
return Math.acos(dot);
|
|
};
|
|
openfl_geom_Vector3D.distance = function(pt1,pt2) {
|
|
var x = pt2.x - pt1.x;
|
|
var y = pt2.y - pt1.y;
|
|
var z = pt2.z - pt1.z;
|
|
return Math.sqrt(x * x + y * y + z * z);
|
|
};
|
|
openfl_geom_Vector3D.get_X_AXIS = function() {
|
|
return new openfl_geom_Vector3D(1,0,0);
|
|
};
|
|
openfl_geom_Vector3D.get_Y_AXIS = function() {
|
|
return new openfl_geom_Vector3D(0,1,0);
|
|
};
|
|
openfl_geom_Vector3D.get_Z_AXIS = function() {
|
|
return new openfl_geom_Vector3D(0,0,1);
|
|
};
|
|
openfl_geom_Vector3D.prototype = {
|
|
w: null
|
|
,x: null
|
|
,y: null
|
|
,z: null
|
|
,add: function(a) {
|
|
return new openfl_geom_Vector3D(this.x + a.x,this.y + a.y,this.z + a.z);
|
|
}
|
|
,clone: function() {
|
|
return new openfl_geom_Vector3D(this.x,this.y,this.z,this.w);
|
|
}
|
|
,copyFrom: function(sourceVector3D) {
|
|
this.x = sourceVector3D.x;
|
|
this.y = sourceVector3D.y;
|
|
this.z = sourceVector3D.z;
|
|
}
|
|
,crossProduct: function(a) {
|
|
return new openfl_geom_Vector3D(this.y * a.z - this.z * a.y,this.z * a.x - this.x * a.z,this.x * a.y - this.y * a.x,1);
|
|
}
|
|
,decrementBy: function(a) {
|
|
this.x -= a.x;
|
|
this.y -= a.y;
|
|
this.z -= a.z;
|
|
}
|
|
,dotProduct: function(a) {
|
|
return this.x * a.x + this.y * a.y + this.z * a.z;
|
|
}
|
|
,equals: function(toCompare,allFour) {
|
|
if(allFour == null) {
|
|
allFour = false;
|
|
}
|
|
if(this.x == toCompare.x && this.y == toCompare.y && this.z == toCompare.z) {
|
|
if(allFour) {
|
|
return this.w == toCompare.w;
|
|
} else {
|
|
return true;
|
|
}
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,incrementBy: function(a) {
|
|
this.x += a.x;
|
|
this.y += a.y;
|
|
this.z += a.z;
|
|
}
|
|
,nearEquals: function(toCompare,tolerance,allFour) {
|
|
if(allFour == null) {
|
|
allFour = false;
|
|
}
|
|
if(Math.abs(this.x - toCompare.x) < tolerance && Math.abs(this.y - toCompare.y) < tolerance && Math.abs(this.z - toCompare.z) < tolerance) {
|
|
if(!(!allFour)) {
|
|
return Math.abs(this.w - toCompare.w) < tolerance;
|
|
} else {
|
|
return true;
|
|
}
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,negate: function() {
|
|
this.x *= -1;
|
|
this.y *= -1;
|
|
this.z *= -1;
|
|
}
|
|
,normalize: function() {
|
|
var l = this.get_length();
|
|
if(l != 0) {
|
|
this.x /= l;
|
|
this.y /= l;
|
|
this.z /= l;
|
|
}
|
|
return l;
|
|
}
|
|
,project: function() {
|
|
this.x /= this.w;
|
|
this.y /= this.w;
|
|
this.z /= this.w;
|
|
}
|
|
,scaleBy: function(s) {
|
|
this.x *= s;
|
|
this.y *= s;
|
|
this.z *= s;
|
|
}
|
|
,setTo: function(xa,ya,za) {
|
|
this.x = xa;
|
|
this.y = ya;
|
|
this.z = za;
|
|
}
|
|
,subtract: function(a) {
|
|
return new openfl_geom_Vector3D(this.x - a.x,this.y - a.y,this.z - a.z);
|
|
}
|
|
,toString: function() {
|
|
return "Vector3D(" + this.x + ", " + this.y + ", " + this.z + ")";
|
|
}
|
|
,get_length: function() {
|
|
return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z);
|
|
}
|
|
,get_lengthSquared: function() {
|
|
return this.x * this.x + this.y * this.y + this.z * this.z;
|
|
}
|
|
,__class__: openfl_geom_Vector3D
|
|
,__properties__: {get_lengthSquared:"get_lengthSquared",get_length:"get_length"}
|
|
};
|
|
var openfl_media_ID3Info = function() {
|
|
};
|
|
$hxClasses["openfl.media.ID3Info"] = openfl_media_ID3Info;
|
|
openfl_media_ID3Info.__name__ = "openfl.media.ID3Info";
|
|
openfl_media_ID3Info.prototype = {
|
|
album: null
|
|
,artist: null
|
|
,comment: null
|
|
,genre: null
|
|
,songName: null
|
|
,track: null
|
|
,year: null
|
|
,__class__: openfl_media_ID3Info
|
|
};
|
|
var openfl_media_SoundChannel = function(source,soundTransform) {
|
|
openfl_events_EventDispatcher.call(this,this);
|
|
this.leftPeak = 1;
|
|
this.rightPeak = 1;
|
|
if(soundTransform != null) {
|
|
this.__soundTransform = soundTransform;
|
|
} else {
|
|
this.__soundTransform = new openfl_media_SoundTransform();
|
|
}
|
|
if(source != null) {
|
|
this.__source = source;
|
|
this.__source.onComplete.add($bind(this,this.source_onComplete));
|
|
this.__isValid = true;
|
|
this.__source.play();
|
|
}
|
|
openfl_media_SoundMixer.__registerSoundChannel(this);
|
|
};
|
|
$hxClasses["openfl.media.SoundChannel"] = openfl_media_SoundChannel;
|
|
openfl_media_SoundChannel.__name__ = "openfl.media.SoundChannel";
|
|
openfl_media_SoundChannel.__super__ = openfl_events_EventDispatcher;
|
|
openfl_media_SoundChannel.prototype = $extend(openfl_events_EventDispatcher.prototype,{
|
|
leftPeak: null
|
|
,rightPeak: null
|
|
,__isValid: null
|
|
,__soundTransform: null
|
|
,__source: null
|
|
,stop: function() {
|
|
openfl_media_SoundMixer.__unregisterSoundChannel(this);
|
|
if(!this.__isValid) {
|
|
return;
|
|
}
|
|
this.__source.stop();
|
|
this.__dispose();
|
|
}
|
|
,__dispose: function() {
|
|
if(!this.__isValid) {
|
|
return;
|
|
}
|
|
this.__source.onComplete.remove($bind(this,this.source_onComplete));
|
|
this.__source.dispose();
|
|
this.__source = null;
|
|
this.__isValid = false;
|
|
}
|
|
,__updateTransform: function() {
|
|
this.set_soundTransform(this.get_soundTransform());
|
|
}
|
|
,get_position: function() {
|
|
if(!this.__isValid) {
|
|
return 0;
|
|
}
|
|
return this.__source.get_currentTime() + this.__source.offset;
|
|
}
|
|
,set_position: function(value) {
|
|
if(!this.__isValid) {
|
|
return 0;
|
|
}
|
|
this.__source.set_currentTime((value | 0) - this.__source.offset);
|
|
return value;
|
|
}
|
|
,get_soundTransform: function() {
|
|
return this.__soundTransform.clone();
|
|
}
|
|
,set_soundTransform: function(value) {
|
|
if(value != null) {
|
|
this.__soundTransform.pan = value.pan;
|
|
this.__soundTransform.volume = value.volume;
|
|
var pan = openfl_media_SoundMixer.__soundTransform.pan + this.__soundTransform.pan;
|
|
if(pan < -1) {
|
|
pan = -1;
|
|
}
|
|
if(pan > 1) {
|
|
pan = 1;
|
|
}
|
|
var volume = openfl_media_SoundMixer.__soundTransform.volume * this.__soundTransform.volume;
|
|
if(this.__isValid) {
|
|
this.__source.set_gain(volume);
|
|
var position = this.__source.get_position();
|
|
position.x = pan;
|
|
position.z = -1 * Math.sqrt(1 - Math.pow(pan,2));
|
|
this.__source.set_position(position);
|
|
return value;
|
|
}
|
|
}
|
|
return value;
|
|
}
|
|
,source_onComplete: function() {
|
|
openfl_media_SoundMixer.__unregisterSoundChannel(this);
|
|
this.__dispose();
|
|
this.dispatchEvent(new openfl_events_Event("soundComplete"));
|
|
}
|
|
,__class__: openfl_media_SoundChannel
|
|
,__properties__: {set_soundTransform:"set_soundTransform",get_soundTransform:"get_soundTransform",set_position:"set_position",get_position:"get_position"}
|
|
});
|
|
var openfl_media_SoundLoaderContext = function(bufferTime,checkPolicyFile) {
|
|
if(checkPolicyFile == null) {
|
|
checkPolicyFile = false;
|
|
}
|
|
if(bufferTime == null) {
|
|
bufferTime = 1000;
|
|
}
|
|
this.bufferTime = bufferTime;
|
|
this.checkPolicyFile = checkPolicyFile;
|
|
};
|
|
$hxClasses["openfl.media.SoundLoaderContext"] = openfl_media_SoundLoaderContext;
|
|
openfl_media_SoundLoaderContext.__name__ = "openfl.media.SoundLoaderContext";
|
|
openfl_media_SoundLoaderContext.prototype = {
|
|
bufferTime: null
|
|
,checkPolicyFile: null
|
|
,__class__: openfl_media_SoundLoaderContext
|
|
};
|
|
var openfl_media_SoundTransform = function(vol,panning) {
|
|
if(panning == null) {
|
|
panning = 0;
|
|
}
|
|
if(vol == null) {
|
|
vol = 1;
|
|
}
|
|
this.volume = vol;
|
|
this.pan = panning;
|
|
this.leftToLeft = 0;
|
|
this.leftToRight = 0;
|
|
this.rightToLeft = 0;
|
|
this.rightToRight = 0;
|
|
};
|
|
$hxClasses["openfl.media.SoundTransform"] = openfl_media_SoundTransform;
|
|
openfl_media_SoundTransform.__name__ = "openfl.media.SoundTransform";
|
|
openfl_media_SoundTransform.prototype = {
|
|
leftToLeft: null
|
|
,leftToRight: null
|
|
,pan: null
|
|
,rightToLeft: null
|
|
,rightToRight: null
|
|
,volume: null
|
|
,clone: function() {
|
|
return new openfl_media_SoundTransform(this.volume,this.pan);
|
|
}
|
|
,__class__: openfl_media_SoundTransform
|
|
};
|
|
var openfl_media_SoundMixer = function() { };
|
|
$hxClasses["openfl.media.SoundMixer"] = openfl_media_SoundMixer;
|
|
openfl_media_SoundMixer.__name__ = "openfl.media.SoundMixer";
|
|
openfl_media_SoundMixer.__properties__ = {set_soundTransform:"set_soundTransform",get_soundTransform:"get_soundTransform"};
|
|
openfl_media_SoundMixer.bufferTime = null;
|
|
openfl_media_SoundMixer.areSoundsInaccessible = function() {
|
|
return false;
|
|
};
|
|
openfl_media_SoundMixer.stopAll = function() {
|
|
var _g = 0;
|
|
var _g1 = openfl_media_SoundMixer.__soundChannels;
|
|
while(_g < _g1.length) {
|
|
var channel = _g1[_g];
|
|
++_g;
|
|
channel.stop();
|
|
}
|
|
};
|
|
openfl_media_SoundMixer.__registerSoundChannel = function(soundChannel) {
|
|
openfl_media_SoundMixer.__soundChannels.push(soundChannel);
|
|
};
|
|
openfl_media_SoundMixer.__unregisterSoundChannel = function(soundChannel) {
|
|
HxOverrides.remove(openfl_media_SoundMixer.__soundChannels,soundChannel);
|
|
};
|
|
openfl_media_SoundMixer.get_soundTransform = function() {
|
|
return openfl_media_SoundMixer.__soundTransform;
|
|
};
|
|
openfl_media_SoundMixer.set_soundTransform = function(value) {
|
|
openfl_media_SoundMixer.__soundTransform = value.clone();
|
|
var _g = 0;
|
|
var _g1 = openfl_media_SoundMixer.__soundChannels;
|
|
while(_g < _g1.length) {
|
|
var channel = _g1[_g];
|
|
++_g;
|
|
channel.__updateTransform();
|
|
}
|
|
return value;
|
|
};
|
|
var openfl_net_FileFilter = function(description,extension,macType) {
|
|
this.description = description;
|
|
this.extension = extension;
|
|
this.macType = macType;
|
|
};
|
|
$hxClasses["openfl.net.FileFilter"] = openfl_net_FileFilter;
|
|
openfl_net_FileFilter.__name__ = "openfl.net.FileFilter";
|
|
openfl_net_FileFilter.prototype = {
|
|
description: null
|
|
,extension: null
|
|
,macType: null
|
|
,__class__: openfl_net_FileFilter
|
|
};
|
|
var openfl_net_FileReference = function() {
|
|
openfl_events_EventDispatcher.call(this);
|
|
this.__inputControl = window.document.createElement("input");
|
|
this.__inputControl.setAttribute("type","file");
|
|
this.__inputControl.onclick = function(e) {
|
|
e.cancelBubble = true;
|
|
e.stopPropagation();
|
|
};
|
|
};
|
|
$hxClasses["openfl.net.FileReference"] = openfl_net_FileReference;
|
|
openfl_net_FileReference.__name__ = "openfl.net.FileReference";
|
|
openfl_net_FileReference.__super__ = openfl_events_EventDispatcher;
|
|
openfl_net_FileReference.prototype = $extend(openfl_events_EventDispatcher.prototype,{
|
|
creationDate: null
|
|
,creator: null
|
|
,data: null
|
|
,modificationDate: null
|
|
,name: null
|
|
,size: null
|
|
,type: null
|
|
,__data: null
|
|
,__path: null
|
|
,__urlLoader: null
|
|
,__inputControl: null
|
|
,browse: function(typeFilter) {
|
|
var _gthis = this;
|
|
this.__data = null;
|
|
this.__path = null;
|
|
var filter = null;
|
|
if(typeFilter != null) {
|
|
var filters = [];
|
|
var _g = 0;
|
|
while(_g < typeFilter.length) {
|
|
var type = typeFilter[_g];
|
|
++_g;
|
|
filters.push(StringTools.replace(StringTools.replace(type.extension,"*.","."),";",","));
|
|
}
|
|
filter = filters.join(",");
|
|
}
|
|
if(filter != null) {
|
|
this.__inputControl.setAttribute("accept",filter);
|
|
}
|
|
this.__inputControl.onchange = function() {
|
|
var file = _gthis.__inputControl.files[0];
|
|
var tmp = new Date(file.lastModified);
|
|
_gthis.modificationDate = tmp;
|
|
_gthis.creationDate = _gthis.modificationDate;
|
|
_gthis.size = file.size;
|
|
var tmp = haxe_io_Path.extension(file.name);
|
|
_gthis.type = "." + tmp;
|
|
_gthis.name = haxe_io_Path.withoutDirectory(file.name);
|
|
_gthis.__path = file.name;
|
|
_gthis.dispatchEvent(new openfl_events_Event("select"));
|
|
};
|
|
this.__inputControl.click();
|
|
return true;
|
|
}
|
|
,cancel: function() {
|
|
if(this.__urlLoader != null) {
|
|
this.__urlLoader.close();
|
|
}
|
|
}
|
|
,download: function(request,defaultFileName) {
|
|
this.__data = null;
|
|
this.__path = null;
|
|
this.__urlLoader = new openfl_net_URLLoader();
|
|
this.__urlLoader.addEventListener("complete",$bind(this,this.urlLoader_onComplete));
|
|
this.__urlLoader.addEventListener("ioError",$bind(this,this.urlLoader_onIOError));
|
|
this.__urlLoader.addEventListener("progress",$bind(this,this.urlLoader_onProgress));
|
|
this.__urlLoader.load(request);
|
|
var saveFileDialog = new lime_ui_FileDialog();
|
|
saveFileDialog.onCancel.add($bind(this,this.saveFileDialog_onCancel));
|
|
saveFileDialog.onSelect.add($bind(this,this.saveFileDialog_onSelect));
|
|
saveFileDialog.browse(lime_ui_FileDialogType.SAVE,defaultFileName != null ? haxe_io_Path.extension(defaultFileName) : null,defaultFileName);
|
|
}
|
|
,load: function() {
|
|
var _gthis = this;
|
|
var file = this.__inputControl.files[0];
|
|
var reader = new FileReader();
|
|
reader.onload = function(evt) {
|
|
_gthis.data = openfl_utils_ByteArray.fromArrayBuffer(evt.target.result);
|
|
_gthis.openFileDialog_onComplete();
|
|
};
|
|
reader.readAsArrayBuffer(file);
|
|
}
|
|
,save: function(data,defaultFileName) {
|
|
this.__data = null;
|
|
this.__path = null;
|
|
if(data == null) {
|
|
return;
|
|
}
|
|
if(((data) instanceof openfl_utils_ByteArrayData)) {
|
|
this.__data = data;
|
|
} else {
|
|
var this1 = new openfl_utils_ByteArrayData(0);
|
|
this.__data = this1;
|
|
this.__data.writeUTFBytes(Std.string(data));
|
|
}
|
|
var saveFileDialog = new lime_ui_FileDialog();
|
|
saveFileDialog.onCancel.add($bind(this,this.saveFileDialog_onCancel));
|
|
saveFileDialog.onSave.add($bind(this,this.saveFileDialog_onSave));
|
|
saveFileDialog.save(openfl_utils_ByteArray.toBytes(this.__data),defaultFileName != null ? haxe_io_Path.extension(defaultFileName) : null,defaultFileName);
|
|
}
|
|
,upload: function(request,uploadDataFieldName,testUpload) {
|
|
if(testUpload == null) {
|
|
testUpload = false;
|
|
}
|
|
if(uploadDataFieldName == null) {
|
|
uploadDataFieldName = "Filedata";
|
|
}
|
|
openfl__$internal_Lib.notImplemented({ fileName : "openfl/net/FileReference.hx", lineNumber : 206, className : "openfl.net.FileReference", methodName : "upload"});
|
|
}
|
|
,openFileDialog_onCancel: function() {
|
|
this.dispatchEvent(new openfl_events_Event("cancel"));
|
|
}
|
|
,openFileDialog_onComplete: function() {
|
|
this.dispatchEvent(new openfl_events_Event("complete"));
|
|
}
|
|
,openFileDialog_onSelect: function(path) {
|
|
this.name = haxe_io_Path.withoutDirectory(path);
|
|
this.__path = path;
|
|
this.dispatchEvent(new openfl_events_Event("select"));
|
|
}
|
|
,saveFileDialog_onCancel: function() {
|
|
this.dispatchEvent(new openfl_events_Event("cancel"));
|
|
}
|
|
,saveFileDialog_onSave: function(path) {
|
|
var _gthis = this;
|
|
haxe_Timer.delay(function() {
|
|
_gthis.dispatchEvent(new openfl_events_Event("complete"));
|
|
},1);
|
|
}
|
|
,saveFileDialog_onSelect: function(path) {
|
|
this.dispatchEvent(new openfl_events_Event("select"));
|
|
}
|
|
,urlLoader_onComplete: function(event) {
|
|
this.dispatchEvent(event);
|
|
}
|
|
,urlLoader_onIOError: function(event) {
|
|
this.dispatchEvent(event);
|
|
}
|
|
,urlLoader_onProgress: function(event) {
|
|
this.dispatchEvent(event);
|
|
}
|
|
,__class__: openfl_net_FileReference
|
|
});
|
|
var openfl_net_NetConnection = function() {
|
|
openfl_events_EventDispatcher.call(this);
|
|
};
|
|
$hxClasses["openfl.net.NetConnection"] = openfl_net_NetConnection;
|
|
openfl_net_NetConnection.__name__ = "openfl.net.NetConnection";
|
|
openfl_net_NetConnection.__super__ = openfl_events_EventDispatcher;
|
|
openfl_net_NetConnection.prototype = $extend(openfl_events_EventDispatcher.prototype,{
|
|
connect: function(command,p1,p2,p3,p4,p5) {
|
|
if(command != null) {
|
|
throw haxe_Exception.thrown("Error: Can only connect in \"HTTP streaming\" mode");
|
|
}
|
|
this.dispatchEvent(new openfl_events_NetStatusEvent("netStatus",false,true,{ code : "NetConnection.Connect.Success"}));
|
|
}
|
|
,__class__: openfl_net_NetConnection
|
|
});
|
|
var openfl_net_NetStream = function(connection,peerID) {
|
|
openfl_events_EventDispatcher.call(this);
|
|
this.__connection = connection;
|
|
this.__soundTransform = new openfl_media_SoundTransform();
|
|
this.__video = window.document.createElement("video");
|
|
this.__video.setAttribute("playsinline","");
|
|
this.__video.setAttribute("webkit-playsinline","");
|
|
this.__video.setAttribute("crossorigin","anonymous");
|
|
this.__video.addEventListener("error",$bind(this,this.video_onError),false);
|
|
this.__video.addEventListener("waiting",$bind(this,this.video_onWaiting),false);
|
|
this.__video.addEventListener("ended",$bind(this,this.video_onEnd),false);
|
|
this.__video.addEventListener("pause",$bind(this,this.video_onPause),false);
|
|
this.__video.addEventListener("seeking",$bind(this,this.video_onSeeking),false);
|
|
this.__video.addEventListener("playing",$bind(this,this.video_onPlaying),false);
|
|
this.__video.addEventListener("timeupdate",$bind(this,this.video_onTimeUpdate),false);
|
|
this.__video.addEventListener("loadstart",$bind(this,this.video_onLoadStart),false);
|
|
this.__video.addEventListener("stalled",$bind(this,this.video_onStalled),false);
|
|
this.__video.addEventListener("durationchanged",$bind(this,this.video_onDurationChanged),false);
|
|
this.__video.addEventListener("canplay",$bind(this,this.video_onCanPlay),false);
|
|
this.__video.addEventListener("canplaythrough",$bind(this,this.video_onCanPlayThrough),false);
|
|
this.__video.addEventListener("loadedmetadata",$bind(this,this.video_onLoadMetaData),false);
|
|
};
|
|
$hxClasses["openfl.net.NetStream"] = openfl_net_NetStream;
|
|
openfl_net_NetStream.__name__ = "openfl.net.NetStream";
|
|
openfl_net_NetStream.__super__ = openfl_events_EventDispatcher;
|
|
openfl_net_NetStream.prototype = $extend(openfl_events_EventDispatcher.prototype,{
|
|
audioCodec: null
|
|
,bufferLength: null
|
|
,bufferTime: null
|
|
,bytesLoaded: null
|
|
,bytesTotal: null
|
|
,checkPolicyFile: null
|
|
,client: null
|
|
,currentFPS: null
|
|
,decodedFrames: null
|
|
,liveDelay: null
|
|
,objectEncoding: null
|
|
,time: null
|
|
,videoCode: null
|
|
,__closed: null
|
|
,__connection: null
|
|
,__soundTransform: null
|
|
,__timer: null
|
|
,__video: null
|
|
,close: function() {
|
|
if(this.__video == null) {
|
|
return;
|
|
}
|
|
this.__closed = true;
|
|
this.__video.pause();
|
|
this.__video.src = "";
|
|
this.time = 0;
|
|
}
|
|
,dispose: function() {
|
|
this.close();
|
|
this.__video = null;
|
|
}
|
|
,pause: function() {
|
|
if(this.__video != null) {
|
|
this.__video.pause();
|
|
}
|
|
}
|
|
,play: function(url,p1,p2,p3,p4,p5) {
|
|
if(this.__video == null) {
|
|
return;
|
|
}
|
|
this.__video.volume = openfl_media_SoundMixer.__soundTransform.volume * this.__soundTransform.volume;
|
|
if(typeof(url) == "string") {
|
|
this.__video.src = url;
|
|
} else {
|
|
this.__video.srcObject = url;
|
|
}
|
|
this.__video.play();
|
|
}
|
|
,requestVideoStatus: function() {
|
|
var _gthis = this;
|
|
if(this.__video == null) {
|
|
return;
|
|
}
|
|
if(this.__timer == null) {
|
|
this.__timer = new haxe_Timer(1);
|
|
}
|
|
this.__timer.run = function() {
|
|
if(_gthis.__video.paused) {
|
|
_gthis.__playStatus("NetStream.Play.pause");
|
|
} else {
|
|
_gthis.__playStatus("NetStream.Play.playing");
|
|
}
|
|
_gthis.__timer.stop();
|
|
};
|
|
}
|
|
,resume: function() {
|
|
if(this.__video != null) {
|
|
this.__video.play();
|
|
}
|
|
}
|
|
,seek: function(time) {
|
|
if(this.__video == null) {
|
|
return;
|
|
}
|
|
if(time < 0) {
|
|
time = 0;
|
|
} else if(time > this.__video.duration) {
|
|
time = this.__video.duration;
|
|
}
|
|
this.__dispatchStatus("NetStream.SeekStart.Notify");
|
|
this.__video.currentTime = time;
|
|
}
|
|
,togglePause: function() {
|
|
if(this.__video == null) {
|
|
return;
|
|
}
|
|
if(this.__video.paused) {
|
|
this.__video.play();
|
|
} else {
|
|
this.__video.pause();
|
|
}
|
|
}
|
|
,__dispatchStatus: function(code) {
|
|
var event = new openfl_events_NetStatusEvent("netStatus",false,false,{ code : code});
|
|
this.__connection.dispatchEvent(event);
|
|
this.dispatchEvent(event);
|
|
}
|
|
,__playStatus: function(code) {
|
|
if(this.__video == null) {
|
|
return;
|
|
}
|
|
if(this.client != null) {
|
|
try {
|
|
var handler = this.client.onPlayStatus;
|
|
handler({ code : code, duration : this.__video.duration, position : this.__video.currentTime, speed : this.__video.playbackRate, start : this.__video.startTime});
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
}
|
|
}
|
|
}
|
|
,video_onCanPlay: function(event) {
|
|
this.__playStatus("NetStream.Play.canplay");
|
|
}
|
|
,video_onCanPlayThrough: function(event) {
|
|
this.__playStatus("NetStream.Play.canplaythrough");
|
|
}
|
|
,video_onDurationChanged: function(event) {
|
|
this.__playStatus("NetStream.Play.durationchanged");
|
|
}
|
|
,video_onEnd: function(event) {
|
|
this.__dispatchStatus("NetStream.Play.Stop");
|
|
this.__dispatchStatus("NetStream.Play.Complete");
|
|
this.__playStatus("NetStream.Play.Complete");
|
|
}
|
|
,video_onError: function(event) {
|
|
this.__dispatchStatus("NetStream.Play.Stop");
|
|
this.__playStatus("NetStream.Play.error");
|
|
}
|
|
,video_onLoadMetaData: function(event) {
|
|
if(this.__video == null) {
|
|
return;
|
|
}
|
|
if(this.client != null) {
|
|
try {
|
|
var handler = this.client.onMetaData;
|
|
handler({ width : this.__video.videoWidth, height : this.__video.videoHeight, duration : this.__video.duration});
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
}
|
|
}
|
|
}
|
|
,video_onLoadStart: function(event) {
|
|
this.__playStatus("NetStream.Play.loadstart");
|
|
}
|
|
,video_onPause: function(event) {
|
|
this.__playStatus("NetStream.Play.pause");
|
|
}
|
|
,video_onPlaying: function(event) {
|
|
this.__dispatchStatus("NetStream.Play.Start");
|
|
this.__playStatus("NetStream.Play.playing");
|
|
}
|
|
,video_onSeeking: function(event) {
|
|
this.__playStatus("NetStream.Play.seeking");
|
|
this.__dispatchStatus("NetStream.Seek.Complete");
|
|
}
|
|
,video_onStalled: function(event) {
|
|
this.__playStatus("NetStream.Play.stalled");
|
|
}
|
|
,video_onTimeUpdate: function(event) {
|
|
if(this.__video == null) {
|
|
return;
|
|
}
|
|
this.time = this.__video.currentTime;
|
|
this.__playStatus("NetStream.Play.timeupdate");
|
|
}
|
|
,video_onWaiting: function(event) {
|
|
this.__playStatus("NetStream.Play.waiting");
|
|
}
|
|
,get_soundTransform: function() {
|
|
return this.__soundTransform.clone();
|
|
}
|
|
,set_soundTransform: function(value) {
|
|
if(value != null) {
|
|
this.__soundTransform.pan = value.pan;
|
|
this.__soundTransform.volume = value.volume;
|
|
if(this.__video != null) {
|
|
this.__video.volume = openfl_media_SoundMixer.__soundTransform.volume * this.__soundTransform.volume;
|
|
}
|
|
}
|
|
return value;
|
|
}
|
|
,get_speed: function() {
|
|
if(this.__video != null) {
|
|
return this.__video.playbackRate;
|
|
} else {
|
|
return 1;
|
|
}
|
|
}
|
|
,set_speed: function(value) {
|
|
if(this.__video != null) {
|
|
return this.__video.playbackRate = value;
|
|
} else {
|
|
return value;
|
|
}
|
|
}
|
|
,__class__: openfl_net_NetStream
|
|
,__properties__: {set_speed:"set_speed",get_speed:"get_speed",set_soundTransform:"set_soundTransform",get_soundTransform:"get_soundTransform"}
|
|
});
|
|
var openfl_net_SharedObject = function() {
|
|
openfl_events_EventDispatcher.call(this);
|
|
this.client = this;
|
|
this.objectEncoding = openfl_net_SharedObject.defaultObjectEncoding;
|
|
};
|
|
$hxClasses["openfl.net.SharedObject"] = openfl_net_SharedObject;
|
|
openfl_net_SharedObject.__name__ = "openfl.net.SharedObject";
|
|
openfl_net_SharedObject.__sharedObjects = null;
|
|
openfl_net_SharedObject.getLocal = function(name,localPath,secure) {
|
|
if(secure == null) {
|
|
secure = false;
|
|
}
|
|
var illegalValues = [" ","~","%","&","\\",";",":","\"","'",",","<",">","?","#"];
|
|
var allowed = true;
|
|
if(name == null || name == "") {
|
|
allowed = false;
|
|
} else {
|
|
var _g = 0;
|
|
while(_g < illegalValues.length) {
|
|
var value = illegalValues[_g];
|
|
++_g;
|
|
if(name.indexOf(value) > -1) {
|
|
allowed = false;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
if(!allowed) {
|
|
throw haxe_Exception.thrown(new openfl_errors_Error("Error #2134: Cannot create SharedObject."));
|
|
}
|
|
if(openfl_net_SharedObject.__sharedObjects == null) {
|
|
openfl_net_SharedObject.__sharedObjects = new haxe_ds_StringMap();
|
|
if(lime_app_Application.current != null) {
|
|
lime_app_Application.current.onExit.add(openfl_net_SharedObject.application_onExit);
|
|
}
|
|
}
|
|
var id = localPath + "/" + name;
|
|
if(!Object.prototype.hasOwnProperty.call(openfl_net_SharedObject.__sharedObjects.h,id)) {
|
|
var encodedData = null;
|
|
try {
|
|
var storage = js_Browser.getLocalStorage();
|
|
if(localPath == null) {
|
|
if(storage != null) {
|
|
encodedData = storage.getItem(window.location.href + ":" + name);
|
|
storage.removeItem(window.location.href + ":" + name);
|
|
}
|
|
localPath = window.location.pathname;
|
|
}
|
|
if(storage != null && encodedData == null) {
|
|
encodedData = storage.getItem(localPath + ":" + name);
|
|
}
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
}
|
|
var sharedObject = new openfl_net_SharedObject();
|
|
sharedObject.data = { };
|
|
sharedObject.__localPath = localPath;
|
|
sharedObject.__name = name;
|
|
if(encodedData != null && encodedData != "") {
|
|
try {
|
|
var unserializer = new haxe_Unserializer(encodedData);
|
|
unserializer.setResolver({ resolveEnum : Type.resolveEnum, resolveClass : openfl_net_SharedObject.__resolveClass});
|
|
sharedObject.data = unserializer.unserialize();
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
}
|
|
}
|
|
openfl_net_SharedObject.__sharedObjects.h[id] = sharedObject;
|
|
}
|
|
return openfl_net_SharedObject.__sharedObjects.h[id];
|
|
};
|
|
openfl_net_SharedObject.getRemote = function(name,remotePath,persistence,secure) {
|
|
if(secure == null) {
|
|
secure = false;
|
|
}
|
|
if(persistence == null) {
|
|
persistence = false;
|
|
}
|
|
openfl__$internal_Lib.notImplemented({ fileName : "openfl/net/SharedObject.hx", lineNumber : 808, className : "openfl.net.SharedObject", methodName : "getRemote"});
|
|
return null;
|
|
};
|
|
openfl_net_SharedObject.__getPath = function(localPath,name) {
|
|
var path = lime_system_System.get_applicationStorageDirectory() + "/" + localPath + "/";
|
|
name = StringTools.replace(name,"//","/");
|
|
name = StringTools.replace(name,"//","/");
|
|
if(StringTools.startsWith(name,"/")) {
|
|
name = HxOverrides.substr(name,1,null);
|
|
}
|
|
if(StringTools.endsWith(name,"/")) {
|
|
name = name.substring(0,name.length - 1);
|
|
}
|
|
if(name.indexOf("/") > -1) {
|
|
var split = name.split("/");
|
|
name = "";
|
|
var _g = 0;
|
|
var _g1 = split.length - 1;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
name += "#" + split[i] + "/";
|
|
}
|
|
name += split[split.length - 1];
|
|
}
|
|
return path + name + ".sol";
|
|
};
|
|
openfl_net_SharedObject.__mkdir = function(directory) {
|
|
};
|
|
openfl_net_SharedObject.__resolveClass = function(name) {
|
|
if(name != null) {
|
|
if(StringTools.startsWith(name,"neash.")) {
|
|
name = StringTools.replace(name,"neash.","openfl.");
|
|
}
|
|
if(StringTools.startsWith(name,"native.")) {
|
|
name = StringTools.replace(name,"native.","openfl.");
|
|
}
|
|
if(StringTools.startsWith(name,"flash.")) {
|
|
name = StringTools.replace(name,"flash.","openfl.");
|
|
}
|
|
if(StringTools.startsWith(name,"openfl._v2.")) {
|
|
name = StringTools.replace(name,"openfl._v2.","openfl.");
|
|
}
|
|
if(StringTools.startsWith(name,"openfl._legacy.")) {
|
|
name = StringTools.replace(name,"openfl._legacy.","openfl.");
|
|
}
|
|
return $hxClasses[name];
|
|
}
|
|
return null;
|
|
};
|
|
openfl_net_SharedObject.application_onExit = function(_) {
|
|
var sharedObject = haxe_ds_StringMap.valueIterator(openfl_net_SharedObject.__sharedObjects.h);
|
|
while(sharedObject.hasNext()) {
|
|
var sharedObject1 = sharedObject.next();
|
|
sharedObject1.flush();
|
|
}
|
|
};
|
|
openfl_net_SharedObject.__super__ = openfl_events_EventDispatcher;
|
|
openfl_net_SharedObject.prototype = $extend(openfl_events_EventDispatcher.prototype,{
|
|
client: null
|
|
,data: null
|
|
,fps: null
|
|
,objectEncoding: null
|
|
,__localPath: null
|
|
,__name: null
|
|
,clear: function() {
|
|
this.data = { };
|
|
try {
|
|
var storage = js_Browser.getLocalStorage();
|
|
if(storage != null) {
|
|
storage.removeItem(this.__localPath + ":" + this.__name);
|
|
}
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
}
|
|
}
|
|
,close: function() {
|
|
}
|
|
,connect: function(myConnection,params) {
|
|
openfl__$internal_Lib.notImplemented({ fileName : "openfl/net/SharedObject.hx", lineNumber : 392, className : "openfl.net.SharedObject", methodName : "connect"});
|
|
}
|
|
,flush: function(minDiskSpace) {
|
|
if(minDiskSpace == null) {
|
|
minDiskSpace = 0;
|
|
}
|
|
if(Reflect.fields(this.data).length == 0) {
|
|
return 0;
|
|
}
|
|
var encodedData = haxe_Serializer.run(this.data);
|
|
try {
|
|
var storage = js_Browser.getLocalStorage();
|
|
if(storage != null) {
|
|
storage.removeItem(this.__localPath + ":" + this.__name);
|
|
storage.setItem(this.__localPath + ":" + this.__name,encodedData);
|
|
}
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
return 1;
|
|
}
|
|
return 0;
|
|
}
|
|
,send: function(args) {
|
|
openfl__$internal_Lib.notImplemented({ fileName : "openfl/net/SharedObject.hx", lineNumber : 824, className : "openfl.net.SharedObject", methodName : "send"});
|
|
}
|
|
,setDirty: function(propertyName) {
|
|
}
|
|
,setProperty: function(propertyName,value) {
|
|
if(this.data != null) {
|
|
this.data[propertyName] = value;
|
|
}
|
|
}
|
|
,get_size: function() {
|
|
try {
|
|
var d = haxe_Serializer.run(this.data);
|
|
return haxe_io_Bytes.ofString(d).length;
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
return 0;
|
|
}
|
|
}
|
|
,__class__: openfl_net_SharedObject
|
|
,__properties__: {get_size:"get_size"}
|
|
});
|
|
var openfl_net_SharedObjectFlushStatus = {};
|
|
openfl_net_SharedObjectFlushStatus.fromString = function(value) {
|
|
switch(value) {
|
|
case "flushed":
|
|
return 0;
|
|
case "pending":
|
|
return 1;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_net_SharedObjectFlushStatus.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "flushed";
|
|
case 1:
|
|
return "pending";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
var openfl_net_URLLoader = function(request) {
|
|
openfl_events_EventDispatcher.call(this);
|
|
this.bytesLoaded = 0;
|
|
this.bytesTotal = 0;
|
|
this.dataFormat = 1;
|
|
if(request != null) {
|
|
this.load(request);
|
|
}
|
|
};
|
|
$hxClasses["openfl.net.URLLoader"] = openfl_net_URLLoader;
|
|
openfl_net_URLLoader.__name__ = "openfl.net.URLLoader";
|
|
openfl_net_URLLoader.__super__ = openfl_events_EventDispatcher;
|
|
openfl_net_URLLoader.prototype = $extend(openfl_events_EventDispatcher.prototype,{
|
|
bytesLoaded: null
|
|
,bytesTotal: null
|
|
,data: null
|
|
,dataFormat: null
|
|
,__httpRequest: null
|
|
,close: function() {
|
|
if(this.__httpRequest != null) {
|
|
this.__httpRequest.cancel();
|
|
}
|
|
}
|
|
,load: function(request) {
|
|
var _gthis = this;
|
|
if(this.dataFormat == 0) {
|
|
var httpRequest = new lime_net__$HTTPRequest_$openfl_$utils_$ByteArray();
|
|
this.__prepareRequest(httpRequest,request);
|
|
httpRequest.load().onProgress($bind(this,this.httpRequest_onProgress)).onError($bind(this,this.httpRequest_onError)).onComplete(function(data) {
|
|
_gthis.__dispatchStatus();
|
|
_gthis.data = data;
|
|
var event = new openfl_events_Event("complete");
|
|
_gthis.dispatchEvent(event);
|
|
});
|
|
} else {
|
|
var httpRequest = new lime_net__$HTTPRequest_$String();
|
|
this.__prepareRequest(httpRequest,request);
|
|
httpRequest.load().onProgress($bind(this,this.httpRequest_onProgress)).onError($bind(this,this.httpRequest_onError)).onComplete(function(data) {
|
|
_gthis.__dispatchStatus();
|
|
_gthis.data = data;
|
|
var event = new openfl_events_Event("complete");
|
|
_gthis.dispatchEvent(event);
|
|
});
|
|
}
|
|
}
|
|
,__dispatchStatus: function() {
|
|
var event = new openfl_events_HTTPStatusEvent("httpStatus",false,false,this.__httpRequest.responseStatus);
|
|
event.responseURL = this.__httpRequest.uri;
|
|
var headers = [];
|
|
if(this.__httpRequest.enableResponseHeaders && this.__httpRequest.responseHeaders != null) {
|
|
var _g = 0;
|
|
var _g1 = this.__httpRequest.responseHeaders;
|
|
while(_g < _g1.length) {
|
|
var header = _g1[_g];
|
|
++_g;
|
|
headers.push(new openfl_net_URLRequestHeader(header.name,header.value));
|
|
}
|
|
}
|
|
event.responseHeaders = headers;
|
|
this.dispatchEvent(event);
|
|
}
|
|
,__prepareRequest: function(httpRequest,request) {
|
|
this.__httpRequest = httpRequest;
|
|
this.__httpRequest.uri = request.url;
|
|
this.__httpRequest.method = request.method;
|
|
if(request.data != null) {
|
|
if(Type.typeof(request.data) == ValueType.TObject) {
|
|
var fields = Reflect.fields(request.data);
|
|
var _g = 0;
|
|
while(_g < fields.length) {
|
|
var field = fields[_g];
|
|
++_g;
|
|
this.__httpRequest.formData.h[field] = Reflect.field(request.data,field);
|
|
}
|
|
} else if(((request.data) instanceof haxe_io_Bytes)) {
|
|
this.__httpRequest.data = request.data;
|
|
} else {
|
|
this.__httpRequest.data = haxe_io_Bytes.ofString(Std.string(request.data));
|
|
}
|
|
}
|
|
this.__httpRequest.contentType = request.contentType;
|
|
if(request.requestHeaders != null) {
|
|
var _g = 0;
|
|
var _g1 = request.requestHeaders;
|
|
while(_g < _g1.length) {
|
|
var header = _g1[_g];
|
|
++_g;
|
|
this.__httpRequest.headers.push(new lime_net_HTTPRequestHeader(header.name,header.value));
|
|
}
|
|
}
|
|
this.__httpRequest.followRedirects = request.followRedirects;
|
|
this.__httpRequest.timeout = request.idleTimeout | 0;
|
|
this.__httpRequest.withCredentials = request.manageCookies;
|
|
var userAgent = request.userAgent;
|
|
if(userAgent == null) {
|
|
userAgent = "Mozilla/5.0 (Windows; U; en) AppleWebKit/420+ (KHTML, like Gecko) OpenFL/1.0";
|
|
}
|
|
this.__httpRequest.userAgent = request.userAgent;
|
|
this.__httpRequest.enableResponseHeaders = true;
|
|
}
|
|
,httpRequest_onError: function(error) {
|
|
this.__dispatchStatus();
|
|
if(error == 403) {
|
|
var event = new openfl_events_SecurityErrorEvent("securityError");
|
|
event.text = Std.string(error);
|
|
this.dispatchEvent(event);
|
|
} else {
|
|
var event = new openfl_events_IOErrorEvent("ioError");
|
|
event.text = Std.string(error);
|
|
this.dispatchEvent(event);
|
|
}
|
|
}
|
|
,httpRequest_onProgress: function(bytesLoaded,bytesTotal) {
|
|
var event = new openfl_events_ProgressEvent("progress");
|
|
event.bytesLoaded = bytesLoaded;
|
|
event.bytesTotal = bytesTotal;
|
|
this.dispatchEvent(event);
|
|
}
|
|
,__class__: openfl_net_URLLoader
|
|
});
|
|
var openfl_net_URLLoaderDataFormat = {};
|
|
openfl_net_URLLoaderDataFormat.fromString = function(value) {
|
|
switch(value) {
|
|
case "binary":
|
|
return 0;
|
|
case "text":
|
|
return 1;
|
|
case "variables":
|
|
return 2;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_net_URLLoaderDataFormat.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "binary";
|
|
case 1:
|
|
return "text";
|
|
case 2:
|
|
return "variables";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
var openfl_net_URLRequest = function(url) {
|
|
if(url != null) {
|
|
this.url = url;
|
|
}
|
|
this.contentType = null;
|
|
this.followRedirects = openfl_net_URLRequestDefaults.followRedirects;
|
|
if(openfl_net_URLRequestDefaults.idleTimeout > 0) {
|
|
this.idleTimeout = openfl_net_URLRequestDefaults.idleTimeout;
|
|
} else {
|
|
this.idleTimeout = 30000;
|
|
}
|
|
this.manageCookies = openfl_net_URLRequestDefaults.manageCookies;
|
|
this.method = "GET";
|
|
this.requestHeaders = [];
|
|
this.userAgent = openfl_net_URLRequestDefaults.userAgent;
|
|
};
|
|
$hxClasses["openfl.net.URLRequest"] = openfl_net_URLRequest;
|
|
openfl_net_URLRequest.__name__ = "openfl.net.URLRequest";
|
|
openfl_net_URLRequest.prototype = {
|
|
contentType: null
|
|
,data: null
|
|
,followRedirects: null
|
|
,idleTimeout: null
|
|
,manageCookies: null
|
|
,method: null
|
|
,requestHeaders: null
|
|
,url: null
|
|
,userAgent: null
|
|
,__class__: openfl_net_URLRequest
|
|
};
|
|
var openfl_net_URLRequestDefaults = function() { };
|
|
$hxClasses["openfl.net.URLRequestDefaults"] = openfl_net_URLRequestDefaults;
|
|
openfl_net_URLRequestDefaults.__name__ = "openfl.net.URLRequestDefaults";
|
|
openfl_net_URLRequestDefaults.userAgent = null;
|
|
var openfl_net_URLRequestHeader = function(name,value) {
|
|
if(value == null) {
|
|
value = "";
|
|
}
|
|
if(name == null) {
|
|
name = "";
|
|
}
|
|
this.name = name;
|
|
this.value = value;
|
|
};
|
|
$hxClasses["openfl.net.URLRequestHeader"] = openfl_net_URLRequestHeader;
|
|
openfl_net_URLRequestHeader.__name__ = "openfl.net.URLRequestHeader";
|
|
openfl_net_URLRequestHeader.prototype = {
|
|
name: null
|
|
,value: null
|
|
,__class__: openfl_net_URLRequestHeader
|
|
};
|
|
var openfl_sensors_Accelerometer = function() {
|
|
openfl_events_EventDispatcher.call(this);
|
|
openfl_sensors_Accelerometer.initialize();
|
|
this.__interval = 0;
|
|
this.__muted = false;
|
|
this.setRequestedUpdateInterval(openfl_sensors_Accelerometer.defaultInterval);
|
|
};
|
|
$hxClasses["openfl.sensors.Accelerometer"] = openfl_sensors_Accelerometer;
|
|
openfl_sensors_Accelerometer.__name__ = "openfl.sensors.Accelerometer";
|
|
openfl_sensors_Accelerometer.__properties__ = {get_isSupported:"get_isSupported"};
|
|
openfl_sensors_Accelerometer.initialize = function() {
|
|
if(!openfl_sensors_Accelerometer.initialized) {
|
|
var sensors = lime_system_Sensor.getSensors(lime_system_SensorType.ACCELEROMETER);
|
|
if(sensors.length > 0) {
|
|
sensors[0].onUpdate.add(openfl_sensors_Accelerometer.accelerometer_onUpdate);
|
|
openfl_sensors_Accelerometer.supported = true;
|
|
}
|
|
openfl_sensors_Accelerometer.initialized = true;
|
|
}
|
|
};
|
|
openfl_sensors_Accelerometer.accelerometer_onUpdate = function(x,y,z) {
|
|
openfl_sensors_Accelerometer.currentX = x;
|
|
openfl_sensors_Accelerometer.currentY = y;
|
|
openfl_sensors_Accelerometer.currentZ = z;
|
|
};
|
|
openfl_sensors_Accelerometer.get_isSupported = function() {
|
|
openfl_sensors_Accelerometer.initialize();
|
|
return openfl_sensors_Accelerometer.supported;
|
|
};
|
|
openfl_sensors_Accelerometer.__super__ = openfl_events_EventDispatcher;
|
|
openfl_sensors_Accelerometer.prototype = $extend(openfl_events_EventDispatcher.prototype,{
|
|
__interval: null
|
|
,__muted: null
|
|
,__timer: null
|
|
,addEventListener: function(type,listener,useCapture,priority,useWeakReference) {
|
|
if(useWeakReference == null) {
|
|
useWeakReference = false;
|
|
}
|
|
if(priority == null) {
|
|
priority = 0;
|
|
}
|
|
if(useCapture == null) {
|
|
useCapture = false;
|
|
}
|
|
openfl_events_EventDispatcher.prototype.addEventListener.call(this,type,listener,useCapture,priority,useWeakReference);
|
|
this.update();
|
|
}
|
|
,setRequestedUpdateInterval: function(interval) {
|
|
this.__interval = interval;
|
|
if(this.__interval < 0) {
|
|
throw haxe_Exception.thrown(new openfl_errors_ArgumentError());
|
|
} else if(this.__interval == 0) {
|
|
this.__interval = openfl_sensors_Accelerometer.defaultInterval;
|
|
}
|
|
if(this.__timer != null) {
|
|
this.__timer.stop();
|
|
this.__timer = null;
|
|
}
|
|
if(openfl_sensors_Accelerometer.supported && !this.get_muted()) {
|
|
this.__timer = new haxe_Timer(this.__interval);
|
|
this.__timer.run = $bind(this,this.update);
|
|
}
|
|
}
|
|
,update: function() {
|
|
var event = new openfl_events_AccelerometerEvent("update");
|
|
event.timestamp = new Date().getTime() / 1000;
|
|
event.accelerationX = openfl_sensors_Accelerometer.currentX;
|
|
event.accelerationY = openfl_sensors_Accelerometer.currentY;
|
|
event.accelerationZ = openfl_sensors_Accelerometer.currentZ;
|
|
this.dispatchEvent(event);
|
|
}
|
|
,get_muted: function() {
|
|
return this.__muted;
|
|
}
|
|
,set_muted: function(value) {
|
|
this.__muted = value;
|
|
this.setRequestedUpdateInterval(this.__interval);
|
|
return value;
|
|
}
|
|
,__class__: openfl_sensors_Accelerometer
|
|
,__properties__: {set_muted:"set_muted",get_muted:"get_muted"}
|
|
});
|
|
var openfl_system_ApplicationDomain = function(parentDomain) {
|
|
if(parentDomain != null) {
|
|
this.parentDomain = parentDomain;
|
|
} else {
|
|
this.parentDomain = openfl_system_ApplicationDomain.currentDomain;
|
|
}
|
|
};
|
|
$hxClasses["openfl.system.ApplicationDomain"] = openfl_system_ApplicationDomain;
|
|
openfl_system_ApplicationDomain.__name__ = "openfl.system.ApplicationDomain";
|
|
openfl_system_ApplicationDomain.prototype = {
|
|
parentDomain: null
|
|
,getDefinition: function(name) {
|
|
return $hxClasses[name];
|
|
}
|
|
,hasDefinition: function(name) {
|
|
return $hxClasses[name] != null;
|
|
}
|
|
,__class__: openfl_system_ApplicationDomain
|
|
};
|
|
var openfl_system_LoaderContext = function(checkPolicyFile,applicationDomain,securityDomain) {
|
|
if(checkPolicyFile == null) {
|
|
checkPolicyFile = false;
|
|
}
|
|
this.checkPolicyFile = checkPolicyFile;
|
|
this.securityDomain = securityDomain;
|
|
this.applicationDomain = applicationDomain;
|
|
this.allowCodeImport = true;
|
|
this.allowLoadBytesCodeExecution = true;
|
|
};
|
|
$hxClasses["openfl.system.LoaderContext"] = openfl_system_LoaderContext;
|
|
openfl_system_LoaderContext.__name__ = "openfl.system.LoaderContext";
|
|
openfl_system_LoaderContext.prototype = {
|
|
allowCodeImport: null
|
|
,allowLoadBytesCodeExecution: null
|
|
,applicationDomain: null
|
|
,checkPolicyFile: null
|
|
,securityDomain: null
|
|
,__class__: openfl_system_LoaderContext
|
|
};
|
|
var openfl_system_SecurityDomain = function() {
|
|
};
|
|
$hxClasses["openfl.system.SecurityDomain"] = openfl_system_SecurityDomain;
|
|
openfl_system_SecurityDomain.__name__ = "openfl.system.SecurityDomain";
|
|
openfl_system_SecurityDomain.prototype = {
|
|
__class__: openfl_system_SecurityDomain
|
|
};
|
|
var openfl_system_System = function() { };
|
|
$hxClasses["openfl.system.System"] = openfl_system_System;
|
|
openfl_system_System.__name__ = "openfl.system.System";
|
|
openfl_system_System.__properties__ = {get_vmVersion:"get_vmVersion",get_totalMemory:"get_totalMemory"};
|
|
openfl_system_System.disposeXML = function(node) {
|
|
};
|
|
openfl_system_System.exit = function(code) {
|
|
lime_system_System.exit(code);
|
|
};
|
|
openfl_system_System.gc = function() {
|
|
};
|
|
openfl_system_System.pause = function() {
|
|
openfl__$internal_Lib.notImplemented({ fileName : "openfl/system/System.hx", lineNumber : 213, className : "openfl.system.System", methodName : "pause"});
|
|
};
|
|
openfl_system_System.resume = function() {
|
|
openfl__$internal_Lib.notImplemented({ fileName : "openfl/system/System.hx", lineNumber : 229, className : "openfl.system.System", methodName : "resume"});
|
|
};
|
|
openfl_system_System.setClipboard = function(string) {
|
|
lime_system_Clipboard.set_text(string);
|
|
};
|
|
openfl_system_System.get_totalMemory = function() {
|
|
return (window.performance && window.performance.memory) ? window.performance.memory.usedJSHeapSize : 0;
|
|
};
|
|
openfl_system_System.get_vmVersion = function() {
|
|
return "1.0.0";
|
|
};
|
|
var openfl_text_AntiAliasType = {};
|
|
openfl_text_AntiAliasType.fromString = function(value) {
|
|
switch(value) {
|
|
case "advanced":
|
|
return 0;
|
|
case "normal":
|
|
return 1;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_text_AntiAliasType.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "advanced";
|
|
case 1:
|
|
return "normal";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
var openfl_text_FontStyle = {};
|
|
openfl_text_FontStyle.fromString = function(value) {
|
|
switch(value) {
|
|
case "bold":
|
|
return 0;
|
|
case "boldItalic":
|
|
return 1;
|
|
case "italic":
|
|
return 2;
|
|
case "regular":
|
|
return 3;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_text_FontStyle.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "bold";
|
|
case 1:
|
|
return "boldItalic";
|
|
case 2:
|
|
return "italic";
|
|
case 3:
|
|
return "regular";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
var openfl_text_FontType = {};
|
|
openfl_text_FontType.fromString = function(value) {
|
|
switch(value) {
|
|
case "device":
|
|
return 0;
|
|
case "embedded":
|
|
return 1;
|
|
case "embeddedCFF":
|
|
return 2;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_text_FontType.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "device";
|
|
case 1:
|
|
return "embedded";
|
|
case 2:
|
|
return "embeddedCFF";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
var openfl_text_GridFitType = {};
|
|
openfl_text_GridFitType.fromString = function(value) {
|
|
switch(value) {
|
|
case "none":
|
|
return 0;
|
|
case "pixel":
|
|
return 1;
|
|
case "subpixel":
|
|
return 2;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_text_GridFitType.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "none";
|
|
case 1:
|
|
return "pixel";
|
|
case 2:
|
|
return "subpixel";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
var openfl_text_TextFieldAutoSize = {};
|
|
openfl_text_TextFieldAutoSize.fromString = function(value) {
|
|
switch(value) {
|
|
case "center":
|
|
return 0;
|
|
case "left":
|
|
return 1;
|
|
case "none":
|
|
return 2;
|
|
case "right":
|
|
return 3;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_text_TextFieldAutoSize.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "center";
|
|
case 1:
|
|
return "left";
|
|
case 2:
|
|
return "none";
|
|
case 3:
|
|
return "right";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
var openfl_text_TextFieldType = {};
|
|
openfl_text_TextFieldType.fromString = function(value) {
|
|
switch(value) {
|
|
case "dynamic":
|
|
return 0;
|
|
case "input":
|
|
return 1;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_text_TextFieldType.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "dynamic";
|
|
case 1:
|
|
return "input";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
var openfl_text_TextFormat = function(font,size,color,bold,italic,underline,url,target,align,leftMargin,rightMargin,indent,leading) {
|
|
this.font = font;
|
|
this.size = size;
|
|
this.color = color;
|
|
this.bold = bold;
|
|
this.italic = italic;
|
|
this.underline = underline;
|
|
this.url = url;
|
|
this.target = target;
|
|
this.align = align;
|
|
this.leftMargin = leftMargin;
|
|
this.rightMargin = rightMargin;
|
|
this.indent = indent;
|
|
this.leading = leading;
|
|
};
|
|
$hxClasses["openfl.text.TextFormat"] = openfl_text_TextFormat;
|
|
openfl_text_TextFormat.__name__ = "openfl.text.TextFormat";
|
|
openfl_text_TextFormat.prototype = {
|
|
align: null
|
|
,blockIndent: null
|
|
,bold: null
|
|
,bullet: null
|
|
,color: null
|
|
,font: null
|
|
,indent: null
|
|
,italic: null
|
|
,kerning: null
|
|
,leading: null
|
|
,leftMargin: null
|
|
,letterSpacing: null
|
|
,rightMargin: null
|
|
,size: null
|
|
,tabStops: null
|
|
,target: null
|
|
,underline: null
|
|
,url: null
|
|
,__ascent: null
|
|
,__descent: null
|
|
,clone: function() {
|
|
var newFormat = new openfl_text_TextFormat(this.font,this.size,this.color,this.bold,this.italic,this.underline,this.url,this.target);
|
|
newFormat.align = this.align;
|
|
newFormat.leftMargin = this.leftMargin;
|
|
newFormat.rightMargin = this.rightMargin;
|
|
newFormat.indent = this.indent;
|
|
newFormat.leading = this.leading;
|
|
newFormat.blockIndent = this.blockIndent;
|
|
newFormat.bullet = this.bullet;
|
|
newFormat.kerning = this.kerning;
|
|
newFormat.letterSpacing = this.letterSpacing;
|
|
newFormat.tabStops = this.tabStops;
|
|
newFormat.__ascent = this.__ascent;
|
|
newFormat.__descent = this.__descent;
|
|
return newFormat;
|
|
}
|
|
,__merge: function(format) {
|
|
if(format.font != null) {
|
|
this.font = format.font;
|
|
}
|
|
if(format.size != null) {
|
|
this.size = format.size;
|
|
}
|
|
if(format.color != null) {
|
|
this.color = format.color;
|
|
}
|
|
if(format.bold != null) {
|
|
this.bold = format.bold;
|
|
}
|
|
if(format.italic != null) {
|
|
this.italic = format.italic;
|
|
}
|
|
if(format.underline != null) {
|
|
this.underline = format.underline;
|
|
}
|
|
if(format.url != null) {
|
|
this.url = format.url;
|
|
}
|
|
if(format.target != null) {
|
|
this.target = format.target;
|
|
}
|
|
if(format.align != null) {
|
|
this.align = format.align;
|
|
}
|
|
if(format.leftMargin != null) {
|
|
this.leftMargin = format.leftMargin;
|
|
}
|
|
if(format.rightMargin != null) {
|
|
this.rightMargin = format.rightMargin;
|
|
}
|
|
if(format.indent != null) {
|
|
this.indent = format.indent;
|
|
}
|
|
if(format.leading != null) {
|
|
this.leading = format.leading;
|
|
}
|
|
if(format.blockIndent != null) {
|
|
this.blockIndent = format.blockIndent;
|
|
}
|
|
if(format.bullet != null) {
|
|
this.bullet = format.bullet;
|
|
}
|
|
if(format.kerning != null) {
|
|
this.kerning = format.kerning;
|
|
}
|
|
if(format.letterSpacing != null) {
|
|
this.letterSpacing = format.letterSpacing;
|
|
}
|
|
if(format.tabStops != null) {
|
|
this.tabStops = format.tabStops;
|
|
}
|
|
if(format.__ascent != null) {
|
|
this.__ascent = format.__ascent;
|
|
}
|
|
if(format.__descent != null) {
|
|
this.__descent = format.__descent;
|
|
}
|
|
}
|
|
,__class__: openfl_text_TextFormat
|
|
};
|
|
var openfl_text_TextFormatAlign = {};
|
|
openfl_text_TextFormatAlign.fromString = function(value) {
|
|
switch(value) {
|
|
case "center":
|
|
return 0;
|
|
case "end":
|
|
return 1;
|
|
case "justify":
|
|
return 2;
|
|
case "left":
|
|
return 3;
|
|
case "right":
|
|
return 4;
|
|
case "start":
|
|
return 5;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_text_TextFormatAlign.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "center";
|
|
case 1:
|
|
return "end";
|
|
case 2:
|
|
return "justify";
|
|
case 3:
|
|
return "left";
|
|
case 4:
|
|
return "right";
|
|
case 5:
|
|
return "start";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
var openfl_text_TextLineMetrics = function(x,width,height,ascent,descent,leading) {
|
|
this.x = x;
|
|
this.width = width;
|
|
this.height = height;
|
|
this.ascent = ascent;
|
|
this.descent = descent;
|
|
this.leading = leading;
|
|
};
|
|
$hxClasses["openfl.text.TextLineMetrics"] = openfl_text_TextLineMetrics;
|
|
openfl_text_TextLineMetrics.__name__ = "openfl.text.TextLineMetrics";
|
|
openfl_text_TextLineMetrics.prototype = {
|
|
ascent: null
|
|
,descent: null
|
|
,height: null
|
|
,leading: null
|
|
,width: null
|
|
,x: null
|
|
,__class__: openfl_text_TextLineMetrics
|
|
};
|
|
var openfl_text__$internal_GlyphPosition = function(glyph,advance,offset) {
|
|
this.glyph = glyph;
|
|
this.advance = advance;
|
|
if(offset != null) {
|
|
this.offset = offset;
|
|
} else {
|
|
this.offset = new lime_math_Vector2();
|
|
}
|
|
};
|
|
$hxClasses["openfl.text._internal.GlyphPosition"] = openfl_text__$internal_GlyphPosition;
|
|
openfl_text__$internal_GlyphPosition.__name__ = "openfl.text._internal.GlyphPosition";
|
|
openfl_text__$internal_GlyphPosition.prototype = {
|
|
advance: null
|
|
,glyph: null
|
|
,offset: null
|
|
,__class__: openfl_text__$internal_GlyphPosition
|
|
};
|
|
var openfl_text__$internal_TextEngine = function(textField) {
|
|
this.textField = textField;
|
|
this.width = 100;
|
|
this.height = 100;
|
|
this.set_text("");
|
|
this.bounds = new openfl_geom_Rectangle(0,0,0,0);
|
|
this.textBounds = new openfl_geom_Rectangle(0,0,0,0);
|
|
this.type = 0;
|
|
this.autoSize = 2;
|
|
this.embedFonts = false;
|
|
this.selectable = true;
|
|
this.borderColor = 0;
|
|
this.border = false;
|
|
this.backgroundColor = 16777215;
|
|
this.background = false;
|
|
this.gridFitType = 1;
|
|
this.maxChars = 0;
|
|
this.multiline = false;
|
|
this.numLines = 1;
|
|
this.sharpness = 0;
|
|
this.scrollH = 0;
|
|
this.set_scrollV(1);
|
|
this.wordWrap = false;
|
|
this.lineAscents = openfl_Vector.toFloatVector(null);
|
|
this.lineBreaks = openfl_Vector.toIntVector(null);
|
|
this.lineDescents = openfl_Vector.toFloatVector(null);
|
|
this.lineLeadings = openfl_Vector.toFloatVector(null);
|
|
this.lineHeights = openfl_Vector.toFloatVector(null);
|
|
this.lineWidths = openfl_Vector.toFloatVector(null);
|
|
this.layoutGroups = openfl_Vector.toObjectVector(null);
|
|
this.textFormatRanges = openfl_Vector.toObjectVector(null);
|
|
if(openfl_text__$internal_TextEngine.__context == null) {
|
|
openfl_text__$internal_TextEngine.__context = window.document.createElement("canvas").getContext("2d");
|
|
}
|
|
};
|
|
$hxClasses["openfl.text._internal.TextEngine"] = openfl_text__$internal_TextEngine;
|
|
openfl_text__$internal_TextEngine.__name__ = "openfl.text._internal.TextEngine";
|
|
openfl_text__$internal_TextEngine.__context = null;
|
|
openfl_text__$internal_TextEngine.findFont = function(name) {
|
|
return openfl_text_Font.__fontByName.h[name];
|
|
};
|
|
openfl_text__$internal_TextEngine.findFontVariant = function(format) {
|
|
var fontName = format.font;
|
|
var bold = format.bold;
|
|
var italic = format.italic;
|
|
if(fontName == null) {
|
|
fontName = "_serif";
|
|
}
|
|
var fontNamePrefix = StringTools.replace(StringTools.replace(fontName," Normal","")," Regular","");
|
|
if(bold && italic && Object.prototype.hasOwnProperty.call(openfl_text_Font.__fontByName.h,fontNamePrefix + " Bold Italic")) {
|
|
return openfl_text__$internal_TextEngine.findFont(fontNamePrefix + " Bold Italic");
|
|
} else if(bold && Object.prototype.hasOwnProperty.call(openfl_text_Font.__fontByName.h,fontNamePrefix + " Bold")) {
|
|
return openfl_text__$internal_TextEngine.findFont(fontNamePrefix + " Bold");
|
|
} else if(italic && Object.prototype.hasOwnProperty.call(openfl_text_Font.__fontByName.h,fontNamePrefix + " Italic")) {
|
|
return openfl_text__$internal_TextEngine.findFont(fontNamePrefix + " Italic");
|
|
}
|
|
return openfl_text__$internal_TextEngine.findFont(fontName);
|
|
};
|
|
openfl_text__$internal_TextEngine.getFormatHeight = function(format) {
|
|
var ascent;
|
|
var descent;
|
|
openfl_text__$internal_TextEngine.__context.font = openfl_text__$internal_TextEngine.getFont(format);
|
|
var font = openfl_text__$internal_TextEngine.getFontInstance(format);
|
|
if(format.__ascent != null) {
|
|
ascent = format.size * format.__ascent;
|
|
descent = format.size * format.__descent;
|
|
} else if(font != null && font.unitsPerEM != 0) {
|
|
ascent = font.ascender / font.unitsPerEM * format.size;
|
|
descent = Math.abs(font.descender / font.unitsPerEM * format.size);
|
|
} else {
|
|
ascent = format.size;
|
|
descent = format.size * 0.185;
|
|
}
|
|
var leading = format.leading;
|
|
return ascent + descent + leading;
|
|
};
|
|
openfl_text__$internal_TextEngine.getFont = function(format) {
|
|
var fontName = format.font;
|
|
var bold = format.bold;
|
|
var italic = format.italic;
|
|
if(fontName == null) {
|
|
fontName = "_serif";
|
|
}
|
|
var fontNamePrefix = StringTools.replace(StringTools.replace(fontName," Normal","")," Regular","");
|
|
if(bold && italic && Object.prototype.hasOwnProperty.call(openfl_text_Font.__fontByName.h,fontNamePrefix + " Bold Italic")) {
|
|
fontName = fontNamePrefix + " Bold Italic";
|
|
bold = false;
|
|
italic = false;
|
|
} else if(bold && Object.prototype.hasOwnProperty.call(openfl_text_Font.__fontByName.h,fontNamePrefix + " Bold")) {
|
|
fontName = fontNamePrefix + " Bold";
|
|
bold = false;
|
|
} else if(italic && Object.prototype.hasOwnProperty.call(openfl_text_Font.__fontByName.h,fontNamePrefix + " Italic")) {
|
|
fontName = fontNamePrefix + " Italic";
|
|
italic = false;
|
|
} else {
|
|
if(bold && (fontName.indexOf(" Bold ") > -1 || StringTools.endsWith(fontName," Bold"))) {
|
|
bold = false;
|
|
}
|
|
if(italic && (fontName.indexOf(" Italic ") > -1 || StringTools.endsWith(fontName," Italic"))) {
|
|
italic = false;
|
|
}
|
|
}
|
|
var font = italic ? "italic " : "normal ";
|
|
font += "normal ";
|
|
font += bold ? "bold " : "normal ";
|
|
font += format.size + "px";
|
|
font += "/" + (format.leading + format.size + 3) + "px ";
|
|
var font1;
|
|
switch(fontName) {
|
|
case "_sans":
|
|
font1 = "sans-serif";
|
|
break;
|
|
case "_serif":
|
|
font1 = "serif";
|
|
break;
|
|
case "_typewriter":
|
|
font1 = "monospace";
|
|
break;
|
|
default:
|
|
var _this_r = new RegExp("^[\\s'\"]+(.*)[\\s'\"]+$","".split("u").join(""));
|
|
font1 = "'" + fontName.replace(_this_r,"$1") + "'";
|
|
}
|
|
font += "" + font1;
|
|
return font;
|
|
};
|
|
openfl_text__$internal_TextEngine.getFontInstance = function(format) {
|
|
return openfl_text__$internal_TextEngine.findFontVariant(format);
|
|
};
|
|
openfl_text__$internal_TextEngine.prototype = {
|
|
antiAliasType: null
|
|
,autoSize: null
|
|
,background: null
|
|
,backgroundColor: null
|
|
,border: null
|
|
,borderColor: null
|
|
,bottomScrollV: null
|
|
,bounds: null
|
|
,caretIndex: null
|
|
,embedFonts: null
|
|
,gridFitType: null
|
|
,height: null
|
|
,layoutGroups: null
|
|
,lineAscents: null
|
|
,lineBreaks: null
|
|
,lineDescents: null
|
|
,lineLeadings: null
|
|
,lineHeights: null
|
|
,lineWidths: null
|
|
,maxChars: null
|
|
,maxScrollH: null
|
|
,maxScrollV: null
|
|
,multiline: null
|
|
,numLines: null
|
|
,restrict: null
|
|
,scrollH: null
|
|
,scrollV: null
|
|
,selectable: null
|
|
,sharpness: null
|
|
,text: null
|
|
,textBounds: null
|
|
,textHeight: null
|
|
,textFormatRanges: null
|
|
,textWidth: null
|
|
,type: null
|
|
,width: null
|
|
,wordWrap: null
|
|
,textField: null
|
|
,__cursorTimer: null
|
|
,__hasFocus: null
|
|
,__isKeyDown: null
|
|
,__measuredHeight: null
|
|
,__measuredWidth: null
|
|
,__restrictRegexp: null
|
|
,__selectionStart: null
|
|
,__showCursor: null
|
|
,__textFormat: null
|
|
,__textLayout: null
|
|
,__texture: null
|
|
,__useIntAdvances: null
|
|
,__cairoFont: null
|
|
,__font: null
|
|
,createRestrictRegexp: function(restrict) {
|
|
var declinedRange = new EReg("\\^(.-.|.)","gu");
|
|
var declined = "";
|
|
var accepted = declinedRange.map(restrict,function(ereg) {
|
|
declined += ereg.matched(1);
|
|
return "";
|
|
});
|
|
var testRegexpParts = [];
|
|
if(accepted.length > 0) {
|
|
testRegexpParts.push("[^" + restrict + "]");
|
|
}
|
|
if(declined.length > 0) {
|
|
testRegexpParts.push("[" + declined + "]");
|
|
}
|
|
return new EReg("(" + testRegexpParts.join("|") + ")","g");
|
|
}
|
|
,getBounds: function() {
|
|
var padding = this.border ? 1 : 0;
|
|
this.bounds.width = this.width + padding;
|
|
this.bounds.height = this.height + padding;
|
|
var x = this.width;
|
|
var y = this.width;
|
|
var group = this.layoutGroups.iterator();
|
|
while(group.hasNext()) {
|
|
var group1 = group.next();
|
|
if(group1.offsetX < x) {
|
|
x = group1.offsetX;
|
|
}
|
|
if(group1.offsetY < y) {
|
|
y = group1.offsetY;
|
|
}
|
|
}
|
|
if(x >= this.width) {
|
|
x = 2;
|
|
}
|
|
if(y >= this.height) {
|
|
y = 2;
|
|
}
|
|
var textHeight = this.textHeight * 1.185;
|
|
this.textBounds.setTo(Math.max(x - 2,0),Math.max(y - 2,0),Math.min(this.textWidth + 4,this.bounds.width + 4),Math.min(textHeight + 4,this.bounds.height + 4));
|
|
}
|
|
,getLine: function(index) {
|
|
if(index < 0 || index > this.lineBreaks.get_length() + 1) {
|
|
return null;
|
|
}
|
|
if(this.lineBreaks.get_length() == 0) {
|
|
return this.text;
|
|
} else {
|
|
return this.text.substring(index > 0 ? this.lineBreaks.get(index - 1) : 0,this.lineBreaks.get(index));
|
|
}
|
|
}
|
|
,getLineBreakIndex: function(startIndex) {
|
|
if(startIndex == null) {
|
|
startIndex = 0;
|
|
}
|
|
var cr = this.text.indexOf("\n",startIndex);
|
|
var lf = this.text.indexOf("\r",startIndex);
|
|
if(cr == -1) {
|
|
return lf;
|
|
}
|
|
if(lf == -1) {
|
|
return cr;
|
|
}
|
|
if(cr < lf) {
|
|
return cr;
|
|
} else {
|
|
return lf;
|
|
}
|
|
}
|
|
,getLineMeasurements: function() {
|
|
this.lineAscents.set_length(0);
|
|
this.lineDescents.set_length(0);
|
|
this.lineLeadings.set_length(0);
|
|
this.lineHeights.set_length(0);
|
|
this.lineWidths.set_length(0);
|
|
var currentLineAscent = 0.0;
|
|
var currentLineDescent = 0.0;
|
|
var currentLineLeading = null;
|
|
var currentLineHeight = 0.0;
|
|
var currentLineWidth = 0.0;
|
|
var currentTextHeight = 0.0;
|
|
this.textWidth = 0;
|
|
this.textHeight = 0;
|
|
this.numLines = 1;
|
|
this.maxScrollH = 0;
|
|
var group = this.layoutGroups.iterator();
|
|
while(group.hasNext()) {
|
|
var group1 = group.next();
|
|
while(group1.lineIndex > this.numLines - 1) {
|
|
this.lineAscents.push(currentLineAscent);
|
|
this.lineDescents.push(currentLineDescent);
|
|
this.lineLeadings.push(currentLineLeading != null ? currentLineLeading : 0);
|
|
this.lineHeights.push(currentLineHeight);
|
|
this.lineWidths.push(currentLineWidth);
|
|
currentLineAscent = 0;
|
|
currentLineDescent = 0;
|
|
currentLineLeading = null;
|
|
currentLineHeight = 0;
|
|
currentLineWidth = 0;
|
|
this.numLines++;
|
|
}
|
|
currentLineAscent = Math.max(currentLineAscent,group1.ascent);
|
|
currentLineDescent = Math.max(currentLineDescent,group1.descent);
|
|
if(currentLineLeading == null) {
|
|
currentLineLeading = group1.leading;
|
|
} else {
|
|
currentLineLeading = Math.max(currentLineLeading,group1.leading) | 0;
|
|
}
|
|
currentLineHeight = Math.max(currentLineHeight,group1.height);
|
|
currentLineWidth = group1.offsetX - 2 + group1.width;
|
|
if(currentLineWidth > this.textWidth) {
|
|
this.textWidth = currentLineWidth;
|
|
}
|
|
currentTextHeight = group1.offsetY - 2 + group1.ascent + group1.descent;
|
|
if(currentTextHeight > this.textHeight) {
|
|
this.textHeight = currentTextHeight;
|
|
}
|
|
}
|
|
if(this.textHeight == 0 && this.textField != null && this.textField.get_type() == 1) {
|
|
var currentFormat = this.textField.__textFormat;
|
|
var ascent;
|
|
var descent;
|
|
var font = openfl_text__$internal_TextEngine.getFontInstance(currentFormat);
|
|
if(currentFormat.__ascent != null) {
|
|
ascent = currentFormat.size * currentFormat.__ascent;
|
|
descent = currentFormat.size * currentFormat.__descent;
|
|
} else if(font != null && font.unitsPerEM != 0) {
|
|
ascent = font.ascender / font.unitsPerEM * currentFormat.size;
|
|
descent = Math.abs(font.descender / font.unitsPerEM * currentFormat.size);
|
|
} else {
|
|
ascent = currentFormat.size;
|
|
descent = currentFormat.size * 0.185;
|
|
}
|
|
var leading = currentFormat.leading;
|
|
var heightValue = ascent + descent + leading;
|
|
currentLineAscent = ascent;
|
|
currentLineDescent = descent;
|
|
currentLineLeading = leading;
|
|
currentTextHeight = ascent + descent;
|
|
this.textHeight = currentTextHeight;
|
|
}
|
|
this.lineAscents.push(currentLineAscent);
|
|
this.lineDescents.push(currentLineDescent);
|
|
this.lineLeadings.push(currentLineLeading != null ? currentLineLeading : 0);
|
|
this.lineHeights.push(currentLineHeight);
|
|
this.lineWidths.push(currentLineWidth);
|
|
if(this.numLines == 1) {
|
|
if(currentLineLeading > 0) {
|
|
this.textHeight += currentLineLeading;
|
|
}
|
|
}
|
|
if(this.layoutGroups.get_length() > 0) {
|
|
var group = this.layoutGroups.get(this.layoutGroups.get_length() - 1);
|
|
if(group != null && group.startIndex == group.endIndex) {
|
|
this.textHeight -= currentLineHeight;
|
|
}
|
|
}
|
|
if(this.autoSize != 2) {
|
|
switch(this.autoSize) {
|
|
case 0:case 1:case 3:
|
|
if(!this.wordWrap) {
|
|
this.width = this.textWidth + 4;
|
|
}
|
|
this.height = this.textHeight + 4;
|
|
this.bottomScrollV = this.numLines;
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
if(this.textWidth > this.width - 4) {
|
|
this.maxScrollH = this.textWidth - this.width + 4 | 0;
|
|
} else {
|
|
this.maxScrollH = 0;
|
|
}
|
|
if(this.scrollH > this.maxScrollH) {
|
|
this.scrollH = this.maxScrollH;
|
|
}
|
|
}
|
|
,getLayoutGroups: function() {
|
|
var _gthis = this;
|
|
this.layoutGroups.set_length(0);
|
|
if(this.text == null || this.text == "") {
|
|
return;
|
|
}
|
|
var rangeIndex = -1;
|
|
var formatRange = null;
|
|
var font = null;
|
|
var currentFormat = openfl_text_TextField.__defaultTextFormat.clone();
|
|
var leading = 0;
|
|
var ascent = 0.0;
|
|
var maxAscent = 0.0;
|
|
var descent = 0.0;
|
|
var align = 3;
|
|
var blockIndent = 0;
|
|
var bullet = false;
|
|
var indent = 0;
|
|
var leftMargin = 0;
|
|
var rightMargin = 0;
|
|
var tabStops = null;
|
|
var layoutGroup = null;
|
|
var positions = null;
|
|
var widthValue = 0.0;
|
|
var heightValue = 0;
|
|
var maxHeightValue = 0;
|
|
var previousSpaceIndex = -2;
|
|
var previousBreakIndex = -1;
|
|
var spaceIndex = this.text.indexOf(" ");
|
|
var breakIndex = this.getLineBreakIndex();
|
|
var offsetX = 2.0;
|
|
var offsetY = 2.0;
|
|
var textIndex = 0;
|
|
var lineIndex = 0;
|
|
var getPositions = function(text,startIndex,endIndex) {
|
|
var positions = [];
|
|
var letterSpacing = 0.0;
|
|
if(formatRange.format.letterSpacing != null) {
|
|
letterSpacing = formatRange.format.letterSpacing;
|
|
}
|
|
if(_gthis.__useIntAdvances == null) {
|
|
var getPositions = new EReg("Trident/7.0","");
|
|
_gthis.__useIntAdvances = getPositions.match($global.navigator.userAgent);
|
|
}
|
|
if(_gthis.__useIntAdvances) {
|
|
var previousWidth = 0.0;
|
|
var width;
|
|
var _g = startIndex;
|
|
var _g1 = endIndex;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
width = openfl_text__$internal_TextEngine.__context.measureText(text.substring(startIndex,i + 1)).width;
|
|
positions.push(width - previousWidth);
|
|
previousWidth = width;
|
|
}
|
|
} else {
|
|
var _g = startIndex;
|
|
var _g1 = endIndex;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var advance;
|
|
if(i < text.length - 1) {
|
|
var nextWidth = openfl_text__$internal_TextEngine.__context.measureText(text.charAt(i + 1)).width;
|
|
var twoWidths = openfl_text__$internal_TextEngine.__context.measureText(HxOverrides.substr(text,i,2)).width;
|
|
advance = twoWidths - nextWidth;
|
|
} else {
|
|
advance = openfl_text__$internal_TextEngine.__context.measureText(text.charAt(i)).width;
|
|
}
|
|
positions.push(advance);
|
|
}
|
|
}
|
|
return positions;
|
|
};
|
|
var getPositionsWidth = function(positions) {
|
|
var width = 0.0;
|
|
var _g = 0;
|
|
while(_g < positions.length) {
|
|
var position = positions[_g];
|
|
++_g;
|
|
width += position;
|
|
}
|
|
return width;
|
|
};
|
|
var getTextWidth = function(text) {
|
|
return openfl_text__$internal_TextEngine.__context.measureText(text).width;
|
|
};
|
|
var nextLayoutGroup = function(startIndex,endIndex) {
|
|
if(layoutGroup == null || layoutGroup.startIndex != layoutGroup.endIndex) {
|
|
layoutGroup = new openfl_text__$internal_TextLayoutGroup(formatRange.format,startIndex,endIndex);
|
|
_gthis.layoutGroups.push(layoutGroup);
|
|
} else {
|
|
layoutGroup.format = formatRange.format;
|
|
layoutGroup.startIndex = startIndex;
|
|
layoutGroup.endIndex = endIndex;
|
|
}
|
|
};
|
|
var setLineMetrics = function() {
|
|
if(currentFormat.__ascent != null) {
|
|
ascent = currentFormat.size * currentFormat.__ascent;
|
|
descent = currentFormat.size * currentFormat.__descent;
|
|
} else if(font != null && font.unitsPerEM != 0) {
|
|
ascent = font.ascender / font.unitsPerEM * currentFormat.size;
|
|
descent = Math.abs(font.descender / font.unitsPerEM * currentFormat.size);
|
|
} else {
|
|
ascent = currentFormat.size;
|
|
descent = currentFormat.size * 0.185;
|
|
}
|
|
leading = currentFormat.leading;
|
|
heightValue = Math.ceil(ascent + descent + leading);
|
|
if(heightValue > maxHeightValue) {
|
|
maxHeightValue = heightValue;
|
|
}
|
|
if(ascent > maxAscent) {
|
|
maxAscent = ascent;
|
|
}
|
|
};
|
|
var setParagraphMetrics = function() {
|
|
if(currentFormat.align != null) {
|
|
align = currentFormat.align;
|
|
}
|
|
var setParagraphMetrics = currentFormat.blockIndent != null;
|
|
var setParagraphMetrics = currentFormat.bullet != null;
|
|
var setParagraphMetrics = currentFormat.indent != null;
|
|
if(currentFormat.leftMargin != null) {
|
|
leftMargin = currentFormat.leftMargin;
|
|
}
|
|
if(currentFormat.rightMargin != null) {
|
|
rightMargin = currentFormat.rightMargin;
|
|
}
|
|
var setParagraphMetrics = currentFormat.tabStops != null;
|
|
};
|
|
var nextFormatRange = function() {
|
|
if(rangeIndex < _gthis.textFormatRanges.get_length() - 1) {
|
|
rangeIndex += 1;
|
|
formatRange = _gthis.textFormatRanges.get(rangeIndex);
|
|
currentFormat.__merge(formatRange.format);
|
|
openfl_text__$internal_TextEngine.__context.font = openfl_text__$internal_TextEngine.getFont(currentFormat);
|
|
font = openfl_text__$internal_TextEngine.getFontInstance(currentFormat);
|
|
return true;
|
|
}
|
|
return false;
|
|
};
|
|
var setFormattedPositions = function(startIndex,endIndex) {
|
|
if(endIndex <= formatRange.end) {
|
|
positions = getPositions(_gthis.text,startIndex,endIndex);
|
|
widthValue = getPositionsWidth(positions);
|
|
} else {
|
|
var tempIndex = startIndex;
|
|
var tempRangeEnd = formatRange.end;
|
|
var countRanges = 0;
|
|
positions = [];
|
|
widthValue = 0;
|
|
while(true) {
|
|
if(tempIndex != tempRangeEnd) {
|
|
var tempPositions = getPositions(_gthis.text,tempIndex,tempRangeEnd);
|
|
positions = positions.concat(tempPositions);
|
|
}
|
|
if(tempRangeEnd != endIndex) {
|
|
if(!nextFormatRange()) {
|
|
lime_utils_Log.warn("You found a bug in OpenFL's text code! Please save a copy of your project and contact Joshua Granick (@singmajesty) so we can fix this.",{ fileName : "openfl/text/_internal/TextEngine.hx", lineNumber : 1061, className : "openfl.text._internal.TextEngine", methodName : "getLayoutGroups"});
|
|
break;
|
|
}
|
|
tempIndex = tempRangeEnd;
|
|
tempRangeEnd = endIndex < formatRange.end ? endIndex : formatRange.end;
|
|
++countRanges;
|
|
} else {
|
|
widthValue = getPositionsWidth(positions);
|
|
break;
|
|
}
|
|
}
|
|
rangeIndex -= countRanges + 1;
|
|
nextFormatRange();
|
|
}
|
|
};
|
|
var placeFormattedText = function(endIndex) {
|
|
if(endIndex <= formatRange.end) {
|
|
positions = getPositions(_gthis.text,textIndex,endIndex);
|
|
widthValue = getPositionsWidth(positions);
|
|
nextLayoutGroup(textIndex,endIndex);
|
|
layoutGroup.positions = positions;
|
|
layoutGroup.offsetX = offsetX;
|
|
layoutGroup.ascent = ascent;
|
|
layoutGroup.descent = descent;
|
|
layoutGroup.leading = leading;
|
|
layoutGroup.lineIndex = lineIndex;
|
|
layoutGroup.offsetY = offsetY;
|
|
layoutGroup.width = widthValue;
|
|
layoutGroup.height = heightValue;
|
|
offsetX += widthValue;
|
|
if(endIndex == formatRange.end) {
|
|
layoutGroup = null;
|
|
nextFormatRange();
|
|
setLineMetrics();
|
|
}
|
|
} else {
|
|
while(true) {
|
|
var tempRangeEnd = endIndex < formatRange.end ? endIndex : formatRange.end;
|
|
if(textIndex != tempRangeEnd) {
|
|
positions = getPositions(_gthis.text,textIndex,tempRangeEnd);
|
|
widthValue = getPositionsWidth(positions);
|
|
nextLayoutGroup(textIndex,tempRangeEnd);
|
|
layoutGroup.positions = positions;
|
|
layoutGroup.offsetX = offsetX;
|
|
layoutGroup.ascent = ascent;
|
|
layoutGroup.descent = descent;
|
|
layoutGroup.leading = leading;
|
|
layoutGroup.lineIndex = lineIndex;
|
|
layoutGroup.offsetY = offsetY;
|
|
layoutGroup.width = widthValue;
|
|
layoutGroup.height = heightValue;
|
|
offsetX += widthValue;
|
|
textIndex = tempRangeEnd;
|
|
}
|
|
if(tempRangeEnd == formatRange.end) {
|
|
layoutGroup = null;
|
|
}
|
|
if(tempRangeEnd == endIndex) {
|
|
break;
|
|
}
|
|
if(!nextFormatRange()) {
|
|
lime_utils_Log.warn("You found a bug in OpenFL's text code! Please save a copy of your project and contact Joshua Granick (@singmajesty) so we can fix this.",{ fileName : "openfl/text/_internal/TextEngine.hx", lineNumber : 1149, className : "openfl.text._internal.TextEngine", methodName : "getLayoutGroups"});
|
|
break;
|
|
}
|
|
setLineMetrics();
|
|
}
|
|
}
|
|
textIndex = endIndex;
|
|
};
|
|
var alignBaseline = function() {
|
|
setLineMetrics();
|
|
var i = _gthis.layoutGroups.get_length();
|
|
while(--i > -1) {
|
|
var lg = _gthis.layoutGroups.get(i);
|
|
if(lg.lineIndex < lineIndex) {
|
|
break;
|
|
}
|
|
if(lg.lineIndex > lineIndex) {
|
|
continue;
|
|
}
|
|
lg.ascent = maxAscent;
|
|
lg.height = maxHeightValue;
|
|
}
|
|
offsetY += maxHeightValue;
|
|
maxAscent = 0.0;
|
|
maxHeightValue = 0;
|
|
lineIndex += 1;
|
|
offsetX = 2;
|
|
};
|
|
var breakLongWords = function(endIndex) {
|
|
var remainingPositions = positions;
|
|
var i;
|
|
var bufferCount;
|
|
var placeIndex;
|
|
var positionWidth;
|
|
var currentPosition;
|
|
var tempWidth = getPositionsWidth(remainingPositions);
|
|
while(offsetX + tempWidth > _gthis.width - 2) {
|
|
bufferCount = 0;
|
|
i = bufferCount;
|
|
positionWidth = 0.0;
|
|
while(offsetX + positionWidth < _gthis.width - 2) {
|
|
currentPosition = remainingPositions[i];
|
|
if(currentPosition == 0.0) {
|
|
++i;
|
|
++bufferCount;
|
|
} else {
|
|
positionWidth += currentPosition;
|
|
++i;
|
|
}
|
|
}
|
|
if(positionWidth == 0.0) {
|
|
break;
|
|
} else if(i < 2 && positionWidth + offsetX > _gthis.width - 2) {
|
|
if(textIndex + i - bufferCount == endIndex) {
|
|
break;
|
|
}
|
|
} else {
|
|
while(offsetX + positionWidth > _gthis.width - 2) {
|
|
--i;
|
|
if(i - bufferCount > 0) {
|
|
setFormattedPositions(textIndex,textIndex + i - bufferCount);
|
|
positionWidth = widthValue;
|
|
} else {
|
|
i = 1;
|
|
bufferCount = 0;
|
|
setFormattedPositions(textIndex,textIndex + 1);
|
|
positionWidth = 0;
|
|
}
|
|
}
|
|
}
|
|
placeIndex = textIndex + i - bufferCount;
|
|
placeFormattedText(placeIndex);
|
|
alignBaseline();
|
|
setFormattedPositions(placeIndex,endIndex);
|
|
remainingPositions = positions;
|
|
tempWidth = widthValue;
|
|
}
|
|
};
|
|
var placeText = function(endIndex) {
|
|
if(_gthis.width >= 4 && _gthis.wordWrap) {
|
|
breakLongWords(endIndex);
|
|
}
|
|
placeFormattedText(endIndex);
|
|
};
|
|
nextFormatRange();
|
|
setParagraphMetrics();
|
|
setLineMetrics();
|
|
var wrap;
|
|
var maxLoops = this.text.length + 1;
|
|
while(textIndex < maxLoops) if(breakIndex > -1 && (spaceIndex == -1 || breakIndex < spaceIndex)) {
|
|
if(textIndex <= breakIndex) {
|
|
setFormattedPositions(textIndex,breakIndex);
|
|
placeText(breakIndex);
|
|
layoutGroup = null;
|
|
} else if(layoutGroup != null && layoutGroup.startIndex != layoutGroup.endIndex) {
|
|
if(layoutGroup.endIndex == spaceIndex) {
|
|
layoutGroup.width -= layoutGroup.positions[layoutGroup.positions.length - 1];
|
|
}
|
|
layoutGroup = null;
|
|
}
|
|
if(formatRange.end == breakIndex) {
|
|
nextFormatRange();
|
|
setLineMetrics();
|
|
}
|
|
alignBaseline();
|
|
textIndex = breakIndex + 1;
|
|
previousBreakIndex = breakIndex;
|
|
breakIndex = this.getLineBreakIndex(textIndex);
|
|
setParagraphMetrics();
|
|
} else if(spaceIndex > -1) {
|
|
if(layoutGroup != null && layoutGroup.startIndex != layoutGroup.endIndex) {
|
|
layoutGroup = null;
|
|
}
|
|
wrap = false;
|
|
while(textIndex < this.text.length) {
|
|
var endIndex = -1;
|
|
if(spaceIndex == -1) {
|
|
endIndex = breakIndex;
|
|
} else {
|
|
endIndex = spaceIndex + 1;
|
|
if(breakIndex > -1 && breakIndex < endIndex) {
|
|
endIndex = breakIndex;
|
|
}
|
|
}
|
|
if(endIndex == -1) {
|
|
endIndex = this.text.length;
|
|
}
|
|
setFormattedPositions(textIndex,endIndex);
|
|
if(align == 2) {
|
|
if(positions.length > 0 && textIndex == previousSpaceIndex) {
|
|
textIndex += 1;
|
|
var spaceWidth = positions.shift();
|
|
widthValue -= spaceWidth;
|
|
offsetX += spaceWidth;
|
|
}
|
|
if(positions.length > 0 && endIndex == spaceIndex + 1) {
|
|
--endIndex;
|
|
var spaceWidth1 = positions.pop();
|
|
widthValue -= spaceWidth1;
|
|
}
|
|
}
|
|
if(this.wordWrap) {
|
|
if(offsetX + widthValue > this.width - 2) {
|
|
wrap = true;
|
|
if(positions.length > 0 && endIndex == spaceIndex + 1) {
|
|
var lastPosition = positions[positions.length - 1];
|
|
var spaceWidth2 = lastPosition;
|
|
if(offsetX + widthValue - spaceWidth2 <= this.width - 2) {
|
|
wrap = false;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if(wrap) {
|
|
if(align != 2 && (layoutGroup != null || this.layoutGroups.get_length() > 0)) {
|
|
var previous = layoutGroup;
|
|
if(previous == null) {
|
|
previous = this.layoutGroups.get(this.layoutGroups.get_length() - 1);
|
|
}
|
|
previous.width -= previous.positions[previous.positions.length - 1];
|
|
previous.endIndex--;
|
|
}
|
|
var i = this.layoutGroups.get_length() - 1;
|
|
var offsetCount = 0;
|
|
while(true) {
|
|
layoutGroup = this.layoutGroups.get(i);
|
|
if(i > 0 && layoutGroup.startIndex > previousSpaceIndex) {
|
|
++offsetCount;
|
|
} else {
|
|
break;
|
|
}
|
|
--i;
|
|
}
|
|
if(textIndex == previousSpaceIndex + 1) {
|
|
alignBaseline();
|
|
}
|
|
offsetX = 2;
|
|
if(offsetCount > 0) {
|
|
var bumpX = this.layoutGroups.get(this.layoutGroups.get_length() - offsetCount).offsetX;
|
|
var _g = this.layoutGroups.get_length() - offsetCount;
|
|
var _g1 = this.layoutGroups.get_length();
|
|
while(_g < _g1) {
|
|
var i1 = _g++;
|
|
layoutGroup = this.layoutGroups.get(i1);
|
|
layoutGroup.offsetX -= bumpX;
|
|
layoutGroup.offsetY = offsetY;
|
|
layoutGroup.lineIndex = lineIndex;
|
|
offsetX += layoutGroup.width;
|
|
}
|
|
}
|
|
placeText(endIndex);
|
|
wrap = false;
|
|
} else if(layoutGroup != null && textIndex == spaceIndex) {
|
|
if(align != 2) {
|
|
layoutGroup.endIndex = spaceIndex;
|
|
layoutGroup.positions = layoutGroup.positions.concat(positions);
|
|
layoutGroup.width += widthValue;
|
|
}
|
|
offsetX += widthValue;
|
|
textIndex = endIndex;
|
|
} else if(layoutGroup == null || align == 2) {
|
|
placeText(endIndex);
|
|
} else {
|
|
var tempRangeEnd = endIndex < formatRange.end ? endIndex : formatRange.end;
|
|
if(tempRangeEnd < endIndex) {
|
|
positions = getPositions(this.text,textIndex,tempRangeEnd);
|
|
widthValue = getPositionsWidth(positions);
|
|
}
|
|
layoutGroup.endIndex = tempRangeEnd;
|
|
layoutGroup.positions = layoutGroup.positions.concat(positions);
|
|
layoutGroup.width += widthValue;
|
|
offsetX += widthValue;
|
|
if(tempRangeEnd == formatRange.end) {
|
|
layoutGroup = null;
|
|
nextFormatRange();
|
|
setLineMetrics();
|
|
textIndex = tempRangeEnd;
|
|
if(tempRangeEnd != endIndex) {
|
|
placeFormattedText(endIndex);
|
|
}
|
|
}
|
|
if(breakIndex == endIndex) {
|
|
++endIndex;
|
|
}
|
|
textIndex = endIndex;
|
|
}
|
|
var nextSpaceIndex = this.text.indexOf(" ",textIndex);
|
|
if(breakIndex == previousSpaceIndex) {
|
|
layoutGroup.endIndex = breakIndex;
|
|
if(breakIndex - layoutGroup.startIndex - layoutGroup.positions.length < 0) {
|
|
layoutGroup.positions.push(0.0);
|
|
}
|
|
textIndex = breakIndex + 1;
|
|
}
|
|
previousSpaceIndex = spaceIndex;
|
|
spaceIndex = nextSpaceIndex;
|
|
if(breakIndex > -1 && breakIndex <= textIndex && (spaceIndex > breakIndex || spaceIndex == -1) || textIndex > this.text.length) {
|
|
break;
|
|
}
|
|
}
|
|
} else {
|
|
if(textIndex < this.text.length) {
|
|
setFormattedPositions(textIndex,this.text.length);
|
|
placeText(this.text.length);
|
|
alignBaseline();
|
|
}
|
|
textIndex += 1;
|
|
}
|
|
if(previousBreakIndex == textIndex - 2 && previousBreakIndex > -1) {
|
|
nextLayoutGroup(textIndex,textIndex);
|
|
layoutGroup.positions = [];
|
|
layoutGroup.ascent = ascent;
|
|
layoutGroup.descent = descent;
|
|
layoutGroup.leading = leading;
|
|
layoutGroup.lineIndex = lineIndex;
|
|
layoutGroup.offsetX = 2;
|
|
layoutGroup.offsetY = offsetY;
|
|
layoutGroup.width = 0;
|
|
layoutGroup.height = heightValue;
|
|
}
|
|
}
|
|
,restrictText: function(value) {
|
|
if(value == null) {
|
|
return value;
|
|
}
|
|
if(this.__restrictRegexp != null) {
|
|
value = this.__restrictRegexp.split(value).join("");
|
|
}
|
|
return value;
|
|
}
|
|
,setTextAlignment: function() {
|
|
var lineIndex = -1;
|
|
var offsetX = 0.0;
|
|
var totalWidth = this.width - 4;
|
|
var group;
|
|
var lineLength;
|
|
var lineMeasurementsDirty = false;
|
|
var _g = 0;
|
|
var _g1 = this.layoutGroups.get_length();
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
group = this.layoutGroups.get(i);
|
|
if(group.lineIndex != lineIndex) {
|
|
lineIndex = group.lineIndex;
|
|
totalWidth = this.width - 4 - group.format.rightMargin;
|
|
switch(group.format.align) {
|
|
case 0:
|
|
if(this.lineWidths.get(lineIndex) < totalWidth) {
|
|
offsetX = Math.round((totalWidth - this.lineWidths.get(lineIndex)) / 2);
|
|
} else {
|
|
offsetX = 0;
|
|
}
|
|
break;
|
|
case 2:
|
|
if(this.lineWidths.get(lineIndex) < totalWidth) {
|
|
lineLength = 1;
|
|
var _g2 = i + 1;
|
|
var _g3 = this.layoutGroups.get_length();
|
|
while(_g2 < _g3) {
|
|
var j = _g2++;
|
|
if(this.layoutGroups.get(j).lineIndex == lineIndex) {
|
|
if(j == 0 || HxOverrides.cca(this.text,this.layoutGroups.get(j).startIndex - 1) == 32) {
|
|
++lineLength;
|
|
}
|
|
} else {
|
|
break;
|
|
}
|
|
}
|
|
if(lineLength > 1) {
|
|
group = this.layoutGroups.get(i + lineLength - 1);
|
|
var endChar = HxOverrides.cca(this.text,group.endIndex);
|
|
if(group.endIndex < this.text.length && endChar != 10 && endChar != 13) {
|
|
offsetX = (totalWidth - this.lineWidths.get(lineIndex)) / (lineLength - 1);
|
|
lineMeasurementsDirty = true;
|
|
var j1 = 1;
|
|
while(true) {
|
|
this.layoutGroups.get(i + j1).offsetX += offsetX * j1;
|
|
if(!(++j1 < lineLength)) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
offsetX = 0;
|
|
break;
|
|
case 4:
|
|
if(this.lineWidths.get(lineIndex) < totalWidth) {
|
|
offsetX = Math.round(totalWidth - this.lineWidths.get(lineIndex));
|
|
} else {
|
|
offsetX = 0;
|
|
}
|
|
break;
|
|
default:
|
|
offsetX = 0;
|
|
}
|
|
}
|
|
if(offsetX > 0) {
|
|
group.offsetX += offsetX;
|
|
}
|
|
}
|
|
if(lineMeasurementsDirty) {
|
|
this.getLineMeasurements();
|
|
}
|
|
}
|
|
,trimText: function(value) {
|
|
if(value == null) {
|
|
return value;
|
|
}
|
|
if(this.maxChars > 0 && value.length > this.maxChars) {
|
|
value = HxOverrides.substr(value,0,this.maxChars);
|
|
}
|
|
return value;
|
|
}
|
|
,update: function() {
|
|
if(this.text == null || this.textFormatRanges.get_length() == 0) {
|
|
this.lineAscents.set_length(0);
|
|
this.lineBreaks.set_length(0);
|
|
this.lineDescents.set_length(0);
|
|
this.lineLeadings.set_length(0);
|
|
this.lineHeights.set_length(0);
|
|
this.lineWidths.set_length(0);
|
|
this.layoutGroups.set_length(0);
|
|
this.textWidth = 0;
|
|
this.textHeight = 0;
|
|
this.numLines = 1;
|
|
this.maxScrollH = 0;
|
|
this.maxScrollV = 1;
|
|
this.bottomScrollV = 1;
|
|
} else {
|
|
this.getLayoutGroups();
|
|
this.getLineMeasurements();
|
|
this.setTextAlignment();
|
|
}
|
|
this.getBounds();
|
|
}
|
|
,get_bottomScrollV: function() {
|
|
if(this.numLines == 1 || this.lineHeights == null) {
|
|
return 1;
|
|
} else {
|
|
var tempHeight = 0.0;
|
|
var ret = this.lineHeights.get_length();
|
|
var _g = ret - 1;
|
|
var _g1 = this.lineHeights.get_length();
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(tempHeight + this.lineHeights.get(i) <= this.height - 4) {
|
|
tempHeight += this.lineHeights.get(i);
|
|
} else {
|
|
ret = i;
|
|
break;
|
|
}
|
|
}
|
|
if(ret < 1) {
|
|
return 1;
|
|
}
|
|
return ret;
|
|
}
|
|
}
|
|
,get_maxScrollV: function() {
|
|
if(this.numLines == 1 || this.lineHeights == null) {
|
|
return 1;
|
|
} else {
|
|
var i = this.numLines - 1;
|
|
var tempHeight = 0.0;
|
|
if(HxOverrides.cca(this.text,this.text.length - 1) == 10) {
|
|
--i;
|
|
}
|
|
var j = i;
|
|
while(i >= 0) if(tempHeight + this.lineHeights.get(i) <= this.height - 4) {
|
|
tempHeight += this.lineHeights.get(i);
|
|
--i;
|
|
} else {
|
|
break;
|
|
}
|
|
if(i == j) {
|
|
i = this.numLines;
|
|
} else {
|
|
i += 2;
|
|
}
|
|
if(i < 1) {
|
|
return 1;
|
|
}
|
|
return i;
|
|
}
|
|
}
|
|
,set_restrict: function(value) {
|
|
if(this.restrict == value) {
|
|
return this.restrict;
|
|
}
|
|
this.restrict = value;
|
|
if(this.restrict == null || this.restrict.length == 0) {
|
|
this.__restrictRegexp = null;
|
|
} else {
|
|
this.__restrictRegexp = this.createRestrictRegexp(value);
|
|
}
|
|
return this.restrict;
|
|
}
|
|
,get_scrollV: function() {
|
|
if(this.numLines == 1 || this.lineHeights == null) {
|
|
return 1;
|
|
}
|
|
var max = this.get_maxScrollV();
|
|
if(this.scrollV > max) {
|
|
return max;
|
|
}
|
|
return this.scrollV;
|
|
}
|
|
,set_scrollV: function(value) {
|
|
if(value < 1) {
|
|
value = 1;
|
|
}
|
|
return this.scrollV = value;
|
|
}
|
|
,set_text: function(value) {
|
|
return this.text = value;
|
|
}
|
|
,__class__: openfl_text__$internal_TextEngine
|
|
,__properties__: {set_text:"set_text",set_scrollV:"set_scrollV",get_scrollV:"get_scrollV",set_restrict:"set_restrict",get_maxScrollV:"get_maxScrollV",get_bottomScrollV:"get_bottomScrollV"}
|
|
};
|
|
var openfl_text__$internal_TextFormatRange = function(format,start,end) {
|
|
this.format = format;
|
|
this.start = start;
|
|
this.end = end;
|
|
};
|
|
$hxClasses["openfl.text._internal.TextFormatRange"] = openfl_text__$internal_TextFormatRange;
|
|
openfl_text__$internal_TextFormatRange.__name__ = "openfl.text._internal.TextFormatRange";
|
|
openfl_text__$internal_TextFormatRange.prototype = {
|
|
end: null
|
|
,format: null
|
|
,start: null
|
|
,__class__: openfl_text__$internal_TextFormatRange
|
|
};
|
|
var openfl_text__$internal_TextLayout = function(text,font,size,direction,script,language) {
|
|
if(language == null) {
|
|
language = "en";
|
|
}
|
|
if(script == null) {
|
|
script = "Zyyy";
|
|
}
|
|
if(direction == null) {
|
|
direction = 4;
|
|
}
|
|
if(size == null) {
|
|
size = 12;
|
|
}
|
|
if(text == null) {
|
|
text = "";
|
|
}
|
|
this.letterSpacing = 0;
|
|
this.set_text(text);
|
|
this.set_font(font);
|
|
this.set_size(size);
|
|
this.__direction = direction;
|
|
this.__script = script;
|
|
this.__language = language;
|
|
this.positions = [];
|
|
this.__dirty = true;
|
|
this.__create(this.__direction,this.__script,this.__language);
|
|
};
|
|
$hxClasses["openfl.text._internal.TextLayout"] = openfl_text__$internal_TextLayout;
|
|
openfl_text__$internal_TextLayout.__name__ = "openfl.text._internal.TextLayout";
|
|
openfl_text__$internal_TextLayout.prototype = {
|
|
autoHint: null
|
|
,font: null
|
|
,glyphs: null
|
|
,letterSpacing: null
|
|
,positions: null
|
|
,size: null
|
|
,text: null
|
|
,__buffer: null
|
|
,__direction: null
|
|
,__dirty: null
|
|
,__handle: null
|
|
,__language: null
|
|
,__script: null
|
|
,__font: null
|
|
,__hbBuffer: null
|
|
,__hbFont: null
|
|
,__create: function(direction,script,language) {
|
|
if(language.length != 4) {
|
|
return;
|
|
}
|
|
this.__hbBuffer = lime_text_harfbuzz_HBBuffer._new();
|
|
switch(direction) {
|
|
case 4:
|
|
break;
|
|
case 5:
|
|
break;
|
|
case 6:
|
|
break;
|
|
case 7:
|
|
break;
|
|
default:
|
|
}
|
|
var this1 = this.__hbBuffer;
|
|
var value = lime_text_harfbuzz_HBLanguage._new(language);
|
|
}
|
|
,__position: function() {
|
|
this.positions = [];
|
|
}
|
|
,get_positions: function() {
|
|
if(this.__dirty) {
|
|
this.__dirty = false;
|
|
this.__position();
|
|
}
|
|
return this.positions;
|
|
}
|
|
,get_direction: function() {
|
|
return this.__direction;
|
|
}
|
|
,set_direction: function(value) {
|
|
if(value == this.__direction) {
|
|
return value;
|
|
}
|
|
this.__direction = value;
|
|
this.__dirty = true;
|
|
return value;
|
|
}
|
|
,set_font: function(value) {
|
|
if(value == this.font) {
|
|
return value;
|
|
}
|
|
this.font = value;
|
|
this.__dirty = true;
|
|
return value;
|
|
}
|
|
,get_glyphs: function() {
|
|
var glyphs = [];
|
|
var _g = 0;
|
|
var _g1 = this.get_positions();
|
|
while(_g < _g1.length) {
|
|
var position = _g1[_g];
|
|
++_g;
|
|
glyphs.push(position.glyph);
|
|
}
|
|
return glyphs;
|
|
}
|
|
,get_language: function() {
|
|
return this.__language;
|
|
}
|
|
,set_language: function(value) {
|
|
if(value == this.__language) {
|
|
return value;
|
|
}
|
|
this.__language = value;
|
|
this.__dirty = true;
|
|
return value;
|
|
}
|
|
,get_script: function() {
|
|
return this.__script;
|
|
}
|
|
,set_script: function(value) {
|
|
if(value == this.__script) {
|
|
return value;
|
|
}
|
|
this.__script = value;
|
|
this.__dirty = true;
|
|
return value;
|
|
}
|
|
,set_size: function(value) {
|
|
if(value == this.size) {
|
|
return value;
|
|
}
|
|
this.size = value;
|
|
this.__dirty = true;
|
|
return value;
|
|
}
|
|
,set_text: function(value) {
|
|
if(value == this.text) {
|
|
return value;
|
|
}
|
|
this.text = value;
|
|
this.__dirty = true;
|
|
return value;
|
|
}
|
|
,__class__: openfl_text__$internal_TextLayout
|
|
,__properties__: {set_text:"set_text",set_size:"set_size",set_script:"set_script",get_script:"get_script",get_positions:"get_positions",set_language:"set_language",get_language:"get_language",get_glyphs:"get_glyphs",set_font:"set_font",set_direction:"set_direction",get_direction:"get_direction"}
|
|
};
|
|
var openfl_text__$internal_TextDirection = {};
|
|
openfl_text__$internal_TextDirection.__properties__ = {get_vertical:"get_vertical",get_horizontal:"get_horizontal",get_forward:"get_forward",get_backward:"get_backward"};
|
|
openfl_text__$internal_TextDirection.reverse = function(this1) {
|
|
this1 ^= 1;
|
|
};
|
|
openfl_text__$internal_TextDirection.toString = function(this1) {
|
|
switch(this1) {
|
|
case 4:
|
|
return "leftToRight";
|
|
case 5:
|
|
return "rightToLeft";
|
|
case 6:
|
|
return "topToBottom";
|
|
case 7:
|
|
return "bottomToTop";
|
|
default:
|
|
return "";
|
|
}
|
|
};
|
|
openfl_text__$internal_TextDirection.toHBDirection = function(this1) {
|
|
switch(this1) {
|
|
case 4:
|
|
return 4;
|
|
case 5:
|
|
return 5;
|
|
case 6:
|
|
return 6;
|
|
case 7:
|
|
return 7;
|
|
default:
|
|
return 0;
|
|
}
|
|
};
|
|
openfl_text__$internal_TextDirection.get_backward = function(this1) {
|
|
return (this1 & -3) == 5;
|
|
};
|
|
openfl_text__$internal_TextDirection.get_forward = function(this1) {
|
|
return (this1 & -3) == 4;
|
|
};
|
|
openfl_text__$internal_TextDirection.get_horizontal = function(this1) {
|
|
return (this1 & -2) == 4;
|
|
};
|
|
openfl_text__$internal_TextDirection.get_vertical = function(this1) {
|
|
return (this1 & -2) == 6;
|
|
};
|
|
var openfl_text__$internal_TextScript = {};
|
|
openfl_text__$internal_TextScript.__properties__ = {get_rightToLeft:"get_rightToLeft"};
|
|
openfl_text__$internal_TextScript.toHBScript = function(this1) {
|
|
return 1517910393;
|
|
};
|
|
openfl_text__$internal_TextScript.get_rightToLeft = function(this1) {
|
|
switch(this1) {
|
|
case "Arab":case "Armi":case "Avst":case "Cprt":case "Hebr":case "Khar":case "Lydi":case "Mand":case "Nkoo":case "Orkh":case "Phli":case "Phlp":case "Phnx":case "Samr":case "Sarb":case "Syrc":case "Thaa":
|
|
return true;
|
|
default:
|
|
return false;
|
|
}
|
|
};
|
|
var openfl_text__$internal_TextLayoutGroup = function(format,startIndex,endIndex) {
|
|
this.format = format;
|
|
this.startIndex = startIndex;
|
|
this.endIndex = endIndex;
|
|
};
|
|
$hxClasses["openfl.text._internal.TextLayoutGroup"] = openfl_text__$internal_TextLayoutGroup;
|
|
openfl_text__$internal_TextLayoutGroup.__name__ = "openfl.text._internal.TextLayoutGroup";
|
|
openfl_text__$internal_TextLayoutGroup.prototype = {
|
|
ascent: null
|
|
,descent: null
|
|
,endIndex: null
|
|
,format: null
|
|
,height: null
|
|
,leading: null
|
|
,lineIndex: null
|
|
,offsetX: null
|
|
,offsetY: null
|
|
,positions: null
|
|
,startIndex: null
|
|
,width: null
|
|
,getAdvance: function(index) {
|
|
return this.positions[index];
|
|
}
|
|
,__class__: openfl_text__$internal_TextLayoutGroup
|
|
};
|
|
var openfl_ui_GameInputControl = function(device,id,minValue,maxValue,value) {
|
|
if(value == null) {
|
|
value = 0;
|
|
}
|
|
openfl_events_EventDispatcher.call(this);
|
|
this.device = device;
|
|
this.id = id;
|
|
this.minValue = minValue;
|
|
this.maxValue = maxValue;
|
|
this.value = value;
|
|
};
|
|
$hxClasses["openfl.ui.GameInputControl"] = openfl_ui_GameInputControl;
|
|
openfl_ui_GameInputControl.__name__ = "openfl.ui.GameInputControl";
|
|
openfl_ui_GameInputControl.__super__ = openfl_events_EventDispatcher;
|
|
openfl_ui_GameInputControl.prototype = $extend(openfl_events_EventDispatcher.prototype,{
|
|
device: null
|
|
,id: null
|
|
,maxValue: null
|
|
,minValue: null
|
|
,value: null
|
|
,__class__: openfl_ui_GameInputControl
|
|
});
|
|
var openfl_ui_GameInputDevice = function(id,name) {
|
|
this.__controls = [];
|
|
this.__button = new haxe_ds_IntMap();
|
|
this.__axis = new haxe_ds_IntMap();
|
|
this.id = id;
|
|
this.name = name;
|
|
var control;
|
|
control = new openfl_ui_GameInputControl(this,"AXIS_" + 0,-1,1);
|
|
this.__axis.h[0] = control;
|
|
this.__controls.push(control);
|
|
control = new openfl_ui_GameInputControl(this,"AXIS_" + 1,-1,1);
|
|
this.__axis.h[1] = control;
|
|
this.__controls.push(control);
|
|
control = new openfl_ui_GameInputControl(this,"AXIS_" + 2,-1,1);
|
|
this.__axis.h[2] = control;
|
|
this.__controls.push(control);
|
|
control = new openfl_ui_GameInputControl(this,"AXIS_" + 3,-1,1);
|
|
this.__axis.h[3] = control;
|
|
this.__controls.push(control);
|
|
control = new openfl_ui_GameInputControl(this,"AXIS_" + 4,-1,1);
|
|
this.__axis.h[4] = control;
|
|
this.__controls.push(control);
|
|
control = new openfl_ui_GameInputControl(this,"AXIS_" + 5,-1,1);
|
|
this.__axis.h[5] = control;
|
|
this.__controls.push(control);
|
|
var _g = 0;
|
|
while(_g < 15) {
|
|
var i = _g++;
|
|
control = new openfl_ui_GameInputControl(this,"BUTTON_" + i,0,1);
|
|
this.__button.h[i] = control;
|
|
this.__controls.push(control);
|
|
}
|
|
};
|
|
$hxClasses["openfl.ui.GameInputDevice"] = openfl_ui_GameInputDevice;
|
|
openfl_ui_GameInputDevice.__name__ = "openfl.ui.GameInputDevice";
|
|
openfl_ui_GameInputDevice.prototype = {
|
|
enabled: null
|
|
,id: null
|
|
,name: null
|
|
,sampleInterval: null
|
|
,__axis: null
|
|
,__button: null
|
|
,__controls: null
|
|
,__gamepad: null
|
|
,getCachedSamples: function(data,append) {
|
|
if(append == null) {
|
|
append = false;
|
|
}
|
|
return 0;
|
|
}
|
|
,getControlAt: function(i) {
|
|
if(i >= 0 && i < this.__controls.length) {
|
|
return this.__controls[i];
|
|
}
|
|
return null;
|
|
}
|
|
,startCachingSamples: function(numSamples,controls) {
|
|
}
|
|
,stopCachingSamples: function() {
|
|
}
|
|
,get_numControls: function() {
|
|
return this.__controls.length;
|
|
}
|
|
,__class__: openfl_ui_GameInputDevice
|
|
,__properties__: {get_numControls:"get_numControls"}
|
|
};
|
|
var openfl_ui_Keyboard = function() { };
|
|
$hxClasses["openfl.ui.Keyboard"] = openfl_ui_Keyboard;
|
|
openfl_ui_Keyboard.__name__ = "openfl.ui.Keyboard";
|
|
openfl_ui_Keyboard.capsLock = null;
|
|
openfl_ui_Keyboard.numLock = null;
|
|
openfl_ui_Keyboard.isAccessible = function() {
|
|
return false;
|
|
};
|
|
openfl_ui_Keyboard.__convertKeyCode = function(key) {
|
|
switch(key) {
|
|
case 8:
|
|
return 8;
|
|
case 9:
|
|
return 9;
|
|
case 13:
|
|
return 13;
|
|
case 27:
|
|
return 27;
|
|
case 32:
|
|
return 32;
|
|
case 33:
|
|
return 49;
|
|
case 34:
|
|
return 222;
|
|
case 35:
|
|
return 51;
|
|
case 36:
|
|
return 52;
|
|
case 37:
|
|
return 53;
|
|
case 38:
|
|
return 55;
|
|
case 39:
|
|
return 222;
|
|
case 40:
|
|
return 57;
|
|
case 41:
|
|
return 48;
|
|
case 42:
|
|
return 56;
|
|
case 44:
|
|
return 188;
|
|
case 45:
|
|
return 189;
|
|
case 46:
|
|
return 190;
|
|
case 47:
|
|
return 191;
|
|
case 48:
|
|
return 48;
|
|
case 49:
|
|
return 49;
|
|
case 50:
|
|
return 50;
|
|
case 51:
|
|
return 51;
|
|
case 52:
|
|
return 52;
|
|
case 53:
|
|
return 53;
|
|
case 54:
|
|
return 54;
|
|
case 55:
|
|
return 55;
|
|
case 56:
|
|
return 56;
|
|
case 57:
|
|
return 57;
|
|
case 58:
|
|
return 186;
|
|
case 59:
|
|
return 186;
|
|
case 60:
|
|
return 60;
|
|
case 61:
|
|
return 187;
|
|
case 62:
|
|
return 190;
|
|
case 63:
|
|
return 191;
|
|
case 64:
|
|
return 50;
|
|
case 91:
|
|
return 219;
|
|
case 92:
|
|
return 220;
|
|
case 93:
|
|
return 221;
|
|
case 94:
|
|
return 54;
|
|
case 95:
|
|
return 189;
|
|
case 96:
|
|
return 192;
|
|
case 97:
|
|
return 65;
|
|
case 98:
|
|
return 66;
|
|
case 99:
|
|
return 67;
|
|
case 100:
|
|
return 68;
|
|
case 101:
|
|
return 69;
|
|
case 102:
|
|
return 70;
|
|
case 103:
|
|
return 71;
|
|
case 104:
|
|
return 72;
|
|
case 105:
|
|
return 73;
|
|
case 106:
|
|
return 74;
|
|
case 107:
|
|
return 75;
|
|
case 108:
|
|
return 76;
|
|
case 109:
|
|
return 77;
|
|
case 110:
|
|
return 78;
|
|
case 111:
|
|
return 79;
|
|
case 112:
|
|
return 80;
|
|
case 113:
|
|
return 81;
|
|
case 114:
|
|
return 82;
|
|
case 115:
|
|
return 83;
|
|
case 116:
|
|
return 84;
|
|
case 117:
|
|
return 85;
|
|
case 118:
|
|
return 86;
|
|
case 119:
|
|
return 87;
|
|
case 120:
|
|
return 88;
|
|
case 121:
|
|
return 89;
|
|
case 122:
|
|
return 90;
|
|
case 127:
|
|
return 46;
|
|
case 1073741881:
|
|
return 20;
|
|
case 1073741882:
|
|
return 112;
|
|
case 1073741883:
|
|
return 113;
|
|
case 1073741884:
|
|
return 114;
|
|
case 1073741885:
|
|
return 115;
|
|
case 1073741886:
|
|
return 116;
|
|
case 1073741887:
|
|
return 117;
|
|
case 1073741888:
|
|
return 118;
|
|
case 1073741889:
|
|
return 119;
|
|
case 1073741890:
|
|
return 120;
|
|
case 1073741891:
|
|
return 121;
|
|
case 1073741892:
|
|
return 122;
|
|
case 1073741893:
|
|
return 123;
|
|
case 1073741894:
|
|
return 301;
|
|
case 1073741895:
|
|
return 145;
|
|
case 1073741896:
|
|
return 19;
|
|
case 1073741897:
|
|
return 45;
|
|
case 1073741898:
|
|
return 36;
|
|
case 1073741899:
|
|
return 33;
|
|
case 1073741901:
|
|
return 35;
|
|
case 1073741902:
|
|
return 34;
|
|
case 1073741903:
|
|
return 39;
|
|
case 1073741904:
|
|
return 37;
|
|
case 1073741905:
|
|
return 40;
|
|
case 1073741906:
|
|
return 38;
|
|
case 1073741907:
|
|
return 144;
|
|
case 1073741908:
|
|
return 111;
|
|
case 1073741909:
|
|
return 106;
|
|
case 1073741910:
|
|
return 109;
|
|
case 1073741911:
|
|
return 107;
|
|
case 1073741912:
|
|
return 13;
|
|
case 1073741913:
|
|
return 97;
|
|
case 1073741914:
|
|
return 98;
|
|
case 1073741915:
|
|
return 99;
|
|
case 1073741916:
|
|
return 100;
|
|
case 1073741917:
|
|
return 101;
|
|
case 1073741918:
|
|
return 102;
|
|
case 1073741919:
|
|
return 103;
|
|
case 1073741920:
|
|
return 104;
|
|
case 1073741921:
|
|
return 105;
|
|
case 1073741922:
|
|
return 96;
|
|
case 1073741923:
|
|
return 110;
|
|
case 1073741925:
|
|
return 302;
|
|
case 1073741928:
|
|
return 124;
|
|
case 1073741929:
|
|
return 125;
|
|
case 1073741930:
|
|
return 126;
|
|
case 1073741982:
|
|
return 13;
|
|
case 1073742044:
|
|
return 110;
|
|
case 1073742048:
|
|
return 17;
|
|
case 1073742049:
|
|
return 16;
|
|
case 1073742050:
|
|
return 18;
|
|
case 1073742051:
|
|
return 15;
|
|
case 1073742052:
|
|
return 17;
|
|
case 1073742053:
|
|
return 16;
|
|
case 1073742054:
|
|
return 18;
|
|
case 1073742055:
|
|
return 15;
|
|
default:
|
|
return key;
|
|
}
|
|
};
|
|
openfl_ui_Keyboard.__getCharCode = function(key,shift) {
|
|
if(shift == null) {
|
|
shift = false;
|
|
}
|
|
if(!shift) {
|
|
switch(key) {
|
|
case 8:
|
|
return 8;
|
|
case 9:
|
|
return 9;
|
|
case 13:
|
|
return 13;
|
|
case 27:
|
|
return 27;
|
|
case 32:
|
|
return 32;
|
|
case 186:
|
|
return 59;
|
|
case 187:
|
|
return 61;
|
|
case 188:
|
|
return 44;
|
|
case 189:
|
|
return 45;
|
|
case 190:
|
|
return 46;
|
|
case 191:
|
|
return 47;
|
|
case 192:
|
|
return 96;
|
|
case 219:
|
|
return 91;
|
|
case 220:
|
|
return 92;
|
|
case 221:
|
|
return 93;
|
|
case 222:
|
|
return 39;
|
|
}
|
|
if(key >= 48 && key <= 57) {
|
|
return key - 48 + 48;
|
|
}
|
|
if(key >= 65 && key <= 90) {
|
|
return key - 65 + 97;
|
|
}
|
|
} else {
|
|
switch(key) {
|
|
case 48:
|
|
return 41;
|
|
case 49:
|
|
return 33;
|
|
case 50:
|
|
return 64;
|
|
case 51:
|
|
return 35;
|
|
case 52:
|
|
return 36;
|
|
case 53:
|
|
return 37;
|
|
case 54:
|
|
return 94;
|
|
case 55:
|
|
return 38;
|
|
case 56:
|
|
return 42;
|
|
case 57:
|
|
return 40;
|
|
case 186:
|
|
return 58;
|
|
case 187:
|
|
return 43;
|
|
case 188:
|
|
return 60;
|
|
case 189:
|
|
return 95;
|
|
case 190:
|
|
return 62;
|
|
case 191:
|
|
return 63;
|
|
case 192:
|
|
return 126;
|
|
case 219:
|
|
return 123;
|
|
case 220:
|
|
return 124;
|
|
case 221:
|
|
return 125;
|
|
case 222:
|
|
return 34;
|
|
}
|
|
if(key >= 65 && key <= 90) {
|
|
return key - 65 + 65;
|
|
}
|
|
}
|
|
if(key >= 96 && key <= 105) {
|
|
return key - 96 + 48;
|
|
}
|
|
switch(key) {
|
|
case 8:
|
|
return 8;
|
|
case 13:
|
|
return 13;
|
|
case 46:
|
|
return 127;
|
|
case 106:
|
|
return 42;
|
|
case 107:
|
|
return 43;
|
|
case 108:
|
|
return 44;
|
|
case 110:
|
|
return 45;
|
|
case 111:
|
|
return 46;
|
|
}
|
|
return 0;
|
|
};
|
|
openfl_ui_Keyboard.__getKeyLocation = function(key) {
|
|
switch(key) {
|
|
case 1073741908:case 1073741909:case 1073741910:case 1073741911:case 1073741912:case 1073741913:case 1073741914:case 1073741915:case 1073741916:case 1073741917:case 1073741918:case 1073741919:case 1073741920:case 1073741921:case 1073741922:case 1073741923:case 1073742044:
|
|
return 3;
|
|
case 1073742048:case 1073742049:case 1073742050:case 1073742051:
|
|
return 1;
|
|
case 1073742052:case 1073742053:case 1073742054:case 1073742055:
|
|
return 2;
|
|
default:
|
|
return 0;
|
|
}
|
|
};
|
|
var openfl_ui_Mouse = function() { };
|
|
$hxClasses["openfl.ui.Mouse"] = openfl_ui_Mouse;
|
|
openfl_ui_Mouse.__name__ = "openfl.ui.Mouse";
|
|
openfl_ui_Mouse.__properties__ = {set_cursor:"set_cursor",get_cursor:"get_cursor"};
|
|
openfl_ui_Mouse.__hidden = null;
|
|
openfl_ui_Mouse.hide = function() {
|
|
openfl_ui_Mouse.__hidden = true;
|
|
var _g = 0;
|
|
var _g1 = lime_app_Application.current.__windows;
|
|
while(_g < _g1.length) {
|
|
var $window = _g1[_g];
|
|
++_g;
|
|
$window.set_cursor(null);
|
|
}
|
|
};
|
|
openfl_ui_Mouse.show = function() {
|
|
openfl_ui_Mouse.__hidden = false;
|
|
var cacheCursor = openfl_ui_Mouse.__cursor;
|
|
openfl_ui_Mouse.__cursor = null;
|
|
openfl_ui_Mouse.set_cursor(cacheCursor);
|
|
};
|
|
openfl_ui_Mouse.get_cursor = function() {
|
|
return openfl_ui_Mouse.__cursor;
|
|
};
|
|
openfl_ui_Mouse.set_cursor = function(value) {
|
|
if(value == null) {
|
|
value = "auto";
|
|
}
|
|
var setCursor = null;
|
|
switch(value) {
|
|
case "arrow":
|
|
setCursor = lime_ui_MouseCursor.ARROW;
|
|
break;
|
|
case "button":
|
|
setCursor = lime_ui_MouseCursor.POINTER;
|
|
break;
|
|
case "crosshair":
|
|
setCursor = lime_ui_MouseCursor.CROSSHAIR;
|
|
break;
|
|
case "custom":
|
|
setCursor = lime_ui_MouseCursor.CUSTOM;
|
|
break;
|
|
case "hand":
|
|
setCursor = lime_ui_MouseCursor.MOVE;
|
|
break;
|
|
case "ibeam":
|
|
setCursor = lime_ui_MouseCursor.TEXT;
|
|
break;
|
|
case "resize_nesw":
|
|
setCursor = lime_ui_MouseCursor.RESIZE_NESW;
|
|
break;
|
|
case "resize_ns":
|
|
setCursor = lime_ui_MouseCursor.RESIZE_NS;
|
|
break;
|
|
case "resize_nwse":
|
|
setCursor = lime_ui_MouseCursor.RESIZE_NWSE;
|
|
break;
|
|
case "resize_we":
|
|
setCursor = lime_ui_MouseCursor.RESIZE_WE;
|
|
break;
|
|
case "wait":
|
|
setCursor = lime_ui_MouseCursor.WAIT;
|
|
break;
|
|
case "waitarrow":
|
|
setCursor = lime_ui_MouseCursor.WAIT_ARROW;
|
|
break;
|
|
default:
|
|
}
|
|
if(setCursor != null && !openfl_ui_Mouse.__hidden) {
|
|
var _g = 0;
|
|
var _g1 = lime_app_Application.current.__windows;
|
|
while(_g < _g1.length) {
|
|
var $window = _g1[_g];
|
|
++_g;
|
|
$window.set_cursor(setCursor);
|
|
}
|
|
}
|
|
return openfl_ui_Mouse.__cursor = value;
|
|
};
|
|
var openfl_ui_MouseCursor = {};
|
|
openfl_ui_MouseCursor.fromLimeCursor = function(cursor) {
|
|
switch(cursor._hx_index) {
|
|
case 0:
|
|
return "arrow";
|
|
case 1:
|
|
return "crosshair";
|
|
case 2:
|
|
return "auto";
|
|
case 3:
|
|
return "hand";
|
|
case 4:
|
|
return "button";
|
|
case 5:
|
|
return "resize_nesw";
|
|
case 6:
|
|
return "resize_ns";
|
|
case 7:
|
|
return "resize_nwse";
|
|
case 8:
|
|
return "resize_we";
|
|
case 9:
|
|
return "ibeam";
|
|
case 10:
|
|
return "wait";
|
|
case 11:
|
|
return "waitarrow";
|
|
case 12:
|
|
return "custom";
|
|
}
|
|
};
|
|
openfl_ui_MouseCursor.toLimeCursor = function(this1) {
|
|
switch(this1) {
|
|
case "arrow":
|
|
return lime_ui_MouseCursor.ARROW;
|
|
case "auto":
|
|
return lime_ui_MouseCursor.DEFAULT;
|
|
case "button":
|
|
return lime_ui_MouseCursor.POINTER;
|
|
case "crosshair":
|
|
return lime_ui_MouseCursor.CROSSHAIR;
|
|
case "custom":
|
|
return lime_ui_MouseCursor.CUSTOM;
|
|
case "hand":
|
|
return lime_ui_MouseCursor.MOVE;
|
|
case "ibeam":
|
|
return lime_ui_MouseCursor.TEXT;
|
|
case "resize_nesw":
|
|
return lime_ui_MouseCursor.RESIZE_NESW;
|
|
case "resize_ns":
|
|
return lime_ui_MouseCursor.RESIZE_NS;
|
|
case "resize_nwse":
|
|
return lime_ui_MouseCursor.RESIZE_NWSE;
|
|
case "resize_we":
|
|
return lime_ui_MouseCursor.RESIZE_WE;
|
|
case "wait":
|
|
return lime_ui_MouseCursor.WAIT;
|
|
case "waitarrow":
|
|
return lime_ui_MouseCursor.WAIT_ARROW;
|
|
default:
|
|
return lime_ui_MouseCursor.DEFAULT;
|
|
}
|
|
};
|
|
var openfl_ui_Multitouch = function() { };
|
|
$hxClasses["openfl.ui.Multitouch"] = openfl_ui_Multitouch;
|
|
openfl_ui_Multitouch.__name__ = "openfl.ui.Multitouch";
|
|
openfl_ui_Multitouch.__properties__ = {get_supportsTouchEvents:"get_supportsTouchEvents"};
|
|
openfl_ui_Multitouch.inputMode = null;
|
|
openfl_ui_Multitouch.maxTouchPoints = null;
|
|
openfl_ui_Multitouch.supportedGestures = null;
|
|
openfl_ui_Multitouch.supportsGestureEvents = null;
|
|
openfl_ui_Multitouch.get_supportsTouchEvents = function() {
|
|
if(('ontouchstart' in document.documentElement) || (window.DocumentTouch && document instanceof DocumentTouch)) {
|
|
return true;
|
|
}
|
|
return false;
|
|
};
|
|
var openfl_ui_MultitouchInputMode = {};
|
|
openfl_ui_MultitouchInputMode.fromString = function(value) {
|
|
switch(value) {
|
|
case "gesture":
|
|
return 0;
|
|
case "none":
|
|
return 1;
|
|
case "touchPoint":
|
|
return 2;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_ui_MultitouchInputMode.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "gesture";
|
|
case 1:
|
|
return "none";
|
|
case 2:
|
|
return "touchPoint";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
var openfl_utils_AGALMiniAssembler = function(debugging) {
|
|
if(debugging == null) {
|
|
debugging = false;
|
|
}
|
|
this.debugEnabled = false;
|
|
this.debugEnabled = debugging;
|
|
if(!openfl_utils_AGALMiniAssembler.initialized) {
|
|
openfl_utils_AGALMiniAssembler.init();
|
|
}
|
|
};
|
|
$hxClasses["openfl.utils.AGALMiniAssembler"] = openfl_utils_AGALMiniAssembler;
|
|
openfl_utils_AGALMiniAssembler.__name__ = "openfl.utils.AGALMiniAssembler";
|
|
openfl_utils_AGALMiniAssembler.init = function() {
|
|
openfl_utils_AGALMiniAssembler.initialized = true;
|
|
var this1 = openfl_utils_AGALMiniAssembler.OPMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_OpCode("mov",2,0,0);
|
|
this1.h["mov"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.OPMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_OpCode("add",3,1,0);
|
|
this1.h["add"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.OPMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_OpCode("sub",3,2,0);
|
|
this1.h["sub"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.OPMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_OpCode("mul",3,3,0);
|
|
this1.h["mul"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.OPMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_OpCode("div",3,4,0);
|
|
this1.h["div"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.OPMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_OpCode("rcp",2,5,0);
|
|
this1.h["rcp"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.OPMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_OpCode("min",3,6,0);
|
|
this1.h["min"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.OPMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_OpCode("max",3,7,0);
|
|
this1.h["max"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.OPMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_OpCode("frc",2,8,0);
|
|
this1.h["frc"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.OPMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_OpCode("sqt",2,9,0);
|
|
this1.h["sqt"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.OPMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_OpCode("rsq",2,10,0);
|
|
this1.h["rsq"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.OPMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_OpCode("pow",3,11,0);
|
|
this1.h["pow"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.OPMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_OpCode("log",2,12,0);
|
|
this1.h["log"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.OPMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_OpCode("exp",2,13,0);
|
|
this1.h["exp"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.OPMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_OpCode("nrm",2,14,0);
|
|
this1.h["nrm"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.OPMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_OpCode("sin",2,15,0);
|
|
this1.h["sin"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.OPMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_OpCode("cos",2,16,0);
|
|
this1.h["cos"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.OPMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_OpCode("crs",3,17,0);
|
|
this1.h["crs"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.OPMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_OpCode("dp3",3,18,0);
|
|
this1.h["dp3"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.OPMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_OpCode("dp4",3,19,0);
|
|
this1.h["dp4"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.OPMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_OpCode("abs",2,20,0);
|
|
this1.h["abs"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.OPMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_OpCode("neg",2,21,0);
|
|
this1.h["neg"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.OPMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_OpCode("sat",2,22,0);
|
|
this1.h["sat"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.OPMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_OpCode("m33",3,23,16);
|
|
this1.h["m33"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.OPMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_OpCode("m44",3,24,16);
|
|
this1.h["m44"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.OPMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_OpCode("m34",3,25,16);
|
|
this1.h["m34"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.OPMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_OpCode("ddx",2,26,288);
|
|
this1.h["ddx"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.OPMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_OpCode("ddy",2,27,288);
|
|
this1.h["ddy"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.OPMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_OpCode("ife",2,28,897);
|
|
this1.h["ife"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.OPMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_OpCode("ine",2,29,897);
|
|
this1.h["ine"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.OPMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_OpCode("ifg",2,30,897);
|
|
this1.h["ifg"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.OPMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_OpCode("ifl",2,31,897);
|
|
this1.h["ifl"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.OPMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_OpCode("els",0,32,1921);
|
|
this1.h["els"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.OPMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_OpCode("eif",0,33,1409);
|
|
this1.h["eif"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.OPMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_OpCode("kil",1,39,160);
|
|
this1.h["kil"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.OPMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_OpCode("tex",3,40,40);
|
|
this1.h["tex"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.OPMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_OpCode("sge",3,41,0);
|
|
this1.h["sge"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.OPMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_OpCode("slt",3,42,0);
|
|
this1.h["slt"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.OPMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_OpCode("sgn",2,43,0);
|
|
this1.h["sgn"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.OPMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_OpCode("seq",3,44,0);
|
|
this1.h["seq"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.OPMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_OpCode("sne",3,45,0);
|
|
this1.h["sne"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.SAMPLEMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_Sampler("rgba",8,0);
|
|
this1.h["rgba"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.SAMPLEMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_Sampler("compressed",8,1);
|
|
this1.h["compressed"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.SAMPLEMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_Sampler("compressedalpha",8,2);
|
|
this1.h["compressedalpha"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.SAMPLEMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_Sampler("dxt1",8,1);
|
|
this1.h["dxt1"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.SAMPLEMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_Sampler("dxt5",8,2);
|
|
this1.h["dxt5"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.SAMPLEMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_Sampler("video",8,3);
|
|
this1.h["video"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.SAMPLEMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_Sampler("2d",12,0);
|
|
this1.h["2d"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.SAMPLEMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_Sampler("3d",12,2);
|
|
this1.h["3d"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.SAMPLEMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_Sampler("cube",12,1);
|
|
this1.h["cube"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.SAMPLEMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_Sampler("mipnearest",24,1);
|
|
this1.h["mipnearest"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.SAMPLEMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_Sampler("miplinear",24,2);
|
|
this1.h["miplinear"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.SAMPLEMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_Sampler("mipnone",24,0);
|
|
this1.h["mipnone"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.SAMPLEMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_Sampler("nomip",24,0);
|
|
this1.h["nomip"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.SAMPLEMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_Sampler("nearest",28,0);
|
|
this1.h["nearest"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.SAMPLEMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_Sampler("linear",28,1);
|
|
this1.h["linear"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.SAMPLEMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_Sampler("anisotropic2x",28,2);
|
|
this1.h["anisotropic2x"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.SAMPLEMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_Sampler("anisotropic4x",28,3);
|
|
this1.h["anisotropic4x"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.SAMPLEMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_Sampler("anisotropic8x",28,4);
|
|
this1.h["anisotropic8x"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.SAMPLEMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_Sampler("anisotropic16x",28,5);
|
|
this1.h["anisotropic16x"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.SAMPLEMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_Sampler("centroid",16,1);
|
|
this1.h["centroid"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.SAMPLEMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_Sampler("single",16,2);
|
|
this1.h["single"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.SAMPLEMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_Sampler("ignoresampler",16,4);
|
|
this1.h["ignoresampler"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.SAMPLEMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_Sampler("repeat",20,1);
|
|
this1.h["repeat"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.SAMPLEMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_Sampler("wrap",20,1);
|
|
this1.h["wrap"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.SAMPLEMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_Sampler("clamp",20,0);
|
|
this1.h["clamp"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.SAMPLEMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_Sampler("clamp_u_repeat_v",20,2);
|
|
this1.h["clamp_u_repeat_v"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.SAMPLEMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_Sampler("repeat_u_clamp_v",20,3);
|
|
this1.h["repeat_u_clamp_v"] = v;
|
|
};
|
|
openfl_utils_AGALMiniAssembler.prototype = {
|
|
agalcode: null
|
|
,error: null
|
|
,verbose: null
|
|
,debugEnabled: null
|
|
,assemble2: function(context3D,version,vertexSource,fragmentSource) {
|
|
var agalVertex = this.assemble("vertex",vertexSource,version);
|
|
var agalFragment = this.assemble("fragment",fragmentSource,version);
|
|
var program = context3D.createProgram();
|
|
program.upload(agalVertex,agalFragment);
|
|
return program;
|
|
}
|
|
,assemble: function(mode,source,version,ignoreLimits) {
|
|
if(ignoreLimits == null) {
|
|
ignoreLimits = false;
|
|
}
|
|
if(version == null) {
|
|
version = 1;
|
|
}
|
|
var start = openfl_Lib.getTimer();
|
|
var this1 = new openfl_utils_ByteArrayData(0);
|
|
this.agalcode = this1;
|
|
this.error = "";
|
|
var isFrag = false;
|
|
if(mode == "fragment") {
|
|
isFrag = true;
|
|
} else if(mode != "vertex") {
|
|
this.error = "ERROR: mode needs to be \"" + "fragment" + "\" or \"" + "vertex" + "\" but is \"" + mode + "\".";
|
|
}
|
|
this.agalcode.__endian = 1;
|
|
this.agalcode.writeByte(160);
|
|
this.agalcode.writeUnsignedInt(version);
|
|
this.agalcode.writeByte(161);
|
|
this.agalcode.writeByte(isFrag ? 1 : 0);
|
|
this.initregmap(version,ignoreLimits);
|
|
var lines = StringTools.replace(source,"\r","\n").split("\n");
|
|
var nops = 0;
|
|
var lng = lines.length;
|
|
var reg1 = new EReg("<.*>","g");
|
|
var reg2 = new EReg("([\\w\\.\\-\\+]+)","gi");
|
|
var reg3 = new EReg("^\\w{3}","ig");
|
|
var reg4 = new EReg("vc\\[([vofi][acostdip]?[d]?)(\\d*)?(\\.[xyzw](\\+\\d{1,3})?)?\\](\\.[xyzw]{1,4})?|([vofi][acostdip]?[d]?)(\\d*)?(\\.[xyzw]{1,4})?","gi");
|
|
var reg5 = new EReg("\\[.*\\]","ig");
|
|
var reg6 = new EReg("^\\b[A-Za-z]{1,3}","ig");
|
|
var reg7 = new EReg("\\d+","");
|
|
var reg8 = new EReg("(\\.[xyzw]{1,4})","");
|
|
var reg9 = new EReg("[A-Za-z]{1,3}","ig");
|
|
var reg10 = new EReg("(\\.[xyzw]{1,1})","");
|
|
var reg11 = new EReg("\\+\\d{1,3}","ig");
|
|
var i = 0;
|
|
while(i < lng && this.error == "") {
|
|
var line = StringTools.trim(lines[i]);
|
|
var startcomment = line.indexOf("//");
|
|
if(startcomment != -1) {
|
|
line = HxOverrides.substr(line,0,startcomment);
|
|
}
|
|
var optsi = reg1.match(line) ? reg1.matchedPos().pos : -1;
|
|
var opts = null;
|
|
if(optsi != -1) {
|
|
opts = this.match(HxOverrides.substr(line,optsi,null),reg2);
|
|
line = HxOverrides.substr(line,0,optsi);
|
|
}
|
|
var opCode = null;
|
|
var opFound = null;
|
|
if(reg3.match(line)) {
|
|
opCode = reg3.matched(0);
|
|
opFound = openfl_utils_AGALMiniAssembler.OPMAP.h[opCode];
|
|
}
|
|
if(opFound == null) {
|
|
if(line.length >= 3) {
|
|
lime_utils_Log.warn("warning: bad line " + i + ": " + lines[i],{ fileName : "openfl/utils/AGALMiniAssembler.hx", lineNumber : 262, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"});
|
|
}
|
|
++i;
|
|
continue;
|
|
}
|
|
if(this.debugEnabled) {
|
|
lime_utils_Log.info(opFound,{ fileName : "openfl/utils/AGALMiniAssembler.hx", lineNumber : 272, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"});
|
|
}
|
|
if(opFound == null) {
|
|
if(line.length >= 3) {
|
|
lime_utils_Log.warn("warning: bad line " + i + ": " + lines[i],{ fileName : "openfl/utils/AGALMiniAssembler.hx", lineNumber : 279, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"});
|
|
}
|
|
++i;
|
|
continue;
|
|
}
|
|
line = HxOverrides.substr(line,line.indexOf(opFound.name) + opFound.name.length,null);
|
|
if((opFound.flags & 256) != 0 && version < 2) {
|
|
this.error = "error: opcode requires version 2.";
|
|
break;
|
|
}
|
|
if((opFound.flags & 64) != 0 && isFrag) {
|
|
this.error = "error: opcode is only allowed in vertex programs.";
|
|
break;
|
|
}
|
|
if((opFound.flags & 32) != 0 && !isFrag) {
|
|
this.error = "error: opcode is only allowed in fragment programs.";
|
|
break;
|
|
}
|
|
if(this.verbose) {
|
|
lime_utils_Log.info("emit opcode=" + Std.string(opFound),{ fileName : "openfl/utils/AGALMiniAssembler.hx", lineNumber : 308, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"});
|
|
}
|
|
this.agalcode.writeUnsignedInt(opFound.emitCode);
|
|
++nops;
|
|
if(nops > 4096) {
|
|
this.error = "error: too many opcodes. maximum is " + 4096 + ".";
|
|
break;
|
|
}
|
|
var regs = this.match(line,reg4);
|
|
if(regs.length != opFound.numRegister) {
|
|
this.error = "error: wrong number of operands. found " + regs.length + " but expected " + opFound.numRegister + ".";
|
|
break;
|
|
}
|
|
var badreg = false;
|
|
var pad = 160;
|
|
var regLength = regs.length;
|
|
var _g = 0;
|
|
var _g1 = regLength;
|
|
while(_g < _g1) {
|
|
var j = _g++;
|
|
var isRelative = false;
|
|
var relreg = this.match(regs[j],reg5);
|
|
if(relreg.length > 0) {
|
|
regs[j] = StringTools.replace(regs[j],relreg[0],"0");
|
|
if(this.verbose) {
|
|
lime_utils_Log.info("IS REL",{ fileName : "openfl/utils/AGALMiniAssembler.hx", lineNumber : 344, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"});
|
|
}
|
|
isRelative = true;
|
|
}
|
|
var res = this.match(regs[j],reg6);
|
|
if(res.length == 0) {
|
|
this.error = "error: could not parse operand " + j + " (" + regs[j] + ").";
|
|
badreg = true;
|
|
break;
|
|
}
|
|
var regFound = openfl_utils_AGALMiniAssembler.REGMAP.h[res[0]];
|
|
if(this.debugEnabled) {
|
|
lime_utils_Log.info(regFound,{ fileName : "openfl/utils/AGALMiniAssembler.hx", lineNumber : 363, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"});
|
|
}
|
|
if(regFound == null) {
|
|
this.error = "error: could not find register name for operand " + j + " (" + regs[j] + ").";
|
|
badreg = true;
|
|
break;
|
|
}
|
|
if(isFrag) {
|
|
if((regFound.flags & 32) == 0) {
|
|
this.error = "error: register operand " + j + " (" + regs[j] + ") only allowed in vertex programs.";
|
|
badreg = true;
|
|
break;
|
|
}
|
|
if(isRelative) {
|
|
this.error = "error: register operand " + j + " (" + regs[j] + ") relative adressing not allowed in fragment programs.";
|
|
badreg = true;
|
|
break;
|
|
}
|
|
} else if((regFound.flags & 64) == 0) {
|
|
this.error = "error: register operand " + j + " (" + regs[j] + ") only allowed in fragment programs.";
|
|
badreg = true;
|
|
break;
|
|
}
|
|
regs[j] = HxOverrides.substr(regs[j],regs[j].indexOf(regFound.name) + regFound.name.length,null);
|
|
var idxmatch = isRelative ? this.match(relreg[0],reg7) : this.match(regs[j],reg7);
|
|
var regidx = 0;
|
|
if(idxmatch.length > 0) {
|
|
regidx = Std.parseInt(idxmatch[0]);
|
|
}
|
|
if(UInt.gt(regidx,regFound.range)) {
|
|
var tmp = regFound.range + 1;
|
|
this.error = "error: register operand " + j + " (" + regs[j] + ") index exceeds limit of " + (tmp == null ? "null" : Std.string(UInt.toFloat(tmp))) + ".";
|
|
badreg = true;
|
|
break;
|
|
}
|
|
var regmask = 0;
|
|
var maskmatch = this.match(regs[j],reg8);
|
|
var isDest = j == 0 && (opFound.flags & 128) == 0;
|
|
var isSampler = j == 2 && (opFound.flags & 8) != 0;
|
|
var reltype = 0;
|
|
var relsel = 0;
|
|
var reloffset = 0;
|
|
if(isDest && isRelative) {
|
|
this.error = "error: relative can not be destination";
|
|
badreg = true;
|
|
break;
|
|
}
|
|
if(maskmatch.length > 0) {
|
|
regmask = 0;
|
|
var cv = 0;
|
|
var maskLength = maskmatch[0].length;
|
|
var k = 1;
|
|
while(k < maskLength) {
|
|
cv = HxOverrides.cca(maskmatch[0],k) - 120;
|
|
if(UInt.gt(cv,2)) {
|
|
cv = 3;
|
|
}
|
|
if(isDest) {
|
|
regmask |= 1 << cv;
|
|
} else {
|
|
regmask = regmask | cv << (k - 1 << 1);
|
|
}
|
|
++k;
|
|
}
|
|
if(!isDest) {
|
|
while(k <= 4) {
|
|
regmask = regmask | cv << (k - 1 << 1);
|
|
++k;
|
|
}
|
|
}
|
|
} else {
|
|
regmask = isDest ? 15 : 228;
|
|
}
|
|
if(isRelative) {
|
|
var relname = this.match(relreg[0],reg9);
|
|
var regFoundRel = openfl_utils_AGALMiniAssembler.REGMAP.h[relname[0]];
|
|
if(regFoundRel == null) {
|
|
this.error = "error: bad index register";
|
|
badreg = true;
|
|
break;
|
|
}
|
|
reltype = regFoundRel.emitCode;
|
|
var selmatch = this.match(relreg[0],reg10);
|
|
if(selmatch.length == 0) {
|
|
this.error = "error: bad index register select";
|
|
badreg = true;
|
|
break;
|
|
}
|
|
relsel = HxOverrides.cca(selmatch[0],1) - 120;
|
|
if(UInt.gt(relsel,2)) {
|
|
relsel = 3;
|
|
}
|
|
var relofs = this.match(relreg[0],reg11);
|
|
if(relofs.length > 0) {
|
|
reloffset = Std.parseInt(relofs[0]);
|
|
}
|
|
if(reloffset < 0 || reloffset > 255) {
|
|
this.error = "error: index offset " + reloffset + " out of bounds. [0..255]";
|
|
badreg = true;
|
|
break;
|
|
}
|
|
if(this.verbose) {
|
|
lime_utils_Log.info("RELATIVE: type=" + reltype + "==" + relname[0] + " sel=" + (relsel == null ? "null" : Std.string(UInt.toFloat(relsel))) + "==" + selmatch[0] + " idx=" + (regidx == null ? "null" : Std.string(UInt.toFloat(regidx))) + " offset=" + reloffset,{ fileName : "openfl/utils/AGALMiniAssembler.hx", lineNumber : 518, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"});
|
|
}
|
|
}
|
|
if(this.verbose) {
|
|
lime_utils_Log.info(" emit argcode=" + Std.string(regFound) + "[" + (regidx == null ? "null" : Std.string(UInt.toFloat(regidx))) + "][" + regmask + "]",{ fileName : "openfl/utils/AGALMiniAssembler.hx", lineNumber : 525, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"});
|
|
}
|
|
if(isDest) {
|
|
this.agalcode.writeShort(regidx);
|
|
this.agalcode.writeByte(regmask);
|
|
this.agalcode.writeByte(regFound.emitCode);
|
|
pad -= 32;
|
|
} else if(isSampler) {
|
|
if(this.verbose) {
|
|
lime_utils_Log.info(" emit sampler",{ fileName : "openfl/utils/AGALMiniAssembler.hx", lineNumber : 541, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"});
|
|
}
|
|
var samplerbits = 5;
|
|
var optsLength = opts == null ? 0 : opts.length;
|
|
var bias = 0.0;
|
|
var _g2 = 0;
|
|
var _g3 = optsLength;
|
|
while(_g2 < _g3) {
|
|
var k1 = _g2++;
|
|
if(this.verbose) {
|
|
lime_utils_Log.info(" opt: " + opts[k1],{ fileName : "openfl/utils/AGALMiniAssembler.hx", lineNumber : 552, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"});
|
|
}
|
|
var optfound = openfl_utils_AGALMiniAssembler.SAMPLEMAP.h[opts[k1]];
|
|
if(optfound == null) {
|
|
bias = parseFloat(opts[k1]);
|
|
if(this.verbose) {
|
|
lime_utils_Log.info(" bias: " + bias,{ fileName : "openfl/utils/AGALMiniAssembler.hx", lineNumber : 565, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"});
|
|
}
|
|
} else {
|
|
if(optfound.flag != 16) {
|
|
samplerbits &= ~(15 << optfound.flag);
|
|
}
|
|
samplerbits = samplerbits | optfound.mask << optfound.flag;
|
|
}
|
|
}
|
|
this.agalcode.writeShort(regidx);
|
|
this.agalcode.writeByte(bias * 8.0 | 0);
|
|
this.agalcode.writeByte(0);
|
|
this.agalcode.writeUnsignedInt(samplerbits);
|
|
if(this.verbose) {
|
|
lime_utils_Log.info(" bits: " + (samplerbits - 5),{ fileName : "openfl/utils/AGALMiniAssembler.hx", lineNumber : 586, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"});
|
|
}
|
|
pad -= 64;
|
|
} else {
|
|
if(j == 0) {
|
|
this.agalcode.writeUnsignedInt(0);
|
|
pad -= 32;
|
|
}
|
|
this.agalcode.writeShort(regidx);
|
|
this.agalcode.writeByte(reloffset);
|
|
this.agalcode.writeByte(regmask);
|
|
this.agalcode.writeByte(regFound.emitCode);
|
|
this.agalcode.writeByte(reltype);
|
|
this.agalcode.writeShort(isRelative ? relsel | 32768 : 0);
|
|
pad -= 64;
|
|
}
|
|
}
|
|
var j1 = 0;
|
|
while(j1 < pad) {
|
|
this.agalcode.writeByte(0);
|
|
j1 += 8;
|
|
}
|
|
if(badreg) {
|
|
break;
|
|
}
|
|
++i;
|
|
}
|
|
if(this.error != "") {
|
|
this.error += "\n at line " + i + " " + lines[i];
|
|
openfl_utils_ByteArray.set_length(this.agalcode,0);
|
|
lime_utils_Log.info(this.error,{ fileName : "openfl/utils/AGALMiniAssembler.hx", lineNumber : 631, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"});
|
|
}
|
|
if(this.debugEnabled) {
|
|
var dbgLine = "generated bytecode:";
|
|
var agalLength = openfl_utils_ByteArray.get_length(this.agalcode);
|
|
var _g = 0;
|
|
var _g1 = agalLength;
|
|
while(_g < _g1) {
|
|
var index = _g++;
|
|
if(index % 16 == 0) {
|
|
dbgLine += "\n";
|
|
}
|
|
if(index % 4 == 0) {
|
|
dbgLine += " ";
|
|
}
|
|
var byteStr = StringTools.hex(this.agalcode.b[index],2);
|
|
if(byteStr.length < 2) {
|
|
byteStr = "0" + byteStr;
|
|
}
|
|
dbgLine += byteStr;
|
|
}
|
|
lime_utils_Log.info(dbgLine,{ fileName : "openfl/utils/AGALMiniAssembler.hx", lineNumber : 662, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"});
|
|
}
|
|
if(this.verbose) {
|
|
lime_utils_Log.info("AGALMiniAssembler.assemble time: " + (openfl_Lib.getTimer() - start) / 1000 + "s",{ fileName : "openfl/utils/AGALMiniAssembler.hx", lineNumber : 667, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"});
|
|
}
|
|
return this.agalcode;
|
|
}
|
|
,initregmap: function(version,ignorelimits) {
|
|
var this1 = openfl_utils_AGALMiniAssembler.REGMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_Register("va","vertex attribute",0,ignorelimits ? 1024 : version == 1 || version == 2 ? 7 : 15,66);
|
|
this1.h["va"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.REGMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_Register("vc","vertex constant",1,ignorelimits ? 1024 : version == 1 ? 127 : 249,66);
|
|
this1.h["vc"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.REGMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_Register("vt","vertex temporary",2,ignorelimits ? 1024 : version == 1 ? 7 : 25,67);
|
|
this1.h["vt"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.REGMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_Register("vo","vertex output",3,ignorelimits ? 1024 : 0,65);
|
|
this1.h["vo"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.REGMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_Register("vi","varying",4,ignorelimits ? 1024 : version == 1 ? 7 : 9,99);
|
|
this1.h["vi"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.REGMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_Register("fc","fragment constant",1,ignorelimits ? 1024 : version == 1 ? 27 : version == 2 ? 63 : 199,34);
|
|
this1.h["fc"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.REGMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_Register("ft","fragment temporary",2,ignorelimits ? 1024 : version == 1 ? 7 : 25,35);
|
|
this1.h["ft"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.REGMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_Register("fs","texture sampler",5,ignorelimits ? 1024 : 7,34);
|
|
this1.h["fs"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.REGMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_Register("fo","fragment output",3,ignorelimits ? 1024 : version == 1 ? 0 : 3,33);
|
|
this1.h["fo"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.REGMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_Register("fd","fragment depth output",6,ignorelimits ? 1024 : version == 1 ? -1 : 0,33);
|
|
this1.h["fd"] = v;
|
|
var this1 = openfl_utils_AGALMiniAssembler.REGMAP;
|
|
var v = new openfl_utils__$AGALMiniAssembler_Register("iid","instance id",7,ignorelimits ? 1024 : 0,66);
|
|
this1.h["iid"] = v;
|
|
var v = openfl_utils_AGALMiniAssembler.REGMAP.h["vo"];
|
|
openfl_utils_AGALMiniAssembler.REGMAP.h["op"] = v;
|
|
var v = openfl_utils_AGALMiniAssembler.REGMAP.h["vi"];
|
|
openfl_utils_AGALMiniAssembler.REGMAP.h["i"] = v;
|
|
var v = openfl_utils_AGALMiniAssembler.REGMAP.h["vi"];
|
|
openfl_utils_AGALMiniAssembler.REGMAP.h["v"] = v;
|
|
var v = openfl_utils_AGALMiniAssembler.REGMAP.h["fo"];
|
|
openfl_utils_AGALMiniAssembler.REGMAP.h["oc"] = v;
|
|
var v = openfl_utils_AGALMiniAssembler.REGMAP.h["fd"];
|
|
openfl_utils_AGALMiniAssembler.REGMAP.h["od"] = v;
|
|
var v = openfl_utils_AGALMiniAssembler.REGMAP.h["vi"];
|
|
openfl_utils_AGALMiniAssembler.REGMAP.h["fi"] = v;
|
|
}
|
|
,match: function(value,reg) {
|
|
var matches = [];
|
|
var index = 0;
|
|
var match;
|
|
while(reg.matchSub(value,index)) {
|
|
match = reg.matched(0);
|
|
matches.push(match);
|
|
index = reg.matchedPos().pos + match.length;
|
|
}
|
|
return matches;
|
|
}
|
|
,__class__: openfl_utils_AGALMiniAssembler
|
|
};
|
|
var openfl_utils__$AGALMiniAssembler_OpCode = function(name,numRegister,emitCode,flags) {
|
|
this.name = name;
|
|
this.numRegister = numRegister;
|
|
this.emitCode = emitCode;
|
|
this.flags = flags;
|
|
};
|
|
$hxClasses["openfl.utils._AGALMiniAssembler.OpCode"] = openfl_utils__$AGALMiniAssembler_OpCode;
|
|
openfl_utils__$AGALMiniAssembler_OpCode.__name__ = "openfl.utils._AGALMiniAssembler.OpCode";
|
|
openfl_utils__$AGALMiniAssembler_OpCode.prototype = {
|
|
emitCode: null
|
|
,flags: null
|
|
,name: null
|
|
,numRegister: null
|
|
,toString: function() {
|
|
return "[OpCode name=\"" + this.name + "\", numRegister=" + this.numRegister + ", emitCode=" + this.emitCode + ", flags=" + this.flags + "]";
|
|
}
|
|
,__class__: openfl_utils__$AGALMiniAssembler_OpCode
|
|
};
|
|
var openfl_utils__$AGALMiniAssembler_Register = function(name,longName,emitCode,range,flags) {
|
|
this.name = name;
|
|
this.longName = longName;
|
|
this.emitCode = emitCode;
|
|
this.range = range;
|
|
this.flags = flags;
|
|
};
|
|
$hxClasses["openfl.utils._AGALMiniAssembler.Register"] = openfl_utils__$AGALMiniAssembler_Register;
|
|
openfl_utils__$AGALMiniAssembler_Register.__name__ = "openfl.utils._AGALMiniAssembler.Register";
|
|
openfl_utils__$AGALMiniAssembler_Register.prototype = {
|
|
emitCode: null
|
|
,name: null
|
|
,longName: null
|
|
,flags: null
|
|
,range: null
|
|
,toString: function() {
|
|
return "[Register name=\"" + this.name + "\", longName=\"" + this.longName + "\", emitCode=" + (this.emitCode == null ? "null" : Std.string(UInt.toFloat(this.emitCode))) + ", range=" + (this.range == null ? "null" : Std.string(UInt.toFloat(this.range))) + ", flags=" + (this.flags == null ? "null" : Std.string(UInt.toFloat(this.flags))) + "]";
|
|
}
|
|
,__class__: openfl_utils__$AGALMiniAssembler_Register
|
|
};
|
|
var openfl_utils__$AGALMiniAssembler_Sampler = function(name,flag,mask) {
|
|
this.name = name;
|
|
this.flag = flag;
|
|
this.mask = mask;
|
|
};
|
|
$hxClasses["openfl.utils._AGALMiniAssembler.Sampler"] = openfl_utils__$AGALMiniAssembler_Sampler;
|
|
openfl_utils__$AGALMiniAssembler_Sampler.__name__ = "openfl.utils._AGALMiniAssembler.Sampler";
|
|
openfl_utils__$AGALMiniAssembler_Sampler.prototype = {
|
|
flag: null
|
|
,mask: null
|
|
,name: null
|
|
,toString: function() {
|
|
return "[Sampler name=\"" + this.name + "\", flag=\"" + (this.flag == null ? "null" : Std.string(UInt.toFloat(this.flag))) + "\", mask=" + (this.mask == null ? "null" : Std.string(UInt.toFloat(this.mask))) + "]";
|
|
}
|
|
,__class__: openfl_utils__$AGALMiniAssembler_Sampler
|
|
};
|
|
var openfl_utils_IAssetCache = function() { };
|
|
$hxClasses["openfl.utils.IAssetCache"] = openfl_utils_IAssetCache;
|
|
openfl_utils_IAssetCache.__name__ = "openfl.utils.IAssetCache";
|
|
openfl_utils_IAssetCache.__isInterface__ = true;
|
|
openfl_utils_IAssetCache.prototype = {
|
|
get_enabled: null
|
|
,set_enabled: null
|
|
,clear: null
|
|
,getBitmapData: null
|
|
,getFont: null
|
|
,getSound: null
|
|
,hasBitmapData: null
|
|
,hasFont: null
|
|
,hasSound: null
|
|
,removeBitmapData: null
|
|
,removeFont: null
|
|
,removeSound: null
|
|
,setBitmapData: null
|
|
,setFont: null
|
|
,setSound: null
|
|
,__class__: openfl_utils_IAssetCache
|
|
,__properties__: {set_enabled:"set_enabled",get_enabled:"get_enabled"}
|
|
};
|
|
var openfl_utils_AssetCache = function() {
|
|
this.__enabled = true;
|
|
this.bitmapData = new haxe_ds_StringMap();
|
|
this.font = new haxe_ds_StringMap();
|
|
this.sound = new haxe_ds_StringMap();
|
|
};
|
|
$hxClasses["openfl.utils.AssetCache"] = openfl_utils_AssetCache;
|
|
openfl_utils_AssetCache.__name__ = "openfl.utils.AssetCache";
|
|
openfl_utils_AssetCache.__interfaces__ = [openfl_utils_IAssetCache];
|
|
openfl_utils_AssetCache.prototype = {
|
|
bitmapData: null
|
|
,font: null
|
|
,sound: null
|
|
,__enabled: null
|
|
,clear: function(prefix) {
|
|
if(prefix == null) {
|
|
this.bitmapData = new haxe_ds_StringMap();
|
|
this.font = new haxe_ds_StringMap();
|
|
this.sound = new haxe_ds_StringMap();
|
|
} else {
|
|
var keys = haxe_ds_StringMap.keysIterator(this.bitmapData.h);
|
|
var key = keys;
|
|
while(key.hasNext()) {
|
|
var key1 = key.next();
|
|
if(StringTools.startsWith(key1,prefix)) {
|
|
this.removeBitmapData(key1);
|
|
}
|
|
}
|
|
var keys = haxe_ds_StringMap.keysIterator(this.font.h);
|
|
var key = keys;
|
|
while(key.hasNext()) {
|
|
var key1 = key.next();
|
|
if(StringTools.startsWith(key1,prefix)) {
|
|
this.removeFont(key1);
|
|
}
|
|
}
|
|
var keys = haxe_ds_StringMap.keysIterator(this.sound.h);
|
|
var key = keys;
|
|
while(key.hasNext()) {
|
|
var key1 = key.next();
|
|
if(StringTools.startsWith(key1,prefix)) {
|
|
this.removeSound(key1);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,getBitmapData: function(id) {
|
|
return this.bitmapData.h[id];
|
|
}
|
|
,getFont: function(id) {
|
|
return this.font.h[id];
|
|
}
|
|
,getSound: function(id) {
|
|
return this.sound.h[id];
|
|
}
|
|
,hasBitmapData: function(id) {
|
|
return Object.prototype.hasOwnProperty.call(this.bitmapData.h,id);
|
|
}
|
|
,hasFont: function(id) {
|
|
return Object.prototype.hasOwnProperty.call(this.font.h,id);
|
|
}
|
|
,hasSound: function(id) {
|
|
return Object.prototype.hasOwnProperty.call(this.sound.h,id);
|
|
}
|
|
,removeBitmapData: function(id) {
|
|
var _this = lime_utils_Assets.cache.image;
|
|
if(Object.prototype.hasOwnProperty.call(_this.h,id)) {
|
|
delete(_this.h[id]);
|
|
}
|
|
var _this = this.bitmapData;
|
|
if(Object.prototype.hasOwnProperty.call(_this.h,id)) {
|
|
delete(_this.h[id]);
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,removeFont: function(id) {
|
|
var _this = lime_utils_Assets.cache.font;
|
|
if(Object.prototype.hasOwnProperty.call(_this.h,id)) {
|
|
delete(_this.h[id]);
|
|
}
|
|
var _this = this.font;
|
|
if(Object.prototype.hasOwnProperty.call(_this.h,id)) {
|
|
delete(_this.h[id]);
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,removeSound: function(id) {
|
|
var _this = lime_utils_Assets.cache.audio;
|
|
if(Object.prototype.hasOwnProperty.call(_this.h,id)) {
|
|
delete(_this.h[id]);
|
|
}
|
|
var _this = this.sound;
|
|
if(Object.prototype.hasOwnProperty.call(_this.h,id)) {
|
|
delete(_this.h[id]);
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,setBitmapData: function(id,bitmapData) {
|
|
this.bitmapData.h[id] = bitmapData;
|
|
}
|
|
,setFont: function(id,font) {
|
|
this.font.h[id] = font;
|
|
}
|
|
,setSound: function(id,sound) {
|
|
this.sound.h[id] = sound;
|
|
}
|
|
,get_enabled: function() {
|
|
return this.__enabled;
|
|
}
|
|
,set_enabled: function(value) {
|
|
return this.__enabled = value;
|
|
}
|
|
,__class__: openfl_utils_AssetCache
|
|
,__properties__: {set_enabled:"set_enabled",get_enabled:"get_enabled"}
|
|
};
|
|
var openfl_utils_AssetLibrary = function() {
|
|
lime_utils_AssetLibrary.call(this);
|
|
};
|
|
$hxClasses["openfl.utils.AssetLibrary"] = openfl_utils_AssetLibrary;
|
|
openfl_utils_AssetLibrary.__name__ = "openfl.utils.AssetLibrary";
|
|
openfl_utils_AssetLibrary.fromBytes = function(bytes,rootPath) {
|
|
return openfl_utils_AssetLibrary.fromManifest(lime_utils_AssetManifest.fromBytes(openfl_utils_ByteArray.toBytes(bytes),rootPath));
|
|
};
|
|
openfl_utils_AssetLibrary.fromFile = function(path,rootPath) {
|
|
return openfl_utils_AssetLibrary.fromManifest(lime_utils_AssetManifest.fromFile(path,rootPath));
|
|
};
|
|
openfl_utils_AssetLibrary.fromManifest = function(manifest) {
|
|
var library = lime_utils_AssetLibrary.fromManifest(manifest);
|
|
if(library != null) {
|
|
if(((library) instanceof openfl_utils_AssetLibrary)) {
|
|
return library;
|
|
} else {
|
|
var _library = new openfl_utils_AssetLibrary();
|
|
_library.__proxy = library;
|
|
return _library;
|
|
}
|
|
} else {
|
|
return null;
|
|
}
|
|
};
|
|
openfl_utils_AssetLibrary.loadFromBytes = function(bytes,rootPath) {
|
|
return lime_utils_AssetManifest.loadFromBytes(openfl_utils_ByteArray.toBytes(bytes),rootPath).then(function(manifest) {
|
|
return openfl_utils_AssetLibrary.loadFromManifest(manifest);
|
|
});
|
|
};
|
|
openfl_utils_AssetLibrary.loadFromFile = function(path,rootPath) {
|
|
return lime_utils_AssetManifest.loadFromFile(path,rootPath).then(function(manifest) {
|
|
return openfl_utils_AssetLibrary.loadFromManifest(manifest);
|
|
});
|
|
};
|
|
openfl_utils_AssetLibrary.loadFromManifest = function(manifest) {
|
|
var library = openfl_utils_AssetLibrary.fromManifest(manifest);
|
|
if(library != null) {
|
|
return library.load().then(function(library) {
|
|
return lime_app_Future.withValue(library);
|
|
});
|
|
} else {
|
|
return lime_app_Future.withError("Could not load asset manifest");
|
|
}
|
|
};
|
|
openfl_utils_AssetLibrary.__super__ = lime_utils_AssetLibrary;
|
|
openfl_utils_AssetLibrary.prototype = $extend(lime_utils_AssetLibrary.prototype,{
|
|
__proxy: null
|
|
,exists: function(id,type) {
|
|
if(this.__proxy != null) {
|
|
return this.__proxy.exists(id,type);
|
|
} else {
|
|
return lime_utils_AssetLibrary.prototype.exists.call(this,id,type);
|
|
}
|
|
}
|
|
,getAsset: function(id,type) {
|
|
if(this.__proxy != null) {
|
|
return this.__proxy.getAsset(id,type);
|
|
} else {
|
|
return lime_utils_AssetLibrary.prototype.getAsset.call(this,id,type);
|
|
}
|
|
}
|
|
,getAudioBuffer: function(id) {
|
|
if(this.__proxy != null) {
|
|
return this.__proxy.getAudioBuffer(id);
|
|
} else {
|
|
return lime_utils_AssetLibrary.prototype.getAudioBuffer.call(this,id);
|
|
}
|
|
}
|
|
,getBytes: function(id) {
|
|
if(this.__proxy != null) {
|
|
return this.__proxy.getBytes(id);
|
|
} else {
|
|
return lime_utils_AssetLibrary.prototype.getBytes.call(this,id);
|
|
}
|
|
}
|
|
,getFont: function(id) {
|
|
if(this.__proxy != null) {
|
|
return this.__proxy.getFont(id);
|
|
} else {
|
|
return lime_utils_AssetLibrary.prototype.getFont.call(this,id);
|
|
}
|
|
}
|
|
,getImage: function(id) {
|
|
if(this.__proxy != null) {
|
|
return this.__proxy.getImage(id);
|
|
} else {
|
|
return lime_utils_AssetLibrary.prototype.getImage.call(this,id);
|
|
}
|
|
}
|
|
,getMovieClip: function(id) {
|
|
return null;
|
|
}
|
|
,getPath: function(id) {
|
|
if(this.__proxy != null) {
|
|
return this.__proxy.getPath(id);
|
|
} else {
|
|
return lime_utils_AssetLibrary.prototype.getPath.call(this,id);
|
|
}
|
|
}
|
|
,getText: function(id) {
|
|
if(this.__proxy != null) {
|
|
return this.__proxy.getText(id);
|
|
} else {
|
|
return lime_utils_AssetLibrary.prototype.getText.call(this,id);
|
|
}
|
|
}
|
|
,isLocal: function(id,type) {
|
|
if(this.__proxy != null) {
|
|
return this.__proxy.isLocal(id,type);
|
|
} else {
|
|
return lime_utils_AssetLibrary.prototype.isLocal.call(this,id,type);
|
|
}
|
|
}
|
|
,list: function(type) {
|
|
if(this.__proxy != null) {
|
|
return this.__proxy.list(type);
|
|
} else {
|
|
return lime_utils_AssetLibrary.prototype.list.call(this,type);
|
|
}
|
|
}
|
|
,loadAsset: function(id,type) {
|
|
if(this.__proxy != null) {
|
|
return this.__proxy.loadAsset(id,type);
|
|
} else {
|
|
return lime_utils_AssetLibrary.prototype.loadAsset.call(this,id,type);
|
|
}
|
|
}
|
|
,load: function() {
|
|
if(this.__proxy != null) {
|
|
return this.__proxy.load();
|
|
} else {
|
|
return lime_utils_AssetLibrary.prototype.load.call(this);
|
|
}
|
|
}
|
|
,loadAudioBuffer: function(id) {
|
|
if(this.__proxy != null) {
|
|
return this.__proxy.loadAudioBuffer(id);
|
|
} else {
|
|
return lime_utils_AssetLibrary.prototype.loadAudioBuffer.call(this,id);
|
|
}
|
|
}
|
|
,loadBytes: function(id) {
|
|
if(this.__proxy != null) {
|
|
return this.__proxy.loadBytes(id);
|
|
} else {
|
|
return lime_utils_AssetLibrary.prototype.loadBytes.call(this,id);
|
|
}
|
|
}
|
|
,loadFont: function(id) {
|
|
if(this.__proxy != null) {
|
|
return this.__proxy.loadFont(id);
|
|
} else {
|
|
return lime_utils_AssetLibrary.prototype.loadFont.call(this,id);
|
|
}
|
|
}
|
|
,loadImage: function(id) {
|
|
if(this.__proxy != null) {
|
|
return this.__proxy.loadImage(id);
|
|
} else {
|
|
return lime_utils_AssetLibrary.prototype.loadImage.call(this,id);
|
|
}
|
|
}
|
|
,loadMovieClip: function(id) {
|
|
return lime_app_Future.withValue(this.getMovieClip(id));
|
|
}
|
|
,loadText: function(id) {
|
|
if(this.__proxy != null) {
|
|
return this.__proxy.loadText(id);
|
|
} else {
|
|
return lime_utils_AssetLibrary.prototype.loadText.call(this,id);
|
|
}
|
|
}
|
|
,unload: function() {
|
|
if(this.__proxy != null) {
|
|
this.__proxy.unload();
|
|
return;
|
|
} else {
|
|
lime_utils_AssetLibrary.prototype.unload.call(this);
|
|
return;
|
|
}
|
|
}
|
|
,__class__: openfl_utils_AssetLibrary
|
|
});
|
|
var openfl_utils_Assets = function() { };
|
|
$hxClasses["openfl.utils.Assets"] = openfl_utils_Assets;
|
|
openfl_utils_Assets.__name__ = "openfl.utils.Assets";
|
|
openfl_utils_Assets.addEventListener = function(type,listener,useCapture,priority,useWeakReference) {
|
|
if(useWeakReference == null) {
|
|
useWeakReference = false;
|
|
}
|
|
if(priority == null) {
|
|
priority = 0;
|
|
}
|
|
if(useCapture == null) {
|
|
useCapture = false;
|
|
}
|
|
if(!lime_utils_Assets.onChange.has(openfl_utils_Assets.LimeAssets_onChange)) {
|
|
lime_utils_Assets.onChange.add(openfl_utils_Assets.LimeAssets_onChange);
|
|
}
|
|
openfl_utils_Assets.dispatcher.addEventListener(type,listener,useCapture,priority,useWeakReference);
|
|
};
|
|
openfl_utils_Assets.dispatchEvent = function(event) {
|
|
return openfl_utils_Assets.dispatcher.dispatchEvent(event);
|
|
};
|
|
openfl_utils_Assets.exists = function(id,type) {
|
|
return lime_utils_Assets.exists(id,type);
|
|
};
|
|
openfl_utils_Assets.getBitmapData = function(id,useCache) {
|
|
if(useCache == null) {
|
|
useCache = true;
|
|
}
|
|
if(useCache && openfl_utils_Assets.cache.get_enabled() && openfl_utils_Assets.cache.hasBitmapData(id)) {
|
|
var bitmapData = openfl_utils_Assets.cache.getBitmapData(id);
|
|
if(openfl_utils_Assets.isValidBitmapData(bitmapData)) {
|
|
return bitmapData;
|
|
}
|
|
}
|
|
var image = lime_utils_Assets.getImage(id,false);
|
|
if(image != null) {
|
|
var bitmapData = openfl_display_BitmapData.fromImage(image);
|
|
if(useCache && openfl_utils_Assets.cache.get_enabled()) {
|
|
openfl_utils_Assets.cache.setBitmapData(id,bitmapData);
|
|
}
|
|
return bitmapData;
|
|
}
|
|
return null;
|
|
};
|
|
openfl_utils_Assets.getBytes = function(id) {
|
|
return openfl_utils_ByteArray.fromBytes(lime_utils_Assets.getBytes(id));
|
|
};
|
|
openfl_utils_Assets.getFont = function(id,useCache) {
|
|
if(useCache == null) {
|
|
useCache = true;
|
|
}
|
|
if(useCache && openfl_utils_Assets.cache.get_enabled() && openfl_utils_Assets.cache.hasFont(id)) {
|
|
return openfl_utils_Assets.cache.getFont(id);
|
|
}
|
|
var limeFont = lime_utils_Assets.getFont(id,false);
|
|
if(limeFont != null) {
|
|
var font = new openfl_text_Font();
|
|
font.__fromLimeFont(limeFont);
|
|
if(useCache && openfl_utils_Assets.cache.get_enabled()) {
|
|
openfl_utils_Assets.cache.setFont(id,font);
|
|
}
|
|
return font;
|
|
}
|
|
return new openfl_text_Font();
|
|
};
|
|
openfl_utils_Assets.getLibrary = function(name) {
|
|
return lime_utils_Assets.getLibrary(name);
|
|
};
|
|
openfl_utils_Assets.getMovieClip = function(id) {
|
|
var libraryName = id.substring(0,id.indexOf(":"));
|
|
var symbolName = HxOverrides.substr(id,id.indexOf(":") + 1,null);
|
|
var limeLibrary = openfl_utils_Assets.getLibrary(libraryName);
|
|
if(limeLibrary != null) {
|
|
if(((limeLibrary) instanceof openfl_utils_AssetLibrary)) {
|
|
var library = limeLibrary;
|
|
if(library.exists(symbolName,"MOVIE_CLIP")) {
|
|
if(library.isLocal(symbolName,"MOVIE_CLIP")) {
|
|
return library.getMovieClip(symbolName);
|
|
} else {
|
|
lime_utils_Log.error("MovieClip asset \"" + id + "\" exists, but only asynchronously",{ fileName : "openfl/utils/Assets.hx", lineNumber : 159, className : "openfl.utils.Assets", methodName : "getMovieClip"});
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
lime_utils_Log.error("There is no MovieClip asset with an ID of \"" + id + "\"",{ fileName : "openfl/utils/Assets.hx", lineNumber : 165, className : "openfl.utils.Assets", methodName : "getMovieClip"});
|
|
} else {
|
|
lime_utils_Log.error("There is no asset library named \"" + libraryName + "\"",{ fileName : "openfl/utils/Assets.hx", lineNumber : 169, className : "openfl.utils.Assets", methodName : "getMovieClip"});
|
|
}
|
|
return null;
|
|
};
|
|
openfl_utils_Assets.getMusic = function(id,useCache) {
|
|
if(useCache == null) {
|
|
useCache = true;
|
|
}
|
|
return openfl_utils_Assets.getSound(id,useCache);
|
|
};
|
|
openfl_utils_Assets.getPath = function(id) {
|
|
return lime_utils_Assets.getPath(id);
|
|
};
|
|
openfl_utils_Assets.getSound = function(id,useCache) {
|
|
if(useCache == null) {
|
|
useCache = true;
|
|
}
|
|
if(useCache && openfl_utils_Assets.cache.get_enabled() && openfl_utils_Assets.cache.hasSound(id)) {
|
|
var sound = openfl_utils_Assets.cache.getSound(id);
|
|
if(openfl_utils_Assets.isValidSound(sound)) {
|
|
return sound;
|
|
}
|
|
}
|
|
var buffer = lime_utils_Assets.getAudioBuffer(id,false);
|
|
if(buffer != null) {
|
|
var sound = openfl_media_Sound.fromAudioBuffer(buffer);
|
|
if(useCache && openfl_utils_Assets.cache.get_enabled()) {
|
|
openfl_utils_Assets.cache.setSound(id,sound);
|
|
}
|
|
return sound;
|
|
}
|
|
return null;
|
|
};
|
|
openfl_utils_Assets.getText = function(id) {
|
|
return lime_utils_Assets.getText(id);
|
|
};
|
|
openfl_utils_Assets.hasEventListener = function(type) {
|
|
return openfl_utils_Assets.dispatcher.hasEventListener(type);
|
|
};
|
|
openfl_utils_Assets.hasLibrary = function(name) {
|
|
return lime_utils_Assets.hasLibrary(name);
|
|
};
|
|
openfl_utils_Assets.isLocal = function(id,type,useCache) {
|
|
if(useCache == null) {
|
|
useCache = true;
|
|
}
|
|
if(useCache && openfl_utils_Assets.cache.get_enabled()) {
|
|
if(type == "IMAGE" || type == null) {
|
|
if(openfl_utils_Assets.cache.hasBitmapData(id)) {
|
|
return true;
|
|
}
|
|
}
|
|
if(type == "FONT" || type == null) {
|
|
if(openfl_utils_Assets.cache.hasFont(id)) {
|
|
return true;
|
|
}
|
|
}
|
|
if(type == "SOUND" || type == "MUSIC" || type == null) {
|
|
if(openfl_utils_Assets.cache.hasSound(id)) {
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
var libraryName = id.substring(0,id.indexOf(":"));
|
|
var symbolName = HxOverrides.substr(id,id.indexOf(":") + 1,null);
|
|
var library = openfl_utils_Assets.getLibrary(libraryName);
|
|
if(library != null) {
|
|
return library.isLocal(symbolName,type);
|
|
}
|
|
return false;
|
|
};
|
|
openfl_utils_Assets.isValidBitmapData = function(bitmapData) {
|
|
return bitmapData != null && bitmapData.image != null;
|
|
};
|
|
openfl_utils_Assets.isValidSound = function(sound) {
|
|
return true;
|
|
};
|
|
openfl_utils_Assets.list = function(type) {
|
|
return lime_utils_Assets.list(type);
|
|
};
|
|
openfl_utils_Assets.loadBitmapData = function(id,useCache) {
|
|
if(useCache == null) {
|
|
useCache = true;
|
|
}
|
|
if(useCache == null) {
|
|
useCache = true;
|
|
}
|
|
var promise = new lime_app_Promise();
|
|
if(useCache && openfl_utils_Assets.cache.get_enabled() && openfl_utils_Assets.cache.hasBitmapData(id)) {
|
|
var bitmapData = openfl_utils_Assets.cache.getBitmapData(id);
|
|
if(openfl_utils_Assets.isValidBitmapData(bitmapData)) {
|
|
promise.complete(bitmapData);
|
|
return promise.future;
|
|
}
|
|
}
|
|
lime_utils_Assets.loadImage(id,false).onComplete(function(image) {
|
|
if(image != null) {
|
|
var bitmapData = openfl_display_BitmapData.fromImage(image);
|
|
if(useCache && openfl_utils_Assets.cache.get_enabled()) {
|
|
openfl_utils_Assets.cache.setBitmapData(id,bitmapData);
|
|
}
|
|
promise.complete(bitmapData);
|
|
} else {
|
|
promise.error("[Assets] Could not load Image \"" + id + "\"");
|
|
}
|
|
}).onError($bind(promise,promise.error)).onProgress($bind(promise,promise.progress));
|
|
return promise.future;
|
|
};
|
|
openfl_utils_Assets.loadBytes = function(id) {
|
|
var promise = new lime_app_Promise();
|
|
var future = lime_utils_Assets.loadBytes(id);
|
|
future.onComplete(function(bytes) {
|
|
promise.complete(openfl_utils_ByteArray.fromBytes(bytes));
|
|
});
|
|
future.onProgress(function(progress,total) {
|
|
promise.progress(progress,total);
|
|
});
|
|
future.onError(function(msg) {
|
|
promise.error(msg);
|
|
});
|
|
return promise.future;
|
|
};
|
|
openfl_utils_Assets.loadFont = function(id,useCache) {
|
|
if(useCache == null) {
|
|
useCache = true;
|
|
}
|
|
if(useCache == null) {
|
|
useCache = true;
|
|
}
|
|
var promise = new lime_app_Promise();
|
|
if(useCache && openfl_utils_Assets.cache.get_enabled() && openfl_utils_Assets.cache.hasFont(id)) {
|
|
promise.complete(openfl_utils_Assets.cache.getFont(id));
|
|
return promise.future;
|
|
}
|
|
lime_utils_Assets.loadFont(id).onComplete(function(limeFont) {
|
|
var font = new openfl_text_Font();
|
|
font.__fromLimeFont(limeFont);
|
|
if(useCache && openfl_utils_Assets.cache.get_enabled()) {
|
|
openfl_utils_Assets.cache.setFont(id,font);
|
|
}
|
|
promise.complete(font);
|
|
}).onError($bind(promise,promise.error)).onProgress($bind(promise,promise.progress));
|
|
return promise.future;
|
|
};
|
|
openfl_utils_Assets.loadLibrary = function(name) {
|
|
return lime_utils_Assets.loadLibrary(name).then(function(library) {
|
|
var _library = null;
|
|
if(library != null) {
|
|
if(((library) instanceof openfl_utils_AssetLibrary)) {
|
|
_library = library;
|
|
} else {
|
|
_library = new openfl_utils_AssetLibrary();
|
|
_library.__proxy = library;
|
|
lime_utils_Assets.registerLibrary(name,_library);
|
|
}
|
|
}
|
|
return lime_app_Future.withValue(_library);
|
|
});
|
|
};
|
|
openfl_utils_Assets.loadMusic = function(id,useCache) {
|
|
if(useCache == null) {
|
|
useCache = true;
|
|
}
|
|
if(useCache == null) {
|
|
useCache = true;
|
|
}
|
|
var future = new lime_app_Future(function() {
|
|
return openfl_utils_Assets.getMusic(id,useCache);
|
|
});
|
|
return future;
|
|
};
|
|
openfl_utils_Assets.loadMovieClip = function(id) {
|
|
var promise = new lime_app_Promise();
|
|
var libraryName = id.substring(0,id.indexOf(":"));
|
|
var symbolName = HxOverrides.substr(id,id.indexOf(":") + 1,null);
|
|
var limeLibrary = openfl_utils_Assets.getLibrary(libraryName);
|
|
if(limeLibrary != null) {
|
|
if(((limeLibrary) instanceof openfl_utils_AssetLibrary)) {
|
|
var library = limeLibrary;
|
|
if(library.exists(symbolName,"MOVIE_CLIP")) {
|
|
promise.completeWith(library.loadMovieClip(symbolName));
|
|
return promise.future;
|
|
}
|
|
}
|
|
promise.error("[Assets] There is no MovieClip asset with an ID of \"" + id + "\"");
|
|
} else {
|
|
promise.error("[Assets] There is no asset library named \"" + libraryName + "\"");
|
|
}
|
|
return promise.future;
|
|
};
|
|
openfl_utils_Assets.loadSound = function(id,useCache) {
|
|
if(useCache == null) {
|
|
useCache = true;
|
|
}
|
|
if(useCache == null) {
|
|
useCache = true;
|
|
}
|
|
var promise = new lime_app_Promise();
|
|
lime_utils_Assets.loadAudioBuffer(id,useCache).onComplete(function(buffer) {
|
|
if(buffer != null) {
|
|
var sound = openfl_media_Sound.fromAudioBuffer(buffer);
|
|
if(useCache && openfl_utils_Assets.cache.get_enabled()) {
|
|
openfl_utils_Assets.cache.setSound(id,sound);
|
|
}
|
|
promise.complete(sound);
|
|
} else {
|
|
promise.error("[Assets] Could not load Sound \"" + id + "\"");
|
|
}
|
|
}).onError($bind(promise,promise.error)).onProgress($bind(promise,promise.progress));
|
|
return promise.future;
|
|
};
|
|
openfl_utils_Assets.loadText = function(id) {
|
|
var future = lime_utils_Assets.loadText(id);
|
|
return future;
|
|
};
|
|
openfl_utils_Assets.registerLibrary = function(name,library) {
|
|
lime_utils_Assets.registerLibrary(name,library);
|
|
};
|
|
openfl_utils_Assets.removeEventListener = function(type,listener,capture) {
|
|
if(capture == null) {
|
|
capture = false;
|
|
}
|
|
openfl_utils_Assets.dispatcher.removeEventListener(type,listener,capture);
|
|
};
|
|
openfl_utils_Assets.resolveClass = function(name) {
|
|
return $hxClasses[name];
|
|
};
|
|
openfl_utils_Assets.resolveEnum = function(name) {
|
|
var value = $hxEnums[name];
|
|
return value;
|
|
};
|
|
openfl_utils_Assets.unloadLibrary = function(name) {
|
|
lime_utils_Assets.unloadLibrary(name);
|
|
};
|
|
openfl_utils_Assets.LimeAssets_onChange = function() {
|
|
openfl_utils_Assets.dispatchEvent(new openfl_events_Event("change"));
|
|
};
|
|
var openfl_utils_ByteArray = {};
|
|
openfl_utils_ByteArray.__properties__ = {set_position:"set_position",get_position:"get_position",set_length:"set_length",get_length:"get_length",get_bytesAvailable:"get_bytesAvailable",set_defaultObjectEncoding:"set_defaultObjectEncoding",get_defaultObjectEncoding:"get_defaultObjectEncoding",set_defaultEndian:"set_defaultEndian",get_defaultEndian:"get_defaultEndian"};
|
|
openfl_utils_ByteArray._new = function(length) {
|
|
if(length == null) {
|
|
length = 0;
|
|
}
|
|
var this1 = new openfl_utils_ByteArrayData(length);
|
|
return this1;
|
|
};
|
|
openfl_utils_ByteArray.clear = function(this1) {
|
|
this1.clear();
|
|
};
|
|
openfl_utils_ByteArray.compress = function(this1,algorithm) {
|
|
this1.compress(algorithm);
|
|
};
|
|
openfl_utils_ByteArray.deflate = function(this1) {
|
|
this1.deflate();
|
|
};
|
|
openfl_utils_ByteArray.fromArrayBuffer = function(buffer) {
|
|
if(buffer == null) {
|
|
return null;
|
|
}
|
|
return openfl_utils_ByteArrayData.fromBytes(haxe_io_Bytes.ofData(buffer));
|
|
};
|
|
openfl_utils_ByteArray.fromBytes = function(bytes) {
|
|
if(bytes == null) {
|
|
return null;
|
|
}
|
|
if(((bytes) instanceof openfl_utils_ByteArrayData)) {
|
|
return bytes;
|
|
} else {
|
|
return openfl_utils_ByteArrayData.fromBytes(bytes);
|
|
}
|
|
};
|
|
openfl_utils_ByteArray.fromBytesData = function(bytesData) {
|
|
if(bytesData == null) {
|
|
return null;
|
|
}
|
|
return openfl_utils_ByteArrayData.fromBytes(haxe_io_Bytes.ofData(bytesData));
|
|
};
|
|
openfl_utils_ByteArray.fromFile = function(path) {
|
|
return openfl_utils_ByteArray.fromBytes(lime_utils_Bytes.fromFile(path));
|
|
};
|
|
openfl_utils_ByteArray.fromLimeBytes = function(bytes) {
|
|
return openfl_utils_ByteArray.fromBytes(bytes);
|
|
};
|
|
openfl_utils_ByteArray.get = function(this1,index) {
|
|
return this1.b[index];
|
|
};
|
|
openfl_utils_ByteArray.inflate = function(this1) {
|
|
this1.inflate();
|
|
};
|
|
openfl_utils_ByteArray.loadFromBytes = function(bytes) {
|
|
return lime_utils_Bytes.loadFromBytes(bytes).then(function(limeBytes) {
|
|
var byteArray = openfl_utils_ByteArray.fromBytes(limeBytes);
|
|
return lime_app_Future.withValue(byteArray);
|
|
});
|
|
};
|
|
openfl_utils_ByteArray.loadFromFile = function(path) {
|
|
return lime_utils_Bytes.loadFromFile(path).then(function(limeBytes) {
|
|
var byteArray = openfl_utils_ByteArray.fromBytes(limeBytes);
|
|
return lime_app_Future.withValue(byteArray);
|
|
});
|
|
};
|
|
openfl_utils_ByteArray.readBoolean = function(this1) {
|
|
return this1.readBoolean();
|
|
};
|
|
openfl_utils_ByteArray.readByte = function(this1) {
|
|
return this1.readByte();
|
|
};
|
|
openfl_utils_ByteArray.readBytes = function(this1,bytes,offset,length) {
|
|
if(length == null) {
|
|
length = 0;
|
|
}
|
|
if(offset == null) {
|
|
offset = 0;
|
|
}
|
|
this1.readBytes(bytes,offset,length);
|
|
};
|
|
openfl_utils_ByteArray.readDouble = function(this1) {
|
|
return this1.readDouble();
|
|
};
|
|
openfl_utils_ByteArray.readFloat = function(this1) {
|
|
return this1.readFloat();
|
|
};
|
|
openfl_utils_ByteArray.readInt = function(this1) {
|
|
return this1.readInt();
|
|
};
|
|
openfl_utils_ByteArray.readMultiByte = function(this1,length,charSet) {
|
|
return this1.readMultiByte(length,charSet);
|
|
};
|
|
openfl_utils_ByteArray.readObject = function(this1) {
|
|
return this1.readObject();
|
|
};
|
|
openfl_utils_ByteArray.readShort = function(this1) {
|
|
return this1.readShort();
|
|
};
|
|
openfl_utils_ByteArray.readUTF = function(this1) {
|
|
return this1.readUTF();
|
|
};
|
|
openfl_utils_ByteArray.readUTFBytes = function(this1,length) {
|
|
return this1.readUTFBytes(length);
|
|
};
|
|
openfl_utils_ByteArray.readUnsignedByte = function(this1) {
|
|
return this1.readUnsignedByte();
|
|
};
|
|
openfl_utils_ByteArray.readUnsignedInt = function(this1) {
|
|
return this1.readUnsignedInt();
|
|
};
|
|
openfl_utils_ByteArray.readUnsignedShort = function(this1) {
|
|
return this1.readUnsignedShort();
|
|
};
|
|
openfl_utils_ByteArray.set = function(this1,index,value) {
|
|
this1.__resize(index + 1);
|
|
this1.b[index] = value & 255;
|
|
return value;
|
|
};
|
|
openfl_utils_ByteArray.toArrayBuffer = function(byteArray) {
|
|
return byteArray.b.bufferValue;
|
|
};
|
|
openfl_utils_ByteArray.toBytePointer = function(byteArray) {
|
|
lime_utils_BytePointer.set(openfl_utils_ByteArray.__bytePointer,byteArray,null,null,byteArray.position);
|
|
return openfl_utils_ByteArray.__bytePointer;
|
|
};
|
|
openfl_utils_ByteArray.toBytes = function(byteArray) {
|
|
return byteArray;
|
|
};
|
|
openfl_utils_ByteArray.toBytesData = function(byteArray) {
|
|
return byteArray.b.bufferValue;
|
|
};
|
|
openfl_utils_ByteArray.toLimeBytes = function(byteArray) {
|
|
return openfl_utils_ByteArray.toBytes(openfl_utils_ByteArray.fromBytes(openfl_utils_ByteArray.toBytes(byteArray)));
|
|
};
|
|
openfl_utils_ByteArray.toString = function(this1) {
|
|
return this1.toString();
|
|
};
|
|
openfl_utils_ByteArray.uncompress = function(this1,algorithm) {
|
|
this1.uncompress(algorithm);
|
|
};
|
|
openfl_utils_ByteArray.writeBoolean = function(this1,value) {
|
|
this1.writeBoolean(value);
|
|
};
|
|
openfl_utils_ByteArray.writeByte = function(this1,value) {
|
|
this1.writeByte(value);
|
|
};
|
|
openfl_utils_ByteArray.writeBytes = function(this1,bytes,offset,length) {
|
|
if(length == null) {
|
|
length = 0;
|
|
}
|
|
if(offset == null) {
|
|
offset = 0;
|
|
}
|
|
this1.writeBytes(bytes,offset,length);
|
|
};
|
|
openfl_utils_ByteArray.writeDouble = function(this1,value) {
|
|
this1.writeDouble(value);
|
|
};
|
|
openfl_utils_ByteArray.writeFloat = function(this1,value) {
|
|
this1.writeFloat(value);
|
|
};
|
|
openfl_utils_ByteArray.writeInt = function(this1,value) {
|
|
this1.writeInt(value);
|
|
};
|
|
openfl_utils_ByteArray.writeMultiByte = function(this1,value,charSet) {
|
|
this1.writeMultiByte(value,charSet);
|
|
};
|
|
openfl_utils_ByteArray.writeObject = function(this1,object) {
|
|
this1.writeObject(object);
|
|
};
|
|
openfl_utils_ByteArray.writeShort = function(this1,value) {
|
|
this1.writeShort(value);
|
|
};
|
|
openfl_utils_ByteArray.writeUTF = function(this1,value) {
|
|
this1.writeUTF(value);
|
|
};
|
|
openfl_utils_ByteArray.writeUTFBytes = function(this1,value) {
|
|
this1.writeUTFBytes(value);
|
|
};
|
|
openfl_utils_ByteArray.writeUnsignedInt = function(this1,value) {
|
|
this1.writeUnsignedInt(value);
|
|
};
|
|
openfl_utils_ByteArray.get_bytesAvailable = function(this1) {
|
|
return this1.length - this1.position;
|
|
};
|
|
openfl_utils_ByteArray.get_defaultEndian = function() {
|
|
if(openfl_utils_ByteArrayData.__defaultEndian == null) {
|
|
if(lime_system_System.get_endianness() == lime_system_Endian.LITTLE_ENDIAN) {
|
|
openfl_utils_ByteArrayData.__defaultEndian = 1;
|
|
} else {
|
|
openfl_utils_ByteArrayData.__defaultEndian = 0;
|
|
}
|
|
}
|
|
return openfl_utils_ByteArrayData.__defaultEndian;
|
|
};
|
|
openfl_utils_ByteArray.set_defaultEndian = function(value) {
|
|
return openfl_utils_ByteArrayData.__defaultEndian = value;
|
|
};
|
|
openfl_utils_ByteArray.get_defaultObjectEncoding = function() {
|
|
return openfl_utils_ByteArrayData.defaultObjectEncoding;
|
|
};
|
|
openfl_utils_ByteArray.set_defaultObjectEncoding = function(value) {
|
|
return openfl_utils_ByteArrayData.defaultObjectEncoding = value;
|
|
};
|
|
openfl_utils_ByteArray.get_endian = function(this1) {
|
|
return this1.__endian;
|
|
};
|
|
openfl_utils_ByteArray.set_endian = function(this1,value) {
|
|
return this1.__endian = value;
|
|
};
|
|
openfl_utils_ByteArray.get_length = function(this1) {
|
|
if(this1 == null) {
|
|
return 0;
|
|
} else {
|
|
return this1.length;
|
|
}
|
|
};
|
|
openfl_utils_ByteArray.set_length = function(this1,value) {
|
|
if(value > 0) {
|
|
this1.__resize(value);
|
|
if(value < this1.position) {
|
|
this1.position = value;
|
|
}
|
|
}
|
|
this1.length = value;
|
|
return value;
|
|
};
|
|
openfl_utils_ByteArray.get_objectEncoding = function(this1) {
|
|
return this1.objectEncoding;
|
|
};
|
|
openfl_utils_ByteArray.set_objectEncoding = function(this1,value) {
|
|
return this1.objectEncoding = value;
|
|
};
|
|
openfl_utils_ByteArray.get_position = function(this1) {
|
|
return this1.position;
|
|
};
|
|
openfl_utils_ByteArray.set_position = function(this1,value) {
|
|
return this1.position = value;
|
|
};
|
|
var openfl_utils_CompressionAlgorithm = {};
|
|
openfl_utils_CompressionAlgorithm.fromString = function(value) {
|
|
switch(value) {
|
|
case "deflate":
|
|
return 0;
|
|
case "lzma":
|
|
return 1;
|
|
case "zlib":
|
|
return 2;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_utils_CompressionAlgorithm.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "deflate";
|
|
case 1:
|
|
return "lzma";
|
|
case 2:
|
|
return "zlib";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
var openfl_utils_Endian = {};
|
|
openfl_utils_Endian.fromLimeEndian = function(value) {
|
|
switch(value._hx_index) {
|
|
case 0:
|
|
return 1;
|
|
case 1:
|
|
return 0;
|
|
}
|
|
};
|
|
openfl_utils_Endian.fromString = function(value) {
|
|
switch(value) {
|
|
case "bigEndian":
|
|
return 0;
|
|
case "littleEndian":
|
|
return 1;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_utils_Endian.toLimeEndian = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return lime_system_Endian.BIG_ENDIAN;
|
|
case 1:
|
|
return lime_system_Endian.LITTLE_ENDIAN;
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
openfl_utils_Endian.toString = function(this1) {
|
|
switch(this1) {
|
|
case 0:
|
|
return "bigEndian";
|
|
case 1:
|
|
return "littleEndian";
|
|
default:
|
|
return null;
|
|
}
|
|
};
|
|
var openfl_utils_Object = {};
|
|
openfl_utils_Object._new = function() {
|
|
var this1 = { };
|
|
return this1;
|
|
};
|
|
openfl_utils_Object.hasOwnProperty = function(this1,name) {
|
|
if(this1 != null) {
|
|
return Object.prototype.hasOwnProperty.call(this1,name);
|
|
} else {
|
|
return false;
|
|
}
|
|
};
|
|
openfl_utils_Object.isPrototypeOf = function(this1,theClass) {
|
|
var c = js_Boot.getClass(this1);
|
|
while(c != null) {
|
|
if(c == theClass) {
|
|
return true;
|
|
}
|
|
c = c.__super__;
|
|
}
|
|
return false;
|
|
};
|
|
openfl_utils_Object.iterator = function(this1) {
|
|
var fields = Reflect.fields(this1);
|
|
if(fields == null) {
|
|
fields = [];
|
|
}
|
|
return new haxe_iterators_ArrayIterator(fields);
|
|
};
|
|
openfl_utils_Object.propertyIsEnumerable = function(this1,name) {
|
|
if(this1 != null && Object.prototype.hasOwnProperty.call(this1,name)) {
|
|
return js_Boot.__implements(Reflect.field(this1,name),haxe_lang_Iterable);
|
|
} else {
|
|
return false;
|
|
}
|
|
};
|
|
openfl_utils_Object.toLocaleString = function(this1) {
|
|
return Std.string(this1);
|
|
};
|
|
openfl_utils_Object.toString = function(this1) {
|
|
return Std.string(this1);
|
|
};
|
|
openfl_utils_Object.valueOf = function(this1) {
|
|
return this1;
|
|
};
|
|
openfl_utils_Object.__get = function(this1,key) {
|
|
return Reflect.field(this1,key);
|
|
};
|
|
openfl_utils_Object.__set = function(this1,key,value) {
|
|
this1[key] = value;
|
|
return value;
|
|
};
|
|
var haxe_lang_Iterator = function() { };
|
|
$hxClasses["haxe.lang.Iterator"] = haxe_lang_Iterator;
|
|
haxe_lang_Iterator.__name__ = "haxe.lang.Iterator";
|
|
haxe_lang_Iterator.__isInterface__ = true;
|
|
haxe_lang_Iterator.prototype = {
|
|
hasNext: null
|
|
,next: null
|
|
,__class__: haxe_lang_Iterator
|
|
};
|
|
var haxe_lang_Iterable = function() { };
|
|
$hxClasses["haxe.lang.Iterable"] = haxe_lang_Iterable;
|
|
haxe_lang_Iterable.__name__ = "haxe.lang.Iterable";
|
|
haxe_lang_Iterable.__isInterface__ = true;
|
|
haxe_lang_Iterable.prototype = {
|
|
iterator: null
|
|
,__class__: haxe_lang_Iterable
|
|
};
|
|
var polymod_Framework = $hxEnums["polymod.Framework"] = { __ename__ : "polymod.Framework", __constructs__ : ["NME","LIME","OPENFL","HEAPS","KHA","CUSTOM","UNKNOWN"]
|
|
,NME: {_hx_index:0,__enum__:"polymod.Framework",toString:$estr}
|
|
,LIME: {_hx_index:1,__enum__:"polymod.Framework",toString:$estr}
|
|
,OPENFL: {_hx_index:2,__enum__:"polymod.Framework",toString:$estr}
|
|
,HEAPS: {_hx_index:3,__enum__:"polymod.Framework",toString:$estr}
|
|
,KHA: {_hx_index:4,__enum__:"polymod.Framework",toString:$estr}
|
|
,CUSTOM: {_hx_index:5,__enum__:"polymod.Framework",toString:$estr}
|
|
,UNKNOWN: {_hx_index:6,__enum__:"polymod.Framework",toString:$estr}
|
|
};
|
|
var polymod_Polymod = function() { };
|
|
$hxClasses["polymod.Polymod"] = polymod_Polymod;
|
|
polymod_Polymod.__name__ = "polymod.Polymod";
|
|
polymod_Polymod.init = function(params) {
|
|
polymod_Polymod.onError = params.errorCallback;
|
|
var modRoot = params.modRoot;
|
|
var dirs = params.dirs;
|
|
var apiVersion = null;
|
|
try {
|
|
var apiStr = params.apiVersion;
|
|
if(apiStr == null || apiStr == "") {
|
|
apiStr = "*.*.*";
|
|
}
|
|
apiVersion = polymod_util_SemanticVersion.fromString(apiStr);
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
var msg = haxe_Exception.caught(_g).unwrap();
|
|
polymod_Polymod.error("parse_api_version","Error parsing api version: (" + Std.string(msg) + ")","init");
|
|
return [];
|
|
}
|
|
var modMeta = [];
|
|
var modVers = [];
|
|
if(params.modVersions != null) {
|
|
var _g = 0;
|
|
var _g1 = params.modVersions;
|
|
while(_g < _g1.length) {
|
|
var str = _g1[_g];
|
|
++_g;
|
|
var semVer = null;
|
|
try {
|
|
semVer = polymod_util_SemanticVersion.fromString(str);
|
|
} catch( _g2 ) {
|
|
haxe_NativeStackTrace.lastError = _g2;
|
|
var msg = haxe_Exception.caught(_g2).unwrap();
|
|
polymod_Polymod.error("param_mod_version","There was an error with one of the mod version patterns you provided: " + Std.string(msg),"init");
|
|
semVer = polymod_util_SemanticVersion.fromString("*.*.*");
|
|
}
|
|
modVers.push(semVer);
|
|
}
|
|
}
|
|
var _g = 0;
|
|
var _g1 = dirs.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
if(dirs[i] != null) {
|
|
var origDir = dirs[i];
|
|
dirs[i] = polymod_util_Util.pathJoin(modRoot,dirs[i]);
|
|
var meta = polymod_Polymod.getMetadata(dirs[i]);
|
|
if(meta != null) {
|
|
meta.id = origDir;
|
|
var apiScore = meta.apiVersion.checkCompatibility(apiVersion);
|
|
if(apiScore < 3) {
|
|
polymod_Polymod.error("version_conflict_api","Mod \"" + origDir + "\" was built for incompatible API version " + meta.apiVersion.toString() + ", current API version is " + params.apiVersion.toString(),"init");
|
|
} else if(apiVersion.major == 0) {
|
|
if(apiVersion.minor != meta.apiVersion.minor) {
|
|
polymod_Polymod.warning("version_prerelease_api","Modding API is in pre-release, some things might have changed!\n" + "Mod \"" + origDir + "\" was built for API version " + meta.apiVersion.toString() + ", current API version is " + apiVersion.toString(),"init");
|
|
}
|
|
}
|
|
var modVer = modVers.length > i ? modVers[i] : null;
|
|
if(modVer != null) {
|
|
var score = modVer.checkCompatibility(meta.modVersion);
|
|
if(score < 3) {
|
|
polymod_Polymod.error("version_conflict_mod","Mod pack wants version " + modVer.toString() + " of mod(" + meta.id + "), found incompatible version " + meta.modVersion.toString() + " instead","init");
|
|
}
|
|
}
|
|
modMeta.push(meta);
|
|
}
|
|
}
|
|
}
|
|
polymod_backends_PolymodAssets.init({ framework : params.framework, dirs : dirs, parseRules : params.parseRules, ignoredFiles : params.ignoredFiles, customBackend : params.customBackend, extensionMap : params.extensionMap});
|
|
if(polymod_backends_PolymodAssets.exists("_polymod_pack.txt")) {
|
|
polymod_Polymod.initModPack(params);
|
|
}
|
|
return modMeta;
|
|
};
|
|
polymod_Polymod.getDefaultIgnoreList = function() {
|
|
return ["_polymod_meta.json","_polymod_icon.png","_polymod_pack.txt","ASSET_LICENSE.txt","CODE_LICENSE.txt","LICENSE.txt"];
|
|
};
|
|
polymod_Polymod.scan = function(modRoot,apiVersionStr,errorCallback) {
|
|
if(apiVersionStr == null) {
|
|
apiVersionStr = "*.*.*";
|
|
}
|
|
polymod_Polymod.onError = errorCallback;
|
|
var apiVersion = null;
|
|
try {
|
|
apiVersion = polymod_util_SemanticVersion.fromString(apiVersionStr);
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
var msg = haxe_Exception.caught(_g).unwrap();
|
|
polymod_Polymod.error("parse_api_version","Error parsing api version: (" + Std.string(msg) + ")","scan");
|
|
return [];
|
|
}
|
|
var modMeta = [];
|
|
return modMeta;
|
|
};
|
|
polymod_Polymod.error = function(code,message,origin) {
|
|
if(origin == null) {
|
|
origin = "unknown";
|
|
}
|
|
if(polymod_Polymod.onError != null) {
|
|
polymod_Polymod.onError(new polymod_PolymodError(polymod_PolymodErrorType.ERROR,code,message,origin));
|
|
}
|
|
};
|
|
polymod_Polymod.warning = function(code,message,origin) {
|
|
if(origin == null) {
|
|
origin = "unknown";
|
|
}
|
|
if(polymod_Polymod.onError != null) {
|
|
polymod_Polymod.onError(new polymod_PolymodError(polymod_PolymodErrorType.WARNING,code,message,origin));
|
|
}
|
|
};
|
|
polymod_Polymod.notice = function(code,message,origin) {
|
|
if(origin == null) {
|
|
origin = "unknown";
|
|
}
|
|
if(polymod_Polymod.onError != null) {
|
|
polymod_Polymod.onError(new polymod_PolymodError(polymod_PolymodErrorType.NOTICE,code,message,origin));
|
|
}
|
|
};
|
|
polymod_Polymod.getFileSystem = function() {
|
|
return null;
|
|
};
|
|
polymod_Polymod.getMetadata = function(dir) {
|
|
polymod_Polymod.error("missing_mod","Could not find mod directory: \"" + dir + "\"");
|
|
return null;
|
|
};
|
|
polymod_Polymod.listModFiles = function(type) {
|
|
if(polymod_Polymod.library != null) {
|
|
return polymod_Polymod.library.listModFiles(type);
|
|
}
|
|
return [];
|
|
};
|
|
polymod_Polymod.initModPack = function(params) {
|
|
var polymodpack = polymod_backends_PolymodAssets.getText("_polymod_pack.txt");
|
|
if(polymodpack != null) {
|
|
var data = polymod_Polymod.getModPack(polymodpack);
|
|
var mods = data.mods;
|
|
var vers = data.versions;
|
|
params.dirs = mods;
|
|
params.modVersions = vers;
|
|
polymod_Polymod.init(params);
|
|
}
|
|
};
|
|
polymod_Polymod.getModPack = function(text) {
|
|
if(text != null) {
|
|
var mods = text.split(",");
|
|
if(mods == null || mods.length == 0) {
|
|
return null;
|
|
}
|
|
var vers = [];
|
|
var _g = 0;
|
|
var _g1 = mods.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
vers[i] = "*.*.*";
|
|
if(mods[i].indexOf(":") != -1) {
|
|
var arr = mods[i].split(":");
|
|
if(arr != null && arr.length == 2) {
|
|
mods[i] = arr[0];
|
|
vers[i] = arr[1];
|
|
}
|
|
}
|
|
}
|
|
return { mods : mods, versions : vers};
|
|
}
|
|
return null;
|
|
};
|
|
var polymod_ModMetadata = function() {
|
|
};
|
|
$hxClasses["polymod.ModMetadata"] = polymod_ModMetadata;
|
|
polymod_ModMetadata.__name__ = "polymod.ModMetadata";
|
|
polymod_ModMetadata.fromJsonStr = function(str) {
|
|
var m = new polymod_ModMetadata();
|
|
var json = JSON.parse(str);
|
|
m.title = polymod_format_JsonHelp.str(json,"title");
|
|
m.description = polymod_format_JsonHelp.str(json,"description");
|
|
m.author = polymod_format_JsonHelp.str(json,"author");
|
|
var apiVersionStr = polymod_format_JsonHelp.str(json,"api_version");
|
|
var modVersionStr = polymod_format_JsonHelp.str(json,"mod_version");
|
|
try {
|
|
m.apiVersion = polymod_util_SemanticVersion.fromString(apiVersionStr);
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
var msg = haxe_Exception.caught(_g).unwrap();
|
|
polymod_Polymod.error("parse_mod_api_version","Error parsing api version: (" + Std.string(msg) + ") _polymod_meta.json was : " + str);
|
|
return null;
|
|
}
|
|
try {
|
|
m.modVersion = polymod_util_SemanticVersion.fromString(modVersionStr);
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
var msg = haxe_Exception.caught(_g).unwrap();
|
|
polymod_Polymod.error("parse_mod_version","Error parsing mod version: (" + Std.string(msg) + ") _polymod_meta.json was : " + str);
|
|
return null;
|
|
}
|
|
m.license = polymod_format_JsonHelp.str(json,"license");
|
|
m.licenseRef = polymod_format_JsonHelp.str(json,"license_ref");
|
|
m.metaData = polymod_format_JsonHelp.mapStr(json,"metadata");
|
|
return m;
|
|
};
|
|
polymod_ModMetadata.prototype = {
|
|
id: null
|
|
,title: null
|
|
,description: null
|
|
,author: null
|
|
,apiVersion: null
|
|
,modVersion: null
|
|
,license: null
|
|
,licenseRef: null
|
|
,icon: null
|
|
,isModPack: null
|
|
,modPack: null
|
|
,metaData: null
|
|
,toJsonStr: function() {
|
|
var json = { };
|
|
json["title"] = this.title;
|
|
json["description"] = this.description;
|
|
json["author"] = this.author;
|
|
json["api_version"] = this.apiVersion.toString();
|
|
json["mod_version"] = this.modVersion.toString();
|
|
json["license"] = this.license;
|
|
json["license_ref"] = this.licenseRef;
|
|
var meta = { };
|
|
var key = haxe_ds_StringMap.keysIterator(this.metaData.h);
|
|
while(key.hasNext()) {
|
|
var key1 = key.next();
|
|
meta[key1] = this.metaData.h[key1];
|
|
}
|
|
json["metadata"] = meta;
|
|
return JSON.stringify(json,null," ");
|
|
}
|
|
,__class__: polymod_ModMetadata
|
|
};
|
|
var polymod_PolymodError = function(severity,code,message,origin) {
|
|
this.severity = severity;
|
|
this.code = code;
|
|
this.message = message;
|
|
this.origin = origin;
|
|
};
|
|
$hxClasses["polymod.PolymodError"] = polymod_PolymodError;
|
|
polymod_PolymodError.__name__ = "polymod.PolymodError";
|
|
polymod_PolymodError.prototype = {
|
|
severity: null
|
|
,code: null
|
|
,message: null
|
|
,origin: null
|
|
,__class__: polymod_PolymodError
|
|
};
|
|
var polymod_PolymodErrorType = $hxEnums["polymod.PolymodErrorType"] = { __ename__ : "polymod.PolymodErrorType", __constructs__ : ["NOTICE","WARNING","ERROR"]
|
|
,NOTICE: {_hx_index:0,__enum__:"polymod.PolymodErrorType",toString:$estr}
|
|
,WARNING: {_hx_index:1,__enum__:"polymod.PolymodErrorType",toString:$estr}
|
|
,ERROR: {_hx_index:2,__enum__:"polymod.PolymodErrorType",toString:$estr}
|
|
};
|
|
var polymod_backends_IBackend = function() { };
|
|
$hxClasses["polymod.backends.IBackend"] = polymod_backends_IBackend;
|
|
polymod_backends_IBackend.__name__ = "polymod.backends.IBackend";
|
|
polymod_backends_IBackend.__isInterface__ = true;
|
|
polymod_backends_IBackend.prototype = {
|
|
polymodLibrary: null
|
|
,init: null
|
|
,destroy: null
|
|
,clearCache: null
|
|
,exists: null
|
|
,getBytes: null
|
|
,getText: null
|
|
,getPath: null
|
|
,list: null
|
|
,stripAssetsPrefix: null
|
|
,__class__: polymod_backends_IBackend
|
|
};
|
|
var polymod_backends_StubBackend = function() {
|
|
};
|
|
$hxClasses["polymod.backends.StubBackend"] = polymod_backends_StubBackend;
|
|
polymod_backends_StubBackend.__name__ = "polymod.backends.StubBackend";
|
|
polymod_backends_StubBackend.__interfaces__ = [polymod_backends_IBackend];
|
|
polymod_backends_StubBackend.prototype = {
|
|
polymodLibrary: null
|
|
,init: function() {
|
|
}
|
|
,destroy: function() {
|
|
}
|
|
,clearCache: function() {
|
|
}
|
|
,exists: function(id) {
|
|
return false;
|
|
}
|
|
,getBytes: function(id) {
|
|
return null;
|
|
}
|
|
,getText: function(id) {
|
|
return null;
|
|
}
|
|
,getPath: function(id) {
|
|
return null;
|
|
}
|
|
,list: function(type) {
|
|
return [];
|
|
}
|
|
,stripAssetsPrefix: function(id) {
|
|
return id;
|
|
}
|
|
,__class__: polymod_backends_StubBackend
|
|
};
|
|
var polymod_backends_HEAPSBackend = function() {
|
|
polymod_backends_StubBackend.call(this);
|
|
polymod_Polymod.error("failed_create_backend","HEAPSBackend requires the heaps library, did you forget to install it?");
|
|
};
|
|
$hxClasses["polymod.backends.HEAPSBackend"] = polymod_backends_HEAPSBackend;
|
|
polymod_backends_HEAPSBackend.__name__ = "polymod.backends.HEAPSBackend";
|
|
polymod_backends_HEAPSBackend.__super__ = polymod_backends_StubBackend;
|
|
polymod_backends_HEAPSBackend.prototype = $extend(polymod_backends_StubBackend.prototype,{
|
|
__class__: polymod_backends_HEAPSBackend
|
|
});
|
|
var polymod_backends_LimeBackend = function() {
|
|
};
|
|
$hxClasses["polymod.backends.LimeBackend"] = polymod_backends_LimeBackend;
|
|
polymod_backends_LimeBackend.__name__ = "polymod.backends.LimeBackend";
|
|
polymod_backends_LimeBackend.__interfaces__ = [polymod_backends_IBackend];
|
|
polymod_backends_LimeBackend.getDefaultAssetLibrary = function() {
|
|
if(polymod_backends_LimeBackend.defaultAssetLibrary == null) {
|
|
polymod_backends_LimeBackend.defaultAssetLibrary = lime_utils_Assets.getLibrary("default");
|
|
}
|
|
return polymod_backends_LimeBackend.defaultAssetLibrary;
|
|
};
|
|
polymod_backends_LimeBackend.restoreDefaultAssetLibrary = function() {
|
|
if(polymod_backends_LimeBackend.defaultAssetLibrary != null) {
|
|
lime_utils_Assets.registerLibrary("default",polymod_backends_LimeBackend.defaultAssetLibrary);
|
|
}
|
|
};
|
|
polymod_backends_LimeBackend.prototype = {
|
|
polymodLibrary: null
|
|
,modLibrary: null
|
|
,fallback: null
|
|
,init: function() {
|
|
this.fallback = polymod_backends_LimeBackend.getDefaultAssetLibrary();
|
|
this.modLibrary = new polymod_backends_LimeModLibrary(this);
|
|
lime_utils_Assets.registerLibrary("default",this.modLibrary);
|
|
}
|
|
,destroy: function() {
|
|
polymod_backends_LimeBackend.restoreDefaultAssetLibrary();
|
|
this.polymodLibrary = null;
|
|
this.modLibrary.destroy();
|
|
this.modLibrary = null;
|
|
this.fallback = null;
|
|
}
|
|
,exists: function(id) {
|
|
return this.modLibrary.exists(id,null);
|
|
}
|
|
,getBytes: function(id) {
|
|
return this.modLibrary.getBytes(id);
|
|
}
|
|
,getText: function(id) {
|
|
return this.modLibrary.getText(id);
|
|
}
|
|
,getPath: function(id) {
|
|
return this.modLibrary.getPath(id);
|
|
}
|
|
,list: function(type) {
|
|
return this.modLibrary.list(type == null ? null : polymod_backends_LimeModLibrary.PolyToLime(type));
|
|
}
|
|
,clearCache: function() {
|
|
if(polymod_backends_LimeBackend.defaultAssetLibrary != null) {
|
|
var key = haxe_ds_StringMap.keysIterator(lime_utils_Assets.cache.audio.h);
|
|
while(key.hasNext()) {
|
|
var key1 = key.next();
|
|
var _this = lime_utils_Assets.cache.audio;
|
|
if(Object.prototype.hasOwnProperty.call(_this.h,key1)) {
|
|
delete(_this.h[key1]);
|
|
}
|
|
}
|
|
var key = haxe_ds_StringMap.keysIterator(lime_utils_Assets.cache.font.h);
|
|
while(key.hasNext()) {
|
|
var key1 = key.next();
|
|
var _this = lime_utils_Assets.cache.font;
|
|
if(Object.prototype.hasOwnProperty.call(_this.h,key1)) {
|
|
delete(_this.h[key1]);
|
|
}
|
|
}
|
|
var key = haxe_ds_StringMap.keysIterator(lime_utils_Assets.cache.image.h);
|
|
while(key.hasNext()) {
|
|
var key1 = key.next();
|
|
var _this = lime_utils_Assets.cache.image;
|
|
if(Object.prototype.hasOwnProperty.call(_this.h,key1)) {
|
|
delete(_this.h[key1]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
,stripAssetsPrefix: function(id) {
|
|
if(polymod_util_Util.uIndexOf(id,"assets/") == 0) {
|
|
id = polymod_util_Util.uSubstring(id,7);
|
|
}
|
|
return id;
|
|
}
|
|
,__class__: polymod_backends_LimeBackend
|
|
};
|
|
var polymod_backends_LimeModLibrary = function(backend) {
|
|
this.b = backend;
|
|
this.p = this.b.polymodLibrary;
|
|
this.fallback = this.b.fallback;
|
|
this.hasFallback = this.fallback != null;
|
|
lime_utils_AssetLibrary.call(this);
|
|
};
|
|
$hxClasses["polymod.backends.LimeModLibrary"] = polymod_backends_LimeModLibrary;
|
|
polymod_backends_LimeModLibrary.__name__ = "polymod.backends.LimeModLibrary";
|
|
polymod_backends_LimeModLibrary.LimeToPoly = function(type) {
|
|
switch(type) {
|
|
case "BINARY":
|
|
return "BYTES";
|
|
case "FONT":
|
|
return "FONT";
|
|
case "IMAGE":
|
|
return "IMAGE";
|
|
case "MANIFEST":
|
|
return "MANIFEST";
|
|
case "MUSIC":
|
|
return "AUDIO_MUSIC";
|
|
case "SOUND":
|
|
return "AUDIO_SOUND";
|
|
case "TEMPLATE":
|
|
return "TEMPLATE";
|
|
case "TEXT":
|
|
return "TEXT";
|
|
default:
|
|
return "UNKNOWN";
|
|
}
|
|
};
|
|
polymod_backends_LimeModLibrary.PolyToLime = function(type) {
|
|
switch(type) {
|
|
case "AUDIO_GENERIC":
|
|
return "SOUND";
|
|
case "AUDIO_MUSIC":
|
|
return "MUSIC";
|
|
case "AUDIO_SOUND":
|
|
return "SOUND";
|
|
case "BYTES":
|
|
return "BINARY";
|
|
case "FONT":
|
|
return "FONT";
|
|
case "IMAGE":
|
|
return "IMAGE";
|
|
case "MANIFEST":
|
|
return "MANIFEST";
|
|
case "TEMPLATE":
|
|
return "TEMPLATE";
|
|
case "TEXT":
|
|
return "TEXT";
|
|
default:
|
|
return "BINARY";
|
|
}
|
|
};
|
|
polymod_backends_LimeModLibrary.__super__ = lime_utils_AssetLibrary;
|
|
polymod_backends_LimeModLibrary.prototype = $extend(lime_utils_AssetLibrary.prototype,{
|
|
b: null
|
|
,p: null
|
|
,fallback: null
|
|
,hasFallback: null
|
|
,type: null
|
|
,destroy: function() {
|
|
this.b = null;
|
|
this.p = null;
|
|
this.fallback = null;
|
|
this.type = null;
|
|
}
|
|
,getAsset: function(id,type) {
|
|
var e = this.p.check(id,polymod_backends_LimeModLibrary.LimeToPoly(type));
|
|
if(type == "TEXT") {
|
|
return this.getText(id);
|
|
}
|
|
if(!e && this.hasFallback) {
|
|
return this.fallback.getAsset(id,type);
|
|
}
|
|
return lime_utils_AssetLibrary.prototype.getAsset.call(this,id,type);
|
|
}
|
|
,exists: function(id,type) {
|
|
var e = this.p.check(id,polymod_backends_LimeModLibrary.LimeToPoly(type));
|
|
if(!e && this.hasFallback) {
|
|
return this.fallback.exists(id,type);
|
|
}
|
|
return e;
|
|
}
|
|
,getAudioBuffer: function(id) {
|
|
if(this.p.check(id)) {
|
|
var path = this.p.file(id);
|
|
return lime_media_AudioBuffer.fromBytes(null);
|
|
} else if(this.hasFallback) {
|
|
return this.fallback.getAudioBuffer(id);
|
|
}
|
|
return null;
|
|
}
|
|
,getBytes: function(id) {
|
|
var file = this.p.file(id);
|
|
if(this.p.check(id)) {
|
|
var path = this.p.file(id);
|
|
return null;
|
|
} else if(this.hasFallback) {
|
|
return this.fallback.getBytes(id);
|
|
}
|
|
return null;
|
|
}
|
|
,getFont: function(id) {
|
|
if(this.p.check(id)) {
|
|
var path = this.p.file(id);
|
|
return lime_text_Font.fromBytes(null);
|
|
} else if(this.hasFallback) {
|
|
return this.fallback.getFont(id);
|
|
}
|
|
return null;
|
|
}
|
|
,getImage: function(id) {
|
|
if(this.p.check(id)) {
|
|
var path = this.p.file(id);
|
|
return lime_graphics_Image.fromBytes(null);
|
|
} else if(this.hasFallback) {
|
|
return this.fallback.getImage(id);
|
|
}
|
|
return null;
|
|
}
|
|
,getPath: function(id) {
|
|
if(this.p.check(id)) {
|
|
return this.p.file(id);
|
|
} else if(this.hasFallback) {
|
|
return this.fallback.getPath(id);
|
|
}
|
|
return null;
|
|
}
|
|
,getText: function(id) {
|
|
var modText = null;
|
|
if(this.p.check(id)) {
|
|
modText = lime_utils_AssetLibrary.prototype.getText.call(this,id);
|
|
} else if(this.hasFallback) {
|
|
modText = this.fallback.getText(id);
|
|
}
|
|
if(modText != null) {
|
|
modText = this.p.mergeAndAppendText(id,modText);
|
|
}
|
|
return modText;
|
|
}
|
|
,loadBytes: function(id) {
|
|
if(this.p.check(id)) {
|
|
return lime_utils_Bytes.loadFromFile(this.p.file(id));
|
|
} else if(this.hasFallback) {
|
|
return this.fallback.loadBytes(id);
|
|
}
|
|
return lime_utils_Bytes.loadFromFile("");
|
|
}
|
|
,loadFont: function(id) {
|
|
if(this.p.check(id)) {
|
|
var this1 = this.paths;
|
|
var key = this.p.file(id);
|
|
return lime_text_Font.loadFromName(this1.h[key]);
|
|
} else if(this.hasFallback) {
|
|
return this.fallback.loadFont(id);
|
|
}
|
|
return lime_text_Font.loadFromName(this.paths.h[""]);
|
|
}
|
|
,loadImage: function(id) {
|
|
if(this.p.check(id)) {
|
|
return lime_graphics_Image.loadFromFile(this.p.file(id));
|
|
} else if(this.hasFallback) {
|
|
return this.fallback.loadImage(id);
|
|
}
|
|
return lime_graphics_Image.loadFromFile("");
|
|
}
|
|
,loadAudioBuffer: function(id) {
|
|
if(this.p.check(id)) {
|
|
var this1 = this.pathGroups;
|
|
var key = this.p.file(id);
|
|
if(Object.prototype.hasOwnProperty.call(this1.h,key)) {
|
|
var this1 = this.pathGroups;
|
|
var key = this.p.file(id);
|
|
return lime_media_AudioBuffer.loadFromFiles(this1.h[key]);
|
|
} else {
|
|
var this1 = this.paths;
|
|
var key = this.p.file(id);
|
|
return lime_media_AudioBuffer.loadFromFile(this1.h[key]);
|
|
}
|
|
} else if(this.hasFallback) {
|
|
return this.fallback.loadAudioBuffer(id);
|
|
}
|
|
return lime_media_AudioBuffer.loadFromFile("");
|
|
}
|
|
,loadText: function(id) {
|
|
if(this.p.check(id)) {
|
|
var request = new lime_net__$HTTPRequest_$String();
|
|
var this1 = this.paths;
|
|
var key = this.p.file(id);
|
|
return request.load(this1.h[key]);
|
|
} else if(this.hasFallback) {
|
|
return this.fallback.loadText(id);
|
|
}
|
|
var request = new lime_net__$HTTPRequest_$String();
|
|
return request.load("");
|
|
}
|
|
,isLocal: function(id,type) {
|
|
if(this.p.check(id)) {
|
|
return true;
|
|
} else if(this.hasFallback) {
|
|
return this.fallback.isLocal(id,type);
|
|
}
|
|
return false;
|
|
}
|
|
,list: function(type) {
|
|
var otherList = this.hasFallback ? this.fallback.list(type) : [];
|
|
var requestedType = type != null ? js_Boot.__cast(type , String) : null;
|
|
var items = [];
|
|
var id = haxe_ds_StringMap.keysIterator(this.p.type.h);
|
|
while(id.hasNext()) {
|
|
var id1 = id.next();
|
|
if(id1.indexOf("_append") == 0 || id1.indexOf("_merge") == 0) {
|
|
continue;
|
|
}
|
|
if(requestedType == null || this.exists(id1,requestedType)) {
|
|
items.push(id1);
|
|
}
|
|
}
|
|
var _g = 0;
|
|
while(_g < otherList.length) {
|
|
var otherId = otherList[_g];
|
|
++_g;
|
|
if(items.indexOf(otherId) == -1) {
|
|
if(requestedType == null || this.fallback.exists(otherId,type)) {
|
|
items.push(otherId);
|
|
}
|
|
}
|
|
}
|
|
return items;
|
|
}
|
|
,__class__: polymod_backends_LimeModLibrary
|
|
});
|
|
var polymod_backends_NMEBackend = function() {
|
|
polymod_backends_StubBackend.call(this);
|
|
polymod_Polymod.error("failed_create_backend","NMEBackend requires the nme library, did you forget to install it?");
|
|
};
|
|
$hxClasses["polymod.backends.NMEBackend"] = polymod_backends_NMEBackend;
|
|
polymod_backends_NMEBackend.__name__ = "polymod.backends.NMEBackend";
|
|
polymod_backends_NMEBackend.__super__ = polymod_backends_StubBackend;
|
|
polymod_backends_NMEBackend.prototype = $extend(polymod_backends_StubBackend.prototype,{
|
|
__class__: polymod_backends_NMEBackend
|
|
});
|
|
var polymod_backends_OpenFLBackend = function() {
|
|
polymod_backends_LimeBackend.call(this);
|
|
};
|
|
$hxClasses["polymod.backends.OpenFLBackend"] = polymod_backends_OpenFLBackend;
|
|
polymod_backends_OpenFLBackend.__name__ = "polymod.backends.OpenFLBackend";
|
|
polymod_backends_OpenFLBackend.__super__ = polymod_backends_LimeBackend;
|
|
polymod_backends_OpenFLBackend.prototype = $extend(polymod_backends_LimeBackend.prototype,{
|
|
clearCache: function() {
|
|
polymod_backends_LimeBackend.prototype.clearCache.call(this);
|
|
openfl_utils_Assets.cache.clear();
|
|
}
|
|
,__class__: polymod_backends_OpenFLBackend
|
|
});
|
|
var polymod_backends_PolymodAssetLibrary = function(params) {
|
|
this.parseRules = null;
|
|
this.ignoredFiles = null;
|
|
this.dirs = null;
|
|
this.backend = params.backend;
|
|
this.backend.polymodLibrary = this;
|
|
this.dirs = params.dirs;
|
|
this.parseRules = params.parseRules;
|
|
this.ignoredFiles = params.ignoredFiles != null ? params.ignoredFiles.slice() : [];
|
|
this.extensions = params.extensionMap;
|
|
this.backend.clearCache();
|
|
this.init();
|
|
};
|
|
$hxClasses["polymod.backends.PolymodAssetLibrary"] = polymod_backends_PolymodAssetLibrary;
|
|
polymod_backends_PolymodAssetLibrary.__name__ = "polymod.backends.PolymodAssetLibrary";
|
|
polymod_backends_PolymodAssetLibrary.prototype = {
|
|
backend: null
|
|
,type: null
|
|
,dirs: null
|
|
,ignoredFiles: null
|
|
,parseRules: null
|
|
,extensions: null
|
|
,destroy: function() {
|
|
if(this.backend != null) {
|
|
this.backend.destroy();
|
|
}
|
|
}
|
|
,mergeAndAppendText: function(id,modText) {
|
|
modText = polymod_util_Util.mergeAndAppendText(modText,id,this.dirs,$bind(this,this.getTextDirectly),this.parseRules);
|
|
return modText;
|
|
}
|
|
,getExtensionType: function(ext) {
|
|
ext = ext.toLowerCase();
|
|
if(Object.prototype.hasOwnProperty.call(this.extensions.h,ext) == false) {
|
|
return "BYTES";
|
|
}
|
|
return this.extensions.h[ext];
|
|
}
|
|
,getTextDirectly: function(id,directory) {
|
|
if(directory == null) {
|
|
directory = "";
|
|
}
|
|
var bytes = null;
|
|
if(this.checkDirectly(id,directory)) {
|
|
var path = this.file(id,directory);
|
|
bytes = null;
|
|
} else {
|
|
bytes = this.backend.getBytes(id);
|
|
}
|
|
if(bytes == null) {
|
|
return null;
|
|
} else {
|
|
return bytes.getString(0,bytes.length);
|
|
}
|
|
}
|
|
,exists: function(id) {
|
|
return this.backend.exists(id);
|
|
}
|
|
,getText: function(id) {
|
|
return this.backend.getText(id);
|
|
}
|
|
,getBytes: function(id) {
|
|
return this.backend.getBytes(id);
|
|
}
|
|
,getPath: function(id) {
|
|
return this.backend.getPath(id);
|
|
}
|
|
,list: function(type) {
|
|
return this.backend.list(type);
|
|
}
|
|
,listModFiles: function(type) {
|
|
var items = [];
|
|
var id = haxe_ds_StringMap.keysIterator(this.type.h);
|
|
while(id.hasNext()) {
|
|
var id1 = id.next();
|
|
if(id1.indexOf("_append") == 0 || id1.indexOf("_merge") == 0) {
|
|
continue;
|
|
}
|
|
if(type == null || type == "BYTES" || this.check(id1,type)) {
|
|
items.push(id1);
|
|
}
|
|
}
|
|
return items;
|
|
}
|
|
,check: function(id,type) {
|
|
var exists = this._checkExists(id);
|
|
if(exists && type != null && type != "BYTES") {
|
|
var otherType = this.type.h[id];
|
|
exists = otherType == type || otherType == "BYTES";
|
|
}
|
|
return exists;
|
|
}
|
|
,getType: function(id) {
|
|
var exists = this._checkExists(id);
|
|
if(exists) {
|
|
return this.type.h[id];
|
|
}
|
|
return null;
|
|
}
|
|
,checkDirectly: function(id,dir) {
|
|
id = this.backend.stripAssetsPrefix(id);
|
|
if(dir == null || dir == "") {
|
|
return false;
|
|
} else {
|
|
var thePath = polymod_util_Util.uCombine([dir,polymod_util_Util.sl(),id]);
|
|
}
|
|
return false;
|
|
}
|
|
,file: function(id,theDir) {
|
|
if(theDir == null) {
|
|
theDir = "";
|
|
}
|
|
id = this.backend.stripAssetsPrefix(id);
|
|
if(theDir != "") {
|
|
return polymod_util_Util.pathJoin(theDir,id);
|
|
}
|
|
var theFile = "";
|
|
var _g = 0;
|
|
var _g1 = this.dirs;
|
|
while(_g < _g1.length) {
|
|
var d = _g1[_g];
|
|
++_g;
|
|
var thePath = polymod_util_Util.pathJoin(d,id);
|
|
}
|
|
return theFile;
|
|
}
|
|
,_checkExists: function(id) {
|
|
if(this.ignoredFiles.length > 0 && this.ignoredFiles.indexOf(id) != -1) {
|
|
return false;
|
|
}
|
|
var exists = false;
|
|
id = this.backend.stripAssetsPrefix(id);
|
|
var _g = 0;
|
|
var _g1 = this.dirs;
|
|
while(_g < _g1.length) {
|
|
var d = _g1[_g];
|
|
++_g;
|
|
var path = polymod_util_Util.pathJoin(d,id);
|
|
}
|
|
return exists;
|
|
}
|
|
,init: function() {
|
|
this.type = new haxe_ds_StringMap();
|
|
this.extensions = new haxe_ds_StringMap();
|
|
this.initExtensions();
|
|
if(this.parseRules == null) {
|
|
this.parseRules = polymod_format_ParseRules.getDefault();
|
|
}
|
|
if(this.dirs != null) {
|
|
var _g = 0;
|
|
var _g1 = this.dirs;
|
|
while(_g < _g1.length) {
|
|
var d = _g1[_g];
|
|
++_g;
|
|
this.initMod(d);
|
|
}
|
|
}
|
|
}
|
|
,initExtensions: function() {
|
|
if(this.extensions == null) {
|
|
this.extensions = new haxe_ds_StringMap();
|
|
}
|
|
this._extensionSet("mp3","AUDIO_GENERIC");
|
|
this._extensionSet("ogg","AUDIO_GENERIC");
|
|
this._extensionSet("wav","AUDIO_GENERIC");
|
|
this._extensionSet("jpg","IMAGE");
|
|
this._extensionSet("png","IMAGE");
|
|
this._extensionSet("gif","IMAGE");
|
|
this._extensionSet("tga","IMAGE");
|
|
this._extensionSet("bmp","IMAGE");
|
|
this._extensionSet("tif","IMAGE");
|
|
this._extensionSet("tiff","IMAGE");
|
|
this._extensionSet("txt","TEXT");
|
|
this._extensionSet("xml","TEXT");
|
|
this._extensionSet("json","TEXT");
|
|
this._extensionSet("csv","TEXT");
|
|
this._extensionSet("tsv","TEXT");
|
|
this._extensionSet("mpf","TEXT");
|
|
this._extensionSet("tsx","TEXT");
|
|
this._extensionSet("tmx","TEXT");
|
|
this._extensionSet("vdf","TEXT");
|
|
this._extensionSet("ttf","FONT");
|
|
this._extensionSet("otf","FONT");
|
|
}
|
|
,_extensionSet: function(str,type) {
|
|
if(Object.prototype.hasOwnProperty.call(this.extensions.h,str) == false) {
|
|
this.extensions.h[str] = type;
|
|
}
|
|
}
|
|
,initMod: function(d) {
|
|
if(d == null) {
|
|
return;
|
|
}
|
|
var all = null;
|
|
if(d == "" || d == null) {
|
|
all = [];
|
|
}
|
|
try {
|
|
all = [];
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
var msg = haxe_Exception.caught(_g).unwrap();
|
|
throw haxe_Exception.thrown("ModAssetLibrary._initMod(" + d + ") failed : " + Std.string(msg));
|
|
}
|
|
var _g = 0;
|
|
while(_g < all.length) {
|
|
var f = all[_g];
|
|
++_g;
|
|
var doti = polymod_util_Util.uLastIndexOf(f,".");
|
|
var ext = doti != -1 ? f.substring(doti + 1) : "";
|
|
ext = ext.toLowerCase();
|
|
var assetType = this.getExtensionType(ext);
|
|
this.type.h[f] = assetType;
|
|
}
|
|
}
|
|
,__class__: polymod_backends_PolymodAssetLibrary
|
|
};
|
|
var polymod_backends_PolymodAssets = function() { };
|
|
$hxClasses["polymod.backends.PolymodAssets"] = polymod_backends_PolymodAssets;
|
|
polymod_backends_PolymodAssets.__name__ = "polymod.backends.PolymodAssets";
|
|
polymod_backends_PolymodAssets.init = function(params) {
|
|
var framework = params.framework;
|
|
if(framework == null) {
|
|
framework = polymod_backends_PolymodAssets.autoDetectFramework();
|
|
polymod_Polymod.notice("framework_autodetect"," going with " + Std.string(framework));
|
|
} else {
|
|
polymod_Polymod.notice("framework_init"," user specified " + Std.string(framework));
|
|
}
|
|
var backend;
|
|
switch(framework._hx_index) {
|
|
case 0:
|
|
backend = new polymod_backends_NMEBackend();
|
|
break;
|
|
case 1:
|
|
backend = new polymod_backends_LimeBackend();
|
|
break;
|
|
case 2:
|
|
backend = new polymod_backends_OpenFLBackend();
|
|
break;
|
|
case 3:
|
|
backend = new polymod_backends_HEAPSBackend();
|
|
break;
|
|
case 5:
|
|
if(params.customBackend != null) {
|
|
backend = Type.createInstance(params.customBackend,[]);
|
|
} else {
|
|
polymod_Polymod.error("undefined_custom_backend","params.customBackend was not defined!");
|
|
backend = null;
|
|
}
|
|
break;
|
|
default:
|
|
backend = null;
|
|
}
|
|
if(backend == null) {
|
|
polymod_Polymod.error("failed_create_backend","could not create a backend for framework(" + Std.string(framework) + ")!");
|
|
return null;
|
|
}
|
|
if(polymod_backends_PolymodAssets.library != null) {
|
|
polymod_backends_PolymodAssets.library.destroy();
|
|
}
|
|
polymod_backends_PolymodAssets.library = new polymod_backends_PolymodAssetLibrary({ backend : backend, dirs : params.dirs, parseRules : params.parseRules, ignoredFiles : params.ignoredFiles, extensionMap : params.extensionMap});
|
|
backend.init();
|
|
return polymod_backends_PolymodAssets.library;
|
|
};
|
|
polymod_backends_PolymodAssets.exists = function(id) {
|
|
return polymod_backends_PolymodAssets.library.exists(id);
|
|
};
|
|
polymod_backends_PolymodAssets.getBytes = function(id) {
|
|
return polymod_backends_PolymodAssets.library.getBytes(id);
|
|
};
|
|
polymod_backends_PolymodAssets.getText = function(id) {
|
|
return polymod_backends_PolymodAssets.library.getText(id);
|
|
};
|
|
polymod_backends_PolymodAssets.getPath = function(id) {
|
|
return polymod_backends_PolymodAssets.library.getPath(id);
|
|
};
|
|
polymod_backends_PolymodAssets.list = function(type) {
|
|
return polymod_backends_PolymodAssets.library.list(type);
|
|
};
|
|
polymod_backends_PolymodAssets.library = null;
|
|
polymod_backends_PolymodAssets.autoDetectFramework = function() {
|
|
return polymod_Framework.OPENFL;
|
|
};
|
|
var polymod_backends_PolymodAssetType = {};
|
|
polymod_backends_PolymodAssetType.fromString = function(str) {
|
|
str = str.toUpperCase();
|
|
switch(str) {
|
|
case "AUDIO_GENERIC":case "AUDIO_MUSIC":case "AUDIO_SOUND":case "BYTES":case "FONT":case "IMAGE":case "MANIFEST":case "TEMPLATE":case "TEXT":case "UNKNOWN":case "VIDEO":
|
|
return str;
|
|
default:
|
|
return "UNKNOWN";
|
|
}
|
|
};
|
|
var polymod_format_BaseParseFormat = function() { };
|
|
$hxClasses["polymod.format.BaseParseFormat"] = polymod_format_BaseParseFormat;
|
|
polymod_format_BaseParseFormat.__name__ = "polymod.format.BaseParseFormat";
|
|
polymod_format_BaseParseFormat.__isInterface__ = true;
|
|
polymod_format_BaseParseFormat.prototype = {
|
|
format: null
|
|
,append: null
|
|
,merge: null
|
|
,__class__: polymod_format_BaseParseFormat
|
|
};
|
|
var polymod_format_CSV = function() {
|
|
this._quoted = false;
|
|
this._delimeter = "";
|
|
this._rgx = null;
|
|
};
|
|
$hxClasses["polymod.format.CSV"] = polymod_format_CSV;
|
|
polymod_format_CSV.__name__ = "polymod.format.CSV";
|
|
polymod_format_CSV.parse = function(input,delimeter,quotedCells) {
|
|
if(quotedCells == null) {
|
|
quotedCells = true;
|
|
}
|
|
if(delimeter == null) {
|
|
delimeter = ",";
|
|
}
|
|
var csv = new polymod_format_CSV();
|
|
csv._parse(input,delimeter,quotedCells);
|
|
return csv;
|
|
};
|
|
polymod_format_CSV.parseWithFormat = function(input,format) {
|
|
if(format.get_isSimpleMode()) {
|
|
return polymod_format_CSV.parseSimple(input);
|
|
} else {
|
|
return polymod_format_CSV.parse(input,format.delimeter,format.quotedCells);
|
|
}
|
|
};
|
|
polymod_format_CSV.parseSimple = function(input) {
|
|
var endline = "\n";
|
|
if(input.indexOf("\r\n") != -1) {
|
|
endline = "\r\n";
|
|
}
|
|
var lines = input.split(endline);
|
|
var fieldLine = lines.shift();
|
|
var fields = fieldLine.split(",");
|
|
var grid = [];
|
|
var _g = 0;
|
|
while(_g < lines.length) {
|
|
var line = lines[_g];
|
|
++_g;
|
|
var cells = line.split(",");
|
|
grid.push(cells);
|
|
}
|
|
var csv = new polymod_format_CSV();
|
|
csv.fields = fields;
|
|
csv.grid = grid;
|
|
return csv;
|
|
};
|
|
polymod_format_CSV.prototype = {
|
|
fields: null
|
|
,grid: null
|
|
,destroy: function() {
|
|
this.clearArray(this.grid);
|
|
this.clearArray(this.fields);
|
|
this.grid = null;
|
|
this.fields = null;
|
|
}
|
|
,_rgx: null
|
|
,_delimeter: null
|
|
,_quoted: null
|
|
,_parse: function(input,delimeter,quoted) {
|
|
if(quoted == null) {
|
|
quoted = true;
|
|
}
|
|
if(delimeter == null) {
|
|
delimeter = ",";
|
|
}
|
|
this._delimeter = delimeter;
|
|
this._quoted = quoted;
|
|
if(input != "") {
|
|
this.processRows(this.getRows(input));
|
|
}
|
|
}
|
|
,clearArray: function(array) {
|
|
if(array == null) {
|
|
return;
|
|
}
|
|
var i = array.length - 1;
|
|
while(i >= 0) {
|
|
this.destroyThing(array[i]);
|
|
array[i] = null;
|
|
array.splice(i,1);
|
|
--i;
|
|
}
|
|
array = null;
|
|
}
|
|
,destroyThing: function(thing) {
|
|
if(thing == null) {
|
|
return;
|
|
}
|
|
if(((thing) instanceof Array)) {
|
|
this.clearArray(thing);
|
|
}
|
|
thing = null;
|
|
}
|
|
,getCells: function(row) {
|
|
if(this._rgx == null) {
|
|
if(row.charAt(row.length - 1) == this._delimeter) {
|
|
row = HxOverrides.substr(row,0,row.length - 1);
|
|
}
|
|
if(this._delimeter == ",") {
|
|
this._rgx = new EReg(",(?=(?:[^\\x22]*\\x22[^\\x22]*\\x22)*(?![^\\x22]*\\x22))","gm");
|
|
} else {
|
|
this._rgx = new EReg(this._delimeter + "(?=(?:[^\"]*\"[^\"]*\")*(?![^\"]*\"))","gm");
|
|
}
|
|
}
|
|
return this._rgx.split(row);
|
|
}
|
|
,getRows: function(input) {
|
|
var endl = "\r\n";
|
|
if(input.indexOf("\r\n") == -1) {
|
|
endl = "\n";
|
|
}
|
|
return input.split(endl);
|
|
}
|
|
,processCells: function(cells,row) {
|
|
if(row == null) {
|
|
row = 0;
|
|
}
|
|
var col = 0;
|
|
var newline = false;
|
|
var row_array = null;
|
|
if(this.grid == null) {
|
|
this.grid = [];
|
|
this.fields = [];
|
|
}
|
|
row_array = [];
|
|
var _g = 0;
|
|
var _g1 = cells.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var cell = "";
|
|
if(this._quoted) {
|
|
cell = HxOverrides.substr(cells[i],1,cells[i].length - 2);
|
|
} else {
|
|
cell = cells[i];
|
|
}
|
|
if(row == 0) {
|
|
this.fields.push(cell);
|
|
} else {
|
|
row_array.push(cell);
|
|
}
|
|
}
|
|
this.grid.push(row_array);
|
|
this.clearArray(cells);
|
|
cells = null;
|
|
}
|
|
,processRows: function(rows) {
|
|
var _g = 0;
|
|
var _g1 = rows.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
this.processCells(this.getCells(rows[i]),i);
|
|
}
|
|
}
|
|
,__class__: polymod_format_CSV
|
|
};
|
|
var polymod_format_JsonHelp = function() { };
|
|
$hxClasses["polymod.format.JsonHelp"] = polymod_format_JsonHelp;
|
|
polymod_format_JsonHelp.__name__ = "polymod.format.JsonHelp";
|
|
polymod_format_JsonHelp.bool = function(json,field,defaultValue) {
|
|
if(defaultValue == null) {
|
|
defaultValue = false;
|
|
}
|
|
var str = "";
|
|
if(Object.prototype.hasOwnProperty.call(json,field)) {
|
|
str = Reflect.field(json,field);
|
|
}
|
|
if(str == null || str == "") {
|
|
return defaultValue;
|
|
}
|
|
str = str.toLowerCase();
|
|
if(str == "true") {
|
|
return true;
|
|
}
|
|
return false;
|
|
};
|
|
polymod_format_JsonHelp.int = function(json,field,defaultValue) {
|
|
if(defaultValue == null) {
|
|
defaultValue = 0;
|
|
}
|
|
var str = "";
|
|
if(Object.prototype.hasOwnProperty.call(json,field)) {
|
|
str = Reflect.field(json,field);
|
|
}
|
|
if(str == null || str == "") {
|
|
return defaultValue;
|
|
}
|
|
var i = Std.parseInt(str);
|
|
if(i == null) {
|
|
return defaultValue;
|
|
}
|
|
return i;
|
|
};
|
|
polymod_format_JsonHelp.float = function(json,field,defaultValue) {
|
|
if(defaultValue == null) {
|
|
defaultValue = 0;
|
|
}
|
|
var str = "";
|
|
if(Object.prototype.hasOwnProperty.call(json,field)) {
|
|
str = Reflect.field(json,field);
|
|
}
|
|
if(str == null || str == "") {
|
|
return defaultValue;
|
|
}
|
|
var f = NaN;
|
|
try {
|
|
f = parseFloat(str);
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
f = NaN;
|
|
}
|
|
if(isNaN(f)) {
|
|
return defaultValue;
|
|
}
|
|
return f;
|
|
};
|
|
polymod_format_JsonHelp.mapStr = function(json,field) {
|
|
var map = new haxe_ds_StringMap();
|
|
if(json == null || field == "" || field == null) {
|
|
return map;
|
|
}
|
|
var val = null;
|
|
if(Object.prototype.hasOwnProperty.call(json,field)) {
|
|
val = Reflect.field(json,field);
|
|
}
|
|
if(val != null) {
|
|
var _g = 0;
|
|
var _g1 = Reflect.fields(val);
|
|
while(_g < _g1.length) {
|
|
var field = _g1[_g];
|
|
++_g;
|
|
var fieldVal = Reflect.field(val,field);
|
|
map.h[field] = Std.string(fieldVal);
|
|
}
|
|
}
|
|
return map;
|
|
};
|
|
polymod_format_JsonHelp.str = function(json,field,defaultValue) {
|
|
if(defaultValue == null) {
|
|
defaultValue = "";
|
|
}
|
|
var str = "";
|
|
if(Object.prototype.hasOwnProperty.call(json,field)) {
|
|
str = Reflect.field(json,field);
|
|
}
|
|
if(str == null || str == "") {
|
|
return defaultValue;
|
|
}
|
|
return str;
|
|
};
|
|
polymod_format_JsonHelp.arrStr = function(json,field,defaultValue) {
|
|
var val = null;
|
|
if(Object.prototype.hasOwnProperty.call(json,field)) {
|
|
val = Reflect.field(json,field);
|
|
}
|
|
if(val != null && ((val) instanceof Array)) {
|
|
return val;
|
|
}
|
|
return defaultValue;
|
|
};
|
|
var polymod_format_ParseRules = function() {
|
|
this.formats = new haxe_ds_StringMap();
|
|
};
|
|
$hxClasses["polymod.format.ParseRules"] = polymod_format_ParseRules;
|
|
polymod_format_ParseRules.__name__ = "polymod.format.ParseRules";
|
|
polymod_format_ParseRules.getDefault = function() {
|
|
var rules = new polymod_format_ParseRules();
|
|
rules.addFormat("csv",new polymod_format_CSVParseFormat(",",true));
|
|
rules.addFormat("tsv",new polymod_format_TSVParseFormat());
|
|
rules.addFormat("xml",new polymod_format_XMLParseFormat());
|
|
rules.addFormat("json",new polymod_format_JSONParseFormat());
|
|
rules.addFormat("txt",new polymod_format_PlainTextParseFormat());
|
|
return rules;
|
|
};
|
|
polymod_format_ParseRules.prototype = {
|
|
formats: null
|
|
,addType: function(extension,type) {
|
|
var format;
|
|
switch(type._hx_index) {
|
|
case 0:
|
|
format = new polymod_format_PlainTextParseFormat();
|
|
break;
|
|
case 1:
|
|
format = new polymod_format_LinesParseFormat(polymod_format_EndLineType.LF);
|
|
break;
|
|
case 2:
|
|
format = new polymod_format_CSVParseFormat(",",true);
|
|
break;
|
|
case 3:
|
|
format = new polymod_format_TSVParseFormat();
|
|
break;
|
|
case 4:
|
|
format = new polymod_format_XMLParseFormat();
|
|
break;
|
|
case 5:
|
|
format = new polymod_format_JSONParseFormat();
|
|
break;
|
|
}
|
|
this.formats.h[extension] = format;
|
|
}
|
|
,get: function(extension) {
|
|
return this.formats.h[extension];
|
|
}
|
|
,addFormat: function(extension,format) {
|
|
this.formats.h[extension] = format;
|
|
}
|
|
,addFile: function(path,format) {
|
|
this.formats.h[path] = format;
|
|
}
|
|
,__class__: polymod_format_ParseRules
|
|
};
|
|
var polymod_format_CSVParseFormat = function(delimeter,quotedCells) {
|
|
this.format = polymod_format_TextFileFormat.CSV;
|
|
this.delimeter = delimeter;
|
|
this.quotedCells = quotedCells;
|
|
};
|
|
$hxClasses["polymod.format.CSVParseFormat"] = polymod_format_CSVParseFormat;
|
|
polymod_format_CSVParseFormat.__name__ = "polymod.format.CSVParseFormat";
|
|
polymod_format_CSVParseFormat.__interfaces__ = [polymod_format_BaseParseFormat];
|
|
polymod_format_CSVParseFormat.prototype = {
|
|
format: null
|
|
,isSimpleMode: null
|
|
,delimeter: null
|
|
,quotedCells: null
|
|
,lookForHeaders: null
|
|
,get_isSimpleMode: function() {
|
|
if(this.delimeter == ",") {
|
|
return this.quotedCells == false;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
,parse: function(str) {
|
|
return polymod_format_CSV.parse(str,this.delimeter,this.quotedCells);
|
|
}
|
|
,append: function(baseText,appendText,id) {
|
|
var endLine = "\n";
|
|
if(baseText.indexOf("\r\n") != -1) {
|
|
endLine = "\r\n";
|
|
}
|
|
if(this.lookForHeaders) {
|
|
var baseCSV;
|
|
var appendCSV;
|
|
var appendEndLine = "\n";
|
|
if(appendText.indexOf("\r\n") != -1) {
|
|
appendEndLine = "\r\n";
|
|
}
|
|
var appendLength = polymod_util_Util.uLength(appendText);
|
|
var appendLast = polymod_util_Util.uLastIndexOf(appendText,appendEndLine);
|
|
if(appendLast == appendLength - 1 || appendLast == appendLength - 2) {
|
|
appendText = polymod_util_Util.uSubstr(appendText,0,appendLength - polymod_util_Util.uLength(appendEndLine));
|
|
}
|
|
try {
|
|
baseCSV = polymod_format_CSV.parseWithFormat(baseText,this);
|
|
appendCSV = polymod_format_CSV.parseWithFormat(appendText,this);
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
var msg = haxe_Exception.caught(_g).unwrap();
|
|
polymod_Polymod.error("append_error","CSV Append error (" + id + ") : " + Std.string(msg));
|
|
return baseText;
|
|
}
|
|
var finalText = baseText;
|
|
var finalLength = polymod_util_Util.uLength(finalText);
|
|
var lastEndLine = polymod_util_Util.uLastIndexOf(finalText,endLine);
|
|
var addFinalEndline = false;
|
|
if(lastEndLine == finalLength - 1 || lastEndLine == finalLength - 2) {
|
|
finalText = polymod_util_Util.uSubstr(finalText,0,finalLength - polymod_util_Util.uLength(endLine));
|
|
addFinalEndline = true;
|
|
}
|
|
var compareFields = 0;
|
|
var _g = 0;
|
|
var _g1 = baseCSV.fields.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var baseField = baseCSV.fields[i];
|
|
var appendFieldExists = appendCSV.fields.indexOf(baseField) != -1;
|
|
if(appendFieldExists) {
|
|
++compareFields;
|
|
}
|
|
}
|
|
if(this.lookForHeaders) {
|
|
if(compareFields < (baseCSV.fields.length / 2 | 0)) {
|
|
polymod_Polymod.error("append_error","Mod file(" + id + ") is missing most or all of the expected header fields","init");
|
|
}
|
|
}
|
|
var missingFields = [];
|
|
var _g = 0;
|
|
var _g1 = appendCSV.grid.length;
|
|
while(_g < _g1) {
|
|
var r = _g++;
|
|
var line = "";
|
|
var _g2 = 0;
|
|
var _g3 = baseCSV.fields.length;
|
|
while(_g2 < _g3) {
|
|
var bi = _g2++;
|
|
var baseField = baseCSV.fields[bi];
|
|
var appendField = appendCSV.fields.indexOf(baseField);
|
|
if(appendField != -1) {
|
|
var appendValue = appendCSV.grid[r][appendField];
|
|
if(appendValue == null) {
|
|
appendValue = "";
|
|
}
|
|
line += appendValue;
|
|
} else if(missingFields.indexOf(baseField) == -1) {
|
|
missingFields.push(baseField);
|
|
}
|
|
if(bi != baseCSV.fields.length - 1) {
|
|
line += this.delimeter;
|
|
}
|
|
}
|
|
finalText += endLine + line;
|
|
}
|
|
if(addFinalEndline) {
|
|
finalText += endLine;
|
|
}
|
|
var _g = 0;
|
|
while(_g < missingFields.length) {
|
|
var baseField = missingFields[_g];
|
|
++_g;
|
|
polymod_Polymod.warning("append_error","Mod file(" + id + ") missing expected field \"" + baseField + "\", values will default to empty string.","init");
|
|
}
|
|
return finalText;
|
|
}
|
|
return polymod_util_Util.appendCSVOrTSV(baseText,appendText,id);
|
|
}
|
|
,merge: function(baseText,mergeText,id) {
|
|
var baseCSV;
|
|
var mergeCSV;
|
|
try {
|
|
baseCSV = polymod_format_CSV.parseWithFormat(baseText,this);
|
|
mergeCSV = polymod_format_CSV.parseWithFormat(mergeText,this);
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
var msg = haxe_Exception.caught(_g).unwrap();
|
|
polymod_Polymod.error("merge_error","CSV Merge error (" + id + ") : " + Std.string(msg));
|
|
return baseText;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = mergeCSV.grid;
|
|
while(_g < _g1.length) {
|
|
var row = _g1[_g];
|
|
++_g;
|
|
var flag = row.length > 0 ? row[0] : "";
|
|
if(flag != "") {
|
|
var _g2 = 0;
|
|
var _g3 = baseCSV.grid.length;
|
|
while(_g2 < _g3) {
|
|
var i = _g2++;
|
|
var otherRow = baseCSV.grid[i];
|
|
var otherFlag = otherRow[0];
|
|
if(flag == otherFlag) {
|
|
var _g4 = 0;
|
|
var _g5 = row.length;
|
|
while(_g4 < _g5) {
|
|
var j = _g4++;
|
|
if(j < otherRow.length) {
|
|
otherRow[j] = row[j];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
var result = this.print(baseCSV);
|
|
return result;
|
|
}
|
|
,print: function(csv) {
|
|
var buf_b = "";
|
|
var lf = 10;
|
|
var dq = 34;
|
|
var _g = 0;
|
|
var _g1 = csv.fields.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
buf_b += Std.string(csv.fields[i]);
|
|
if(i != csv.fields.length - 1) {
|
|
buf_b += Std.string(this.delimeter);
|
|
}
|
|
}
|
|
var strSoFar = buf_b;
|
|
if(strSoFar.indexOf("\n") == -1) {
|
|
buf_b += "\r\n";
|
|
}
|
|
var grid = csv.grid;
|
|
var _g = 0;
|
|
var _g1 = grid.length;
|
|
while(_g < _g1) {
|
|
var iy = _g++;
|
|
var row = grid[iy];
|
|
var _g2 = 0;
|
|
var _g3 = row.length;
|
|
while(_g2 < _g3) {
|
|
var ix = _g2++;
|
|
var cell = row[ix];
|
|
if(this.quotedCells) {
|
|
buf_b += String.fromCodePoint(dq);
|
|
}
|
|
haxe_Utf8.iter(cell,function(char) {
|
|
buf_b += String.fromCodePoint(char);
|
|
});
|
|
if(this.quotedCells) {
|
|
buf_b += String.fromCodePoint(dq);
|
|
}
|
|
if(ix != row.length - 1) {
|
|
buf_b += Std.string(this.delimeter);
|
|
}
|
|
}
|
|
if(iy != grid.length - 1) {
|
|
buf_b += "\r\n";
|
|
}
|
|
}
|
|
return buf_b;
|
|
}
|
|
,__class__: polymod_format_CSVParseFormat
|
|
,__properties__: {get_isSimpleMode:"get_isSimpleMode"}
|
|
};
|
|
var polymod_format_TSVParseFormat = function() {
|
|
this.format = polymod_format_TextFileFormat.TSV;
|
|
};
|
|
$hxClasses["polymod.format.TSVParseFormat"] = polymod_format_TSVParseFormat;
|
|
polymod_format_TSVParseFormat.__name__ = "polymod.format.TSVParseFormat";
|
|
polymod_format_TSVParseFormat.__interfaces__ = [polymod_format_BaseParseFormat];
|
|
polymod_format_TSVParseFormat.prototype = {
|
|
format: null
|
|
,parse: function(str) {
|
|
return polymod_format_TSV.parse(str);
|
|
}
|
|
,append: function(baseText,appendText,id) {
|
|
return polymod_util_Util.appendCSVOrTSV(baseText,appendText,id);
|
|
}
|
|
,merge: function(baseText,mergeText,id) {
|
|
var baseTSV = polymod_format_TSV.parse(baseText);
|
|
var mergeTSV = polymod_format_TSV.parse(mergeText);
|
|
var _g = 0;
|
|
var _g1 = mergeTSV.grid;
|
|
while(_g < _g1.length) {
|
|
var row = _g1[_g];
|
|
++_g;
|
|
var flag = row.length > 0 ? row[0] : "";
|
|
if(flag != "") {
|
|
var _g2 = 0;
|
|
var _g3 = baseTSV.grid.length;
|
|
while(_g2 < _g3) {
|
|
var i = _g2++;
|
|
var otherRow = baseTSV.grid[i];
|
|
var otherFlag = otherRow[0];
|
|
if(flag == otherFlag) {
|
|
var _g4 = 0;
|
|
var _g5 = row.length;
|
|
while(_g4 < _g5) {
|
|
var j = _g4++;
|
|
if(j < otherRow.length) {
|
|
otherRow[j] = row[j];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
var result = this.print(baseTSV);
|
|
return result;
|
|
}
|
|
,print: function(tsv) {
|
|
var buf_b = "";
|
|
var tab = 9;
|
|
var lf = 10;
|
|
var _g = 0;
|
|
var _g1 = tsv.fields.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
buf_b += Std.string(tsv.fields[i]);
|
|
if(i != tsv.fields.length - 1) {
|
|
buf_b += String.fromCodePoint(tab);
|
|
}
|
|
}
|
|
var strSoFar = buf_b;
|
|
if(strSoFar.indexOf("\n") == -1) {
|
|
buf_b += "\r\n";
|
|
}
|
|
var grid = tsv.grid;
|
|
var _g = 0;
|
|
var _g1 = grid.length;
|
|
while(_g < _g1) {
|
|
var iy = _g++;
|
|
var row = grid[iy];
|
|
var _g2 = 0;
|
|
var _g3 = row.length;
|
|
while(_g2 < _g3) {
|
|
var ix = _g2++;
|
|
var cell = row[ix];
|
|
haxe_Utf8.iter(cell,function(char) {
|
|
buf_b += String.fromCodePoint(char);
|
|
});
|
|
if(ix != row.length - 1) {
|
|
buf_b += String.fromCodePoint(tab);
|
|
}
|
|
}
|
|
if(iy != grid.length - 1) {
|
|
buf_b += "\r\n";
|
|
}
|
|
}
|
|
return buf_b;
|
|
}
|
|
,__class__: polymod_format_TSVParseFormat
|
|
};
|
|
var polymod_format_LinesParseFormat = function(endline) {
|
|
this.format = polymod_format_TextFileFormat.LINES;
|
|
this.endline = endline;
|
|
};
|
|
$hxClasses["polymod.format.LinesParseFormat"] = polymod_format_LinesParseFormat;
|
|
polymod_format_LinesParseFormat.__name__ = "polymod.format.LinesParseFormat";
|
|
polymod_format_LinesParseFormat.__interfaces__ = [polymod_format_BaseParseFormat];
|
|
polymod_format_LinesParseFormat.prototype = {
|
|
format: null
|
|
,endline: null
|
|
,parse: function(str) {
|
|
if(str == null || str == "") {
|
|
return [];
|
|
}
|
|
var other = "";
|
|
var endl = "";
|
|
switch(this.endline._hx_index) {
|
|
case 0:
|
|
endl = "\n";
|
|
break;
|
|
case 1:
|
|
endl = "\r";
|
|
break;
|
|
case 2:
|
|
endl = "\r\n";
|
|
break;
|
|
default:
|
|
endl = "\r";
|
|
other = "\n";
|
|
}
|
|
if(other == "") {
|
|
return str.split(endl);
|
|
} else {
|
|
str = StringTools.replace(str,other,endl);
|
|
return str.split(endl);
|
|
}
|
|
}
|
|
,append: function(baseText,appendText,id) {
|
|
return polymod_util_Util.uCombine([baseText,this.getEndl(),appendText]);
|
|
}
|
|
,merge: function(baseText,mergeText,id) {
|
|
if(baseText == null || mergeText == "") {
|
|
return baseText;
|
|
}
|
|
if(baseText == null || mergeText == "") {
|
|
return baseText;
|
|
}
|
|
var lines = this.parse(baseText);
|
|
if(lines == null || lines.length <= 0) {
|
|
return baseText;
|
|
}
|
|
var mergeLines = this.parse(mergeText);
|
|
if(mergeLines == null || mergeLines.length <= 1) {
|
|
return baseText;
|
|
}
|
|
var pattern = mergeLines.shift();
|
|
var newLines = [];
|
|
var _g = 0;
|
|
while(_g < lines.length) {
|
|
var line = lines[_g];
|
|
++_g;
|
|
if(line.indexOf(pattern) == 0) {
|
|
newLines = newLines.concat(mergeLines);
|
|
} else {
|
|
newLines.push(line);
|
|
}
|
|
}
|
|
return polymod_util_Util.uJoin(newLines,this.getEndl());
|
|
}
|
|
,print: function(lines) {
|
|
return lines.join(this.getEndl());
|
|
}
|
|
,getEndl: function() {
|
|
switch(this.endline._hx_index) {
|
|
case 0:
|
|
return "\n";
|
|
case 1:
|
|
return "\r";
|
|
case 2:
|
|
return "\r\n";
|
|
default:
|
|
return "\n";
|
|
}
|
|
}
|
|
,__class__: polymod_format_LinesParseFormat
|
|
};
|
|
var polymod_format_XMLParseFormat = function(prettyPrint,headers,footers) {
|
|
if(prettyPrint == null) {
|
|
prettyPrint = false;
|
|
}
|
|
this.prettyPrint = false;
|
|
if(headers == null) {
|
|
headers = [];
|
|
}
|
|
if(footers == null) {
|
|
footers = [];
|
|
}
|
|
this.stripHeaders = headers;
|
|
this.stripFooters = footers;
|
|
this.prettyPrint = prettyPrint;
|
|
this.format = polymod_format_TextFileFormat.XML;
|
|
};
|
|
$hxClasses["polymod.format.XMLParseFormat"] = polymod_format_XMLParseFormat;
|
|
polymod_format_XMLParseFormat.__name__ = "polymod.format.XMLParseFormat";
|
|
polymod_format_XMLParseFormat.__interfaces__ = [polymod_format_BaseParseFormat];
|
|
polymod_format_XMLParseFormat.prototype = {
|
|
format: null
|
|
,prettyPrint: null
|
|
,stripHeaders: null
|
|
,stripFooters: null
|
|
,parse: function(str) {
|
|
return Xml.parse(str);
|
|
}
|
|
,append: function(baseText,appendText,id) {
|
|
if(this.stripHeaders != null && this.stripFooters != null) {
|
|
return polymod_util_Util.appendSpecialXML(baseText,appendText,this.stripHeaders,this.stripFooters);
|
|
} else {
|
|
return polymod_util_Util.appendXML(baseText,appendText);
|
|
}
|
|
}
|
|
,merge: function(baseText,mergeText,id) {
|
|
var basex = null;
|
|
var mergex = null;
|
|
try {
|
|
basex = Xml.parse(baseText);
|
|
mergex = Xml.parse(mergeText);
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
var msg = haxe_Exception.caught(_g).unwrap();
|
|
throw haxe_Exception.thrown("Error parsing XML files during merge (" + id + ") " + Std.string(msg));
|
|
}
|
|
try {
|
|
polymod_format_XMLMerge.mergeXMLNodes(basex,mergex);
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
var msg = haxe_Exception.caught(_g).unwrap();
|
|
throw haxe_Exception.thrown("Error combining XML files during merge (" + id + ") " + Std.string(msg));
|
|
}
|
|
return this.print(basex);
|
|
}
|
|
,print: function(xml) {
|
|
return haxe_xml_Printer.print(xml,this.prettyPrint);
|
|
}
|
|
,__class__: polymod_format_XMLParseFormat
|
|
};
|
|
var polymod_format_JSONParseFormat = function(space,replacer) {
|
|
this.replacer = replacer;
|
|
this.space = space;
|
|
this.format = polymod_format_TextFileFormat.JSON;
|
|
};
|
|
$hxClasses["polymod.format.JSONParseFormat"] = polymod_format_JSONParseFormat;
|
|
polymod_format_JSONParseFormat.__name__ = "polymod.format.JSONParseFormat";
|
|
polymod_format_JSONParseFormat.__interfaces__ = [polymod_format_BaseParseFormat];
|
|
polymod_format_JSONParseFormat.prototype = {
|
|
format: null
|
|
,space: null
|
|
,replacer: null
|
|
,parse: function(str) {
|
|
return JSON.parse(str);
|
|
}
|
|
,append: function(baseText,appendText,id) {
|
|
var lastBracket = polymod_util_Util.uLastIndexOf(baseText,"}");
|
|
var baseFirst = polymod_util_Util.uSubstr(baseText,0,lastBracket);
|
|
var baseEnd = polymod_util_Util.uSubstr(baseText,lastBracket,baseText.length);
|
|
var firstAppendBracket = polymod_util_Util.uIndexOf(appendText,"{");
|
|
var lastAppendBracket = polymod_util_Util.uLastIndexOf(appendText,"}");
|
|
var injectText = polymod_util_Util.uSubstring(appendText,firstAppendBracket + 1,lastAppendBracket);
|
|
if(injectText == null || injectText == "") {
|
|
return baseText;
|
|
}
|
|
baseFirst = polymod_util_Util.uTrimFinalEndlines(baseFirst);
|
|
injectText = polymod_util_Util.uTrimFinalEndlines(injectText);
|
|
injectText = polymod_util_Util.uTrimFirstEndlines(injectText);
|
|
baseEnd = polymod_util_Util.uTrimFinalEndlines(baseEnd);
|
|
var comma = ",";
|
|
return baseFirst + comma + "\n" + injectText + baseEnd;
|
|
}
|
|
,merge: function(baseText,mergeText,id) {
|
|
var base = null;
|
|
var merge = null;
|
|
try {
|
|
base = this.parse(baseText);
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
var msg = haxe_Exception.caught(_g).unwrap();
|
|
polymod_Polymod.error("merge_error","JSON merge error (" + id + "): couldn't parse base text! : " + Std.string(msg));
|
|
}
|
|
try {
|
|
merge = this.parse(mergeText);
|
|
} catch( _g ) {
|
|
haxe_NativeStackTrace.lastError = _g;
|
|
var msg = haxe_Exception.caught(_g).unwrap();
|
|
polymod_Polymod.error("merge_error","JSON merge error (" + id + "): couldn't parse merge text! : " + Std.string(msg));
|
|
return baseText;
|
|
}
|
|
if(Object.prototype.hasOwnProperty.call(merge,"merge")) {
|
|
if(((merge.merge) instanceof Array)) {
|
|
var merge1 = merge.merge;
|
|
var _g = 0;
|
|
while(_g < merge1.length) {
|
|
var entry = merge1[_g];
|
|
++_g;
|
|
var target = null;
|
|
var payload = null;
|
|
target = entry.target;
|
|
payload = entry.payload;
|
|
base = this._mergeJson(base,entry,id);
|
|
}
|
|
} else {
|
|
polymod_Polymod.error("merge_error","JSON merge error (" + id + "): merge file must contain a single top-level array named \"merge\"! (Found an object, not an array)");
|
|
}
|
|
} else {
|
|
polymod_Polymod.error("merge_error","JSON merge error (" + id + "): merge file must contain a single top-level array named \"merge\"!");
|
|
}
|
|
return this.print(base);
|
|
}
|
|
,_mergeJson: function(base,entry,id) {
|
|
var sig = this._getTargetSignature(entry.target);
|
|
var obj = base;
|
|
var currTarget = sig[0];
|
|
if(currTarget == null) {
|
|
polymod_Polymod.warning("merge_error","JSON merge failed (" + id + "), sig was " + Std.string(sig));
|
|
return obj;
|
|
}
|
|
var done = false;
|
|
var last = obj;
|
|
var i = 0;
|
|
var signatureSoFar = "";
|
|
var struct = { next : null, parent : null, arrIndex : -1, target : null};
|
|
var next = null;
|
|
while(!done) {
|
|
struct = this._descend(last,currTarget,signatureSoFar,struct);
|
|
if(struct == null) {
|
|
next = null;
|
|
} else {
|
|
next = struct.next;
|
|
}
|
|
if(signatureSoFar != "") {
|
|
signatureSoFar += ".";
|
|
}
|
|
signatureSoFar += this._targSigElementToString(currTarget);
|
|
++i;
|
|
if(next == null) {
|
|
polymod_Polymod.warning("merge_error","JSON merge failed (" + id + "), could not find object \"" + signatureSoFar + "\")");
|
|
done = true;
|
|
} else if(i < sig.length) {
|
|
currTarget = sig[i];
|
|
} else {
|
|
this._inject(struct.parent,struct.target,struct.arrIndex,entry.payload,signatureSoFar);
|
|
done = true;
|
|
}
|
|
last = next;
|
|
}
|
|
return obj;
|
|
}
|
|
,_targSigElementToString: function(target) {
|
|
var str = target.value;
|
|
if(target.arrayIndeces != null && target.arrayIndeces.length > 0) {
|
|
var _g = 0;
|
|
var _g1 = target.arrayIndeces;
|
|
while(_g < _g1.length) {
|
|
var arri = _g1[_g];
|
|
++_g;
|
|
if(arri >= 0) {
|
|
str += "[" + arri + "]";
|
|
}
|
|
}
|
|
}
|
|
return str;
|
|
}
|
|
,_inject: function(obj,target,arrIndex,payload,signatureSoFar) {
|
|
if(signatureSoFar == null) {
|
|
signatureSoFar = "";
|
|
}
|
|
if(arrIndex == -1) {
|
|
if(Object.prototype.hasOwnProperty.call(obj,target)) {
|
|
var baseObject = Reflect.field(obj,target);
|
|
var mergedValue = this._mergeObjects(baseObject,payload,signatureSoFar);
|
|
obj[target] = mergedValue;
|
|
} else {
|
|
obj[target] = payload;
|
|
}
|
|
} else if(((obj) instanceof Array)) {
|
|
var arr = obj;
|
|
if(arr.length > arrIndex) {
|
|
var baseObject = arr[arrIndex];
|
|
var mergedValue = this._mergeObjects(baseObject,payload,signatureSoFar);
|
|
} else {
|
|
polymod_Polymod.warning("merge_error","JSON merge failed, array index (" + arrIndex + ") out of bounds for array of length (" + arr.length + ") at " + signatureSoFar);
|
|
}
|
|
}
|
|
}
|
|
,_mergeObjects: function(a,b,signatureSoFar) {
|
|
if(signatureSoFar == null) {
|
|
signatureSoFar = "";
|
|
}
|
|
if(((a) instanceof Array) && ((b) instanceof Array)) {
|
|
return b;
|
|
} else if(!((a) instanceof Array) && !((b) instanceof Array)) {
|
|
var _g = 0;
|
|
var _g1 = Reflect.fields(b);
|
|
while(_g < _g1.length) {
|
|
var field = _g1[_g];
|
|
++_g;
|
|
if(Object.prototype.hasOwnProperty.call(a,field)) {
|
|
var aValue = Reflect.field(a,field);
|
|
var bValue = Reflect.field(b,field);
|
|
if(((aValue) instanceof Array) && ((bValue) instanceof Array)) {
|
|
a[field] = bValue;
|
|
} else if(!((aValue) instanceof Array) && !((bValue) instanceof Array)) {
|
|
var aPrimitive = this.isPrimitive(a);
|
|
var bPrimitive = this.isPrimitive(b);
|
|
if(aPrimitive && bPrimitive) {
|
|
return bValue;
|
|
} else if(aPrimitive != bPrimitive) {
|
|
return aValue;
|
|
}
|
|
var mergedValue = this.copyVal(this._mergeObjects(aValue,bValue,signatureSoFar + "." + field));
|
|
a[field] = mergedValue;
|
|
return a;
|
|
} else {
|
|
var aArr = ((aValue) instanceof Array) ? "array" : "object";
|
|
var bArr = ((bValue) instanceof Array) ? "array" : "object";
|
|
polymod_Polymod.warning("merge_error","Can't merge field (" + field + ") @ (" + signatureSoFar + ") because base is (" + aArr + ") but payload is (" + bArr + ")");
|
|
}
|
|
} else {
|
|
a[field] = Reflect.field(b,field);
|
|
}
|
|
}
|
|
} else {
|
|
var aArr = ((a) instanceof Array) ? "array" : "object";
|
|
var bArr = ((b) instanceof Array) ? "array" : "object";
|
|
polymod_Polymod.warning("merge_error","JSON can't merge @ (" + signatureSoFar + ") because base is (" + aArr + ") but payload is (" + bArr + ")");
|
|
}
|
|
return a;
|
|
}
|
|
,copyVal: function(a) {
|
|
var b = null;
|
|
if(typeof(a) == "number" && ((a | 0) === a)) {
|
|
b = a | 0;
|
|
}
|
|
if(typeof(a) == "number") {
|
|
b = js_Boot.__cast(a , Float);
|
|
}
|
|
if(typeof(a) == "string") {
|
|
b = Std.string(b);
|
|
}
|
|
if(typeof(a) == "boolean") {
|
|
b = a == true;
|
|
} else {
|
|
b = Std.string(a);
|
|
}
|
|
return b;
|
|
}
|
|
,isPrimitive: function(a) {
|
|
if(typeof(a) == "string") {
|
|
return true;
|
|
}
|
|
if(typeof(a) == "number") {
|
|
return true;
|
|
}
|
|
if(typeof(a) == "number" && ((a | 0) === a)) {
|
|
return true;
|
|
}
|
|
if(typeof(a) == "boolean") {
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
,_descend: function(obj,target,signatureSoFar,struct) {
|
|
if(signatureSoFar == null) {
|
|
signatureSoFar = "";
|
|
}
|
|
if(struct == null) {
|
|
struct = { next : null, parent : null, arrIndex : -1, target : null};
|
|
}
|
|
if(obj == null) {
|
|
return null;
|
|
}
|
|
if(target == null) {
|
|
return null;
|
|
}
|
|
if(Object.prototype.hasOwnProperty.call(obj,target.value) == false) {
|
|
polymod_Polymod.warning("merge_error","JSON merge error : object (" + signatureSoFar + ") has no field (" + target.value + ")");
|
|
return null;
|
|
}
|
|
var next = Reflect.field(obj,target.value);
|
|
struct.next = next;
|
|
struct.parent = obj;
|
|
struct.target = target.value;
|
|
if(next == null) {
|
|
return struct;
|
|
}
|
|
if(target.arrayIndeces.length > 0) {
|
|
struct.next = next;
|
|
if(((next) instanceof Array)) {
|
|
var arr = next;
|
|
var arrIndeces = target.arrayIndeces.slice();
|
|
var done = false;
|
|
signatureSoFar += "." + target.value;
|
|
while(arrIndeces.length > 0) {
|
|
var arrIndex = arrIndeces.shift();
|
|
if(arrIndex < arr.length) {
|
|
struct.parent = next;
|
|
next = arr[arrIndex];
|
|
struct.next = next;
|
|
struct.arrIndex = arrIndex;
|
|
if(((next) instanceof Array)) {
|
|
arr = next;
|
|
} else {
|
|
polymod_Polymod.warning("merge_error","JSON merge error : invalid array access [" + arrIndex + "] on target \"" + signatureSoFar + "\"");
|
|
done = true;
|
|
}
|
|
} else {
|
|
polymod_Polymod.warning("merge_error","JSON merge error : array index (" + arrIndex + ") out of bounds on target \"" + signatureSoFar + "\" with length " + arr.length);
|
|
done = true;
|
|
}
|
|
signatureSoFar += "[" + arrIndex + "]";
|
|
}
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
return struct;
|
|
}
|
|
,_getTargetSignature: function(str) {
|
|
if(str == null) {
|
|
return [];
|
|
}
|
|
var result = [];
|
|
var arr = str.split(".");
|
|
var _g = 0;
|
|
while(_g < arr.length) {
|
|
var bit = arr[_g];
|
|
++_g;
|
|
if(bit.indexOf("[") != -1) {
|
|
var arr2 = bit.split("[");
|
|
var value = arr2.shift();
|
|
var arrayIndeces = [];
|
|
while(arr2.length > 0) {
|
|
var value2 = arr2.shift();
|
|
value2 = polymod_util_Util.uTrimFinalCharIf(value2,"]");
|
|
var arrIndex = Std.parseInt(value2);
|
|
if(arrIndex != null && arrIndex >= 0) {
|
|
arrayIndeces.push(arrIndex);
|
|
} else {
|
|
polymod_Polymod.warning("merge_error","JSON merge error: found invalid array index (" + value2 + ") in signature (" + str + ")");
|
|
break;
|
|
}
|
|
}
|
|
result.push({ value : value, arrayIndeces : arrayIndeces});
|
|
} else {
|
|
result.push({ value : bit, arrayIndeces : []});
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
,print: function(data) {
|
|
return JSON.stringify(data,this.replacer,this.space);
|
|
}
|
|
,__class__: polymod_format_JSONParseFormat
|
|
};
|
|
var polymod_format_PlainTextParseFormat = function() {
|
|
this.format = polymod_format_TextFileFormat.PLAINTEXT;
|
|
};
|
|
$hxClasses["polymod.format.PlainTextParseFormat"] = polymod_format_PlainTextParseFormat;
|
|
polymod_format_PlainTextParseFormat.__name__ = "polymod.format.PlainTextParseFormat";
|
|
polymod_format_PlainTextParseFormat.__interfaces__ = [polymod_format_BaseParseFormat];
|
|
polymod_format_PlainTextParseFormat.prototype = {
|
|
format: null
|
|
,parse: function(str) {
|
|
return str;
|
|
}
|
|
,append: function(baseText,appendText,id) {
|
|
var lastChar = polymod_util_Util.uCharAt(baseText,polymod_util_Util.uLength(baseText) - 1);
|
|
var lastLastChar = polymod_util_Util.uCharAt(baseText,polymod_util_Util.uLength(baseText) - 1);
|
|
var joiner = "";
|
|
var endLine = "\n";
|
|
var crIndex = polymod_util_Util.uIndexOf(baseText,"\r");
|
|
var lfIndex = polymod_util_Util.uIndexOf(baseText,"\n");
|
|
if(crIndex != -1) {
|
|
if(lfIndex == crIndex + 1) {
|
|
endLine = "\r\n";
|
|
}
|
|
}
|
|
if(lastChar != "\n") {
|
|
joiner = endLine;
|
|
}
|
|
return polymod_util_Util.uCombine([baseText,joiner,appendText]);
|
|
}
|
|
,merge: function(baseText,mergeText,id) {
|
|
polymod_Polymod.warning("merge_error","(" + id + ") Plain text does not support merging!");
|
|
return baseText;
|
|
}
|
|
,print: function(str) {
|
|
return str;
|
|
}
|
|
,__class__: polymod_format_PlainTextParseFormat
|
|
};
|
|
var polymod_format_TextFileFormat = $hxEnums["polymod.format.TextFileFormat"] = { __ename__ : "polymod.format.TextFileFormat", __constructs__ : ["PLAINTEXT","LINES","CSV","TSV","XML","JSON"]
|
|
,PLAINTEXT: {_hx_index:0,__enum__:"polymod.format.TextFileFormat",toString:$estr}
|
|
,LINES: {_hx_index:1,__enum__:"polymod.format.TextFileFormat",toString:$estr}
|
|
,CSV: {_hx_index:2,__enum__:"polymod.format.TextFileFormat",toString:$estr}
|
|
,TSV: {_hx_index:3,__enum__:"polymod.format.TextFileFormat",toString:$estr}
|
|
,XML: {_hx_index:4,__enum__:"polymod.format.TextFileFormat",toString:$estr}
|
|
,JSON: {_hx_index:5,__enum__:"polymod.format.TextFileFormat",toString:$estr}
|
|
};
|
|
var polymod_format_EndLineType = $hxEnums["polymod.format.EndLineType"] = { __ename__ : "polymod.format.EndLineType", __constructs__ : ["LF","CR","CRLF","ANY"]
|
|
,LF: {_hx_index:0,__enum__:"polymod.format.EndLineType",toString:$estr}
|
|
,CR: {_hx_index:1,__enum__:"polymod.format.EndLineType",toString:$estr}
|
|
,CRLF: {_hx_index:2,__enum__:"polymod.format.EndLineType",toString:$estr}
|
|
,ANY: {_hx_index:3,__enum__:"polymod.format.EndLineType",toString:$estr}
|
|
};
|
|
var polymod_format_TSV = function() {
|
|
polymod_format_CSV.call(this);
|
|
};
|
|
$hxClasses["polymod.format.TSV"] = polymod_format_TSV;
|
|
polymod_format_TSV.__name__ = "polymod.format.TSV";
|
|
polymod_format_TSV.parse = function(input) {
|
|
var endline = "\n";
|
|
if(input.indexOf("\r\n") != -1) {
|
|
endline = "\r\n";
|
|
}
|
|
var lines = input.split(endline);
|
|
var fieldLine = lines.shift();
|
|
var fields = fieldLine.split("\t");
|
|
var grid = [];
|
|
var _g = 0;
|
|
while(_g < lines.length) {
|
|
var line = lines[_g];
|
|
++_g;
|
|
while(line.charAt(line.length - 1) == "\t") line = HxOverrides.substr(line,0,line.length - 1);
|
|
var cells = line.split("\t");
|
|
grid.push(cells);
|
|
}
|
|
var tsv = new polymod_format_TSV();
|
|
tsv.fields = fields;
|
|
tsv.grid = grid;
|
|
return tsv;
|
|
};
|
|
polymod_format_TSV.__super__ = polymod_format_CSV;
|
|
polymod_format_TSV.prototype = $extend(polymod_format_CSV.prototype,{
|
|
__class__: polymod_format_TSV
|
|
});
|
|
var polymod_format_XMLMerge = function() { };
|
|
$hxClasses["polymod.format.XMLMerge"] = polymod_format_XMLMerge;
|
|
polymod_format_XMLMerge.__name__ = "polymod.format.XMLMerge";
|
|
polymod_format_XMLMerge.mergeXMLWork = function(a,b,children,attributes) {
|
|
if(attributes == null) {
|
|
attributes = true;
|
|
}
|
|
if(children == null) {
|
|
children = true;
|
|
}
|
|
if(a == null || b == null) {
|
|
return;
|
|
}
|
|
if(a.nodeType == 6) {
|
|
a = a.firstElement();
|
|
}
|
|
if(b.nodeType == 6) {
|
|
b = b.firstElement();
|
|
}
|
|
if(a.nodeType != 0 || b.nodeType != 0) {
|
|
return;
|
|
}
|
|
var tmp;
|
|
if(a.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element but found " + (a.nodeType == null ? "null" : XmlType.toString(a.nodeType)));
|
|
}
|
|
if(a.nodeName != "merge") {
|
|
if(b.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element but found " + (b.nodeType == null ? "null" : XmlType.toString(b.nodeType)));
|
|
}
|
|
tmp = b.nodeName == "merge";
|
|
} else {
|
|
tmp = true;
|
|
}
|
|
if(tmp) {
|
|
return;
|
|
}
|
|
if(children) {
|
|
var el = b.elements();
|
|
while(el.hasNext()) {
|
|
var el1 = el.next();
|
|
if(el1 == null) {
|
|
continue;
|
|
}
|
|
if(el1.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element but found " + (el1.nodeType == null ? "null" : XmlType.toString(el1.nodeType)));
|
|
}
|
|
if(el1.nodeName == "merge") {
|
|
continue;
|
|
}
|
|
if(el1.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element but found " + (el1.nodeType == null ? "null" : XmlType.toString(el1.nodeType)));
|
|
}
|
|
var aCount = polymod_format_XMLMerge.countNodes(a,el1.nodeName);
|
|
if(el1.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element but found " + (el1.nodeType == null ? "null" : XmlType.toString(el1.nodeType)));
|
|
}
|
|
var bCount = polymod_format_XMLMerge.countNodes(b,el1.nodeName);
|
|
if(aCount == 0 && bCount > 0) {
|
|
var parent = null;
|
|
var c = null;
|
|
if(el1.nodeType == Xml.Element) {
|
|
if(el1.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element but found " + (el1.nodeType == null ? "null" : XmlType.toString(el1.nodeType)));
|
|
}
|
|
c = Xml.createElement(el1.nodeName);
|
|
var att = el1.attributes();
|
|
while(att.hasNext()) {
|
|
var att1 = att.next();
|
|
c.set(att1,el1.get(att1));
|
|
}
|
|
var el2 = el1.elements();
|
|
while(el2.hasNext()) {
|
|
var el3 = el2.next();
|
|
var c1 = null;
|
|
if(el3.nodeType == Xml.Element) {
|
|
if(el3.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element but found " + (el3.nodeType == null ? "null" : XmlType.toString(el3.nodeType)));
|
|
}
|
|
c1 = Xml.createElement(el3.nodeName);
|
|
var att2 = el3.attributes();
|
|
while(att2.hasNext()) {
|
|
var att3 = att2.next();
|
|
c1.set(att3,el3.get(att3));
|
|
}
|
|
var el4 = el3.elements();
|
|
while(el4.hasNext()) {
|
|
var el5 = el4.next();
|
|
c1.addChild(polymod_util_Util.copyXml(el5,c1));
|
|
}
|
|
} else if(el3.nodeType == Xml.PCData) {
|
|
if(el3.nodeType == Xml.Document || el3.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (el3.nodeType == null ? "null" : XmlType.toString(el3.nodeType)));
|
|
}
|
|
c1 = Xml.createPCData(el3.nodeValue);
|
|
} else if(el3.nodeType == Xml.CData) {
|
|
if(el3.nodeType == Xml.Document || el3.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (el3.nodeType == null ? "null" : XmlType.toString(el3.nodeType)));
|
|
}
|
|
c1 = Xml.createCData(el3.nodeValue);
|
|
} else if(el3.nodeType == Xml.Comment) {
|
|
if(el3.nodeType == Xml.Document || el3.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (el3.nodeType == null ? "null" : XmlType.toString(el3.nodeType)));
|
|
}
|
|
c1 = Xml.createComment(el3.nodeValue);
|
|
} else if(el3.nodeType == Xml.DocType) {
|
|
if(el3.nodeType == Xml.Document || el3.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (el3.nodeType == null ? "null" : XmlType.toString(el3.nodeType)));
|
|
}
|
|
c1 = Xml.createDocType(el3.nodeValue);
|
|
} else if(el3.nodeType == Xml.ProcessingInstruction) {
|
|
if(el3.nodeType == Xml.Document || el3.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (el3.nodeType == null ? "null" : XmlType.toString(el3.nodeType)));
|
|
}
|
|
c1 = Xml.createProcessingInstruction(el3.nodeValue);
|
|
} else if(el3.nodeType == Xml.Document) {
|
|
c1 = Xml.createDocument();
|
|
var el6 = el3.elements();
|
|
while(el6.hasNext()) {
|
|
var el7 = el6.next();
|
|
c1.addChild(polymod_util_Util.copyXml(el7,c1));
|
|
}
|
|
}
|
|
c1.parent = c;
|
|
c.addChild(c1);
|
|
}
|
|
} else if(el1.nodeType == Xml.PCData) {
|
|
if(el1.nodeType == Xml.Document || el1.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (el1.nodeType == null ? "null" : XmlType.toString(el1.nodeType)));
|
|
}
|
|
c = Xml.createPCData(el1.nodeValue);
|
|
} else if(el1.nodeType == Xml.CData) {
|
|
if(el1.nodeType == Xml.Document || el1.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (el1.nodeType == null ? "null" : XmlType.toString(el1.nodeType)));
|
|
}
|
|
c = Xml.createCData(el1.nodeValue);
|
|
} else if(el1.nodeType == Xml.Comment) {
|
|
if(el1.nodeType == Xml.Document || el1.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (el1.nodeType == null ? "null" : XmlType.toString(el1.nodeType)));
|
|
}
|
|
c = Xml.createComment(el1.nodeValue);
|
|
} else if(el1.nodeType == Xml.DocType) {
|
|
if(el1.nodeType == Xml.Document || el1.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (el1.nodeType == null ? "null" : XmlType.toString(el1.nodeType)));
|
|
}
|
|
c = Xml.createDocType(el1.nodeValue);
|
|
} else if(el1.nodeType == Xml.ProcessingInstruction) {
|
|
if(el1.nodeType == Xml.Document || el1.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (el1.nodeType == null ? "null" : XmlType.toString(el1.nodeType)));
|
|
}
|
|
c = Xml.createProcessingInstruction(el1.nodeValue);
|
|
} else if(el1.nodeType == Xml.Document) {
|
|
c = Xml.createDocument();
|
|
var el8 = el1.elements();
|
|
while(el8.hasNext()) {
|
|
var el9 = el8.next();
|
|
var c2 = null;
|
|
if(el9.nodeType == Xml.Element) {
|
|
if(el9.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element but found " + (el9.nodeType == null ? "null" : XmlType.toString(el9.nodeType)));
|
|
}
|
|
c2 = Xml.createElement(el9.nodeName);
|
|
var att4 = el9.attributes();
|
|
while(att4.hasNext()) {
|
|
var att5 = att4.next();
|
|
c2.set(att5,el9.get(att5));
|
|
}
|
|
var el10 = el9.elements();
|
|
while(el10.hasNext()) {
|
|
var el11 = el10.next();
|
|
c2.addChild(polymod_util_Util.copyXml(el11,c2));
|
|
}
|
|
} else if(el9.nodeType == Xml.PCData) {
|
|
if(el9.nodeType == Xml.Document || el9.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (el9.nodeType == null ? "null" : XmlType.toString(el9.nodeType)));
|
|
}
|
|
c2 = Xml.createPCData(el9.nodeValue);
|
|
} else if(el9.nodeType == Xml.CData) {
|
|
if(el9.nodeType == Xml.Document || el9.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (el9.nodeType == null ? "null" : XmlType.toString(el9.nodeType)));
|
|
}
|
|
c2 = Xml.createCData(el9.nodeValue);
|
|
} else if(el9.nodeType == Xml.Comment) {
|
|
if(el9.nodeType == Xml.Document || el9.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (el9.nodeType == null ? "null" : XmlType.toString(el9.nodeType)));
|
|
}
|
|
c2 = Xml.createComment(el9.nodeValue);
|
|
} else if(el9.nodeType == Xml.DocType) {
|
|
if(el9.nodeType == Xml.Document || el9.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (el9.nodeType == null ? "null" : XmlType.toString(el9.nodeType)));
|
|
}
|
|
c2 = Xml.createDocType(el9.nodeValue);
|
|
} else if(el9.nodeType == Xml.ProcessingInstruction) {
|
|
if(el9.nodeType == Xml.Document || el9.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (el9.nodeType == null ? "null" : XmlType.toString(el9.nodeType)));
|
|
}
|
|
c2 = Xml.createProcessingInstruction(el9.nodeValue);
|
|
} else if(el9.nodeType == Xml.Document) {
|
|
c2 = Xml.createDocument();
|
|
var el12 = el9.elements();
|
|
while(el12.hasNext()) {
|
|
var el13 = el12.next();
|
|
c2.addChild(polymod_util_Util.copyXml(el13,c2));
|
|
}
|
|
}
|
|
c2.parent = c;
|
|
c.addChild(c2);
|
|
}
|
|
}
|
|
c.parent = parent;
|
|
a.addChild(c);
|
|
} else {
|
|
var tmp;
|
|
if(el1.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element but found " + (el1.nodeType == null ? "null" : XmlType.toString(el1.nodeType)));
|
|
}
|
|
if(polymod_format_XMLMerge.countNodes(a,el1.nodeName) == 1) {
|
|
if(el1.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element but found " + (el1.nodeType == null ? "null" : XmlType.toString(el1.nodeType)));
|
|
}
|
|
tmp = polymod_format_XMLMerge.countNodes(b,el1.nodeName) == 1;
|
|
} else {
|
|
tmp = false;
|
|
}
|
|
if(tmp) {
|
|
if(el1.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element but found " + (el1.nodeType == null ? "null" : XmlType.toString(el1.nodeType)));
|
|
}
|
|
polymod_format_XMLMerge.mergeXMLWork(a.elementsNamed(el1.nodeName).next(),el1);
|
|
} else {
|
|
var parent1 = null;
|
|
var c3 = null;
|
|
if(el1.nodeType == Xml.Element) {
|
|
if(el1.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element but found " + (el1.nodeType == null ? "null" : XmlType.toString(el1.nodeType)));
|
|
}
|
|
c3 = Xml.createElement(el1.nodeName);
|
|
var att6 = el1.attributes();
|
|
while(att6.hasNext()) {
|
|
var att7 = att6.next();
|
|
c3.set(att7,el1.get(att7));
|
|
}
|
|
var el14 = el1.elements();
|
|
while(el14.hasNext()) {
|
|
var el15 = el14.next();
|
|
var c4 = null;
|
|
if(el15.nodeType == Xml.Element) {
|
|
if(el15.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element but found " + (el15.nodeType == null ? "null" : XmlType.toString(el15.nodeType)));
|
|
}
|
|
c4 = Xml.createElement(el15.nodeName);
|
|
var att8 = el15.attributes();
|
|
while(att8.hasNext()) {
|
|
var att9 = att8.next();
|
|
c4.set(att9,el15.get(att9));
|
|
}
|
|
var el16 = el15.elements();
|
|
while(el16.hasNext()) {
|
|
var el17 = el16.next();
|
|
c4.addChild(polymod_util_Util.copyXml(el17,c4));
|
|
}
|
|
} else if(el15.nodeType == Xml.PCData) {
|
|
if(el15.nodeType == Xml.Document || el15.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (el15.nodeType == null ? "null" : XmlType.toString(el15.nodeType)));
|
|
}
|
|
c4 = Xml.createPCData(el15.nodeValue);
|
|
} else if(el15.nodeType == Xml.CData) {
|
|
if(el15.nodeType == Xml.Document || el15.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (el15.nodeType == null ? "null" : XmlType.toString(el15.nodeType)));
|
|
}
|
|
c4 = Xml.createCData(el15.nodeValue);
|
|
} else if(el15.nodeType == Xml.Comment) {
|
|
if(el15.nodeType == Xml.Document || el15.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (el15.nodeType == null ? "null" : XmlType.toString(el15.nodeType)));
|
|
}
|
|
c4 = Xml.createComment(el15.nodeValue);
|
|
} else if(el15.nodeType == Xml.DocType) {
|
|
if(el15.nodeType == Xml.Document || el15.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (el15.nodeType == null ? "null" : XmlType.toString(el15.nodeType)));
|
|
}
|
|
c4 = Xml.createDocType(el15.nodeValue);
|
|
} else if(el15.nodeType == Xml.ProcessingInstruction) {
|
|
if(el15.nodeType == Xml.Document || el15.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (el15.nodeType == null ? "null" : XmlType.toString(el15.nodeType)));
|
|
}
|
|
c4 = Xml.createProcessingInstruction(el15.nodeValue);
|
|
} else if(el15.nodeType == Xml.Document) {
|
|
c4 = Xml.createDocument();
|
|
var el18 = el15.elements();
|
|
while(el18.hasNext()) {
|
|
var el19 = el18.next();
|
|
c4.addChild(polymod_util_Util.copyXml(el19,c4));
|
|
}
|
|
}
|
|
c4.parent = c3;
|
|
c3.addChild(c4);
|
|
}
|
|
} else if(el1.nodeType == Xml.PCData) {
|
|
if(el1.nodeType == Xml.Document || el1.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (el1.nodeType == null ? "null" : XmlType.toString(el1.nodeType)));
|
|
}
|
|
c3 = Xml.createPCData(el1.nodeValue);
|
|
} else if(el1.nodeType == Xml.CData) {
|
|
if(el1.nodeType == Xml.Document || el1.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (el1.nodeType == null ? "null" : XmlType.toString(el1.nodeType)));
|
|
}
|
|
c3 = Xml.createCData(el1.nodeValue);
|
|
} else if(el1.nodeType == Xml.Comment) {
|
|
if(el1.nodeType == Xml.Document || el1.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (el1.nodeType == null ? "null" : XmlType.toString(el1.nodeType)));
|
|
}
|
|
c3 = Xml.createComment(el1.nodeValue);
|
|
} else if(el1.nodeType == Xml.DocType) {
|
|
if(el1.nodeType == Xml.Document || el1.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (el1.nodeType == null ? "null" : XmlType.toString(el1.nodeType)));
|
|
}
|
|
c3 = Xml.createDocType(el1.nodeValue);
|
|
} else if(el1.nodeType == Xml.ProcessingInstruction) {
|
|
if(el1.nodeType == Xml.Document || el1.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (el1.nodeType == null ? "null" : XmlType.toString(el1.nodeType)));
|
|
}
|
|
c3 = Xml.createProcessingInstruction(el1.nodeValue);
|
|
} else if(el1.nodeType == Xml.Document) {
|
|
c3 = Xml.createDocument();
|
|
var el20 = el1.elements();
|
|
while(el20.hasNext()) {
|
|
var el21 = el20.next();
|
|
var c5 = null;
|
|
if(el21.nodeType == Xml.Element) {
|
|
if(el21.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element but found " + (el21.nodeType == null ? "null" : XmlType.toString(el21.nodeType)));
|
|
}
|
|
c5 = Xml.createElement(el21.nodeName);
|
|
var att10 = el21.attributes();
|
|
while(att10.hasNext()) {
|
|
var att11 = att10.next();
|
|
c5.set(att11,el21.get(att11));
|
|
}
|
|
var el22 = el21.elements();
|
|
while(el22.hasNext()) {
|
|
var el23 = el22.next();
|
|
c5.addChild(polymod_util_Util.copyXml(el23,c5));
|
|
}
|
|
} else if(el21.nodeType == Xml.PCData) {
|
|
if(el21.nodeType == Xml.Document || el21.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (el21.nodeType == null ? "null" : XmlType.toString(el21.nodeType)));
|
|
}
|
|
c5 = Xml.createPCData(el21.nodeValue);
|
|
} else if(el21.nodeType == Xml.CData) {
|
|
if(el21.nodeType == Xml.Document || el21.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (el21.nodeType == null ? "null" : XmlType.toString(el21.nodeType)));
|
|
}
|
|
c5 = Xml.createCData(el21.nodeValue);
|
|
} else if(el21.nodeType == Xml.Comment) {
|
|
if(el21.nodeType == Xml.Document || el21.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (el21.nodeType == null ? "null" : XmlType.toString(el21.nodeType)));
|
|
}
|
|
c5 = Xml.createComment(el21.nodeValue);
|
|
} else if(el21.nodeType == Xml.DocType) {
|
|
if(el21.nodeType == Xml.Document || el21.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (el21.nodeType == null ? "null" : XmlType.toString(el21.nodeType)));
|
|
}
|
|
c5 = Xml.createDocType(el21.nodeValue);
|
|
} else if(el21.nodeType == Xml.ProcessingInstruction) {
|
|
if(el21.nodeType == Xml.Document || el21.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (el21.nodeType == null ? "null" : XmlType.toString(el21.nodeType)));
|
|
}
|
|
c5 = Xml.createProcessingInstruction(el21.nodeValue);
|
|
} else if(el21.nodeType == Xml.Document) {
|
|
c5 = Xml.createDocument();
|
|
var el24 = el21.elements();
|
|
while(el24.hasNext()) {
|
|
var el25 = el24.next();
|
|
c5.addChild(polymod_util_Util.copyXml(el25,c5));
|
|
}
|
|
}
|
|
c5.parent = c3;
|
|
c3.addChild(c5);
|
|
}
|
|
}
|
|
c3.parent = parent1;
|
|
a.addChild(c3);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if(attributes) {
|
|
var att = b.attributes();
|
|
while(att.hasNext()) {
|
|
var att1 = att.next();
|
|
a.set(att1,b.get(att1));
|
|
}
|
|
}
|
|
};
|
|
polymod_format_XMLMerge.countNodes = function(xml,nodeName) {
|
|
var i = 0;
|
|
var el = xml.elementsNamed(nodeName);
|
|
while(el.hasNext()) {
|
|
var el1 = el.next();
|
|
++i;
|
|
}
|
|
return i;
|
|
};
|
|
polymod_format_XMLMerge.mergeXML = function(a,b,allSigs,mergeMap) {
|
|
var aName;
|
|
if(a.nodeType == 6) {
|
|
aName = "";
|
|
} else {
|
|
if(a.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element but found " + (a.nodeType == null ? "null" : XmlType.toString(a.nodeType)));
|
|
}
|
|
aName = a.nodeName;
|
|
}
|
|
var bName;
|
|
if(b.nodeType == 6) {
|
|
bName = "";
|
|
} else {
|
|
if(b.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element but found " + (b.nodeType == null ? "null" : XmlType.toString(b.nodeType)));
|
|
}
|
|
bName = b.nodeName;
|
|
}
|
|
if(aName != bName) {
|
|
return;
|
|
}
|
|
var aSig = polymod_format_XMLMerge.getNodeSignature(a);
|
|
var bSig = polymod_format_XMLMerge.getNodeSignature(b);
|
|
if(aSig != bSig) {
|
|
return;
|
|
}
|
|
var _g = 0;
|
|
while(_g < allSigs.length) {
|
|
var sig = allSigs[_g];
|
|
++_g;
|
|
if(sig.indexOf(aSig) == 0) {
|
|
if(sig == aSig) {
|
|
var keyValues = mergeMap.h[sig];
|
|
if(keyValues == null) {
|
|
if(sig == "" && aSig == "") {
|
|
if(a.nodeType == 6 && b.nodeType == 6) {
|
|
var a1 = a.firstElement();
|
|
var b1 = b.firstElement();
|
|
polymod_format_XMLMerge.mergeXML(a1,b1,allSigs,mergeMap);
|
|
} else {
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
if(keyValues != null && keyValues.length % 2 == 0 && keyValues.length >= 2) {
|
|
var _g1 = 0;
|
|
var _g2 = keyValues.length / 2 | 0;
|
|
while(_g1 < _g2) {
|
|
var i = _g1++;
|
|
var key = keyValues[i * 2];
|
|
var value = keyValues[i * 2 + 1];
|
|
var aValue = a.get(key);
|
|
if(aValue == value) {
|
|
var bValue = b.get(key);
|
|
polymod_format_XMLMerge.mergeXMLWork(a,b);
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
var aEl = a.elements();
|
|
while(aEl.hasNext()) {
|
|
var aEl1 = aEl.next();
|
|
var bEl = b.elements();
|
|
while(bEl.hasNext()) {
|
|
var bEl1 = bEl.next();
|
|
polymod_format_XMLMerge.mergeXML(aEl1,bEl1,allSigs,mergeMap);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
polymod_format_XMLMerge.mergeXMLNodes = function(a,b) {
|
|
if(b == null) {
|
|
return;
|
|
}
|
|
var allSigs = [""];
|
|
var bMap = polymod_format_XMLMerge.getNodeMergeMap(b,allSigs);
|
|
polymod_format_XMLMerge.mergeXML(a,b,allSigs,bMap);
|
|
};
|
|
polymod_format_XMLMerge.getNodeMergeMap = function(xml,addToArray) {
|
|
var map = new haxe_ds_StringMap();
|
|
if(xml == null) {
|
|
return map;
|
|
}
|
|
var el = xml.elements();
|
|
while(el.hasNext()) {
|
|
var el1 = el.next();
|
|
if(el1.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element but found " + (el1.nodeType == null ? "null" : XmlType.toString(el1.nodeType)));
|
|
}
|
|
if(el1.nodeName == "merge") {
|
|
continue;
|
|
}
|
|
var subMap = polymod_format_XMLMerge.getNodeMergeMap(el1,addToArray);
|
|
map = polymod_format_XMLMerge.mergeMapsDestructively(map,subMap);
|
|
var sig = polymod_format_XMLMerge.getNodeSignature(el1);
|
|
if(el1.nodeType != Xml.Document && el1.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Invalid nodeType " + (el1.nodeType == null ? "null" : XmlType.toString(el1.nodeType)));
|
|
}
|
|
var this1 = el1;
|
|
var f = this1;
|
|
if(haxe_xml__$Access_HasNodeAccess.resolve(f,"merge")) {
|
|
if(Object.prototype.hasOwnProperty.call(map.h,sig) == false) {
|
|
map.h[sig] = [];
|
|
}
|
|
var arr = map.h[sig];
|
|
var mergeKey = haxe_xml__$Access_HasAttribAccess.resolve(haxe_xml__$Access_NodeAccess.resolve(f,"merge"),"key") ? haxe_xml__$Access_AttribAccess.resolve(haxe_xml__$Access_NodeAccess.resolve(f,"merge"),"key") : "";
|
|
var mergeKeyValue = haxe_xml__$Access_NodeAccess.resolve(f,"merge").get(mergeKey);
|
|
arr.push(mergeKey);
|
|
arr.push(mergeKeyValue);
|
|
if(addToArray.indexOf(sig) == -1) {
|
|
addToArray.push(sig);
|
|
}
|
|
}
|
|
}
|
|
return map;
|
|
};
|
|
polymod_format_XMLMerge.getNodeSignature = function(xml) {
|
|
var arr = [];
|
|
var parent = xml;
|
|
while(parent != null && parent.nodeType == 0) {
|
|
if(parent.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element but found " + (parent.nodeType == null ? "null" : XmlType.toString(parent.nodeType)));
|
|
}
|
|
arr.push(parent.nodeName);
|
|
if(parent.nodeType == 0) {
|
|
parent = parent.parent;
|
|
} else {
|
|
parent = null;
|
|
}
|
|
}
|
|
var str = "";
|
|
var _g = 0;
|
|
var _g1 = arr.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var j = arr.length - 1 - i;
|
|
str += arr[j];
|
|
if(i != arr.length - 1) {
|
|
str += ".";
|
|
}
|
|
}
|
|
return str;
|
|
};
|
|
polymod_format_XMLMerge.mergeMapsDestructively = function(a,b) {
|
|
if(a == null) {
|
|
a = new haxe_ds_StringMap();
|
|
}
|
|
if(b == null) {
|
|
return a;
|
|
}
|
|
var bkey = haxe_ds_StringMap.keysIterator(b.h);
|
|
while(bkey.hasNext()) {
|
|
var bkey1 = bkey.next();
|
|
if(Object.prototype.hasOwnProperty.call(a.h,bkey1)) {
|
|
var aArr = a.h[bkey1];
|
|
var bArr = b.h[bkey1];
|
|
var _g = 0;
|
|
while(_g < bArr.length) {
|
|
var bVal = bArr[_g];
|
|
++_g;
|
|
aArr.push(bVal);
|
|
}
|
|
} else {
|
|
var bArr1 = b.h[bkey1];
|
|
a.h[bkey1] = bArr1;
|
|
if(Object.prototype.hasOwnProperty.call(b.h,bkey1)) {
|
|
delete(b.h[bkey1]);
|
|
}
|
|
}
|
|
}
|
|
return a;
|
|
};
|
|
var polymod_fs_PolymodFileSystem = function() { };
|
|
$hxClasses["polymod.fs.PolymodFileSystem"] = polymod_fs_PolymodFileSystem;
|
|
polymod_fs_PolymodFileSystem.__name__ = "polymod.fs.PolymodFileSystem";
|
|
polymod_fs_PolymodFileSystem.exists = function(path) {
|
|
return false;
|
|
};
|
|
polymod_fs_PolymodFileSystem.isDirectory = function(path) {
|
|
return false;
|
|
};
|
|
polymod_fs_PolymodFileSystem.readDirectory = function(path) {
|
|
return [];
|
|
};
|
|
polymod_fs_PolymodFileSystem.getFileContent = function(path) {
|
|
return null;
|
|
};
|
|
polymod_fs_PolymodFileSystem.getFileBytes = function(path) {
|
|
return null;
|
|
};
|
|
polymod_fs_PolymodFileSystem.readDirectoryRecursive = function(path) {
|
|
return [];
|
|
};
|
|
var polymod_fs_StubFileSystem = function() { };
|
|
$hxClasses["polymod.fs.StubFileSystem"] = polymod_fs_StubFileSystem;
|
|
polymod_fs_StubFileSystem.__name__ = "polymod.fs.StubFileSystem";
|
|
polymod_fs_StubFileSystem.exists = function(path) {
|
|
return false;
|
|
};
|
|
polymod_fs_StubFileSystem.isDirectory = function(path) {
|
|
return false;
|
|
};
|
|
polymod_fs_StubFileSystem.readDirectory = function(path) {
|
|
return [];
|
|
};
|
|
polymod_fs_StubFileSystem.getFileContent = function(path) {
|
|
return null;
|
|
};
|
|
polymod_fs_StubFileSystem.getFileBytes = function(path) {
|
|
return null;
|
|
};
|
|
polymod_fs_StubFileSystem.readDirectoryRecursive = function(path) {
|
|
return [];
|
|
};
|
|
var polymod_util_SemanticVersion = function() {
|
|
};
|
|
$hxClasses["polymod.util.SemanticVersion"] = polymod_util_SemanticVersion;
|
|
polymod_util_SemanticVersion.__name__ = "polymod.util.SemanticVersion";
|
|
polymod_util_SemanticVersion.fromString = function(str) {
|
|
var v = new polymod_util_SemanticVersion();
|
|
v.original = str;
|
|
if(str == "" || str == null) {
|
|
throw haxe_Exception.thrown("SemanticVersion.hx: string is empty!");
|
|
}
|
|
var extra = "";
|
|
if(str.indexOf("+") != -1) {
|
|
var arr = str.split("+");
|
|
str = arr[0];
|
|
}
|
|
if(str.indexOf("-") != -1) {
|
|
var arr = str.split("-");
|
|
str = arr[0];
|
|
extra = arr[1];
|
|
}
|
|
var arr = str.split(".");
|
|
if(arr.length < 3) {
|
|
throw haxe_Exception.thrown("SemanticVersion.hx: needs major, minor, and patch versions! :\"" + str + "\"");
|
|
}
|
|
var _g = 0;
|
|
var _g1 = arr.length;
|
|
while(_g < _g1) {
|
|
var ii = _g++;
|
|
var substr = arr[ii];
|
|
if(substr.length > 1 && substr.charAt(0) == "0") {
|
|
throw haxe_Exception.thrown("SemanticVersion.hx: no leading zeroes allowed! :\"" + str + "\"");
|
|
}
|
|
var _g2 = 0;
|
|
var _g3 = substr.length;
|
|
while(_g2 < _g3) {
|
|
var i = _g2++;
|
|
var char = substr.charAt(i);
|
|
switch(char) {
|
|
case "*":case "0":case "1":case "2":case "3":case "4":case "5":case "6":case "7":case "8":case "9":
|
|
break;
|
|
default:
|
|
var word;
|
|
switch(ii) {
|
|
case 0:
|
|
word = "major";
|
|
break;
|
|
case 1:
|
|
word = "minor";
|
|
break;
|
|
case 2:
|
|
word = "patch";
|
|
break;
|
|
default:
|
|
word = "";
|
|
}
|
|
throw haxe_Exception.thrown("SemanticVersion.hx: couldn't parse " + word + " version! :\"" + str + "\"");
|
|
}
|
|
}
|
|
}
|
|
var maj = null;
|
|
var min = null;
|
|
var pat = null;
|
|
if(arr[0] == "*") {
|
|
maj = -1;
|
|
}
|
|
if(arr[1] == "*") {
|
|
min = -1;
|
|
}
|
|
if(arr[2] == "*") {
|
|
pat = -1;
|
|
}
|
|
if(maj == null) {
|
|
maj = Std.parseInt(arr[0]);
|
|
}
|
|
if(min == null) {
|
|
min = Std.parseInt(arr[1]);
|
|
}
|
|
if(pat == null) {
|
|
pat = Std.parseInt(arr[2]);
|
|
}
|
|
if(maj == null) {
|
|
throw haxe_Exception.thrown("SemanticVersion.hx: couldn't parse major version! :\"" + str + "\"");
|
|
}
|
|
if(min == null) {
|
|
throw haxe_Exception.thrown("SemanticVersion.hx: couldn't parse minor version! :\"" + str + "\"");
|
|
}
|
|
if(pat == null) {
|
|
throw haxe_Exception.thrown("SemanticVersion.hx: couldn't parse patch version! :\"" + str + "\"");
|
|
}
|
|
if(maj == -1) {
|
|
min = -1;
|
|
pat = -1;
|
|
}
|
|
if(min == -1) {
|
|
pat = -1;
|
|
}
|
|
v.major = maj;
|
|
v.minor = min;
|
|
v.patch = pat;
|
|
v.preRelease = [];
|
|
if(maj == -1 || min == -1 || pat == -1) {
|
|
extra = "";
|
|
}
|
|
if(extra != null && extra != "") {
|
|
if(maj > 1) {
|
|
throw haxe_Exception.thrown("SemanticVersion.hx: pre-release version not allowed post 1.0.0! :\"" + str + "\"");
|
|
}
|
|
if(maj == 1) {
|
|
if(min > 0) {
|
|
throw haxe_Exception.thrown("SemanticVersion.hx: pre-release version not allowed post 1.0.0! :\"" + str + "\"");
|
|
}
|
|
if(pat > 0) {
|
|
throw haxe_Exception.thrown("SemanticVersion.hx: pre-release version not allowed post 1.0.0! :\"" + str + "\"");
|
|
}
|
|
}
|
|
var arr = extra.split(".");
|
|
if(arr != null && arr.length > 0) {
|
|
var _g = 0;
|
|
while(_g < arr.length) {
|
|
var substr = arr[_g];
|
|
++_g;
|
|
var i = Std.parseInt(substr);
|
|
if(i != null) {
|
|
if(substr.length > 0 && substr.charAt(0) == "0") {
|
|
throw haxe_Exception.thrown("SemanticVersion.hx: no leading zeroes allowed! :\"" + str + "\"");
|
|
}
|
|
}
|
|
v.preRelease.push(substr);
|
|
}
|
|
}
|
|
}
|
|
v.effective = v.major + "." + v.minor + "." + v.patch;
|
|
if(v.preRelease != null && v.preRelease.length > 0) {
|
|
v.effective = v.effective + "-" + v.preRelease.join(".");
|
|
}
|
|
return v;
|
|
};
|
|
polymod_util_SemanticVersion.prototype = {
|
|
original: null
|
|
,effective: null
|
|
,major: null
|
|
,minor: null
|
|
,patch: null
|
|
,preRelease: null
|
|
,checkCompatibility: function(newer) {
|
|
var score = 0;
|
|
if(newer.major == this.major || newer.major == -1 || this.major == -1) {
|
|
++score;
|
|
if(newer.minor >= this.minor || newer.minor == -1 || this.minor == -1) {
|
|
++score;
|
|
if(newer.patch >= this.patch || newer.patch == -1 || this.patch == -1) {
|
|
++score;
|
|
}
|
|
}
|
|
}
|
|
return score;
|
|
}
|
|
,compare: function(other) {
|
|
if(this.major == -1 || other.major == -1) {
|
|
return 0;
|
|
}
|
|
if(this.major > other.major) {
|
|
return -1;
|
|
}
|
|
if(this.major < other.major) {
|
|
return 1;
|
|
}
|
|
if(this.minor == -1 || other.minor == -1) {
|
|
return 0;
|
|
}
|
|
if(this.minor > other.minor) {
|
|
return -1;
|
|
}
|
|
if(this.minor < other.minor) {
|
|
return 1;
|
|
}
|
|
if(this.patch == -1 || other.patch == -1) {
|
|
return 0;
|
|
}
|
|
if(this.patch > other.patch) {
|
|
return -1;
|
|
}
|
|
if(this.patch < other.patch) {
|
|
return 1;
|
|
}
|
|
var bits = this.preRelease.length;
|
|
var otherBits = other.preRelease.length;
|
|
if(otherBits > bits) {
|
|
bits = otherBits;
|
|
}
|
|
var _g = 0;
|
|
var _g1 = bits;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var bit = this.preRelease != null && this.preRelease.length > i ? this.preRelease[i] : "";
|
|
var otherBit = other.preRelease != null && other.preRelease.length > i ? other.preRelease[i] : "";
|
|
if(bit == "" && otherBit != "") {
|
|
return -1;
|
|
}
|
|
if(bit != "" && otherBit == "") {
|
|
return 1;
|
|
}
|
|
var i1 = Std.parseInt(bit);
|
|
var j = Std.parseInt(otherBit);
|
|
if(i1 != null && j != null) {
|
|
if(i1 > j) {
|
|
return -1;
|
|
}
|
|
if(i1 < j) {
|
|
return 1;
|
|
}
|
|
} else {
|
|
if(bit > otherBit) {
|
|
return -1;
|
|
}
|
|
if(bit < otherBit) {
|
|
return 1;
|
|
}
|
|
}
|
|
}
|
|
return 0;
|
|
}
|
|
,isEqualTo: function(other) {
|
|
return this.compare(other) == 0;
|
|
}
|
|
,isNewerThan: function(other) {
|
|
return this.compare(other) == -1;
|
|
}
|
|
,toString: function() {
|
|
return this.effective;
|
|
}
|
|
,__class__: polymod_util_SemanticVersion
|
|
};
|
|
var polymod_util_Util = function() { };
|
|
$hxClasses["polymod.util.Util"] = polymod_util_Util;
|
|
polymod_util_Util.__name__ = "polymod.util.Util";
|
|
polymod_util_Util.mergeAndAppendText = function(baseText,id,dirs,getModText,parseRules) {
|
|
var text = baseText;
|
|
var _g = 0;
|
|
while(_g < dirs.length) {
|
|
var d = dirs[_g];
|
|
++_g;
|
|
var theDir = d;
|
|
if(theDir == null) {
|
|
theDir = "";
|
|
}
|
|
if(polymod_util_Util.hasSpecial(id,"_merge",theDir)) {
|
|
text = polymod_util_Util.mergeText(text,id,d,getModText,parseRules);
|
|
}
|
|
var theDir1 = d;
|
|
if(theDir1 == null) {
|
|
theDir1 = "";
|
|
}
|
|
if(polymod_util_Util.hasSpecial(id,"_append",theDir1)) {
|
|
text = polymod_util_Util.appendText(text,id,d,getModText,parseRules);
|
|
}
|
|
}
|
|
return text;
|
|
};
|
|
polymod_util_Util.mergeText = function(baseText,id,theDir,getModText,parseRules) {
|
|
if(theDir == null) {
|
|
theDir = "";
|
|
}
|
|
var extension = polymod_util_Util.uExtension(id,true);
|
|
var id1 = id;
|
|
if(polymod_util_Util.uIndexOf(id1,"assets/") == 0) {
|
|
id1 = polymod_util_Util.uSubstring(id1,7);
|
|
}
|
|
id = id1;
|
|
var mergeFile = "_merge" + polymod_util_Util.sl() + id;
|
|
var format = parseRules.get(id);
|
|
if(format == null) {
|
|
format = parseRules.get(extension);
|
|
}
|
|
if(format != null) {
|
|
var mergeText = getModText(mergeFile,theDir);
|
|
return format.merge(baseText,mergeText,id);
|
|
} else {
|
|
polymod_Polymod.error("merge_error","Could not merge file (" + id + "), no parse format was specified for extension (" + extension + ").");
|
|
return baseText;
|
|
}
|
|
};
|
|
polymod_util_Util.appendText = function(baseText,id,theDir,getModText,parseRules) {
|
|
var extension = polymod_util_Util.uExtension(id,true);
|
|
var id1 = id;
|
|
if(polymod_util_Util.uIndexOf(id1,"assets/") == 0) {
|
|
id1 = polymod_util_Util.uSubstring(id1,7);
|
|
}
|
|
id = id1;
|
|
var format = parseRules.get(id);
|
|
if(format == null) {
|
|
format = parseRules.get(extension);
|
|
}
|
|
if(format != null) {
|
|
var appendText = getModText(polymod_util_Util.pathJoin("_append",id),theDir);
|
|
return format.append(baseText,appendText,id);
|
|
}
|
|
return baseText;
|
|
};
|
|
polymod_util_Util.appendCSVOrTSV = function(baseText,appendText,id) {
|
|
var lastChar = polymod_util_Util.uCharAt(baseText,polymod_util_Util.uLength(baseText) - 1);
|
|
var lastLastChar = polymod_util_Util.uCharAt(baseText,polymod_util_Util.uLength(baseText) - 1);
|
|
var joiner = "";
|
|
var endLine = "\n";
|
|
var crIndex = polymod_util_Util.uIndexOf(baseText,"\r");
|
|
var lfIndex = polymod_util_Util.uIndexOf(baseText,"\n");
|
|
if(crIndex != -1 && lfIndex == crIndex + 1) {
|
|
endLine = "\r\n";
|
|
}
|
|
if(lastChar != "\n") {
|
|
joiner = endLine;
|
|
}
|
|
var otherEndline = endLine == "\n" ? "\r\n" : "\n";
|
|
appendText = polymod_util_Util.uSplitReplace(appendText,otherEndline,endLine);
|
|
return polymod_util_Util.uCombine([baseText,joiner,appendText]);
|
|
};
|
|
polymod_util_Util.appendSpecialXML = function(a,b,headers,footers) {
|
|
a = polymod_util_Util.stripXML(a,true,true,headers,footers);
|
|
b = polymod_util_Util.stripXML(b,true,true,headers,footers);
|
|
var txt = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>";
|
|
txt = polymod_util_Util.uCat(txt,"<data>");
|
|
txt = polymod_util_Util.uCat(txt,a);
|
|
txt = polymod_util_Util.uCat(txt,b);
|
|
txt = polymod_util_Util.uCat(txt,"</data>");
|
|
return txt;
|
|
};
|
|
polymod_util_Util.appendXML = function(a,b) {
|
|
a = polymod_util_Util.stripXML(a,false,true);
|
|
b = polymod_util_Util.stripXML(b,true,false);
|
|
var txt = polymod_util_Util.uCat(a,b);
|
|
return txt;
|
|
};
|
|
polymod_util_Util.stripComments = function(txt) {
|
|
var start = polymod_util_Util.uIndexOf(txt,"<!--");
|
|
var end = polymod_util_Util.uIndexOf(txt,"-->");
|
|
while(start != -1 && end != -1) {
|
|
var len = polymod_util_Util.uLength(txt);
|
|
var before = polymod_util_Util.uSubstr(txt,0,start);
|
|
var after = polymod_util_Util.uSubstr(txt,end + 3,len - (end + 3));
|
|
txt = polymod_util_Util.uCat(before,after);
|
|
start = polymod_util_Util.uIndexOf(txt,"<!--");
|
|
end = polymod_util_Util.uIndexOf(txt,"-->");
|
|
}
|
|
return txt;
|
|
};
|
|
polymod_util_Util.trimLeadingWhiteSpace = function(txt) {
|
|
var white = ["\r","\n"," ","\t"];
|
|
var len = polymod_util_Util.uLength(txt);
|
|
var _g = 0;
|
|
while(_g < white.length) {
|
|
var w = white[_g];
|
|
++_g;
|
|
while(polymod_util_Util.uIndexOf(txt,w) == 0) {
|
|
txt = polymod_util_Util.uSubstr(txt,1,len - 1);
|
|
--len;
|
|
}
|
|
}
|
|
return txt;
|
|
};
|
|
polymod_util_Util.trimTrailingWhiteSpace = function(txt) {
|
|
var white = ["\r","\n"," ","\t"];
|
|
var len = polymod_util_Util.uLength(txt);
|
|
var _g = 0;
|
|
while(_g < white.length) {
|
|
var w = white[_g];
|
|
++_g;
|
|
while(polymod_util_Util.uCharAt(txt,len - 1) == w) {
|
|
txt = polymod_util_Util.uSubstr(txt,0,len - 1);
|
|
--len;
|
|
}
|
|
}
|
|
return txt;
|
|
};
|
|
polymod_util_Util.stripXML = function(txt,stripHeader,stripFooter,headers,footers) {
|
|
if(stripFooter == null) {
|
|
stripFooter = true;
|
|
}
|
|
if(stripHeader == null) {
|
|
stripHeader = true;
|
|
}
|
|
txt = polymod_util_Util.stripComments(txt);
|
|
if(stripHeader) {
|
|
if(polymod_util_Util.uIndexOf(txt,"<?xml") == 0) {
|
|
var i = polymod_util_Util.uIndexOf(txt,">");
|
|
txt = polymod_util_Util.uSubstr(txt,i + 1,polymod_util_Util.uLength(txt) - (i + 1));
|
|
txt = polymod_util_Util.trimLeadingWhiteSpace(txt);
|
|
}
|
|
if(polymod_util_Util.uIndexOf(txt,"<data") == 0) {
|
|
var i = polymod_util_Util.uIndexOf(txt,">");
|
|
txt = polymod_util_Util.uSubstr(txt,i + 1,polymod_util_Util.uLength(txt) - (i + 1));
|
|
txt = polymod_util_Util.trimLeadingWhiteSpace(txt);
|
|
}
|
|
if(headers != null) {
|
|
var _g = 0;
|
|
while(_g < headers.length) {
|
|
var header = headers[_g];
|
|
++_g;
|
|
if(polymod_util_Util.uIndexOf(txt,header) == 0) {
|
|
var i = polymod_util_Util.uIndexOf(txt,">");
|
|
txt = polymod_util_Util.uSubstr(txt,i + 1,polymod_util_Util.uLength(txt) - (i + 1));
|
|
txt = polymod_util_Util.trimLeadingWhiteSpace(txt);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if(stripFooter) {
|
|
txt = polymod_util_Util.trimTrailingWhiteSpace(txt);
|
|
var ulen = polymod_util_Util.uLength(txt);
|
|
if(polymod_util_Util.uLastIndexOf(txt,"</data>") == ulen - 7) {
|
|
txt = polymod_util_Util.uSubstr(txt,0,ulen - 7);
|
|
}
|
|
if(footers != null) {
|
|
var _g = 0;
|
|
while(_g < footers.length) {
|
|
var footer = footers[_g];
|
|
++_g;
|
|
txt = polymod_util_Util.trimTrailingWhiteSpace(txt);
|
|
var ulen = polymod_util_Util.uLength(txt);
|
|
var footerlen = polymod_util_Util.uLength(footer);
|
|
if(polymod_util_Util.uLastIndexOf(txt,footer) == ulen - footerlen) {
|
|
txt = polymod_util_Util.uSubstr(txt,0,ulen - footerlen);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return txt;
|
|
};
|
|
polymod_util_Util.hasMerge = function(id,theDir) {
|
|
if(theDir == null) {
|
|
theDir = "";
|
|
}
|
|
return polymod_util_Util.hasSpecial(id,"_merge",theDir);
|
|
};
|
|
polymod_util_Util.hasAppend = function(id,theDir) {
|
|
if(theDir == null) {
|
|
theDir = "";
|
|
}
|
|
return polymod_util_Util.hasSpecial(id,"_append",theDir);
|
|
};
|
|
polymod_util_Util.stripAssetsPrefix = function(id) {
|
|
if(polymod_util_Util.uIndexOf(id,"assets/") == 0) {
|
|
id = polymod_util_Util.uSubstring(id,7);
|
|
}
|
|
return id;
|
|
};
|
|
polymod_util_Util.hasSpecial = function(id,special,theDir) {
|
|
if(theDir == null) {
|
|
theDir = "";
|
|
}
|
|
if(special == null) {
|
|
special = "";
|
|
}
|
|
return false;
|
|
};
|
|
polymod_util_Util.pathJoin = function(a,b) {
|
|
var aSlash = polymod_util_Util.uLastIndexOf(a,"/") == polymod_util_Util.uLength(a) - 1 || polymod_util_Util.uLastIndexOf(a,"\\") == polymod_util_Util.uLength(a) - 1;
|
|
var bSlash = polymod_util_Util.uIndexOf(b,"/") == 0 || polymod_util_Util.uIndexOf(b,"\\") == 0;
|
|
var str = "";
|
|
if(aSlash || bSlash) {
|
|
str = polymod_util_Util.uCombine([a,b]);
|
|
} else {
|
|
str = polymod_util_Util.uCombine([a,polymod_util_Util.sl(),b]);
|
|
}
|
|
str = polymod_util_Util.cleanSlashes(str);
|
|
return str;
|
|
};
|
|
polymod_util_Util.cleanSlashes = function(str) {
|
|
str = polymod_util_Util.uSplitReplace(str,"\\","/");
|
|
str = polymod_util_Util.uSplitReplace(str,"//","/");
|
|
return str;
|
|
};
|
|
polymod_util_Util.sl = function() {
|
|
return "/";
|
|
};
|
|
polymod_util_Util.copyXml = function(data,parent) {
|
|
var c = null;
|
|
if(data.nodeType == Xml.Element) {
|
|
if(data.nodeType != Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, expected Element but found " + (data.nodeType == null ? "null" : XmlType.toString(data.nodeType)));
|
|
}
|
|
c = Xml.createElement(data.nodeName);
|
|
var att = data.attributes();
|
|
while(att.hasNext()) {
|
|
var att1 = att.next();
|
|
c.set(att1,data.get(att1));
|
|
}
|
|
var el = data.elements();
|
|
while(el.hasNext()) {
|
|
var el1 = el.next();
|
|
c.addChild(polymod_util_Util.copyXml(el1,c));
|
|
}
|
|
} else if(data.nodeType == Xml.PCData) {
|
|
if(data.nodeType == Xml.Document || data.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (data.nodeType == null ? "null" : XmlType.toString(data.nodeType)));
|
|
}
|
|
c = Xml.createPCData(data.nodeValue);
|
|
} else if(data.nodeType == Xml.CData) {
|
|
if(data.nodeType == Xml.Document || data.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (data.nodeType == null ? "null" : XmlType.toString(data.nodeType)));
|
|
}
|
|
c = Xml.createCData(data.nodeValue);
|
|
} else if(data.nodeType == Xml.Comment) {
|
|
if(data.nodeType == Xml.Document || data.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (data.nodeType == null ? "null" : XmlType.toString(data.nodeType)));
|
|
}
|
|
c = Xml.createComment(data.nodeValue);
|
|
} else if(data.nodeType == Xml.DocType) {
|
|
if(data.nodeType == Xml.Document || data.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (data.nodeType == null ? "null" : XmlType.toString(data.nodeType)));
|
|
}
|
|
c = Xml.createDocType(data.nodeValue);
|
|
} else if(data.nodeType == Xml.ProcessingInstruction) {
|
|
if(data.nodeType == Xml.Document || data.nodeType == Xml.Element) {
|
|
throw haxe_Exception.thrown("Bad node type, unexpected " + (data.nodeType == null ? "null" : XmlType.toString(data.nodeType)));
|
|
}
|
|
c = Xml.createProcessingInstruction(data.nodeValue);
|
|
} else if(data.nodeType == Xml.Document) {
|
|
c = Xml.createDocument();
|
|
var el = data.elements();
|
|
while(el.hasNext()) {
|
|
var el1 = el.next();
|
|
c.addChild(polymod_util_Util.copyXml(el1,c));
|
|
}
|
|
}
|
|
c.parent = parent;
|
|
return c;
|
|
};
|
|
polymod_util_Util.uCat = function(a,b) {
|
|
var sb_b = "";
|
|
sb_b += Std.string(a == null ? "null" : "" + a);
|
|
sb_b += Std.string(b == null ? "null" : "" + b);
|
|
return sb_b;
|
|
};
|
|
polymod_util_Util.uCharAt = function(str,index) {
|
|
return str.charAt(index);
|
|
};
|
|
polymod_util_Util.uJoin = function(arr,token) {
|
|
var sb_b = "";
|
|
var i = 0;
|
|
var _g = 0;
|
|
while(_g < arr.length) {
|
|
var str = arr[_g];
|
|
++_g;
|
|
sb_b += str == null ? "null" : "" + str;
|
|
if(i != arr.length - 1) {
|
|
sb_b += token == null ? "null" : "" + token;
|
|
}
|
|
++i;
|
|
}
|
|
return sb_b;
|
|
};
|
|
polymod_util_Util.uCombine = function(arr) {
|
|
var sb_b = "";
|
|
var _g = 0;
|
|
while(_g < arr.length) {
|
|
var str = arr[_g];
|
|
++_g;
|
|
sb_b += str == null ? "null" : "" + str;
|
|
}
|
|
return sb_b;
|
|
};
|
|
polymod_util_Util.uExtension = function(str,lowerCase) {
|
|
if(lowerCase == null) {
|
|
lowerCase = false;
|
|
}
|
|
var i = polymod_util_Util.uLastIndexOf(str,".");
|
|
var extension = polymod_util_Util.uSubstr(str,i + 1,polymod_util_Util.uLength(str) - (i + 1));
|
|
if(lowerCase) {
|
|
extension = extension.toLowerCase();
|
|
}
|
|
return extension;
|
|
};
|
|
polymod_util_Util.uIndexOf = function(str,substr,startIndex) {
|
|
return str.indexOf(substr,startIndex);
|
|
};
|
|
polymod_util_Util.uLastIndexOf = function(str,value,startIndex) {
|
|
return str.lastIndexOf(value,startIndex);
|
|
};
|
|
polymod_util_Util.uLength = function(str) {
|
|
return str.length;
|
|
};
|
|
polymod_util_Util.uPathPop = function(str) {
|
|
var path = str.split("/");
|
|
path.pop();
|
|
return path.join("/");
|
|
};
|
|
polymod_util_Util.uTrimFinalCharIf = function(str,match) {
|
|
var uLength = polymod_util_Util.uLength(str);
|
|
var last = polymod_util_Util.uLastIndexOf(str,match);
|
|
if(last == uLength - 1) {
|
|
str = polymod_util_Util.uSubstr(str,0,uLength - 1);
|
|
uLength = polymod_util_Util.uLength(str);
|
|
}
|
|
return str;
|
|
};
|
|
polymod_util_Util.uTrimFinalEndlines = function(str) {
|
|
var done = false;
|
|
var fix = "";
|
|
var last = "";
|
|
while(!done) {
|
|
var fix = polymod_util_Util.uTrimFinalCharIf(str,"\n");
|
|
fix = polymod_util_Util.uTrimFinalCharIf(fix,"\r");
|
|
if(fix == str) {
|
|
done = true;
|
|
} else {
|
|
str = fix;
|
|
}
|
|
}
|
|
return str;
|
|
};
|
|
polymod_util_Util.uTrimFirstCharIf = function(str,match) {
|
|
var uLength = polymod_util_Util.uLength(str);
|
|
var first = polymod_util_Util.uIndexOf(str,match);
|
|
if(first == 0) {
|
|
str = polymod_util_Util.uSubstr(str,1,uLength);
|
|
uLength = polymod_util_Util.uLength(str);
|
|
}
|
|
return str;
|
|
};
|
|
polymod_util_Util.uTrimFirstEndlines = function(str) {
|
|
var done = false;
|
|
var fix = "";
|
|
var last = "";
|
|
while(!done) {
|
|
var fix = polymod_util_Util.uTrimFirstCharIf(str,"\n");
|
|
fix = polymod_util_Util.uTrimFirstCharIf(fix,"\r");
|
|
if(fix == str) {
|
|
done = true;
|
|
} else {
|
|
str = fix;
|
|
}
|
|
}
|
|
return str;
|
|
};
|
|
polymod_util_Util.uSplit = function(str,substr) {
|
|
return str.split(substr);
|
|
};
|
|
polymod_util_Util.uSplitReplace = function(s,substr,by) {
|
|
if(polymod_util_Util.uIndexOf(s,substr) == -1) {
|
|
return s;
|
|
}
|
|
var arr = polymod_util_Util.uSplit(s,substr);
|
|
if(arr == null || arr.length < 2) {
|
|
return s;
|
|
}
|
|
var sb_b = "";
|
|
var _g = 0;
|
|
var _g1 = arr.length;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
var bit = arr[i];
|
|
sb_b += bit == null ? "null" : "" + bit;
|
|
if(i != arr.length - 1) {
|
|
sb_b += by == null ? "null" : "" + by;
|
|
}
|
|
}
|
|
return sb_b;
|
|
};
|
|
polymod_util_Util.uSubstr = function(str,pos,len) {
|
|
return HxOverrides.substr(str,pos,len);
|
|
};
|
|
polymod_util_Util.uSubstring = function(str,startIndex,endIndex) {
|
|
return str.substring(startIndex,endIndex);
|
|
};
|
|
function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); }
|
|
function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; }
|
|
$global.$haxeUID |= 0;
|
|
var _init = lime__$internal_backend_html5_HTML5Application;
|
|
var init = lime_app_Application;
|
|
haxe_ds_ObjectMap.count = 0;
|
|
if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) {
|
|
HxOverrides.now = performance.now.bind(performance);
|
|
}
|
|
$hxClasses["Math"] = Math;
|
|
if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); }
|
|
String.prototype.__class__ = $hxClasses["String"] = String;
|
|
String.__name__ = "String";
|
|
$hxClasses["Array"] = Array;
|
|
Array.__name__ = "Array";
|
|
Date.prototype.__class__ = $hxClasses["Date"] = Date;
|
|
Date.__name__ = "Date";
|
|
var Int = { };
|
|
var Dynamic = { };
|
|
var Float = Number;
|
|
var Bool = Boolean;
|
|
var Class = { };
|
|
var Enum = { };
|
|
js_Boot.__toStr = ({ }).toString;
|
|
haxe_Resource.content = [{ name : "__ASSET__:bitmap_flixel_system_debug_interaction_tools__Transform_GraphicTransformCursorScaleX", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFvQUFBQUtDQVlBQUFDTk1zKzlBQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZsekFBQUFUZ0FBQUU0QnNjMGZNd0FBQUJ4MFJWaDBVMjltZEhkaGNtVUFRV1J2WW1VZ1JtbHlaWGR2Y210eklFTlROdWk4c293QUFBQlBTVVJCVkJpVmpWQkJEc0F3Q0FLMy8vKzRZNWV5R05hREpoNVVCSlNTTUlrYW9RSW9BSXk1aktrOXRENWJHcmdBRkRVMGVZZGtMbjFXdUFsWHM5SGpzUlVmY3lWRHE4dlNQNWxUYi96SEY2VW9FeGRNWXJPSEFBQUFBRWxGVGtTdVFtQ0M"},{ name : "__ASSET__:bitmap_flixel_system_debug_stats__Stats_GraphicMaximizeButton", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFvQUFBQUtDQVlBQUFDTk1zKzlBQUFBQm1KTFIwUUEvd0QvQVArZ3ZhZVRBQUFBQ1hCSVdYTUFBQUIyQUFBQWRnRk9leVlJQUFBQUIzUkpUVVVIM2dNSkNSOFVCaGtEeVFBQUFFOUpSRUZVR05PdGtFRVN3REFJQW92Ly8vUDJvb2FhOUJaUFpvQXdxd0NlTlpMVUQ5ZkNIVzc2VFkyZmR3MklVOVVwZUhlVU5kMVlBRm5kTUFGUW1ndTV0eGFWM202VDV5bW9EL0gwT3ZrTFNBOUI4bis0Y2pvQUFBQUFTVVZPUks1Q1lJST0"},{ name : "__ASSET__:bitmap_flixel_system_GraphicLogo", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUdRQUFBQmtDQVlBQUFCdzRwVlVBQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBS1QybERRMUJRYUc5MGIzTm9iM0FnU1VORElIQnliMlpwYkdVQUFIamFuVk5uVkZQcEZqMzMzdlJDUzRpQWxFdHZVaFVJSUZKQ2k0QVVrU1lxSVFrUVNvZ2hvZGtWVWNFUlJVVUVHOGlnaUFPT2pvQ01GVkVzRElvSzJBZmtJYUtPZzZPSWlzcjc0WHVqYTlhODkrYk4vclhYUHVlczg1Mnp6d2ZBQ0F5V1NETlJOWUFNcVVJZUVlQ0R4OFRHNGVRdVFJRUtKSEFBRUFpelpDRnovU01CQVBoK1BEd3JJc0FIdmdBQmVOTUxDQURBVFp2QU1CeUgvdy9xUXBsY0FZQ0VBY0Iwa1RoTENJQVVBRUI2amtLbUFFQkdBWUNkbUNaVEFLQUVBR0RMWTJMakFGQXRBR0FuZitiVEFJQ2QrSmw3QVFCYmxDRVZBYUNSQUNBVFpZaEVBR2c3QUt6UFZvcEZBRmd3QUJSbVM4UTVBTmd0QURCSlYyWklBTEMzQU1ET0VBdXlBQWdNQURCUmlJVXBBQVI3QUdESUl5TjRBSVNaQUJSRzhsYzg4U3V1RU9jcUFBQjRtYkk4dVNRNVJZRmJDQzF4QjFkWExoNG96a2tYS3hRMllRSmhta0F1d25tWkdUS0JOQS9nODh3QUFLQ1JGUkhnZy9QOWVNNE9yczdPTm82MkRsOHQ2cjhHL3lKaVl1UCs1YytyY0VBQUFPRjBmdEgrTEMrekdvQTdCb0J0L3FJbDdnUm9YZ3VnZGZlTFpySVBRTFVBb09uYVYvTncrSDQ4UEVXaGtMbloyZVhrNU5oS3hFSmJZY3BYZmY1bndsL0FWLzFzK1g0OC9QZjE0TDdpSklFeVhZRkhCUGpnd3N6MFRLVWN6NUlKaEdMYzVvOUgvTGNMLy93ZDB5TEVTV0s1V0NvVTQxRVNjWTVFbW96ek1xVWlpVUtTS2NVbDB2OWs0dDhzK3dNKzN6VUFzR28rQVh1UkxhaGRZd1AyU3ljUVdIVEE0dmNBQVBLN2I4SFVLQWdEZ0dpRDRjOTMvKzgvL1VlZ0pRQ0Faa21TY1FBQVhrUWtMbFRLc3ovSENBQUFSS0NCS3JCQkcvVEJHQ3pBQmh6QkJkekJDL3hnTm9SQ0pNVENRaEJDQ21TQUhISmdLYXlDUWlpR3piQWRLbUF2MUVBZE5NQlJhSWFUY0E0dXdsVzREajF3RC9waENKN0JLTHlCQ1FSQnlBZ1RZU0hhaUFGaWlsZ2pqZ2dYbVlYNEljRklCQktMSkNESmlCUlJJa3VSTlVneFVvcFVJRlZJSGZJOWNnSTVoMXhHdXBFN3lBQXlndnlHdkVjeGxJR3lVVDNVRExWRHVhZzNHb1JHb2d2UVpIUXhtbzhXb0p2UWNyUWFQWXcyb2VmUXEyZ1AybzgrUThjd3dPZ1lCelBFYkRBdXhzTkNzVGdzQ1pOank3RWlyQXlyeGhxd1Zxd0R1NG4xWTgreGR3UVNnVVhBQ1RZRWQwSWdZUjVCU0ZoTVdFN1lTS2dnSENRMEVkb0pOd2tEaEZIQ0p5S1RxRXUwSnJvUitjUVlZakl4aDFoSUxDUFdFbzhUTHhCN2lFUEVOeVFTaVVNeUo3bVFBa214cEZUU0V0SkcwbTVTSStrc3FaczBTQm9qazhuYVpHdXlCem1VTENBcnlJWGtuZVRENURQa0crUWg4bHNLbldKQWNhVDRVK0lvVXNwcVNobmxFT1UwNVFabG1ESkJWYU9hVXQyb29WUVJOWTlhUXEyaHRsS3ZVWWVvRXpSMW1qbk5neFpKUzZXdG9wWFRHbWdYYVBkcHIraDB1aEhkbFI1T2w5Qlgwc3ZwUitpWDZBUDBkd3dOaGhXRHg0aG5LQm1iR0FjWVp4bDNHSytZVEtZWjA0c1p4MVF3TnpIcm1PZVpENWx2VlZncXRpcDhGWkhLQ3BWS2xTYVZHeW92VkttcXBxcmVxZ3RWODFYTFZJK3BYbE45cmtaVk0xUGpxUW5VbHF0VnFwMVE2MU1iVTJlcE82aUhxbWVvYjFRL3BINVovWWtHV2NOTXcwOURwRkdnc1YvanZNWWdDMk1aczNnc0lXc05xNFoxZ1RYRUpySE4yWHgyS3J1WS9SMjdpejJxcWFFNVF6TktNMWV6VXZPVVpqOEg0NWh4K0p4MFRnbm5LS2VYODM2SzNoVHZLZUlwRzZZMFRMa3haVnhycXBhWGxsaXJTS3RScTBmcnZUYXU3YWVkcHIxRnUxbjdnUTVCeDBvblhDZEhaNC9PQlozblU5bFQzYWNLcHhaTlBUcjFyaTZxYTZVYm9idEVkNzl1cCs2WW5yNWVnSjVNYjZmZWViM24raHg5TC8xVS9XMzZwL1ZIREZnR3N3d2tCdHNNemhnOHhUVnhiendkTDhmYjhWRkRYY05BUTZWaGxXR1g0WVNSdWRFOG85VkdqVVlQakduR1hPTWs0MjNHYmNhakpnWW1JU1pMVGVwTjdwcFNUYm1tS2FZN1REdE14ODNNemFMTjFwazFtejB4MXpMbm0rZWIxNXZmdDJCYWVGb3N0cWkydUdWSnN1UmFwbG51dHJ4dWhWbzVXYVZZVlZwZHMwYXRuYTBsMXJ1dHU2Y1JwN2xPazA2cm50Wm53N0R4dHNtMnFiY1pzT1hZQnR1dXRtMjJmV0ZuWWhkbnQ4V3V3KzZUdlpOOXVuMk4vVDBIRFlmWkRxc2RXaDErYzdSeUZEcFdPdDZhenB6dVAzM0Y5SmJwTDJkWXp4RFAyRFBqdGhQTEtjUnBuVk9iMDBkbkYyZTVjNFB6aUl1SlM0TExMcGMrTHBzYnh0M0l2ZVJLZFBWeFhlRjYwdldkbTdPYnd1Mm8yNi91TnU1cDdvZmNuOHcwbnltZVdUTnowTVBJUStCUjVkRS9DNStWTUd2ZnJINVBRMCtCWjdYbkl5OWpMNUZYcmRld3Q2VjNxdmRoN3hjKzlqNXluK00rNHp3MzNqTGVXVi9NTjhDM3lMZkxUOE52bmwrRjMwTi9JLzlrLzNyLzBRQ25nQ1VCWndPSmdVR0JXd0w3K0hwOEliK09QenJiWmZheTJlMUJqS0M1UVJWQmo0S3RndVhCclNGb3lPeVFyU0gzNTVqT2tjNXBEb1ZRZnVqVzBBZGg1bUdMdzM0TUo0V0hoVmVHUDQ1d2lGZ2EwVEdYTlhmUjNFTnozMFQ2UkpaRTNwdG5NVTg1cnkxS05TbytxaTVxUE5vM3VqUzZQOFl1WmxuTTFWaWRXRWxzU3h3NUxpcXVObTVzdnQvODdmT0g0cDNpQytON0Y1Z3Z5RjF3ZWFIT3d2U0ZweGFwTGhJc09wWkFUSWhPT0pUd1FSQXFxQmFNSmZJVGR5V09Dbm5DSGNKbklpL1JOdEdJMkVOY0toNU84a2dxVFhxUzdKRzhOWGtreFRPbExPVzVoQ2Vwa0x4TURVemRtenFlRnBwMklHMHlQVHE5TVlPU2taQnhRcW9oVFpPMlorcG41bVoyeTZ4bGhiTCt4VzZMdHk4ZWxRZkphN09RckFWWkxRcTJRcWJvVkZvbzF5b0hzbWRsVjJhL3pZbktPWmFybml2TjdjeXp5dHVRTjV6dm4vL3RFc0lTNFpLMnBZWkxWeTBkV09hOXJHbzVzanh4ZWRzSzR4VUZLNFpXQnF3OHVJcTJLbTNWVDZ2dFY1ZXVmcjBtZWsxcmdWN0J5b0xCdFFGcjZ3dFZDdVdGZmV2YzErMWRUMWd2V2QrMVlmcUduUnMrRlltS3JoVGJGNWNWZjlnbzNIamxHNGR2eXIrWjNKUzBxYXZFdVdUUFp0Sm02ZWJlTFo1YkRwYXFsK2FYRG00TjJkcTBEZDlXdE8zMTlrWGJMNWZOS051N2c3WkR1YU8vUExpOFphZkp6czA3UDFTa1ZQUlUrbFEyN3RMZHRXSFgrRzdSN2h0N3ZQWTA3TlhiVzd6My9UN0p2dHRWQVZWTjFXYlZaZnRKKzdQM1A2NkpxdW40bHZ0dFhhMU9iWEh0eHdQU0EvMEhJdzYyMTduVTFSM1NQVlJTajlZcjYwY094eCsrL3AzdmR5ME5OZzFWalp6RzRpTndSSG5rNmZjSjMvY2VEVHJhZG94N3JPRUgweDkySFdjZEwycENtdkthUnB0VG12dGJZbHU2VDh3KzBkYnEzbnI4UjlzZkQ1dzBQRmw1U3ZOVXlXbmE2WUxUazJmeXo0eWRsWjE5Zmk3NTNHRGJvclo3NTJQTzMyb1BiKys2RUhUaDBrWC9pK2M3dkR2T1hQSzRkUEt5MitVVFY3aFhtcTg2WDIzcWRPbzgvcFBUVDhlN25MdWFycmxjYTdudWVyMjFlMmIzNlJ1ZU44N2Q5TDE1OFJiLzF0V2VPVDNkdmZONmIvZkY5L1hmRnQxK2NpZjl6c3U3MlhjbjdxMjhUN3hmOUVEdFFkbEQzWWZWUDF2KzNOanYzSDlxd0hlZzg5SGNSL2NHaFlQUC9wSDFqdzlEQlkrWmo4dUdEWWJybmpnK09UbmlQM0w5NmZ5blE4OWt6eWFlRi82aS9zdXVGeFl2ZnZqVjY5Zk8wWmpSb1pmeWw1Ty9iWHlsL2VyQTZ4bXYyOGJDeGg2K3lYZ3pNVjcwVnZ2dHdYZmNkeDN2bzk4UFQrUjhJSDhvLzJqNXNmVlQwS2Y3a3htVGsvOEVBNWp6L0dNekxkc0FBQUFnWTBoU1RRQUFlaVVBQUlDREFBRDUvd0FBZ09rQUFIVXdBQURxWUFBQU9wZ0FBQmR2a2wvRlJnQUFCTTFKUkVGVWVOcnMyOCtMRzJVWXdQSFhabTZDdVhrMGRFMFRzVCtTbVQxb2Q1Rmsrd3ZwbXRHYmlFaE9YbFZRTDE0Q25rdjNYRVFESG9SQ1llbXBiS21kcE10U3dVejIxUE1jUlBCU2dwQmxZVWQ0UEd5em1VMDJ1L01tNzQvbm1mZDk0ZmtIOHVHYk4rL2tIUVpkRDVSTXgydkRqbHRnUkJjczNjanZsUnJ0dmJJUE1vY3BBK2w2QUIxM0FGMnZCYjNsUEMwSXZ6VXMrUVBaR09wQkNNR29odEFMY2d5bTJzU0dNU3o1emIyeUg2bUV3QUV5aG9rd3dPaUV3QVdTaEhubTFsUkQ3QmNidGIyU3Y2c1RBaWZJR0NaUUFiTmZiTlNHNVVhQUFRSTNTQkptMjYySS8ycjZxSUlOZ2dhSTREUE0vdm5iQlJWbmlleURMQWhEQVlJbUNPY1pSdGRad2l5UUZEQVVJZWlEekRoY0RrdCtreUpFZGtCZXpSL0JsYWh6NjJaRUZTSlRJTHRCQmZKYmIwTitzd2pQcjkyMElCZ3cyTllTc0swbDhpZ3NTeGhaUUdGWnc2Q093cktJa1p4N1gzeGdRV1RPNXRQTHFURW9vcEFDYVQrOXhBVkJFWVdaZ0VFSmhabUNRUVdGbVlSQkFZV1pob0VkaFptSWdSbUZtWXFCRllWQnh3MU14UmpORDkrOGp3amttVnN6R1dNMG4vL280UUJoakRIb2VHMlRNVENoSElMMGx2T3YvaEkxRmdNSlNqVCtIN3BiL1ZvSHhzYnZGOUZnNkVZWmx2emoxMmtQNzlpcXcyZytlUWNkaGthVWFQcmFqTUlOSGpPR0RwU3BPc2FWZUpzV1F6bEtOUHR5Mlk1YmtMbkJVOEpRaFRLemp2RUc3N1VzeGpUSzM5VjF0WFVjZ1J6K0RJNHN4dkc1L1BPN3dsSE9yR084d1ZjL3RoaVNVVXIrTHQrTGp3S2VjMlVKUXpUS2ZySEI5MUlTYkxzVml5RUhaVmh1QlBPOUh0ejFOaXlHZUJUdU9pWTIrSUhGRUljeWR4Mko1MXhOaXlFT1plNDZKamI0M2RNZ0JoMFhLbzh2R0lmQmk3SndIV21lYzVtT3dZTWlwSTdFYzY2MnhUaDkzdnF0UFBPU3Q3QTZabTN3Rm9QdjVyM1FPaWFmYzFrTVBoVGhkU1RYeTA0MXNoaDhLRkxxR0sxTHplZEI3bUhGZnVncFVSNnRYNWRYeDlVMXFLMnVBVlErZlFFV0pjVTh1UTI1UC8rUkI3SmFoMkIxRGNDaXBNVjRDVTRZZzlPUGE5THFTSTVGU1lFUnh1RDA0a0JxSGNrcGZ2WEFBcHlHTVJxUmxaeFVoMFhod0JCZHlhdzZMRXBLREpHVm5GV0hSVW1KSWFxU05IVVlqWklXUTBRbFBIVVlpY0tMc1dnbHZIV1loUEphOENVL3hpS1Z6RnRIY3M1Ly8wczJNVHJmemdleFNDV0wxSkdjTis5OFp6RVdyVVJFSFZsRUVZWVJ4cERyeFp2SzY4Z1Npa2lNMGJBK0ZKVFhrUVVVR1JoT0dFTXVQR2hycVlNeWlpeU1WSlhJcklNaWlteU1NeXVSWFFjbEZCVVlwMWFpcW83a3ZQSFRaOFpqekt4RVpSMmplZS9EZitIMVg5ZU54aml4RWgxMVlFVFJoVEZWaVk0NnNLSG94RGlxUkhjZFdGQXdZQnlCNks1RE53b1dEQ2VNQVUwZHVsQXdZVGhoREtqcVVJMkNEZU1RQkNIR2FKWS8rVXZhblMrTUdPaEJaRjNFdzRwQkFrUTB5cm50dTJneHlJQ0lRam0zY3g4MUJpbVFSVkVvWUpBRG1SZUZDZ1pKRUY0VVNoaGtRZEtpVU1NZ0RYTFdSVHlLR09SQlpxRlF4Y2dFeUNRS1pZek1nSXhRcUdOa0JtU2xEdTJWYTFCZ2ZTamt3b08yQmRFMWRRaXVyc0gwL2RnK1ZKeGVIRmdRM1JBVHkrbkhOV293ak5oWFU3UmFoeWJ2TFg1S01DekxFSk1yMS91dm1Rc1BJZ3N5LzFmVFlLVU9MZEh2MjJPR1laZ2hsbTlBbmtsY0dHRVlRb3dOMlJESFZnL3lUaGkzY21FOHNDQW5uU1YwTFNRd0RNTlBXSzBReUdBWTlyT0V0cVhwMVAvL0FOd29yczhWOE1oV0FBQUFBRWxGVGtTdVFtQ0M"},{ name : "__ASSET__:bitmap_flixel_addons_transition_GraphicTransTileDiamond", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQWlBQUFBQWdDQVlBQUFBckZzTTFBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQXlKcFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1TXkxak1ERXhJRFkyTGpFME5UWTJNU3dnTWpBeE1pOHdNaTh3TmkweE5EbzFOam95TnlBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3UFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdklpQjRiV3h1Y3pwNGJYQk5UVDBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5NFlYQXZNUzR3TDIxdEx5SWdlRzFzYm5NNmMzUlNaV1k5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM5elZIbHdaUzlTWlhOdmRYSmpaVkpsWmlNaUlIaHRjRHBEY21WaGRHOXlWRzl2YkQwaVFXUnZZbVVnVUdodmRHOXphRzl3SUVOVE5pQW9WMmx1Wkc5M2N5a2lJSGh0Y0UxTk9rbHVjM1JoYm1ObFNVUTlJbmh0Y0M1cGFXUTZNek5HUmtFd05FSXhPRVV3TVRGRk5EazVRVGRDUlVVME56Z3lPVFkyT0RjaUlIaHRjRTFOT2tSdlkzVnRaVzUwU1VROUluaHRjQzVrYVdRNk16TkdSa0V3TkVNeE9FVXdNVEZGTkRrNVFUZENSVVUwTnpneU9UWTJPRGNpUGlBOGVHMXdUVTA2UkdWeWFYWmxaRVp5YjIwZ2MzUlNaV1k2YVc1emRHRnVZMlZKUkQwaWVHMXdMbWxwWkRvek0wWkdRVEEwT1RFNFJUQXhNVVUwT1RsQk4wSkZSVFEzT0RJNU5qWTROeUlnYzNSU1pXWTZaRzlqZFcxbGJuUkpSRDBpZUcxd0xtUnBaRG96TTBaR1FUQTBRVEU0UlRBeE1VVTBPVGxCTjBKRlJUUTNPREk1TmpZNE55SXZQaUE4TDNKa1pqcEVaWE5qY21sd2RHbHZiajRnUEM5eVpHWTZVa1JHUGlBOEwzZzZlRzF3YldWMFlUNGdQRDk0Y0dGamEyVjBJR1Z1WkQwaWNpSS9QckhzdVhJQUFBTHRTVVJCVkhqYTdOakJidVVnRUVUUk1QLy96NDRpelNhenlpakdYTGZPbGJLSnpLTUZEVlRWdXE3ckF3QmV4cjhYMXpvMDc4ZERkZnp2UmIwT3pYdFhIWGMvVE92UXZEK3Q0K21IZUIyYTl4dC8zR01BZnZGSVhJZm1QWEdCWHpkOTg4UmpmQjJhdDFKN1plOHF2VnVZa3dBQmNQc0ZkaDJhOThsTDlkcjA3YzdmT2pXMnNuYVYzcW1jblp3SUlVQ0FkNHNBQ1VURFBWZlNnMHJ0bGIycjlHN3U4UzlBZ0FEdkZSK24zVnZGdlZiY2UyVnNaZTBxdlZNNU8wUUlBUUxjZW9GSUlCcnV1WkllVkdxdjdGMmxkejMrQkFnd1NueWNkbThWOTFweDc1V3hsYldyOUU3bDdCQWhCQWh3NndVaWdXaTQ1MHA2VUttOXNuZVYzdlg0Z3dEQktQRngycjFWM0d2RnZWZkdWdGF1MGp1VnMwT0VnQURCclJlSUJLTGhuaXZwUWFYMnl0NVZldGZqRHdJRW84VEhhZmRXY2E4VjkxNFpXMW03U3U5VXpnNFJBZ0lFdDE0Z0VvaUdlNjZrQjVYYUszdFg2VjJQUDBDQWpCSWZwOTFieGIxVzNIdGxiR1h0S3IxVE9UdEVDRUNBM0hxQlNDQWE3cm1TSGxScXIreGRwWGM5L2dBQk1rcDhuSFp2RmZkYWNlK1ZzWlcxcS9STzVld1FJUUFCY3VzRklvRm91T2RLZWxDcHZiSjNsZDcxK0FNWUpVQUFBQUFCOGpqcjc5K0plWC95dnlmbWZhS085ZENZeW0rc1FYdFg2ZDNDbkFBSWtCR3NRNWZwT25TcHIwM2Y3dnl0VTJNcmExZnBuY3JaSVlJQUFtU1VDSkhBTk5LREhYVklZT2IwTHZFQkVDQjR1WXVVd1BUSFZ0YXUwanVWczBNRUFRVElLQkVpZ1dta0J6dnFrTURNNlYzaUF5QkE4SElYS1lIcGo2MnNYYVYzS21lSENBSUJnbEVpUkFMVFNBOTIxQ0dCbWRPN3hBY0lFT0RsTGxJQzB4OWJXYnRLNzFUT0RoRUVBZ1NqUklnRXBwRWU3S2hEQWpPbmQ0a1BFQ0RBeTEya0JLWS90ckoybGQ2cG5CMGlpQUFCUm9rUUNVd2pQZGhSaHdSbVR1OFNId1FJZ0plN1NBbE1mMnhsN1NxOVV6azdSQkFCQW93U0lSS1lSbnF3b3c0SnpKemVKVDRJRUFBdmQ1RVNtUDdZeXRwVmVxZHlkbklpaUFBQjhKc0xUQUxUU0E5MjFDR0JtZE83T2ZIeHhhY0FBd0RrMWZzODNpRUEyd0FBQUFCSlJVNUVya0pnZ2c9PQ"},{ name : "__ASSET__:file_flixel_system_VirtualInputData", data : "YmFzZSA9IDI2NiA0NiA4NCA4NAp0aHVtYiA9IDI2NiAxMzEgNTIgNTIKYSA9IDAgMCAxMzIgNDUKYiA9IDAgNDYgMTMyIDQ1CmMgPSAwIDkyIDEzMiA0NQpkb3duID0gMCAxMzggMTMyIDQ1CmxlZnQgPSAxMzMgMCAxMzIgNDUKcmlnaHQgPSAxMzMgNDYgMTMyIDQ1CnVwID0gMTMzIDkyIDEzMiA0NQp4ID0gMjY2IDAgMTMyIDQ1CnkgPSAxMzMgMTM4IDEzMiA0NQo"},{ name : "__ASSET__:bitmap_flixel_system_debug_GraphicCloseButton", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFnQUFBQUlDQVlBQUFERUQ3NkxBQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZsekFBQUFkZ0FBQUhZQlRuc21DQUFBQUJsMFJWaDBVMjltZEhkaGNtVUFkM2QzTG1sdWEzTmpZWEJsTG05eVo1dnVQQm9BQUFCL1NVUkJWQmlWVFkweENzSlFFQVhIYnlTZXdNdWxUV2R2YTZPbGxXSnBDQ0syaWsxT1krY3RRc1lpcS9rREM4dnM3bHZVU3UzVXBVcFdPN1ZDM1RqU3FXVU1EK0dldisxdGlKZDZ5dm95ajl3NzhWQVhLb21SR2JCaW9nY0dBTlNrTm5GNVY0L1IzOVNFMm9hNHF2TjRkdzUzS1lBMzBBRDFQeGJXUUFGOHZwYVlyTldBYU5WMEFBQUFBRWxGVGtTdVFtQ0M"},{ name : "__ASSET__:bitmap_flixel_system_debug_GraphicBitmapLog", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBQm1KTFIwUUFBQUFBQUFENVE3dC9BQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBQUIzUkpUVVVIM2dRWkV4c2Fka1ZHNHdBQUFFRkpSRUZVR05PVnpjc0pBREFJQk5FdDFUSnl0UFBKS2VSbnhBd3NlSGlnOUJOUW1mRURBU3REUUdXWTRRdStjQWhQN013cytqaU94cDR5dk9ZWkxrRkFIVzZYWUMwODhkcWRBQUFBQUVsRlRrU3VRbUND"},{ name : "__ASSET__:bitmap_flixel_system_debug_GraphicStats", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBQUlHTklVazBBQUhvbEFBQ0Fnd0FBK2Y4QUFJRHBBQUIxTUFBQTZtQUFBRHFZQUFBWGI1SmZ4VVlBQUFBeFNVUkJWSGphWXZ6Ly96OERzWUNKZ1FSQWpPTC9VRXdkaytHbTBkVE5XQlZqdFpvK3ptQWtKUVlCQUFBQS8vOERBTDhIREFscWRHWVJBQUFBQUVsRlRrU3VRbUND"},{ name : "__ASSET__:bitmap_flixel_addons_transition_GraphicTransTileSquare", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQWlBQUFBQWdDQVlBQUFBckZzTTFBQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBN2EybFVXSFJZVFV3NlkyOXRMbUZrYjJKbExuaHRjQUFBQUFBQVBEOTRjR0ZqYTJWMElHSmxaMmx1UFNMdnU3OGlJR2xrUFNKWE5VMHdUWEJEWldocFNIcHlaVk42VGxSamVtdGpPV1FpUHo0S1BIZzZlRzF3YldWMFlTQjRiV3h1Y3pwNFBTSmhaRzlpWlRwdWN6cHRaWFJoTHlJZ2VEcDRiWEIwYXowaVFXUnZZbVVnV0UxUUlFTnZjbVVnTlM0MUxXTXdNakVnTnprdU1UVTFOemN5TENBeU1ERTBMekF4THpFekxURTVPalEwT2pBd0lDQWdJQ0FnSUNBaVBnb2dJQ0E4Y21SbU9sSkVSaUI0Yld4dWN6cHlaR1k5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZNREl2TWpJdGNtUm1MWE41Ym5SaGVDMXVjeU1pUGdvZ0lDQWdJQ0E4Y21SbU9rUmxjMk55YVhCMGFXOXVJSEprWmpwaFltOTFkRDBpSWdvZ0lDQWdJQ0FnSUNBZ0lDQjRiV3h1Y3pwNGJYQTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzhpQ2lBZ0lDQWdJQ0FnSUNBZ0lIaHRiRzV6T25odGNFMU5QU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2Ylcwdklnb2dJQ0FnSUNBZ0lDQWdJQ0I0Yld4dWN6cHpkRkpsWmowaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wzTlVlWEJsTDFKbGMyOTFjbU5sVW1WbUl5SUtJQ0FnSUNBZ0lDQWdJQ0FnZUcxc2JuTTZjM1JGZG5ROUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlVWMlpXNTBJeUlLSUNBZ0lDQWdJQ0FnSUNBZ2VHMXNibk02WkdNOUltaDBkSEE2THk5d2RYSnNMbTl5Wnk5a1l5OWxiR1Z0Wlc1MGN5OHhMakV2SWdvZ0lDQWdJQ0FnSUNBZ0lDQjRiV3h1Y3pwd2FHOTBiM05vYjNBOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZjR2h2ZEc5emFHOXdMekV1TUM4aUNpQWdJQ0FnSUNBZ0lDQWdJSGh0Ykc1ek9uUnBabVk5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmRHbG1aaTh4TGpBdklnb2dJQ0FnSUNBZ0lDQWdJQ0I0Yld4dWN6cGxlR2xtUFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwyVjRhV1l2TVM0d0x5SStDaUFnSUNBZ0lDQWdJRHg0YlhBNlEzSmxZWFJ2Y2xSdmIydytRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTkRJREl3TVRRZ0tGZHBibVJ2ZDNNcFBDOTRiWEE2UTNKbFlYUnZjbFJ2YjJ3K0NpQWdJQ0FnSUNBZ0lEeDRiWEE2UTNKbFlYUmxSR0YwWlQ0eU1ERTBMVEE0TFRFMVZERTJPakU1T2pBNExUQTFPakF3UEM5NGJYQTZRM0psWVhSbFJHRjBaVDRLSUNBZ0lDQWdJQ0FnUEhodGNEcE5iMlJwWm5sRVlYUmxQakl3TVRRdE1EZ3RNVFZVTVRZNk16UTZNekl0TURVNk1EQThMM2h0Y0RwTmIyUnBabmxFWVhSbFBnb2dJQ0FnSUNBZ0lDQThlRzF3T2sxbGRHRmtZWFJoUkdGMFpUNHlNREUwTFRBNExURTFWREUyT2pNME9qTXlMVEExT2pBd1BDOTRiWEE2VFdWMFlXUmhkR0ZFWVhSbFBnb2dJQ0FnSUNBZ0lDQThlRzF3VFUwNlNXNXpkR0Z1WTJWSlJENTRiWEF1YVdsa09tSmxPVEZqT1dVd0xXRTNabUV0Wm1JME9TMWlZMlEwTFdVMU5qaGpZV00xWkRNNU5Ud3ZlRzF3VFUwNlNXNXpkR0Z1WTJWSlJENEtJQ0FnSUNBZ0lDQWdQSGh0Y0UxTk9rUnZZM1Z0Wlc1MFNVUStZV1J2WW1VNlpHOWphV1E2Y0dodmRHOXphRzl3T21WbE56TTFPRGhtTFRJMFl6TXRNVEZsTkMwNU9UQmlMV0kyTkRnMk1EQTRNVEpsTXp3dmVHMXdUVTA2Ukc5amRXMWxiblJKUkQ0S0lDQWdJQ0FnSUNBZ1BIaHRjRTFOT2tSbGNtbDJaV1JHY205dElISmtaanB3WVhKelpWUjVjR1U5SWxKbGMyOTFjbU5sSWo0S0lDQWdJQ0FnSUNBZ0lDQWdQSE4wVW1WbU9tbHVjM1JoYm1ObFNVUStlRzF3TG1scFpEb3pNMFpHUVRBME9URTRSVEF4TVVVME9UbEJOMEpGUlRRM09ESTVOalk0Tnp3dmMzUlNaV1k2YVc1emRHRnVZMlZKUkQ0S0lDQWdJQ0FnSUNBZ0lDQWdQSE4wVW1WbU9tUnZZM1Z0Wlc1MFNVUStlRzF3TG1ScFpEb3pNMFpHUVRBMFFURTRSVEF4TVVVME9UbEJOMEpGUlRRM09ESTVOalk0Tnp3dmMzUlNaV1k2Wkc5amRXMWxiblJKUkQ0S0lDQWdJQ0FnSUNBZ1BDOTRiWEJOVFRwRVpYSnBkbVZrUm5KdmJUNEtJQ0FnSUNBZ0lDQWdQSGh0Y0UxTk9rOXlhV2RwYm1Gc1JHOWpkVzFsYm5SSlJENTRiWEF1Wkdsa09qTXpSa1pCTURSRE1UaEZNREV4UlRRNU9VRTNRa1ZGTkRjNE1qazJOamczUEM5NGJYQk5UVHBQY21sbmFXNWhiRVJ2WTNWdFpXNTBTVVErQ2lBZ0lDQWdJQ0FnSUR4NGJYQk5UVHBJYVhOMGIzSjVQZ29nSUNBZ0lDQWdJQ0FnSUNBOGNtUm1PbE5sY1Q0S0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEhKa1pqcHNhU0J5WkdZNmNHRnljMlZVZVhCbFBTSlNaWE52ZFhKalpTSStDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHh6ZEVWMmREcGhZM1JwYjI0K2MyRjJaV1E4TDNOMFJYWjBPbUZqZEdsdmJqNEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQSE4wUlhaME9tbHVjM1JoYm1ObFNVUStlRzF3TG1scFpEbzFNMkV6TTJFM05DMWlNVFJrTFdNMk5EQXRPVFE1TVMwd1kyTm1ObVJpWm1abVpUZzhMM04wUlhaME9tbHVjM1JoYm1ObFNVUStDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHh6ZEVWMmREcDNhR1Z1UGpJd01UUXRNRGd0TVRWVU1UWTZNelE2TXpJdE1EVTZNREE4TDNOMFJYWjBPbmRvWlc0K0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeHpkRVYyZERwemIyWjBkMkZ5WlVGblpXNTBQa0ZrYjJKbElGQm9iM1J2YzJodmNDQkRReUF5TURFMElDaFhhVzVrYjNkektUd3ZjM1JGZG5RNmMyOW1kSGRoY21WQloyVnVkRDRLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEhOMFJYWjBPbU5vWVc1blpXUStMend2YzNSRmRuUTZZMmhoYm1kbFpENEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BDOXlaR1k2YkdrK0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4eVpHWTZiR2tnY21SbU9uQmhjbk5sVkhsd1pUMGlVbVZ6YjNWeVkyVWlQZ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4YzNSRmRuUTZZV04wYVc5dVBuTmhkbVZrUEM5emRFVjJkRHBoWTNScGIyNCtDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHh6ZEVWMmREcHBibk4wWVc1alpVbEVQbmh0Y0M1cGFXUTZZbVU1TVdNNVpUQXRZVGRtWVMxbVlqUTVMV0pqWkRRdFpUVTJPR05oWXpWa016azFQQzl6ZEVWMmREcHBibk4wWVc1alpVbEVQZ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4YzNSRmRuUTZkMmhsYmo0eU1ERTBMVEE0TFRFMVZERTJPak0wT2pNeUxUQTFPakF3UEM5emRFVjJkRHAzYUdWdVBnb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThjM1JGZG5RNmMyOW1kSGRoY21WQloyVnVkRDVCWkc5aVpTQlFhRzkwYjNOb2IzQWdRME1nTWpBeE5DQW9WMmx1Wkc5M2N5azhMM04wUlhaME9uTnZablIzWVhKbFFXZGxiblErQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4emRFVjJkRHBqYUdGdVoyVmtQaTg4TDNOMFJYWjBPbU5vWVc1blpXUStDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lEd3ZjbVJtT214cFBnb2dJQ0FnSUNBZ0lDQWdJQ0E4TDNKa1pqcFRaWEUrQ2lBZ0lDQWdJQ0FnSUR3dmVHMXdUVTA2U0dsemRHOXllVDRLSUNBZ0lDQWdJQ0FnUEdSak9tWnZjbTFoZEQ1cGJXRm5aUzl3Ym1jOEwyUmpPbVp2Y20xaGRENEtJQ0FnSUNBZ0lDQWdQSEJvYjNSdmMyaHZjRHBEYjJ4dmNrMXZaR1UrTXp3dmNHaHZkRzl6YUc5d09rTnZiRzl5VFc5a1pUNEtJQ0FnSUNBZ0lDQWdQSFJwWm1ZNlQzSnBaVzUwWVhScGIyNCtNVHd2ZEdsbVpqcFBjbWxsYm5SaGRHbHZiajRLSUNBZ0lDQWdJQ0FnUEhScFptWTZXRkpsYzI5c2RYUnBiMjQrTnpJd01EQXdMekV3TURBd1BDOTBhV1ptT2xoU1pYTnZiSFYwYVc5dVBnb2dJQ0FnSUNBZ0lDQThkR2xtWmpwWlVtVnpiMngxZEdsdmJqNDNNakF3TURBdk1UQXdNREE4TDNScFptWTZXVkpsYzI5c2RYUnBiMjQrQ2lBZ0lDQWdJQ0FnSUR4MGFXWm1PbEpsYzI5c2RYUnBiMjVWYm1sMFBqSThMM1JwWm1ZNlVtVnpiMngxZEdsdmJsVnVhWFErQ2lBZ0lDQWdJQ0FnSUR4bGVHbG1Pa052Ykc5eVUzQmhZMlUrTmpVMU16VThMMlY0YVdZNlEyOXNiM0pUY0dGalpUNEtJQ0FnSUNBZ0lDQWdQR1Y0YVdZNlVHbDRaV3hZUkdsdFpXNXphVzl1UGpVME5Ed3ZaWGhwWmpwUWFYaGxiRmhFYVcxbGJuTnBiMjQrQ2lBZ0lDQWdJQ0FnSUR4bGVHbG1PbEJwZUdWc1dVUnBiV1Z1YzJsdmJqNHpNand2WlhocFpqcFFhWGhsYkZsRWFXMWxibk5wYjI0K0NpQWdJQ0FnSUR3dmNtUm1Pa1JsYzJOeWFYQjBhVzl1UGdvZ0lDQThMM0prWmpwU1JFWStDand2ZURwNGJYQnRaWFJoUGdvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW84UDNod1lXTnJaWFFnWlc1a1BTSjNJajgralJOUkFBQUFBQ0JqU0ZKTkFBQjZKUUFBZ0lNQUFQbi9BQUNBNlFBQWRUQUFBT3BnQUFBNm1BQUFGMitTWDhWR0FBQUE3a2xFUVZSNDJ1elp3UTJBSUJRRlFUWDIzL0szQStNTmRXYzZBQTV2RS9hWjJRQ0FuS1VCY0xwL0FNaEZ3TDc2NEFJRUFCRVFHLzgzRUNBQWxDTEErQXNRQUdJUllQd1JJQUN4Q0REK0NCQ0FXQVFZZnhBZ1FDd0NqRDhJRUNBV0FjWWZFQ0FRaXdEakR3Z1FpRVdBOFFjUUlNUWl3UGdEQ0JCaUVXRDhBUkFnc1Fndy9nQUlrRmdFR0g4QWVPajRRUVNNWndRQUFRSUFjT3ZyWHpDK1BRQkFnS1NJSHdBUUlPSUhBQVFJNGdjQUJBamlCd0FCQXVJSFFJQUE0Z2RBZ0FEaUJ4QWdBT0lIRUNBQTRnY0VDQURpQndRSUFPSUhBUUlBNGdjQkFnRGlSNEFBZ1BqcHVBQUFBUC8vQXdERGpoU0RtSUFyY1FBQUFBQkpSVTVFcmtKZ2dnPT0"},{ name : "__ASSET__:bitmap_flixel_input_mouse__FlxMouse_GraphicCursor", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJnQUFBQWdDQVlBQUFBSVhyZzRBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQW1SSlJFRlVlTnEwbHM5ckUwRVV4Nzg3MllTZ0psVFNTaVdwVnZyRElxaEZVSUtnK0NlSUlncWVGRS9pVFJDOHBMUVhqeUwwNGc5Q29tWFRKSVcwT1ZVRU1UZEJSSWs1VzZXdGtLSlNiR25EcHNuNlprMlczVFFicytua3dkdVpuVm0rbjMwenczc2pCVUxCQ0lBcGRNbGMrL3orZDlScTVMbHVBT1JhTzhrZkR5ZW5XMGJ5YU9LZVl3RGpEMDNUZEFnSlJFUkhJTkVlYUpWS0ZZeEprQ1NKajAzWVJYTC85bVZib2Q2QmtIMEV1bWxTdlNjMEVnTnc1ZXAxakE2UENJY1lnQU0rUDU0OG5zYXh3VUdoRUdaKzJTaFZNSjlLNCtqQUVXRVFDMkM3cEVKakhpeWswd2dGZzBJZ3JIRmdhYm1vaTJkbWt6amMzNzlueUM3QW44MHQvRjdmMFBlQ1F3NzE5UmtRT29xUlBRTzRmVjBwNnUzdzBCQXl5U1FDZ1VESGtLYUE0czkxYkc2VjlQN3hrVkU5a29NOVBSMUJtTjNFVWkwS2JpZkd4akNuS1BEN2ZJNGh0b0RWNGkrbzVSM2ovZlRKVXdSSk9JYllBbmgrK3I2NlpoazdNejRPSlI2SDErdHRHOEphVFg3N3NZWkt0V29aQzU4OWg5U3JtYlloTFFHcXVxTXZWYU9kRDRjeEU0M0M0M2JEVkU4aWpnR05tMjIyU3hjdUl2Nzh4WDhoY2l2eFdTV0dmUDRUYmV4K0VtcitLVjhxdFZ3MlEyQ3U4YmFBVk9JbEZ1YlQvejZTWFdBdTF1N1J0MENhQXJJa25Na2t3UXVjTE11UW1PUTBReGlRWFlEWGkxa2thR2tZWTVEZExqNzBsdnhCaDhuVVl3SGtjbThRaXo0MUw4a2lMM1pVbzdjN3Jja0c0T09IOXlnVThuQVRzMWI4cytUWFNGd1ZVbkMrRkQ3VFh4czNpemtSNGtZRUx1c0o0ZUkzbTRuYkxZT1RWS0dRM3hEeDU1YUxWNjBmSTcvRDg1ekltMTA5Z21ma3QwU0wxMi9YdmRUZTdkYjEvYThBQXdDWlVNUU16UW9keXdBQUFBQkpSVTVFcmtKZ2dnPT0"},{ name : "__ASSET__:bitmap_flixel_system_debug_interaction_tools__Transform_GraphicTransformCursorRotate", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFvQUFBQUtDQVlBQUFDTk1zKzlBQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZsekFBQUFUZ0FBQUU0QnNjMGZNd0FBQUJ4MFJWaDBVMjltZEhkaGNtVUFRV1J2WW1VZ1JtbHlaWGR2Y210eklFTlROdWk4c293QUFBQkVTVVJCVkJpVmRjNUpEZ0F3Q0FMQVl2ei9sK25KQkJjOFZaMFNRZkpKYVFOZDVFQndmUmhVaVZSNG9WVnA1cHp2TUhDZDRhQmlWR0k3MmlXSERCeHVVUEg1NFFNNWNROFhwbTRKVmdBQUFBQkpSVTVFcmtKZ2dnPT0"},{ name : "__ASSET__:bitmap_flixel_system_debug_stats__Stats_GraphicMinimizeButton", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFvQUFBQUtDQVlBQUFDTk1zKzlBQUFBQm1KTFIwUUEvd0QvQVArZ3ZhZVRBQUFBQ1hCSVdYTUFBQUIyQUFBQWRnRk9leVlJQUFBQUIzUkpUVVVIM2dNSkNSMDFlRVp4RlFBQUFEOUpSRUZVR05OaitQLy8vMzhHQWdDdUJzWkExb1JOREM2QnJoQ1p6L1QvLzM4bWZOWVQ0elR5QUNPNjhZeU1qRmpGbUpBbHNacUVMRWRVOEJBYjRBQzRjRkxGc3d1SW53QUFBQUJKUlU1RXJrSmdnZz09"},{ name : "__ASSET__:bitmap_flixel_system__FlxPreloader_GraphicLogoLight", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUVBQUFBQkFDQVlBQUFDcWFYSGVBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQnE1SlJFRlVlTnJVVzR0dTR6WVE1TktVYzNmcHQvYWYrcE01MjVLNFJRQ3gySnZiRi8xSTJ3Q0VaRWQyTk1QWnQwTGx6Ny9LQzMvb1NkL0RyN3JCOXNXZzZVN0E5Q295MmhjQXB3ZStpNFB2NC84Q0FSUzhSM2VBbE5ld3VBNC9RNCtTMEw0SU9EMWdDcFM0RC81cUFpeEFsSHd2SW9PVHBQQ0VtcDVHQUUwQ0orTzZqQk5rQjlSVFRLSTlDTndDR0wwWDdUd0xnS3lBWlllSUtUVTg2Z1ExSXNaN1ZRRS9TNEE4NzQ0S1h1b0RNdktPVm5XVWdJQ3NSUWNKRkpBeFJVeDdFSHlGY3dSY0EySTg4QU5rRjY5SlVRWTdEalEwaDVZQWI1RkFEdUFxRnNGNWhvQU93UHZ4K1E0cTZBYjR0Qis0eHdscTREWGdKK1cxWmc3c0VERFdMc0NpQ1hqK0ljd1ZXbkwzU1pFK0FwWkFjVlZGRmFSNGRqN0FzZ0MrSDUvWndROGcwRzRvd1EyUjdRNnZYNVhkSHlBYkFHOEtHZmdkMnU0UDRKczR4OWZqZm5ieG5YMDJTclNKM2RkMi9pU09UUnkxZFlMcjBRZDBBRDhBeTRYa2FVUjRvZkkzTWxvaXhkWGlPMG9ld1M2d21xSUdWSUFrUUlKZWp6WCszbVlrUldnS2x2Ui9lZDBtS2poTi9pY0Q5RmtjeitMMzQ5b0t6cENGbzBQZ0RmeUk1ZUZaMmUzeWlBL3draHEwOHdVQXY4SDVJb2lRU2tCUExuZitKcFpHZ0JWQ2krSVV6YWpRa3BWZURhUXZ3WDg3UUkvMVRmeE9tb1NtQUFSL0ZZUlI0RGhMMER0SU9VRnliSitVVUllN1AwQi9QNERMOVNaSWtHYkFRSUFFdjRqZEw0cGlNR21xQWp3Wi9RVFZDVklpSDdETW9BRUJBL0FuQ1QrTzQzZEJ6aG5zZWhBZzdmNFQvRThnQ3NIdlNzSlVJVzBtbzcvSVVSZ2tKd3lpL1dzRWZBSitQd2dZUzVyRzRoRHdDZjRDU2lsR2xyZ2JaS0FTckVZclo0b2hMZDNGMEhkV0NQaHhrUEN1S0dFUkpFb0h1QjdnaDBwSUFhOGxSaWVSTVZZbFd6VHJnMHd4cEJFaGZjRWlTSkFFSUFudmdvQXpSQUpwLzJkbDUyVitzRUtJYk1mN0o1RU00YkljSWJWRTFXZWx2bG9PZ0k0UUNaQ21nQXBZaGRldjRzWXQ4R05wOVlaSHdpOUtpRExCNGhSQUo4TVJuc0VSRG4vd0J4Q3dnTk5hUWZvTXdHVmtXSlQwR2plcVo3ckhUUWtSTldoalJabmdHWlNBSmpITW9JRUNic0lrQnZnQi9BMXlDU3Uxcm80RDU0d1BvQ0FaaWtwZ0xTcThLZUZ4Z0tuQ0I4aW9JTUZmSUwxdWlWTGJhNzJGWVRBVEZTaHdqTTFSeGpDUlJlejRKbXI5TTZUTkMrUU5sdXk5QnF4cEJqTzFnQlVleVZBRGtxRVJVK0hHUmlSb3prNlRrNm5TN0N5eUpZWVRzeDNpQW0xeEN0cG94ZWtZUlUzVnUwQVh1TW1aMlI4N0ZSZzcvVDJyMVYyVWZvRDNXYTk5bmhtcjNhMEE3WTk3N1d4TVQzZFk2MEV3SmtJYnRMMnNuUDllOEdZWUpLZU5aTzF3VDdTeE1HbTVpci9KSWd6dVVQL2Z4R2MyY2R3VVFsQTkzc3pBRElQUkdKcVYzbDBQMmxpeXJKV2xMWW5QVk1nRHJzcTZBUUdhU3Rnd3lSSjFoVnBDTWw3ZkhuY2VnVjlFL0Vid0MrUUJzZ3orT0k2WFl3MHlWa1VORmhIZUlOWE5BNnkrR2twdGQzYitDbVZ0aGZSMmhZS25ReW44QVNSY3dUUlFBWmFQaUtLYW1ncVQ0Z09zY1pVbCtjWG81bGdWWDRmTTd3T1dSOFNtQUk4YzVUOEthY2FPRjRNRWRxUXZuVnd6cXJvVkNDQWdZQld5bCtDUmdCV1VnSW9vR1FjWW1ZQVg0anFFdEhiY21CeVdrTkx4dllGUGtBckFqdEJGVVlFa3dsSUFubk1tQ2hSbnlvbzl0azNKNkc3S0VGVHVyblJ5NkJUeEd1bEFmOExTRklBT2taMlErRnRWT0JNR05UVnNrUGRYQXp6dVBqWkZPNWpCVGV5MGpBWVhKVS9ZamR6QWNvUnVGR0NuZHU0d2t4dm5ZMngxVlZTek83dGZ3UVIyVUFIbUJSZHh0SnhnRDU0eWNVM0E2NkdqS2V4S3I2REF6ck1DQ25jZkJ5TmFQbkZUdlArcWhNTTlDSU4zT1VFckJTYVIxR3lKTWZkTk5FS3QyV0EzU0pESHEyUDdtZDNIOUQ1VkRHbFBjZlNnNVl4Z21taDV6VXlIVjZXbXNNQjNweVpJSzhDZHBSdkFOeU5ibEFTY2xLNU9FVTdRZXo1Z0Qyb0JiL2VuTTBFdkg3Q2V5Y0dFYVFCcHg4MWxtcGRlaldFOUtUSlRLdk1qaVZCSlBKT3p3WmdMbldBTituajRqSkJHUkUvbS96elRGR21KM2ZjYURkM0lGYW80N2tyTHF6Z0U0UENUamVaSWxQV0Z1NS90Q211NUFRNGdHRVpaVlF3cHZhZkROQ2ZibmVKTEE1d3BnKzl1aVZId1hsZUlRSDlnTlRpTEUyVllxZTZpZmlGUE5IZW5HaUxraEVRQ1U4RHFyMExPRUQwMm55R2lPS0dPWnh1aldSTW9Tbmkwd2lRcFQyaVEwNGttQnp3N3RRZ0hOcDhpWW1ZeTVEMTBxRDJwVGNiTWdCTmtsNENFakpON3lmOExjS0tEck8yOE5ZTG53QXk4bHJ5MzAwODFnZG5Ka1VXSU5YVGxoQkl5NzAwUFJlNGx3RXFPTEFkcDNTQWxBSEJ5V0hNWCtHY29nQnhpSWpJeWl1STdydmt5QWlJMXpONGtUeWpqS2VDZlFVQlcyc1dwS1NJbitCTGd6eVlnVXNXak4vNi8rdS94NkticDN3QnEvZnd0d0FDRGVkRE1KazlyRWdBQUFBQkpSVTVFcmtKZ2dnPT0"},{ name : "__ASSET__:bitmap_flixel_system_debug_GraphicConsole", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBQUlHTklVazBBQUhvbEFBQ0Fnd0FBK2Y4QUFJRHBBQUIxTUFBQTZtQUFBRHFZQUFBWGI1SmZ4VVlBQUFCVVNVUkJWSGphdEpIUkNVQWhEQVBqRzhVVjNNbmhuTVZaWE9IOFVTaFBoSW9ZeUUrNXRJRUdRRjU5T3BDRm82UXFLVzFwd0RvRERTaS91WUFGbmk0amxEM3d2SUlOWEcxMmQ0NUFCZEt1V25qMmxENEFLVWJYUXNkOGx3a0FBQUFBU1VWT1JLNUNZSUk9"},{ name : "__ASSET__:bitmap_flixel_system_debug_interaction_tools__Eraser_GraphicEraserTool", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZsekFBQUxFZ0FBQ3hJQjB0MSsvQUFBQUJ4MFJWaDBVMjltZEhkaGNtVUFRV1J2WW1VZ1JtbHlaWGR2Y210eklFTlROWEcxNHpZQUFBUW5jSEpXVjNpYzdWZGJiNkpBR0lWWGZzV0VmVjBGckZZbGFyT3hhZmJGVGJOdDBzMitVYUNXS0pjQWpiWi9iWlBkOTAzL1MvL0J1bmlqaUZ6bUJ0cVcwMkFyenN5WmM4NDNIL1h2djk4dmpNTTRpOFhpK2ZsNWJqck1FcjJ6dWFPb0U5MEh0L3JZc1ByOHk2OC9QREMwUG4vVEdva2paNmpmRzErZlhQM3E2ZHUxK2pSUnV4cC9OdUI2Y3psWXdOUjlCY3pOcWVYSjh6NnZhUGF0TGdkL0wyOExQRmdOOFNkOS9zdnlBL0JqZEFtR3RxdURWbDJzcWVLcENFNmx1blRTYkxmYm4wRkRsRVJCYkFoU295YTE1Wk9HTElwZ0EzN0FCYTg5Vjd1VHY1OWZiT2lDZDMzKzN2Y2RXUkJtczFsOWRsSzMzYkVnZGJ2ZDVUS05SaTBZVWZNZUxWK1oxeXp2MDNxUjdUcm51cWU2aHVNYnRnV1c3NVZiKzhIdjh6d0hJdGpvTXAyUXlQTHFLNDExMVRhRnVlSUlVbDBVd3BXWGl3ZWo1YUdySzc3dFh0djJkTEJXZm1HNCtzeDJKeDRZWHJXQUZNd0tmcHFkSnJneExNMmVlVDBoUGk5cFNmMDh1QWFCVWMyYTJLbUp6V3VwSTdlYWNsUDZHWm0vSGhTYlBySTE0KzR4YWZxcDNPcHNwa2NHYmEwU1lsN2hlcWlwb1lYT2d6dGRKYVdwZ2o3VlRkM3l2Y0JHYWRkR1RaWHZiTmRVL0lGaEttTmRjS3h4VDNpOW1ibS85ZDJnVW9JaUZjSXFqYXdPbUpJQllxajRTY0J1cmtQeG8rL2dmZm9QNzhENzBuL2cvTkZLbno3L2FnZlkrWE52UG45azlkVDQ5MmhoOTBHSG44MjQ4dms1Y3YwNHBSL3lFK3RuWDMraE9rQ3QvakFOb0pkL3RQclI4aWZseDgyZUZ2OTJEd2ZMbjhBQVN2cFRzaTg2ZnhpTzdERWsvRm1ad3pxQnowOVM5VW44SElILytBNFErRS9GQUtMNnk2ajY0dk9QYlFRVFlQZnhpOElmKzIrbjlQeGplOEVEcmZNUFV3dTArTm53WmVjUDZQMlM4Y2NWUisraG53UlUvZ1MxUkgwQTEzL1U3Tk1jUU9ablU5OWdBVU0veHJtbmwvLytYc2lBNHo5cDlvbjVjNmo2eWJQZjRjZnpQN0tYb3ZOUDc2TG9Ucnl1QmN1ZjFjT2puNk5lc2NkdkNuK09Rb0pTb09FL1EzQUtJUG5wRkhzQ29QV3o5Tld6S1B3RkFkNy9yUHh4MVIrZGZvNTBQZXorbjZJL3IrL3NEVVpFTmo4UysyWUN2ZjVmMktGUDRPY1M5YU03UURWL1ZBT281NS9aOVZKMlFDLy9NaEI3L083eTUzUzlKTkErLzBVamdSOURkUkt5YzgvZ0QyY1Rra01oaVo5SzMwazRDYkQ4Mi9sbElEMS9HaEdnNXM4Qk1zNGRjaWlrNVU5c1AybitKZUZJemo5SFdUOVIvdEZWc0oyQW5KdWZmN0dOSUp1ZmhCdk9PUzVYUDlZbXFPYVB1d002K1JlTC9QeHhhd0J1YmtINjM5SDVMeFk3NUZ3cVA2U2F2S2RkRG4rT2ZwaFZVYk9DNVVmOURrQ2JIMnBoakdJTmc4L21oKzJFYkdRc0F2K1IxSDlPL3JEMVYxaitNT1NJZ09TSDdZVElIZk90NUI4aVNTSEJjd0pQZnhJVDNuTWFuWjhlTndGS0o0d3k3M1ZDU3QrWXlGQVdlNUxTd3lvdkZaVFAveHZHVWFnK0pQdFI1SDFjbmZCRDRmRFZYNkZDaFFvVktueHNMQ3BVb0lCTFJtSEdqTTRBUnFxcTZnUGlQMUhNM1VabjEzZmJBQUFBU0cxclFrYjYzc3IrQUFBQUJBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQXBwRE9oQUFBNWNHMXJWRk40bk8xOTJYZmJ4cEkrYm02Y1JQSWlPNW1UZVpnWG5UUHpPNytuNUJJTHQwZFJGQ1hGbE1RUWxDM254UWNFaVZnVGVSbFpWdUxod2Y4K1hWWGRXQnFOVmFSRU9iaStVWk5ZRzE5VmY3VjBOWGowdkhlOWVERzJ6eGVPLzJKOGRMN1EvY0Y0TjlLTWZ6MCtYN1NzZWNPejVqUC9iTGpyTFJyK0sycGVIdmE5aGE3N0I0Y1RiTWQ3dHJkb0cvN1lQajFudTN2NzdBb2UvczhmRFlmWGk5NkkvZG5kbVh4Y2FCdmFWSE8xMTlwSW0ydnYyS2R6N2NJL1BENWllemJabm5kc2o2Nzl4UGFlYTMreEl5NzhjZjlrQ3BmY09jWXI3N0FPbS9PTzMrc2ZRaWQ3UjZ6bkhtdndPWHIySGg1a0QzQ2ZmWUJOYjRnYmU4K3gyVDNtRjlnYjRQZnhCQThhOVBEYllJek5NVzIwUitlTGJzdnZUV2puaEs0K3Nla21SM1E5YWc1M29KZkgwS3VHM3ovUnp4Y2QxaGh3bWY2SmljMkFiVFJZWTFCalF1TVhRdWJmVmNobzI5b08yM3JGdnYvRVBsMncxdEUrc2oyejI4Uk12eUZtK3Fvd2U4Z3gyOWN1R1M0ZnREZHMzNVUyejhUR0ltem1HZGcwbE5pNGJneWJSZ1kyYm9ld01ZM1M2T2dXd2VNUVBBN0IweUY0T2dSUHg3ZEh2N0c3VEgzYjV1M29oS0hXZE5nRy9xRVlnTTg0Z0x2YWU2WmM3eG1NVExXWTBrV1BqSUxKTG94b0dzMHNOSjBDYUVxYWxvV21wR25PY2tjblF0aHFLU0MwUnozYVkxTWJoZlE3RG1rUHgrTzU1bkpBdHppZ05nUFRZN3E0clkzWnAwOXMyeXgzMUNxeDFEMXJ1ZVBXZEN1T1c2ZnN1RTNENkZFQ295SGIrNjdLdUpYUkthUnI2NDJPMEtBRHR2MFNCK01OTldqSnRySUVRbzNWNmsrSVVHWDlLY0w3YTRtTm9QUStZdk1HTllQUTJlRG85Sm5XWElFMXZEWFd5ZVJ3MTZvNHNCb0VUWU9nYVJBMERZS21RZEEwQ2tLekZVQVQ3RUUxbXJQdjE5cm5lMG5PZXR4dGFCSk1UWUxKSVpnY2drbnRGQlNGS1J5RldUQVo2dzNURXNmWmt4UmxRazRxajlHZE0xRVdRazFDcUVrSU5Rc2k5RlNKMElUaGM4NTg5WXNjdmw1WFRUS1hya2xxblBwbzlhZjNGaWVqSWs2UE9FNDdURXN1bVczdnNiK2ZBQmVPMW5jY3JXSjhCUDJPd05PeUNCL2NuNHRQeDhxd2J4amJSUkNhM2REMkc0U1FRUWhaaEpCRkNGa1U4SUZVWXhFZlBBYUdLMnhER1F4RjNEeGh1dllYOHhFK1VlQ1hqYVJTMGJLQjFMc2NTbU9hRlR6TFVKWUtueXVEYVhTTGdmbUVnN25MRk80Q1V6Qy9CK21Henh6UWJ6aWdMeG1NVnpFWTJ6UENzUzFTTTJwSElpdU1nVk5qNDlYSTk3Y3F4ekZHcHhpQ1BaNS82RlhDYXlNeWlOK3l6KysxOTlrSkxZNmFiaFlPYmZTR1ZkNU5iVFlJTnVSUEFNN0x5alpVUSs0M1lCYWVkekQxV1duc3NnbFE2RnZISmVUbVMzSTJHbG5PaHJGU1phc0swSytNMTg3aHFCaEFWcE1BMHFlU2JvbHNhWU13Y3JPSURkUWlYN2ZRZ0VSd2F2RVlDSlZxSmFOUzFxMkEyS29PMERIYk84VUIraTVUemZUdWN2WHNMa2d0aXRIREFLTTM2Tkc3REFFblNKdCtHODlnRmFJdWpneXFWYTZIcGhzdWh3ZE1ZRUY0V25OT1huQXlBSVNKMDJKMnM2Q0NqWmxlR2ZNNSs5Qkw2bFUyWmtLamR0SFhBTnJQRHJnbDNQQ2hGS1pTd3EzdGxsY3JpK2VYSGE1WDVzeGFObTZLZ2RrVDJXWnVib29qV2NWN1U3c2RtTVpQQjlNMXlvTVorRzVOZzlBa2JTeUdwajR2N0h5UXR3WWdlaFdVY0lTMjh5cC84bEZTUXM4cTRIaDRWb1d4SzB3RDEwR0VjZmtxQ0pwbkMrY1hiQU41d2VKRERGajhNRlpvNTBZQU1WaU56MmdiNHJ3NFp0di95SWxiTzRSc2w1QkZVeGxCdG5IVHZLTkZ1SkwyZ1pwMHVOSEZtQVNnaGJrc3dOYkl3TGJKczQvTXZGSDgyaVYwV3h6ZUZzZTN4UUdtRVEwZnBwNDBvd1RlOHZnQWpYOHhNTXNGdXZFNEYrT3Rpc24vSW1xYVJMT0FvcHFHU2xGYkhFa09aQnFPZ2FJS0hLVnhuNC9qQktlSFhlMlBNaU8rRUpERnZFRTFrampRd2VoTWwyNnNjY1RqYUJaQWpxTkRuOGdnSFZIQnBBTXNSSUJwdWdrazdxU2hUcWkrVys2MFZNRzhRV001QlFscU9GdUpLZmNlUjlIdUphZllzOEVTdWVJRDlMWGZjSi83RFJxZ1MrVUVPOXBlMU1kR2pDZkpZaWQ0VXVsYW95RXFHdmc2S3dXdlBGUjl0TjUvc0wxSC9KTU1WWXBCS1ROdzllYThTS3BQN1M2dVVzOG8wNWZNcldSakp5WnVob0Y2cGFNbjU2VmNaWGJQeUFqZ3doaWxncSs5TXZDaUpqZDB0TVd3MVR2ekdKN2ZjRHhQRkRVeGtEUUYzeEVtbUcyY3NIRDRoR3EySGpyS2VLK0FJWWJBS2lPWjREcUVwTUU5RzllUXdyMFpkN1RKUzgyeElZd3RDYzhPQjdSRGlMcTgxTWpsbUxvZDJTTERoN0g0a0N5YUdRY2ZoQTg1R25Pck14NExyOUpPUm84cVVXeEdSSEdPRG52ZWJJaFQxdFFJSndqTWI1NE9tNUpQS1d5M2NOWnh1Q1E4U3IxQWlBTmJCMXdhQTVJR1lveW1lUWM5RElRYXFwSEFWRnN0QWxIM2NqSDhRUjB0OGxtQllxaTJLNkpheUh4elQ5MXpwTlFyNXdackdnUFZVb0hhc3RUSzNPUjFBazFlS01EYWVPNmZuS0V4K2o2MlBlYUE4KzhBdE80VkJub3pTQXBkb1E4S0JUc2ZpMWdza2RRV2sxTzZNNy9wNUJTSHRpa3BiSngxd1dHeXNTZzRuU1lFc2xoZllGSUx5Sm91SVl1dGlTMHFMQ3JvbU9OMndIRzBFNzZsQ3IrSEFYNjN3TFhtckJEWFNrbU5nR296cHdWU1FzaUNDQkpsS21rVnZRTFFWb0V5MElLS1N4OXplRjhpakhPZUJzRUN6d3J1dThmVjFJdXJxZWNzaVZadjZvS3FLZFZRaFVQa0NFU05WeEFGeVZNeCtSaVdDeXlOampJRGgyNXFIb3FRU3lzWlY1b2kvUVl1N28zaVNsTUZKSmJGcGhYT1ZvT3hXQjJXTkEwZHhFUEZLaDVLQUNuQ3lXRE1JMlhjS0pHcHJPSU9jbkpocWdPZGYvRmhmQkpoMVFheHFsU01MSElmWTI1MTNtdHZwV0grQ3FPQTdHSGVLWi9xRkxBV0tZM25abjZxckFPVWpMeHltS2Vab3JSY1hEemZEckNoY2JjVFFWVStmRlJMbVczTVRkWHdsaVlSbFdHNjJTaU9IcXA3RXI2cGxaL0tET0NUVXBtZzM0Z2ZmVERwQTdsSkxGb2lOd2srb0J2ZmFwQ2ZoSlpuTEZTVVBOSmltSXBTaVFGNG9pcEU0V0VpdGwyWW5UTEdQVk1mRVVOVmlsanRIWEZNVFJXbWJrZnRkM1o1WE5ybFdjMXVpOXg0VkVDUmNldUYzcWJJd0JWV1RPRXJ3YnFOZDVvSFZTZXdTRWdGcDk3a2VMYmllRG9sckhoTFNac05GVzFTUXJoS0haU3dQdkdWTHdZM1A5aWEySkxpdFRnWHluWTdIYlRRUWY4ZnBuc094a0haWTdwWmRWSzdoSjJoZUNjU1RaYVl0V1cwcVJ6VHNIM0F0dzlvZTZCL2FHSGEzTUMwYVZnTFBjUlJmVUJoa2FxZTdKVGg5dzROK1NjTWNZVHIvaWhReHpjNHN3dkpxWG1pWmtCR3QxVTFWdGVMSitzQ0syNjJ5azlZQ0N1ZXR4YnJRUGcvQjBuL0p3KzZCeHc2VSt0WG1NQnRGeWxqTEpLZU0rUGVZM3p3TWpWUmhPREZ3aHlqbzhoc0hKQzNVd2FuelJBbmJWdmJSdy95ejJ6RWxCYTVXT1duZ0V6UE44bXUwaUxyYzVYMTBHOFZzaDg1WkM4d3krTmlQZkZIWEZFSzh3K3d3RzhiSjhKaDdVeDJEWXN5T1V3VkdVV1JOUE9WVDBJU0k1aGtWcTJVOXBrOENqUjVxVEZyMGJQaGsySTh5MGJ1RGJmTE1jY2JDVE9TSHVyRXMwTXBaYmRwQW5rY0JJenYwYUY4bzMwUWRRalptcnk4R3U4cy9EdktNajZJV3lQd0cyV3lSR21hVEI2NW5UVGVlUWcraVNENEZ3YmQyeGhabHNZUWF6TktGREFIT0ZyNUxsRGwxZVRnNHhTd054Z3N1bTNGdkRoT0hlRUc4VUZvNjRpSFAvQ0lsSUtQeEVOeStpaFBDbUtHSkNDUGtqTWs2cm1tVEVFa3B0aVZmR0oyTy9FNUVrOXB6OVI1ZXFsWXdWV3J0TXExbHhkamg3TWozTGVLWnBhUmJBRDlkcFBRbDRMNW91QVBHTnhRMzFwMmVxb0MrSVdzSWxiTlJiQjNsT2s4WVJlTDVKemxxRXJKSm9LK3g4RWtVeklZTGVwYm5MRHRWMmdjOHhhVExzTzNhQmFmRTVFdzdPWW5TMFN0alJSTVpYa1cvbURZdjE0TW91dHZQWVROeG9UZGVXU0ZxWWR3SGVNTEE5NGlrS2VwZXppTUEzcU9BZG1pQWZWL3NJZXNPUmozOFpEeG1QWWRVSE1HalQrSWhuYlVJYjdjRjBJNHFVdlJQYWVwZTZwMXlhQXVzV1kvNk5FejFoODNlQUhGakx0VlY1SDNLWHdNYkwvTHB6SmhvTHJhSDh4dWlkZFZEUFpmTU9DUGQrbmloK3p6L2dqZXdES2dWNncwOEg5K1pKY3VkdkgzcjhDK1Y3Q3ZjZlByNkJVdklYYXg3d2lkSHhQZFF5NjZYVnlSNUxLQmRxRVEzNWlEbU5TbzZKNXE0ak5KZkdZdHZncmllOExGTjJZQXVleWhJYlh5dXlURUo0R29WTWVjRmppbW1tQWRFcXhUQzdhQ1lEZURjUW1KUkhDb28yYlJpeVFaeGI3VGpIM1ZCR2lSQUsxYWdEY1ltU1NJS3d6eUx3VnMwc2hVSDNOYTRKZ2JVYTZ1MTVLdElOblEvWEx3QldCaFBiUEgwOWhpKzJuSzltcFNhNUxVbXJYUWJpQzBFYnFiYm1UVnVzZERackg5TkdWN05hRzFTV2p0V21nM0VOb0FnWmtGc0FqaGhOdFBVN1pYRTFxSGhOYXBoVlpCYUkrNTBQYjRHdFlQU0hwUi8rVXhGNVBxaU5QY0k2cUp0RXNpN2RZaXJTRFNiN2xJZXpnNSt6RW93dkNDZFZDWHdSaVV0MVlUbDB2aWNtdHhWUkRYUmhBVXdzaWhOL3JJOFh5NFI0N253ejNWUkRjajBjMXEwZDNBNHIzRWlydDV3dUtGMjA5VHRsY1QycHlFTnErRmRvTllmUlJtK29PZ1lEUHdJNlA3VGpQMlZST2dSd0wwWWgxN0ZHalRYSnRxZlpUSUc1eUlFT1VoUW52ay9hYzUrNnQxVXVmWlkyajdlZ1RZUWQrSWZUTmozNnpZdHdrSllCK1Q0bFcwOVFuWFZ0Z3p4VmR0WE9HaUM1aTJpZXByUzYwa1pnZVVLYkxyWjZNVDdqVzZUanUrMTJxR2U2Y3QrZHhXMXFudGpGTjF1VWZ5TUxsLzNWL2U2S3haYklVNGJYR2N4cmhjYVIvTDllRFk1QWd5VlIya2ZzUTFKYUlvOEY5cTcxVkFydW9tYTRJeUZBbTl4N0s5SysyRXIxLzZQVjhqalc3RGFYWlROS250OGc3bWEyU3g2NnpKeUEzR2F6aUc4M0FTd3lxN2MvazRGYnZPSGVQME5NSndiS1R5RWZ3S3kwS3BiaTluN0RhNmpNbU5sR0dWSEhOUjhsS3EzS3B1Y3NjNFA1TndqaUNjeDVJL2gzMlpOZ3pIU1lOaDVySGQ4WjFkK2N4TXRKZDhvelhSN0Qwc2NzWWFFaXpBQ2F5VG4rUFhHUTNUbFExRzZCanAwMjVibjZZNVJ2cmM4dGkzMk43QU1XbzVjN2VocHpsR3lRdnJjbzlrS2Q2Lzd0K3hianprdWdIRldEUzdEUzlkZlp1bkVTb1h3b2p1bEgxaEsreTM0V1E0eXJMejBmaTVFMTQyMVRNUjNTbWtEdXZiOXp2V2hVMnVDNUgzakxGOXVaclFha0V4b0hwd2RScWRKSnpCQ0dtMVpMOGdnaWVjMlBiU0JoZmRPTTMxWXY4dnJBeHIzUDA3MW9lTlNDN2dBL0xEWlVRYkxGV251bTJycFV2bTBneWViRHJydUJLWGRvSzlMZGVZNjJwSTV0NXM2czZTRXIyYkxxeUpWR3g4VGV5MUpCV2xrbmZOTHZNYjA1VGNNdUJmbXBKUG0xTnpxcWNvZWF1VkhEMmhrcy9tOEUrSkJReXNUbEhDWHV2dXJ3bG5VN1NTOUo5VDRySDBidkg0UWhiTURhNnp4THp5M3FCL3ZkZ2JSS1pUNTRqVElkWklnMi9iWTMrdjhRMlpZaDV1SGhTZU85cVZ2emV5cnhmOTNUMzQ4eHp4czFsY0RMSEhpVGJWL3B0OElMKy8rd0pYdVhub0szOWtpUHFSY3piRVNpNFdVME1wKzVYMmhwL3hENjBSTzNJejdFL2kySzgwWFRwNmcvWGxBcmwycmsyMHo5Q21YUGNoOXRyQmhhSi9obHJCai81VyswK3RFZjZUenR4alQrVnhYKzhJM3hWMXFQWDVtZjlQVzJodDNOdGl2V1A5MHd6dEovYlpaVnZnRTJ5YjRZLzlkZGkyTnR0RDkyamlrVzMyVjJkNzRKc3Y0UkMrM1dzSGN6UVh3YlA5azUxamFrMnBsd2ZJYnBTdlVEMmZGLzZUenV4aFBmd1ZWb1RaV0sxNWxZcmpSa1ErMllnL2pod3BxczB1eVU4SzVObVdudUl4dzNvRytTaDgyUVl1M0VWZFk5Rlg2bDFDblByOE5VY09sdGhFMFpKbHVoWFJteU9zUzczaVAxWnlqdFpCM0V1WDdoVklJdmhSczNmWXg0L0JHV2JzakVmNFhyYVAyaCtweDh2OW9yVUpzWEdwbE9hTVhVMmxyVS93SlFaLzh2d3BqT1JaNHZ5TnVMWXpYZktrWGtRMS9wRDFsNVlXbnZPZkthR3JmTTBqbjdtRTBRSHFZUGJkSTdxb3ZEdjlWZ0REaWJHUWcyTXA3eGxrSEo0RmpFTWFmWm1xSDdJTS9qKzcreC9zL2dNY1QzUE1BMTd5Y1hYQ3pyeGdXayt2MlhyTE5PWTk2dlFsMnhiRjdKUWRmMHhMcFBsZEhrWVlkenZDdVVqUkZkaDVqSVZrdjk5YmRwYlpxMmJubXAxcmRxN1orWDZ6OC9lY25XMTJiYkgybTQ3SHFGT2puMm04cjV4dDFKeGRjM2JOMlRWbmYxR2N2WkhrN0h2TDBIck4wRFZEMXd4ZE0vUVh4ZENibktGL1E2My9qZDNqZCthTDNsZU90bXFPcmptNjV1aWFvNzhvamhaZWRJU2o3eTFEbXpWRDF3eGRNM1ROMEY4a1E0OFo4bkEva01kOVplaFd6ZEExUTljTVhUUDBQV1JvaFJiVWxYYzFPOStJbldVdXE5bTVadWVhblFVN2g1SmRCanZYbFhjMU85ZnNYTE56emM3cnhNNTE1VjNOMlRWbjE1eGRjL2I5NGV5NjhxNW02SnFoYTRhdUdYcGRHYnF1dktzNXV1Ym9tcU5yamw1ZmpxNHI3MnFHcmhtNlp1aWFvZGVkb2V2S3U1cWhhNGF1R2JwbTZMdGg2RDQ3Q3JRendsbFNiUWZYcHdRN1ovT2NqRm9yd1pKNVhPZXdNZHZWTFBadnhqRHFMSVhyYnFKdlQyTFBxNVl3MkExRFl0Zm9XZGxWZ2ZGajZTMk1JVU4wTXF4TWtyZE4xcFBtcldpYjBLRHRtQTZWMWJZdHJtM2hMNE84amgxMU0rMXpFclBGWDZMMi9VTnJyMGozc3JLRTY2NTdUN2p1UmJsZTlrYS80OW9IdFJITW8xeXJPbU81MHFHdU1sNG5UOVNVZkpMYUU4MzNSQTJwWDdVbldzMFQxYVYrckpzbitpamtVOGJRa1NlOEFVT1AyUjNPa1dscmhxNFp1Z2hER3pWRDF3eGQ1d3FVRFAwNDVGTnRsc25SV3pHbTJzYmUwcTgvWFVTaXVFZXhWWC9Mak45a1hzbGp2eWJuTkEvWkREaXZ6ZjVaN0hqQmZpYjdCTDlOQ24wUTkra2dYM29ZOVFFSDF2SGI2djBEbGJaVTBiMHRaTE1MdE0yeHEyay93eitGQnVicDBGVHJNaTF3MlYrd2hITzBvQlp5bk5BaHlBdUFCbmxNdzRTbXd0RWQ5aDAwYjhhT2ordlFmN0E3OVJoV0hpSkpuUHFhWVhhSnZBbzgveWY3ZmhYZ0ROcjF2d0ZpRC9ETzIvQTNkdFh2dEZuQmZOUnFKSm1IZmJRSER6Ukgwcml2R0VwTjZSZzNoNStSV1N0b3lXWk01OFErV1RleS9FSjVMT1Zwa1lFczAySGF3R1NCckFQYUFmcFNuWW1LZURFdENkTjhxMjlWdFBwcDF1NG1mTGx1bGxLdE4zRU5mTVM0ZE1ZaWowL1l5KzBJVnVKWDhuWVEwZmRzM3pCQTlHTUZaZ0tkc05oK0QvMTNIYTJienA3WlN2ajJIYzVNRGxwQnNIOHo5aDk0VjkxYllhWW43TGozWUl2UVgzck5aZnFhZmY5ZG02WkljRXM2NXczM3BlTm4vWk05VDFQUzhVMjJINlQybHYxOWpWcjJLWFhXY0NOMkxEemxMT1hJaDdFamY5ZkU3MTBXdTI3ME9lTkhQazE5em5qUFZVLzZMUFZjdVgrcXMrVTdDNmtrbisxMlpxelU0eUxPZUROa3F5dEpIMEtwcVo1elMzbFdFWVN5ZEREdm5tcHNaVzJVSTZTMGNUTFBpRExWbUdTUGtVZVJzNHFNeHNlSzQvT2VKWGxHbm1hcGU1WCs3RStVejU0eWJrcXg5QWJiQW5LNHh1dFg5UjFOeHJYQXNWTzA1WE5reHk2My82SFZoLzN3SEEzMEw0R2h1NWdYbUtFUEtXZGZWc1BRajBMWjROWGVhK2ZvVDN6MDkwY010UDNSNUhweE50eUZYMXQ3UlkwZmJqT2FUZG9LSDN5Sk5iazBsbnJWVGRMVnBWOFQ0dDlsWG5NMVRLblN6YkxhSFdIWXl0b2Q5eitNd1A5bzF2NUg3WC9jTy85RE5TWnEzNlAyUFc3ZjkvZ20rbmFHU3J3TWQ3VXcwOURsY1NGNEV5MEZMemZ1bEpkWE01TGorSlhEL3BsMmdON0t2elFiNTVvKzRUM2h1U0Mvc2h3L2NCYjRnY1lhK29GdmtQOWVoN2szNlR6MUhPb21PNCs4UEFmWHJIOEMveWxsNUlEVlNHSmI1TXlubUYya0dUV2V0eXAwM21yMHJJaXVsTk8rSDVsRUx4TlArQzg1dTdja1BYUURQZFRYVGcrM1VQK2l6MXhNczZZSy9PNU9ROHJKczV5dWJJWmIyRjdxOTRVaWh4M09kZ0lHczR3cWhIeTdNa083NG5BckFiTWVCbFpJeG5QWW9GRk9ySllBWjFLeGhuSyt4Tm0wYjVsa1B1QWNMTWpwYzJCemszUHFEMUtyRGxRWjYxWGxqbFh5aXN2OEFicyt2SjlwSHBIeUFHTlJtcGVsK29NcXVXSVBLendhVERZZ0NSanZIczVSaFRPaERmUUpRRUozRzZ1dENuMFZqbm5vUCtValZid3BhNXZuSjNkWUx6N0FQRk1GU1Jnb0F3UEhrb01lZ010YUMyY1JvOTVaRStkK2lsWGszQ2RKNUdNYWw4clh3VHcyeVNUOFhtVVU2R3lmaHhHT0ZjeVlpTXpjT21Vc1ZvTjlpRjAyeGh2aU8rdlpFVjQ5V1dsWEZtM2piNGUyQ3NWczNKOWdKUTdNNG9PUHZSMmNYejFEQnhJd3NaYURKR0RnOVlGckxQVDdtbWpGQVdlUVU1UHQ2NktYQ0RMeFVBYnVyVWpnZThSVVBMbUlveStWdnR0WHJJZHhpLzFENnRuL3cxcEh1NGg1Q0YrQnR0MkMvTE9sbWEwSlQ3VjlkdFluOUJmUGNhNDdUeHYrRFROKzBUT2lPQWg4UGdVei9kOHpLZitNSGtINnY3S3J0ZUlaNFVhUUVUYi9KaU0rWDJyWlVuK2svYWJCKzk3ZUxtSHNkL21xSmNqN3RJSzR6a0QyaFJWTlU2eGdnbml1aFQ3OWxMVno5TkpuNkoyWTZISGNoaXllc21Qb3FjdU8rMmZLTSs5eXpLZExNSS81UVlZaWQ1QS8xdDlHam80K2Uzb0ZXTmxvcjhuUTdxREgyVUxkK0FtUHB5eWloWGJjUTl1aG80MW9ZcFhjSEhWb3p2YkJFVTRpMmx1Ti9qeExSU05aWTlhOUplYlBrbVpjRTc3bEZXdVhXUEg5TGxoM0c5OWFmdnk3eUxBUTQwSHRHVVY4Vk9XZmpQamFYeUFYeXdnV1FYMkxYZWNkMXZYVG51MmdXazQ5RG45RWZncVBmNDN6YlI5eDNlcFZ3VlVDWmYxb2E0Mzk2Qjh5OEZpR0I1SjFmWlc5YU43S2FNL1RtaUthOXlpKzlVWnhGMVNNR3ZoZms4Ly9kTkVUYUNmMFJkU2FmbGtqUHgxTE9kOXpqSlVlTUpjaHBMQ0QvczkydUtleS96VkhQQnRZdlR2RlBKdUxTSnRvUDEzdUZjUGZKcTZaRXZYQTRIWE4wWGVEbU94Mi9DOEhuL28xdzBvOGRiSHg5SVB5ekUrOGxhdTMwK2FPVnFVRmFiS1V4eU90TzR4WGlJdjNYaHhnajkrdmZKMWh2T3E2L3NVcGdjUDlXMmtZbDJTeEduMjUzaUYvcGFHOCttK2RWaHBDckZWMjFZRmN3Vkt2TmJ6OXRZYWRXMkRscjFOV1RhaFpXTHdmN2hpdkQ3NWVjb1p6MlV3czEvTFZUUHgzWXVMeWE3Ni9MQ1pPcmhXc3VmaExYZmVkeHNYZnNDZTdRTjkveHZSQzFDUkd0MVdaQy9Rd0swanhwc3R6ME4zSVdqVmFSZHRnSEhTM3EyaFhWWk1ZeFMvT1lEQWFQeXZpSlJoVFhZd0NvVmFqSzdHa0cxd3YvY3d1enVhWkJlVDdERFdSbnVBU1J3bG8rUFlOcFQ3RCtZWTIycGt1U3IyRnM0dmRtTlNubURudXhxUU8vM2w0N08za2tGZFZJWmlQNnQzcXd2ZFlEL09aOTRwV1MzOW1ueTB1RFZpTHQ4ZDFKR3BCSWFkTmJGaDlicnFEbG5DT0k1enkweDJjYTRqbXAxdFlCMlBpZkFMOHBlOFc2dFA5MW8wc05LdkxhRXVhZVpoZ2I2RGZkeVVucWhtOHYzTEtRN1M2ckRiUUY3c2tEK1lPNVFQYjdxOThWQ2pHWmZJRDFwYWRhNVFMdGxrZnp2a244TEFodW9oSzVidXdQbkRGTW1relNiU3hNcWVORlRyd3Q0VzJzb25lMGYyVlNSTER1RVFlSXZaenJOeUYrRnhVdzRvcStCRkdXVmZJaVc4MGVyY254RlhYT0s2aTk2N2lsY0RNMlJ4amJ3OGpYWmdmbWVNWlFqb08rcUp0SEI4TnZrckc0SjVybCsyQmlvb3FkY3hwK1lpdjBVOXdJNUdvbkZsWVZYMTZHYVRoZjBjMkU2TC9HLzRkN1V5dUY3M2Q0Zm5DOHp3TC92a0QrdGJBLy9tOVVTRHg3M0FPQk43czZ5QXFiakRqTWczeTdKZVlyUi9pNkp6NzQvN0pkTUd1c1hOOGpvMTl2akRuSGIvWFB6eGY2SDd2Nk9oOE1XY04yK3o0UFhzUEQ3SUh1TTgrd0crOUlUWFBzZGs5NWhmWUcrRDM4UVNQSGZUdzIyQ016VEZ0dEVmc1dOZnZUV2puaEs0K3Nla21SM1E5YWc1M29KZkgwS3VHM3ovUm9UdjlFd011MHo4eHNSbXdqUVpyREdwTWFQeEJGQnNQc1FuZW5oUFlCeStSL1RwTjNjUHhHbENmQi9TVUEraXN3YjdoY3czR2ZUeGtQS1o5QjlTY1FlTlB6bnJYQzdyeEF4WVlrcEY3eHdUKy9Icnhjc1NPNlRUOEE5NU83Ti9ZOVppRUo0ZnNLU2FIL2ZORjI1dFpIcjZOWjNJMldNNkYvTDJ6MGZWaWNEU0JSOWdkanFFWkRmRkpSanVvZ0VQVWpSSHNnb3VNSnZ3N1EwTDNkMFpEYW14NDZKMmRYZnkyMDhmR25vRDZqSVo5T0dFZkx0cndmeG45ZXI1b1FtdlQxeE5xUm5EKy91QVFtbDlzT01aaDdSNTluY0RsZnJGN0NPeHdoSWdlUStmMjdTRnNHOXFuMFBTcEdkb29nVjM3Q0U3YjI3WGhZWTVmMmZCdGFPTzNnd2txMXNHRWlMS1BCQStEOWs5c3NXemFQeHZnc1dkSDJQL0pHQy9Iem9UbXJMK0RGeCtjc1F0by92R1JkYjFnZjg0WExSOGJqeHFkbW9iVXNIWUF4elAxYWZyWU1JTnhiRGZvV3JiT1c0TzNKclo3eDd0dzNHUUhSOXhrOUJLYU0zZ1EzZC90bmVJeHV6M1V1dDNlRG03dDcrQzMvdEgxWWppWWVJdkd6MDEvY2pLaUQrTkR2cVYzd2ovNHUyY0lzWDkwekxwM2ROekhhL3FqL1dNTWFFZWFnK1ptbTVtM3d5TVUyT2h3U0EwYytsODR4QXdNUllIc2RUNzFhaUxWVXlwaWpxUS93MUtMbnpCc05iQXdybzFsc2xNMDVWTW1KZFpqLzNCSXduM0ZKRDNjZWNWbzhQaytiRGdkbzg0TitTaDl5UzR6UlU1ejBDZTg5SWREaE9qSXh1T09kdkV5L1VOVWdOMGhVTUllWEhMM09XemZHOEs5ZlAvRklYdm1GM1NRN3lmdTErRDMyMFIyaGJlbXcxcFhtcnVkeGU3WUtIVEh3NlA5WU1QWnlRRGZla0JOL0IwSU9KaW5OSmFuTkpRNzhaSGNuYnVRVEp6czRHTVVmcEJ2UThCUW9vcEgwRXVDNXUrUCs5ZUwvWk16NlBqK3lTdHNiUGJOYkxIMkZiWENlREZ6NXJFeitzeXgyTy9qUGZmN3p5Tzc5dnNITU1EN0wrQkdKellTN29tTkN1MlArcnZzdG1NMFN5L0dSMFM3dTVGbS9Dc2pxWlkxYjNqV2ZDWWpldGozRmpvYnlhRC9yQjN2MmQ2aWJmaGoreFNOemY0dTJscm93d2llTzJKZ043aUJIZkUwdzNua3B5ckp4SUxPajlqMnZ5RGtMR0pldlF6enF0L1V2SFpiRmMxcnA1QjVMWVRNdjZ1UXdhVW83OUNSL29rSERnNFdEOHh1RXpQOWhwanBxOExzSWNlTURQc0hYUHArbGVPdVdWWGROZGVOWWRQSXdNYnRFRGFtVVJvZDNTSjRISUxISVhnNkJFK0g0T240OW9qeG16djFiWnUzNEI0WXpCV3diZjZoR0lEUE9JRGhha0I2NjJyMHlDaVk3TUtJcHRITVF0TXA3L3htb1NscG1yUGMwWWtRdGxvS0NPMVJqL2JZMUJZSkliWTRvR0pDYTFzYkMrT1hPMnFWV09vc2tGbnF1QzBSU3VnVlFva1NZVmFJVVpFd3F4QTZaUUt0TlVWbkt4R0UzbENEbG13clZ4eUtyaXhNcjh6N2E0bU5vUFErWXZNR05VTUU2b1JPSDFNcFY3ZklPcGtjN2xvVkIxYURvR2tRTkEyQ3BrSFFOQWlhUmtGb3RnSm9najJvUmhUS2ZyNlg1S3pIM1lZbXdkUWttQnlDeVNHWTFFNUJVWmpDVVpnRms3SGVNQzF4bkQxSlVTYmtwUElZM1RrVFpTSFVKSVNhaEZDeklFSlBsUWhOTUZYOEFSUFI5MUdUektWcmtocW5QbHI5NmIzRnlhaUkweU9PMHc3VEV2cTV5RXNzNG44VFRJa1JXc1g0Q1BvZGdhZGxFVDY0UHhlZmpwVmgzekMyaXlBMHU2SHROd2doZ3hDeUNDR0xFTElvNEFPcHhpSStlQXdNVjlpR01oaUt1Qm1tYVA3UzZHVlJlWDZDcVZTMGJDRDFMb2ZTbUdZRnp6S1VwY0xueW1BYTNXSmdQdUZnN3VKc0diM3pTNlFiUGdjVmFRUW81Rml2WWpDMlo0UmpXNlJtMUk1RVZoZ0RwOGJHcTVIdmIxV09ZNHhPTVFSN1BQL1FxNFRYUm1RUVV5M2orK3lFRmtkTk53dUhObnJES3UrbU5oc0VHL0luQU9kbFpSdXFJZmNiTUF2UE81ajZyRFIyMlFRbzlLM2pFbkx6SlRrYmpTeG53MWlwc2xVRjZGZkdhelNWSHdYSWFoSkErbFRTTFpFdGJSQkdiaGF4Z1ZyazZ4WWFrQWhPTFI0RG9WS3RaRlRLdWhVUVc5VUJPc2FpQVJpZzd6TFZUTzh1VjgvdWd0U2lHRDBNTUtMRm15NldibHdFQy9KaUdheEMxTVdSUWJYSzlkQjB3K1h3Z0Frc0NFOXJ6c2tMVGdhQU1IRmF6RzRXVkxBeDB5dGpQbWNmZWttOXlzWk1hTlJ1TUllY0hYQkx1T0ZES1V5bGhGdmJMYTlXRnM4dk8xeXZ6Sm0xYk53VUE3TW5zczNjM0JSSHNvcjNwblk3TUkyZkRxWnJsQWN6OE4yYUJxRkoybGdNVFgxZTJQa2didzFBOUNvbzRZalcydVJQUGtwSzZGa0ZIQS9QcWpCMmhXbmdPb2d3TGw4RlFmTnM0ZnlDYlNBdldIeUlBWXNmeGdydDNBZ2d2c1NaOGZlUkY0VUlxK0ZvZitURXJSMUN0a3ZJb3FtTUlOdTRhZDdSSWx4SiswQk5PdHpvWWt3QzBNSmNGbFVrcFdQYjVObEhadDRvZnUwU3VpME9iNHZqMitJQTA0aUdEMU5QbWxFQ2IzbDhnTWEvR0pqbEF0MTRuSXZ4VnNYa2Z4RTFUYUpaUUZGTlE2V29MWTRrQnpJTngwQlJCWTdTdU0vSGNZTFR3NjcyUjVrUlh3aklZdDZnR2trYzZHQjBwa3MzMWpqaWNUUUxJTWZSb1U5a2tJNm9ZTklCRmlKY1liWDV1ZlpCR3VxRTZydmxUa3NWekJzMGxsT1FvSWF6bFpoeTczRVU3VjV5aWowYkxKRXJQdURMTWNNWGgwTVpsbXFDSFcwdjZtTWp4cE5rc1JNOHFYU3QwUkFWRFh5ZGxZSlhIcW8rV3U4LytQdHI0Sk1NVllwQktUTnc5ZWE4U0twUDdTNnVVczhvMDVmTXJXUmpKeVp1d2xXLzZlakplU2xYbWQwek1nSzRNRWFwNEd1dkRMeW95UTBkYlRGczljNDhodWMzSE04VFJVMU1EK3NXSFcwV1c1MlJITEt5SGpyS2VLK0FJWWJBS2lPWjREcUVwTUU5RzllUXdyMFpkN1RKUzgyeElZd3RDYzhPQjdSRGlMcTgxTWpsbUxvZDJTTERoN0g0a0N5YUdRY2ZoQTg1R25PckE2WGU1RlhheWVoUkpZck5pQ2hvYVhMZWJJaFQxdFFJSndqTWI1NE9tNUpQS1d5M2NOWnh1Q1E4U3IxQWlBTmJCMXdhQTVJR1lveW1lUWM5RElRYXFwSEFWRnN0QWxIM2NqSDhRUjB0OGxtQllxaTJLNkpheUh4elQ5MXpwTlFyNXdackdnUFZVb0hhc3RUSzNPUjFBazFlS01EYWVPNmZuS0V4K2o2MlBlYUE4KzhBdE80VkJub3pTQXJSdXh6ZTRZcmFBaFpMSkxYRjVKVHV6Rzg2T2NXaGJVb0tHMmRkY0poc0xBcE9wd21CTE5ZWG1OUUNzcVpMeUdKcllvc0tpd282NXJnZGNCenRoRytwd3U5aGdOOHRjSzA1SzhTMVVsSWpvTnJNYVlHVUVMSWdna1NaU2xwRnJ3QzBWYUFNdEtEaTBzY2MzcGYwdWhLZUJvbitZRWNaOTkzamF1ckYxZFJ6bGtTck4zVkIxWlJxcU1JaGNnU2l4aXVJZ3VTcG1Id015d1dXUmtlWmdVTTNOUTlGeUtXVmpDdE5rWDRERi9kR2NhV3BBaExMWXRNS1o2dkJXS3dPUzVxR0R1S2hZaFVQSllBVTRXUXc1cEV5YnBUSVZGWnhCem01TU5XQnpyLzRNRDZKc0dxRFdGVXFSaGE1anpHM091KzF0OUl3ZjRWUlFQWXc3NVJQZFFwWWk1VEdjek0vVmRZQlNrWmVPY3pUVEZGYUxpNmVid2ZZMExqYmlhQXFIejZxcGN3MjVxWnFlRXVUaU1vdzNXd1VSdy9WUFFuZjFNcFBaUWJ3U2FsTTBHL0VqejZZOUlIY0pCWXRrWnNFSDlDTmJ6WElUMExMTXhZcVNoNXBNVXhGcWNRQVh6aXVRQlFlSm1MYmhka3BZOXd6OVJFeFZLV0kxZDRSeDlSVVllcDIxSDVubDhlbFhaN1Y3TGJJalVjRkZCbTNYdWh0aWd4Y1ljVVV2aEs5T3d4V1JZTzNkSzZDVTI5eVBGdHhQSjBTVnJ5bHBNMkdpallwSVZ5bERrcFluL2pLRjRPYkgyeE5iRW54V3B3TFpidWREbHJvb05OTCtmRVZhcGxqdWxsMVVydUVuYUY0SnhKTmxwaTFaYlNwSE5Pd2ZjQzNEMmg3b0g5b1lkcmN3TFJwV0FzOXhGRjlRR0dScXA0TVhpMzlUZ3QvWGxDNDdvOENkWHhEUy9yeHRRQnl6WUNNYnF0cXJLNFhUOVlGVnR4c2xaK3dFRlk4YnkzV2dmQi9EcEwrVHg1MER6aDBwdGF2TUlIYkxsTEdXQ1E5WjhhOXgvamdaV3FpQ01HTGhUbEdSNUhaT0NCdnB3eE9teUZPMm5id3JyaE14SlFXdVZqbHA0Qk16emZKcnRJaTYzT1Y5ZEJ2RmJJZk9XVDA4ZzhYNjRrLzhoODNFeStnR2RFTEVYSnFXSlRKWWFySUtJcWttYTk4RXBJWXdTU3phcVcweitSUm9NbExqVm1MbmcyZkZPTlpObkp2dUYyT09kNUltSkgwVUNlZUhVb3B1MDBUeU9NZ1lIeVBEdVViL01YSWo3bExWdlhsMVhobjRkOVJsdkZCM0JxQjN5aVRKVXJUWlBMSTdhVHh6a1B3U1FUQnZ6RG8zc2JJc2pTR1dKdFJvb0E1d05IS2Q0RXFyeVlISDZlQXZjRmcwVzByNXNWeDZnZzNpQTlDVzBjOC9JRkhwQlI4SkI2UzAwZDVVaEF6SkFGNWxKd2hVYzgxWlFvaU1jV3U1Qk96MjRuUGtYaEtlNmJPMDB2RkNxNWFwVld1dmJ3WU81d2Q0YjVWTkxPTVpBUG90NXVFdmhUTUZ3Vi9vRjFnZld2WjZha0s0QmV5aWxnMUY4SGVVYWJ6aEYwc2tuT1dveW9sbXdqNkhnZVRUTWxndEtodlFlOFd2aWp5enFjbCtCYk40bk1pRW9iZC9HU0pxTFdSZ3Frc3o4SWZEUHZYaTdWN0ZkUWdHdHBSaC9oeVh3amhwQzVGOTV5bTdxbldKWU82eEpyOW9FZlBXSC9jNEFVVU0rNVdYVVhlcC9BeHNQMHVuOHE4NE8vRmVSbThybUt3LzRJQkQ2OHRnb3Nmc3MvNzhPNGg5bmszOGdLenlDNWQ3T0x2WDRGOXIyQmY0K2JYMFN0ZVF1eGkzeEU2UHlhNmgxeDB1N2dpeWNYWGlpZkZGL21KU2tsODBUM1Z4R2VTK014YWZCWEU5NFNMYjh6ZnYwZS9aUmNYNHBOQVZLcGpUZ3NjVTAyd0RnbldxUVZiUWJDYndiaUVSQ0k0MUZHejZFV1NqR0xmYWNhK2FnSzBTSUJXTGNBYmpFenhLeEx2MGJmaHNFa2pVMzNNYVlGamJrUzV1bDVMdG9Ka1EvZkx3UmVBaGZYTUhrOWppKzJuS2R1clNhMUpVbXZXUXJ1QjBFYm9icnFSVmVzZUQ1bkY5dE9VN2RXRTFpYWh0V3VoM1VCb0EvbzFuUUFXSVp4dysybks5bXBDNjVEUU9yWFFLZ2p0TVJmYUhsL0QrZ0ZKTCtxL1BPWmlVaDF4bW50RU5aRjJTYVRkV3FRVlJQb3RGMmtQSjJjL0JrVVlYckFPNmpJWWcvTFdhdUp5U1Z4dUxhNEs0dG9JZ2tJWU9mUkdIem1lRC9mSThYeTRwNXJvWmlTNldTMjZHMWk4bHhxOXhGdTJlT0gyMDVUdDFZUTJKNkhOYTZIZElGWWZoWm4rSUNqWURQekk2TDdUakgzVkJPaVJBTDFZeHg0RjJnUnZHTytqUk43Z1JJUW9EeEhhSSs4L3pkbGZyWk02eng1RDI5Y2p3QTc2UnV5YkdmdG14YjVOU0FEN21CU3ZvcTFQdUxiQ25pbSthdU1LRjExYzRHOENodnJhVWl1SjJRRmxpdXo2MmVpRWU0MnUwNDd2dFpyaDNtbExQcmVWZFdvNzQxUmQ3cEU4VE81Zjk1YzNPbXNXV3lGT1d4eW5NUzVYMnNkeVBUZzJPWUpNVlFlcEgzRk5pU2dLL0pmYWV4V1FxN3JKbXFBTVJVTHZzV3p2U2p2aDY1ZCt6OWRJbzl0d210MFVUV3E3dklQNUdsbnNPbXN5Y29QeEdvN2hQSnpFc01ydVhENU94YTV6eHpnOWpUQWNHNmw4QkwvQ3NsQ3EyOHNadTQwdVkzSWpaVmdseDF5VXZKUXF0NnFiM0RIT3p5U2NJd2puc2VUUFlWK21EY054MG1DWWVXeDNmR2RYUGpNVDdTWGZhRTAwZXcrTG5MR0dCQXR3QXV2azUvaDFSc04wWllNUk9rYjZ0TnZXcDJtT2tUNjNQUFl0dGpkd2pGck8zRzNvYVk1UjhzSzYzQ05aaXZldiszZXNHdys1Ym9oZkU2UmYvMzZicHhFcUY4S0k3cFI5WVN2c3QrRmtPTXF5ODlINHVSTmVOdFV6RWQwcHBBN3IyL2M3MW9WTnJndVI5NHl4ZmJtYTBHcEJNYUI2Y0hVYW5TU2N3UWhwdFdTL0lJSW5uTmoyMGdZWDNUak45V0wvTDZ3TWE5ejlPOWFIalVndTRBUHl3MlZFR3l4VnA3cHRxNlZMNXRJTW5tdzY2N2dTbDNhQ3ZTM1htT3RxU09iZWJPck9raEs5bXk2c2lWUnNmRTNzdFNRVnBaSjN6Uzd6RzlPVTNETGdYNXFTVDV0VGM2cW5LSG1ybFJ3OW9aTFA1dkJQaVFVTXJFNVJ3bDdyN3E4SloxTzBrdlNmVStLeDlHN3grRUlXekEydXM4Uzg4dDZnZjcySS9BcnlZL1JaWG11SFdDTU52bTN3aS9EQlBOdzhLRHgzdEt2RWJ4MXZzbkgwQm1PUEUyMnEvVGY1UURtL05id2hWbkt4bUJwSzJhKzBOL3lNZjBpL09id1orWVY2K2Rqa0x4UnZzTDVjSU5mT3RZbjJHZHFVNno3RVhqdTRVUFRQVUN2NDBkOXEvOGwvS3gzL1NXZm0vYlp6Ry9lMjhIZWM0VGViNFpmUFhiYkZDSDdiR1g3c3I4TzJ0ZkczbmVGZkU0OXNzNzg2MndQZmZBbUg4TzFlTzVpakNYL1IrWi80ZStwTnFaY0h5RzZVcjFBOW54ZitrODdzWVQzOEZWYUUyVml0ZVpXSzQwWkVQdG1JUDQ0Y0thck5Mc2xQQ3VUWmxwN2ljZkFiM3ZDeURWeTRpN3JHb3EvVXU0UTQ5Zmxyamh3c3NZbWlKY3QwSzZJM1IxaVhlc1Yvck9RY3JZTzRseTdkSzVCRThLTm03N0NQSDRNenpOZ1pqL0M5YkIrMVAxS1BsL3RGYXhOaTQxSXBUZmdkY1pXMlBzR1hHUHpKODZjd2ttZUo4emZpMnM1MHlhdnd1K0pmODhobkxtRjBnRHFZZmZlSUxpcnZUcjhWd0hCaUxPVGdXTXA3QmhtSFp3SGprRVpmcHVxSExJUFYvT3I1d3dqamJrYzQxNC85Um4xeGRoNWpJZG52OTVhZFpmYXEyYmxtNTVxZGEzYSszK3o4UFdkbm0xMWJyUDJtNHpIcTFPaG5HdThyWnhzMVo5ZWNYWE4yemRsZkZHZHZKRG43M2pLMFhqTjB6ZEExUTljTS9VVXg5Q1puNk45UTYzOWo5L2lkK2FMM2xhT3RtcU5yanE0NXV1Ym9MNHFqaFJjZDRlaDd5OUJtemRBMVE5Y01YVFAwRjhuUVk0WTgzQS9rY1Y4WnVsVXpkTTNRTlVQWERIMFBHVnFoQlhYbFhjM09OMkpubWN0cWRxN1p1V1pud2M2aFpKZkJ6blhsWGMzT05Udlg3Rnl6OHpxeGMxMTVWM04yemRrMVo5ZWNmWDg0dTY2OHF4bTZadWlhb1d1R1hsZUdyaXZ2YW82dU9icm02SnFqMTVlajY4cTdtcUZyaHE0WnVtYm9kV2ZvdXZLdVp1aWFvV3VHcmhuNmJoaTZ6NDRDN1l4d2xsVGJ3ZlVwd2M3WlBDZWoxa3F3WkI3WE9Xek1kaldML1pzeGpEcEw0YnFiNk51VDJQT3FKUXgydzVEWU5YcFdkbFZnL0ZoNkMyUElFSjBNSzVQa2JaUDFwSGtyMmlZMGFEdW1RMlcxYll0clcvakxJSzlqUjkxTSs1ekViUEdYcUgzLzBOb3IwcjJzTE9HNjY5NFRybnRScnBlOTBlKzQ5a0Z0QlBNbzE2ck9XSzUwcUt1TTE4a1ROU1dmcFBaRTh6MVJRK3BYN1lsVzgwUjFxUi9yNW9rK0N2bVVNWFRrQ1cvQTBHTjJoM05rMnBxaGE0WXV3dEJHemRBMVE5ZTVBaVZEUHc3NVZKdGxjdlJXakttMnNiZjA2MDhYa1NqdVVXelYzekxqTjVsWDh0aXZ5VG5OUXpZRHptdXpmeFk3WHJDZnlUN0JiNU5DSDhSOU9zaVhIa1o5d0lGMS9MWjYvMENsTFZWMGJ3dlo3QUp0Yyt4cTJzL3dUNkdCZVRvMDFicE1DMXoyRnl6aEhDMm9oUnduZEFqeUFxQkJIdE13b2Fsd2RJZDlCODJic2VQak92UWY3RTQ5aHBXSFNCS252bWFZWFNLdkFzLy95YjVmQlRpRGR2MXZnTmdEdlBNMi9JMWQ5VHR0VmpBZnRScEo1bUVmN2NFRHpaRTA3aXVHVWxNNnhzM2haMlRXQ2xxeUdkTTVzVS9XalN5L1VCNUxlVnBrSU10MG1EWXdXU0RyZ0hhQXZsUm5vaUplVEV2Q05OL3FXeFd0ZnBxMXV3bGZycHVsVk90TlhBTWZNUzZkc2NqakUvWnlPNEtWK0pXOEhVVDBQZHMzREJEOVdJR1pRQ2NzdHQ5RC8xMUg2NmF6WjdZU3ZuMkhNNU9EVmhEczM0ejlCOTVWOTFhWTZRazc3ajNZSXZTWFhuT1p2bWJmZjllbUtSTGNrczU1dzMzcCtGbi9aTS9UbEhSOGsrMEhxYjFsZjEramxuMUtuVFhjaUIwTFR6bExPZkpoN01qZk5mRjdsOFd1RzMzTytKRlBVNTh6M25QVmt6NUxQVmZ1bitwcytjNUNLc2xudTUwWksvVzRpRFBlRE5ucVN0S0hVR3FxNTl4U25sVUVvU3dkekx1bkdsdFpHK1VJS1cyY3pET2lURFVtMldQa1VlU3NJcVB4c2VMNHZHZEpucEduV2VwZXBULzdFK1d6cDR5YlVpeTl3YmFBSEs3eCtsVjlSNU54TFhEc0ZHMzVITm14eSsxL2FQVmhQenhIQS8xTFlPZ3U1Z1ZtNkVQSzJaZlZNUFNqVURaNHRmZmFPZm9USC8zOUVRTnRmelM1WHB3TmQrSFgxbDVSNDRmYmpHYVR0c0lIWDJKTkxvMmxYbldUZEhYcDE0VDRkNW5YWEExVHFuU3pySFpIR0xheWRzZjlEeVB3UDVxMS8xSDdIL2ZPLzFDTmlkcjNxSDJQMi9jOXZvbStuYUVTTDhOZExjdzBkSGxjQ041RVM4SExqVHZsNWRXTTVEaCs1YkIvcGgyZ3QvSXZ6Y2E1cGs5NFQzZ3V5SzhzeHcrY0JYNmdzWVorNEJ2a3Y5ZGg3azA2VHoySHVzbk9JeS9Qd1RYcm44Qi9TaGs1WURXUzJCWTU4eWxtRjJsR2plZXRDcDIzR2owcm9pdmx0TzlISnRITHhCUCtTODd1TFVrUDNVQVA5YlhUd3kzVXYrZ3pGOU9zcVFLL3U5T1FjdklzcHl1YjRSYTJsL3A5b2NoaGg3T2RnTUVzb3dvaDM2N00wSzQ0M0VyQXJJZUJGWkx4SERab2xCT3JKY0NaVkt5aG5DOXhOdTFiSnBrUE9BY0xjdm9jMk56a25QcUQxS29EVmNaNlZibGpsYnppTW4vQXJnL3ZaNXBIcER6QVdKVG1aYW4rb0VxdTJNTUtqd2FURFVnQ3hydUhjMVRoVEdnRGZRS1EwTjNHYXF0Q1g0VmpIdnBQK1VnVmI4cmE1dm5KSGRhTER6RFBWRUVTQnNyQXdMSGtvQWZnc3RiQ1djU29kOWJFdVo5aUZUbjNTUkw1bU1hbDhuVXdqMDB5Q2I5WEdRVTYyK2RoaEdNRk15WWlNN2RPR1l2VllCOWlsNDN4aHZqT2VuYUVWMDlXMnBWRjIvamJvYTFDTVJ2M0oxaUpBN1A0NEdOdkIrZFh6OUNCQkV5czVTQUpHSGg5NEJvTC9iNG1XbkhBR2VUVVpQdTY2Q1dDVER5VWdYc3JFdmdlTVJWUEx1TG9TNlh2OWhYcllkeGkvNUI2OXYrdzF0RXVZaDdDVjZCdHR5RC9iR2xtYThKVGJaK2Q5UW45eFhPYzY4N1Robi9EakYvMGpDZ09BcDlQd1V6LzkwektQNk5Ia1A2djdHcXRlRWE0RVdTRXpiL0ppTStYV3JiVUgybS9hZkMrdDdkTEdQdGR2bW9KOGo2dElLNHprSDFoUmRNVUs1Z2dubXVoVHo5bDdSeTk5Qmw2SnlaNkhMY2hpNmZzR0hycXN1UCttZkxNdXh6ejZSTE1ZMzZRb2NnZDVJLzF0NUdqbzgrZVhnRldOdHByTXJRNzZIRzJVRGQrd3VNcGkyaWhIZmZRZHVob0k1cFlKVGRISFpxemZYQ0VrNGoyVnFNL3oxTFJTTmFZZFcrSitiT2tHZGVFYjNuRjJpVldmTDhMMXQzR3Q1WWYveTR5TE1SNFVIdEdFUjlWK1NjanZ2WVh5TVV5Z2tWUTMyTFhlWWQxL2JSbk82aVdVNC9ESDVHZnd1TmY0M3piUjF5M2VsVndsVUJaUDlwYVl6LzZod3c4bHVHQlpGMWZaUythdHpMYTg3U21pT1k5aW0rOVVkd0ZGYU1HL3Rmazh6OWQ5QVRhQ1gwUnRhWmYxc2hQeDFMTzl4eGpwUWZNWlFncDdLRC9zeDN1cWV4L3pSSFBCbGJ2VGpIUDVpTFNKdHBQbDN2RjhMZUphNlpFUFRCNFhYUDAzU0FtdXgzL3k4R25mczJ3RWs5ZGJEejlvRHp6RTIvbDZ1MjB1YU5WYVVHYUxPWHhTT3NPNHhYaTRyMFhCOWpqOXl0Zlp4aXZ1cTUvY1VyZ2NQOVdHc1lsV2F4R1g2NTN5RjlwS0svK1c2ZVZoaEJybFYxMUlGZXcxR3NOYjMrdFllY1dXUG5ybEZVVGFoWVc3NGM3eHV1RHI1ZWM0VncyRTh1MWZEVVQvNTJZdVB5YTd5K0xpWk5yQldzdS9sTFhmYWR4OFRmc3lTN1E5NTh4dlJBMWlkRnRWZVlDUGN3S1VyenA4aHgwTjdKV2pWYlJOaGdIM2UwcTJsWFZKRWJ4aXpNWWpNYlBpbmdKeGxRWG8wQ28xZWhLTE9rRzEwcy9zNHV6ZVdZQitUNURUYVFudU1SUkFocStmVU9wejNDK29ZMTJwb3RTYitIc1lqY205U2xtanJzeHFjTi9IaDU3T3pua1ZWVUk1cU42dDdyd1BkYkRmT2E5b3RYU245bG5pMHNEMXVMdGNSMkpXbERJYVJNYlZwK2I3cUFsbk9NSXAveDBCK2Nhb3ZucEZ0YkJtRGlmQUgvcHU0WDZkTDkxSXd2TjZqTGFrbVllSnRnYjZQZGR5WWxxQnUrdm5QSVFyUzZyRGZURkxzbUR1VVA1d0xiN0t4OFZpbkdaL0lDMVplY2E1WUp0MW9kei9nazhiSWd1b2xMNUxxd1BYTEZNMmt3U2Jhek1hV09GRHZ4dG9hMXNvbmQwZjJXU3hEQXVrWWVJL1J3cmR5RStGOVd3b2dwK2hGSFdGWExpRzQzZTdRbHgxVFdPcStpOXEzZ2xNSE0yeDlqYncwZ1g1a2ZtZUlhUWpvTythQnZIUjRPdmtqRzQ1OXBsZTZDaW9rb2RjMW8rNG12MEU5eElKQ3BuRmxaVm4xNEdhZmpmYUdkeXZlanREczhYbnVkWjhNOGYwTGNHL3MvdmpRSXBmNGZ6SHZBMlh3ZVJjSU5abG1tUVc3L0VEUDBRUitUY0gvZFBwZ3QyalozamMyenM4NFU1Ny9pOS91SDVRdmQ3UjBmbml6bHIyR2JINzlsN2VKQTl3SDMyQVg3ckRhbDVqczN1TWIvQTNnQy9qeWQ0N0tDSDN3WmpiSTVwb3oxaXg3cCtiMEk3SjNUMWlVMDNPYUxyVVhPNEE3MDhobDQxL1A2SkR0M3BueGh3bWY2SmljMkFiVFJZWTFCalF1TVBvdGg0aUUzd3hwekFKbmlKak5kcDZoNk8xNEQ2UEtDbkhFQm5EZllObjJzdzd1TWg0ekh0TzZEbURCcC9jdGE3WHRDTkg3QmdrQXpiTy8vSWZuNjllRGxpeDNRYS9nRnZKL1p2N0hwTXdwTkQ5aFNUdy83NW91M05MQS9md0RNNUd5em5RdjdlMmVoNk1UaWF3Q1BzRHNmUWpJYjRKS01kZGpqN2dyb3hnbDF3a2RHRWYyZEk2UDdPYUVpTkRRKzlzN09MMzNiNjJOZ1RVSi9Sc0E4bjdNTkZHLzR2bzEvUEYwMW9iZnA2UXMwSXp0OGZIRUx6aXczSE9LemRvNjhUdU53dmRnK0JIWTRRMFdQbzNMNDloRzFEK3hTYVBqVkRHeVd3YXgvQmFYdTdOanpNOFNzYnZnMXQvSFl3UWNVNm1CQTU5cEhVWWFEK2lTMldTdnRuQXp6MjdBajdQeG5qNWRpWjBKejFkL0RpZ3pOMkFjMC9Qckt1Rit6UCthTGxZK05SbzFQVGtCcldEdUI0cGo1Tkh4dG1KSTd0QmwzTDFubHI4TmJFZHU5NEY0NmI3T0NJbTR4ZVFuTUdENkw3dTcxVFBHYTNoMXEzMjl2QnJmMGQvTlkvdWw0TUJ4TnYwZmk1NlU5T1J2UmhmTWkzOUU3NEIzLzNEQ0gyajQ1Wjk0Nk8rM2hOZjdSL2pFSHNTSFBReEd3emszWjRoQUliSFE2cGdVUC9Dd3ZlWUltRGk0dnVwbGorMnNTWE1GSDVhMHZ6a1B3YmZDRUVUTGwyK09UNUZLZk9ZWnEyeWFURWV1d1BYekVSRDNkZU1mNTd2ZyszT1IyVHRQbENqWjVHcnl5SGhhWTBjVHJ6aDBORTU0ajA0bWdYbS80aHluNTNDR3l3QnhmZGZRN2I5NGJzTm9kSCs4R0dzNU1Cdm5LQW12Z0xDSEJVVFdsUVRXbE1kZUpEcWp0M0laTTMyV0Y5aC8rOU9HUW92cUI3KzM3cWczekwyTmhCRC9ZU29WVThncDc5Q1BuMzB2bTlOcGdWbXpPSXQ4Tjd4dTZuRjRJc2NUOS92ODk4Z3YzK0FRekovZ3M0NHNSR2lqeXhVUVg5L3dNQmZZTnFGQXJlelFBQUFMNXRhMEpUZUp4ZFRzc09nakFRN00zZjhCTUFnK0FSeXNPR3JScW9FYnlCc1FsWFRacVl6ZjY3TFNBSDV6S1RtWjNOeUNvMVdOUjhSSjlhNEJvOTZtYTZpVXhqRU83cEtKUkdQd3Fvemh1TmpwdnJhQS9TMHJiMEFvSU9ERUxTR1V5cmNyRHh0UVpIY0pKdlpCc0dyR2NmOW1RdnRtVSt5V1lLT2RnU3oxMlRWODdJUVJvVXNseU45bHhNbTJiNlczaHA3V3pQbzZNVC9ZTlVjeDh4OWtnSisxR0piTVJJSDRMWXAwV0gwZEQvZEIvczlxc080NUFvVTRsQld2QUZwNlpmV1NEdEJGZ0FBQXExYld0Q1ZQck95djRBZjFlNkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUI0bk8yZGpaSGJPQXhHVTBnYVNTRXBKSTJra0JTU1JsSklicENiZC9QdUMwakpXYThkMjNnem50WHFoNlFJRXFJQWtQcjVjeGlHWVJpR1lSaUdZUmlHWVhoSnZuLy8vdHZ2eDQ4Zi94MjdKMVdPZTVmaDJmbnc0Y052djY5ZnYvNnE5OXErWi8xWE9hb013L3VCdk0vaTl2Q1cvcm03dG83VmJ5ZC9ya2RYRFhzK2Z2elkxdFZLL3U3L2JILzY5T25YMzIvZnZ2Mzg4dVhMZi9xaTloZTFyL0lwS2kvTzVSam5rVTc5WEs3YXo3SGFiL21UZHAxYmFWcGYxYkZoejByT25mNHZPdmwvL3Z6NTF6YjFULzh0dVpRTWtEa3lZai9uVlA3SUZKblgvbXdYOUd2T0pUKzNFOW9DNVJ2MjdPUmZNdkw0citqa3p6SGtRbisxREpGenRSWDNXZVRITmVBK3ZqcUdQZ0RLWXoweDdObkovNnorVC9sMzd3em9lZVJlZjZzdElOZmF0aXo5ekZqSjMzb0E2UHVWbm5YRDBITk4rU1BYa2xWZDZ6NUlYL2VZd0huNFdaTEhkcm9oMjRuMWpPVmZiY1JwRFA5U2RlTCtjN1FmWGMxWW5HMGZwMTluK3lsWldkNHBEL3B0NWwzWGVTeVhzcXh0MmlCNmhqSEo2cHBoR0laaEdJWmhlRVVZeDkrVFI3RFhwLy96YnkvdldmTGQraDVjNm11Nk52V3VlSVRMNk8xcUI4L21aMGlkOEpiMnZydVc5L09kL00vWThZOThobm1lOTNXK3hDNjlsZnovaHY3ekZseis5TE5oejhPbWprMG0vWGZwMjhNWDVHdnBJNTNQa1Bva1A4NWQrUU5ONTIra2pGeVAvY2krTE5zdjdkL2FwWmZ5dHgvaVVkdEF5dDkrTmg5elB5bDlpYzRzdVNBYmJMN3M1NXowQzlobldDQWo3SFlGNTFIbnRBK1Q5bWUzSGRvTTkwS2VtUmJ5N3V6Wm1WN0szM1gwcU9PQnJ2OERkV2k5NEw1dFA0NTllMTJNMEM1K3lIM1FkbC8zLzBvNzYzam5iOHhuU3ZicjlGbGRrdDZ6NjM5QXR1a0RMdXlyS1puaGIzRi9RNWI4djVNL2ZkOCtRTWY3V0ovQXp0K1k4aWN0L0FEazA4bi9LTDFYa1QvUDl2cWJzckc4aS9URjJ4Zm4rdDdwQnZTSjJ3bTZ4Ym9ZZHY3R2xML1A2K1JQbk1xWjlGTCtuTmY1dy81MjdGdExQMXRCZmFVL0xmMTM5dTNsdGRSdDBkV1IvWDA4UjhoajVVdUVsYjh4ZllpOHAzWGw4WGptVEhyZXBoNGVWZjdETUF6RE1BekRVR05iN0p2OFBENi9aMXc5OW9BWlk3OGZ0bjN4czAyK2l3dTlGWC9EL01ObloyZlQ2dnpnMWdub0RzZUU1OXpBOUMxQ1h1dnphMTluUDh6eW9LOUdQNXlqczZzZy81WGQxM1l3Zkh6WWp0QWIySDg5eDZkSXYxREc3dHRuNTNQc3QrTXZ4MmdmMkpIeFNRM0hkUDNjZmhmWGU1SHk1L3B1WHFkOWdiYnZXdWI0RDdwNVJKN3JsL1BQN0xmek5laUk2Zi9uV01sL3BmOVhkdkQwcGFkUEhSc3A3U0w3c1dNd3poekxkbG5nazlqRkN3ei81MXJ5NzN4KzRMbGZKUy9QQlN6TzlIOXdYSURMeWJsNXpyRG5Xdkl2ME1ucE95OTRoaGZXNGM1ejlmeGY2UWEzT1QvL0hhdFF6Tnl2TmQyN1hPMWJ2ZU41Zk43WkFoakQ1L1hFalRpZDFNL2QrSjluQU9UN3Y4dktzVXg3NUQ4TXd6QU13ekFNNXhoZjRHc3p2c0RuaGo2MGt1UDRBcDhiMjl6R0YvaDY1QnFyeWZnQ1g0T2QvTWNYK1B4Y1UvN2pDM3c4cmluL1lueUJqOFhLNXplK3dHRVlobUVZaG1GNGJpNjFsWFRyaGh4aGZ4SS9iTVQzWGtQamxkOFJkbXV0ck5pOUk2N2cvZHgrWmZ1UTdpbi90RE04TTE3WEI5c2J0cm5DYS9Dc1pHejVZMy9CSnJkcVN5dWJuT1Z2ZnlKbDh2bzhMdVBLbm1DYndlcGVLRE42elBMUDl1aDFDcC9CcG16Ykt6YTcrdDkydE82YlBKbUcxeEREcjRjTnZtczNYZjh2Yk5OakcxdGcvVS9hOXZuUWJuMjkxK2Z5bW9Tcjd3dVJSOHJmNjQ2eEJwclh4SHAwa0JHNFhuYmY1RElwZno4N1YyM0djdlUxbmZ3ZGIrUmo5aCt6bi81SmV1dy8rcjZZajVGUDd2ZDZlUGVNZTdrbTJNY2grNFZsdVhvdS9xbjh1LzJkL05NWDFNVWkwYS9SN2FSLzlBMjUzVEg4Rk5iejVNSHhSMmZYLysxN0s5S1BBN2VTZjljZWJQdDNQQUg5UFgxSDNiM3Mya2JHcUpCZStpa2Y5WjJCdHV4NlNSMXc1RWUvbGZ3THIrTkw3QUNzMXB6T2U4MTcyY25mWmNqdkMvdWFSNVYva1RFeTZjZmJyYS9QY2Erbm1XbDFiV1lYbDVNK3Z5Ni8xZjdkZmF5dXpldnluSzUrbm1Ic1B3ekRNQXpETUF5d21sdDF0TCtiSy9BMytGTjJjYXpENyt6bTFxMzJlYzZGNXdvZHZUL2VncEYvajMwWXRxSGxuQnBZK2VkMzdjVzJrZHAyekQvZjViRGZxZkQzUlBEL2dZLzVXdHVUOEMxeEw1WS8zN1B4UGIvcVBCSEx6SDYyakp1SEkvM2YyZWF0LzlubXV6NjIwOWxHYS8rTTJ5Sngvdmg2c0FGeXJiOVI2RzhKT2NiRWNxWXMrSWp1cmFkdXpWbGJPeHp0cDIvbU9nRXBmMEFQdUMxZzE2Y3QyRGVML0NoN3podXgzNitiVTlMdHA5MzZ1MEN2d3JYbDMvV2ZTK1R2T1Ivbzd2eldvTC9KdUpOL1BnODZuMjdCTStrVjV3cGZXLzlmS24vcmJYU3dZMjNzdzBNKzVIR2svMVArdEkxTWsvZ1F4d2c4c2ovbkVqeHVvby9ScjI0aC84SStQZmZuM1R6eXZEYkhmenY1NDhlcjlIUDg5K2orM0dFWWhtRVlobUVZaG52Z2VNdU1tVnpGZjk2SzNmdnFjQjE0NTdZL01OZUx2QmNqL3pXZTMrRDRldWJIMFkrWmcyTy9YYWF6c3FGNERsNzY2bXlIOHJ5Z2xRL1F4eWdUMTJiNXNmODZmaCtmcHN2VDJhTmVBV3lnYVEvRmJ1YzFHam12czZrWG5sZkh6MzYzWERzVTJ6OTIvbTZPbCsyNzl1ZVNObVhNY3FYZjBmMi84MVZpVTM1MithZitvMTY1OTFVTVR6ZFBLT2w4T3l2NVU4L3BSL1Q4Tkh3LzJHYnRIN1QvMFBlMktqL0hjbzZYOTFkK3p6TFBiOFZPL3BiWm44cC9wZjlUL2puLzEzNWtqbUdyNTVqbjh1N1doOXpKMzIwVVNJczI5dXh0d0ZqL1cvL2RTdjZGL1pCK3puTXU0eExhQTNtYzBmK1FiWU0wMmJaUDNPM3ZGWHhDSHYrdFpQeWU4dmY0TCtmNDJRZVkvc0ZpTmY3YnliL0llZjdkK085VjVEOE13ekFNd3pBTXd6QU13ekFNd3pBTXd6QU13ekM4THNSUUZwZCtEd1FmL2lyV3pqRkFSMXppbjcvazNFdks4TjRRMzNKTFdQK1l0WE15ZitLeEtOK2w4dWU2amtycjdMY1d1amlVam93blB1S1NXRURpbHJ3T3psR3MrMUg5R21LajROcHg5STZkOG5kNGlRdnNZdmNwazcvcjdyaGZ5a3Q4bFkrUmRzNFhJTjdjTWVlTzFVMjhOaEJyQ0dXZlpTMHl4NXZ2K2pYNW56bVg4eDAvUzE2T1JicWtmb2s1OHMreFVlK3hybG11MTBhNU9KYnJmeEVQVGovbGZqczZQVW84bCsvYjMvNmhMZXgwQVBHNnhKSjVUa0hlRzhmcFo3ditRLzZPQ1Z6aCswNzk0bGpLUytxWGN5a242VjVMLzJkY2Z1TG5NbjJiTnUxOTFMTy90K0h2S2JrZTNHNWRUN3Y3Y3Q0ZFhodk05N05xaDM2R0lyZnVleDl3NXJuaStUSTVkNEEybEJ6Vkw5QXVISjk2TFhidE92c3IvY2Yvby9PeVRYdmVWNWNlL1kvN1NsbTVyMXIzcmNycXRhSmdKYmVNRGUzU3BHdzVqNFc4RXVlVjdaNjJtUnpWcjg4alQ4OVZlaXZvd1ZYL1B6dnUvUlA1YzQ3bjNHU2FmaDUyOGVCT3Q1dUhSSjNuTnlvdVdlZXJHeXQyT3RONVpUdjArRGpMZmFaKzZmL2RmSVczc2l2RGtkNkZUdjQ1ZjZQZzNjQjlsWHRDeHA0amRBYXY2WmpYZU82UTQ5V3RjNDlZeWI5cnI0eFRyQjlXN1p2OEw5WG51M1ZLUFcvcURFZjl2L0E4aTlXN1RDZi9vN0x6VEt6eU9nL2tSRjJ5TnR4cXJHYWRtZkpuVEpqckJIcWRMNjhyMkwxYmU0NlozeDI2Y3ZEZFEvUk5ybG5YY2FaKzRlaGJ1eHg3ajNtTHZLT3U4czE1R2dsakJjaDZRYituM3ZTNzlKSGVPOVB1ZCsrRXE3R0F4em1YckJONnlYTjZWNytVKzBpdW5QUHM4MWFIWVhnei93Q2dndm9nNEw4bG93QUFEdGR0YTBKVStzN0svZ0Iva29FQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSGljN1oyTmtSd3BESVVkaUJOeElBN0VpVGdRQitKRUhNaGU2ZW8rMTd0blNVRFB6LzVZcjJwcVo3dHBFQklJMElPZWw1ZkJZREFZREFhRHdXQXdHQXdHZzhIZ1AvejY5ZXZsNTgrZmYzemlPdmVxNStKenBhd0FaZmozd2Y5UjZmbUsvak44Ly83OTVkT25UMzk4NGpyM01uejU4dVhmenk2K2ZmdjJPKyt3TjJVRTlQdEhSdFQ3dEo2Vm5rLzF2d0kyMGY2dTlsLzFVZnAybGFhVDErM2YrWjFkVlBLczVBUmRHcjFlcGN1dVorMjhlejV3YXVlcmV1dnNIK1ZyMzNXNXRHOTdIcG9QZVFXcS9xOTVaZldPKzU4L2YvNzNlK2d0MHYzNDhlUDN2WGlHdXFndkMwUTZ2UjdwTTBUK25pYnlpTHk1RjJXclhrZ1gxL1Y1NnFCcEl5OVBSeDMwZXZ5Tno2ci94OSt2WDcvK2Z1NEtPdnR6VFdYUjhpTk5sTTh6V1o4alBmY3krN3NNVVo3YkNKdkgzOUNacG9udmpGdGNjejFGR3Azek9MUjlSVDZrUnhmSXFlbFU3dmlnQzlxeXloM1hWQitxWnkyZjhYM1gvdnJNRmF6OGYxWm0xdi9wZjUyOGdjeis2bStvVTFaMzdCeDZWbjNSTHVLREw5QStxSDZCUEZaeWRycEFQc29oUC9jVlZaMzkrWkRQeTk4Wi8rOHhGN2pGL3VnOCtpUDE3dVNsL3BYOWZSM2l3TGJZUGY1R1d5Qi8vdmQraHF6MFVkcUxRdk9oVHBrdThMY3VLKzJSdVY1bGYyVFU1NzM4VEc4clcxekZMZmFuSFd1NzcrUU5aUFpYZjRmdnpmb29mZDM5aitvMjduSGQvU1MrSTdNL2V0QTJsdWxDMDZuTmFSZkk3L2JIUC9KTS9PVVp6VGV1SWVNejdFOWZVWDNRbndGMTllL3FieG5mSEpvZW1lbGIrajJlcFE5MGE2WElpL3Y0VGNEL2tjYnZJU2Q5THdQMXhvZGt1dEJ5TXZuSlg4ZEQrb2YvNzdLby9EcVhxZlRwdWgwTUJvUEJZREFZRERvNDk1ZmRmODN5YjhFOXVJUXJPQzN6TkgzRjI1N0NZK1hFcFZqUFpIR0JlMkpWL3VyWkZaL1djWmlQd3FuT3J1aTQ0bTN2SWF2R3RxdG5LczZxOGg5VlhIcTMvRnY1dEVkQjVkWTlFMTZuSzNKMThmeDd0ZXRNVnVYVi9QNEo1MVdsUHluL1ZqNnQwcFB6aHM0cCtoNEY1M2lRaFh5Y0ExbnByTktCeGhXN1p4NXBmL1RqbkZ6RmVXbmNYbVBtVmZyVDhtL2gweW85RWFNTHdMUEM4eUh6eXY3RTdWUVdsYlBUV2FVRHRUOXladkpuL3YvS0hwb1QrMWVjbDNQV3lyMVdITmx1K2RUMUtwOVcyUi91V1BrajVSUTkvOHhHeU56OWY2b0R6NnVTZjVjclc2RWFxK0JHOUg3RmVRVklxMXhNbDM2My9GdjV0TTVQMG9lampHZ1A5RFdlM2JXL2pobWU5bFFIcC9hL0ZlcHY0QnFVZDY5OFUyWVhydnZjd2RPZmxIOHJuOWJwS2JPM3pqc1pGN1RzekVZQjVSYXp0RHM2ZUEzNzY5akp4L2ZpS1MrSVQxUE9DM215NjFYNmsvSnY0ZE15M3M1bEE4b3BWbVV6SjNldWxPZVJaMGRubVk0OTcwcitybDZEd1dBd0dBd0dnOEVLeEw2SStaeUNkU0JybUZVc3Frc1RjOXNkL3VjZTJKRTFnRzRlV2VhdUxQY0c1MkpZZDNzTWZ3WGlINnkvZDlZbTNmcjFtZnNaTTY1UjE1U0IrRTZzOEZGbGR0Y2ZDWTlkQjZpdnhyZTY5cTluWTBpditzdWU1eG51YWIyZDk0cDc3cGYwekVHbU01N3A5RWwvOHppR3gyaXo4bmZ5eW1UTTBuWFhkOHZJOUxpRFZSeEo5K1JYNTNHVWcvQTRyZTdWMStkSm96NEhuU3VYby9GQTVleVVEM0NaOUJ4UnhaL2g4OGhIWS81YWw2cjhuZkpjeHFyTTZ2cU92TVFiVmNZVHJPemZuYmNFWGN6UytTLzRPdTMvNk1yUE0yVG5POG1yT21kQ09jaFNuWTNJOU85OFIxZCtsWmZ1MTNjWnF6S3I2enZ5Wm5vOFFjZVBrZCtLWit6c1grbC81MndSK2Zxbnl4ZDUwUDJPejlMK25zWGlzL0k5cjUyemhGV1oxZlVkZVRNOW5pQWIvNVZiOURaZjdmdTUydjh6WFZYOVg4dnU3TzhjOUtyL2E5NWQvNi9tZjEzLzE3S3JNcXZyTy9MZWF2K0FqaTAraHVHZmRIenArQ3VYYVRYK3E5eHUvNENlNGF2T24yZTZXczFaZkR6MU1VNTV4YXg4UlRmK2EvcXF6T3I2anJ6M3NELzFydGIvZWk5cm05elhQdVE4bXMvL1BZM09rWDFPbjgzbHV4aUJ6b1g1bmdFWi9EN2xkZVZYZWExa3JNcXNycS9TWkhvY0RBYUR3V0F3R0F3cTZOeGNQMWM0d0VlamtzdlhIeDhCeitJQ1didjdIc3pWT29MOTBzOUVGV2VyOW1PK1p6eUxDOHoyTWl1eXVJRHUyZFg5L3lmclY3VVZzVGE5bm5GdTJKOTduZ2R5NkhYbkluZTRQTkpVYS9UT0xwa2U5RnlnY3FTVnZtN2xHMC9nKysvVlBsWHNqNWdUZm1PSEkxUS9vL0VycnV1ZWVmYnZlN3hSK2NJc2p5eGVuWEZHSFM5WXhmdDJPTG91MXFsbkUrSFhNMzN0eUxqaUFrOVErWC9zand4K2JpWGphRlVIM2tjMERxZm4rQ2hmKzRWemJueFhmVlJuSm5oZVkrdjBreXhHN2YyRnRzZjVGYkREMGEyNER2S3I5TFVyNDRvTFBNSEsveU1yZlMvalZYYzRRczVTYUYvUHl1L2swWHk3TXpNaEQyMldjbHczVlRtTWJlcmZLSHZGMFoxd25abStkbVhjNVFKMzBPbGIrNno2ZUsvckRrZW83N1hNK3IrTzMxMy8zN0UvWnp2MUxPZHUzOUs5QTlwdmR6aTZYYTZ6MHRlVi9xL1AzMkovOS8vSTd1TS8rc2RQVnVtOFBmbTRXdGxmODg3Ry94MzdveU8vZG1YOFArSG9kcm5PVGw5WHh2K2RzNDRWcXZXL2N0NVpUSURyMm04N2poRDVzSi9PTWJObnNqbHdWbDZWUjdWK1BwbGJYK0hvZHJoT1Q3ZFQ5eDBabnhVekdBd0dnOEZnTUJpOGY4RG42TnJ2VWJpU3Q3NWI0eDd2dnRmWXdBbDJaWDlQWEJSclhqZ0ExcFNQcUFOMlBBSHJXbUo2dXEreTJ3ZGNBWTdoRkJwUDdIQ2xqcThGWWhhK2JpUitGdkI5ckw0T3gyL29lcFV6R1BIUm1BMXRTK01MNkt2amRsWEd6djVkWHJ0cHRFNjZEOTdsdUZjZFFmYTdJN1QzZUk3cmxLdnBBcEhtYXQvS2RNVDE3QndMY1F1TnN6b0hvNy9QUlQzUURYb2wxb1hmY2ZrcFEyUHgxVmtCdFVYRjBlMmtjWm0wcnNwNVVrZjlMYUVyZFF3b0QwdGNEL3RvckZEVEVTZWwzQ3BlMktHeXYxNnY3Sy94Y2RvOWJSSTllWHhMOC9MNGRzV3JaZnlKMjF6OW1ITElpcDAwQWJXZnh4ODlqcHZ4ZTFmcXVQcmRNZEw3K3dTZE96M2R0K1h5ZUJ6YTZ4TncrenR2UUQ3Nm01VEltT2tHVkZ6VWp2MHJIa094a3dZOUt1K1p5YXQ4bUw5SDhFb2RUN2hEeXVVRFYxMzVsaFY0ampFdXM1bnZ0YUFQT1Y5Rm45Q3hxZUlOdmYxVy9YSEgvZ0gxZjhyaktYYlNLT2VvNDZES2tYM1A3TDliUitVRThma2RkNmljbis3SHVnSWQyL1RqZXkzaWcyLzB2UnpjVXgxazE1VmZ5NTd2enRlRHl2NzRNdVhVSFR0cFZDYWZkeXJmem5mNmg3ZVprem9HMUFhNnA4ZkhaOWV0dHBOVC9rK2g0d2R6ek96ZWFvL2Q2cnJ2SlZxTlczNWZ5NjlrNmRhdXQ2VHhzaXVkbk5ieDlMbk1kMTNaL3pjWURBYUR3V0F3K0x1ZzZ4aGR6OXhySHRudFNZeDFrTDRyWmFkTVhhc1M3ODdXZ3U4QmIwRmVqK2V3N2pzOVIxS2hzeitjQU9sMjdLK3hGdFk3UFBjVzlIbUN0eUJ2Rm84a1R1NHhHK2UwaUQwNjM2VlE3bGJqRlFHZWRaK2pQTFRISUR3bXEveS82ak5McTNrVFE2bTRHQzhYK1RTV294eHl4eWxwUGJYK0tpOTh6bzVla0YzTFVibE8wSjB4Y1k1SHVRaU5wWGMrdzdsNzVaWGhDenhHcXZYejg0M093VmIrbjNLeU1yMXUyZDVzYi8vWWpkaW54M3l4YmJadm03WUNKK0p4WXV5dDdhTFRpOHZ1Y3AxZ1pYL3M2bVZtc2Y4VmorZzJDakFIcUd4NmtwOXpRZDVmc3J5ckdMRHVEOUo0TjdIVzdMZWpLdTVWZlkzdXJWS3VKZk1aSzcyNHYwT3VFNno4djl0ZjV3bTMycDkrU1Z6OVVmYlhmckZyZi93R2VhblBJMSszLzJwdkIzNUVlVlhsRDhDdVhxcjZubUExLzZPZWNJeTZCK1VXKzJ1NTdvZHZ0VDg2cEJ6Vnk2Nzl5VVBIRHJXNTduZlp5UWQvcnZ5ZnkrcytQOU5MZHMvbE9rRzIvdk45UlRxM3lNNWZxMjRjSzN2Ui9uWC93ejNzci9PLzZ0eHlvTE9iOTNITms3N01zMTArUHYvTFpORjlHQ3U5K1B6UDVScDhUTHlGOWVMZzlURDIvN3N4L1A1Z01CZ003b1ZzL2JlS1pZQzM5Szc1am1jNmhhN1h1dkcyaXAyZVlGZlg5eXd6eTAvalA2dTlrUUZkbDc0RlhEbjdVSUg0MSs1K3pWdXdvMnRQL3dqN1YvbHA3RWRqRlg3R0tlTUlIY1F0UEo0T2Q2YThMdjJQTTNITWZaVVA0NTUvSjNhcWRmQjNKRmF4a3F4dUdwUFJkdUh5S0xKeXNyckMvN2l1Tlk3dk1xbTlpRk03VjdpTHl2OXJqRi9QUzlIUGxQT3RPRUl2QjkzQm5XajU2RVhQMWFBZmx5ZUxPZXAzUDM5TE85SjRPdko0Ry9DNkJUeVc3SHhBdGcvYlk3UEV6NzJ1RlllbitWYjY0SG5peGhVSHUyTi85LzlBMjVhT1V4NTN6VGhDQnh5VjhuR3V3KzcvWGZ1akZ6MlA2VElIOUd5UFF0TmxObFo5WmZiM3VZaWVyYXZ5VXYwb3Q5anB3OHZoM2dsVy90OWx5dlphVkJ5aDY0UTAzZnNmNzJGL1pLS3RaVElIM3BMOUsyN3hXZmJQNW4vNFF2V1h1bzhDbjFSeGhLNVQvSC9YL3dPNy9nN2ZsT2s4bThQditIK3RXeWJQUGZ4L1p2K09XM3lHLy9jUDlmZHpzSHJ1VU9jcEdVZm81ZWpad2FwOWUxclhoYzR6cTdPWmJqZkZhdjRYY1B0WDg3L09kMmJsZFBidnVFVy9kOC81MzF2SHZkYzdnL2VGc2Y5Z2JEOFlEQWFEd1dBd0dBd0dnOEZnTUJnTUJvUEJZUEQzNFJGNzBkbjc5SkhCZmhQL3JQYTlzOGZTMzJrUllHOU05bm1FUG5WdnFjUGZhVnh4aWV4TDgzeDkvd2p2QU5JUCt6ZWV5Vk4yZFRuTlIvZnQ4YW5zcjc5andyNGo5dG5wUHJjc3oycHY4SzN5ZDN2MTFZYjZIaENIMWh2ZHNvZE0rd1Q1UGF0dFYranE4c2d5ZFYrazlvMnMvempZcjVibDZaOXFiNTQvdTlvYnNtdC8zc3RFK3ZqZjM3R2g5bjl0dkliOS9YY0gxRDcwd3c3c0k2NmdmYW5ieXhiWDliZEZPcXpzVDl1aFR6czgvNnovYzUzOGVaZWI3cUhVZlpzQjJwdSthNGw5ZnZxTTdySFZmTFZOa29idkp6Z1pRMVFYL3E2aHJHOHJxRnRYbnZxQ3pQYU12ZmlHVlpua3FlL3ZVWm4xL1hJbjl2ZTk3bHpuZjYwbjU1SjBuRlJadU05MzlJck1laTVFODZVOXFOeFhmTlBKZm5FOVg2RytBSG1xdmsyNzNQSG4yZGtCemNmM2xxL2t4NDlyL2dGMHArOWlVejB5NXZ0OHBkS3h6M20wVHRwZmZVK3Y3bVhYK1pUbWtiM2JqL2JnL2ZCMFRPQ2NVemFmY1dCRC8rM01haHhtL2JRemxpUEw2ZHl3c3o5NjFURUwvK250U08ydi9sMzNtcFBuaWYzMVhDTHRWOHZNM2wzbDg2eksvdnhQTzc0eUowQys3T05BZm5SSEc4NzhPcnFyL0tybmUrWGRkWUhLL3VvM0FXMHhpeFhvbVZGZDMxQlhuUjlXNXhzeSsxT3VqdVY2WGMrbGVwL1NjeCtkL1pISjI5Y3owTVZkZHVjV2tlNnEzTjE0ZDlLZTlOMDYycGMrMm5tS3dXRHdvZkVQaUNScW91dDN2UllBQUFEY2JXdENWUHJPeXY0QWY1N0NBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCNG5PM1NNUXJBTUF3RVFmLy92ZTRWVWhoQ1VOd2FjbE5NbzBxd042cHFOR3JPMmQzNXY3djljdm9YenJXM2dTeGRleHZJOEd4c0ExbTZ0dHBuMkxYVlBzTlhZKzF6dkZ0cm4yYzExejZYOWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRHNYUGJSYkNhRENScE5BQUFFZVcxclFsVDZ6c3IrQUgraU5nQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBZUp6dG1vbHQ2ekFRQlYxSUdra2hLU1NOcEpBVWtrWlNpRDgyK0dNOGJFalpzV1Q0bWdjTWRKRGlzY3RESXJYZks2V1VVa29wcFpSU1N2M1g5L2YzL3V2cmEwcUYzNE95SHBkTSt4THBYMU5WbjkxdU4rWHo4M1AvK3ZyNmMzN0xkYWNlVmRZdFZiNS9lWGs1MkdQcjlLK3Q5UC83Ky9zdlNuV3NlaitqLzJuN3orRC9tVDQrUG43YUFITUJiYU91SzR4MndYV0YxWkg0RmM2OVdacDF6RGl6dFBxemRVNFowaitrVjFBK3lqRktjNlNLVjJsVy8rZjhrZjFmZFV2d1JSLy9pYys0aUM5eW5NejVvOEtJWCtLYVowdVZWMTNYc1o2WnpVVlpIdkpqYk1yekxGdW1uMVNjV1J0SXUxUyt6K0QvRHJhYitmL3Q3ZTN3am9oOWVLYjN4MHdqZlVHYklMelM0cHoyUi95ZVZoM0xON3lYa1Y3M2ZUNlRhZEtldXJJdDV4ejQ2UDZmYWViLzdEdDlua3hLK0xEc1dPMG14MVRLVVBjei9WVGVJNi8wMzZnZFovK3U4RW9mSDliNWJBNGdIbVhrL1NmdlBZclcrRCtGelpodjZlZjVib0R0c1dIMjYreWI5TDE4TnhpTkZmayttdjAveDVEMFZaWWx5enVyN3hLUG9xMzhqeS94YmZhMW5rNS9MK2pqU1k2MTJmZG04MUhXZy94NmU4anhQTk5rek9rMjZXU1pidms3NksvYXl2K2xzbEcrQTVadCszdDc5elh0SlAzQSt3UnAwYVo0NWhUL1p6ekdKUElpelY2K0pUM3EvSytVVWtvcHBaNVRsOXJuelhUdlpTLzUxcFRySUpld1lYMGJ6YjVyK3ZmVVg3WDJlYlUvckRuVW1zbHN6WHFOMHY5OWJTTy84MGZmL0V0cklheWI5UE5yS01zNTZrZjg0ekc3djVUZTZIcVcxeXl0VWI4bTdtek5hVmJtdjRyOXN0ejdJMS9XUFBLYzlzSXp1YzZlYlNUM1hqbG5EWmQ3T1Nhd2Q3TW12TnM2eTVucmlYV1A5V2JXbXZxNlVvWDNPdGE5VEN0dFY4ZjBHWkJYWHFNZXA4UjZKZmRKbDczdXBUS2ZvKzZYYkcrai9zOWFHN1ptUDc1ck5QWlh2TnpITGVnanJQT3RDVDlXTCt5WFkxNy90eUgzSVJCN0dYWE10Y3EwVmFiWjh4clp0LzhUUVp6Ui9aSC9SMlUrUjMzK1A4WC9HWC8yL3BCMjRweTlHWTc0TS8vSldCTithcjM2bkpkN0F2aDZWS2YwUWJkUFhzL3l5ckRSUGhQM3N6OXpuWG1QeW55dXR2Qi8zMGNwbjFDbVBDOHgxakYrTXBiUm50ZUduMUl2d2hnMytJOEFHOU8rRUhOdDkzOGZjM0tQOHBqLytYOGk4eWoxKzkzL3N6S2ZxMlArejdrZE8vUitrblV0OWZFcGZZTy9pTXM4dGxYNE1idG5HTGJrL1RyblljWnc0bUxudERWN25mZ3o5eWlQbFlOL2EvRWhiU2R0eXA3WnlQK2pNcC96THNoK1c5WXBmVWZmenJwaWo5RllSZHhNcitmWC9kbjd3WnB3d3BicWxXSFVnN21rK3pmbjh0RTNHTS8zNTBaNTlURGFRTitMVEJzVFAvT2VsYm4zdFV0b2FiMUFQYjcwdjFKS0thV1VVa29wcFpSU1NsMU5PeEVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkdSTytRZmg1ZU9hdGs3anB3QUFBRlRiV3RDVlByT3l2NEFmNldGQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQjRuTzNXNFdtRFlCU0dVUWR4RVFkeEVCZHhFQWR4RVFleHZJRUx0NlloLzRvSjU0RkRtMC83NjAxc3psT1NKRW1TSkVtU0pFbVNKRW1TSkVtU0pFa2YwWEVjNTc3dlQrYzV5N1YzOTcrNlQvZHZYZGR6SE1kem1xYkh6K3dZL1N6MzFMMTFGc3V5UEY3SE1BeC92b2QwNzdKamxYMnpZWGF0emZzOXRYL1ZONy8ramU1ZnR1dDdWam5ybitWNm5YMzd4dG0vdWw3VC9jdHp2dTlmLzlmbmVYN2FQOWZzLzMxbDIzcnUxKy9idHYzNnpQZm52LzIvci9vZTEvZXI5MEN1MVhmN25FWFZueDNYYTVJa1NaSWtTWklrU2ZyM0JnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBK0VBL0N2bXN1RkxhS21ZQUFDb1hiV3RDVlByT3l2NEFmOVR3QUFBQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQjRuTzE5Szdqc0tOYjJra2dzRW9uRUlwRklKQllaaWNRaUk1RllKQklaaVkyTWpJeU5MSmwvVWZ1YzdwNmU2Zm5VLzlTSVduUHBQbFY3MXdtd0x1KzdMbFRtNTMwMm5nRGFzNUV0eHRkR1lJZWp3d0p3WGNVRmF3RGZoWDdEODJJZDRJRUtFQUcyQ2h2UW5pVEJkOTJUMmJHRXdmSE5mSFA4OFVOdkFKV2IzVUVyMVhFenRyNXNUeFVVNEhpZFFPRW82VER3WWJtdkt6LzNDUktnM0ZRc3BGK05BNjgzZ2JoelhKM2IzcytZWGtKc01TbjhReEh6bGRJUER5dlVhOXNvN2taNVRpSTQ5WlprVUVQTVh6a1d5TkkrVHdZd0pteXJOTGlQU1cwci91N3JicEIzN3R0SEY0OXl4YkQ0alpuZ0FUeFJxb054Q1EvUkZBa3JyNWV5aFVpVGZRejZvYTdCWmFHM0hYOXhqN211Zm42Q1d5a3VvelZqZzRrMkxOYjZ1TVhBd1lKdERwNGRCSFZQb1BqdnFEbHdYUGpUL1R3dkd3OHZQN3o4dDdoT3hEb1NucE5Od3BzRmNDbTJGU0FWOXNTY0xSelZIakp3d0NjUGgzVkxjV0FDdnJUTlg3ZmcydWJBSDlVdnVKbjdOdncwSFR4K0FJVUx0QjQzTjFQcUc0SEg0VTdkMVVKUjErSFc3ZlBycDZpVWRVM2c5M3VQanZzMXlDVXVRcVpPeVlvTEdHczZHQWxybTA3QXZHMkJPZGdQL09jQ0txZDFnVlhGZkRLb2h0a2xPOUh2RVlHYnF4MjRYVWJoWWRlU0tjOExxbEpGSlVoWFl6Qk5ad1BHUHJ2NEtTOTBhV2lUWnBqMTFRblJ1RmlHUHNyS0hLZ1N5MFhMeGZMaktSV1cxRHdQTE9rMjluTTB4ZUhBZjlZMW0zcmdZdkEvcEtKS0gvRGc5bHdiUEJsUEhFMGxUeU1vTitRMjREcW5GajBKbmFycS9kT0xCMWxCby9mQ2cwZ050cXNJa0V5Z2N6YWJ6Z05OZzFqcXlQbENZMWlkSnNlWVNyMFRkQVJsdXk3SzloTDhxTThKTXk0WWFtVW9sTTgvMUR3L25TMHg2U1J3blU4QlBRRDlmM2dVR2hLTUMvL2EvUWtmWFR4S2RNS2h0MVpubTVwZ2ZFa3NQT1M0bFgzZ1J2TU9VV3BkMEc4bFcxQmgwZjBCaURiOUdGZ1NXYi9OUE9FWHFqOFFxRmx2YUFDQVJwNFgvREEyTitHQnJSODJTa2J4bDBkYjhJVUZkM1lwbXM4M1B5d2M1RUIzamdxTkJtNU40TWVtM1JOdHpBWEthejQvOWVqSlROcHE3dyt6RlQyQTNRL2FKWGVEV29ocGVrWlVlQWFCRVBTRUpCR0JyMnRROWppYlJiZVFiZkw0Q1dwQlQ1bngxTmY2M29Dcm5odytmdjZTaHVYYzROaUdrYm9HNlVJNStyWGlDWVlMMXFRQ09GV3RxMHNjRGtQRGRyUnFZdXNQVEF2bzVlZER2QUx2Z0htdkJhRUw1eDZOTzZSdEYyb0xVQzdVQlNDWCtPUHZSR3Z4RmNMcWQvNmhWZjlGd3NLQU0vVGNxTUdVa1pXU09IanJWY0NGU3NyOHVYTVNqNk1TaVo1Y2hMTUlEdWpKbjQ0ck93WjlCd1J6clJoR0VPTWRVU2dlUzBtdDd2ZW1XTjJiaE1hb0Nya3hDOHY2L2l0TGovcW82R1JZakI5ZE8wckVvNDd2WXdpSWVDU2RwMFRSMTdmZUR4Q2VvaE5ZWUduWEhpRHNxT3ZSRUVCc3pJLzdjbTZ3YlNTQnFNWmUxem5PaE85NlFrZlBucUJSUFJYR2JtWVE1R3VFUk9yMnJHVTdDanlvL2ZnV1lkUDhQaXkxNHFLZW0yckc3MnVITUVLZlczQW85ZUlrdngwQXVvZkhvSkhiOXN4dy9UUU1ic3NaeTNGZ2xGakdrL2tKK25iUHRmYm9HTmt1ZVBWSWJvejdqVzl5bjBxK2dNODFyUEhCNFA5STRCeDFxWW54NnV1SGw0OExadUNuRmd6dDE5ZGg3QmlWaG9sYldoY1pPajQ4eDAxQVNxTTU4d0w5QXF6aUpOTnhYUlVCb1FCOVBVaUZGZ3hyQk5EK004YktHTHJqci9ucHNycDB2MUdUUFgrQ0FTd0pOOGJIQnJYZnUvM3M2dWR6RGNRK2tPT2lNL2kyNzk3Y05sdW0wV2VWcUpjTVVreU4ySTJxcVBrUnJUOFh0eWdNalNaMzNTNDNReU4rUW5zSWdsMnYwd3JYNHBkVjFGY0NzZ3czbWRJeGYycHJmb0psbEdOSHU3OXlGc3ZIK1IvUTQwVFlMaHNTUGZUTFM3VGM3dXNJeFVEZFY5M0hzVTBTQS9zdzVZQ1FBK1A3N2Vqa3ZERE9YQWJhOG5oL2tQT3Vkczl4MzA1YW9ncytJd1RHRFlPRWpPQkNSWmNKbWFVcGxZSzZKbm5ZUVgxMDVUOUMrK29MV2V4dEtNSlhTWERoZ2NteDhvRHhDN2g4dlRLWEsrajk0Rnd5dC9ZZzdkNHBrR3pjT0xmV2RHd1lCUnpCUUZvdVFyMkFvKzhZQkpWbDhZV0xqWU5TVTkvMGdjYURiVDVrbUVtQjZmNXMvdlR5SjA0TllZWmt4S0pITTdrbGpZYThJNnNwUCtpOHp5UUZBWE1mSE44SkExODFQUk95N1ZrY3gwSlNJeTFySW5GSFVDM1FaUkwrSXVkbXJjRUl3dUVsMXFrdHo1TXpIamZxME9UTXlEalVUVG1aR1lIUGlobUtMQnVzNk9SZkttNDdTSUxCK3NaRkZrTEdzWVlkMW1Oc3YzNzR6dTZ4NXczTG5WdURqaTl6WVo5bnVFa1ZGMFVJTXVVc2VnUFNNZG9YZElFYk9wSnJUTWJUNTg3QkJxSE43UnpJbVFnUDVhT0xSeW5tSE5SN0VqZktiL0RMeFc1a3FQaWs2TGZ3NFpWN1FITDFVSmcrRU1acnduZU1hOWU5dnFFTEk3Z1BhMWdYWm5tUkV0WkZ4L2VheUVHcHpVTENPY0oxVFJDdzI5NDBVRDI1WHdUVGJKS1F4bWRYajY3WWg5MU9sUlRWSTVaZmJwbUhSKytrY0FOd0N5eGFoUjRTLzFWMW16YklrL2ZEVnFhYjA3QzQ1VEJGUzVFM0tueTMvUmhkcjN1ZC9EYzFSbHpwMUxhNytucFIyQldnZWlIaGdzY0hDWFVWU0lBKzd2L3pwblZ3bXJMYTl2VlUyYU83YnpOUUtZajR0RnZnWHRVMjQ5YmE4K05nSUMyYVpDWVM0U285dGlYRXdNcG1XWkk4djE2U2c5aTNZRjgybmFqZnlIeG9IYmpNNndVejJLRStnSVF5SUJsUXVoRDZjZi9YTndjVno0NnpDLzNWRHZ3c1RuTythcnRHbVQxQ3RZcjhZQXVvN1lHemxVT244dllFYVk1Vmtpa0JVdW1RajBCTXhkOEcwcTZFaS8rSkhRSzN4NmR0WWp3eUUwWklrMUp4c0xJY3c3bEd2UjdsNC9qM1dCeTZhWTNranJMMVQyMnNSMEg5M1JDMzlOSjlPcllxR3I3TEUzVU14R1lGMkRvZFFNcXJVa2laTGdQeTJlK0tzRGJDOGJ5eHd6YU9hcERsQWFkajVrZFBjRTh0RFJENnJUWWRTQmZTL2ZyY3luOUxuY2xLNXR0VndNN3NGanE2U3NlRHZwMksvY2wyUEdkNmp1T002QVR4SVBIL0NERkdLbkZ0bVMwN2t3MUo4bzBVQURjTlB3UGVIdUpQN0NoWmNnM1paR1hIQ3MvSlJnYktGdzNsbVFuUyt0R2wvNVp5eGRoSWxoQWZ5OEZoN01mSDI2SG9wVDRZeGhBQUxLR1Z1Szh6LzRzYlJPeGFDSXU1UmZIS3hxNEIwbkZ4OE96WU4zQWJnVCs0ZzhpTTNrdXNCcEQzeFNVT3lLY2tnVHNQNHJ3L0h2MVJySElZalRhemNGQUROMkM4WVptR3VPbGVQWVFIaFAzSlV1ZTJYeGVHOVptektXMmpoTWMrd0VRekl4N0Nvd3k4WHljTjUwbit3aDNKclhVUHpZdER3Y290VW8xdUVHWGpyNFN6c3MvekgzTnpsY0R1VE0vTVBNaXRMeE8xNEJ0U0tYeE1kRjh4dStueXdUeDE5WDFGQ2tUSWVtekM4U1FVU05NUkRpdnZUZ2dkWHhVeTdMOXpCMk1CMjY4dDhuSklrVll1b0JtenBZajBHdi9PMU5hUEo0Q1I3NHlaaFNoOUMrQnZDYkx0T2wzb3JLZmJOcWRHYUd4M3NZYThRSXpTZXNaN05ycFFYNWsvREFHMkRVWHJHOUxkR05Cb3M2TDIzN21qZzhOMm91Wkxxd3d2KzBMcElrM1MvckpvTzhEWDhmSDZGK2NFMExHaGI3L3JLV2RTQW0wZ3d5U3NOYjhzSUpSRmczajhLRCtxT2hPMlo4QlY2N1dGRjBhOE5KNlo2c0FnQ2VqZ0Znanp0ZCs1dzBVMGpJRUdJWmF6Y1Q4UWJPU1lCNUQxUWE3MURvaWZGbGwydE81ek9tMVNIcW9vUndmL3NGcmZlZHBIY1lRcmR6QVJLVTU2Ky9ibjRYV0lXZlF0eFNhVnA0L293Q0tpV1JBSlBTZEpodjNPSFlNNDhMZm9HSHU3bVcySUcwd3Zmb1M1anhtRHdpSCtqOGY3L3k3alF1K3U0TmpSekVFOXFKNzQ1N3l4V1puTERIeDZCUFR3T21hSkd5UENySDl2YUxreVdHcUIrTWU4U1h3eDF0aHBNeE5CS0h6NXAzWVFaakhGQXhPbDFnMU9TNENJbWt6QXphc2EyaTZmNjlQclA5SnkyVjNEY1VKVG9GNGpieGJ5L2k1c2dDVUVlZ0xpNG9HTERhL0U5MW5TNDM1cGlPU1VnMUN1QUloeEVCN3JkU1kzS0lRRkhQbFZPMElDb1pKc0lIcEc2M2pYamdhemdhS0xUWnYzeS9JTExIeFFaZ3hXOWRhZzltdUNrU2ViVHJyMFlzeVVMNkVrUlU2VnVhb0tTQU5CMTJuZSsxRUxQWUoxTFI4dlZPWlJRVVE1azZPbzBtZlY3RmZ0OE9BbFdWcnZybHlBbjlwaDFLV2s0eldRVDYxcWNxZ1B5OUh4cWZoMUlqbmoxa0xZZW5DRHpLeldkbXlscld3OUM0TVFqeDRWeWJoWjdPakhlWjhWM0w0MWRBUDloYWJTRVF2WGJVV0RnWHFlSy95cUhlOU5HN0craXo2b1RMOXJ4ejJMY25JTU5JMEQrZXpxcC93VUwyZjlENXBGd0hJUy9zQitVSVlZcG01QzMxdWdybHhuV3hWN29hdUhrbWNhbytOWjJ3TjJVcDlYSnh1R2h3cDdSbVd3YlRIdjNnR01ld3NDM1hlK0J3Tk0vOVU3a0IwM3FDWWtrZWYrZVBwajJ2akQwRENmQzRHT25tN2Q5b256N1NZUit0cDF4VUExYzBQb0ZFUFZzVzJjOFI4NFNCaUQ0MlZtOGUrNXhuUU1rczQ4VUVwYS8vU09zRUNEaisrUStjamMvK2dkb2JzV05KMUxmSzZQSTJBT0YzMFhZWjlyRVZKTzR2K2dKNWQrU1ZVaHdtdnlWd0dBZ1V5TW0xclg5VVNZQkU1TGxjR2xCZmZNb1ZYakJneWpuTS9FOS8zZE83U2FaOHdTNzB4K1lTaGQ1YS9lSVVKcWR1Z28wV2J5eC9VZm83KzU5RnkzODBMbEJYMlNRWFZJOTFLaHBLQVJCczRDQU5WbjYvZVk3aHBOSCs0THFEdzNod3hQaTdjNnlPM0tXL2R0Tm5YdGR2YU8zY2M3TTQ3bXRUM0kvTzUzSGVtbmQ0eHVIdWo3ci8vNCtvK1hCS1NrTTNCTC9zNU5vcVMycFlPb3EzdnpMZ0IwQzY0aW9RUHpiblNhR2o4VDRPdU5aR254c0dMTVF6YXo4ejJ3eWtVSnN4bWdIcTBlMVE2RkxJQ2xHOUd1VDhnS3NwejFNTGxvL25hSHkwY1hqNUk3SGoyNjcvVk5WaVdsRS9iM204cXFpSEw4cHdEQTVNSTBuVWdZRFIwNGN1VFoxQVpMN0kyQXlYaTY3VUVjOURyS01nM2FFV1hBTHFtc0FkZmRuekJPUEdlZDYrU0QrSmtuaUtiSzdzMDJvK21ISmNIRFI4d3gxdGEzYlgzdW9WNXFybTd0MHIzVFUvMHdERU42QVl2SDdVeFloalA5bk1oVmcvYUVUVHRlQmVMK1hoVitXR093dlk2QUFXRUJHdWgyQTBkSUJYVWk0ZWNOTVlyemEwN1hTLzFVZ2o4c2lObm5jb005N3R5T2hsaDlOa05DRUZjMjI3c0FrRWJmRjZoYzdqT1diWHMwSVYwNS8rRzdyZGZjU2pSdTZSVFlFelZLMDNPRWQ0TGNYZ3lxUkovM2FLZ1BnbzMwakhyMmdydTJvOS85T1ArVjRCeFE2NVJkbDNxZEYvRHp1akcyRzNpbDRuNFhBUHkxU2pnalk3NGxnYysrRTY2M1kwWjdaUE9YRzkzZkF4MjZ2VzhkOTRoQWQ4VXdpVkZ6VUsvanVSS2FYeFhNZ2M0Z1B3Z3plVUl5eEpCN2ZMNy9CVFd6cDdpSGZjcytlSHR4S0dHL3N0dlJnbUdoUHdXQWp0RCtVWk1sOHFmTWJNR3M5alQwZ3FUUGduaHRWMG5YaG9CSDdhK21RK2dhMHZUc01STHFFcElJMnhKcjExSFcvWXd6YVVwb0c5d3N4LytBK3VQNmlScEx1cHBTaVBmRnhQQ2lGY1RDeVBiSVR3Rmcrc2puaGNxeXU0YVBQQ0h6alZzUW5yaE9kOW4wdG1IRTNQaTJvbHFBanNCNGlWeFNkSGFhQWRKZVdrcnQzV0ZjS0FIS0hzaGFtVkJGbG8vci8rNGdNWXFhM3FNRm9XaU80UGVkN0hrR01QZFRBSkJNSWNoNURzMVJBMUFQeko0UTdTTlNRTk94SmpTdllaODVFQUluTXNrQm5zU0w0TFpKRmF4Rnh6aFl5ZmhKY3RYRUNqU29FNVlxZVo3OVloL1BmNHZMdk5NYUx5T0pEWGl3M2RIY084WXlVbjRYQUtxTEFmWGlHZGJoVHpmUDdhSm83NVBWbUZXTzgxNElwMnNFOUEyN21xWGpweWprdnFBc3BZaWZNaGlIL05jcHowTUg5em9vMlpBN2x4eFJNejY5L2pUaEtmb2xpUG5VWWpidUYwSTRBZjFjb0JRZnN3Qnd0ZldheWV5clpUenF1dTFUNmJrUWtJTFk3Tm9yMDJwejhNUndqSVM0Q044bFBDWVpkSHN6UDR5akNLeDhUZ1lwY0RjUllwblVBbi91NCtrLzFHR2thZVJFRTdWWGJBaC9raFlCb2Izd2lGaVhud0xBV3RvK08zWDRuU21rYTI4REtTTlg0Y2pOVTVwdXJtTlN2WGowbEh0YndITllkakdrckRrMWlSRmZyQnFzTUV2cEdQWEJHSW9SdHRXWk45bytuZ0JVY0tFMWg0dTQyYlNrYkJvenBWUDhJdGlkNmt6dXZZaFlrT3FGNTUyclcrRTFiZmFoK0E0TXVyOVJBRDBpZFgzMmtjWnd6NWdxZUkxaTl0V0p1dTdqbCtNamFVMHJzL2xBdTFvaGtBbit0OCt1Zm1yZzBsbVUzYXdWR0pHaHROSWtIajgxaXBXZ2JRWjA2bldJWFNDSEpZNUFqdmZkaFRvT05HZzQyNE80bUtHN2RIWHNGelBBTy9vS3pwRlBwREZCTDNLTHZ3UyttUVVLRzhZUnoxSXFOY0RIKy8vTDdHbmNKbW9qQkZrZU1qcTZKRm9JS0dHdFpPWkEzejRuZWdxZUZBYUUxMHdRcksrenJOc0NGK3VIdHFtOU5scVEwY0E0ZkdBYnhqYmRJZ0xsakZnQk1kOWZnQTk2QlNjUURlNUdMYW4zdTlHUCt6K3crbGhlQXZJTFFUby9NUWlpQnp2WXpHZ3ZTeGllVmtJbjlRY00vSFpQYmhJZkdjOEVSbFB5Z3J6SkRQVUd4cVRxc08vTTNsRjdQV3RvTjVuQUYwM2xyOEIzV0ZINWNQeGNkdS9Oazg1UEwvKzJMc1gyMnZHNUN2U05Uak8zelVoTFV2REpiSXBMbGlLYmNSMFA4cFFlaVY1WDNBU3phSUc4TVhkMCtSN2pvQXRvUUFjQ3A2elJNL0JsRWg4Mi9rNThscElYdHNHcGkwazdlZTZQOHo4ZkF6aDBXd2FEVytraGtRdjZwYlVrTEIvT3JreXR0MldXSW84RmVxYmxKVW5laGtIcWE5ek1GeEZTNUd3aE0zWDZPT0RhZ1hrVDMrcy9FMStlVjhYcHZTbURRV0pEMHZYcDlVLzVJWEo2djRSaG9xUTFVN0hOYnRhWG83T0lFU1BDRkR6OU5ETjVqOXcySXFvVm9OSlMvZXJSOU4rRFE0R0NVUVRsdnlZK3VGdVB2Q01LUWdCSXpjZTkzM3Qyb1dYZ0JkZHJUOFBYVk1sc2NTaVBWVWdEOE0yMWFJOFBETHZkbERnUXVpeEFkTEMxOXNqRDFZSk0yM3R3Q0xRWmxmd2ZpUy9ZS3N0TUlvMFVaRjk1REIvdmY1OXJMRFR1QzBmTWx2M1JZa1ErTE1IUExtOXJFaUw5UkR1R2ZEZVdXeTRWSExWRTFrUHRGMEdjbnhIa0k0bHB4K2JwYlAvOHI0blBuNkZKMXF6UUZ2SUk0dlBlSDBTL2NiMWRLOTRZWlVVSmxmS1dYNnN0TGFDWmc2WUwyckJqcVJ5YnMram5nRjc0djZWTTlCS1ljYkV4ZmhIckVFT1EzME9ULzVUNG5rT1RPYUdPQ0dkT2pSSGs4LzMvK3hxVDlVaklCRGhDRm10bzZ1ZXJTc0dPSTFxa0xXRDZWb0Z2cDVsTnkyRWdPWElZRVJja0FCUHUxYm9VQTFvdHZHanphMmp5SHdvZlAwT1RKTGNKKzE2VzhYVEVqL2UvT1dRb2tUZ1dVTjJGWGRxMm1xUFhkMXNTb2dGM2JCanB6enUxakdTVjFHNlgxNGIwYjg1THEraU5aUGtNU0JxbTNvUW9SUHF2aGErZm9VbHUvRW5NSUUzdjQveGZLQUQ1Z2J3T0dmQWFuSklZN3ZBMUtUWVNTQy8yOWN4WnpUR0h1Q0N4VVZMbWpHc2ZMRzdMMXZ0WVNMMnRCc3FKOEE2Umc4ckxQeFErL3hpYVpHYVRCQUhuSmphemYvejh2VjVGZnhWS2xtMkxFaFNxNlhUZXlIdWxRNWUxbTczTVE2d0NZMkM5N3Rrd3lvVjJIalVkdzhKNFBPU0Q4MXc1V1FLMzNmOWo0ZnZYME9SOU1kb3dOaUxYdENIV2ovT2Y2em5xWkd3Nko1WU0rekZJSXNFOFNFNjJBaVpkQzhRMXovYVBOclk1eHlFV1NlMHhPeUtReVI3NDdsbDRRYy9YU3kyWGVmVi9iWHhvZngrYURHUWNEYUlpWGZEUDEvL2I2N2tJVmJrdVlXdXJaMkppZHpJMHJJMm0vWmlEd0dvdHVTQlJEcXJNd2dCUFpKWXQxZ1RXd1RwT2loUUpaRWVubDh1bFRkbitwZkhsK1BlaFNRbFcrRWM5czFmNGZ5RUJjamJwbTNmUlNEUHpzUmk3RnZ2U2NDTHhIZGZiaXhjTUFibWhncU1qWnpZcWVLVTVIL0N1aE85cmUwaVFyanhYa0tqMkNPM2NRaFpSMzQxUDU3OFBUVllFRWZtRmUwdG85WjllUE14R2Z4V0pWdzBkUE9TMVRNQ0d4LzA2ZHlSOHNHOVpnSnd0VVYwOEU4cXJ6ZG9oNFNIbG5ybjc4RWJQSG5GQUVIMHpacUZTK0NVZHU1aU5ieFhFdnc5TmpxUFFCbkt2UlBYeThmNFBLOHRPZk94WnpWbjhtWTQyL1dvYmwzSURNZEV4RldzMCtQcHBKMWpKR2Z4bWcxdzYzR1d1M3J6M0lOeCt1VkE1bXVYU01lM2ZqWSt6Q3ZZZmhpWTNqamhSb1dGd1pmWEg4ZStHNlBhSU5TQTViM09tVGRwNWx3bjFTd1F0MGR0MWlxUjFGam5tM0FkQ1pIZzNTSWRXbWI3VzJDYW1YdytvcjUwaFEvS2piQUVZWjB3T0lQOHdOSW14ZjdkNVUvY0NwWDE4L25IWnM5NXIwUERzQWRuNnpHS3Vjem9CWnJvbkw5RDhnc0FPSGVPOHMwQWgvbDBsdVlQY2VpUFhQY1JLcEhQSFlET1hmMWNnWlhvOGpWQkpSL0lQUTVPQ3J2c3dxRURvTk8zSCs3OExBOVhlSHZzMXVBSTFaN1dWZVA5amp1MVV2MGYwM1B0VkdmUWpyMUxVRzBORHhqOTBaSGpISFBTRytFeGdqTWFCT0tmMTYrbGtaM05VNGo4UFRUWjlMQXdDWDUyYWt5QWZsbHlDYTltc0JONzRubXgwem9Sc3IzT2dpenB0SWpMWDR6VzNZZ0ZsWEYwSVhQSU15NXZjNUh0NFlkOU1iN21MVWROL2JGQjNTemVON09rL0QwM3VwWWtBWG1FczFSOWYvbXhpS05UQU1ZYy84Yi9yZ3didDh3N1BNNU1kaE4yTVhqZWkyL1k2OEJDRnk5NkR3OE5ldW5WenJNK2FjVUs1T0NyQmplaG9nRWQ0akIrd1dmNFBRNU50TlFLRFRYN3RlMU1mWjhBNWJ1aVJVbGlXSFVOOVcvbXJpeGVmYUFkUHpuUkRtNWN4STFjejZBY3FtdnM2TzcwbVh4aUhSeFRiMjRLMEpweElmSW5kME9EQjZEV0NUSkdKL3p3MHlZUHY4bHhpQmFiN3gvdS9oaEdYUkQ5ZFprMTdWallxZ2xQa1BJZWIyZHRsbVkwd0xLQWhxOWdOUWJUTDJMNjg1L2FGNUtIMmpFdTRDSjl0cEp4dG5jSEczNDNEY291ZHZVLzNiME9UcmFTYS9Md3lpUW9JSC9kLzF1RWpnOE53SnlTMFJwREx2MEFoMG5zd25oZFdoQkdtV1ZlcDJNSnZaYTBzcVlvbnFvdElKN3EvOTJEbmN2MHh6dUxhNkJXREk1ck52dzlOVWxPV0d0MFFFMW02ajk5L2tscENIZEJveEh5V2VMSzNTUE5BRFRiYldYcHBWeDlzaEhkUkU4RU1FUnpoZllKNWNROFhjK0N0N0xNaFlLdXpIMzU1STZJdFR4amRDOVdScXZhM29VbWlXSlgza0czV3l4RVVmN3orQi9Hb3pIblA4WUhSOVo5ODcvd3FNRzlBb29FYlhkdVRpVjRvWUZBUEVjcHg3YXZDZzNhMnJXVm10d0hwejNidUo1cFBRVDFDZ1BzZWpJUGRnbkRrNzBPVFNpTUt2S2dRRE5hZW5vK24vM0dWNWpXeERWTFJ3KzRYdW9EcmdYZFdKdTJGS1F6VXFZUFpia0J3YisrTjU3SmQzY3g3TTZ4MnRqb0wrZzRZeC9xMWh0N0RXWkhveldZcVlWZnYwbCtISmljS1Ntc3dicVdKb3E5RXVIam9qL3QvQzVSY0wwaVQzTXpKUkF6aGRRUE9jUTlhbGx6YWpFY3I1WlcxV0F0LzdGcWxWRDU2SnhFMytWR0hnWEVSbTRTNWpyNjV5WXp0QWlOTDRsSXU4aTlEazdzSFZ0YmNaOGRSMThpc3FPWHA0L01mWEF2aUVPeGd1TGMvWk56YkZ6RjVzNVRsZFUzYk5zYTFPRnBZWFRqRCtGNXdoYXAzVWVzV1JiN25EU1lJNzR5SHJURVdabklUVXBvRHdVdHArL0huMENRUVI2UVd6aFBUOE5UZG5KMlAyOGNCMEpVWUhveXY4R2d6SjRIQXJzTDRsTGVUQnNkN3ZCd1VBYkdhSGg0N085WitScUQyUys0ek45QnJtaFNXekhVOENIRDJ0V1RLanVYb2lDdERxSDhabXFRSW1ReU5VdUVQa2ZkTmVybkdqK2UvTnhzcGJnRFNnQWlwNWdUMjFDQnNSUU1PUngwYmVjMXN2WWM2RXN5Ui8wbU4zdTJTYngreFF1dzhRVnlPakpwY05vOWs4T2o5UnFiZ2NSL2d6NkhKaFZHSlcrSzFNVHhycU83ZFRzTSszditYVXlWODY0TE8wSlh2Y3dGVWRjWnNaY0gxa21LYVFYMUJ1T3ZtN1JhZXpiVCtNZVA5R3pEQVFYc2Z5VXY1azhxWUd4VFR1cngwYXRFSDhzZlFaQlpNU1QxeW5na1JENkpRVW1meis4ZnpYMHhpdUZLem8ra054WjdyRUd3L3ErS1FsSjRwSWJEV1c2dUpSc0xtQ0cvVzV3dDNhU1lDYTE2VVExWW9kRUJ3L0ZjeTAvZXlEdk43YU5KNGdVaVhSMUp1c2dUTmlZeGxFUVJEWXZwNEJkU0pzSUdxNlRaSHdiT3A5eDJSckkxUmhkWmtNamRjek5pclpKeFRrUnZKUFZ5N1JnS25aaXE4TU9tUkhRUGJvd0RjRGs5UUE1RDZ4elVvY29SYTM1a1RlRkdSRUZvV1BnaWxma2VnUVdVZVRpMzE0L24vYWxuMDNEZVgwcjV1Ty9wdVA5TzVJbEMzcjNqU2ZSYUh0NVVhRmhBZEwrQk81UFlZQU41WE90MktKclNYMTc2RzJUcDRJZ3pxcmFYUmd4QTdoc1JTNXhUdGpwUzVGd3lCcm1Qa200WFJtZld4OGR3Vi9mejlGMFZzYlVmQ3AyRTlqd3NYYUFqeUZzS29Ra2RmNW5XRnM5ZFpibHJzcTYxR1dYTWc5RlhwdFNJVmVrMGJKc3M2eTkxSGJyZ0J6M1h0THZWRVdJa2FnOGsxV0c0VUhKckJvZllDbXp2ZWZiYlVxeVZZVHorOWZqSW0rZDNZSE82NEIwWnlhbXFpRVJpaUhZVTRpSnNMZVVIS3h1UVhLckZYRUFrUm9iTVRpWUNwMGhCSmtOSVJtUGNFa3prdnVhZDFnbUlwOVlGYXMyd1lPdXNNYytHOERya2dPTElJTmNEQVN2V2FQbjcvYWJTQm5JR1EwUE9ZU1R5UWE1M3REc0syRFlqWnBPTmVvbFBYZUpwYmkrZ0hzdFp6RG9DdFIwUVh1T0VXd09Nb2hnQXJpWmNpUmFPNXMwaHUxb1pCWDV2aFhFYXdDMXI1dmRrWkpkTE1HNHVTeE5JLzN2ODBZTFVFckt4M25kY2VYM3ZaTjZFY0hCSzVFQ0wwM1RDcldlMEc4YTVBazJaOW1LVzJ5Zi9ueFZCRmFxOXR5TnAyT3U5UnlCNGRpTDhFNzlMZWNrNityMXQzelBTZGV1QXE5ckdLTlJ3SWkyTS9vbW9mbi8vbEdKU3NsR2FkTjdXMWx6OUxYOUVhVUozUkp5d2djMW9vYjFRTmZKSHF3NU5jTFNYcTZKU1MrMmlFa3V4NWc4SDR4ZlBLWEFsalN5OFhDY3VuV1VmVXU5cVEvb2FORXRGNkptTWlEQ3JIS0N6ZjBYL2MvN2Q1N1VXZmNTaWFlUWVZVy9XOHNoeHhZT1Zob0RkWXhMemQ0SDRRLzhIK3BMNVNycVhRTCtiSmUyaVNhSVh4ekNLbVovakRHaEU5ZHdpWWp2ZmRvUHZWbDRpS2hELzYwK24vekxhUmRSSk9IV2g3M0djWEQvUDZQM1J4cXA2SWJlMHM1YUoxb2x2M1djTHoybTkwL3dhaEsvU0FGQ0dyYUdiYTV5NHlYZXpkdVQrSEpwV2NkMEhoVW9pMHZrYkR4TDdydHI0UlZXV3RncXNISmYyZFpNL0xiQUliczJuNGdZdmEvbkgrbDAxekp1YzJtVmliZHhZdEpzNGVGbG50dm9VektLV3RtVWM1a2F4N1k5ZUJ6TmFzeDc4UFRlYmRPNk9pcmVrY2R0N3crb0J1Z1NLWHpnZ0I3V0sxSGJrcEJMMDhnOWUremR6eGgyVmY4REcyRlIzOG5IRG82UGZuZmZlck1USDAzVVlqa2Q5WldJT0JjQldrY1JRYVhaZmNjNDUvSDVvc1c4SWxLaVljb1FheFFJTWRSTHhtODhQU3VVR0gyWmxtYzVRTXZjc3NxSVBlUHIvK00xblBITlNWRndnNzV6b2phRVZNck5lZFd3RlNUMlNMeWhGZVIrbWFRWTNMcVdiZmZsa2gvY3ZRNUVYbDZoanhDRzRYdHc3MC9EQ3Zmc1hnTDZ0QkR0M3lnUXFXUytWdDk0SUJzUkErWHYvZFYxbWljWVlpdFFFU0U2WGlQQmdJMFlaR2lyTE82eXBqQjdtOU9ocDQyM2VFZktUTm5uZXRseVg5WldoU1o3RGwyUG9CNXR6bVpMODU1N1Q4ekpXcXk4TjJualBBZGcxRVo1bU5hT2MrUGovLzhqUHBpV2lmV1VScmtHZEQ0eWdEeXJrUXdvT3ExSldOOU5kVHlRRzNocXpVbkh6b0RSRXlVY0g4T1RTcEtQRzlQMDlIRkpWUk16U0ZEV2JyWTJPenRsQnZjQU5VZ0ZsaGc1WlhLS00rSDhmL1FLMTA0MWcwaUdEd1RFZW0yWjV3bFFpTHlZVGpZZS9qbXNXd2JCNWNwRnM1Z21QN01qYno0bFVPZnd4Tk5tWXN1b3J5dk1zQUo1c1hwQkdGQnA1RDBOYnhOUGhwUEVUM2JnU3k3NkVqK0hqOGw5Q3pEVWg2TmVlK0QxdXFDckpmcWMvQnQrZ2J0RkYwbk1GdGlYWk95ME5melBGZ29JZDQ2Tkg4NG40TlRXSUlEWE1BRnRjVVVFVjR1NGJIMkljNzRzRDNZMWZCRjR3cWJsd0NtTlkvbWYrUDE3OTJnenBQQ1BXeE0wQm12aCtEd3RKU3p5YkdaZHZ5OWZNZEZlL0hiUVdXVzIzWm5FTUhoSWZxTldZWEtQd01UZGJrMXRsT2FRTy9qbGxZMEhqUXFCT2w1dFU5cHpRS2VjUklHRStSUE9TZU1IeWFqK2QvSEJNejlLWE1FQWpNVy8vMlFnazZmMlF4a1NKYTJVOGtLMHQ0OTJuTWtqM3ZjNWpsU3JqK2dOUm5wb2pJREFWKzMybGJVbm9uaGhpOG1nZkdSeFdlSTY5MmtaZDkyajZsUDFkK2NCK3ZjOCtnUDU3L2E3UGVRZmZYUzhOeXhiWEV4YzVyUUpaSjhIdytYbmp3YzdnLy9WelY4R0FzUkJ2bzVQWE1rZ0dwakxDTyt6V3ZCK21kVndNWGo5djh5VjZqRStqNDUzY0xnRVRUR2JWTkI0amhGdmhZWmw4NFBDVjhIZ0FUT0Yvc21ZbHdFbER6TVlhRjQrNkVWLzdBYkczZmc1aVRpbVkvTko3OXZMczZ2ZkxNZ1ErVFg2UFVsSFlnKzQ4ZCswM2dPMnVlT25ETjFuK3lIdzdpSEkxZjF2bmhjMnJZam5GM1hTUkdoNk45SFAraUZidDVxdzNYMS9zc1loZ24xZWl3VG9mTy9qM1ViN24yMXZUVU1Dd0s5YWpILzdxNzRuNld4azJMSG9QRSt3cFpsVkswaWFVMDRqWXJJWStVZlVCK2RZZHFzR04wblVQVSt1RDFVQzdGV1NqOWVQL1hqbytndmRkNnRUODNFakRHVjFoRzNLTytieHNEakJ1OXQ2K0xNM29PaTRHS2dEQUlmN0FXcmhEQll6aW9VcVBxUjdHaVp4K2JNT0QyRXd3Q3BsU1hWZXNhK1BLRXZic0VpNTEzclNJdk5MUGUxbytQOTcrKzdrTytVV0JiQlh0UHM1TUV1bVBJYnE5ZGxRTzJLNVY3MjN1dDU3emUxYzRMVGhFaGdUT1ZnVHl1M3NkVzdZTHNlWGpwTENGREN1YVpZckl1b09vSWJHYlcxK1hCK0NjT2hOTEJYQ0RYbjg3UDdlUHJaM1VzRU02OHQ3aWFkeTB2RnZUZk05dWwrYnJ4N1U2dzdlSllLSnRqRFlPTzArSnY5VTBSUlBDUmM4b1pvbUczSS93ak1IdGpEY0hJd1BBbHRYVkVWME5DQVJPbFdvQkI2YzFhTnJzczJJL24rM2o5Q3loYUpZZXh0ZGpuZDREUndPR0tTR0lHYUZSaU12bitQQ1QzeGlwandMem1DRzVyOTdPVVgvZlhrSlh3cTlEM3Z5TjdSQ3RDRUR5WkllTEgvRk12dkdmL0E4T1BZUGc1bEswdVhnZGRuNC9EbjVuR1ErM01LejZaN0RQdmd5dVZCZjAxeHV0ZHBBWnhuWWVFeEhDbWFpY0tjcTg1dGJ4R1JNaXNLWDQ2RE9Qb0U3cWZsemxIYmR6c2szZ3lrcVg1TFQ5ekJwWnlZVWNpZVhaVnM0RndZVHRTRHc4Q3ErZmorUGZFZzV3WElNeEJuMXdtRi9xNWt3ci9QNDBqeEFmc2JnbmI3VERhWldXTnZiU1RaSDV2a25IbHRxMnZJUUFoeDdKUVhrZ3BQcjV2dGV2SWtTNnV4THdJa2RTMlBVaDV1eGszdEZPMExVMEN2UXJoUDk3LzlEaDVvMk8yemhHWjM2ZHhFNFI4M0NNSTNqVWkrVExRa1F1SGJMVnRJNWY5VlluUnlnNjc3UDFsL002a3psYUd6c2hpRjAyUUZJT2t6WmdGOTJwQnpHTTNCcjVhSHdya1hUNExOTDFuWXZZS3hCWDk4ZlZ6Q1RKWFVuTVZTMmNEN1RiZUNPYm5EU2R6T0hFZkczcnhWRlJibEZLYlczZkVBTTBwU1l1WE9mZzFlS1dPM0ZkcS9kb05JNVFoYms0cmVsQ1N4TnFVRStJSndVc1FaK0t5d2Q1VVJZd3NCOElCd2ZuSDZ6K3pwWHZwWGxKL3FFVGRwVDIwQkZLbGRWNTZ3NjVqcjVLbnM4d0hwU1pFRHJ3RWlTZHBOelQ0VXhYTFNyMGMzNVNQN1NaSXBlWlZxUnRINExzY1d4SDdndUZqY2dqRHphYUJpano2a291aEh0ZS9maDcraVRSOTJvVVludTFvb3JET082Lzg4bXh3UVZyd3RDV1NXTlJhRmp0MHJsRS9oQk94OS9jZERwN3plWm52YXpFcnhyTjFOc0lkVzZ1cHpOYm9oZ3poUlBXWll6Uy94cHphODlEZEttU0VsVUlqSVgzZS8yVSt4M05oYldpaHVmL3FSek5qWHVjZTVwYzRkVG56dkxXVkcrSzRpTitDejFYcGVZZUhRanRtQ3lKWmtHazkxa1NuQ3ozSzRoeUN3VFNSN1lvbW9ZNlMzdGQ4dmtQOWs5SXp1OFQzbW1kZDJINzgvcHRYWjJvR2FGTkpXRlVPazVFaU1VRTFSaDUvY2pRRzF4SjcvT0hjNjBIa2wrbHNhcDkzdUZUd3p1R1czWFEyUEIzdkwwN0JvQ0NOWFB1azlmT3JVcVYweC9zT21HRjhETVpwcU16TlBvbFVMcHBYYno0Ky8zaU1sYyt2dkZtODVzaDc1N2UzQUcwc0IwcXllMmRuZmNsMmZpbnFYUThYMGVaeklUOTMrT2ozV0p1SmdlYm9tQjVIbDBhd3BXd2hONDZHVlp6V2ZFTnU0UlptNzdPRk9pNUFiWEVscnNIb2g1U3hmOXovMDFJR0YzVS9CeTZXanpxdjZHRkM2N3pXdXN6TUQwVWpSeHlEWnlkNVdLdEU1ZjkxaDFOWHV1U1p4NHBFS1l5WU1qSFgwYlVaaVZhMWlHRm5WNnpnVUk2enNuR052ZWVyejhpU3p3c0R6Ulp6bEI4L2Y4SzJsVURsWnlJcHF1MnE1Nmx6WE5aVTh1TDBlOTRCNnF0bU0yZjNpVzhDMGY3UEhWNFFkenBlNjd3aUFKWGRlN2tZcW1RanN4VVlJYytHZE9COXFTeHV4bmxYUmt0MkNJL0NoRmlVRWpTV2czdzgrNDFDS3dTZzZLN0NPSWhwUFk4dE83UUlzMWdKTlJ4c1BTOTRiT3J6am5lVmx1WDNIVzZ6WGV3Z0NobmdLMVBiMDd3c2U5V2VBSzh2MEpUaVZnQ2grN3NyUER3TjJNd0lwSzdBYnlBZW4rTGU1K2pVaDJWT2NQbGVULy8rRnJ6WitZNVBkZ3R4VXJZZ294TjNTQUZHTS92ZGdkODliLzJQTy94Z2ZtdVNVczhEZDBQZnorMnlsSFhDcHVNWmE2RnFSWmdUZlB1SmNjK3BqdFFVQklKTFZpelBDK0RQS2ovZS8vNTRhK0hjZlZHUWVNRlZ1ZWtUQnB3dlRkdjgzZ1BFd3VHQlBaMExwTld3Y1AyK3l1WTk1NHFRQ0I3T1huajZRaGJMai9jWDN0cExlS3VuMDBEd1c1RHl6a21adnRSWlFsMFdWS3FtNHA2UUI1bVA1Ly82MFV0eEJja3VBdUc5Z0ZEVzIzY2IvN3pEMDBGSFhQU2FWOExQaTRIWTRqbjU0dzdQTWxNZXM1ZmxRVnpvazFsY25OOTVQY2VvOEVkcTk3N002Y2YxMWFMQ1RlNUFHdUtNZE5TQ3RvUjJBMFIvdnZ5RERuck9LN0xaekVJT3hMcGN0NStzL0x6RDFheUY5OW5yTnN2YmE1azJUUDY0eXFiYVV0OWZjdjF1bld4OFZVSFByeEE4RVFxaXVjdDhwckloZ3JnN3VoTEJPSmxmTWR4bjZYUGVqZm5HUTUrSC83L2tJQXMrNmxaQ2lYN21MTGE1cmhtZ3k1aGYveVptbWVUVmFuRHhMMWZaMUkzS2QyRUErVThndkpxd1NBd1NNOG5iKy82K0FVbGdtTWp5ZGRqNUZidjF1REhxemFUSis3Y0l5TS8zLzMvbEsxLzV5bGUrOHBXdmZPVXJYL25LVjc3eWxhOTg1U3RmK2NwWHZ2S1ZyM3psSzEvNXlsZSs4cFd2Zk9VclgvbktWNzd5bGE5ODVTdGYrY3BYdnZLVnIzemxLMS81eWxlKzhwV3ZmT1VyWC9uS1Y3N3lsYTk4NVN0ZitjcFh2dktWcjN6bEsxLzV5bGUrOHBXdmZPVXJYL25LVjc3eWxhOTg1U3RmK2NwWHZ2S1ZyM3psSzEvNXlsZSs4cFd2Zk9VclgvbktWNzd5bGE5ODVTdGYrY3BYdnZLVnIzemxLMS81eWxlKzhoV0Evd2ZkbWhtWmR5bW05d0FBTWlGcFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrQ2p4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1TUMxak1EWXdJRFl4TGpFek5EYzNOeXdnTWpBeE1DOHdNaTh4TWkweE56b3pNam93TUNBZ0lDQWdJQ0FnSWo0S0lDQWdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRLSUNBZ0lDQWdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlLSUNBZ0lDQWdJQ0FnSUNBZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJajRLSUNBZ0lDQWdJQ0FnUEhodGNEcERjbVZoZEc5eVZHOXZiRDVCWkc5aVpTQkdhWEpsZDI5eWEzTWdRMU0xSURFeExqQXVNQzQwT0RRZ1YybHVaRzkzY3p3dmVHMXdPa055WldGMGIzSlViMjlzUGdvZ0lDQWdJQ0FnSUNBOGVHMXdPa055WldGMFpVUmhkR1UrTWpBeE5DMHdPQzB3TkZReE9EbzFORG8wTkZvOEwzaHRjRHBEY21WaGRHVkVZWFJsUGdvZ0lDQWdJQ0FnSUNBOGVHMXdPazF2WkdsbWVVUmhkR1UrTWpBeE5DMHdPQzB3TkZReE9Ub3dNVG93TWxvOEwzaHRjRHBOYjJScFpubEVZWFJsUGdvZ0lDQWdJQ0E4TDNKa1pqcEVaWE5qY21sd2RHbHZiajRLSUNBZ0lDQWdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlLSUNBZ0lDQWdJQ0FnSUNBZ2VHMXNibk02WkdNOUltaDBkSEE2THk5d2RYSnNMbTl5Wnk5a1l5OWxiR1Z0Wlc1MGN5OHhMakV2SWo0S0lDQWdJQ0FnSUNBZ1BHUmpPbVp2Y20xaGRENXBiV0ZuWlM5d2JtYzhMMlJqT21admNtMWhkRDRLSUNBZ0lDQWdQQzl5WkdZNlJHVnpZM0pwY0hScGIyNCtDaUFnSUR3dmNtUm1PbEpFUmo0S1BDOTRPbmh0Y0cxbGRHRStDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0Nqdy9lSEJoWTJ0bGRDQmxibVE5SW5jaVB6N0JGZ0ZLQUFBQVZrbEVRVlFZbFkyUndRN0FJQWhESzFmKy8wL2hYRTh1akJVekVxSThDZ1lFU1NpUENIWm1FSmFack9leGo3Z0xhbXczWWVlTDVBUGNmZDJLckFzQm9ONWZURTFkTjFMejQ1b1VIeE9xZ2V3MHZmVHI1NDV2NmNuMUlTSXBCOW9BQUFBQVNVVk9SSzVDWUlJPQ"},{ name : "__ASSET__:bitmap_flixel_system_debug_interaction_tools__Transform_GraphicTransformCursorScaleXY", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFvQUFBQUtDQVlBQUFDTk1zKzlBQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZsekFBQUFUZ0FBQUU0QnNjMGZNd0FBQUJ4MFJWaDBVMjltZEhkaGNtVUFRV1J2WW1VZ1JtbHlaWGR2Y210eklFTlROdWk4c293QUFBQlBTVVJCVkJpVmxZOUJFb0F3Q0FNM0hmLy81WGdRMndyMFlJNndKRUcyelNaSkFraGpSZ2QxR3FkRkN5cjAxc2l4QUNVcVlJWEJBcnRyd0xudlZTS2V2WFpud0FWTXRXYmN2NjhQK3BTL0FmNTJIUmZ1cmtCMkFBQUFBRWxGVGtTdVFtQ0M"},{ name : "__ASSET__:bitmap_flixel_system_debug__FlxDebugger_GraphicDrawDebug", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUU5SlJFRlVlTnEwa01zTkFDQUlRNnRic3FCcjF2Z25haFFQTnVrRlhna3BTS0phZUZhWVFWSGg1WWdWbEFiZjFJN1E1UVRnc0pmZTBlTkJYMkFwajR4V2RxWnV4QUwzUnRJZ0dLdERGR0FBNGg0Vk01NWl5QnNBQUFBQVNVVk9SSzVDWUlJPQ"},{ name : "__ASSET__:bitmap_flixel_system_debug_GraphicArrowRight", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUQ1SlJFRlVlTnBpK1AvLy96SWdqZ1JpQmtJWVJNQUFRVTNJaWdscXdxWVlweVo4aWpFME1mNEhheUVLTENmSlpJcmRURlJvRUJYT1JNY2dRSUFCQU1xdGZ6aUhGZ2JoQUFBQUFFbEZUa1N1UW1DQw"},{ name : "__ASSET__:bitmap_flixel_system_debug_GraphicWatch", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBQUlHTklVazBBQUhvbEFBQ0Fnd0FBK2Y4QUFJRHBBQUIxTUFBQTZtQUFBRHFZQUFBWGI1SmZ4VVlBQUFEY1NVUkJWSGphakpBaFM4TmhHTVIvZTFGWkdNSmd3U2FyVnNPS1dSSGJtcGo4Qkg0Q205L0JabDJ3R3NSZ0U5Um1GbHcwQ0NKWUxIZG44UDF2KzZ1SUIwOTU3cmk3NStrazRiOG9BTmdGZXhmN0d2c0ZlNHA5Z2oxb3FaTVFhVDlTSXQxSE9vNTBGdWs5MG1Xa2ZoS1N6TVRUU0xlUnVnMFI2VENTSXgwMHUxSUQxb0VIU3ZsWUNMMEJYb0ZodS9NWHNZYzlxamVzQWtkQXQzS3R6cHVSSGlPOVJicUtkRmR2T0krMDFOVG96RjVuYndEakd0c0hkb0JuWUp0U251Yk9peU90Uk9wRk9xM3VGeitkdjhOZUF5YkFNcVZzQVgrSWY4SG5BTlI0d3BRazlwRnhBQUFBQUVsRlRrU3VRbUND"},{ name : "__ASSET__:bitmap_flixel_system_debug_GraphicInteractive", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZsekFBQUxFZ0FBQ3hJQjB0MSsvQUFBQUJ4MFJWaDBVMjltZEhkaGNtVUFRV1J2WW1VZ1JtbHlaWGR2Y210eklFTlROdWk4c293QUFBQndTVVJCVkJpVmpaR3hEWUF3REFSZnpNSTYyU0JTT3RaZ0tBWmdBYW9NUVU5SmRSUUprUXVjOE5MTHNuVitGeGFnanFQdEovbUtrdVphaXpxSkFiaXJvNWNjSlYyU1ZqTXJGNXpFQXpockRXL3liOURDeXdpMDhFNlJDelk0NTR4WitBUWJuRkxDTEN6ZWt3UnNneTgyUDZENlFrZUFUREtHQUFBQUFFbEZUa1N1UW1DQw"},{ name : "__ASSET__:bitmap_flixel_system_debug_interaction_tools_GraphicCursorCross", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZsekFBQUxFZ0FBQ3hJQjB0MSsvQUFBQUJaMFJWaDBRM0psWVhScGIyNGdWR2x0WlFBd05TOHlPUzh4TnJ0VlFGa0FBQUFjZEVWWWRGTnZablIzWVhKbEFFRmtiMkpsSUVacGNtVjNiM0pyY3lCRFV6Ym92TEtNQUFBQUxrbEVRVlFZbFdQOC8vOC9BeGJ3bjRHQmdSRmRrQW1iU2x4Z2tDaG1ZWUI0Qmh2QUVHZGh3T0pyaG1FVUdnQjN1Z2NXZXB2bWtRQUFBQUJKUlU1RXJrSmdnZz09"},{ name : "__ASSET__:bitmap_flixel_system_debug_interaction_tools__Transform_GraphicTransformCursorScaleY", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFvQUFBQUtDQVlBQUFDTk1zKzlBQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZsekFBQUFUZ0FBQUU0QnNjMGZNd0FBQUJ4MFJWaDBVMjltZEhkaGNtVUFRV1J2WW1VZ1JtbHlaWGR2Y210eklFTlROdWk4c293QUFBQkdTVVJCVkJpVmZaQkpEZ0F3Q0FLbDZmKy9iRTl0RVlPY3pFaHdRV2FHNkFJd1hNYWtkVEcyYUdhYklLUTVqcllhamNBUEhZMzhFZDVSanltN2NpS2k2ekVkRFZQSEFlQm5EaFZYand5eEFBQUFBRWxGVGtTdVFtQ0M"},{ name : "__ASSET__:bitmap_flixel_system_GraphicVirtualInput", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVk4QUFBQzNDQVlBQUFEcXhOS1RBQUFBQVhOU1IwSUFyczRjNlFBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFBSmNFaFpjd0FBRHNNQUFBN0RBY2R2cUdRQUFJLzRTVVJCVkhoZTdWMEhlQlRWMm9aQVFocEo2RFVKRUZJZ0NUV0IwRU12Z3ZUUWV4VlJxaUJGQVJYcjlkcTc2RlV2WEFWQkZPV2lRRUxvSllRV0NFMUV4UUplRkZFUkNQRDkzM3QyWmptemV6YVp0TjBOZjg3enZNOU9kcy9NZWVma20vZWRjNzRwSllqSUZpV3RlT1MxYUVhY2t4Rmw0R0RQenhaRmw2OTd3TUFQeGZZN2hyVithbXBxOUpZdFcrS2NDVzR6ejMxODh1VEphRWFjay9IL0tpWWVlWXFpSDNtUzRweUtweWpQZlZ6VStMb0pEUHhFMmVBWEthQlZBRHhvMFN1ejZPR1hMOURDNTRubVA4ZjRwNVBBYlMxOGdVVGJpMTZaSkxob3ZDU2VPdXo1TG5tRkJCWTdDWHA3S3I3TmU1WUFlTm1lcndXbE5KUjJNdlIyZFI0V3Zsci9va3lkT2xWQS93MzFVbEpTWmlVbkoxOUlUdDVNeWNtYm5BeTBtWHlCT1JqNldPSnAxOGZIangrZnhiaVFtWG1NamgwNzZsU2dUYlROTVBCZHVuUnBDWUNYN2ZocWNLdVkwUHNYcFZiNEV3TDZiNmkzNkhHYTlmQlN1c0NmeEovMDhHTk9BcmVsdFltMkRYMnM4MndZWjRIK1Blcm9mQjk5aWdoZ1FYY0s5TFpVZkJuV3ZyWHRYdzF1RlJNNlQxRWs0N0FRZmZpbGoyZ0cvMmNTeHhIVjcwOFUxYys1UUp1ZEpoRE5RblF3bDlzN0lBU09QKzM1TG42WmFESkgxTkNIaUlZc2RDN1E1aFRtdW9RNTJQSzliUjYzK1ZyK01aNE1MdzFsbkF5OVhYRFFnOFRhdnlpU2NRak9MTm9mYmRyMEpYMzAwVWYwM252djBiLys5UytuQW0ydVdyV1NObTM2aXNBRm5EUnVRdUQ0MDhDWFJmdWpJMGNPMGJadHFiUng0MWYwMVZmT0JkcmN2bjBiWldRY2hva1krRXJtVVNSaVFqWVAvSzE5WDRxRjhLUDVTNGlTUmhGMXZwc1AyVjdPQmRvY01wWm93U05DbEExOURLNlNjVmo1TG4yR1pXVStTOFUwb2tuM094ZG9jemEzRFE0cXZyYjl5M0RibUxDYUIvN1F2aXhGaTE0ZVRiT2ZKR3FZcEJaMlp3SWN3QVdjSk9JYWJ2T0ZjWXg0bUdqd0F0Y0NITUFsTzc2V2Z3VCtNZDVkdW5TcEhSRVIwZHJaQ0FzTGE5V3paODhRY05DNGdKT1ZyMjFNc0ZpUDNyejVLL3JnZy9lVnd1NU1nQU80Z0JPNGFSd05mY3hpUFJxaXZXblRKcVd3T3hQZ29CbUlMVjk4Q3I2TUloY1RpNStnMFF0WnRIdmdQRThoN000RU9DeDhsQTg5NWdSdUdrZERUT0MzeDFpMDc1MUpOUEUrMXdJY1lDRFo4V1VVaVpoQVVPaUV2V2orODRlb3h6MUVrWDNkQTcybThLbkY4enNFTnd0SEdSYStVNTlRaTdrcmNEK2JuWm92bkJ2ZmVWZXJWcTFQNmRLbDk2RHJPMVlPb2I0MTZqb1Y3U3JWeElRbE1ZZHR3Y0hCWGNGSjR3YWVIcll4a1p5Y2ZHajE2bytWWXU0S3JGbXpHbE5ZRG1QaTJMRmpoM2J1M0s0VWMxZGcxNjRkeEp4a3ZySkEyTVZFZ3dZTktDRWh3YW1JaVluSlZVeXdjUndhTVpHb0k0dTNPMkEwUzlaRGo1RERtQURmT1F2Vll1NEtQTWpubVE3NEtuV2lXdlhXRkJMYXphbW9VaTBoeDVoQVVJZ09admhjZitEcExISEdyeEp5VnlCdUtQMDE2OG0vbVp0T0hBY2NPaGhPYU9FNzRpRVdiaDRQdWdQR0xITElsOCtXL2IyOXZkOUNsNy9icWlkZG5jMm5Id3VlSjVyM0hPT2ZUZ0szdGVBRjBmYUxjWjFGY1BqNStURUp3VmVjV2RqR3hJWU5HN0krK09BRHBaQzdBaXRXTEtjdnZ2akNZVXdjUG53NGEvTm0xNDg2ZEtTa0pGTjZlcnJPVitlS1QwTk1USnMyamY3NzMvOXErUjFWM3Fjd3NWbTBQWEhpUkZNeE1mZmg2MW5kKzdGdzkzUVA5R0xKZW1EQlh3NWpBbnp2bmM3Q1BkVTljTjhzeDN6bG1Halg4VVdhL2VEdjlOQ1NHN1J3eVUxYXVOaEo0TFllZXVTR2FMdEY2NlVPWXdKQmdUKzhmWHg4bnFMWi95Q0tnbkQzY1E4MFNxSkw5ejFHL3Y3K2p6RkhId2FDUVFTRWxTOUVlNUNiWVBoRDJmRjlFZDE5cUQrUHBxYTdPcWZFcDQwem5oQmN3RW5qS3dMRE5pWTJidHlvRkhGWEFVYTJkdTFhaHpGeDlPaFJwWWk3Q3BzM2I2YmR1M2ZiOGtWZlcyUGlsVmRlb1kwYmtWUDYwTVU1cFM4Rmw1eGlZaTZmT1dQS1NDWGtyZ0NtcnFiUHZlUXdKc0FYWi93VFdMamRBVlBZeUxMaEsySmk4UEFkTk8vaFc1UTAwb1U1cFRGOHZybm9sdUNpaWdrRWhWZEVSRVE4TDk2Z21VK3JSZHhWNEZIUW4xTWZCZkViVFpzMmpVWG5BdlhyMTI5bTVUdG9udnRnMkVMbSs1Z2QzOGpJeUJibzZpY2J0aVdhNlVZNXBWbFBDazRTWHk5ZU5zUUVCRkFsT0s0QzhoNmZmdnFwdzVqSXlNaFFpcmlyZ0x6SDNyMTdaYjQ0K0h4alltSmFsaXhaa2thT0hDbnlPTzZVVXdJbmlhOWRUTXpod1g2SHU5d0hHQVZObi9PSDRKeVFrTkFBOFFEb01RRytFKzUxSDl3ekRlWmh6emNxS2tyb1JGeXpCVFNmUmR0ZGNrcmdBazdnSzhjRWdvSkhTWlpoRWsxallWT0p1S3ZBQW5mMW5rZEFtbng5ZmQ5Z3JuNE1meDVDdlkwRFQvQlZpYmlyd09aeDlWNWhkZ2ErZkRheEVueC9HYnVBSTkyTmNrbzk3NlZ6SXg0UWZEa0dYbWV1WlhqWkVCTmZmdm1sVW1qeUFwelZBcXJmekFJQ3QyN2RPb2N4Y2VUSUVhV0k1d1ZmZlBHRmdPbzNzNEI1N04rL1grYnJ5eWlyeHdTdVlITzNuQkpHZCtEcktDWm1jeGlyUk54VmdIbE1lK0FLb1Q4NURxd3h3ZjM5dHM1M1BJdTJ1d0JYWGsyYlk4KzNUSmt5SzhGMzRwVHZhTVFFSGxXeGVMc0RSazhpR2pQaHBGMU1JQ2g4UER3OHpvckYrNWF5cVBUT0YwN1g2VVI3UTl0WmNhUldlMlU5VTJnNGtLNVBXaVJJTThkTTVob0FsQzVkK2l3Nlh2Qk5lakJmT04xak11M3ROTXFLSTEzSEtldVp3dEFGZEgzS0VoWGZuOEQzeGd3ZUtibFpUdW5hZlU4SXZxVktsVHFCV09CbFEweHMyTEJCS1RLNXhUUFBQRVB6NTgrbkJRc1c1TXRBWlBOUXhjVGh3NGVWSXA1YnJGbXpodDUvLzMyQi9CaUliQjRhMzdMZzYrbnBLV0lDL2V1R09hVnNZMkltbnllcFJOd1JFdHBsVWx5cnZWYTA2bmhPV2E5bGg3T202dG1pTzRmeWZiUC9GbUxNY1dDTkNabXZTc1FkWWNEUVRPbzljSzhWUTBhZlU5WWJQUEtzcVhxMmdIbmMvNENTNzAvZ08rdkJhOElRVlZOMHJnQnlTdE1mK05NdUpoQVV2dnh4UXl4T2VaUW9na1U3SC9qNjJiZnA0czc5VnB6NzZITzZFczRNRkhWelJBTTJqL0VQQ2RMYzBiOHgxMENBZCtBR09sN3dWWWw0THZEMXU2dm80b0dqVnB4YnY0V3U5Sit0ckpzallCNlRGaHY0Wm1Sa2xHZStOd1hmV2U2WFU3cCszK002MzB0NlVNZ3hnVVNxU21SeWc2VkxsOUtERHo0b0RBUll1SENoc3A0WndEdysrK3d6aHpGeDZOQWhwWWpuQmhnTm9DMFlDQUJ4VjlVekE1aEhXbHFhekRjZ016T3pnaDRUcUdPN2o2NEU5bFUzRDBjeE1YMHVVZnNlNXZIUjZyOXBYOXBGS3g1KzVDZ2xkczh5MUduWDlRbzkvYy9NMi9YMi8wcFAvdk9tb1k0amRPTlF2bmVtVll5dE1TSHpIVGZGUFA3NzFkOTA2UEJGSy83NXdsRWFNem5MVUdmMHhDdjArbHVadCtzZCtaWGVmdSttb1k0ajRMNlBxYk9NZktFVHpQVW0rRDR3NzZhWU1sSUp1U3ZRQTlPQ3M2L1l4WVFlRk9JSG1yUkVMZUltY1Q2c0cyWDkvZ2R2MGxqT3RSbXVySjhqWUI1akYrcWtzZUVnZ0E4ODBmR0M3MENPakR6aS9OMzNVZFlmZndxT2NqbkhiYXJxNTRnaDg5anNIamJ3WGJKa1NiQ1Y3M1QzeXlsZG55SnlOT0NIamtBc0dHSmkvZnIxU3BFeGk4Y2VlNHdlZnZoaE1kcDQ2YVdYNk9XWFg2YlhYMzlkV2RjTVlCNWF6a01aRXdjUEhyUVQ4TndBeHZIdmYvOWJDQ2hHT0o5Ly9ya3dVRlZkTTRCNTdOdTN6MkZNRk9TMFlFRUEvWXQ5MXZncVkrTCtCOVFpN2dneitOQ1F5K1hMV2RTcDV4bERuYnNIWkdpL1dzb2ZmOXlpWGdPTjIzR0VyaHpLOTB5M2lyRTFKbVMrS2hGM2hLZWZFeFNzNVk4L3MyajBoRE9HT2hQdk5mTDk2NjliNGlvcXVZNGpJSGsvWllhUjc2SkZpMEowdnJNZXZLa2NZYmtLR05uZFA4dHFIdGFZTUpvSEN4OUYzSjFuZkR2aElmU2pYVG16K0VWbC9Sd1JPNEN1ajVvbmt6YWFCL2dPbkpObmZMdjRKY0hQdHB4NTVRTmwvUnd4NUVHNlBrWWtscXg4V1NoQ3JYeHhINGhLeEYwRm1NZGtTMDVKRGdydFUzd1BFVldKakJub3hnSERnSEhBUU41ODgwMXhOcStxYndZUU4xeHRKWEUyeE1TQkF3ZVVJbTRHdW5GQVBHRWMySGRNSyszY3VWTlozd3lraExreUpncHFXaEFvNkp5U281aVl5aUxadm52dXNPcVRtN3lKMitXMU4wOVJ1eTVYeEcrdE8xMms1QzNudFY4czVhRkgxTnRSb1N1ZlowNjYzeXJHMXBpUStZNjlKM2Y0Y3BPUjd3ZkxUOUdvQ1ZmRWI4UEdYcVFkdTR4OFgzcGR2UjBWY01YVjVHbEd2b3NYTDY2bDg1MHh4LzNNWStxTW5NeGpESjl4cTBUY0JMTENlNGtwS2xXNW5IR1Nyb1F6QzhWNjJRTG1NWHl1VE5wb0h1QTdnRVU3RDhqcVA1dk9yVThSL0d6TDVaUGYwSlcrTTVYclpZdkJiQjRqaldZM2QrN2NPbGErOXo3T29zMlJuZzhVZUU1cGduV2F6Um9VMnFmNEhrS3FFcG1jb0J2SHE2KythZ1dNQTZPR0R6LzhVTG1PR1VEY1B2bmtFNGN4a1o2ZXJoVHhuQ0NQT0hSQTJIR1o3ZGF0VzVYcm1BSE1ZOCtlUFE1am9pQ21CWUdDekNsSjA0TEttSmd5Z3lpUlJUczM2RG5BTXBxUVN5OGViZUMzQ1ZPTVovRmJkOXl3V3o4N2RPRlFuampWc1htQTc5akp1Y05VWGdlakNibE11Q2REL0Radm9aSHYvdlFiZHV0bkIxeHhOZkUrSTk4NWMrYUU2WHluemM2ZGVSUjJUcWtibThlVWFUbVpCd3NmUmZUS0UzNXN4QzFJNWNiR25kcVNwWnh1UFVTNVhyYUk3VWZYaDh5V1NSdk5BM3dIOEpnMEQvZ3hpYzFCS2pkMkg5YVdMT1gwU0I1cks5YkxGb1Btc3RuTk1mQTFtTWRrTjh3cGpiWG1sS3hCb1gySzczRVdxaEtaN0lBY2g2MXh2UEhHRzJKYksxZXVGRWxvMVhwbUFISER5RVhpYklnSkpLZFZJcDRkVk1ZQlVjZUlZZHUyYlpTY25LeGN6d3hnSGpBZ21hOGNFL21kRmdRS09xY2tUUXNxWTJMU05MV0k1d1E4MGtRdW0zbTBFZC82Q0IwL2NWbjdCZ1p6a3dhUFZxL3ZDRENQY2ZjNk5nL3dIY09pblZ1ODlKcWdaQzBZYmZSSk9rS252NzdOOTgrL2J0SURDOVRyTzRJbGNlN1lQTzZiYVM3WG82T3djMHFZRnB4OFgwN21NWXdGazBjUWVjSFpXVStnTDI4WDNBUW5sWE52ZmFoY0wxdkVzSG13eUlPYlJ0cG9IdUNMNUhZZWNQYnB0d1F2YTdsbnFiWmdLZWRXclZldWx5MlM1dGlabmNFOEpyaFpUaW1XeldPME5hZGtEUXJ0VTN5UHMxQ1Z5RGdDaEd6Um9rVWlyd0hUZU8yMTEyalpzbVZpQktNYlIzNXVoTXZKUEpDY1ZvbTRJOEE0bGk5Zkxzd0NwZ0V4eC9leWNlQkdQOXYxekFMbXNXdlhMb2N4Z1RaVisya1doWkZUc3BrV3RJdUpDZmV4R0hYTEc5SVBHcWVEMXE0N3B5MVpDcVovVk90bEI5elFOdVlleCtZQnZyamNOQzg0ZHR6STk4dU5ScjRyVnFyWHl3N0llNHkxNFN1Yng3M1RjMmNlenNncFRidzNKL01ZekFLSXM5aGM0a3JkN25UK3Yxc0VLWlJyUjArTDcvLytjcnYyRGRHVjczNmt5eXgrdHV0bWk1aStkTDMvTkptMDBUekFWeVhpT2VCS24rbDBmdXNld1F2bDJ0ZmZpZS8vM25sUSs0YjUvblNCTHZlKzMyN2RiQUh6U0pwaDRHc3dqN0Z1bUZNYVlaaG1zeE1LQ0lsS1pGUjQ4c2tucmNZQjA4Q25iQnd3amZ5TU9nQ0kyOGNmZit3d0ppRDZLaEZYWWRXcVZWYmpnR25vaVhIZE9HQWFNQThZZ08yNlpvRjFkK3l3M0tHcmlvbThUZ3NDaFpWVHNwa1d0SXNKaUo5S3hNMWcwQ2dXTng1ZHFFcjZ3UnZLZFhJQ3pHUFVSTWZtQWI2akorWU5zK2RaUmhlcWNpenpobktkbkREdUh2NmM1Tmc4N3JtZnpZTkhWTGxCWWVlVUprekp5VHdHekZTTGVBNDQxMmFZSUtTWDY0KzlJYjYvT2NkNDJjSTMzY2ZiclpzdFlCNTk3cE5KRzgwRGZQdk55alhPalhwUThOSEw5YmZYaU85dnZyUkMrOFpTdnBtOHlHN2RiREh3QWJyZWI3cUJyOEU4UnJsaFRtbW9JYWRrSnhRUUVwWElxUERJSTQ4STA4QVVsUTZZRDg3dThidHVIUGtkZVVEMEpjNkdtRUIrUVNYaUt2em5QLyt4bW9ZT1RESEJPQ0Q2dW5Ia2QrU1JuWG5rWlZvUUtNeWNrczNJemk0bU1QV2lFbkd6ZVBjRDNwcWk1TldVWUI0anhqczJEL0FkeGFLZFYzenltYUJuVng1NlZGMC9KeUJwUG5LQ1kvT1lPUFdtM2RSY1RpanNuTkxZeVRtWlI5OXBMTm9zUXJuRW1jVXZDRkxXa2pqVzhsdlRKTzBMUzdGTVhkbXY3eERSZmVoNnIzdGwwa2J6QU45K01KRGM0Y3hMN3drKzFqTDVNY3R2SXhab1gxakt1WlZmMksyYkxRYk9wdXU5aldabk1JL2hicGhUR21TWVpyTVRpdHlleGNyR0FUejk5Tk9FMFFjTVE0WnFYVE9BdUdFVUkzRTJ4QVRFWHlYaUtrRFlaZU1BVnE5ZUxYNkRZY2l3WGRjczBNYjI3ZHNkeGtSdXB3VUJKK2VVN0dKaUpBdGcyNjU1UjhzT0Y4WFVpbHpXcnZ1Uno1Q3ZLT3ZuQk53VE1YU3NZL01BMzFFVDhvN0JJeStLeTNYbDh1WEdIMm40bUN2Sytqa0JTZk5oNHh5YngvZ3B1VGNQb0RCelNyaXZCZHprbURDYXg5MVRpZXF5YU9jQ1Y4SzY4Wmt2YmpxMGxHdEhUeGwrRjM5ckJWTlg1MnQzTnZ5ZUxlcXplZlNZTEpNMm1nZjQ0cXFvWE9ESzNmZlQ1Wk5uQkIrVWE2ZS9NL3d1L3RiS2xSL1AwM2x1WC80OVd3eGc4K2hwZWRpZ3p0ZGdIa1BjTUtmRW96ZUpyNTFRUUV4VklxTUNoQkRDaFROZ2lCaytIMy84Y1pIQWhZSG85ZDU5OTEzRGVya0J4QTBqR1lteklTYVFYMUNKdUFvWXBXQjBnYXVxWUJ6NGhQanFOd1ZDK0hYWXJtc1dXQmNqR1ptdkhCTVlLYWoyMHhHY2tWUEMvMXppYXhjVHc4ZXJSZHdNMm5USm9uR1REL0htakFWbWNsZmZROHAxY2tLbm5pendveDJiQi9pT1pOSE9DMGFNeTZJSDV0bnpoWm1NbVhoSXVVNU93RWhveUJqSDVqRjI4azNsQ01zTUNpdW5OSEo4VHVaeEY0OGJWU0tlRGM2MjRqTmVxV1F1K2lkdHFON01Ddnd0bDI4bjhObTlZanRLd0R5NldoNFRyWkUybWdmNDlwMlJLNXdkOFlEZ29aZk1GOTZoRFMzN1dZRy81Zkx0d3p5cVVteEhpZjR6N2N6T1lCNUpzMW0wYmFibVRLQlFjMHI5RERrbE82RkFma0VsTWlvZ2Y0QnBJSWpYVzIrOVpUVVE1RUllZXVnaGc0SGtGUkEzVE10SW5BMHhrWnQ3TXJaczJTSVM3QmhaNEdZOTNVQXdMWWFycjFDbklNd0RsL3JLZk9XWUtBSTVKYnVZR0RxV1JidEwzdENoMnhuNjRZY3J2RG43c2pmdElyVklQSzljTHp0MFpLbElHdW5ZUE1CM0pBd2tEeGcrNWd6OS9MT2E3OEZERnlscDJIbmxldGxoekNUa2ZoeWJ4K2dKZVRlUFFza3A4WGttUmxuZ0pzZUUwVHk2OFY3VjdaRXJuSDNXNXFxbEhNcVBtTGRYYkVlSityM3BlcWR4TW1tamVZQnZuK201d3RsM1Znb2Vac3VQWHlRcnQ2TkV2eGxzZGhNTWZBM213ZWFpRlBFY1VHZzVwV2cyRCtNMG01MVFRSlJVSXFQQ08rKzhReXRXckRBWUNNd0RlT0tKSjZ3amtQeU1QQ0NPYUVQaWJJZ0o1QmRVSXE0Q0hqZWZtcHBxTUJDWWgyNGc4Z2pFZGwyendMcG9RK1lyeDBRUnlDblp4UVFFcWcyTGRtN1Jzc05sZXVXTjJ6TVJLTGJ6OU5ObUg2TFduYk9VNnpzQzdrVVlNTXl4ZVlEdkNCNm81eGFEUjE2bTl6NHc4clc5OTJQUkk0ZFlXTE9VNnp2Q3FJbk1kN2hqOHhneEx1L21BUlI0VG9uTlk4aW9uTXlqTTR1UFNzUWQ0SEtkTHVLTU56Y2w2L2ZMZEw1MkorWDI3RkQvYnJyZVliUk0ybWdlNEtzU2NRZTQzSE9LbUlyS1RjSGpTODUzNS8rMlludDJnSGwwR212Z2F6Q1BQbTZZVStwcHlDblpDWVV1VEdZQVU0Q0I2RmN3UWN6ZWZ2dHRZU0lBRENTL0k1RDMzMzlQYkYvaWJJZ0o1QmRVSXE0Q2hCMEdvbzlBOVBzNVlDS0FQQUxKSzlBR3RpL3psV01pTjlPQ2dHd2NRR0hrbEd5bUJlMWlZdUFJdFlqbmhFRWpqSW5iSDMrNktiWWxGMHhmSlhZOXFWemZFV0FlL1lZNk5nKzBvUkx4bkRCMW1wSHZoVjl1MmwwVys4Y2ZXVFJrNUVubCtvNkF2RWQvRzc2eWVRd2JjMU01UFdjV0JaMVR3dk90Qm8zSXlUemFzeWpWN1c0YTMzVGorbmtvWDQ5L1VMazlPOVRyUmRmYmluY0w2S1NONWdHK0VHU1QrR2JpUXRGK2JzdlhELzFUdVQwNzlKdE8xeE9OWm1jd2oxNzM4WDV4cE9jQ2haNVQ2bjZQWFZCb24rTDczRnk1QS9QUW9Sc0l6dDUxQThFbmNpQ1l0MWV0YndZd0R3aTZ4TmtRRThndnFFUmNCUWk3RHBXQjRCTWpMNGlwdkY1dUFITktTVWx4R0JPNW1SWjBWazdKWmxyUUxpYjY4MEM0RFlkWmJ0Q3N6Vmt4TFNXWCsyZGJmbHYybm5HYTVmM2xaNmxGNGtXN2JUaENCejdQN0RQWXNYbUE3M0FXN2R5Zzc2Q3pZbHBLTGt1ZnR2eTJlcTJSNzhkcnpsTFM4SXQyMjNBRTVEMzZEbkZzSGtORzVkMDhDaU9uQlBOSUdwYVRlYlRsOFYwWWk3WkpmUGZtZndReGErR3pXRlU5YW9kM3ZkOHVtTC9QcXNQaklWVmRHVkZzSHEyR3k2U041Z0crdUJmREpMNzdjSjFvMzFxbVA2V3NSeE1XYXhVczVYenFic3BDY2w1VlYwYmZhWFM5amRIc0RPYlJ3dzF6U2wwTU9TVTdvY0RsckNxUlVRR2pEdmxUdjJ0Yk5oQWd2K2FCN1VtY0RUR0JLU0tWaUtzQVlkZEhIL2lFeU9NaGhyWWprUHlhQjZiRVpMNXlUR0IwbzlwUEZaeVZVOEwvWE9KckZ4TjlPU1JiczJpYlJjdU9WK2lwWjIrZkFLR2ticjloL1IyUHY3Q2RweDg3Q2ROWDl0dFNBVGV5M1ozazJEekFkemlmWjVvRnBtaGVmZDNJZDkvK0c5YmY4U3BaMjNzL1pzODlaTmhHZGtEZW8vY2d4K2FSTklMTmcwZFVlVUZoNVpUNkQ4M0pQRnJ4K0U0bDRncWNyOVZSVEVIcEpldjduNVQxZEZ5VnpwQlJmb3p0cGF4bkFNd2pZYWhNMm1nZTRLc1NjUVhPZDV0Z2VJSnUxcysvS092cHVIcjZXNjJtcGZ6WTM2UjUySmlkd1R5NnVtRk9xYU1ocDJRbkZNZ3ZxRVJHQlhua0FRT1JSeURZRGd3RXlFMGV4Ull3RDV4OVM1d05NWUVSaEVyRVZaQkhIcnFCNkNNUTJZUnlNNXF4aGI1ZG1hOGNFMFVncDJRWEU3MEhzV2gzTW84ZWZUSU0weWd3aWdFOEdwRHI0S3hlTHVkWUFPTmFuVGJVY1FUY3lOWnpnR1B6QU45aFk4eGp6UGdNTVIybGx6Ly92RW5USHpEV2VlTnQ3VWV0L1BUekZlbzk0TFNoamlOZzZxclhRTWZtTVdEWVRidXBPVE1vekp4UzM4RTVtVWNML28vaWloMFR1RFRSZUxmejllZmZWOWJUSVg2WHl1K3orYXhmVWMrQXFKNTB2ZGxnbWJUUlBNRDM3dnRNNGRLU1YwUzdlcm0rbkVWV1VVK0grRjBxdi8vakhXVTlBL3JjVDlkYkdNM09ZQjZkZUx5cUVuRUhjRXBPcWYwWXU2RFFQc1gzRUgrVnlLZ0FjZE9oR3dpQUVZaCtPU3hHSW5tNXQwRUh6QVBDS1hFMnhBUkdEeW9SVndIQ3JrTTNFQURid0RPeVlDSVlpZVRteGtOYjZOdVUrY294VVFSeVNuWXhnY2RhcUVSY2hWWWRzeWhsS3paenV5eDdUMTMzNUNuajJmd2J5eTRxNjlrQzV0R2puMlB6QUYrVmlLc3dkRlFXN2Q1ajVMdDZyYnJ1TjJlTmZQL3owVVZsUFZ2QVBPN3E3OWc4K2czSm0za1VaazZwZDFKTzVzRkNyUlJ4RlNZdklYcmhnOXRvaHlrdlJUMGQrRjJ1ai9WVjlXVEFQSm9PbEVrYnpRTjhWU0t1d3VOOEJyOWkvVzJNWDZTdXB3Ty95L1d4dnFxZURCNTlYRzgyeU1EWFlCN3VuMU95RXdvSXYwcGtWTkROQXRDRkRrS0dUd2crNXZlUklNYmZxdlhOQU9LR1Q0bXpJU2IwS1NjejBJVWQwTTFEL3g1VFRiaHlDOUMvend2MGRXVytja3dVZ1p5U1hVemMxVjh0NGlyZ1JVMHdDeG1xZWdBdVlUVmJWd2JNbzFzZngrWUJ2a05adE0wQUR5MzhtTTFDaHFvZU1JOGx3bXhkR2NoN2RPL3IyRHo2Sk4xUzVuYXlRMkhubEhxeDJZR2JIQk5HODhEVk95b1JkeFZnSG8zN3k2U041Z0crS2hGM0ZXQWVObVpuTUkrMm8zbS9PTkpOd2prNXBSRjJRYUY5aXU4aFRpcVJjUlVnYmhCUGliTWhKdkp6TjNoaEFPYUJ2SW5NVjQ2SklwQlRzb3NKdk4raEZZdTJ1MERjQlgyM1kvTUEzNkY4aUxnTGtQZm8ydHV4ZWZRYWNNdVEwOGtKenNncDlXQ3pBemM1Sm96bTBYZ0FpMHBYOTBIVVhYUzlZVitadE5FOHdCZUpiSGRCNzZsMlptY3dqMVlqZWI5c0JOd0JuSmRUR21ZWEZOcW4rQjVUSXlxUmNSVWdiaEJQaWJNaEpqQ0NVSW00cXdEendKU2R6RmVPaVNLUVU3S0xDVHdvcjFWSDkwRTdsb3JPUFIyYkIvaXFSTnhWZ0hsMDd1WFlQTzdxeCtiQnBtZ1d6c2dwZFdPekF6YzVKb3ptMGFBZlVUak9XRzFFM0ZXb3grWVIwMXNtYlRRUDhNVVpmeThXYm5kQW4vdm9lZ09qMlJuTXcvMXpTblpDZ2VrbVFDVTByZ0N1QnNySlBEWnVWQXU1SzdCcFUvYm1VUVJ5U25ZeGdjZFZ0R0ZSVVFtNUs1RElvZHp4THNmbUFiNFE3U0dqM0FNajJEdzYyWmlkYkI3ZCs1ZzNENmZrbExoL3U3RFpnWnNjRTRhZ3VGYVB6MVliY0UvWFllRjJCelRxUTFkNDlBRnVHbW1EVUZ5TDdVUFUvMzRXN252ZEE4emxTcXpSN0F6bTBXeUlXc1JWY0ZwT0tja3VLT1NZd0puczh1WG04eDZGalJVci9pMnVMcEk0RzJJQ0FwcWM3RDVUVnlrcHllTHhJVEpmT1NhS1FFN0pMaVlTdS84bG5pZWxFbkpYQUNPTGR0MStGLzJwTW8vMlBmNFNOK2FwaE53VkdETVJaL05HdnJKNWRPMXQzanlja1ZPQ09XTmtCMjV5VEJpQzR1ZGFIZGhpeGhCRjlGQ0x1VE1SY1JkSHhUajZOaVJSSm0wUWlwOWhkSU5taUROK3BaZzdFMzJadzVDWjlHMkRuZ2ErQnZOb09rZ3Q0cTZDeUNrTnNBc0tPU2FlZSs0NUZxU1AzV0wwQVE1cjFud3M3cXFXT0J0aUFsY3ZiZCsrTFY5SjdvSUNPSUNMVFFMYUVCTkZJS2RrRnhQTjI1MFF6NHZDbFRndFdieGRDZHpFTm13Y1VYenJnNkkvVmViUnV0TUptblRmTFJvKzloYUx0MnN4Z2psTW5uYUxXbll3OHBYTm8zT3ZXOHJjanF1QVI1UmdaQWR1Y2t3WWdtSnJZQXpkaUdUUjdzWTIzWXlGTG9iRnVUNlBScHdKdE5tYzIrNDJucm4wcEs4Q28yWFNCcUhZR3QrVGJtQzBOR29lMGZDNVJBUHdpQkRjNmUxRW9NM2hEd29PNFBKVmsrNEd2ck5temFwdE5ZL0dBMW0wT2RyZEJTS24xTTh1S09TWVlQN2k3SGJ0MmpYaXlpQUlJUVRQbVVDYk1BVThCd3BjcGsxei9JS3dmL3pqSDJMMHNXUEhkbkhQQmhMb21NcHlKdEJtYXVvV3dRRmNjQVdVekZlT2lTS1FVN0tMaWZENnI3Tm9YNk1SNDRsNjlyZGNqWU41Y1dmQ2NnV1E1YkxYZHQyeUtLemVTNkkvVmViUnVQbnJYT2NhM1RmckZwdklUUjZGM0tTUjQ1MEx0SW0ycHpJSDhHMFliK1E3WThhTU9qcmZUbmV4ZWJBeHVndVFVK3JRUFFmejJPQVhTZWtWbWxBV0x1UHNpWHZvcHhEZGZRLy9sNXdFdE5XSDI3eHJBbDJyMjQzMk01ZlZ2dUV5YVlOUWJHamVrOUtiOUtRc0dON1FXVVQzTENMQ0M1d21QZXdjb0szSi9EbDRKbDFqRHZ1WnkrcTRiZ2EraXhZdENyR2FSME9PZG5mTEtjWDJzUXNLT1NhbVRwMUtDeFlzRUZmeHdFRFdyZnVNUHZ2c1U4WmFKd0Z0ZmNadHJ4YlRWZUF5Y2FMakp5M2pTaU84VVE4MzB1M2N1WjEyNzk0bEh0UHVUS0JOdEkzOEE5N3loM3N2Wkw3ejU4OFA4ZkR3RUh3eG1uS0hVWjBPUlU3SkxpWnFoVDlCOVJwOXpDT1BxK0sxcXVQNWtOWGZ6KzBzb00xUjNIYnJ6bjlSdllZcktTUnNrZWhQbFhrMGpIdUM0bHAreklaM2xhWk12MFVQekw5SnN4bXo1amtIYUF1NGg5dHUyK1V2NXJLU1lob2IrUzVjdURCVTU5dWgreTIzeXlrbGRsV2Jodysrd09KSHZuV0ZnV3dKaUthdnE3YWdYME02ME8raEhaMktpeUh0UmR2Slplc0xMc3Q5dzNUU3Z6TFhBSUNGNGs5MC9FZE51Z2dEMmNJamtLOWo3NkpmbzNyUTcwN0d4WG85Uk52SnpBRmNsamZ1SlBNTlpERXB6M3l2Z2U5Vk44d3AvUlZsbldZRFh4OWVOc1RFdUhIamhJSHdtWkU0ZzM3eHhSZUZJRG9UYUJOdFQ1OCtYWEFaTThaNlk2TmRUTEF3Q3dQQjFCYW1YNUFId011Tm5BazhjZ1J0UC9YVVU0TEwzTG5XdHpYYXhRUk0yZDF5U25qc2ljVFhMaWFDNnl3VUJoSlc3MlZxMUh3SE5XLzNQU1VrL3VSVU5HLzNyV2k3VHRRTGdrdHc3WG5nQ3pHMnhvVE9ON3JSUW1FZ2padTlUTTNiN3FDV0hiOW5VZnpKcVdqWjRWdlJkcU5tTHdndTlSc1krQWJ1M0xtelBQOTlEWHpiZFA3RHZYSktMRm10TzEyeWl3a0VoVGZ2UUFZV0gvYXVJUVRibmZCQW1XcUN0S2VuSjE0NlhoYnc4dkxLUU1jL0hCRW5CTnVkOEVCWUl3UGZBd2NPQk9sOGo0VzJkYnVjMHY3Z1ZqSmZiMTQyeEVTUEhqMkVZTHNUT25mdTdEQW1oZzBiSmdUYm5UQmdnQ1d2eEJ6Qk55QXRMUzBRZlBFZFhpZnJiamtsdktWUTZsKzdtS2hjYmJnUWJIZEN4YXBKUW95OXZiMnRNY0Y4ajRKdnJiRGhRckRkQ1NHMWpYelQwOU9EZEw1TkV2YlJrTkh1azFOQ2ZxdGhNOHRyQmVTWVFGQ1U4ZlB6ZXgyTDFUMjg2QlBmY0tXSXV3S2YrVVZRVGVZRWJnRUJBZjlncm40QUw3OGgrSHI3MFNkeDNaUWk3Z3A4RnQrZGFucjdxL2lLL20zcEhVUlpmS1pQM2QwZ3A4UWNia1Qxb25iZTVRVGZzbVhMUG9WWTRHVkRUQVFHQnRLa1NaT1VJdTRLVEo0OG1jcVZzM0JXeFVTRkNoWEVDNU5VSXU0S0xGNjhtQ3BXckNqejlXZjRjbisvaHUvQ3dzTEVGVzN1bEZPS2pJek1OaVk4UFN0UVNOZ1NwWWk3QXFGMUh5RlByMHFDTThmR000Z0h3Ti9mWC9BdFU2WUN4VFpab2hSeFZ5QzJ5U05VeHRzeDM3SUJjZFM2NDFWeFA0aXJjMHJnMExyVGRRb0lhbUVYRXdnS3o5RFEwSzRlSGg3ZjQ4K0VVdjRpejZBU2MyY0NVMmpOU3ZrSnd1Qld0MjdkVHN6VkcrQURycHVWYjdrcUlzK2dFbk5uQWxOb3pZSXFxL2o2UkVSRUpQSjNGL0RiQXdHMTZIbzQvMmQ2VGlUcWU2OXJja3JjOXRYdzdqUWpJTVRLdDM3OStzMFFDL3kzWFV6VXJsMWI1QmxVWXU1TVlBcXRWcTFhT2NaRXZYcjFSSjVCSmViT0JLYlFJalVoQnJmdzhQRE9pQWZ3bFdPaWE5ZXVicEZUd25TVlBxb0QzK3hpd3Rldm5zZ3pxTVRjbWNBVW1vOWZsREltNnRTcFk0MkpnS0I2SXMrZ0VuTm5BbE5vQVlGS3ZqNGNIOWFZcUZaekNyWHM4TGQ0ZlB0NFBteHhtYTB6TVk3YkhEbmhGclZvL3dkVnJUbEpHUk1JaXRKOFFEYm5zNk5KUEl5NmhLOHFsQ3hObzd3cTByUGVJZlNTVDZoVDhZeDNzR2c3c0dRcFFaZzVYYTVjdWZJNFB0amltS3NYd0IyZVlPRHI1VTJqYWtiU3MvVmIwa3N4Ylp5S1orcTFFRzBIZWxwR1NDcStyVnExQ21PK1UvaTNLNmdUNCtsUG4xVnVST2RDRXVsOGFBZW40anR1RTIySGxmWXg4RzNkdW5VSVlvRy9VOFlFbjNWU1FrSUM5ZS9mbjVLU2tweUt2bjM3aXJaOWZJeWNzNHNKUHNzWFFnalRtekpsaWxNeGZ2eDQwVGI2VE1HM0RNTXpQajYramh3VDFhdFhGd2FKcThWd2ViUXpnZndRMnE1VXlYSTJyUFBOS1NaS2xRNmdjaFc2Q0hHcEhqTFZxYWhhYzZKb3U1UjJncWx6WnJPMnhnU2ZVQmhpd3RNcmdLclc2RUoxb3laUlJQMnBUa1ZZNUVUUmR1blNqdm0yYU5IQ29CTStmQklkR2JPY21yWThTWEd0djNVcW1yUTRMdHIyOWc1MUdCTUlDZzhPaWxvY3ZKMXIxS2lSNU9ucHVRTmZ1d05LbFNxVlVhVktsVkhneHVKUWs3bVdBb29ZMzlMcjE2OHZFeHdjM0FhZHozVk9xZFoxQlhTK0lTRWhyZFBTMGp3UkMveDljVXdVSUdTKzBkSFJ3WWdIb0RnbUNnNUZPU2FLc2s0Z0tFcnljTld6ZlBueUxiaENKeWJmaFplbjgxblRNaTh2cjFUc2hEUEJiYVp3MjIrQ0E3aUFFN2lscEtUZ29QTUFpaHBmUnFuRXhNUWcvcTBEeDNQWGN1WEt6WFlYdmxXclZrM3MzcjA3cms1QkFKY3Nqb244d3dUZmtvemltTWdIVFBSeHNVN2tBN1o4VlRFaGdnTGc0VlBab0tDZ3RoVXFWT2lFSFlNcllpWHNoQXgyeWdLRjdmYlJKdG9HQjNBQkp6NWpRNUpSOEN5cWZCa2U2SHl1MTl4ZCtISkF4QThjT0JCY2RVR3pDZ1ZRSEJQbVlMdjlIUGhhK3hyTHhURmhEcmJiejZHUHJTaldDWE93M2I3TTExRk1JQ2lzZ2NHa2NVVkZBMzkvL3c2QmdZRWRzWk02c0pIQ2hOd1cyZ1lIWDEvZnBseDhkWDRhMXlMTGx5SE9McUtpb2lxRWhvYldybG16WmdQZUZvS2tPUSt0RXdvVGVqdmNaaXpham8yTkxhZnhrY1dzT0NieUFibXQ0cGdvSE1odEZjZEV3VU52eDB4TTZLUU41SG00Rk1qT0dNbzdHc003R2g4UUVPQVVvQzF1TXhwdGc0UE9SK09tUXBIa3EwSC9oNGhBY1JMa05tVXVWbzdGTVpFLzVJR3YyNk00SnZLSHZQTFZJQit6cW1PNk1DQzNLWE94Y2l3dXhhVzRGSmZpVWx6eVZtUTMwV0IxbWh0SGwwUXo0cHlNS0prRFE4VlJScEhsNnlZdzhNc3BKbEpUVTZPM2JOa1M1MHh3bTNudTQ1TW5UMFl6NHB5TS93OHg0VXBnS2dYM0d3eGl6R0E4eG5pTzhhWUdMT003L0lZNkNReXNvOXFXUzNCSGxHOW5XOEE3cEFlT3g0Mk1oMmZkeUhqb3dvM2pDK2ptOFhsT3hZM01CU1Rhem5oNEVyam92Q1NlT3V6NW5saENOMDgrNGxTZ1RSWGZzeTkzTEFId3NoMWZEZm9RRVZkYk9CTzJRMVBCUys5ZmxLbFRwd3JvdjZGZVNrcktyT1RrNUF0NFYwWnk4aVluQTIwbVgyQU9oajZXZU5yMThmSGp4MmN4TG1SbUhxTmp4NDQ2RldnVGJUTU1mSmN1WFZvQzRHVTd2aHJjS2liMC9rWGh2L09GL0JSZUgvZEN6R1I4d3ZpV2tkZUNkYkVOYkN0TzI3eFRDcmRYWVAzaE5rVXlEaEc4TnpNZSt1alc2VmxFMy9SaEpETGFPUmxvc3orQkE3aUFrOFpOQ0J4LzJ2UDlkaW5SL3g0aSttMHVZNDZUd1czKzhoRGRPcnZVanE5a0hsYStEQnlzdUZaYTNCakV3RTFqem9UZUxqam93bUh0WHhUSk9BUm5GdTJQTm0zNlVqekN3aFhQWUVLYnExYXRwRTJiOEhLbEZFTWZTK1poNWN1aS9kR1JJNGRvMjdaVWw3eFZFRzNpUFI0WkdZZGhJZ2Era25rVWlaaHdsWG53T3YwWWVJbi9PWWFoWExwMGlmYnYzMDlyUC8yVTNucDdHVDN6ajJmcDBjZVcwcno1QytuQmVmTnA4WkpINk1tbm5xTFhYbnRkUEJoeno1NDk5TnR2djJsckd3cTJqVGI2YWMwV1d1RTI4dFVmYmxsNFIyNEw4ZEZGbzIrZG1zM2kzWkhvREF1NUs4RWNicDE2Z01BSjNEU080R3JrK3cyUFRuK2JSL1FyQzdrcndSekFKVHUrREJ5Y09GaTl1M1RwVWpzaUlxSzFzeEVXRnRhcVo4K2V1RXNVajBRQUYzQ3k4cldOQ1JicjBaczNmMFY0VkxkSzJKMEpjQUFYY0FJM2phT2hqMW1zUjBPMDhWNE5sYkE3RStDZ0dZZ3RYM3dLdm95aUVoUDVncG5DOVpveVhtVWNabGpMc1dPWjlPNi8zcU1ac3g2Z3Uvc09wR1l0MnVRYURadkVVOXZFRGpSbTdEaDY2YVdYNlBCaFF4TW8rQUp0RjhxSWhMZWI2LzV3KzhJN29nZXgxODJNK1lmbzYwRkVYN040dXdQT0RHRXhYckFEM0RTT01peDhmMzZZUngwUHVBZVlpd08rT0p2RGQ5N1ZxbFhyVTdwMDZUM28rbTVOSzFGU20ycE9SY2RHRlJDNWVCVDB0dURnNEs3Z3BIRURUK3ZkeE5yZlhzbkp5WWZ3MUZlVm1Mc0NhOWFzeGhTV3c1ZzRkdXpZSWJ4TFF5WG1yc0N1WFR0WS9JN0pmR1hUc0l1SkJnMGFpRWV4T0JNeE1URm1ZaUpmeUs3dzc0a01UQ2RaeTlHalIrbVpaNStqbnIzN0tjMGd2MmpZcEJrMVQyZ2hIcGQvNE1BQnJWVnJBWmRFalY2QkZONmU2ZjRvTW9WM1JCeDBESityQitkazBkYzg2ampkMWszUWpmNU1tLzAzYzlPREdRY2NoQmhuUnhhK0Z6QnR4TUx0RHJnd3p5RmZQbHYyOS9iMmZndGQvdEhDNW5SMTMweTZjWHcrM1R6K29GTnhJM08rYVB1dDZVMkVZUGo1K1QydjhSVm5tN1l4c1dIRGhpdzhlVlVsNUs3QWloWEw4WklsaHpIQlo1UlptemU3ZnRTaEErOHdUMDlQMS9ucVhQRnBpQW04SFZGLy83bzY3MU9ZMkN6YTFsK3k1U0FtOGdWVjRlK2JNOVl4UlBucnI3L29nMzh2cHlIRFJsSjhRbXVuSWJwQlkwcHMzMEU4NSt2UFAvR3VJMnNCdCtZYTNYd1YzazZPL1ZIa0N1OElBc1RieDhmbnFac1pjNGhPOFJuL0tSWnVkOERwVHZUcjdtbms3KytQS3lmd05GSUloQkFKSzk4THM5MEg1K2RreC9kRmRQZUo1WDNwNXVtWjVNcWMwcTB6L2VqbXFWbUNDemhwZklWWTJNWUUzc090RW5GWEFVYTJkdTFhaHpHQk0xYVZpTHNLZUNYdDd0MjdiZm1pcjYweGdUY2ZidHlJbk5LSExzNHBmU200T0lpSmZFRXUvRGRNZnhsRGxOOHZYNlkzMzFwR25idmRwUlIzWndHamtlaVlCdlRvbzQrS3ZJcFV3TlZMbzUrbnd1czc3SThpVzlBcEVSRVI4Yng0NDJZR0MrQkpGbTEzd2FsTzlNZmUrOURUTjVvMmJSckxYSEh3K2VDeHdGYSs1MmU1RDM1K2dQN1lKOTZ2YmVBYkdSblpBbDM5L09RWUlkcnVrbE82ZVdxMjRDVHhGUWNJUHZXWWdBQ3FCTWRWUU43ajAwOC9kUmdUR1JrWlNoRjNGWkQzMkx0M3I4d1hndXdiRXhQVHNtVEpralJ5NUVpUngzR25uQkk0U1h6MW1NZ1g5TUxMQXhuSEdIVDkrblg2MS9zZlVJZE8zWlJpN2lyRU5tcEtFUkZSNGduSDE2NWRBMVVVY0I2ZzdVYXVDNityN0k4aVhYaEhlT1JzR1RyZnpHQmhPOUhHZlhDeUkxM2RQeFU5VGI2K3ZtOHdWN3cweForSDFXL2p3Qk44ZjNZai9QUUFYVTBYNW1IZ3kyZVlLOEgzMHFZeDVGWTVwYStIMElYMXd3VmZqb0hYbWF2KzRoOXJUSHo1NVpkS29ja05jRFlMcUg3TExTQnc2OWF0Y3hnVFI0NGNVWXA0Ym9CM2p3T3EzM0lMbUFldURKTDQ0ckVVWmZXWXdCVnM3cFpUd3VnT2ZHMWlJbC9RdG1FZGJlemV2WWY2SncxUmlyZTdJQ3c4aWswa0FoZG9hS3hGV1NaMkpwZUYxN1ByanlKZmVFZDhQRHc4em1MeDVwRVpSTWRadEUzaTlGZnh0T0h0bUJ5eDR6OE5SZDJzbzYyVjIzR0lFeDNwK3Y0cElwQ1pZeVp6RmU4bUxsMjY5RmxoSHVENzAwelRPTDFyTEczNFQ3OGNzZU96d2FKdTF2ZlRsZHR4aUI5bjAvVUQ5NnY0L2dTK053NXdIVGZMS1YzZlorRmJxbFNwRTRnRlhqYkV4SVlORzVRaVl4WXdqUVVMRm9nWEl6M3p6RFBLT3JtQmJCNnFtTUJWTkNvUk53dVl4dnZ2dnkrQTk1R3I2dVFHc25sb2ZQR0sxQUJQVDA4UkUraGZOOHdwcVdJaVA4Qmp4Ly9MRUdmeS8vakhQNmtaQkxwNUs3ZEhYSHdMcWxxdHVzaEpYYjE2RmJ1QWduMnBpWDR4VzdpK0FYZEU0UjN4NVk4YldMeDVaSnBheEIzZzRtbmN6Smx6dWZ5L1REcTEveFhhczdwMTdneUV6U05yLzJRUnlIeWc0VUp0UEJjbWtJUDZoc1U4bU8rUEVHMXp1UGpkV3NFbnAzTDUxek4wNnZDSHRPZS9iQ0Rmc1lFb3RxWEVEN01wNjRCbHBLVHp6Y2pJS005OGJ3cStoMmFUVytXVVRuV2lySDFpV2hCOE1jbXJDNFUxSnBCSVZZbU1XU3hjdUZDWUJ2RGdndytLTit5cDZwa0Z6QU52dnRNNDI4WEVvVU9IbENKdUZoQnltQWFBOWpBeVVOVXpDNWhIV2xxYXpEY2dNek96Z2g0VHFHTzdqNjRFOWw4M0Q1dVl5Q3R3dC8xWkJuMzMzWGMwWXZRNGlvTW9GekhVREE2bHVMZzRPblBtREhZRkJUY2NScUZ2ekJTdWE4QWRVWGhISUJRaVdHNGVtVXFVeWFKdEVtYk5ReTh3a1dQL1pmRlViRXVKNHpBUHl4VWdITWgvOENhQ0FEN3c4TGVGN3c4OCtqQUpzK2FoRjVqSXNkVEp5bTJwTVl2TjR4NEQzeVZMbGdSYitSNWlnMUhsZGx3R21NZTlPbDljWm9KWU1NVEUrdlhybFNKakZxKy8vanE5L1BMTDR0cDZqRUllZnZoaGV1eXh4NVIxelFEbW9lVThsREZ4OE9CQk93SFBEV0NXbjMvK3VSamRRRVQxOTN1cjZwb0J6R1Bmdm4wT1k2SWdwZ1VMRXVoZjdML0dWNDZKdkFCWFUvM0ZvSlF0cWRTK1UxZWxNQmNWMUkyb1IwRkJRYUovdElKOU0zVTFGdGN6NEk0b3ZDT1NlVXdod3NqQUpDNmV3aFJ1N3NxUEoxbkFGZHRTNGxnSE5vL3hjaURibUFmenhkU1NTVno4Tm5mbWdmTGptV1RsdHRTWXllWmhlZCt2enBlRkl0VEs5eURYVWVWMlhBWTI1NzFXczFPYUJ3UlVKVEptZ1RQNE45OThVeGdIREFSR2toOERnYmpoYWl1SnN5RW1jTTIrU3NUTll1Zk9uV0lxQ2ZzTkE0RlE1TWRBcElTNU1pYnlPeTBJRkZaT3lTWW1jZ3MrZ0MzbGs3V2ZVdk9XYlpXQ1hOUVFGZDBBOThPSXZwSkthL1JSZG9YckdIQkhGTjRSeVR6NExEdUQvK2NtSVp2SDVmUDdsSFhvOUJpNjhlZEpyUlpSMXJYTDZub3FIRzNQNWpIV29WQUl2cGhXTWduWlBDNy83Nml5RHYzMEROMzQrM3V0RnZoeXM2cDZTc3hnODdDT2xBVGZ1WFBuMXJsdEh2ZmJUODFsZzBMUEtXRmt0OWM2TFNnTGhUVW1JSjYyQXBNYmZQamhoMktrQUFONTlkVlhyY2lyZ1VEY1B2bmtFNGN4a1o2ZXJoUnhzOWk2ZGF1NHRGWTNFQjE1TlJDWUJ4NlBJZk9WWXlLLzA0S0ZrVk9TcGdYbG1NZ05PQkF0NVYvdmZTQkV0Mm16bG5jTVlobzBvY3BWcW9tcnNhU1NyWUh3N3diY0VZVjM1TFo1SEo1SWRJVC83eVp4OGFTTmVTanFBTCtrczhqTFJWRkhpUXcyajdUUkRvVkM4UDEybW1sY1BIdjdKbFpoSG9vNndDK1pUMnUxdEtLb284WjB5a28zanBRTTVuRmdxa0xBSGFQUWMwb3dqejBHczdNekQ1eUZxa1RHTEpCNFhybHlwZGpPRzIrOFlXY2d1YzJCUU53d21wRTRHMklDeVdtVmlKdEZjbkl5YmR1MlRZd1dJT3o1TlJDWUI4eEk1aXZIUkg2bkJRc2pweVJOQzhveFlSYkljZnpPb0xlWHZhc1UzenNCc1EyYmlqNTY0b2tuc0tzbzJPZDY2Q3RWNGQ4TXVDTUs3NGhrSHVPSkRyVXlqWXNuYnB2SHBaLzIwY1d0emUxd2RrTWNIZDJ5UUt2RlovSlhmbEJ1UzRuRGlXd2U0cHB6cFZBSXZ0K3dhSnZFeFc5dW04ZWxDMGZwNG9GSmRqaTdmU3dkM2ZtU1ZvdjUvdjJMY2x0cXdEeU1JeVdEZWFSUFVlZDJIS0RRYzBxWkhTaHJ0OEhzN013RFo2RXFrVEdMOTk1N3oyb2dHTVVzVzdhTVhudnROV0VleUljc1dyUW9WNEtYazNrZ09hMFNjYlBBVFgyeWdlQTdDRHpNQTJheWZQbnlYQmtJekdQWHJsME9Zd0xiVmUybldSUkdUc2xtV2pBMzVoSE1FQTh5L0d6ZDUzZmNpTU1Xa2ZWaXhQOFFKeFZhd2I0SG83OXNDMzl2d0IxUmVFZXNRbkhyOEJpaWd5emFKaUdieCtWZk1tbnYydEYyeU56K0pHVmR2YXpWNHZMVE11VzJsRGlVU0RmU2hqa1VDc0gzelAybUladkg1WXRuYU8rR0JYYkkzUHUyWmFwS0w3K3VWMjVMaldsc0hxTWNDc1hOOUVuMmVaMXNVUGc1SlI3WjdSNmpFZ3ByVEVCSVZDS1RHOEE4WUNLeWdVRDBZQ0s2Z1R6NTVKUEtkVzBCY2NPVFVpWE9ocGpRQlQrdmdOakRQR0Fpc29IQU9HQWl1b0dzV3JYS2JsMFZzTDBkTzNZNGpJbjhUZ3NXUms3SlpsclFySG5nbVYyYkdiUnBjN0s0VDZKSmZJczdIa2lpNDMrSjBacFdraG5pZVdCeTRlOE11Q01LNzRoa0hxT0lEckJvbTRSc0htYkt6NW4vcHN2YkU1VGJVdUlnekdPSVE2RVFmTDltMFRZSjJUek1sSjlQZjBHWEQwOVdia3NObU1jSWgwSnhjLzhFKzd4T05uQktUbW1Yd2V6c3pBTkNvaElaczRCcDRCTUdnaytjdGNPUU1JV2xBeWJ5eUNPUEdOWnpCSWdiaEZ2aWJJZ0o1QmRVSW00V01BM2RRUEFKQThHMEUweERCMHprUC8vNWozSjlXK1JrSHZtZEZpeU1uSkxOeU02c2ViekxvTk5mZjAxdDIzZFdDdTJkaXBvaHRTZ3dNSkF5TTNFYmp5anZvcy9rd3Q4WmNFY1UzaEhKUEVZUXBiYzBqWXZIY1FPcStYTHgzRjdhczZvL1plMXJvZHllSFE2MFkvTVk3RkFvQk45VDk1bkd4VE5yQkErejVlSlBSMmpQdWhtVWRmeGU1ZmJzY1QrYmgzR2taRENQdEhIcTNJNERPQ1dudE5OZ2RuYm1BU0ZSaVl4WndEeGtZTlR4OU5OUEc4d0RVSzJyQXNRTkl4aUpzeUVtSVBRcUVUY0xtSWNNZkxkNjlXcURlUUF3QmR0MVZVQzk3ZHUzTzR5Si9FNExPaUduWk1ZOEJqUG83Ny8vcGdGSlE1VUNlNmNEQ2ZUNjlldlRsU3RYMEJVb1E5QnZldUcvRGJnakN1K0laQjVEaWZhemFKdUViQjQzY01aN09kMGVWMjZmRmFOZ0N1dTdMeE9WMjdORE9zeGpvRU9oRUh4UFRUVU4yVHh1WE9mTmdac3RydDYrMGdvRlUxamZiYjlIdVQxNzNNZm1ZVFE3bzNtTXRzL3JaQU9uNUpSMkRsVUpoVFVtSUp3cWtUR0xkOTk5MTdvTTQwQ0M5L0hISHhkbnloQTdmRUlBellvb3hBMmpGNG16SVNhUVgxQ0p1RmxBN0hYZ2I5dzBCM0hHMVZjd0RYeGlWR0oyaElQdFlQUWk4NVZqQXFNRzFYNmFCUXk1b0hOSytKOUxmTTJZeHlFR1BmSFVNOVE0THVIL0pSbzFiUzc2Yk1xVUtlZ0tsRVBvTjczdzN3YmNFWVYzNUxaNUhPSVRpRFFXYlpPNG1IbmJQQzcvekdmR2lqb0NlR0dUVkw3ZDk3UzZuaTMyczNuczYyODQ4QUNyZVlEdlNSWnRrN2o0OVczenVIemhxTEtPd004ZmFMVXM1ZHRELzFMWHN3T2J4LzVCQnI0Rzg5ZzMwajZ2a3cyY2tWUEsybUV3T3p2elFINUJKVEs1QlVUdG9ZY2VFcmtOM1RqZWV1c3RJWDZZQmtJZVFiV2VMU0J1bUtxUk9CdGlBdmRwcUVUY0xHVGpRQ0lVVTJTNmNlQ0dQb3hHa0pUZnNtV0wzYm9xWUZ1NC9GZm1LOGRFRWNncDVXUWU0cXFPZmR3bk9BTlhDZXYvRjRUV3JpditweGhwYXVWTjlCMEtMeHR3UnhUZUVjazhrb2oydGpDTmk4Y2s4L2hwcjdLT2prcy84dTlheWFtdUZmdmFzbmxZSGh1dUgzakFiZk5ndnBoU01vbUxwMWVMOWxFdVg4aFExdEZ4NlR6L3JwV2M2bHB4WWlxYmgzR2taRENQdmNQczh6clp3Qms1cGF3ZFNTcWhzTVlFQkVrbE1tYUJrWWMrNHNCbGpUQU9RRGFPRlN0VzBEdnZ2S05jM3hZUVN0U1hPQnRpQXZrRmxZaWJoVHppMEkwRGtJMGpOUld2dDkxb3Q2NEsyQjdxeTN6bG1DZ0NPYVhzekNPZVFWbFpXVFJveUFpbG9QNS9RNlhLVmFsaHc0YWlUN1FpM2t6SW53YmNFWVYzUkRLUC9rUjdXTFJOd3M0OEZIV0FjNTgzWlFHMkpwUG9MOHpmSytyWllXOGJObys3SFFxRjRKdUp5MS9Od2M0OEZIV0FjMXRHMGVYL2ZhM1ZaTDY0SjBSUnp3NXNJRm43K3prVWlwdDdodGpuZGJMQlJTZmtsTEsyRDFBSmhUVW1JRVlxa1RFTGZjUUI0NEJoQUcrLy9iWVFPNXpOWThRQjQ1Q250N0xEKysrL0o5YVJPQnRpQW1kOUtoSFBEZlFSQnd3RHdIZVlxdEpISERBTzNXUnlBdXBoSFptdkhCUDVuUmFFZWNoQWYrYzNwMlF6TFppZGVZam5kT0JHUUV6YkZLTTUxWXR1S1BvT0w1YlN5dWVxL3JzakN1K0laQjU5aVhhejhKaUViQjYvc25EdGZTZldEcW12UmRPUnIrWnJ0U3dsNjl4L2xOdXp3eDZZUjAvRGdRZmNOZy9tZTR4RjJ5Ums4L2oxcHlPMGQrVUFPNlMrMzRlT2JMSCs0MFhKT3I5SnVUMDdzSUZrN2U5ajRHczBEeDRwcVhJN0RpQ2JSK0hrbE5xeWVSaEdkbmJtZ1NraWxjaVlCZWJia2VPQVllakdnYk42M1RoZ0dqcFU2OXNDNWdGeGx6Z2JZZ0w1QlpXSW13V0VFNk10TEt1TUEyYWdRMTdQRVdBMGVLUzN6RmVPaWZ4T0M4cjlwby93OHB0VHNwa1dkR1FlUFJqMDIyKy9VZXQySFpWQyt2OFZWYXBXRjFkZlhieDRFVjJFZ3I0eTlOOGRVWGhISlBQb1RiUXJ3VFF1SG4yTlY3Y1VpTmJGNy9mWTRjcnY0cDRoWTBsbjBWZHN6dzU3V3JONTlIQW9GSUp2eGoybWNmSFViZk5BSXZ6aUQ0ZnRjT1h5ZWEyR1ZFNHNWRzdQRGtmdllmTXdqcFFNNXJGN2dEcTM0d0NGbjFOaTg5aldXeVVVMXBqQUpha3FrVEVMbUljODR0Q2YyZ29Ed08vNmRKWDVhYXYzeERZa3pvYVl3QlNSU3NUTkF1WmhPK0xBZ3cxaEFEQU1mZFJoZHRvSzlURGRKZk9WWXdJakhOVis1aGI2Q0s4Z2NrcjRuMHQ4SFptSGVIM3M4eSs4UkkyYU5DdUdCRHkrQkYwMmI5NDhkQkVLK3NyUWYzZEU0UjI1YlI0SGV4SHRaTkUyQ2RrOFRKZFRqeXEzcGNSdU5vKzkzUXdISG1BMUQvQTl3cUp0RWhkUDNqWVAwK1hjZThwdEtjRUdrcFZtSENrWnpHTlhQL3U4VGpZby9KeFNHOHJhMmt2bWEyY2V5QytvUk1Zc2NCWVAwd0N3TFhuRW9VOVg1WGJrZ1ROcGliTWhKc3dtc2gxQkhybkFpT1FSaDI0Y091VDFIRUZmUitZcngwUVJ5Q21wekFOUHk2VkxsMzRYb3c2OHZyVVlSaUQzZ1Nmd1NxK3pSWjlaKy9DT0tMd2prbm5jUmJTRFJkc2tycC9KeGVNemNDTmI1aHpsZGh4aUY4eWpxME9oRUh6eGNFU1R1UDZEOVM3UW5Bc2Vqdmd0bTZOaU93NlJNWm5Od3poU01wb0hqNVJVdVIwSGNFWk9LV3VyZ2ErZGVaZzlZM1VFVEpmb2ovWkE0aGtqRGdpWmJoejZzbmx4czh6dFM1d05NWUVSZ2tyRXpRS1g0R0trQWRQQWM3S3dQUmlBYmdMNk1xQmEzeFo2WFptdkhCTkZJS2VrTW8rM0dmVE91LzlTQ21jeG1sRmsvVmpSaDlMREU5Rm4xajY4SXdydmlHUWUzWWx3dFk1WjdPdkxvamtsWit6dXBGNC9KK3lFZVhRMkhIakFiZk5ndnJnRDNDeU9MeUQ2K3A4NTQrZ005Zm81Z1Ewa0s4MDRVaktZeDA0ZUthbHlPdzdnakp4U1ZxcUJyNTE1Nk5OTGVRV0VDMGxoek8xRDlQRTNCRThYTkh6cVVLMXZDNGdiUGlYT2hwakFOSk5LeE0wQ1FvOHJ0Z0JNTitrbWdjKzhtZ2MrWmI1eVRCU0JuSkt0ZWVBeEpIVHIxaTNxM1hjQU5Xd2NYd3dIOFBYenA4aklTTkZYV2tIZmlYNjhJd3J2aUZVbzZHQlhGbTBlWGJrTGRyWmk4K2pvVUNnRTMwT1QzQWVISjlHTk5PTkl5V0FlTzNpa3BNcnRPRUNoNTVSMnQ2YXNMUWErZHVZQklWS0pqS3NBY1lNUVNwd05NYUhmRmU0dWdIa2dmeUx6bFdPaUNPU1ViTTBqaVVGNzkrNmpCaXlReFhDTTZqVkRSRDlLOTMyZzcwUS8zaEdGZDBReWo4NUUyMWkwM1FVN1lCN3REUWNlY05zOG1POUJGbTEzQVJ2SWpUVGpTTWxnSHR1N0dYTTZPYURRYzBxNzJEeFNPc2w4N2N3RDB4OHFrWEVWSUc0UVFvbXpJU2JNNWlLY0JaZ0hwdXRrdm5KTUZJR2NrcTE1Zk1TZ3h4NS9naG8waWl0R05xZ1gzVUQwNDMzMzNZY3VRMEhmaVg2OEl3cnZpR1FlSFltMnNxaHNaZUYyQndqemFHYzQ4SURiNXNGOEQweG1zSEM3QXc1T1p2TXdqcFNNNXRIRm1OUEpBWVdlVTlvSjgrZ2c4N1V6RDB3MUFTcWhjUVZ3TlZCTzVyRnhvMXJJWFlGTm03STNqeUtRVTVMTnd6cGwxYUZ6ZDRwbGdTeEc5aWpqN1VQVnExZTNtN3E2SXdydmlGVW9idTV1emFMU2ppaVZoZHNkc0xNOVhkL1owcUZRM05qWFhnZzJwVTkwRHh5Nmg2N3ZNWTZVRE9heExaZTVuOExPS2UxZzgwaE9WQW1GTlNad1JydDhlZjd5SGdXSkZTditMYTRta2pnYllnSWltcHpzUGxOWEtTbko0cEVoTWw4NUpvcEFUa2syajJZTU9ucjBxRklvaTJHUGlwV3FpTDQ4ZlBnd3VnNEZmWWd1TGZxRmQ4UXFGSDk5RnNNQ09JRFArbHV3ZVBNK3VoSmJXektYZ2ZUYnFucUdBdy9RRDd5L05yV25XOGNtMHkwZWZkeGk4WFlwd09IWUZQcHR2VUdNYmN5akE0czJtNks3WUVkTE5vKzJNbDg3ODhDZHNxdFhXNFRKVm1pY0RYQllzK1pqY1FlMXhOa1FFN2g2YWZ2MmJhWVQyb1VKY0FBWG13UzBJU2FLUUU1Sk5vK1pESHJ6cmJmRm0vU0trVE5DUXV1SXZuejIyV2ZSZFNqb1EzUnAwUys4STFhaCtHR0pEOTNhMTRyRmNCRGQydEdOYm0xclI3ZTJ0bkV1MENiYVBzQWMwbHJUcVlVK2hnTVAwQSs4YzI5MzREcHQ2ZGJSbVhUekVPUEFWTVlVSjRQYlBEU0xqV01tM2RyZmxrNitZcHhtbXpWclZtMnJlV3hOVk9kMlhJWHRiQjZiVzh0ODdjeUQrWXN6MmJWcjE0Z3JneUNFRUR4bkFtM0NGUEFjS0hDWk5tMmF3NWpBcFpFWWZlellzVjNjbjRFRU9xYXluQW0wbVpxNlJYQUFGMXdOSmZPVlk2SUk1SlJrOHhCUEZwMTYvM1NLWVdFc1JzNklxQmNqK3JKLy8vN29PaFRjYklZdUxmcUZkOFFxRk4vT0xrRVhucTlBTi9lMm9GdEhodEN0UXlOWXhJY3poamtKM0JhM1NVY0cwODNkQ1hUaHVmS1VjWitGbTBvb3pyN2NrYzZ2YUU4MzA5aDBNbG5JTStlNUFBOXkyNVBweHQ0MmRINTVlenJ5ak5FOEZpMWFGR0kxajlTMlBLSkt1SjNUY1RXMnQ2S3NUWVpwUVR2em1EcDFLaTFZc0VCY3pRTURXYmZ1TS9yc3MwOFphNTBFdFBVWnQ3MWFURmVCeThTSmh2ZXVHMklDVngvaHJYcTRPVzduenUyMGUvY3U4WmgyWndKdG9tM2tJdkJtUDl5SElmT2RQMzkraUllSGgrQ0wwWlE3ak9wMEtISktzbmw4eTZET1hYdUl1NmlMWVE3NFg0ZUVoS0RyVU5DSDZOS2lYM2hIZkJBa1dFeWZZakdRY3c5NzBlOGZoTkxWcnhyUXRjMk5uSXFyWDhhS3RyOWY0Q200N0psc05ZOWZtV3NBd0VMeEp3Njg5Q2ZiQ0FQNS9zME9kR2xkTzdySzRueHRXeHVuNHU4dGJVWGIzNy9SUVhEWi9aajFUQjU4QTFsTXlqUGZhK0I3N1N2a0d0d29wN1NqUGYyOXdmSWVBbzJ2RHk4YlltTGN1SEhDUUdiTW1DSE9vRjk4OFVVaGlNNEUya1RiMDZkUEYxekdqTEcrT3RjdUpsaVloWUZnYWd2VEw4Z0Y0T1ZHemdRZU9ZSzJuM3JxS2NGbDd0eTVEbU1DcHV4dU9TVTgya1RpcThjRVRKcCsvLzEzaW1aQkxJWjUrUGo0aXY2VTdqWVBRcDhXK2NJNzRsMjZkT2tNTEw3WjIySWU3b1RuZWxqTXc5UFRjdzl6TFF0NGVYbGw0TUI3WTBJRElkanVoSCtPakRid1BYRGdRSkRPOTh5eUtMcTF0eCtmOWJ0SFR1bld2djUwOU5Wd21hODNMeHRpb2tlUEhrS3czUW1kTzFzdWgxYkZ4TEJodzRSZ3V4TUdETEE4dVpnNWdtOUFXbHBhSVBqaU83d3ExdDF5U25nRG9kUy9la3p3bVEvUnZuMXBGQjNidUJpNVFFQmdrT2hQUEwxQUs4M1FwMFcrOEk2VThmUHpleDJMdFlKSzBMRnBhaEYzQlU1TUwwRjF5bHZNSXlBZ0FQZjUrd0c4L0liZ1c4bUhqajZicUJSeFYrRDRjKzJwVGhYTFdZWU5YOUcvN2VwNVU5YW01bXdnU2E3UEtlMUxvaHViRTZoanJDV25WTFpzMmFjUUM3eHNpQWs4SFhUU3BFbEtFWGNGSmsrZVRPWEtsWE1ZRXhVcVZMQytQYzhkc0hqeFlxcFlzYUxNMTUvaHkvMzlHcjRMQ3dzVFY3UzVVMDRwTWpKU0ZSTkRHTFNhUjFiMVdSQ0xZUjdsSzFRUy9Zbi9yMVlHb1UrTGZPRWQ4UXdORGUzcTRlSHhQZjdzSEZaQzVCbFVZdTVNWUFxdFF4MkxjWUJiM2JwMU96RlhiNEFQdUc1V3ZyRVZSWjVCSmViT0JLYlFPc1JZUk1LR3IwOUVSRVFpZjNjQnZ6M1V2eHhsYll4bjhSNUV0L1lQcDF0cHd4aERuUVJ1YS84d3VzbkdjZTNMcGpTdmorV01DSHpyMTYvUHd4SHk1TC90WXFKMjdkb2l6NkFTYzJjQ1UyaTFhdFhLTVNicTFhc244Z3dxTVhjbU1JVVdxUWt4dUlXSGgzZEdQSUN2SEJOZHUzWjFpNXdTcHF2MFVSMzQyc1RFREFhOS9zYWJTb0VzaG1OVXFsSk45S24wam84WjZOTWlYM2hIU3ZNQjJaelBqaWJ4c1A4U3ZxcnFYNEptdHk1Qkh3OHBRWitQY0M0K0dtUnB1NEt2TmRkeHVYTGx5dVA0WUl0anJsNEFpMGFDZ1c5UUdacmRLNHhXeldoSzYrWTBjeW8rbXRaRXRGM2UzOHNoMzFhdFdvVXgzeW44MnhYVWFSVHFSUnNYMTZRTC82bFB2NjZLY1NwK1hsNVB0QjFSemRQQXQzWHIxc2pvbGVidmxESEJJeEZLU0VnUVY0MGtKU1U1RlgzNzloVnQrL2hZcjd6TE1TYjRMRjhJSVV3UDc1VjJKc2FQSHkvYVJwOHArSlpoZU1iSHg5ZVJZd0kza3NFZ2NiVVlSTWFaUUg0SWJWZXFaRGxEMXZuYXhJUjQ3ditUVHoxTjlXTWFGU01YcUZLdGh1aFhuTkJvNVZIMGFaRXZ2Q01lTEJTMU9IZzcxNmhSSThuVDAzTUh2bllIbENwVktxTktsU3Fqd0kzRm9TWnpMUVVVTWI2bDE2OWZYeVk0T0xnTkRraXVjMHExcml1Zzh3MEpDV21kbHBibWlWamc3NHRqb2dBaDg0Mk9qZzVHUEFCRk1DWmVaTkRDaHg2bWVpeUl4VENQcXRWcmlyN0ZKZVphZVFGOVd1UUw3MGhKSHE1NmxpOWZ2Z1VIVFNjTzZDNjhQSjNQbXBaNWVYbWxJckNkQ1c0emhkdCtFeHpBQlp6QUxTVWxCUWNkYnUzM0tHcDhHYVVTRXhPRCtMY09ySEZkeTVVck45dGQrRmF0V2pXeGUvZnV1R0lKSWx5eU9DYnlEeE44U3pLS1dreUlCNjNOZlhDZWVOVnFNY3lqcWpieXVPZWVlOUNGS01oM0ZmM0NPNEpBTGhrWkdWazJLQ2lvYllVS0ZUb2gySEdtaEVCQ1lNdmdzNzBDaGUzMjBTYmFCZ2R3QVNjK1kwT1NVZkFzcW53WkhqZ2d1VjV6ZCtITEloRS9jT0JBY05VRnpXb2VRSEZNbUlQdDluUGdhKzFyTEJlaG1CRG1NV2Z1Z3hURmdsZ004NmhjdGZvZGF4NVdzZUJBeGxVMkRmejkvVHNFQmdaMlJPRHJRR0FWSnVTMjBEWTQrUHI2TnVYaXEvUFR1Qlpadmd3Y2tLV2lvcUlxaElhRzFxNVpzMllEM2hhRW8zbU5HalVTQ2hONk85eG1MTnFPalkwdHAvR1J4YXc0SnZJQnVhMDdNQ2JFdE5XOCtRc29xbjZEWXVRQyt2T3Q3c1JwS3hraVlIZ0lIY2huUzZFYy9ERWMvUEVCQVFGT0FkcmlOcVBSTmpqb2ZEUnVLaFJKdmhyMGcxU0loNU1ndHlsenNYSXNqb244SVE5ODNSNWFUSWlFK2RLbGoxTWtDMkl4ektOY2VjdFZtSGRjd3J5NEZKZmlVbHh5S2l4NDRsTGRWMTU1bFNMcnhSWWpGeWdiRUNqTUExZTJhZVdPdVZUWEZ2cVpVc2xIemxFMEk4N0ppSkk1TUZRY1pSUlp2bTRDQTcrY1lpSTFOVFY2eTVZdGNjNEV0NW5uUGo1NThtUTBJODdKdUJOalF0d2tpSmRQcVFTeUdJN2g3VzI1eEJ4dmpkVEtFTkdwUmIzNHp0d293RHVrQjQ3SG91OXAxc1BmMDRWNVB4RE4rZEc1UUp0b216bE1BaGVkbDhSVGh4M2ZKVDhSTGZtWmFMR1RnTGJRcG9wdnc4VmZsUUI0Mlk2dkJuMHFTVnk2NlVUWVRtRUpYbnIvb2t5ZE9sVkEvdzMxVWxKU1ppVW5KMS9BdXpLU2t6YzVHV2d6K1FKek1QU3h4Tk91ajQ4ZlB6NkxjU0V6OHhnZE8zYlVxVUNiYUp0aDRMdDA2ZElTQUMvYjhkWGdWakdoOXk4Sy95MGVUN0o3OTI2S1lFRXNobmw0ZUhnSTg3ampIazhpR1ljSTNvZStwNC91WVZHcy93dFJBTVBmeVVDYkRTOFFUV0VPNEFKT0dqY2hjUHhweDNmeHIwU1RyaEVOdmNtVzdtU2d6WHV1c3Brd0IxdStrbmxZK1RKd3NPTDZlWEZ6R3dNM2pUa1RlcnZnb0F1SHRYOVJKT01RbkZtMFA5cTA2VXZ4Q0F0WFBJTUpiYTVhdFpJMmJjTExsVklNZlN5Wmg1VXZpL1pIUjQ0Y29tM2JVbDN5VmtHMGlmZDRaR1FjaG9rWStFcm1VU1JpUWpJUDhXQkVQTnl2ZGxnRVJVVEZGTU1FMEZmb1B1Qk9mRERpYlNFK1I2UHZaZEd1Q0NGbkFYY2x3R0VxRElRNWdadkdFVndOZkJmOWoyakVEYUxCTGdZNGdFdDJmQms0T0hHd2VuZnAwcVYyUkVSRWEyY2pMQ3lzVmMrZVBYSG5NQjdyQVM3Z1pPVnJHeE1zMXFNM2IvNks4S2h1bGJBN0UrQUFMdUFFYmhwSFF4K3pXSStHYU9POUdpcGhkeWJBUVRNUVc3NzRGSHdaUlNVbUFQRkk5cmhtQ1JUT3dsaU1uRkd0UnJBd2pqdjFrZXg2RUhzOStCMGRhbjZleGR0TjBKSXg3enZhQVc0YVJ4bUM3NzEvc1hoZmR3L2N4MXdjOE1YWkhMN3pybGF0V3AvU3BVdnZRZGRYanU5RU5STDdPaFdWR2x2ZWRNZ2N0Z1VIQjNjRko0MGJlRnJ2TU5mKzlrcE9UajZFcDc2cXhOd1ZXTE5tTmFhd0hNYkVzV1BIRHVGZEdpb3hkd1YyN2RwQnpFbm1LNXVHWFV3MGFOQkFQSXJGbVlpSnNieXdLSWVZQU1UTG9FYU1IRVhoa2RIRk1JR2djaFZFMzk2cEw0TVNCeDNEWithWjYxbVZJTng4eHU4T0NHWXUwMC8rOVRkejA0TVpCeHlFR0dkSGd1K0lxeXpjMTl3RG81bXBJNzU4dHV6djdlMzlGcnE4NVNQL29sa25ydExjSDRobS8raGNQTWh0b3UyNE9TK0pvUGJ6ODN0ZTR5dk9ObTFqWXNPR0RWbDQ4cXBLeUYyQkZTdVc0eVZMRG1QaThPSERXWnMzdTM3VW9RUHZNRTlQVDlmNTZsenhhWWdKM0FPZ3YzOWRuZmNwVEd3V2Jlc3YyWElRRTRCNERlM3p6ejlQZFZrWWk1RXp2TXFVRVgxNnA3NkdGZ0hpN2VQajg5UU1IbEQ1LzBUazV5YW93Z1l5SmVNUytmdjc0eHB6UEkwVUFpRkVRdWM3bU0xamtKdGdPRXRFTm54ZlJIZjNYM09ZSnZGKzFkUHlPNnE4VDJGQ3p5a2hyd1V1NEtUeEZXSmhHeE40RDdkS3hGMEZHTm5hdFdzZHhzVFJvMGVWSXU0cTRKVzBTRExiOEVWZlcyTUNiejdjdUJFNXBROWRuRlA2VW5CeEVCTUFuckpMQnc4ZXBGcDF3cWx1UlAxaVpBUDBFYm9PT0hUb0VMb09CWDJJTGkzNmhYZkVLeUlpSXA0WGI5elBZdXpIWjZmdWdzcU15Y2YrUkUvZmFOcTBhU3h6eGNIbmcwZEY2M3dIc1dDN0M0WmRZVkhPdE9jYkdSblpBbDNkNEw0bmFRcWJvcnZrbE1BRm5DUytYcnhzaUFrSW9FcHdYQVhrUFQ3OTlGT0hNWkdSa2FFVWNWY0JlWSs5ZS9mS2ZDSEl2akV4TVMxTGxpeEpJMGVPRkhrY2Q4b3BnWlBFVjQ4SkFGTnVkT3ZXTFlwdDBFZ3BtTVc0allxVnFxSWZ4Uk9UMFdkYVFSK2lTNHQrNFIzaGtiTmw2SHd2ek9PSC9NSDM2RVh5MlhuYUN0OUQ1OG52Mnl4bDNaeFFpYzFqd29tcjRoL2c2K3Y3Qm5QRmkzLzhlVmo5Tmc0ODhCM0VncDBmOVAzaEl0MlZjZHFLM3QrZXA2VExXY3E2T1dIWVgwU1RUdHJ6NVRQTWxlQTdldmYvcUptV3ozRUh0R0FNUy8xQjhPVVllSjI1NmkvK3NjYkVsMTkrcVJRYVZ3RUN0MjdkT29jeGNlVElFYVdJdXdvd2ovMzc5OHQ4OGFpU3NucE00QW8yZDhzcFlYUUh2all4b1FOWGo0bFhBb2V4UUJiRE1ieTExODlPblRvVlhZYUN2aFA5ZUVjVTNoRWZEdytQczFpY2ZKYVB4SE41ZysvdXMrVDk0U2Jxc21rdlBYcjRsQlVEVTlPcHlxcE41TFA1Q1BtZFpSTlJyT3NJbGRoQXhwNjRMdjRCekRHVHVZcjNWWmN1WGZvc0RqendUV0xCemd0NlpwNmxkbDlzb3Z0MzdLVjNqcCt5WXNHZWRPcXhmaE4xM1hlRUJ2NmVwVnpYRVliK1NUVCtwSkx2VCtCNy8ra2I1RTQ1cFpxTWU0OWZFM3hMbFNwMUFySEF5NGFZMkxCaGcxSmtYQVhaUEZReGNmandZYVdJdXdxeWVXaDg4ZHJjQUU5UFR4RVQ2RjgzekNtcFlrTEhZQVp0Mzc2ZGdrUHJVRmg0dldJb2dMNUJ0d0hidG0xRGw2RU1Zb2grdkNNSzc0Z3ZmOXpBNG5pWXgvZTVoOCttSXpRN0xaTXVYY3RDQnluTCsxK2ZveXFmN2lDL1UxZVUyMUNoRWh2SUtNMDgrRUQ3alRlRFp3VUZjbERmd0lFSHZra3MyTGxGMTcxSDZLVWptZlRIZGNkODEzOTdqbnB0M2tIOWY3bWkzSVlLUS84Z0dxT1poODQzSXlPalBQTzlDYjdUbUsrNzVaVHV1ZDIvdUFoZEZ3cHJUQ0NScWhJWlZ3SG1nVGZmYVp6dFlnSnp5eW9SZHhWZ0htbHBhVExmZ016TXpBcDZUS0NPYWo5ZEJSaVpiaDQyTWFIRE9uVVZGOStNNnJCUUZzTWVnVUhsUlI5R1JrYmFUVmtCZDBUaEhZRlFpQjBkL1EyTHluZTVnOCsyMC9UK2FWWjVFK1hzSDFjbzhzczA1WFpVcU1RR011eTRWZHhZbXNXTlNrRjg0T0Z2d1hjZ2Y1c2JkRDk4V2hpRG1mTFRYMWRvNlBZMDVYWlVHSHlaYU1SdE1lWnZLR2pKa2lYQk90K3A2Rjh0bitNT3dMVGd4TnY5eS9ZbllzRVFFK3ZYcjFlS2pLc0E4OUJ5SHNxWVFETFhWc0JkQ1pqSHZuMzdITWFFTzA0TGZ2NzU1NnFZa1BFMlE3ejFNTFIyT05XcEcxVU1DZWdUZEJtQVB0SUsrc3phaDNkRTRSMnhDc1VJaUJ0R0gyWngvQW85ZXZBVWI4SllQdUJEWkNtZlk3MzhPeHVHemNuOW9ZdVh5WGYzT2ZYMmJGQUpWMU1aeGMwZ0ZPQTdrTnN3aTM0L1g2RjNqdG56VGJsT3RQSXEwZWZYaUM3YzFMN1V5c2xMbDZsbjVqbmw5bXd4bU0vVGh0NDJEOEdYaFNKVTV6djVETytYVFY0bnR5am9uTkxZek96TkEyZWhLcEhKRFY1NDRRV2FPWE1tY1YvUSsrL25MekVNY2NQVlZoSm5RMHdjT0hCQUtlSzVBVVkyYjcvOXRuZ1dVWEp5c3JLT1dVZ0pjMlZNdVBPMG9FMU15R2pPb045Kys0MUNhOVZSQ3VqL1orajNkZ1FGQmNsM2xhUFBySDE0UnhUZUVhdFFESUc0d1VCTUltcjdhVjc5ZGpsNzdTYTFnRERaMUlPWnlHVmkraG03T2lwVVpBTVpZQlEzZzFDQTd3QTJLYk1ZZWNqSTkzeldUWnJOb3dYYmVpbHNJbko1K3RnWnV6b3FEUHFWS01uRzdPYk9uVnRINXp2aGE5NHZMWitUV3hSV1RtbjBzZXpOQTJlaEtwRXhDNXg1TFZxMGlGNSsrV1h4cnV5SEgzNDRYNWVqUXR3KytlUVRoekdSbnA2dUZIR3pXTE5tRFMxZnZsenM5K3JWcStuZi8vNjN1TnhXVmRjTVlCNTRwcEhNVjQ0Sk41OFdsR1BDRnVzWU5HL2VQQW9PRGFQYUxKckZpQko5Z2U0QzBEZGFRVjhaK3UrT0tMd2pWcUVZQ0hHRGdaakVTeWRZZ2FUU0RkTWhpbnJBMmI5dkQwRlNmN21zckdPTGltd2dmWTNpWmhBSzhCM0FnbTBXcTg0WStTNkNjU2pxQVQ5TCtadUR2MTVXMXJIRm9JdEUvVzNNVGhhS3NlaGZLYWRqRm9XWlV4cVJnM25nTEZRbE1tWUFzM2owMFVmcGpUZmVvRGZmZkZOODRnWXp2TmRBVmQ4TUlHNFFlSW16SVNhUW5GYUp1Qm5BTEQ3ODhFTWg2QmdSNEJOVFpEQVFtSUJxblp5QTlYQ2ZoOHhYamdrM254YVVZOElXUFJoMDhlSkZxbEV6aEdxSFJSYURFUkJZVHZSZFlHQ2c2QnV0b0s4TS9YZEhGTjRScTFEMGhianh5Ymtwbk1nU09ReTlwUDdHb3FXcXAySE9MMFJidWJvT1ZSMWJWR1ErdmJJeEQvRHQvejl6NlBkekZ2MzA1MjIraHk1ZlVkYlQ4UzYzbG5IOU5sUjFiSkhFKzlnN0cvTVlpZjFTNUhheVEySG5sSVljemQ0OGNCYXFFcG1jOE5SVFQxbU5RemVQMTE5L1hTeS8rT0tMZVRhUW5Nd0R5V21WaU9lRWp6LysyR29jc25rQTZJTzhHZ2pXMmJWcmw4T1lLSWhwd1lJRSt0ZG1XdENSZVFCZk1PakpKNStreWxXcUs4WDAveFBRQitncUFQR3ZsYzlWL1hkSEZONFJxMUQwZ3JpZE1vZHFCL2hVV3lxUC9jRG1vYWlYSDFSa1B0Mk40bVlRQ3ZEdHo0SnRCb05QRy9tdStCK2JoNkplZmpEd0F0RmRObVluQzhWUTdKZE5YaWRiRkhKT3FlSzN6Sm1kVWVKclp4NFFFcFhJWkFlTU9CNTc3REZoR0crOTlaYUFiaUQ2Q0VRM2tIZmZmVmU1RFVlQXVFSG9KYzZHbUVCK1FTWGkyUUVqRHR4dkFjTkFBaHZRRFVRM2tid2FDT3J2MkxIRFlVemtkMW9RS09pY2tzMjBZSGJtMFlwQlY2OWVwZkR3Y0twVkorTC9OZEJOQVBvQ2ZhS1ZscXIrdXlNSzc0aFZLTHJEUEU2YVE5ZmpsM25WMndWL3ErcmxCeFZZTnp0bll4N2cyNDhGMnd6bWZXL2tpNzlWOWZLREFlZTVIN0l4anlUc2wwMWVKenM0STZmVTkwajI1Z0VoVVltTUkrQ01DOGFobXdhQTd6RTlzMnJWS29PaHdFQ1FBN0hkUm5hQXVHRTdFbWREVENDL29CSnhSNEFSd1RoMDB3QWcrQmpCNEY0RzJWRHlZaUE1bVVkK3BnV0J3c2dwMll6c3NqTVA0QjJHdUxBQWw2ZXFSUFgvQS9UcEt2eFAwUmRhZVFkOWg4TExCdHdSaFhmRUtoU2RjV1o4M0J5Nlp0cVlCLyt0cXBjZlZEaEIxTjU0Wm13UUN2RHQ5N001elB2T3hqejRiMVc5L0dEQVQwU2RiTXhPRm9yK3ZEK3EzSTRqT0NPbjFEc0g4NENRcUVSR0JUM0hzV3paTW5HMUVvQ1JoWDdtams4SXYvNGI2dWtHWWxid0lHNTRtNTNFMlJBVHlDK29SRndGUGNjaGY2Y2JCMHhJTnhENWQ5MUF6Q2JSc1Qxc1ErWXJ4d1MycDlwUE0zQlNUaWtuODhDenVuRHpJMDJaTW9YS1Y2aWtGTmM3R2RobmRCR0FQdEFLK2tUY25ZL0N5d2JjRVlWM3hDb1U3V0Vldk10bTBQWEVYN3pxN2RMMTRDL0tldmxCQlRhUXR0bVlCL2oyWmNFMmcvbm5qSHpublBwRldTOC82TS9pbnBpTmVmU0dLV0owWndaT3lpbmRkVGg3ODREQXFrVEdGcGc2MFkwRG93cVlBNzdIaUFNSldDekRPSEFHcnh1SVh1K2xsMTZpUng1NXhMQTlSNEM0WWFRZ2NUYkVCUElMS2hHM0JVUmJOdzV3d3FkdUhMb0JRZlJ4OVpadUlIbzlqQlp3R1MrV2N3SzJpVHVNWmI1eVRPaDlrMXNVWms0Si8zT0piMDdtQVloWDFGNjVjb1hxMTY5UGxhdFdGL2M2L0g4QTloWGRBMkRmLy9yTHFqT0dWODN5M3diY0VZVjN4Q29VYlRDdGNzd2NXdkNacTF3bXBwOVQxdFBodStrcythemNhNFdxamkwcXNJRzBOSjRaRzRRQ2ZQdXlZSnZCVEJaWHVUeDk3Snl5bm82dWU4OVM0dnE5VnFqcTJLTC9EMFN0YmN4T0ZvcTdZQjR3YUJOd1JrNnBBaHRJMXh6TUE5TTZLcEdSQVJOQTBsUWZjZUFUMzJQS3gvYk1XamNRYkJmMWRNQjhYbnZ0TlVOZEZTQnVFSDJKc3lFbWR1N2NxUlJ4R2JxQnlkOUI1SEdsbHUyMGwyNGdtSHFTdjhkK3dSamw3MVRBZHJkdTNlb3dKb3BBVHNtTWVRRHZNdkRpSzNHbFVkVnFOWlZpZXljQis0aXVBYkRQbVprc1dKYnlML1NaWFBnN0ErNkl3anRpRllvV21GWTVhaDV5ZWYva2orUjNPRXRaRDVpOTl6U2wvbmpSZ2d0L0tPdllvandiU0xOc3pBTjgrN0JnbTRWY3Z2am1SK3I5YlpheUh2RGlvZE9VL3ZORmdRTVgvMURXc1VWZlJvSU5YMWtvdW1KRXBlVnpjb0t6Y2tvZEQyVnZIcGdpVW9tTURDUnBZUUR2dlBPT0FCNXhBZU53ZEZhdEd3ak9jUFYxeklvYzJscXhZb1hEbUxBVmVSWDBHLy93dUhrQWY4TTRIRTE1eVFhaXJ3TlRBRlQxWmFCT2FtcXF3NWdvQWprbHMrYUJSMjlzWm9qL2UrblNwYWxHY0cybDZONEp3TDZoV3dEOEw3SFBXa0hDUTd4QVN5NzhuUUYzUk9FZHNRcEZQTXdqd3p3KysrVnZYdDFTY0E5QzFiV0hsUFY4L251YXpsNitQUVdEOVZUMWJGR2VEYVJKTnVZQnZuM09tY2ZPMzI3ei9ZUDU5dHAwU0Ztdjg0N1Q5S04wV1MvV1U5V3pSVjlHWERibTBSRWpLaTJma3hPY2xWTktQSmk5ZVdDS1NDVXlNdlN6Y0l3SVVCL2ltdE1adFg3bWp5a2dtQTIyWVR0S1VlSDk5OThUTi9GSm5BMHhvVTh4WlFjOW40RVJBYWFVY0ZkNlRya1NiQmYxY0RVWHpBYmJNSk9jaDNsczJiTEZZVXlZblJZRW5KVlRzcGtXTkdzZVFEQ0Rqd0lTZWFHeUFVRlV2V1lvaGRTcWUwY0IrK1JmTmxEdkk3R3ZXc0crQjZPL2JBdC9iOEFkVVhoSHJFTFJtQVhGOTRoNVRCUmhjcnQ4K3MxNTh2NWdCL2xzUGtjKzJ5K1NUeXIvdlRLZEh0M0hwN2hTd1hxcTdkbWlIQnRJUStPMGlrRW93TGZQOStieG9uRW1pRksvTzA5dFA5bEIzZmFkb3g1SExsTDNBK2VwL1gvVDZlMURScjVZVDdVOVcvUmxOTGJoS3d0Rk80eW90SHhPVG5CV1RxbjFnZXpOQTRhZ0VobGI0TXdMSW9tejdOeWNUVU5nSWVBWXFhaCt0d1hNQXdlcnhOa1FFOWlXcllDckFMUEE0OXNCczNrU0FBYUNGMDZadlJrUlJwcVNrdUl3SnN4TUN3TE96Q25aVEF2bXhqeUFLTWJ2REhyaWlTZkVkakM5b3hMaG9naDVxZ3JBUG1vRisxeVB2MU1XL3MyQU82THdqbGlGSWhibWNTaDMyUHFIOVltUm9oejg1VEtOVHo1Q25UL2RTd00zcE5Pblo4NXJ2MWpLb2I5dUtyZWpRcm5EUk5IWm1BZjQ5djQyZHpoeXhjajM1TVhMOU5pT0kzVHZsM3RwYmtxNk1CUzVmSDMxcG5JN0t2Umh4R1pqSHEwd29wSnlPdG5CV1RtbGhQVHN6UU9KWVpYSXVBb3dELzE5RTZxWWdIbXBSTnhWZ0huZ3lpeVpyeHdURUhyVmZzcUFDVGd6cDRUL3VjUTN0K1lCdEdhSWd0RVM5ck5TNVdwS01TNUt3RDZnSzdTK29XZWVlVWJiUzFGYW81OGNGZjdkZ0R1aThJNVloYUllaTRudndkeWhHbzhRemw0ekNyS2pjdW5HTGFySG9xWGFqZ3JsMkVBaWpYUHlCcUVBMzk1bmM0ZWgzK0daVnViNC9ubnpGazNnVVpKcU95cjBZZFN6NFNzTFJYUHVLMVZ1eHhIa1VsZzVwYmo5MlpzSDhnc3FrWEVWWUI3SWUwaWNEVEdCMFk5S3hGMEZQVDhpODVWam9namtsUEppSG9EVlFOQTJjaUNCNVNxSVp6OFZSZWdQT3dTd0w5Z25xV1JySENoY3g0QTdvdkNPV0lVaVBBL21BY0JBdHRyY3FHWmI4SHR1akFNSVl2TUl5OFk4d1BmdWIzS1BJVHhDT0hJNy9hRXMrSDM4OStyMXMwTjROdWJSbEVkU3F0eU9JemdqcDlRNExYdnpRSDVCSlRLdUFzd0Q4L2NTWjBOTVlJcElKZUt1QXN3RGtQbktNVkVFY2twNU5RK2dCVU1FSnU2a0R3Z0lvTEpsQTZsbVNCMmxRTHNqd0JXYzBRVUE5Z0g3b2hYc1d3TDZKNmZDOVF5NEl3cnZpRlVvNmtEY0QrUWRDY2VKSHZ2SlloUTZYcnBBMVBXVXVuNU9DR0lEcVcxTTZCcUVBbnp2UHBOM1RPTlJ4WXBmTFVhaDQ5UGZpZWIvcUs1dkJtRTJmR1doYUlqcE9DMmZZd2JPeUNuRjdzdmVQSkJmVUltTXF3Qnh3NmZFMlJBVCtwVlU3Z0lJUFQ1bHZuSk1GSUdjVW43TUEwQU9oRS9YaU02Y09VTnhjWEZpMnhVcVZsR0t0VHNCSE1GVkI3aC8vZlhYMkJVVTdGTVVmMitxY0YwRDdvakNPMklWaWhDWVI3cjdJSWdOSkRnYjh3RGZ1L2wvNlRaZzh3ak54anhpdEZ4T2JsRFlPYVg2T1pnSHpscFZJdU1xUU53d1pTQnhOc1JFZmg2ZlhoaUFlV0FLU2VZcngwUVJ5Q25sMXp5QUVNWi9HZUtaVDNpbk4vWWRWeXhWclJGQ05WbW8zUW5ncEY5TnBmV0Q0Q3c5cjJvREl3VDlZclp3ZlFQdWlNSTdZaFdLR2tmNWovM3VneUEya09yR3E0RU1RZ0crZDU5Mkk3Q0IxTXpHUEtKc3B1WE1vREJ6U3BnV2pOaWJ2WGxnRGx3bE1xNEN4QTF6K0JKblEweVl1ZmZDbVlCNTRLeGY1aXZIUkJISUtSV0VlV0FUK0Z6R0VBVWpSRHhBRUYvamt0NXFNSkdRT2k0Rk9JQUxPT2tBUjB5RlNtVVpmNS9yd3V2WjlVZVJMN3dqVnFHb3ltTHNuOFpmdUFuS3NZRlV5Y1k4d1BmdVUwUzkzQVM5MlVDcVpXTWVkVEVkcHhEeG5GQ1lPYVU2ZTdJM0QrUVg4dk9ndllJR3JnYkt5VHcyYmxRTHVTdXdhVlAyNWxFRWNrb0ZaaDRvdkR5SWtjbWdhOWV1aWF1eGtFZkFULzVsQTZoSzFacEtZUzlNb0UxNXBBR0FFNjZtQWtldDhORkZnL2kzUEJWZVY5a2ZSYnJ3amxpRm91TCthMVFGVTBiNzNBUFZXR3dyN3YxYmNGTUpSWlgwYTlTWEJWc2w1SzRBdUZUWlorUXJDMFZ0OUsyV3o4a0xDaU9uVkd0Mzl1YUJTME9YTDNlZnZNZUtGZjhXZDFGTG5BMHhnUnZsa3BQZForb3FKU1ZaSkZobHZuSk1GSUdjVW9HYUJ3ci9qWWNwaXFmeG91QjF0cmlIcFVJRnl4Vk5ucDVlRkJoVW9WQkhJOWcyMmtCYmFGTUhPSUNMOVBwWUZIQzFQdVF3TDRYWGQ5Z2ZSYmJ3amxpRkl1aUw4OVNZendrQ2NPYXZFSE5uSXBBNU5HVXVnV3UrRTl4VVFsSHp5L1BVNjJ1aVBpZFp2RjJNdml6Z3ZURnQ5Wm1Scnl3VUlaaU8wL0k1N2dDUlU5cVZ2WGs4OTl4enRIcjF4MjR4K2dDSE5XcytGbWVyRW1kRFRPQnFwTzNidDFrVDFhNEVPSUNMN1UyTmNrd1VnWnhTZ1p1SFh2aDdYSTBsWGlpRjh1ZWZmNHFuQXNmR3hvcjJBWWc3UmdWSVhsZXRubmN6d2JyWUJyWmxheGdBMmtTc2c0TlV3TTNVMVZRNUZkNU9qdjFSNUFydmlGVW8vQmJ2WUVHNVFmRThRS3ZGd2xLSkJieUNrNEUyYTNQYjRCQjA2Q2I1TGpCZUl3L29CMTcwUDdaVHVZTTNhUEFab3VGODFqK0FCYndmQzdremdUYlJOamlVWTc1Ump4c3Z5NXcxYTFadG5XOE5LWi9qRGhBNXBSek1nL21MZXd6V3JsMGpyZ3lDRUVMd25BbTBDVlBBVlViZ01tM2FOSWN4Z2ZkYllQU3hZOGQyY1hVU0V1aVl5bkltMEdacTZoYkJBVndlZi94eGh6RlJCSEpLaFdZZWV1SGZFeGxyR2RhQ1o0bk5tREdEcWxXN2ZXTWVVTkxEZzd5OHlwQ1ByNStZNXNKN05QQWVFZHlIQVdBWjMrRTMxRUZkckNOdlF3ZTJqVGJRbGswQmwwU3VVMkNGdDJlNlA0cE00UjJ4Q29YdnpJM2s5L3hCQ2tqUG9vUVRSRzM0ekw4VmkzaExKd0Z0b1UxTXp3U2tYU08vNXc2UXo3MkdWMklhaEtMaDRxOG8vTTBEYkhoWjRxeC8zRGNXakhVUzlMWjZjdHZsOWwrajhEZlNLZVpCdzF2WWdoWXRXaFNpODYzS3h1aDJPYVdkMlpzSHJqSlpzR0NCdU1zWkJySnVIZTRYK0pTeDFrbEFXNTl4MjZ2RmRCVzRUSnc0MFdGTUxGMjZsRjU1NVJWeFg4VE9uZHRwOSs1ZDR2RWp6Z1RhUk50NHhTeGUwb1NuMjhwODU4K2ZIK0xCZ2dhK1JTQ25WT2ptb1JldTE1VHhLdU13UTVSYnQyNEpjWC8yMldlcGI5KytGQklTSXJqbEJWZ1gyOEFKQnJhSmJVc0ZiYUx0T0s1YjRJVzNtK3YrY1B2Q08rS0RJTUdpenowZkN3UHhYYmlWL1A1OWh2dzMvVWIrVzM1M0xqYitLdHIyblo4cXVQaE10RDRxQVUrbUNnQllLUDdFZ1JmOXdDcGhJTkZQcFZMd3FqTlVNZVUzcXJEMWQ2ZWlVdkt2b3UyWUo3WUlMdlZuV3UvT0JkOUFGcFB5elBjYStGYmNkcFdxNEt4Zk1VM25DbFRqRTY2S1c2N0lmSDE0MlJBVDQ4YU5Fd2FDTXpTY1FlTkJleEJFWndKdG91M3AwNmNMTG1QR2pIRVlFeXpNd2tBd3RZWHBGenltQXk4M2NpWndneDdheGhOd3dXWHUzTGtPWXdLbTdHNDVKVHpTWGVLcngwUytrTnZDNi9SanJHVFlGZVJJOEd3eWpJUXgxYlJ3NFVJeEdzVkpCWUJsZklmZlVBZDFzWTZEZ2piNmFjMFdXdUUyOHRVZmJsbDRSN3hMbHk2ZGdjVXlkeSsybUljYndhdWI1Y0R6OVBUY3cxekxBbDVlWGhrNDhHb05XaVFFMjUwUTBuZU9nZStCQXdlQ2RMNkJIMlJTNHlNWVZhbkYzSmtRT1NWd2VXdS96TmVibHcweDBhTkhEeUhZN29UT25UczdqSWxodzRZSndYWW5EQmd3UVBCbGp1QWJrSmFXRmdpKytBNlBWM2UzbkJLZXdpdjFyeDRUK1VKZUM2K0xSNzAzWTh4a2ZNSVFOeHptc1dCZGJHTTJvem5EN3RIcGhWVzRyUUxwRDdjcXZDTmwvUHo4WHNkaXlhRHE1SHZmWjBvUmR3bnUvNXc4eWdXTFFBNElDUGdIYy9VRGVQa05mRmVtZkhXS25mK3BVc1JkZ2RnRjY2aE1SY3RUTjIzNGl2NHRWYjhsQmUzTW9uZ1diWmZubEpoRDBLNGJWRG8yVWZBdFc3YnNVNGdGWGpiRUJGNXlNMm5TSktXSXV3S1RKMCttY3VVczc0dFd4UVN1bGxtMGFKRlN4RjJCeFlzWFU4V0tGV1crL2d4Zjd1L1g4RjFZV0ppNG9zMmRja3FSa1pHcW1IQW5sR01rTUhEWjd3ekdZNHdYR0c5cXdESyt3MitvZzdwWVI3VXRsK0NPS0x3am5xR2hvVjA5UER5K3g1K2x3bHFJUElOU3pKMElUS0dWcXROY0JERzQxYTFidHhOejlRYjRnT3VtOHcySWJDSHlEQ294ZHlZd2hSWVFvZVRyRXhFUmtjamZYY0J2WGtsektHRDdkVXJJSUdwemxNU1RkbHM2Q1dnTGJTWmd4TEgxS25uMW4ybmxXNzkrZlp6ZGVmTGZkakZSdTNadE1SMmdFbk5uQWxOb3RXclZ5akVtNnRXckovSU1LakYzSmpDRkZxa0pNYmlGaDRkM1JqeUFyeHdUWGJ0MmRZdWNFcWFyOUZFZCtNb3hVVnlLaTEzaDRDak5CMlJ6UGp1YXhNUCtTL2lxcEg5RjhtdzFocndIUFVmZXcxNTFMcEtlRlcyWDlMRytiT1Z5NWNxVngvSEJGc2RjdlFBV2pRU1pyMmRBUmFyYVlUVFZIZnRQaXBqNGlsTVJOdm9mb3UzU2ZvNzV0bXJWS296NVR1SGZycUNPUjYxWThsbTZqdnpXL0VCKzZ5NDRGNnUvRjIxN1ZBc3o4RzNkdWpVZUlWR2F2MVBHQkk5RUtDRWhnZnIzNzA5SlNVbE9CWktjYU52SHg4ZDBUUEJadmhCQ21ONlVLVk9jaXZIang0dTIwV2NLdnJqSHdUTStQcjZPSEJQVnExY1hCb2xrTHVicW5RbmtoOUIycFVxVkhNWkVBWmVTREV3WndaZ3dMWWFrZkZrYjREdjhoanFvaTNXS2l6c1ZEZzRQRm9wYUhMeWRhOVNva2VUcDZia0RYN3NEU3BVcWxWR2xTcFZSNE1iaVVKTzVsZ0tLR04vUzY5ZXZMeE1jSE53R0J5VFhPYVZhMXhYUStZYUVoTFJPUzB2elJDenc5OFV4VVlDUStVWkhSK05OZTZXQm9oWVRCVkFnL2pBaW1FSVFveFpqSUdNQjR4M0dLc2FYR3JDTTcvQWI2cUF1MXNHNjJFYXhrYmhENGVBb3ljTlZ6L0xseTdmZ29PbkVBZDJGbDZmeldkTXlMeSt2VkFTMk04RnRwbkRiYjRJRHVJQVR1S1drcE9DZ1EvTE1vNmp4WlpSS1RFd000dDg2c01aMUxWZXUzR3gzNFZ1MWF0WEU3dDI3NDRvbGlMQTRLUEZaSEJONWh3bStKUmxGS2lieVdMQXV6QWQ1RTRoL0U4YVRqQVBjNXEzSXlNaHJIVHAwK0h2dzRNRi9qeG8xK3U5Smt5WmQ0VkhiMzRNR0RmNnJWNjllZi9EbzdFODJzU3VsUzVlK2lYVzBkYkVOYkF2YkxCNlJ1TEpvZ1Z5Uy81RmxnNEtDMmxhb1VLRVRnaDFuU2dna0JMWU1QdHNyVU5odUgyMmliWEFBRjNEaU16WWtHUVhQb3NxWDRZRURrdXMxZHhlK0xCTHhBd2NPQkZkZDBLem1BUlRIaERuWWJqOEh2dGEreG5KUmlZazhGTjAweWpPR001TFpJRy8wN3QzbjZ0S2xqOTk4Ny8zM2J5MWI5ZzY5L3ZycjlOUlR6OURpeFV0b3laSWxOR2ZPWEhyZ2dibmlpcTk1OHhmUXdvVVBpL3pWMEtIRC9temNwTWtsWDEvZjY5aVd0azFzVzVoSXlaTEZIdUwwd3NGaEZRc09aRnhsMDhEZjM3OURZR0JnUndTK0RnUldZVUp1QzIyREF3ZEtVeTYrT2orTmE1SGx5OEFCV1NvcUtxcENhR2hvN1pvMWF6YmdiVUU0bXRlb1VTT2hNS0czdzIzR291M1kyRmhjZlFJK3NwZ1Z4MFErSUxkMXA4VkVMZ3BVSEhtS0FBWUVQaVU4UER4cjRjS0hycTFjdVVyY2dMajA4U2RvNnRUN2FHRFNJT3JZc1RPMWFkT1c0cHNsVUd5RHh0UzRjUk5HVTJyU05KN2F0azJrTGwyNlVzK2V2V0VlTkc3Y0JCb3pkdHl0RGgwNi9zNUdoUHVRdGpCR2FHMmh6V0lIY1daQmNFZ1FBY1AvbUVBK1d3cmw0SS9oNEk4UENBaHdDdEFXdHhtTnRzRkI1Nk54VTZGSTh0V2dINlJDUEp3RXVVMlppNVZqY1V6a0Qzbmc2L2JJUmNGb0EwbnVtb3ozS2xldWZJTkhFTmMvL25nMXZmVFN5elJqeGt6cTJldHVhdGl3Q2RXdVU1ZXFWUSttY3VVclU1V3FOUVRLVjZoS1ZhdlZGTUF5dnNOeTVTbzFLRHdpaXVMaW0xT0hEcDJwVDU5KzFMLy9RSXFQYi9hL01tWEs0SUtEOTdRMjBYWkI1V2lLUzNFcExzV2x1RGlobEdJZ29UMjBaTW1TTFBCOXJ1SWQ2cSsvL2dhUE11NFhONXZXQ1l1Z1NwV3JVVVJFQkZXb1dKVXFWcXBHOWV2WDUrK3FNMnBRVEV5TU1Bb0F5L2dPdjZFTzZnTDRIa2JTUEtFVjNYMzMzVHhxU2N5cVhLWEtUOXd1WEc2WXhnRmNpa3RoRjhXWmhuNm1WREkxTlRWNnk1WXRjYzRFdDRuWFZsbzVNRlFjWlZqcm5qeDVNcG9SNTJUa21hK2J3TUF2cDVoNGxQNFYvZ2k5RytkTW9FMlpBMFBGVVVhUjVlc21NUEF6VVNEV3VMeDJJWSs4Ymk1Y3VQRDZpaFgvb1lVUExhSzc3dXBGRVpIMTJSQ3FpMUZFOVJvaFZJbk5vV1p3YlFvT3FVMVZxZ1ZUU0dnZFJoai9IaUkramN0MVJCM1V4VHBZdDBiTlVQRjlSRVE5YXRhOEphTUZmeGY4RTV2V05YRFF1QlFiU0dHWHFWT25DbWhCQTNpa3BLVE1TazVPdm9EM0lpUW5iM0l5MEdieUJlWXdDVngwWGhKUEhWYSt4NDhmbjhXNGtKbDVqSTRkTytwVW9FMjB6VER3WGJwMGFRbUFsKzM0YXRDbmtzU2xtMDZFN1JTVzRLWDNMMHJRRkc4Qi9iZFhicTN4VzNScjJUOGZ2dlgycFFlelhxYloxNTUzS3RBbTJtWU9UNEtMemt2aWFlaGptZStpckRmb29XdXZPUlZvVThVMzR0NWFKUUNOcTVVdnd5MWpZdUxUaVNXQUhJcHVIRXZMbFN0Mzg0VVhYcnorOXR2TGFNcVVlNmxwMDNnVy9GQXhQWVVSUkkyYXRZUUo2TVlRV2d0VFY2SGlFNmhlSTVScTFRNFh3TEwrdlY1SE54VnNBOXZDUzV4cTF3bW4yQWFOZUhRU1MxV3JWci9FQnZJWGMzbGM0MVJzSUlWWkpPTVF3Y3VpL2RHbVRWK0t4eFc0NG5rN2FIUFZxcFcwYVJOZXBKUHlFVGhwM0lUQThhZUJMNHYyUjBlT0hLSnQyMUpkOGdZNXRJbDNObVJrSElhSkdQaEs1bUhseThEQml1dm54YzF0RE53MDVrem83WUtETGh6Vy9rV1JqRU53WG5qenpRMGpmMTlBRmI1cFJ5VlBOYUVTcHhvN0ZXaXpJcmM5NnZKQ1lpNWZiTDZWQnY2Q3MyUWVCcjRQL1A0czlUNXpMM1U4T1pZNk9CbG9FMjNQWVE2MmZDWHpLQkl4a1lONUlML2d4M2lvZlBueU4xNSsrWlVzM0tVK1pNZ3dpcW9YUTFGUlVjSTBJUElOR2pRUUpsQzlSaTFxMHFTSkVQOGFOV3V6d1RRVm4rYVdMZXRpRzlnV3RsbVZSeVg0UGo0K1hoaUp2My9nYnlWS0NBTjVTT05XbkFNcHJJSUEwUUlGeGpGNjgrYXZDSTlsVmdtN013RU80QUpPNEtaeEJGY3JYeGJyMFJCdHZFTkJKZXpPQkRob0JtTExGNStDTHdNSEp3NVc3eTVkdXRTT2lJaG83V3lFaFlXMTZ0bXpKKzRjeG1NOXdBV2NySHh0WStLaEcyL2VNK0h5SWlwektwNUtuR1F4ZHlIQUFWekFDZHcwam9hWXdHOXpMejlIWFU1T29QWW54cm9VNFBBZ2M4bU9MNk5JeElTaTRIc2txTWY0K1BqY2ZPYVpmMlR4cUlNR0RCaEVFVkgxcVhyTkVLck1waEVjV3B0SERXSDhkMjJxeGVKZU95eUNhZ1RYRVovNVdjYTJzRTFzTzZSV0hmNitGb1ZIUnJHUmhKQ2ZYOWxmbUJlbXNNWm9ISXV2d2lxTW9nVUlBc1VyT1RuNUVKN3dxUkp6VjJETm10V1l3dG9CYmhwSEdWN0hqaDA3aFBjbXFNVGNGZGkxYXdjeEo1bXZMQkQ0enJ0YXRXcDlTcGN1dlFkZGp6TW5QSGJEbVVEQ0VXMHpoMjNCd2NGZHdVbmpKdmhLTVlFelVLKzUxMTg1VXUrNzNsVGlCQXU0RzZEaDl3UG93ZXV2N2dZM2hoNExnSlh2a085bVUvdmpZOXdDdzcrZmt5MWZoaUVtYWphdFNSSGRJcDBLdEpsVFRDZ0tMbzBOUlhKOHpweTVmNy80NGt0aXhGRTNuQVVjcjQ5bE1jZm9BRk5RdGV0RThOOTFxRTVZcEVETjRMQUNXbVlqNFcxYnBybHE4V2NZMWEwYlNlVXJWQ0ZmUDMveDNEQUc3azRIMStKUzBFVUxFQVNLejRZTkc3THdsRTJWa0xzQ0sxWXN4d3QxL21adWVqQkRoSEhRNGV6STUvRGh3MW1iTjd0KzFLRUQ3NnRPVDAvWCtlcGN4WmtsajZEOHZiMjkzMEtYNDMwRCtydTIxWG1md3NSbTBiYitRaVUvUDcvbkpiNWlqaGlmREM5d252SFg4emU5VC9LbzQzZ2p0MEM1MDYxcDJxVm5sVEdoOCsxeVlqeTF6MlR4ZGdQY2RlcWViUGtpSnJ3RHlsRFN5aEYwMzIrUDA3MS9QazZUL25qRXFVQ2JhSHZBOHFFRUxxcVlzQ2t3bEVERys5MjZkYnVDRy8zR2pwMUE5ZW8zRUZOVnlFdEF6QnMxYWlURVBqaWtycGg2d21kaExLTU50RldqWmgzK3V3NUZSMGV6Z1ZTbVVxVktmd3VPR3RmaTZhdUNMbHFBZVBQUTh5bThjMWtsNHE0Q2pHenQyclhrNysrUHh5dmphYVF3RFdFYzRIdjA2RkdsaUxzS2VQMG9Yanhqd3hjSElmaStpTzdHVys0MmJrUk82VU1YNTVTK0ZGekFTZU1yeE1JbUpsNmMvdmR6VkNLVGhkdE40SCt5QmQxei9nbEhNU0g0Smg0YjdUYm9lbUppdG56UjNXUFRwbEhTeFJsVTRadTJWUEowRXlweG1rZFpUZ1Rhck1odEQ3bzRrOGJzdVo4OFBFdlp4WVJVTUFXRXU3cEhWYXBVNmZvTEw3eDRhK2JNMmVJbVB5U3lxMVVQNFJGQVhURWlDQTRKbzdDNlVRSWhvWFVMZFJsdG9VM2tQWkJZeDFWZDVTdFV5bUtldjRPcnhybDQrcW9nQ3dlSFYwUkVSRHd2M29BQXFnVEhWVURlNDlOUFA0WEEzZUN6akZnY2NBQWVGWTN2TWpJeWxDTHVLaUR2c1hmdlhwa3ZEajdmbUppWWxoamVqeHc1VXVSeDNDbW5CRTRTWHk5ZUZqRlJ0MjVkdlBpZjdydnlEeXB4aklYYlRlQjNJb0VtWFhqTUxpWWlJeU5iNkh3VGo3Snd1d202SEIvUGZKYzY1TnZ4MFM0MC9OY0hxTXhwSHQwcExoWndKc0JoK0s5ekJDZUpyNGdKcVdBa2dzZUNiSjA4ZWZMZmp6enlHSFh1MG8xQ2EyT0VnZHhEYmFxTmFTV0llNjF3Q2d1dkorQ01aYlNKdG1zeUQweGxWYWxXZzgrQWZNK0JxOGE1ZVBSUmtJV0RnMGZPbHVtVUw3LzhVaWswcmdJRWJ0MjZkUWhrOHZYMWZZTzU0ckpIZng1V3Z3MHhQbkxraUZMRVhRV1l4Lzc5bGpmemFYenhXSXF5ZklhNUVueHhCWnU3NVpRd3VnTmZqb0hYbVN2T3prUk1lSGw1ZllURmUvNThpa29jWmVGMkUvZ2RUNkR4RjViWXhZVGV4K0NibU1IQzdTYm9ram1lSnZ6eWlFTys0MC9QcFlodmV5b3ZFSEFGb3IvdlEyT1BXdDd6SXNlRVZNU29JelEwOU5vVFR6eUp4NFdJNlNPTU9HQWNtRDZDa0lmV2poRGY0OU9aeTJqYndxR3V1QklyT0RnWWo1ai9IM1BHWTB4czk2VzQ1S2R3Y1BoNGVIaWN4ZUtHRFJ1VUl1TXF5T2JCSERPWnEzaGZkZW5TcGMvaXdEdDgrTEJTeEYwRjJUdzB2bmhGYW9DbnB5ZHVZQkw5NjRZNUpjRzNWS2xTSnhBTHZDeGlndm4rZ01VSmx4K25FaGtzM0dieFZYMHE4ZDk2dDdHbmdib2VJTmNERGpWVTE1UGdsNWxBb3k4c3Nvc0o1djhEK2hoODJ4MFpaUnJOdit4UHpkYjNzNkwxN3FIS2VvQmNEMmg3Y0tTeW5vek94OGJSbUF1TFZURXNZbUxDYjRzdFY3S2Q0UDF6QXdTZGJrVVR6ajlrRnhOYXdiUVBubWk3WmZpSWtYL09uNytBMnJmdnlHZjZ0YWtXaXpXUzJCRHc4SWo2QXJYcVJMcGtHUnd3bFFWT2xhcFVKeDlmdi9QTU9VWGpYangxVlZDRmd3TzM4OS9BSWhLcEtwRnhGV0FlZU1zWnVQR0JoamZZNDFsQmdSelVOM0RnSFRwMFNDbmlyZ0xNSXkwdFRlWWJrSm1aV1lINTNnUmYxRkh0cDZzQUk5UE5nL2xkMG9WaSsvYnR1TUZLeE1UWVMzeldmSVJGM1NTbW4zeVNGdTE3M29wR0crNVcxaXV4UGNaUWI5R1JGeW5vV0d0MVhRbSt4NXJUaUo4WEdHSWlJeU9qdkI0VDROdnVNQXUzU1R4MzRsLzA2cjczclJqeTMvdVU5VnB0RzJ5bzkvcmg1WFRYMFh1VWRXVjBQanFPUnY2OFVNVlh4TVRZUzJ3c2lnc0RYQVcva3drMDlvS1ZyelVtdElKM2FUUXJXN2JzOWZrTEZ0NGFQWHFzdURrUEl3NFlSOTN3ZWtMRUl5S2pCV3FIUmJsa0dSekFCYWpPSTZLS2xhcmNZdDY0OTZPeHRnL0ZwU0FLQndmTVF3VEwrdlhybFNMaktzQTh0SndIQXZrUDVob0U4SUdIdituZ3dZTjJBdTVLd0R6MjdkdG40THRreVpKZ25hODdUZ3QrL3Zubk90OC90VmdvTVhyMDZLcjREaGo1SzUvbEgyYmhOb25SM3ovRW03bGRVbjdZVFNXMnhkalZTOXcwWEt0aEtTbS83N1dybzRMdjBlWTA1TWNISGZZeCtMWTd4Q01DazNqaXU3Y3NCTFN5OTRlRDFHcnJJTHQ2RXpiTjFXcFlTdnJ2UiszcXFOQTVZeXdOKzNHZVE3NmpmdVd6Zk1XRkFhNkM3NG5tTk9wbksxOXJUR2dGeTg4MGI5Nzgwb01QUGtpZE9uVVZ5V2xjL2wwTHlXb1djRXdmMWFsYlQ4Q1Z5K0NDL0FldXZNTHp0SGlrOXgxemYxcmJoK0pTRUVVTERoRXNPQXRWaVl3dDhLcE12RzRUbDV6Kzg1Ly9WTlpSQWMvbHh5V2lDeGN1VlA1dUM0Z2JycllDTnkyUURlWng0TUFCcFlqYllzMmFOZlRxcTYvU20yKytLYmFucXFQQ3YvLzliM3I1NVpmRkdicnFkMXRJQ1hNclh4YUtVSjJ2TzA4THlrTEIvNk5xK0E0WThqOCt5ei9Jd3AwTGZQUDNEN3lwMnlVeGViaXh6cDVZWVNweWFYUWl5VmpIQVh5UE5LT0I1MlliK25qcDBxVWhlaCtEYjlzREkzT0ZILysrWUNHaGxRbWI1eGwrYjcxN0dPMDlkMUQ3MVZMR0hsOW9xT01JSFErUHBhUnpjeHpHeFBDTDg1VVhCcmdLdnNlYjAvQ2ZESHgxc2RXbnJOS1RCZzM2YS9JOVU4UlRibkZsbFppcWlxeFBrZldpS1N3Y256RUNybDJPRnB6QURZOUlLVnMyQUhtUGRHMGZpcWV1Q3FKb3dTR0NCV2VoS3BHUmdmY2R6NW8xaXg1NTVCSHh3aFlZQ0w1VDFaVXhkKzVjbWoxN05qMzIyR1Awd0FNUGlFOVZQUmtRdDA4KytjUnc0QUg2Z1plZW5xNFVjUmw0c3VleVpjdm9QLy81anpBREdBaStVOVdWZ2ZheEhwTGNlQWNCUGxYMVpNQTg5dXpaWStETCsxMUg1K3ZtMDRKV29SZzNibHgxZkFjTXZEQ1hTaHhnNGM0RkVrK040MDNkTHArYytZcEs3STYxL2w1cmZRZnRGMHQ1OXdLZklFanJad2ZmdzgybzczZlREWDBzaXpINHRrMGZrU3ZjZi9KeEN4R3RiRDZ6blZydkdtcjl2ZGNYeHYxWmZ5SFZzSDUyNkhob05QWDd6cEtBVnNYRTRGOTRGR1Z6VVVDMjJGaWZTbXlvZHh0N0c2anJBWEk5QUtNM1ZUMEp2cG5OYWZBUEJuUFd6UU5YS3RYaU0vaWJiQnkzQmc0YVF2VllxTVhkM3BneWlvSnd4MUpZUkxUNGRJZGxjS3JOSTVHUVdtRlVzVkpsVE1QaTBsM2NORmg4MVZWQkZDMDRSTERnTEZRbE1qSndKdjdNTTg4SXczanFxYWVJei9wbyt2VHAyUnJJbkRsemFQNzgrYUtPanBkZWVrbFpWd2JFRGFNR2NOTVBQRUEvOEpDY1ZvbTREQmdpdGdIRCtQampqNFVKdlBYV1c5a2F5THZ2dmt2dnYvKytxS01EZmFPcUt3UG1nZnM4Wkw2eVVMajV0S0JWS0lZT0hScU03NEMrUDdPUXBMTkE1UklwbC9ieTVtNlhXbCswdC95Mkw1YmV6VnlsZldzcHRUSzYyYTN2Q0Q0SDQ2blgyZnNkOWpINHR0M1B3cDFMcEY4NmFpR2pGUmdHdm0remR6aXR6ZHlnZldzcFNVZG0ySzN2Q0IwUGpxYTd6MDV6eUhmZytRZW9SQWFMdWtsTVAvVWtMVXA3M2dxUlUxTFVLN0VqeGxCUDVKUXlXNnZyU3ZBOTFveVN2amVZblc0ZXVOOGpxV3JWcXBmSFQ1aEV2WHIxSWp3aXBGYnRTSEYxVTFoNE5OV05pQkZUUnZoMGgyVndhdHk0c2JnZnBHS2xxcmhnNFRmZWgwSGF2aFNYL0JZdE9FU3c0Q3hVSlRJeUlLeTQwUXdHZ3VrcmZEN3h4QlBDUUdBbXR2VXgybGl3WUlHb3A2L3oybXV2MmRWVElTZnpRSEphSmVJeUlPaTRlUS9iMGJGcTFTcGhJREFUMi9vWWJjQTQ1UG9RZld6SHRxNHRVR2ZYcmwwT2hjTHN0S0N6Z1A2MW1SYTBNNDllUC9KWi9uNFc3bHlpMGJHQnZMbmJCWVpSWW1jTUJhMlAxNzZ4bEhkLzRmWVY2enVDejRGNDZuNW1pc00rQnQ4MmFjTnpqYkhIRmxnSWFXWHRzUTNVYXNjUTZ2REZVTzBiUzFuL1M2cHlmVWZva0Q2SzdqcHpyME8rZlg5aW9WWmNHT0FJbzg4cGNrcmJZK3pxSlc1VzVKUnM2cWpnYzdRWjlmdldZSGE2ZWVBWlVZc2pJNk4rR3pWcURMVnNuU2h1eXNQVlRYVlpwT3ZWYnlnUUhobnJWc3ZnaGl1djhEaDRIalY5ei91d1JOdVg0cExmb2dXSENCWUlpVXBrYkxGaXhRcGF2bnc1UGZ2c3N3SXdCSXdtWnN5WVFVOCsrYVMxSHFhbmtPZlE2eUEvZ3R3RFJGdmVuaU5BM0ZBWDNQUUREOUFQUE9RWFZDSnVpOVRVVk5xeVpZdVlBZ05nQ0JoTndFQmdKSG85VEU5aGFrdXZnLzZBNE8vWXNjT3dQVWVBZWFDdXpGY1dDalBUZ29BemMwbzIwNEoyNXRIdDNGUXFrY2JDblFlOGUzNHRiL0oycWJVMmtSYnR4Wk12TE9XMzY1Y3A2RUFyNWJxTzRKTWVSNTFQV3g2dG91cGo4RzJ6ajRVN0QvamlmS3FGbUZidSttUU12YnIzUGUwdm9zdlgvNlR1NlJPVjZ6cEMrLzJqcU12WGt4enl2ZnNISGtYaEV1VmN3QzZubERMY1dHZXZJcWQwTXNsWXh3RjhqalNqM3Q4WXpFNDNEenloOWwrTkdqVytPR2p3VUlwcjFvTHExSTFrb1VadWdjVTZtc1dhRVJIVndLMld3UTAzRWVLT2N5K3ZNakNQZjJuN1VsenlXN1RnRU1FQ0lWR0pqQW9yVjY0VUJ2TGNjODlaQVFOQlB1VHh4eDhYT1E3a1JKNS8vbmtoZ1BqRU0zQWd5aEJwMVRadEFYR0R1SU9iZnVBQitvR0gvSUpLeEZYWXRtMmJNQkFZZ2c0WUNFWWEyQmUwQitQQU5BNSt3eWR5RkR0MzdpUTh0a1cxVFZ2a1pCNW1wZ1gxUG5SV1Rnbi9ENG12blhsMCtuWXlsZGpId3AwSDFEcmNUUmlFWGo3NStrdjY3ZXJ2Mmw5RWk3NS9WYmxlZHZEWkgwZnRUNDUxMk1mZzIyYnZzRHhoNEtIcHdpRDBzdm5yN1hUNUtpNlFzcFJsMzMrc1hDODd0RThiU1IxT2puZkl0OGM1Rm1ycGdnQXpTRHl0eUNudGliWCticGRUd3VoT1dqODcrQnlPNTVFUy84OXRZb0lMTHQvK21NM2pmSjkrQTZoRml4YmlpaVpNRCtFeDZaSDFHZ3BneXNpZGxzRU5DZlJxTlVMSno4OGY3ejFmcmUxTGNjbHYwWUpEQkF1RVJDVXlqZ0R4UlNJYStRc2RPR3ZHQ0dUUm9rV0c3M0dXRDBFMmF4d0F4QTNDRG03NmdRZm9CeDd5Q3lvUmR3UUlPMFloRUhFZDJHZHdneEhLMytPeVdtemZySEVBTUkvdDI3YzdGQW96MDRJdXppblptVWU3YjFqNElFeDV4S0x2WHVITjJwZmZydjlPUVdrdGxldGtCKzk5VGFuMThWRU8reGg4Y2FOZlhySHN1NDh0QkcwS1RLWGJ2dHh2TzNFdmowQ09qM2JJdDh0M0xOUUgyUmh6Q2J1YzB2cjJsdC8ySzNKS3g3clpyZThJUG9manFOdnBDWFl4d1FXQ3U2RlJveVlYNzc2N0R6VnNIQ2VtcktMcU5SQWlIUjNUV0NDcWZpTzNXZ2EzaU1nWXdsTitmWHo4Y09QckJtMWZpa3QraXhZY0lsaGdCaXFSeVE0UUg0d084SkE5VEVucG44aHI0Qk9BWVVDUWMyTWNBTVFOQ1c1dzB3ODhRRC93a0Y5UWlYaDJ3RWdDQW8vcEtCbklhK2pMTUF4TWllWEdPQUNZQjBZNE1sOVpLR0NlcXYyVTRleWNFdjduRWw4NzgyajFOUXNmcnBUS0k0TDJ0VFNNUHZRaVJoMksram5CZTI5VFNqZzJ6R0VmZ3krdWxNb3JZQkR5NkVNdkdIV282dWVFeEQzRHFlV3g0UTc1ZGpqTFFxMjRNQ0FuTk1wVTVKUjJ4VkRRZnhVNUpjWDZqdUJ6TUk0Nm5SeG5GeE5jaEhuRXhqYjRwWHVQWGhUYktJNGlvcUxGMUZCVWRHT0thZEJFb0Y2TTVkTmRsc0VOVjE0Rmg4QThmSC9FUG1qN1VsenlXN1RnRU1GaU5oZGhDeGdJZ0xlSVlXcEtCbjdIWEg5dWpRT0F1SDM0NFllR0F3L1FEendZZ1VyRWN3TFdBekF0WlFzWVFGNk1BOEM2VzdkdWRTZ1VtQTVUN2FjdFhKaFRzak9QWnFkWStCUWluaHVNL25vaGIvcDIrZWF2YzhwNlpnRHppTXNZNUxDUHdiZjFUaGJ1ZkdEcEtUelM2WGI1OGMvenlucG0wRzczY0lyUEdPeVFiOXN6WSt3dUNqQUxYT0lzbDFxZkpvcTc5ZlVpY2tvSFd5blhkUVR2QTNHVWVNSXdzcFBOWTNWNGVPU1BuYnAwRTIvdUMrY3orcWpvUm1KcXFINXNVd0ZNR2JuVE1yaEZzSG5nVFlSKy92NjR5N3g0MnFxZ2loWWNJbGowdWYrOEFPYUJuQWtNUkFmT29QTnFIQUN1ZW9LUWdwdCs0QUg2Z1djMmthMEN6QU1qRjlrNGNGVldYbzBEZ0hsZ1drem1Ld3RGRWNncDJabEhreE1zZkR0ajhnMjVMRHI2b3JLT0dYanZia3lORHZkMzJNZmdpNnVrOGd1NXZKR3hRbG5IRE5ydUdrYU5EdzkweUxmVjZaSEtDd1BNSU1lYzBqa2UzU25XeXc3ZTZYSFVKdE13VXRMTlF5VE1nNE5EZms1czM0a2FOb2tYWi9TWUdvSkl4emFNRTRodVlQbDBsMlZ3dzlSYWpacWg1RlhHRzAvWUxVNllGMVRSZ2tNRUM2YUlWQ0pqRmppTHhidytwbDR3WXNpUGNRRHZ2LytlRUZCdzB3ODhRRC93TVAya0VuR3pnUGtnNmE2UEdQSmpIQUMyZzZTOHpGY1dpdHhPQ3pvanAyUXpMV2huSGcweUI0aDdCdklMdVN6S1lQTlExREdETXJzYVU4ekJQZzc3R0h4YmJXZmh6aWZrSXN4RFVjY00ydTRjUnJFSCt6cmsyL3prVUhGMVZGNng2UHRzY2tyN1d5clh5UTdlYVUyb3hWSERTRWszRDF6ZXVxUmN1WEkvdG1qWmhwbzBUYUNvK213ZXNZMkZXRGRvWkVGTXczaTNXZ1kzM0hWZXZVWXdMdFhGdEZYeHBib0ZWYlRnRU1FQ3dWZUpURzRBTVVwSlNSSEc4ZmJiYnl2cm1BWE1BMWRBZ1p0KzRBSDZnWWY4Z2tyRWN3TnNBMC9uTlh2WmIzYUE4V0RmWmI2eVVPUmxXckN3YzBvMjA0SjI1bEV2ZzRVYTl4SGtFM0lSNXFHb1l3WmxkamFteVAwOUhmWXgrT0loaHZtRlhONDRzbHhaeHd6YTh1aWozdjVlRHZrMlBUNUllV0dBV2VDaUEyVk9DYU1PUmYyYzRMMnZDVFU3WWhncDZlWWhiaEwwOHZLNjBJaEhIWmkyUWpKYW54cUtiZFJNQUZORzdyUU1iblVqWTZoeTFScTRTUkF2aGlxK1NiQ2dpaFljSWxod2xxc1NHVmNCNXFHL2IwSS84QUQ5d01NVWtVckVYUVdZQjZhK1pMNnlVTUFFVlB1WkV3b3pwNFQvdWNUWHpqekNEN05RNDhHRytZUmNjTGV6cW80WmxOblJtT3FtZFhQWXgrRGJjdXVnZkVNdXI3TjVxT3FZUVp2dGd5azhyYnREdmcyUDhjaE9JZUs1Z1RLbnBLaG5CbVhZUEpvY01rd0w2dVloSGsvQzMyVkZSTmE3RWN0bjlGSDFHNGlrZEd6RFp0U3dzUVVOR2pWM3ErV1lCdkVVVmplU0tsV3FjcFA1RnorZXBDQ0xGaHdpV0pCZlVJbU1xd0R6UU40RDNQUUREOUFQUEV3UnFVVGNWWUI1WU9wSzVpc0xSUkhJS2RtWlIrMkRMSHhiV2JqekNia0k4MURVTVlNeTJ4dFRyYjJkSGZZeCtMWk1aZUhPSitRaXpFTlJ4d3hhOCtpajlsN3haajRsMytpTXZ1SXFxZnhDTGlLbnBLaGpCbVgyTktZR0J3elRncnA1V0IrTVdMNThwZk9SdUVTWHpTTWE1c0ZuK0EyYnNHQXpHalJPY0t2bCtyRk54TE90L01zR1hBSjNiUitLSDR4WUVFVUxEaEVzeUMrb1JNWlZnSGxBSU1GTlAvQUEvY0RERkpGS3hGMEZtQWNnODVXRm9namtsT3pNSXppZGhUbzFPdCtReTZKakxHNktPbWJndGEwaDFkemQzbUVmZzIvTExTemMrWVJjM2ppNlFsbkhERnB2SFV6QnV6czY1QnQ1dUpmeXdvRGNRaTc1dVNDaHpPN0dWTjg0TGFpYkJ3cVcvMUdtalBmWFlXRmg0bjRLVEZ2aCtWRU5tN1FRd0pTUk95M2prZXg0eTJIcDBwNC9NL2ZpUjdJWFpOR0NRd1FMOGdzcWtYRVZJRzc0QkRmOXdBUDBBeTg1T1ZrcDRxNENqQU9mTWw5WktJcEFUc25PUEtydDcwQWx0ckJ3NXhNcHYrMjFZdlR4QmNvNlp1QzF0U0ZWM2RYT1lSK0RiOHVVcEh3ai9iZWpWanlXK2FxeWpobTA1dEZIOVYySkR2bldQZGhEZVdGQWJpR1gvRjZRRUxYUE1NMG1pNjE0R1JUamo1QmE0YmR3bndjUzVwZ21hc1JuK1kyYkpsQ2pwaTNGcHpzc04yZ1VUM1hDNjFPbHlsWHhNcWkvR2NVdmd5cklvZ1dIQ0JaM2VrVXFBSEhEV1RhNDZRY2VvQjk0eUMvWUNyZ3JBZlBBbmVreVgxa29pa0JPeWM0OEt1OXJxeFJ4VndIbVVYbEhLNGQ5REw0dGtwUGNCcTIySkZHVkhhMGQ4cTJWM2xWNVlVQnVJWmY4WFpEUWlPb2FwOWxrODlDbnJyWUVCVlU0aXpmMTFZOXVTTEZzSG8yYk5xY21jUzJvY1Z3cjhla095ekZzYkRWRDZwQ3ZueCtlcGx2OEd0cUNMbHB3aUdEQkhMaEtaRndGaUJ1bVpjQk5QL0FBL2NCRGZrRWw0cTRDekFNdmZKTDV5a0pSQkhKS2R1WlJmZzhMZFFvTHQ1dkFLN1VobGQrVzRMQ1B3VmNsNHE1Q1N6YVBDdHRhT09RYnZMK1Q4c0tBM0VJdStia2d3V3RISTZxOWh6blp4SVJVeWpCR01mK0xlSHRnWlAyRzFLQkJBOHZaUG9zMnBveWF4TGNXY09WeXd5WUo0aWJHeXBVcll6K1E3eGloY1M4dUJWVzA0QkRCZ3Z3Q29CSWFWd0JYQStWa0hoczNxb1hjRmRpMEtYdnpLQUk1SlR2ekNOeVZRQjRwTEN6SkxONXVnREpiR2xGZ2FyekRQZ2JmVmhEdXpRUGRBcTFTa2lnb3RabER2dFgydGFjU1czbmY4Z201aUp5U29vNFpJS2NVdk11UVU3STFqMUtNOG95dDVjcFYrQW1qRDl4TDBhaHhNM0cyMzdSWkcyb2EzOUlDRnkzRFFEQ2RKcDVuNWV1SE53aHUxVGdYWDJWVmtFVUxEaEVzbUVOZnZ0eDk4aDRyVmxqZS9BZHUrb0VINkFjZTdncFBUbmFmcWF1VWxHU1JpNUQ1eWtKUkJISktkdWJobjl5RUFsTGpxTVJtRmhjM1FMbXR6Y2gvVTJPSGZSeVFFa2Z0dGd5aEZwdFl2TjBBN2JjT3BjQk5UUjN5cmJ5bnJmTENnTnpDTHFla3FHTUdtQmFzdm9NNTJjU0VWRER0STBZZi9QdWxrRnAxYm1EMGdXZGROWTVMb0NZUThXWThBZ0dhdDNYSmNnTWVkZFNwRzBFVktsYkc1Ymw0a3U0b2pYUHhsRlZCRmkwNFJMRGdFUmlyVjMvc0ZxTVBjRml6NW1QeFNBNXcwdzg4UUQvd2tEemV2bjJiTlZIdFNvQUR1TmplMUNnTFJSSElLZG1aaDk5L3dxbHhXaC95M055QVNteXE3MUtVU1c1RVRkUDZrdDk3WVE3N3VQeUhzZFJsM3hocXZXa3dKV3djNkZLMDNUeUV1dThiU3hYZVkyRjJ3TGZDN2xaS0VYY1Z4QVVKMncwNUpWdnpRTUVaZkNEamZhOHlaYzdVcWxXTDZzVTJvWVpJV0RkdVRIRUpiUVV3ZmVUczVjYnhyU2c4UEp5cVZLdUJPOHAvQVVlTmEvR29vNkNMRmh3aVdQRGNKTHpmWXUzYU5lTEtJQWdoQk0rWlFKc3dCZHpUQUM1NG53VzQ2UWNlb0I5NGVGUUhSaDg3ZG13WDkzd2dnWTZwTEdjQ2JhYW1iaEVjd0FYUG5aTDVjcC9XMXZrV2daeVNFSW9CQXdiVXhIZEE0TndBOGtwcFFLMzJENkd3SFYycDNKWUVDdGpTektrb245cUM2dTdzU3EzU2g1TFhsb1lVTUN2QVlSL1hubHVIdkZNYVVsTGEvZFIvKzczVWVjc282cGd5d3Fub3NtVTBEZGd4bFpMMjMwOWxtRy9vck5vTytRYnRiS0c4TU1CVlFFNnAwbFpEamtabEhpaTRTMXVjWkFTVksvOGRYcmdVelFiU1dFd2h0YUs0NXEwcHZrVTc4ZW1zNVNieExjUlRmcXZYRENWZlh6L2NUWTc5QU1maU84b0xvMmpCSVlKbDZ0U3A0dkhlZUU0U0RHVGR1cy9vczg4K1pheDFFdERXWjl6MmFqRmRCUzU0TXg2NDZRY2VvQjk0ZU5jRkh0ZUJ4Nm52M0xtZGR1L2VKUjUyNkV5Z1RiU05SN25qWFJ4NHlxM01kLzc4K1NFZUhoNkNieEhJS1FtaEdEVnFWRFY4QndSTjhTYi9wUlY1NUJGRExkT1RxT3ZCc2RUNXdCaW5vc3ZCTWRSaWZ4SjVib3dtLzhjcVVPQjRiME1mTDFxMEtFU1BpWWg3YTFITngrdVMxK1pZdW12L2VCcDdZQzZOTy9BZ2Z6b0hhR3ZNZ1RuVWJmOVlLck14bG1vdXJVdDFKNFE0NUZ0MlJ6UHkyQktqdkRqQUZTaURDeEtNT1JwSDVvRXBJRHdqYWpqamF1VXExWDZyRzFHZllodkZVK09tTFNpdVdXdHF4b0llMzd5TlFMTVdpWVc2REFPcEg5T0lhZ1RYSXYreWdYOHdwK3NNSk1uQnNYaTZxakFLQjRjUGdnU0w0OGFORXdhQ0IrL2hEUHJGRjE4VWd1aE1vRTIwamZkWGdNdVlNV1AwUVA2VnVRWUFmT0Q5aVFNUEwwQ0NnV0JxQzlNdnVJbE9mNVNIczRCSGpxQnQvY1ZOYytmT2xma0dzc0dVWjc3WHdOZnkwaW4zeWluaFRuV0pydzh2bC9qMDAwL0w4dC9YOEgzZ21ETENRQUpuK1pQUGF6WEljM1ZkOGx3YjdseDhIQ2JhRHB6aEo3Z0VqQ3Jqc0kvRHhnWUxBNmt6dXpaVmVEMkNmRmZYSTUrMTlaMEt2NC9yaWJiRFp0YTJjQmtkN0pCdnVjM3hGTEExVG5seGdDdFFibHN6cXJEUmVrR0NOU1ljRkV3RjRRbTFEekgrcUZLdHhxKzRlVEMyY1hPUis4QnpwWnExVEdTMEY5TksrQ3o0NVVScXlzWVJGUlVsTHNzTkNBekNZOWV2YXB6QXJYaTZxckFLQjRkMzZkS2xNN0RZbzBjUElkanVoTTZkTFkraThQVDAzTU5jeXdKZVhsNFpPUENHRFJzbUJOdWRNR0RBQU1HWE9ZSnZRRnBhV2lENDRqdThHdGJkY2twNHJMdlV2K0pwb3l0WHJ2VFhZOEt2bTZjUWJIZUNiMGRQUTB4czI3YXRuQjRUMWJ0WEZvTHRUcWphcWFLQjc0RURCNEowdmpYZmIwU045dlVteitRR1ZHSnpmWmVpVElvbHB4VDhWa083bU1pbTRPb3J2QjlqS2VPdlNsV3EvaElXSGlXZWVZVXJvT0lUTUVKb1M4MWJkUkNmQmJrTUEya2MxNElpNjhkUzlab1ljUVRveHZHNHhnbmNpa3RoRlE2T01uNStmcTlqTVRBd2tDWk5tcVFVY1ZkZzh1VEpWSzVjT1JISUFRRUIvMkN1ZmdBdnY0SHZLbFNvSUI1TnJoSnhWMkR4NHNWVXNhSkZLRFMrL2d6ZnNtWEx2b2J2Y0ZhR0s5cmNLYWNVR1JrcCtETEhweEFMdkZ4aTNicDF2bnBNZUFTV3BNQUphaEYzQlFJbmVwTkhVRWxEVE96WnM0Y1hMVEhoR2VoSmRTZUdLRVhjRlFpZkZFcGVRUmF6MC9rQ3ZDejZ0MnhNSVBra043YmtsSFoycFhLcENSU1Eyc3lwS0wrMUJkWGQxWlU1RENWdk5wQ0Foa0YyTVpGRDBRMWtJZU5xWUZDNTg3VnFoMVA5bU1iVXVHa3ppbXZXaXBxejBEZUgrRE1TMkFEeXU0eHROdVFSRGg1NldLVnFkZkx4OGNHTmdKaXFBb2RpNDNCRzRlRHdEQTBON2VyaDRmRTkvcXhkdTdiSU02akUzSm5BRkJxdTRnQW5jS3RidDI0bjV1b05zQWgzMC9uV3ExZFA1QmxVWXU1TVlBb3RVaE5pY0FzUEQrL01YSDNBTnlJaUlwRy91NERmdW5idDZoWTVKVXhYNmFNNjhLMWZ2MzR6eEFML2paandDZzRPN3FsejlxemxJZklNS2pGM0pqQ0Y1aG5xb1lvSkg0NlZYanBmLzlxK0lzK2dFbk5uQWxOb2ZxRStTcjV5VEZRZVhKTzhOeldrbHZ1VHFNc0I1K2VVZ0lTMEpQTGQySkFxRDZ5aGpBa1RCV0tOL0FoeUlEenlMdk5kdFdyVnFXNWtOTVUwaWhjM0VtS0tDU01IVERjbHRPNG9rTHZsRHVKcXJrWnhMU2tLaWZIcTFhbDh4Y28zU3BVdWZSRnRNcERqQUlkaTQzQkc0ZUFvelFkZWN6NWpuc1REYU55SlNYeldTUWtKQ2RTL2YzOUtTa3B5S3ZyMjdTdmE1ak1KRWNUTTZYTGx5cFhIOGNFV3gxeTlBRDRJRTJTK2ZCWW5oQkNtTjJYS0ZLZGkvUGp4b20zMG1ZSnZHUng4OGZIeGRaanZGUDd0Q3VvZzZHR1F1RnBNZmxPZ000RDhFTnF1VkttU2dXL3IxcTFERUF2OG5Sd1RWczRlZmlYSnUzbHA4dS9yUldVSE9oZitmYnhFMnlWOUxDTU9tejZXWThMS3Q3UmZLYXJZdkJ3Rjk2dEtJVW5WbllyZ3ZsVkYyNlY4U2puazI2cFZxekNacjI4ZFA2cStOSklxcklxbGNwODRGeFZYeG9xMnkxUzNYb2hnRnhNbUMvSUxtT2JDMVhydmxTaFI4bytBd01CZmdrTnFDeE5CUXJ0UjArWVV6eU1IVEdjMWI5bU9XclRwS0Q2elcyN2VxcjI0K1E4dmQ4S1RmSU5EYTFQRlNsWDAwUWFlV2NWdGlUYlJkbkdPdzFtRmc4T0RoYUlXQzFybkdqVnFKSGw2ZXU3QTErNkFVcVZLWlZTcFVtVVV1TEU0MUdTdXBZQ2l3RGM2T2pvWUJ4NndmdjM2TW53bTN3WUhKTmM1cFZyWEZkRDVob1NFdEU1TFMvTkVMUEQzaUlsU1VWRlJvby9kbGJOTlRKUXVhbnlMV2t6a291REtKb3hXQWhnWUNXeGhNL3JOUHlEZzUrbzFRMjdoOGVnUlViRlVqNDNFY21NaEhtdlNncHF3T2VBK0RYeml1eWJOV212djQyZ3EzcE5lcTA0NFZhc1J6S1pSOVphM2o4OWwzaVl1OHRtaXRZRzIwR2J4VlZYT0xCd2NKZDk0NHczUDh1WEx0K0NnNmNRQjNZV1hwL09aOURJdkw2OVVCTFl6d1cybWNOdHZnZ080Z0JPNHBhU2tRSWc5Z0NMR3R5U2pWR0ppWWhELzFvRjlyMnU1Y3VWbXV3dmZxbFdySm5idjNoMVhzVUhVeE1HSFQvUXg4MnlGL1hFM3pvNWlvaWp4WlJTcG1NaERnZWtnWDRMSGdtQXFLNWx4eGRQVDZ5Y2VqVnl2VXEzbVRWeFd5NmJLeGhCQmRlcldvOURRVU1MOUlyWHJSaEtmR0ZLTjROckU5WWg1a2E5ZjJkOUxXNmFuY0JVZ3RvVnRZdHRvbzNpMDRZcUM0QUFpSXlQTEJnVUZ0YTFRb1VJbkJEdk9sQkJJQ0d3WmZQWlVvTERkUHRwRTIrQUFMdURFWi9GSVBBdWVSWXl2Ymg1aUdRY2sxMnZ1TG54WkpPSUhEaHdJcmxhZWNrencrZ0c4UDRsRkpTWjQzU0xGbDFGa1lpS1BCZXZxSm9JbjJqWmhQTWs0d01qeThQRDRyVlRwMHVmTGVIdi96OXZIOTZLdnIvLy9HTCtWOGZiNTFhdE1tVi80dDE4eGhjWjFiMmpyWUYxc0E5dlNUU00vL0lwTGZnb0hoMVVzT0pCeDVWVURmMy8vRG9HQmdSMFIrRG9RV0lVSnVTMjBEUTYrdnI1TnVmanEvRFN1UlpZdlE1eHhSa1ZGVmVDenJObzFhOVpzd051Q2NEVG5NNjJFd29UZURyY1ppN1pqWTJQTGFYeGtnN09MQ1loZVFFQkFmRkhwNDZMR2wxRWtZcUlBQ2tRZStSTWt0Q0grZUIzc1FBYXVqbnFYOFRIakt3MVl4bmY0RFhWUUYrdGdYV3lqMkREY29TQTRKSWlBNFNGMElKOHRoWEx3eDNEd3grTmdkQWJRRnJjWmpiYkJRZWVqY1ZPaHFQRjFlemlLQ1JiRGNrVXBKb29hWHcyNmNBdERjUkxrTm1VdVZvNkZVUFFSQ2ZJVVNITERGSEI1clF4OGg5OVFwM2lFNFhhbFJJbi9BelRGVHVNU1FjMzJBQUFBQUVsRlRrU3VRbUND"},{ name : "__ASSET__:bitmap_flixel_system_debug_GraphicArrowLeft", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBQm1KTFIwUUFBQUFBQUFENVE3dC9BQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBQUIzUkpUVVVIM2dRWkVqQTAzU0hjY2dBQUFFQkpSRUZVR05Oai9QLy9Qd01SSUpLQmdjR1g0Zi8vLy9odzVQLy8vNWY5aHdLaUZPRlNqRlVSdW1LOGlwQVZFMVJFdHNra3U1bXMwTUNyaVpHVUdBUUFzOU5wbXo4SWloRUFBQUFBU1VWT1JLNUNZSUk9"},{ name : "__ASSET__:bitmap_flixel_system_debug_GraphicLog", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBQUlHTklVazBBQUhvbEFBQ0Fnd0FBK2Y4QUFJRHBBQUIxTUFBQTZtQUFBRHFZQUFBWGI1SmZ4VVlBQUFBa1NVUkJWSGphWXZ6Ly96OERzWUFGaVkxUEZ5TzZZc1pSa3dlSHlRQUFBQUQvL3dNQStmWUlMQWhqbnhZQUFBQUFTVVZPUks1Q1lJST0"},{ name : "__ASSET__:bitmap_flixel_system_debug__Window_GraphicWindowHandle", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFvQUFBQUtDQVlBQUFDTk1zKzlBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUZCSlJFRlVlTnFNandFS0FDQUlBeFgyeWg3b055MmpRa3lwUWJUMGRFU3FTblllRXZoWE5zRE1ZblhlelZHNHdBME5OVlJaSGpLUEgyaDYvNWwxVzBPaXgzTlRFbDFDSjdxS0MvNExraTdBQUQ1WWZydllMZlJQQUFBQUFFbEZUa1N1UW1DQw"},{ name : "__ASSET__:bitmap_flixel_system__FlxPreloader_GraphicLogoCorners", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUVBQUFBQkFDQVlBQUFDcWFYSGVBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQlkxSlJFRlVlTnJrV3d1eW16Z1FsR1Q4d1g1Sk52ZS9UUTYwdFhrdi9tRkFDNjRaMG01TEFwejFPaENxcHJEQnh1NmVuaGtKUnRZWTg2MnhkV1A3eG40MDloM3NIem4yMGRpeHNaTlkwZGlsc2JLeENxd0c4MkQ4M3NDZVg3ZWJoWDFyRHZacVdXTUwyUzhiV3dtT1RXTnZZbDhhKzlyWVg3TC9MTWZiejJ3Yk8yZHljQ2tBQ3JtZ0FTQkZ3QzZ5Ui9BZVNJZ0Jad0lZT0pPQVJDandSZUQ2K1BrTS9sc054OVlDZWlmN055VmdMeGQ5QjYrMzlyZnN2NHNLV2dXY3lmczFlVDRGT3VUOVBnSVFXRWdKQzFCQklZNjhpT20xVVNVWlhIZWhCSnprd0VHQUtoSHZRc0M3a0hRU0FpNEF1b29BcjhuTEtlQkRWR0FEUkRnaTRnSktacy9uNHZWYzNxL1VrVXFBRjVBZllrakNoNUNqM2k4SFNOMzBBQjlDZ0Uwb0FVbXdRa0JKdVVpUHJ5RG1jM205RkNJNkFpcngvZzhnUU1Hci9BdncvcEQ0N2dPYzh2eFFFcFNJQ3ZhbFhKc1Y4Q2J4bndNcFZTYmVMWUVBQkw2WDh5ZUsrMGRCRHdYK0tCRTFPQWdKVUd4YklzQm5VTmEwREI3azlSRkszeGtraGpFK3hMc2h3SDRrZUQrQUNFM0VXc1cwVkI0QW0xWUFMWmMyZzlwK0lQQUhxdmxWSk5iTlNFOC9vZ0QrYm93SXZMWVR4eDBCMTE0STJJZ3RNZ0NxSHp4Q3lWUFpsMVRxbmdteTcxcVdsR1poYjZqOEZZUnRUOGt3eXdUb2lZQVhFZkQxTDRKOGxCZzdrSFF2d0d2NDc1Y0F4b09RMEJHQTRNODB6T1doN2JNOVBsUUZzWE0xNUlRU0JrWWhFbFlaZ01haGJxeld2d0o4MzIvYWdBbzhPSzZDb1R1VFVDTUJPTkJoNzc4YThKakU2R2wwV29FS0NzQjYwaktJRTV3TGxic3hZL2ZmZ1FoV0ErYXVNa0NDeVFMU0x3Zkd2Zm5OeVdBVmxLU0VRc2NCUlVUNmZpS2VUeW1ocGx6QUpGd0pLQlAxZnFvSzRMQ3RZYUtFSkRoSDRLc1pTRDgwTnFnREpGd3R3emNrbWFtSGdROGt3NHBJV0RqeS90UVZFQ01pUmtMbElqYzFwK2oxUGdKOElDRldMbkZuMTgvTSsxWGdIdWFOQXVvQk56dW1Gdis5WWVBQ1NXL29sSGVxT2VER2hpcGc2dU9BS0JFdVVmYm1zREVKRlpQZ1RQcWh4bHhJQ0QybTZ3Z1krOGhxVHZuQXU1bDZQVFl6dkZPRCt3T2tINW9YZE9kY1l2dzg1ZEdnSHhvT3pveDdiaitYSE5BZGMyYittMDlNazQyYmFlSWJzbGtsd1A0cFlFUHZYZVFEcVMvUGFsTUZoR3lPS3Jqck8zSXpCODBLdm51czdoTGVueklwc2NmbmQ2cDNpVENZaStkakpEZ2t3TTI4SW9SYTdib2NNR2NWaE1CamE1M3JYZ1NJbUVNSkRMWGNJdVlGZGxzdUlpVE1EZnhObDZrTGdIZG1Yb21RUTBCYlp6c0N0SWRXRDA1OVlHUURCSEJ2c2JiUVpZN0FZM3hNT1JuYW52aS9VVUJHS3BoVFNXVHBZM2Q1aTNuWm5sanBtNTU4WUNlWStFS0xMQlRyQ2dsWXc0bU13c0JNWkdnY0d2bTVsUGVOdE1sZDI4YUZpQlVSNEdES1hKdGhEWXV2bnV2SEZJREFPd1VnQVdzS0IrNFB0aWJjbWhxN0RXVk11TkY1N08yc01mY2wrbGFWNE5xaXE3VUhOd0owQXlmTzhnVnNqMC9kWDdPSlAydi9ZKzhPbWVveStDVTRkdzFxdjRaQUxuOCtGK05HNlJBQi9oYzkrOHg1UG51ZFBhOXJCWElOQVNWZ0srQnpjN3MyQ0lIR1dtZTVXenNXTGo0U0Zxd2VQd0kwMzlwRHI3UGtOMkJyVkVDN3RZc0plRjBncnI3Z0xqSm53azlmWGxYdWVLaTdCTkNxN3EzNTJTNi9WUVZzNVlzS0h0dmxhMkFZMXduZVBXSXkvOCtUSkp1WTZOaEF0a2ZRT3lLZ2E1ZlBoVFgwUGk0OHhEc29xV2JLWnl1aER6eU84VlgyQ253WEljRXBBVXZ5UEpaQWpDdGRXZnFLbmlMYjQza3VkUnNCck10b1B4RUpMVzZMWlhCbjd0Y0xlQ0lnSXhYRXdpRkZRbXdNMFZmelkwdHBPZXVyOTNQQjlFbE1sYUR5YnovVExTc3pKdDR5YitCSGxrUlFUQWtwRXZ6STBoa2I0ckxzMmZ0YklPQU5iQXRWNExwZVlHZCtManIwZ2RLSGlhVnZQZEV6OGtIb2xyYUwxSHYydmtxL1hVWGVyaUQvVEdxb2NQSDB5ZHl2dXViWXFzejlpbTFWZ251Z01neXArVFl5ekkxTmNIQm1pM01aWFIxL3hLVCtyd0FEQUFKQmFpQW1tNXh3QUFBQUFFbEZUa1N1UW1DQw"},{ name : "__ASSET__:bitmap_flixel_addons_transition_GraphicTransTileCircle", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQWlBQUFBQWdDQVlBQUFBckZzTTFBQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBOE1HbFVXSFJZVFV3NlkyOXRMbUZrYjJKbExuaHRjQUFBQUFBQVBEOTRjR0ZqYTJWMElHSmxaMmx1UFNMdnU3OGlJR2xrUFNKWE5VMHdUWEJEWldocFNIcHlaVk42VGxSamVtdGpPV1FpUHo0S1BIZzZlRzF3YldWMFlTQjRiV3h1Y3pwNFBTSmhaRzlpWlRwdWN6cHRaWFJoTHlJZ2VEcDRiWEIwYXowaVFXUnZZbVVnV0UxUUlFTnZjbVVnTlM0MUxXTXdNakVnTnprdU1UVTFOemN5TENBeU1ERTBMekF4THpFekxURTVPalEwT2pBd0lDQWdJQ0FnSUNBaVBnb2dJQ0E4Y21SbU9sSkVSaUI0Yld4dWN6cHlaR1k5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZNREl2TWpJdGNtUm1MWE41Ym5SaGVDMXVjeU1pUGdvZ0lDQWdJQ0E4Y21SbU9rUmxjMk55YVhCMGFXOXVJSEprWmpwaFltOTFkRDBpSWdvZ0lDQWdJQ0FnSUNBZ0lDQjRiV3h1Y3pwNGJYQTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzhpQ2lBZ0lDQWdJQ0FnSUNBZ0lIaHRiRzV6T25odGNFMU5QU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2Ylcwdklnb2dJQ0FnSUNBZ0lDQWdJQ0I0Yld4dWN6cHpkRkpsWmowaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wzTlVlWEJsTDFKbGMyOTFjbU5sVW1WbUl5SUtJQ0FnSUNBZ0lDQWdJQ0FnZUcxc2JuTTZjM1JGZG5ROUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlVWMlpXNTBJeUlLSUNBZ0lDQWdJQ0FnSUNBZ2VHMXNibk02WkdNOUltaDBkSEE2THk5d2RYSnNMbTl5Wnk5a1l5OWxiR1Z0Wlc1MGN5OHhMakV2SWdvZ0lDQWdJQ0FnSUNBZ0lDQjRiV3h1Y3pwd2FHOTBiM05vYjNBOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZjR2h2ZEc5emFHOXdMekV1TUM4aUNpQWdJQ0FnSUNBZ0lDQWdJSGh0Ykc1ek9uUnBabVk5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmRHbG1aaTh4TGpBdklnb2dJQ0FnSUNBZ0lDQWdJQ0I0Yld4dWN6cGxlR2xtUFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwyVjRhV1l2TVM0d0x5SStDaUFnSUNBZ0lDQWdJRHg0YlhBNlEzSmxZWFJ2Y2xSdmIydytRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTkRJREl3TVRRZ0tGZHBibVJ2ZDNNcFBDOTRiWEE2UTNKbFlYUnZjbFJ2YjJ3K0NpQWdJQ0FnSUNBZ0lEeDRiWEE2UTNKbFlYUmxSR0YwWlQ0eU1ERTBMVEE0TFRBMlZERXpPalU1T2pNMkxUQTFPakF3UEM5NGJYQTZRM0psWVhSbFJHRjBaVDRLSUNBZ0lDQWdJQ0FnUEhodGNEcE5iMlJwWm5sRVlYUmxQakl3TVRRdE1EZ3RNVFZVTVRZNk16QTZNRFF0TURVNk1EQThMM2h0Y0RwTmIyUnBabmxFWVhSbFBnb2dJQ0FnSUNBZ0lDQThlRzF3T2sxbGRHRmtZWFJoUkdGMFpUNHlNREUwTFRBNExURTFWREUyT2pNd09qQTBMVEExT2pBd1BDOTRiWEE2VFdWMFlXUmhkR0ZFWVhSbFBnb2dJQ0FnSUNBZ0lDQThlRzF3VFUwNlNXNXpkR0Z1WTJWSlJENTRiWEF1YVdsa09tWmxZVEZqWlRRMkxXRmlabUl0Wm1RMFlpMDRaR1prTFRBek9EWXpaVEExWldKaU9Ud3ZlRzF3VFUwNlNXNXpkR0Z1WTJWSlJENEtJQ0FnSUNBZ0lDQWdQSGh0Y0UxTk9rUnZZM1Z0Wlc1MFNVUStZV1J2WW1VNlpHOWphV1E2Y0dodmRHOXphRzl3T2pSa05HUmxZakUyTFRJMFl6TXRNVEZsTkMwNU9UQmlMV0kyTkRnMk1EQTRNVEpsTXp3dmVHMXdUVTA2Ukc5amRXMWxiblJKUkQ0S0lDQWdJQ0FnSUNBZ1BIaHRjRTFOT2tSbGNtbDJaV1JHY205dElISmtaanB3WVhKelpWUjVjR1U5SWxKbGMyOTFjbU5sSWo0S0lDQWdJQ0FnSUNBZ0lDQWdQSE4wVW1WbU9tbHVjM1JoYm1ObFNVUStlRzF3TG1scFpEb3pNMFpHUVRBME9URTRSVEF4TVVVME9UbEJOMEpGUlRRM09ESTVOalk0Tnp3dmMzUlNaV1k2YVc1emRHRnVZMlZKUkQ0S0lDQWdJQ0FnSUNBZ0lDQWdQSE4wVW1WbU9tUnZZM1Z0Wlc1MFNVUStlRzF3TG1ScFpEb3pNMFpHUVRBMFFURTRSVEF4TVVVME9UbEJOMEpGUlRRM09ESTVOalk0Tnp3dmMzUlNaV1k2Wkc5amRXMWxiblJKUkQ0S0lDQWdJQ0FnSUNBZ1BDOTRiWEJOVFRwRVpYSnBkbVZrUm5KdmJUNEtJQ0FnSUNBZ0lDQWdQSGh0Y0UxTk9rOXlhV2RwYm1Gc1JHOWpkVzFsYm5SSlJENTRiWEF1Wkdsa09qTXpSa1pCTURSRE1UaEZNREV4UlRRNU9VRTNRa1ZGTkRjNE1qazJOamczUEM5NGJYQk5UVHBQY21sbmFXNWhiRVJ2WTNWdFpXNTBTVVErQ2lBZ0lDQWdJQ0FnSUR4NGJYQk5UVHBJYVhOMGIzSjVQZ29nSUNBZ0lDQWdJQ0FnSUNBOGNtUm1PbE5sY1Q0S0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEhKa1pqcHNhU0J5WkdZNmNHRnljMlZVZVhCbFBTSlNaWE52ZFhKalpTSStDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHh6ZEVWMmREcGhZM1JwYjI0K2MyRjJaV1E4TDNOMFJYWjBPbUZqZEdsdmJqNEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQSE4wUlhaME9tbHVjM1JoYm1ObFNVUStlRzF3TG1scFpEcGlOVGN3WlRoak55MHpNemhpTFRSbE5HWXRPREF5WkMwNFptSmpObVJoWkRnNFltSThMM04wUlhaME9tbHVjM1JoYm1ObFNVUStDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHh6ZEVWMmREcDNhR1Z1UGpJd01UUXRNRGd0TVRWVU1UWTZNekE2TURRdE1EVTZNREE4TDNOMFJYWjBPbmRvWlc0K0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeHpkRVYyZERwemIyWjBkMkZ5WlVGblpXNTBQa0ZrYjJKbElGQm9iM1J2YzJodmNDQkRReUF5TURFMElDaFhhVzVrYjNkektUd3ZjM1JGZG5RNmMyOW1kSGRoY21WQloyVnVkRDRLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEhOMFJYWjBPbU5vWVc1blpXUStMend2YzNSRmRuUTZZMmhoYm1kbFpENEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BDOXlaR1k2YkdrK0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4eVpHWTZiR2tnY21SbU9uQmhjbk5sVkhsd1pUMGlVbVZ6YjNWeVkyVWlQZ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4YzNSRmRuUTZZV04wYVc5dVBuTmhkbVZrUEM5emRFVjJkRHBoWTNScGIyNCtDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHh6ZEVWMmREcHBibk4wWVc1alpVbEVQbmh0Y0M1cGFXUTZabVZoTVdObE5EWXRZV0ptWWkxbVpEUmlMVGhrWm1RdE1ETTROak5sTURWbFltSTVQQzl6ZEVWMmREcHBibk4wWVc1alpVbEVQZ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4YzNSRmRuUTZkMmhsYmo0eU1ERTBMVEE0TFRFMVZERTJPak13T2pBMExUQTFPakF3UEM5emRFVjJkRHAzYUdWdVBnb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThjM1JGZG5RNmMyOW1kSGRoY21WQloyVnVkRDVCWkc5aVpTQlFhRzkwYjNOb2IzQWdRME1nTWpBeE5DQW9WMmx1Wkc5M2N5azhMM04wUlhaME9uTnZablIzWVhKbFFXZGxiblErQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4emRFVjJkRHBqYUdGdVoyVmtQaTg4TDNOMFJYWjBPbU5vWVc1blpXUStDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lEd3ZjbVJtT214cFBnb2dJQ0FnSUNBZ0lDQWdJQ0E4TDNKa1pqcFRaWEUrQ2lBZ0lDQWdJQ0FnSUR3dmVHMXdUVTA2U0dsemRHOXllVDRLSUNBZ0lDQWdJQ0FnUEdSak9tWnZjbTFoZEQ1cGJXRm5aUzl3Ym1jOEwyUmpPbVp2Y20xaGRENEtJQ0FnSUNBZ0lDQWdQSEJvYjNSdmMyaHZjRHBEYjJ4dmNrMXZaR1UrTXp3dmNHaHZkRzl6YUc5d09rTnZiRzl5VFc5a1pUNEtJQ0FnSUNBZ0lDQWdQSEJvYjNSdmMyaHZjRHBFYjJOMWJXVnVkRUZ1WTJWemRHOXljejRLSUNBZ0lDQWdJQ0FnSUNBZ1BISmtaanBDWVdjK0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4eVpHWTZiR2srZUcxd0xtUnBaRG96TTBaR1FUQTBRekU0UlRBeE1VVTBPVGxCTjBKRlJUUTNPREk1TmpZNE56d3ZjbVJtT214cFBnb2dJQ0FnSUNBZ0lDQWdJQ0E4TDNKa1pqcENZV2MrQ2lBZ0lDQWdJQ0FnSUR3dmNHaHZkRzl6YUc5d09rUnZZM1Z0Wlc1MFFXNWpaWE4wYjNKelBnb2dJQ0FnSUNBZ0lDQThkR2xtWmpwUGNtbGxiblJoZEdsdmJqNHhQQzkwYVdabU9rOXlhV1Z1ZEdGMGFXOXVQZ29nSUNBZ0lDQWdJQ0E4ZEdsbVpqcFlVbVZ6YjJ4MWRHbHZiajQzTWpBd01EQXZNVEF3TURBOEwzUnBabVk2V0ZKbGMyOXNkWFJwYjI0K0NpQWdJQ0FnSUNBZ0lEeDBhV1ptT2xsU1pYTnZiSFYwYVc5dVBqY3lNREF3TUM4eE1EQXdNRHd2ZEdsbVpqcFpVbVZ6YjJ4MWRHbHZiajRLSUNBZ0lDQWdJQ0FnUEhScFptWTZVbVZ6YjJ4MWRHbHZibFZ1YVhRK01qd3ZkR2xtWmpwU1pYTnZiSFYwYVc5dVZXNXBkRDRLSUNBZ0lDQWdJQ0FnUEdWNGFXWTZRMjlzYjNKVGNHRmpaVDQyTlRVek5Ud3ZaWGhwWmpwRGIyeHZjbE53WVdObFBnb2dJQ0FnSUNBZ0lDQThaWGhwWmpwUWFYaGxiRmhFYVcxbGJuTnBiMjQrTlRRMFBDOWxlR2xtT2xCcGVHVnNXRVJwYldWdWMybHZiajRLSUNBZ0lDQWdJQ0FnUEdWNGFXWTZVR2w0Wld4WlJHbHRaVzV6YVc5dVBqTXlQQzlsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrQ2lBZ0lEd3ZjbVJtT2xKRVJqNEtQQzk0T25odGNHMWxkR0UrQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDancvZUhCaFkydGxkQ0JsYm1ROUluY2lQejQ0OHNzb0FBQUFJR05JVWswQUFIb2xBQUNBZ3dBQStmOEFBSURwQUFCMU1BQUE2bUFBQURxWUFBQVhiNUpmeFVZQUFBS1RTVVJCVkhqYTdOek5XdU13REFWUU5PLy96bWJCWmhiTU5HMFNYVHMrWjhsUHBBYXdidTE4MUJqakMyQVJyeGFzQ3RTOHE1ZXJGdWNLMVgyM2o2NWhWTUhhdi9XUUdzSVZyUDNUZ0FBQ0NBQUNRTk13ckhENEVBQW1Jb0FBQXNEOUE3RkNkZC9wSTdVRElRQUlJTURpZ2FDYTZnZ0F6d29BaVJCUTRmQ0JBQUxjTkJobjJYMzRwQi9QSVBUMllBY0NBUVFXRHdNelBmOXdwcWNkbjBGSUJoQUJnQzM5Y1F2Z3JjRThUbncrRVFSR29PYW4xeDVOUDhOaytFZ0dEcGlLSFJCV0RRSlh2ZHUvYzJCVW9PYVpYaHhCOVBkZ0FXWmJka0JZTFhoMDdrQ2NIVTRqVU5PN2JrQUFZWXN3Y01mUVB6dEFSNkRtNm9NL2VRUXhncTkzYkhMUFFRRGhNY0hqNk1kVEMvVlkrUDRhZUlBQXdwSmhJRG5Bbm5BRWN2WHJNUGdCQkpCSEJvK09JSkk0QW1HZVlIbFhUVWNnSUlCd1FSQklMNXJqZ2ZjM2NZM1VRNkJqa1hzS0lJQk1NaHpIUnEvVm9BTmcrd0NTMklINDEzQ2Q1ZDJyd1ErQUFBSUE4TFFBVWwvMy9mZkxWM1dQZkt5amJxSVBBTmc2Z0tURHp5NUR2NXErQndBQmhJTkR0Z0kxZHhuNkZicEdUZnBhQUFRUXBnbytIVUdvYnZwYWV1OWJUZkx6cWdsK1YveWVnZ0RDUlVGa2hnVzdBalZuKzE2RERrQUFvU24wM0JtR2Rub0dwUmE5Tm9BQVFtc1E2ZHFGU1J3QjFTVFhXRDM0dktybENBZ0VFRmdpOUh6NitlNGhVWUdhaGgyd3hvSStobitjQ1FjZC9XT3A1bnBYOW5QM2dsREIydi9yb1hzaHJHRHR2M3N3QUlpeEF3THZMZGlkT3pDSkk2RGtNeWpKbzd6Wkh1YUc1eStvZGtCZ0NlLytvVlp6dlN2N3VXdFJxbERkSTMzWWdVRUFBWllOSTlWVXArTWRmeW9BT1lMcTdjRUFFa0FBTGgrTXMrekNDRUJ6QnlBN01BSUl3T2tCV1lHYVR3dEFxU09vWkFCeUJDV0FBQWhBQWxBa0FIa0daN01BOUEwQUFQLy9Bd0FwRU5ZQU4zRnlhZ0FBQUFCSlJVNUVya0pnZ2c9PQ"},{ name : "__ASSET__:bitmap_flixel_system_debug_interaction_tools__Mover_GraphicMoverTool", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZsekFBQUxFZ0FBQ3hJQjB0MSsvQUFBQUJ4MFJWaDBVMjltZEhkaGNtVUFRV1J2WW1VZ1JtbHlaWGR2Y210eklFTlROWEcxNHpZQUFBSnZjSEpXVjNpYzdackxqdE13RklZanNiUDZFRlpZc0NGeG5LYTNxTWtJdFJyTnBtakVWQXhpbHladUoyb1RSMGxHU2ZzMnZBTUxKQ1RZSXg2QXQ1Z1ZXOERwalU0MVlzR2lxZVR6OVdyWHgxLytFeS83N2RlWEJ5VlJrdDhWM3llTkhFL1lMSXdkOWVIelZ4V0hnYVBldGtiR0tCbXd1L0JxbGJLYjFldXh2NXI3dlVDOWNGRy90TXNvaVZqdTRUSmF4SmxkT3FvWDhBbXp4ZmRxbXFoNHZTU2ZPK3FyNmdmOGJuU05CenhsdUtVYm1tKzBEZHltT20xYW5VN25KVFlOYWhEREpOVFVhTWR1bXJaaDRDMnFpOFI3UHcybTlwdmg1VlluUm81NmwrZUpUVWhSRkhyUjFIazZJN1RYNjFYYm1LWW1WbWpaTXM2OVVvdXo1NXROZHZzTVdlYW5ZWktIUE1iVjJKdncrOXhSVllRUDJPYUtrcjBvenZSMVJ0M25FU205aEZEZElQdWRxODNGYW51UU1pL242Wmp6aGJ0SmZobW1yT0RwUE1PRG14YW1va284cks2RmI4TTQ0RVhXSjhkMVQyM0podUxsaWtaWm10SFZER3RNdTdiVnRXbnovVUg5WnRGUitZZ0g0WFQ1UkhtcmFWdnRiZm5Cb2wycnlGR3YvcmVIZ2I5dllYS2ZMdFozS3ZBSlc3Q0l4WGttMmtnZnR6SHc3U2xQSXk5M3c4aWJNWkxFc3o3NU8vblA2OXZNaXBNaURpblpuMUwzMFdVZG9wd1k4TzlCa3VlWDFvOGt6dzkrOElNZi9QWDZrZVQ1cGZVanlmT0RIL3pnQjMrOWZpUjVmbW45U1BMODRBZi8yZmhSelg0TS9ucjhTUEw4MHZxUjVQbkJELzZ6OGFPYS9YWG5sOWFQSk04dnJmLzRqeGluOXRlZEgvemdQeHMva2p5L3RINGtlWDd3Z3gvODRLL1hqeVRQTDYwZjFaNGY5Uy9LeFBQbjdOUitBQUFBQUFBQUFBQUFvQjQraU9lem4wdmwwOXVQalI4di9FYmQxd01BcCtSYThaU1p3aFNzVURIYWZRS3k4QWVWbzZ2ekVKZzhjUUFBQUVodGEwSkcrdDdLL2dBQUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFLYVF6b1FBQU9TaHRhMVJUZUp6dGZkdHoyOGFTUGpZbmppUDVubXhsSC9aRlZidS8rajNGaDdpUUJCOUZVcFFVVXhJUFFkbHlYbHdnU01UYTJGYU9KQ3ZIeThML3Z0UGRnOXRnY0NVcFVRN0NXRU5pY0JsODNmTk5kMDhQY1BTcWU3TjRQYmJPRjdiM2VueDB2bEM5d2JnWEtjYi9PRDVmTkJ0NlIydWJEZTlzMkhNWERlOHRGVzhPKys1Q1ZiMkR3d21XNHozTFhiUTFiMnlkbnJQcTdqNDdnNHYvZWFQaDhHYlJIYkUvdmQzSjFVTDVYcGtxanZKTzZTcTJjcVdjSzQ1M2VIekV0ajltMnoreDdRZHMrNlV5VTNhVUlhdjlwTXk5Y2Y5a0NpZmRQY1p6NzdJbTYzUFQ2L1lQenhlRzF6MWliWit6QXUra2ErM2hUdFlBYnFGckhlQ3Y3cENLVjFqMGp2a0o5Z2I0ZXp6QmZRZGQvRFVZWTNGTUc2MFIyOWZ4dWhPcW5ORFpKeFpkNUlqT1I4WGhMclR5R0ZyVjhQb25LalNuZjZMQmFmb25PaFlEdGxGamhVYUZEb1ZYQUp0bkNXekd5b1h5bVcyYktYTmx0aXhDNnYxSHlOY2VpK0hpS3RmTGFJL3FHcFgxUjEwU0hYVzkraE9pczZUK2lCaVYwYUE3eHVneHgyaVg0WFBKa09peXY1OFpXdTg1VnQ5enJFSU1zOUNCZGtmZ2FSbUVEOWJuNG1NYU1Yd2FNWHgwTFk3UWJNaytwaEZDR2lGa0VFSUdJV1I0MXVoWGtxcGxzUy9PbEcwNG9kdXdyQlBjVUFiRFJ4ekRDZE91ZnpGOSs4enE4L1JNMTJTS2xnMmsydUZRYWxPbkJKU09TVkRpOXJXQnFYV0tnZm1VZzlsakN2ZUJmYzZWM3hoY3R2S0g4bDc1d2dIZGlpamxSL2I5UXJuSUJGUGx2VmJWQzlPKzJqRGszYmFSMFcyYkRVSVMrUUNRZE8zQ1BWY3pDMk9wbXhwaHFhdXowdGhsZCtqMmpLQXpIVUp1dmlLRG9wRTFYR29WeWE0WVpGVUIrZ2ZycCtld1Z3d2dvMGtBcVZOQnQxd09VWU13Y3JJNktxaEZ2bTRoSVVad0FqWUZuRkNwMWdCVVVyZUNqbHExZzQ1WjdSUTc2S2RNTlZNN3E5V3oxUTZxNjlHejd6aEdiOWhZY0MxRnB5Mm9tR0IwWk5sbGNHZ01IKzNPOGJGR1hXSi9xNXNnL1VjQlh1L1JwbmVZeGpEa0JHM3E0YmdKbFArbEVOMXp2RlROa1NJbUVIN2JLYTlTUm9zZ3N6bG0rc3dvUEhaVzc1VHNnbHJUSmlCaHFDbVA1QWpKLzVxaCthRVVrcTVSWU9SMC9aRVQ3SW1DUUFiY3hvRkVtMlQxT0FKOGxtK05BTG1SV2VKL0FXVEpMdkcvakV0RC9ERHVYSlNCRjhlTVhIY0MxYmswdm5OdW1jREJBSENudFdxQXh3eFhiVDRuek1SQkl4dXpLZ2F5bkJTMVpxYUI3R2psKzNoZ0hqYzFnbzR3TElhZE9pOU1qWUhpYVc0TXVxMEFPaGhCdnVCWVdzVTNpN3RtNkNKVWpIMFU2Y2lheWEwVWRFb0tvcVZyTXJSYWhGYUwwR3BSVnlZQ2hDOVRWK2pLTU1hTUQwcmcrREN3Vm16bDk1d1lpVWtvZGdoRk5ORWlLRGFXUmRFZ0ZFbkZwREEyYmNKUnk4Q3gyZUJoZ0E2UEEzUTRrbHp4V2x6eldrWWFtTFFsQWlZek9zc3A1WVQxZEthU3l1OWxlbkVoclN4bVBjdlZFanN6RE5UVGxmTWZEakRZaDMwZ3g5R1Joc2FlZlBYc1kyZCtqL3dYRDFkRmFncDNlbWtVWVFQQ1ZXckZjRlU2U3MrbEtQVXhzRGRsSm5oMnQ5NVVuTFJid21uQyt2RTVjMC91SzA3NnluSGFDbkM2WUJiSjlTMEdock40ck9NWUZaMDBQaVEwQ0pvR1FkTWdhQm9FVGFNZ05FK2xLc1JuWThxclQ1enJHN2MvKzVKRlJrMUNxRWtJTlplaTdBUDBYbTl5dk5kTm5XSGdLTEVSRzJGcUVreE5nc2ttbUd5Q3laYmEvZ053TjNHNlpRSmNJMUdtUzJaKzdTaEgvTnRjdVN4aWlwVXhIZFRtdk1oa1EwUHE1SmZ1Y25MRGdadXpKa0Zsa3ZGUGN3M3BnWkZzN0E0d3dQU2VCNXJlSTF2RnNRT3JFY09XNEFHaE5Cc3hRNWI4cG9RaEsrMk1xSXRGSStMMldyRXJEcFhmSTRjQlJPbUtKc2JmSEZtUGhLaDFLbTJGUG5xRllOTGE5Q3hxMTRlUkpMQlVNWkpremt2ZytUQm01bjlhN1p4N3dZa3NZV2k4aFc0YWdBVTRSc0g2am9OMUFsTUdIS0x0d0QwSDJ3ckNiWG5XbFYwMU9RRzhtVHlZZE1HMTlGMGhQOVNHQ3Axd0xOVUM0UXpZaWhZV0Iwc3p5ZmRCVDJjWEhUWlV2bGFMUEI4RFNnd241bUw0SW9JaFJJd2cyY05DTzlYbVZsbjJHR0ZMQTJ3RklJVklWc2JVakdNVHFCb0gxZEdFK05xTXg0aG80TTd4TUpucUVxd214OVVrWUIyVGdIVTRzSTRwK3V2d1pleC9pWFZ3cWdxKytBR20wWmo3cE9PeEgrSzBrdUU2bVNqOElOMnR3Sy9QQ3NFdmhPZ0M5RFBuWFZOaUpRYTMrd3pDbmhsSWlEMldPcGFJTktFb1JSb0hjUUFZRlgxTWlsOFUzdTBBM211TXFVQXl5bFVSKzhlZjFQYVRMVlI3WGdEZkl2WlBVMkNNT0xNQzMxcVlLSmNPYnNzb0I2NFBuT29HTVJJRVVNdG5paC9sTVdTZWpsR01mOXNWK2JmUU1NVkRlNjR0NUFod09JMXBqSDROR2YzNmNJbzgwZVIrWEpNN2NxeU1KMTFRRkdwTWdGcGpUczM4TndDdHVsSks5ajJjRVlQeUUvdVdWRmRWK1puVm5qUEljK2VTNHZQa2xhUFBXYjVmQ1JzZ3JxaG0xY0JCRXBuL2tDSEQxSENYYmIxbXYzOW0zOEJRQjg4d2Q1Smp0Wml0MW01YUlXYitNTjlqZy93SDlzL3Z1dEU5WmU0TXVpMnBKcVpkUHJCUXdzQXNQc1FVQWdyN0tmQmZjbXdCeXhOcUxDcUxRZW9QMS90QjRzRTVETmpyU1I5MmlwdnBwYkxOQk91VDA1OU5RTm9FcEprdzFMbnBHYzAyaXdFYUJmQUpCL0FOV2pSelBqV0pPaWhNYUJTTDNnaDVlNEZmWFN5QUExT01KYlV4c0huUVpGcHFXbEtLWkRCbkhrNjBZYXpDL3pJK2lRemJEUnBOQkNVdGpuR3hTU1BObE9rcEJZQldpTEEvWjZUNzg3N040Z0RMZlVwZE5tZUVQVHV0NzVlRHNZeFQ3bkxyMFkxYmo2NWRBTVFpN3VheUFTQzVpbW95Qk1rcmozcEJ3V1NibUNIcDgrV1lXOWdYeWtlQkwyRUkrcVM0a0pRRnc3VU1RN1ZwRUlhdE9JWjJDUWhiVWoyVUdqVTA5VnZGcXZHMU1FNllHbGRETEhVc3FmZTJlUGN0RHBxdmNEUkprdTJ1NkxKT0s2Ukp5a2VYUm5Ickd2azJpZFhVeUo4MEQzd1ZZZEljQ0JieG9pODZmU0g3MnB4eit4cStqSHdNTGQvMUcvc2NTVUdQWXBqNmVZRURjR0ZraUU2Tm1IUHRhMThaN3pwenZFWU1aY2tJY3YrUFk2ckxNSFZNdWNQUzRkRzFEay9xNkxRb1VvUnVpVDlIM2czZEZIL09YSWlPcDRNWWV0UC9aRERhYUZCbXEyZXpxdTFUWWtRaG55OFNleXVSaGNYOFE2bDZ3dllCM3o2ZzdRR1VPRnEzK1dEZEpnMzFJVVVGUFNEWHNGeG5mNHQ0Wm84dThSRzZVTjVnR1Z1U2ErWlVPaGtxZU5MUzBTVXRNSkdXSVJQUHdPU3FpQjV6eWxxUVV3YlZKeHlvUDZNQjdwdmxEemlJdXRLdmtON1dMcktPcG9oTG84ZE5uRGlBVEZVa29ZaGlZVFBObE1TQ0QyaU1Mb1BUZG9nVDh3UDMwY3o1TXhzeDZRQlRiT21SRDVtYXIzT09kSUJSNXpJeVZHOFZzc2VCQmZNZWs2UWg3REJQcE42THNMV3F6am1veFdjQkExOUZiNVZQQ3ZRTndUeXY3OEEzblErU3BuTWVkQytDTWZjRHJ2b29PODBnbnlGY1h2VXduend5ejJCTHJXbGYrWXBFWXNXUldLcDh2a1V6RGlZTGtnWk0wUTU4d3JaZlk4QXJiL25wS2pwd3MzZ0FWc0N3a3o5bytPbXBnam05b3U3cjZ5RGs1cDlqckhEdE9waklwTlNsU3RneDQ1TmRyblRVa004ZkNnbStqcHdDWmZhZ0dNWUpwN200RlJPTlk1TzZzaHRzTjJsWWJwWFQxaWVCNTN5QnJzeDdCanhmSXBHdHM2dExpTXNhcDAzcEVqbUlnMFFRMThyTXdLUnBMZGszVnRJSnpFUHdhUVRCZjJFUVp3Y2pGYVV4eE1CZ2ljV3VBWTVHdml0ZGVYNEFmT1VDZ3hBR0laeTJKQ0VkazN4d2cvL0ZuMzRaY1dNU2JwRW1aQ1BXcFRoem1DZUZuN2dVWHVPTWw0UFpyMWM0K1FBTURESGluWkJneXRNSkxhVXFxdGhTTm9rcnRtQk5ZYWd0eVNXbExGQ2R4NGgwSGxwbkpYSUpGMDkwZkJ0eDRjU0NtU2l0eUZTWkdaOHBBM3ZmR3d6N040dEI5RWtETG9yRndvRGNlU1NKMUVWeEhPT2N4a2NVMUdscURSZkhnQUFaRURjTUNJZkJIbXJ4WU56SFhjWmpxanVnNGd3S2J4RDE0cWhCL0xFUDRMRUpUWXJXbktiV1ZHdVNSazFpeFg3UW9oZXNQVTR3SHpIajJuZ2RtZks1Q3JqWTRUa2ZNUFE1eXUrTVIvelppOEgrYXdiOGNZOU9mc2krNzQvZ0NTd0Rlc1JLQS8veklsV3FYOFdmdndKMWI2R3VzZng1MUlxbjhLdlliNFRPaTRudUVSZGRENThtNExBTy9FRWl2akVITWFsUjBacHE0dE5KZkhvdHZncmllOHJGTjJZQU9leW1JWXJ5bXlERXA0R29aUHVjRnRpbm1tQnRFcXhkQzdhQ1lMZURmZ2tUQkdEZ1JKMGROeko1NE5lZFp0UlZFNkJCQWpScUFTN1JNMGtRMTJnYlhmcXdDVDFUdnM5cGdYMldvbHhWclNWYlFiS2grV1ZqaWsyNEZ0SGxzd0QrOXRPVTdkV2sxaVNwTld1aExTRzBFWnFiVHVTSlV5NlBnL2piVDFPMlZ4TmFtNFRXcm9XMmhOQUdDTXdzZ01VWFRyajlOR1Y3TmFHWkpEU3pGbG9Gb1QzaFF0dmp6Nkw1QTBrdmFyODg0V0tTN1hHYXUwYzFrWFpJcEoxYXBCVkUrcENMdEl0enNWZkJESzBiUEJEaU11aUQ0dFpxNG5KSVhFNHRyZ3JpMmdxY1F1ZzV0TXhhOU9mREd0R2ZEMnVxaVc1R29wdlZvbHRpeEh1RHlaL3p4SWdYYmo5TjJWNU5hSE1TMnJ3VzJoSysraWljT3d1Y2d1M0Fqb3pXbldiVVZST2dTd0owWXcxN0hHalRYSmtxZlpUSWU1emE4K2Z3ZmUwUjYwOXo2cXMxVXVYUll5ajdhZ1RZUVYrTC9kSmp2NHpZcndrSllCK0Q0bFcwOVNuWFZxaVpna21CazU5ZG5JeVA2bXRMcmlTNkNjb1VxWHFwbVdHdDFySGI4VnFqR2RaT1crS3hyYXhEMnhtSHFtS0x4RzV5LzVxL3V0NVpzOWdhY1hyR2NScmpzcGw5ekhhRWZaTTlTSmMxa05vUjE1U0lvc0MvMU5iTGdGelhSVFlFWlpoYnZjRGNxbXZsaEsvVi9DMWZJN1ZPdzI1MlVqU3A3ZkFHNW10a3NmTnNTTThOK212WWgvTnc4cnRWZHVQeWNTcDJuanZHNlhtRTRWaFA1VDM0TGVidVVjcGpUdDl0ZEJpVGF5bmRLdG5ub3VRbFZibDFYZVNPY1g0aDRCeEJPSThsWDRadG1UWTAyMDZEWWVheTZuaGxSend5RSswVlgyaEROSHNQTTFFeFJ3WFRLb1BSeWN1eDY3U0c3b2dEUm1nWXFkTk9XNTJtR1VicTNIRFpyMWh0WUJpMTdMblRVTk1NbytTSlZiRkZvaFR2WC9QdldEY2VjZDJBOUVhYTNZWVhKbnpNMHdpWkNhRkZLMFZiMkFqYnJka1pockpvZkRSZW11RnBVeTBUdnptRjFHRnoyMzdIdXJETmRTSHlTR3BXbDZzSnJSWmtlTW83bDlrd2szQUdQYVRWRXUyQ0NKNXdZTnRONjF4MDRUVFRpLzFmV0JrMnVQbDNyQTlia1ZqQUg4Z1BseEZ0TUdTTjZyU05saW9NbDNwd1o5T1o2UWhjYWdhMUxVZWJxM0pJNXU1czZzeVNFcjJiSm15SVZDeDhKY2FOSUJXcGtuZjBEck1iMDVUYzBPQ1RwdVRUNWxTZnFpbEszbW9sZTArbzVMTTVmS1JZUU1jeWl4TDJSamQvUXppYnZKV2svWnppajZVM2kvc1hvbUNXT004SzQ4cDdnLzdOWW04UW1VNmRJMDZIbUlNTnRtMlgvYjNCQitENDgzRHpZRG1SclZ4N2V5UHJadEh2N2NHZlY0aWZ4ZnhpOEQxT2xLbnlQMlFEZWYzZWExd2c2S0t0Zk1VUTlTTEhiUG1MNEpoUERRdVVycFgzL0loL1V4cXhQYmZEOWlUMi9VWlJoYjIzV0ZzK0lOZk9sWW55QmNxVTh6N0NWdHU0SnZUUFVDdjQzZytWLzFJYTRVYzRjby9kbGN0dHZTTjhrdHVoMHVkSC9qOWxvYlN4dHNWYXg5cW5hTXJQN0x2RHRzQTMyRGJEeCttWWJGdWIxZEExbXJobm0vMVZXUTM4OGdRY3dvYzk3bUtNNWtOd2IzOWp4K2hLVTJqbEFiSWJ4U3RrOStlR0grSElMcTV5dXNhTU1BdXpOYTlUY2R5S3lDY2I4U2VSUGYxc3MwdXlrd0o1dG9XN2VNS3dua0U4Q3A4Q2dldWVVZGVZOTVWNmxSQ25QbjlTbG8wcE5sRzBSSmsraStqTkVlYWxYdk1uU0ovajZPQmZTeFd1RlVnaWVQM2VKMnpqVlhDRUhqdmlNVDZtODByNVBYVi9zVjIwNGl6V0w2WFNuTEd6eWJUMUtUN080RThlUDRXZVBFc2N2eFhYZHFaTHJ0Q0txTVlmc3ZiU2lveHovaXh5T3N1MzNQT1pDeGdkb0E1bVh6MmlpOUtyMDN2UkdFNk1oV3pzUzNuM0lPTHdJbUFjMHVqTFZQMFFaZkQvMmRWL1o5Y2ZZSCthWXh6d2t2ZXJFM2JrQjZiMTlLUzJqMHhqTGxDbkw5bTJLR2FuYlA5aldzZktyL0lvd3JnN0VjNUZpcTdBem1OTUpQdnQzckt6eUY0MU85ZnNYTE56emM3M201MS80T3hzc1hQN2EzRnBmL1E2RlhvVHczM2xiSzNtN0pxemE4NnVPZnVyNHV5dEpHZmZXNFpXYTRhdUdicG02SnFodnlxRzN1WU0vU3RxL2Evc0dyOHhXL1MrY3JSUmMzVE4wVFZIMXh6OVZYRzBiMFZIT1ByZU1yUmVNM1ROMERWRDF3ejlWVEwwbUNFUDF3TjUzRmVHYnRVTVhUTjB6ZEExUTk5RGhwWm9RWjE1VjdQelV1d3NjbG5OempVNzErenNzM01vMlZXd2M1MTVWN056emM0MU85ZnN2RW5zWEdmZTFaeGRjM2JOMlRWbjN4L09yalB2YW9hdUdicG02SnFoTjVXaDY4eTdtcU5yanE0NXV1Ym96ZVhvT3ZPdVp1aWFvV3VHcmhsNjB4bTZ6cnlyR2JwbTZKcWhhNGErRzRidXM3MUFPeU9jSmVSMmNIMUtzSE0yejRtb3RSSXNtY2QxTnV1ekhjVmdueG5EeUZ3SjF5MmpiMDlqOXl1WE1Jd2Jtc0N1MGFPeXN3TGorOUpUR0VPR01ETkdtU1J2NjZ3bHpWdlJObCtEZG1JNlZGYmJubkZ0Qzk4TThpNjIxM0xhWnlkbWk3OUc3ZnMzcGIwbTNjdUtFbTY2N2ozbHVoZmxldEVhL1o1ckgrUkdNSXR5by9LTXhVeUhPc3Q0a3l4UlhiQkpha3MwM3hMVmhIYlZsbWcxUzFRVjJyRnBsdWpqa0U4WlEwZnVjQW1HSHJNcm5DUFQxZ3hkTTNRUmh0WnFocTRadW80VlNCbjZTY2lueWl5VG81L0ZtR29IVzB0dmYvb1E4ZUlleDFiOXJkSi9FM2tsai8yYW5OTmNaRFBndkRiN0dHeC9uLzEwOWczZVRRcHQ4SzlqSWwrNjZQVUJCOWIrMi9ydEE1bTJWTkc5WjhobUgzQnNqcDFOZVFrZmlRYm02ZEJVNlRBdGNOaGZHQW5uT0lJYXlIRytEa0ZjQURUSVpScm1heXJzYmJMZm9Ia3p0bjljaC82VFhhbkxzSElSU2VMVWR3eXpTK1JWNFBrLzJlL3JBR2ZRcnY4TkVIdUFWOTZCdjdHemZxL01Dc2FqMWlQSlBPeWpMWGlnMklMR2ZjTlFhZ3I3T0RuOGpNeGFRVXUyWXpybjE0bTZrV1VYaW4wcFQ0czBaQm1UYVFPVEJiSU9hQWZvUzNVbUttTEZ0QVJNODBkOW8rS29uemJhTGNPWG16WlN5dlVtcm9HUEdaZk9tT2Z4R1Z1NUU4SEtmMHZlTGlKNndlcUdBYUpYRlpnSmRNSmc5UzdhN3lxT2JpcTdaeU5oMjV1Y21Xd2NCV0g4bTdGL1lGMTFib1dabnJMOUxtQXNRbnZwSFpmcE8vYjdOMldhSXNGbndqSHZ1UzBkUCtwdjdINmFnbzV2czNxUTJrZjI5eDFxMmVmVVdjT3QyTDV3bDdPVVBSL0Y5dnhOOGQ5M1dleTgwZnVNNy9rODlUN2pMWmZkNll2VVk4WDJ5WTRXcit4TEpYbHZ0ek5qSmU4WGNjYWJJVnRkQy9vUVNrMTJuOCtrUnhWQktFc0g4NjRweDFiVVJ0RkRTdXNuOHd3dlU0NUpkaDk1SERtcVNHOThJdGsvNzE2U1IrUnBscnhWNmZmK1ZIcnZLZjJtRkV0dnNTMGdoeHM4ZjFYYlVXZGNDeHc3eGJGOGp1elk0ZU4vT09wRFBkeEhBKzFMWU9nT3hnVm1hRU9LMFpmMU1QVGpVRFo0dGd2bEhPMkpLMjkveEVEYkgwMXVGbWZESHJ4dDdTMFZYcmhOYXpacEszenhCTmJrMGxqcFdiZEpWMWQrVHZCL1Yzbk85VENsVERmTGFuZUVZU3RyZDl6KzBBTDdvMW5iSDdYOWNlL3NEMW1mcUcyUDJ2YTRmZHZqdStqVEdTcnhNbHpWd0VoRGgvdUZZRTIwSkx6Y3VGTmVYazlQanVOWER2c1h5Z0ZhSzM5WExKeHIrb3pYaFB1QytNcHE3TUJaWUFkcUcyZ0h2a2YrZXhmRzNvVGo1SE9vMit3NHN2SnNYTFArR2V5bmxKNERvMFlTMnlKSFBzZm9JczJvOGJoVm9lUFdvMmRGZEtXYzl2M0VKSHFadU1PL2k5RzlGZW1oRStpaHVuRjYrQXoxTDNyUHhUUnJLc0h2N2pTa25Eekw2Y3AydUlYVlVycy9TR0xZNFd3bllEREx5RUxJSDFkbU9LN1lmSlNBV1E4Tk15VGpNV3pRS0R1V1M0QXpxWmhET1YvaGJOcERKcGsvY0E0VzVQUWxHSE9UYytvUFVyTU9aQkhyZGNXT1pmS0t5L3dCT3o4OG4ya2VrZklBZlZHYWw2WDhneXF4WWhjelBCcE1OaUFKNk84dXpsR0ZNNkVOdEFsQVFuZnJxNjBMZlJtT2VlZy81ejNWZjFMV0RvOVA3ckpXL0FIelRCVWtvYUVNTk94TE5sb0FEaXNObkVXTVdtZE5uUHNwbHBGem55U1JqMmxjS3Q4Rzg5Z2trL0IzbFY2Z3Nqb1hQUndqbURIeEkzT2JGTEZZRC9ZaGR0a1liL20vV2N1TzhPekpUTHV5YUd0L09iUmxLR2JqL2hRemNXQVdIMnpzbmVENDZoRTZrSUNPdVJ3a0FRM1BEMXhqb04zWHhGRWNjQVk1TlZsZEI2MUVrSW1MTW5CdVJRSS9JS2IrbmZ0KzlLWFVkdnVHdFRBK1l2K1lldlEvV1drckgySVd3amVnYmJjZy8yeHBabXZDYzJXZkhmVVo3Y1Z6bk92TzA0Wi94NGhmOUlnb0RqNCtuNE9aL2grWWxGK2lSWkQrS2J0YUt4NFJiZ1FSWWYwdjB1UHpwWll0OWNmS3J3bzg3KzNqQ3ZwK2g2OWFncmhQSy9Eck5HUmZXTkUweFF3bThPZGFhTk5QV1RsSEszMkcxb21PRnNkdHlPSTUyNGZ1dW15L2Z5RTk4aTc3ZkxvRTg1Z2ZaT2pIRHZMNytzZkkzdEY3VDg4QUsrdnROUm5hSmxxY0xkU05uM0YvaWlJYU9JNjdPSGFvT0VZME1VdHVqam8wWjNXd2g1M3c5dGFqUHk5UzBVam1tSFZ1aWZtenBCblhoSWM4WSswU003NC9CZXR1NDF2TDkzOEhHUlo4UE1nOUk0K1BzdnlUSGwvN0srUmlFY0VpcUQ5ajUvbUVlZjFVc3hOa3k4bjc0VS9JVCtIKzczQys3UXJYclY0WFhDVlExbzQyTnRpTy9qRURqMVZZSUZubmw0MFh6VnZwN1hsYVUwVHpIc2UzTHVWM1FjYW9odithZlA2bmc1WkFPNkV2ZnE3cDE5WHowN0VVNHozSG1Pa0JjeG0rRkhiUi90a0pheXJiWDNQRXM0SFp1MU9Nc3ptSXRJN2pwOE90WXZqYnhEVlRmajR3V0YxenROM0FKN3NkKzh2R3UzN0hzUEx2dWxoLytsRjY1R2RlaXRuYmFYTkg2OUtDTkZtSy9aSFdIY1l6eFAzblhoeGdpeS9XdnM0d25uVmR2M0hLeCtIK3JUU01TN0pZanI2WTc1Qy8wbEJjL2JkSkt3M0IxeXE3NmtETVlLblhHdDcrV2tQekZsajUyNVJWRTNJVzlwOFBkNHpuQjFzdk9jTzVhaVlXYy9scUp2NHJNWEg1TmQ5ZkZ4TW4xd3JXWFB5MXJ2dE80K0x2MkoxOVFOdC94dlRDejBtTWJxc3lGK2hpVkpEOFRZZkhvRHVSdFdxMGlyYkJPT2h1VjlHdUt5Y3hpbCtjd2FBM2ZwSDRTOUNuT3VnRlFxNUdSMkJKSnpoZitwRWRuTTNUQzhqM0JXb2kzY0VsOWhMUThKMGxwVDdEK1lZMmpqTWRsSG9MWnhjN01hbFBNWExjaVVrZC9ybTQ3KzNFa05lVklaaVA2dDNxd2crWUQvT0Z0NHBXUzM5aDN3MHVEVmlMdDhkMUpEcUNRa3liMkxENjNMU0pJK0VjZXpqRnAwMmNhNGpHcDF1WUI2UGpmQUw4cGQ4RzZ0UDkxbzBzTkt2TDZKa3c4ekRCMWtDNzcwcE9sRE40ZitXVWgyaDFXVzJoTFhaSkZzd2R5Z2UyM1YvNXlGQ015K1JIekMwN1Z5Z1diTEUyblBOdllHR0RkeEdWeXZkaGZ1Q2FaZEpta21oalprNGJNM1RnYnd2SHlpWmFSL2RYSmtrTTR4SjVoTmpQTVhNWC9ITS9HOWJQZ2graGwzV05uUGhlb1dkN2dsOTFnLzBxZXUwcVZnbk1uTTNSOTNiUjA0WDVrVGtlNFV2SFJsdTBqZjJqd1ZmSmFOeHk3YkFheUtpb2tzZWNGby80RnUwRUorS0ppcEdGZGVXbmwwRWEvanV5bUJDOVgvSHZhSGR5cytqMmh1Y0wxM1VOK0hnRCt0WEEvN3p1S0pENDl6Z0hBay8ydFJFVko1aHhtUVp4OWt1TTFnK3hkODY5Y2Y5a3VtRG4yRDAreDhJNlgraHowK3YyRDg4WHF0YzlPanBmekZuQk50dGUxOXJEbmF3QjFsa0grS3M3cE9JVkZyMWpmb0s5QWY0ZVQzRGZRUmQvRGNaWUhOTkdhOFQyZGJ6dWhDb25kUGFKUlJjNW92TlJjYmdMclR5R1ZqVzgvb2tLemVtZmFIQ2Evb21PeFlCdDFGaWhVYUZENFEyaTJMaUlUZkQwbkdCOGNCUFJyOVBVR283WGdObzhvTHNjUUdNMTlndnZhekR1NHk3ak1kVWRVSEVHaFRjNTY5NHM2TUlQbUdOSWc5d25KdkJYTjRzM0k3YVAyZkFPZURteGZtWG5ZeEtlSExLN21CejJ6eGR0ZDJhNCtEU2V5ZGxnTlNmeTlzNUdONHZCMFFSdW9UY2NRekVhNHAyTWRsRUJoNmdiSTZpQ2s0d20vRGREUXZWMlIwTXFMTGpwM2QwZS90cnRZMkZOUUgxR3d6NGNzQThuYlhpL2pQNXh2bWhDYWRIUEV5cEdjUHorNEJDS1h5ell4MmJsSHYyY3dPbCtzYm9JN0hDRWlCNUQ0L2F0SVd3YldxZFE5S2tZV2lpQm5uVUVoKzMxTExpWjQ3Y1cvQnBhK090Z2dvcDFNQ0dpN0NQQlE2ZjlFMHRNbS9iT0JyanYyUkcyZnpMRzA3RWpvVGpyNytMSkIyZnNCSXAzZkdUY0xOaWY4MFhMdzhLbFFxV2lJUlNzSE1EK1RIMmFIaFpzd0RpMkduUXVTK1dseGtzZHk3M2pIdXczMmNVZU54bTlnZUlNYmtUMWV0MVQzS2ZYUmEzcmRYZHhhMzhYZi9XUGJoYkR3Y1JkTkY0MnZjbkppTDZNRC9tVzdnbi80dlhPRUdMdjZKZzE3K2k0aitmMFJ2dkg2TkNPRkJ1SG14MDJ2QjBlb2NCR2gwTXFZTmYvNWxQZEhUUjNpT3BibVA1cTgrbFkyRXFwc0JxZktJZGdCRXlIcXpoMWJ1T3lsaG1URW11eGR6Z2s0YjVsa2g3dXZtVTArR29mTnB5T1VlZUd2SmUrWVJlYUlxZlphQk5lZXNNaFFuUms0WDVIUFR4Ti94QVZvRGNFU3RpRFUvWmV3ZmE5SVZ6TDgxNGZzbnQrVFR0NVh1SjZEWDY5YldSWGVHbzZySFdsdWR0WjdJcU5RbGM4UE5vUE5weWREUENwQjFURW40R0FuWGxLZlhsS1hkbU05K1NwYWtNUWRyS0x0MUg0Umg2R2dLRkVKYmVnbGdUTjJ4LzNieGI3SjJmUThQMlR0MWhZN0pmZVl1VmJLdjNCaXcxbkxqdWl6d3lML1Q1ZWM3Ly9LbEsxM3orQUR0NS9EUmM2c1pCd1R5eFVhRy9VNzdITGpuRlllajArSXRydFJZcnhQNDZCWmZTTzFqWVRpQjcyM1lYS2VqTG9QeXZIZTVhN2FHdmUyRHJGd1dhL2gyTXR0R0VFOTcyMkFkYTQvd05zQVd5ZUpiQVorOTFHZ1lYZlN5S2szbitFZk8zeEp3dVcwQjZWbVlkVjlVZGRFaDExdmZvVG9yT2svb2dZbGRHZ084Ym9NY2RvbCtGRHI1eTV4RVNnOTRGYlRWaUZHR2FoQSsyT3dOTXlDQitzejhYSE5HTDROR0w0NkZvY29kbVNmVXdqaERSQ3lDQ0VERUxJOEt6UnJ5UlZDMFpIWjhvMm5OQnRXTllKYmlpRDRTT09JYmg1LzFKb3dYbWVudW1hVE5HeWdWUTdIRXB0NnBTQTBqRUpTdHkrTmpDMVRqRXduM0l3ZStoeDAzTUR3QmVCTllaZkFnOHJWRXFhMzd2STlqdDVyMVgxd3JTdk5neDV0MjFrZE50bWc1QkVQZ0FrWGJ0d3o5WE13bGpxcGtaWTZ1cXNOSGJaSGJvOUkraE1oNUNicjhpZ2FHUU5sMXBGc2lzR1dWV0Evc0g2S1lXM29nQVpUUUpJblFxNjVYS0lHb1NSazlWUlFTM3lkUXNKTVlJVHNDbmdoRXExQnFDU3VoVjAxS29kZEl5Qk5PaWduekxWVE8yc1ZzOVdPNml1UjgrKzR4aUJzM2t0UmFjdHFKaGdkR1RaWlhCb0RCL3R6dkd4UmwxaWY2dWJJUDFIQVY2VUFPNWcrUGVEb0UyOUlLYnlwUkRkYzd4VXpaRWlKaEIrMnltdlVrYUxJTE01WnZyTUtEeDJWdStVN0lKYTB5WWdZYWdwaitTSUVxaGdFck1Va3E1UllPUjAvWkVUN0ltQ1FBYmN4b0ZFbTJUMU9BSjhsbStOQUxtUldlSi9BV1RKTHZHL2pFdEQvRER1WEpTQkY4ZU1YSGNDMWJrMHZuTnVtY0RCQUhDbnRXcUF4d3hYYlQ0bnpNUkJJeHV6S2dheW5CUzFacWFCN0dqbCszaGdIamMxZ280d0xJYWRPaTlNallIaWFXNE11cTBBdWt1TXJsMEVpNC9LK1daeDF3eGRoSXF4anlJZFdUTzVsWUpPU1VHMGRFMkdWb3ZRYWhGYUxlcktSSUR3WmVvS1hSbkdtUEZCQ1J3ZkJ0YUtyZnllRXlNeENjVU9vWWdtV2dURnhySW9Hb1FpcVpnVXhxWk5PR29aT0RZYlBBelE0WEdBRGtlU0sxNkxhMTdMU0FPVHRrVEFaRVpuT2FXYzROTVZIZVgzTXIyNGtGWVdzNTdsYW9tZEdRYnE2Y3I1RHdjWTdNTStrT1BvU0VOalQ3NTY5ckV6djBmK2k0ZXJJaldGTzcwMGlyQUI0U3ExWXJncUhhWG5VcFQ2R05panVmejdpSk4yU3poTk1DdmhqM3VMazc1eW5MWUNuQzV3VmNQdEJZYXplS3pqR0JXZE5ENGtOQWlhQmtIVElHZ2FCRTJqSURSUHBTckVaMlBLcTArYzZ4dTNQL3VTUlVaTlFxaEpDRFdYb3V3RG5nbVE3YjF1Nmd3RFI0bU4yQWhUazJCcUVrdzJ3V1FUVExiVTloOWd6dXcxNW1JeXJwRW8weVV6djNaNFh1RHZPTzlld0JRcll6cW96WG1SeVlhRzFNa3YzZVhraGdNM1owMkN5aVRqbitZYTBnTWoyZGdkOExWTDRWTjJSZXpBYXNTd0pYaEFLTTFHekpBbHZ5bGh5RW83SStwaTBZaTR2VmJzaWtQbDk4aHdtVmU2b29ueE4wZldJeUZxblVwYm9ZOWVJWmkwTmoyTDJ2VmhKQWtzVll3a21mTVNlRDZNbWZtZlZqdm5YbkFpU3hnYWI2R2JCbUFCamxHd3Z1TmduY0NVUWZBTVdOODl2K1NyeGZLc0s3dHFjZ0o0TTNrdzZZSnI2YnRDZnFnTkZUcmhXS29Gd2htd0ZTMHNEcFpta3UrRG5zNHVPbXlvZkswV2VUNEdsQmhPek1Yd1JRVERDMHdHaStaL0oza3VHMUhITEF3cFJMSXlwbVljbTBEVk9LaU9Kc1RYWmp4R1JBTjNqb2ZKVkpkZ05UbXVKZ0hybUFTc3c0RjFUTkZmaHk5ai8wdXNnMU5WOE1VUE1JM0czQ2VGWkZJS2NWckpjSjFNRkg2UTdsYmcxMmVGNEJkQ2RBSDZtZk91S2JFU2c5dDlCbUhQRENURUhrc2RTMFNhVUpRaWpZTTRBSXlLUGliRkx3cnZkZ0F2clcvK2hLdk1DdGcvL3FTMm4yeWgydk1DK0JheGY1b0NZOFNaRmZqV3drUzVkSEJiUmpsd2ZlQlVONGlSSUlCYVBsUDhLSThoODNTTVl2emJyc2kvaFlZcEh0cHpiU0ZIZ01OcFRHUDBhOGpvMTRkVDVJa205K09hM0pGalpUenBncUpRWXdMVUduTnE1cjhCYU5XVlVyTHY0WXo0SXNpa3VzSWltUkhiL3EvOHVhVDRQSG5sNkhPVzcxZkNCb2dycWxrMWNKQkU1ajlreU9DRHNqL2hNcCtmK2JJbUd4OXRsRFBKc1ZyTVZtczNyUkF6ZjVnUEg3VlBYVGU2cDh5ZFFiY2wxY1MweXdjV1NoaVl4WWVZUWtCaFB3WCtTNDR0WUhsQ2pVVmxNVWo5NFhvL1NEekFWVWZyU1I5MmlwdnBwYkxOQk91VDA1OU5RTm9FcEprdzFMbnBHYzAyaXdFYUJmQUpCL0FOUGE2RVQwMUdYOWp4ZmVCa0Y0bmVDSGw3Z1Y5ZExJQURVNHdsdFRHd2VkQmtXbXBhVW9wa01HY2VUclJock1ML01qNkpETnNOR2swRUpTMk9jYkZKSTgyVTZTa0ZnRmFJc0Q5bnBQdnp2czNpQU10OVNsMDJaNFE5TzYzdmw0T3hqRlB1Y3V2UmpWdVBybDBBeENMdTVySUJJTG1LYWpJRXlTdVBla0hCWkp1WUllbno1WmhiMkJmS1I0RXY2UmxEc05RSUhKeHpHWVpxMHlBTVczRU03UklRdHFSNktEVnFhT3EzaWxYamEyR2NNRFd1aGxqcVdGTHZiZkh1V3h3MFgrRm9raVRiWGRGbG5WWklrNVNQTG8zaTFqWHliUktycVpFL2FSNzRLc0trT1JBczRrVmZkUHBDOXJVNTUvWTFmQm41R0ZxKzZ6ZjJPWktDSHNVdzlmTUNCL2lZY1FtaVV5UG1YUHZhVjhhN3poeXZFVU5aTW9MYy8rT1k2akpNSFZQdXNIUjRkSzNEa3pvNkxZb1VvVnZpejVGM1F6ZkZuek1Yb3VQcElJYmVORDFWSHA4QmxxbWV6YXEyVDRrUmhYeStTT3l0UkJZVzh3K2w2Z25iQjN6N2dMWUhVT0pvM2VhRGRaczAxSWNVRmZTQVhNTnluZjB0NHBrOXVzUkg2RUo1ZzJWc1NhNlpVK2xrcU9CSlMwZVh0TUJFV29aTVBBT1RxeUo2ekNsclFlRFIwcCtVOFBXQ3ZsbitnSU9vSy8wSzZXM3RJdXRvaXJnMGV0ekVpUVBJVkVVU2lpZ1dOdE5NU1N6NGdNYm9Namh0aHpneFA5Qi80RmttWXRJQnB0alNJeDh5TlYvbkhPa0FvODVsWktqZUttU1BBd3ZtUFQwdEFwODRJYWJlaTdDMXFzNDVxTVZuQVFOZlJXK1ZUd3IwRGNFOHIrL0FONTBQa3FaekhuUXZnakgzQTY3NktEdk5JSjhoWEY3MU1KODhNczlnUzYxcFgvbUtSR0xGa1ZpcWZMNUZNdzRtQzVJR1RORU9URStoL0ZEazZTQXI2TURONGdGWUFjTk8vcURocDZjSzV2U0t1cSt2Z3lONjhBYk91SzVaQnhPWmxMcFVDVHRtZkxMTGxZNGE4dmxESWNIWGtWT2d6QjRVd3pqaE5CZTNZcUp4YkZKWGRvUHRKZzNMclhMYStpVHduQy9RbFhtUGJ5aTl5bzJZcWF0TGlNc2FwMDNwRWptSWcwUVExOHJNd0tScExkazNWdElKekVQd2FRVEJmMkVRWndjakZhVXh4TUJnaWNXdUFZNUd2aXRkZVg0QWZPVUNneEFHSVp5MkpDRWRrM3h3Zy8vRm4zNFpjV01TYnBFbVpDUFdwVGh6bUNlRm43Z1U2Q2xXRG1hL1h2RzNkUHBQVWdzSXBqeWQwRktxb29vdFpaTzRZZ3ZXRkliYWtseFN5Z0xWZVl4STU2RjFWaUtYY1BGRXg3Y1JGMDRzbUluU2lreVZtZkdaTXJEM3ZjR3dmN1BZdUVkQkRhSmVIRFdJUC9ZQlBEYWhTZEdhMDlTYWFrM1NxRW1zMkE5YTlJSzF4d25tSTJaY0c2OGpVejVYQVJjN1BPZmpBMzh1enB0ZzltS3cvNW9CRDQ4dGdwTWZzdS83OE93aDlyMFhlWUJacEVyMXEvanpWNkR1TGRRMWxqK1BXdkVVZmhYN2pkQjVNZEU5NHFMcjRkTUVISHlzZUZKOGtWZFVDdUtMMWxRVG4wN2kwMnZ4VlJEZlV5NitNWC8rSHIzTExpN0VwNEdvWlB1Y0Z0aW5tbUJ0RXF4ZEM3YUNZTGVEZmdrVEJHRGdSSjBkTnpKNTROZWRadFJWRTZCQkFqUnFBUzdSTS8yM1NGeWc3Y1JoRTNxbWZKL1RBdnNzUmJtcVdrdTJnbVJEODh2R0ZKdHdMYUxMWndIODdhY3AyNnRKclVsU2E5WkNXMEpvSXpRM25jZ1RwMXdlQi9HM242WnNyeWEwTmdtdFhRdHRDYUVONkcwNkFTeStjTUx0cHluYnF3bk5KS0dadGRBcUNPMEpGOW9lZnhiTkgwaDZVZnZsQ1JlVGJJL1QzRDJxaWJSREl1M1VJcTBnMG9kY3BGMmNpNzBLWm1qZDRJRVFsMEVmRkxkV0U1ZEQ0bkpxY1ZVUTExYmdGRUxQb1dYV29qOGYxb2orZkZoVFRYUXpFdDJzRnQwU0k5NGJoUjdpTFk1NDRmYlRsTzNWaERZbm9jMXJvUzNocTQvQ3ViUEFLZGdPN01obzNXbEdYVFVCdWlSQU45YXd4NEUyd1JQRyt5aVI5emkxNTgvaCs5b2oxcC9tMUZkcnBNcWp4MUQyMVFpd2c3NFcrNlhIZmhteFh4TVN3RDRHeGF0bzYxT3VyVkF6QlpNQ0p6KzdPQmtmMWRlV1hFbDBFNVFwVXZWU004TmFyV08zNDdWR002eWR0c1JqVzFtSHRqTU9WY1VXaWQzay9qVi9kYjJ6WnJFMTR2U000elRHWlRQN21PMEkreVo3a0M1cklMVWpyaWtSUllGL3FhMlhBYm11aTJ3SXlqQzNlb0c1VmRmS0NWK3IrVnUrUm1xZGh0M3NwR2hTMitFTnpOZklZdWZaa0o0YjlOZXdEK2ZoNUhlcjdNYmw0MVRzUEhlTTAvTUl3N0dleW52d1c4emRvNVRIbkw3YjZEQW0xMUs2VmJMUFJjbExxbkxydXNnZDQveEN3RG1DY0I1THZnemJNbTFvdHAwR3c4eGwxZkhLam5oa0p0b3J2dENHYVBZZVpxSmlqZ3FtVlFhams1ZGoxMmtOM1JFSGpOQXdVcWVkdGpwTk00elV1ZUd5WDdIYXdEQnEyWE9ub2FZWlJza1RxMktMUkNuZXYrYmZzVzQ4NHJyaHYwMlEzdjc5TVU4alpDYUVGcTBVYldFamJMZG1aeGpLb3ZIUmVHbUdwMDIxVFB6bUZGS0h6VzM3SGV2Q050ZUZ5Q09wV1YydUpyUmFrT0VwNzF4bXcwekNHZlNRVmt1MEN5SjR3b0Z0TjYxejBZWFRUQy8yZjJGbDJPRG0zN0UrYkVWaUFYOGdQMXhHdE1HUU5hclRObHFxTUZ6cXdaMU5aNllqY0trWjFMWWNiYTdLSVptN3M2a3pTMHIwYnBxd0lWS3g4SlVZTjRKVXBFcmUwVHZNYmt4VGNrT0RUNXFTVDV0VGZhcW1LSG1ybGV3OW9aTFA1dkNSWWdFZHl5eEsyQnZkL0EzaGJQSldrdlp6aWorVzNpenVYNGlDV2VJOEs0d3I3dzM2TjR2SVc1Q2ZvTTN5VGpuRUhHeXdiWU0zd2dmemNQTmdPWkd0WENmZWRiek4rdEY3OUQxT2xLbnlQMlFENWJ4cmVNdGZCTWQ4YWxpZ2RLMjg1MGY4bS9ETzRlM0lHK3JGZlpOdktONWliZm1BWER0WEpzb1hLRlBPK3doYmJlT2EwRDlEcmVCN1AxVCtpNzhySFQvQ2tYbnZkbTVqYlF2ZjR3enZiSWJYZkRwc2l4YTgyeGtlcDJPeWJXMTh0ek44bXJobm0vMVZXUTM4OGdRY3dvYzk3bUtNSm55ajg5L3dmZXBOb1pVSHlHNFVyNURkbnh0K2hDTzd1TXJwR2pQQ0xNeld2RTdGY1NzaW4yekVuMFQyOUxQTkxzbE9DdVRaRnU3aVNmQU9iM2dLQks1N1JsMWozbGZxVlVLYyt2eEpXVGFtMkVUUkVtWDZMS0kzUjVpWGVzMmZJSDJPbzROL0xWVzRWaUNKNFBWN243Q05WOEVSZXV5SXgvaVl6aXZsOTlUOXhYYlJpck5ZdjVSS0U5NGpMdFBXcC9nNGd6OTUvQlI2OGl4eC9GWmMyNWt1dVJYZUsvNHQ5M3ptQWtZSHFJUFpWNC9vb3ZUcTlGNDBoaE5qSVJ2N1V0NDlpRGk4Q0JpSE5Qb3lWVDlFR2F6bnJlZVBJb3k3RStGY0wvYU8rbngyM3VMcy9DdHEvYS9zR3IvZFc0YldhNGF1R2JwbTZKcWh2eXFHM2s0eXRLTGRXNDQyYW82dU9icm02SnFqdnlxTzltTWNZMXlPY1g4dGFKRzlhbmF1MmJsbTU1cWQ3emM3K3pHT01VTWVyZ2Z5dUs4TTNhb1p1bWJvbXFGcmh2NnFHUG9IenRBV083Zi96REhhSDJmWEZYcmo1SDNsYkszbTdKcXphODZ1T2Z1cjRtemZxbzV3OXIxbGFMVm02SnFoYTRhdUdmb2VNclJFQytyTXU1cWRsMkpua2N0cWRxN1p1V1pubjUxRHlTN0R6blhtWGMzUU5VUFhERjB6OUtZeWRKMTVWM04wemRFMVI5Y2N2YmtjWFdmZTFleGNzM1BOempVN2J5STcxNWwzTlVQWERGMHpkTTNRbThyUWRlWmR6ZGsxWjllY1hYUDIvZUhzT3ZPdVp1aWFvV3VHcmhuNmJobTZ6L1lDN1l4d1Z2QjBmR0xvOEYwTjcySjdpV3lkelhzaWluYkNyczNqUHB2MTRZNWlzTStNWVdhdWhQdVcwYituc2Z0TmszaGI0TnJvTWRrNWd2Rjk2Wm1NSVY5a3pZUW1XVnhuOTkrOEZkM3o5V2tucGl0bGRjK2ZFZUZjdHFTdXRSSnhyNjlSMThCbTBkYWtiZVk5MXJhblhOdWlYQzlhbzk5emZZT1lBYk1vTnlyUFdJd0ExRm5HbTJTSjZvSk5VbHVpK1phb0pyU3J0a1NyV2FLcTBJNU5zMFFmaDN6S0dEcHloMHN3OUpoZDRSeVp0bWJvbXFHTE1MUldNM1ROMEhXc1FNclFUMEkrVldhWkhQMHN4bFE3MkZwNis5T0hpTisySFZ2MTU5ZUpUSjNGdXFKZm04ZHlHcjVmMUdSOWxuay9UR3JBYUJyN05BS1dnMjJ3RDdUZGw0cUp2T2lpZndkYzU1WG1pSmJBRWZsOXlxallwOUowYVpuK3NHbDZLTmViS2hyNE9IYW1WY2FyeEpFdFR6T2JmRlIxY1R5RlViZk5QZ2JidjdwbTF2R3FkVmlvTW0ycG9udlBzTzkvUUU2TG5VMTVDUitKQnVicDBGVHBNQzF3MkYrd3hlWm93eGs0eXZvNkJMRXAwQ0FYT1k4MEZmWUdGZ1RObTdIOTR6cjBuK3hLWFlhVmkwZ1NBNzFqbUYwaUM0R2w4U2Y3ZlIzZ0ROcjF2d0ZpRC9ES08vQTNkdGJ2bFZuQnFOUjZKSm1IZmJRRkR4UmIwTGh2R0VwTllSOG54MEpBUG81cHlXT215VFBtZVh4R0hIWWluT0svSlc4WE9mK0MxUTBEenIrcW9CZkFEUWFyZDlGK1Y1RmJWSWFwa2JEdFRhNFhObklRc00rTS9RUHJxbk1yZXZHVTdYY0JUSUQyMGpzKzZyeGp2MzlUcGlsTThrdzQ1ajIzcGVOSC9ZM2RUMU9RMmphckI2MzR5UDYrUTA3OG5EcHJ1QlhiRis1eWxyTG5vOWlldnluKyt5NkxuVGQ2bi9FOW42ZmVaN3psc2p0OWtYcXMyRDdaMGVLVmZha2s3KzEyWnF6ay9TSnVrODNRbnJvVzlDR1VtdXcrbjBtUEtvSlFsZzdtWFZPT3JhaU5vb2VVMWsvbUdWNm1ISlBzUHZJNGNsU1IzdmhFc24vZXZTU1B5Tk1zZWF2UzcvMnA5TjVUK2swcGx2NkpzZUJsNEwxeksxNzV1K2dKVkI3VGRjYkN3TDVUdFBiSUd1eXdscW94dXhEcTRRNGJPTzREZDNjd1lqRERzVjJNeTZ5SHU1L2hHQmk5NTNmWWIwRlBQd1cra0NpWkY2emxTZnlLSExrZWRpa256M0s2c2gxNWw5NE9iL2NIaWI4YnhoMEFnMWxHUERCLzVBY05NTkM2Y2RETHRURmkxeEc4Q3RBb094YlZ3NWdHem1mT1YraFZQR1NTK1FPaklTQ25MeG5SclFlcDhUK1pkN3N1UDFNbXIzSXkzMkpiZ0tkdlVKTld3d0x6Z0FYMGpXT0J4eUYzNDlrdWxIUHNOMWZlL29pQnRqK2EzQ3pPaGoxNEcrTmJLcnh3bTlaczBsYjQ0Z202enRsNnBXZmRwckZzNWVlRStOZ3F6N2tlL1picFpqbnRmcUVjb0V6K3pud29pTGgveGl1RHpnQmJya2JiWjRHMmF4dW83ZTl4bnVoZDZQOEp4OGxua3JiWmNhVExSVWJJS3dtMlJZNThqaDd1cG95c1JYU2xuUFo5RjEyMVVja3YxbkIwVkxudS9JeXh0NW5Ta3ZqRmZyVGtidnppOVVna2psL1pjUzNpZTFYdTZmSEloQlpFSnBwMVpLS09UTnk3eUlTc1Q5UlJpVG9xc2Zxb3hBT21wYkJ1Y1I3dzhYUHVvZnByR0hkNGhHeVhuZTBQaUc5WFlHY1lGWFgyRnl3cUc5blpZYVdCc3doUmRtN2lMRlN4bkpEN05EN21ZNW9ubFcxczBTYytXMDVaSVZVaStDN20zVFJRSGk2aTd1SzhUVGc3MkVCSmdMZCt0K1BrdWp4eEdZNXg5TDhOWmhFSisvQjNGYnhWVnVjaWp4bkJqSW52ZVcrU1hiSWV2RVBzc2pIZThuK3psaDNoMlpPWmRtWFIxdjV5YU10UXpNYjl1YkxQenZBWlBicHpuSi9jQ2M0aHQ4WC9IYTI1NkJIK1NIT0pvNVNOTTdLZmd3eVVIeGk2TDVGeDBqOWwxMG5FcmYxR1lPM3JmeEU1NTBzdFcrcFBFVlhmWTg2WCtNZkkzbEZwcDgrOWw0MHZONWxFVEJ6clcrejhMUnlYWE81Qkc5aUhYWXc1cTVpWDBNVDhCTWd5QlN2S3hEMXNSWXd2cjBlaUwxTFJTTTd1ZDI3Rlc4aVdacDRtakhtUGhlaFNuaVlVNlpuQXdEcG0waEFEYTNoK0UrVUlzMDFObENQMFB4Y2xPVU5ieE1DKzZtTGZkRzVGamo4RVhBVjNIcGVqR05mNmhyVXdMc2tmVTQvK0p5dHQ1VU5zWHVJYllLRmIwWVFzYVdacndtUGxWd1ZXeEg5Y2dSWjArQW8yNkwrdElNYXE0VGdNcTl1bTJKdWh2N2R3VG1tS1BkbkZXU1lObzdKZytkK0dGanhuKzlCZGw5V0FGOUlqNzFMNjZSS01TLzRoejFPNnhJenZUOEhheC9qVzhsSjNjS3dGYndLeVk4bTNvQ3ovcEcvUi9ncEhaUkhCSXFnL2ptOWR5dnBWTVJ2UFJUK2ZvdEFkN0lYdGhGWGtaMzUrWGZpblkxbEVFcy9ZR1QvaENndXEyUWt5cStVcytCUHlRN2ovTzR4dlh1RjY5ZXVDNnpYS2VqVEdCbnMwUDJiZ3NRcXZJT3Y4TXI1dTNncm41bW1OR05jNXhwbGNtTVh6Ky84dWpubzdZVTNsVVhlT1VvZk1ieGhoSFl5eU5kRFcraGxycGp4SFEyZllxR2h2MDRvRkdHdm5PR0tEVFhZN282Nk5kLzJPWWVmZmRURXAvaWc5OGpNdnhkelp0Rm5UZGZGUG1pempXdkNkMHNOV2ZtYjdYZ1V6a05GdFZTSWZMdnBCeE9zT3Q3TTZrY3hjeXRodU1GbmZiY2IydW1ZZ28vakZaNStnTjM2UmFBZmtBWFZRNXlFRzJoR1kyUW5PbDM1a0IzMFh2WUI4WCtES0I3cURTeHlkZ05GM2xwVDZERzNxTnRwWUhaUjZDMzJwVGt6cVUvU1ZPekdwd3o4WDk3MGRyM2xkbVFENXFONnRMdnlBY2VZdnZGVzBmdU1MKzI1d2FVRG04UjdYa2VqNkw3RGdhYzFmZFUvY3hHakpISHM0V2VNbVJsZWkxbmdMNTF4MGpLREFYL3B0b0Q3ZGI5M0lRck82akxad2ZMK2tETVU3azgwTXQ5MWYyY2hRckM2VFowTDhhNEt0Z1BiZW5YeWE5M28welVNMExxc2ZjUjd6blB0Y0ZtdlBPZjhHYThodG5POE1wZlY5T08rMlp2bTBtVlRhR0lkc1l6d1Mvclp3ckd5aWRYUi81WlBFTUM2UlI0ajlITE9qd2Y3MU00NzlsUVlqOUV1dmtSUGgyeDhvb1hOa3k1M1l0YXRZSmVDZHp0Rk9kM0hlSHVJUWN6ekNsNDZOdG1nYiswcUQ1OFJwM0hMdHNCcUlHbGJKRlUrejk3OUZPOEdKK0JYaURNVzYxZ0NVUVZxTVV0RFRTZUpyUGYzbmx4NWpHOEFEVHViOXIvcUpKR0pHV2YxdVdzTGgvajJUSkw0YXVzcnpCb284azBSOFRzZ21QWk1FWXZIbG5xQ1FYRWxjUDVma2EzMHV5YmNwejRDUWM3SC90TWdEWk5TTHRmT3dVZlB3WDVpSHhUelV2eG9QaTNaSXpjSjN3Y0xtYmJPd045cWQzQ3k2dmVINXduVmRBejdlZ0g0MThEK3ZPd3A0K251Yzk0Qm5SOXNvQXllWVpaa0dUSDJKRWZvaCtxaHpiOXcvbVM3WU9YYVB6N0d3emhmNjNQUzYvY1B6aGVwMWo0N09GM05Xc00yMjE3WDJjQ2RyZ0hYV0FmN3FEcWw0aFVYdm1KOWdiNEMveHhQY2Q5REZYNE14RnNlMDBScXhmUjJ2TzZIS0NaMTlZdEZGanVoOFZCenVRaXVQb1ZVTnIzK2lRblA2SnhxY3BuK2lZekZnR3pWV2FGVG9VSGlES0RZdVloTThyeVR3S055RVIzR2FXc1B4R2xDYkIzU1hBMmlzeG43aGZRM0dmZHhsUEthNkF5ck9vUEFtWjkyYkJWMzRBUk16aFJVK2VVZldxNXZGbXhIYngyeDRCN3ljV0wreTh6RUpUdzdaWFV3TysrZUx0anN6WEh6K3llUnNzSm9UZVh0bm81dkY0R2dDdDlBYmpxRVlEZkZPUnJ0c2QvWURkV01FVlhDUzBZVC9aa2lvM3U1b1NJVUZONzI3MjhOZnUzMHNyQW1vejJqWWh3UDI0YVFONzVmUlA4NFhUU2d0K25sQ3hRaU8zeDhjUXZHTEJmdllyTnlqbnhNNDNTOVdGNEVkamhEUlkyamN2aldFYlVQckZJbytGVU1MSmRDemp1Q3d2WjRGTjNQODFvSmZRd3QvSFV4UXNRNG1GQzdvNHhBQ25mQlBMREZSM1RzYjRMNW5SOWoreVJoUHg0NkU0cXkvaXljZm5MRVRLTjd4a1hHellIL09GeTBQQzVjS2xZcUdVTEJ5QVBzejlXbDZXTEFCNU5ocTBMa3NsWmNhTDNVczk0NTdzTjlrRjN2Y1pQUUdpak80RWRYcmRVOXhuMTRYdGE3WDNjV3QvVjM4MVQrNldRd0hFM2ZSZU5uMEppY2orakkrNUZ1NkoveUwxenREaUwyalk5YThvK00rbnRNYjdSOWZ3YlRPU0xGeHlOMWh3OTNoRVFwc2REaWtBbmI5YjBiUU5vWUVHeGh3Z2pCSEU0MmVCazdJelRFSUJhRVBNUDQwckhYWWRoZU5IUXFHUU9nUXBNUmE3QTNmTWhFUGQ5OHkvbnUxRDVjNUhaTzArWktBcmtJUHlJZmxKRFJ4T3ZPR1EwVG5pUFRpcUlkRi94QmwzeHNDRyt6QlNYdXZZUHZla0YzbThHZy8ySEIyTXNBbHhWVEVGeGhqcjVwU3A1cFNuekxqWFdxcTJtRFpUSFpaMitHLzE0Y014ZGQwYmM5THZaR0hqSTF0alBWZUlyU1NXMUN6YnlIL1dpcS8xaFlib2Vac05OZ0pyeG03bmxvSXNzVDF2UDArcy8zMyt3ZlFKZnV2WVk4VEN5bnl4RUlWOVA0UG41dUJOVm8vYlQ0QUFBQytiV3RDVTNpY1hVN0xEb0l3RU96TjMvQVRBSVBnRWNyRGhxMGFxQkc4Z2JFSlYwMmFtTTMrdXkwZ0IrY3lrNW1kemNncU5WalVmRVNmV3VBYVBlcG11b2xNWXhEdTZTaVVSajhLcU00YmpZNmI2MmdQMHRLMjlBS0NEZ3hDMGhsTXEzS3c4YlVHUjNDU2IyUWJCcXhuSC9aa0w3WmxQc2xtQ2puWUVzOWRrMWZPeUVFYUZMSmNqZlpjVEp0bStsdDRhZTFzejZPakUvMkRWSE1mTWZaSUNmdFJpV3pFU0IrQzJLZEZoOUhRLzNRZjdQYXJEdU9RS0ZPSlFWcndCYWVtWDFrZzdRUllBQUFLdFcxclFsVDZ6c3IrQUg5WHVnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBZUp6dG5ZMlIyemdNUmxOSUdra2hLU1NOcEpBVWtrWlNTRzZRbTNmejdndEl5Vm12SGR0NE01N1Y2b2VrQ0JLaUFKRDYrWE1ZaG1FWWhtRVlobUVZaG1GNFNiNS8vLzdiNzhlUEgvOGR1eWRWam51WDRkbjU4T0hEYjcrdlg3LytxdmZhdm1mOVZ6bXFETVA3Z2J6UDR2YndsdjY1dTdhTzFXOG5mNjVIVncxN1BuNzgyTmJWU3Y3dS8yeC8rdlRwMTk5djM3NzkvUExseTMvNm92WVh0YS95S1Nvdnp1VVk1NUZPL1Z5dTJzK3gybS81azNhZFcybGFYOVd4WWM5S3pwMytMenI1Zi83OCtkYzI5VS8vTGJtVURKQTVNbUkvNTFUK3lCU1oxLzVzRi9ScnppVS90eFBhQXVVYjl1emtYekx5K0svbzVNOHg1RUovdFF5UmM3VVY5MW5reHpYZ1ByNDZoajRBeW1NOU1lelp5ZitzL2svNWQrOE02SG5rWG4rckxTRFgycllzL2N4WXlkOTZBT2o3bFo1MXc5QnpUZmtqMTVKVlhlcytTRi8zbU1CNStGbVN4M2E2SWR1SjlZemxYMjNFYVF6L1VuWGkvbk8wSDEzTldKeHRINmRmWi9zcFdWbmVLUS82YmVaZDEza3NsN0tzYmRvZ2VvWXh5ZXFhWVJpR1lSaUdZWGhGR01mZmswZXcxNmYvODI4djcxbnkzZm9lWE9wcnVqYjFybmlFeStqdGFnZlA1bWRJbmZDVzlyNjdsdmZ6bmZ6UDJQR1BmSVo1bnZkMXZzUXV2Wlg4LzRiKzh4WmMvdlN6WWMvRHBvNU5KdjEzNmR2REYrUnI2U09kejVENkpEL09YZmtEVGVkdnBJeGNqLzNJdml6YkwrM2YycVdYOHJjZjRsSGJRTXJmZmpZZmN6OHBmWW5PTExrZ0cyeSs3T2VjOUF2WVoxZ2dJK3gyQmVkUjU3UVBrL1pudHgzYURQZENucGtXOHU3czJabGV5dDkxOUtqamdhNy9BM1ZvdmVDK2JUK09mWHRkak5BdWZzaDkwSFpmOS85S08rdDQ1Mi9NWjByMjYvUlpYWkxlcyt0L1FMYnBBeTdzcXltWjRXOXhmME9XL0wrVFAzM2ZQa0RIKzFpZndNN2ZtUEluTGZ3QTVOUEoveWk5VjVFL3ovYjZtN0t4dkl2MHhkc1g1L3JlNlFiMGlkc0p1c1c2R0hiK3hwUy96K3ZrVDV6S21mUlMvcHpYK2NQK2R1eGJTejliUVgybFB5MzlkL2J0NWJYVWJkSFZrZjE5UEVmSVkrVkxoSlcvTVgySXZLZDE1ZkY0NWt4NjNxWWVIbFgrd3pBTXd6QU13MUJqVyt5Yi9Edyt2MmRjUGZhQUdXTy9IN1o5OGJOTnZvc0x2UlYvdy96RFoyZG4wK3I4NE5ZSjZBN0hoT2Zjd1BRdFFsN3I4MnRmWnovTThxQ3ZSaitjbzdPcklQK1YzZGQyTUh4ODJJN1FHOWgvUGNlblNMOVF4dTdiWitkejdMZmpMOGRvSDlpUjhVa054M1Q5M0g0WDEzdVI4dWY2Ymw2bmZZRzI3MXJtK0ErNmVVU2U2NWZ6eit5Mzh6WG9pT24vNTFqSmY2WC9WM2J3OUtXblR4MGJLZTBpKzdGak1NNGN5M1paNEpQWXhRc00vK2RhOHU5OGZ1QzVYeVV2endVc3p2Ui9jRnlBeThtNWVjNnc1MXJ5TDlESjZUc3ZlSVlYMXVIT2MvWDhYK2tHdHprLy94MnJVTXpjcnpYZHUxenRXNzNqZVh6ZTJRSVl3K2YxeEkwNG5kVFAzZmlmWndEays3L0x5ckZNZStRL0RNTXdETU13RE9jWVgrQnJNNzdBNTRZK3RKTGorQUtmRzl2Y3hoZjRldVFhcThuNEFsK0RuZnpIRi9qOFhGUCs0d3Q4UEs0cC8ySjhnWS9GeXVjM3ZzQmhHSVpoR0laaGVHNHV0WlYwNjRZY1lYOFNQMnpFOTE1RDQ1WGZFWFpycmF6WXZTT3U0UDNjZm1YN2tPNHAvN1F6UEROZTF3ZmJHN2E1d212d3JHUnMrV04vd1NhM2Frc3JtNXpsYjM4aVpmTDZQQzdqeXA1Z204SHFYaWd6ZXN6eXovYm9kUXFmd2FaczJ5czJ1L3JmZHJUdW16eVpodGNRdzYrSERiNXJOMTMvTDJ6VFl4dGJZUDFQMnZiNTBHNTl2ZGZuOHBxRXErOExrVWZLMyt1T3NRYWExOFI2ZEpBUnVGNTIzK1F5S1g4L08xZHR4bkwxTlozOEhXL2tZL1lmczUvK1NYcnNQL3ErbUkrUlQrNzNlbmozakh1NUp0akhJZnVGWmJsNkx2NnAvTHY5bmZ6VEY5VEZJdEd2MGUya2YvUU51ZDB4L0JUVzgrVEI4VWRuMS8vdGV5dlNqd08za24vWEhtejdkendCL1QxOVI5Mjk3TnBHeHFpUVh2b3BIL1dkZ2Jic2Vra2RjT1JIdjVYOEM2L2pTK3dBck5hY3pudk5lOW5KMzJYSTd3djdta2VWZjVFeE11bkgyNjJ2ejNHdnA1bHBkVzFtRjVlVFByOHV2OVgrM1gyc3JzM3I4cHl1ZnA1aDdEOE13ekFNd3pBTXNKcGJkYlMvbXl2d04vaFRkbkdzdysvczV0YXQ5bm5PaGVjS0hiMC8zb0tSZjQ5OUdMYWg1WndhV1BubmQrM0Z0cEhhZHN3LzMrV3czNm53OTBUdy80R1ArVnJiay9BdGNTK1dQOSt6OFQyLzZqd1J5OHgrdG95Ymh5UDkzOW5tcmYvWjVycyt0dFBaUm12L2pOc2ljZjc0ZXJBQmNxMi9VZWh2Q1RuR3hIS21MUGlJN3EybmJzMVpXenNjN2FkdjVqb0JLWDlBRDdndFlOZW5MZGczaS93b2U4NGJzZCt2bTFQUzdhZmQrcnRBcjhLMTVkLzFuMHZrN3prZjZPNzgxcUMveWJpVGZ6NFBPcDl1d1RQcEZlY0tYMXYvWHlwLzYyMTBzR050N01ORFB1UnhwUDlUL3JTTlRKUDRFTWNJUExJLzV4SThicUtQMGE5dUlmL0NQajMzNTkwODhydzJ4Mzg3K2VQSHEvUnovUGZvL3R4aEdJWmhHSVpoR0laNzRIakxqSmxjeFgvZWl0Mzc2bkFkZU9lMlB6RFhpN3dYSS84MW50L2crSHJteDlHUG1ZTmp2MTJtczdLaGVBNWUrdXBzaC9LOG9KVVAwTWNvRTlkbStiSC9PbjRmbjZiTDA5bWpYZ0Zzb0drUHhXN25OUm81cjdPcEY1NVh4ODkrdDF3N0ZOcy9kdjV1anBmdHUvYm5ralpsekhLbDM5SDl2L05WWWxOK2R2bW4vcU5ldWZkVkRFODNUeWpwZkRzcitWUFA2VWYwL0RSOFA5aG03UiswLzlEM3Rpby94M0tPbC9kWGZzOHl6Mi9GVHY2VzJaL0tmNlgvVS80NS85ZCtaSTVocStlWTUvTHUxb2ZjeWQ5dEZFaUxOdmJzYmNCWS8xdi8zVXIraGYyUWZzNXpMdU1TMmdONW5OSC9rRzJETk5tMlQ5enQ3eFY4UWg3L3JXVDhudkwzK0MvbitOa0htUDdCWWpYKzI4bS95SG4rM2ZqdlZlUS9ETU13RE1Nd0RNTXdETU13RE1Nd0RNTXdETU13dkM3RVVCYVhmZzhFSC80cTFzNHhRRWRjNHArLzVOeEx5dkRlRU45eVMxai9tTFZ6TW4vaXNTamZwZkxudW81SzYreTNGcm80bEk2TUp6N2lrbGhBNHBhOERzNVJyUHRSL1JwaW8rRGFjZlNPbmZKM2VJa0w3R0wzS1pPLzYrNjRYOHBMZkpXUGtYYk9GeURlM0RIbmp0Vk52RFlRYXdobG4yVXRNc2ViNy9vMStaODVsL01kUDB0ZWprVzZwSDZKT2ZMUHNWSHZzYTVacnRkR3VUaVc2MzhSRDA0LzVYNDdPajFLUEpmdjI5LytvUzNzZEFEeHVzU1NlVTVCM2h2SDZXZTcva1AramdsYzRmdE8vZUpZeWt2cWwzTXBKK2xlUy85blhIN2k1eko5bXpidGZkU3p2N2ZoN3ltNUh0eHVYVSs3KzNMZUhWNGJ6UGV6YW9kK2hpSzM3bnNmY09hNTR2a3lPWGVBTnBRYzFTL1FMaHlmZWkxMjdUcjdLLzNILzZQenNrMTczbGVYSHYyUCswcFp1YTlhOTYzSzZyV2lZQ1czakEzdDBxUnNPWStGdkJMbmxlMmV0cGtjMWEvUEkwL1BWWG9yNk1GVi96ODc3djBUK1hPTzU5eGttbjRlZHZIZ1RyZWJoMFNkNXpjcUxsbm5xeHNyZGpyVGVXVTc5UGc0eTMybWZ1bi8zWHlGdDdJcnc1SGVoVTcrT1grajROM0FmWlY3UXNhZUkzUUdyK21ZMTNqdWtPUFZyWE9QV01tL2E2K01VNndmVnUyYi9DL1Y1N3QxU2oxdjZneEgvYi93UEl2VnUwd24vNk95ODB5czhqb1A1RVJkc2piY2FxeG1uWm55WjB5WTZ3UjZuUyt2SzlpOVczdU9tZDhkdW5MdzNVUDBUYTVaMTNHbWZ1SG9XN3NjZTQ5NWk3eWpydkxOZVJvSll3WElla0cvcDk3MHUvU1IzanZUN25mdmhLdXhnTWM1bDZ3VGVzbHplbGUvbFB0SXJweno3UE5XaDJGNE0vOEFvSUw2SU9DL0phTUFBQTdYYld0Q1ZQck95djRBZjVLQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUI0bk8yZGpaRWNLUXlGSFlnVGNTQU94SWs0RUFmaVJCeklYdW5xUHRlN1owbEF6OC8rV0s5cWFtZTdhUkFTQ05DRG5wZVh3V0F3R0F3R2c4RmdNQmdNQm9QQjRELzgrdlhyNWVmUG4zOTg0anIzcXVmaWM2V3NBR1g0OThIL1VlbjVpdjR6ZlAvKy9lWFRwMDkvZk9JNjl6SjgrZkxsMzg4dXZuMzc5anZ2c0RkbEJQVDdSMGJVKzdTZWxaNVA5YjhDTnRIK3J2WmY5Vkg2ZHBXbWs5ZnQzL21kWFZUeXJPUUVYUnE5WHFYTHJtZnR2SHMrY0dybnEzcnI3Qi9sYTk5MXViUnZleDZhRDNrRnF2NnZlV1gxanZ1ZlAzLys5M3ZvTGRMOStQSGo5NzE0aHJxb0x3dEVPcjBlNlRORS9wNG04b2k4dVJkbHExNUlGOWYxZWVxZ2FTTXZUMGNkOUhyOGpjK3EvOGZmcjErLy9uN3VDanI3YzAxbDBmSWpUWlRQTTFtZkl6MzNNdnU3REZHZTJ3aWJ4OS9RbWFhSjc0eGJYSE05UlJxZDh6aTBmVVUrcEVjWHlLbnBWTzc0b0F2YXNzb2QxMVFmcW1jdG4vRjkxLzc2ekJXcy9IOVdadGIvNlgrZHZJSE0vdXB2cUZOV2Qrd2NlbFo5MFM3aWd5L1FQcWgrZ1R4V2NuYTZRRDdLSVQvM0ZWV2QvZm1Rejh2ZkdmL3ZNUmU0eGY3b1BQb2o5ZTdrcGY2Vi9YMGQ0c0MyMkQzK1Jsc2dmLzczZm9hczlGSGFpMEx6b1U2Wkx2QzNMaXZ0a2JsZVpYOWsxT2U5L0V4dksxdGN4UzMycHgxcnUrL2tEV1QyVjMrSDc4MzZLSDNkL1kvcU51NXgzZjBrdmlPelAzclFOcGJwUXRPcHpXa1h5Ty8yeHoveVRQemxHYzAzcmlIak0reFBYMUY5MEo4QmRmWHY2bThaM3h5YUhwbnBXL285bnFVUGRHdWx5SXY3K0UzQS81SEc3eUVuZlM4RDljYUhaTHJRY2pMNXlWL0hRL3FILysreXFQdzZsNm4wNmJvZERBYUR3V0F3R0F3Nk9QZVgzWC9OOG0vQlBiaUVLemd0OHpSOXhkdWV3bVBseEtWWXoyUnhnWHRpVmY3cTJSV2YxbkdZajhLcHpxN291T0p0N3lHcnhyYXJaeXJPcXZJZlZWeDZ0L3hiK2JSSFFlWFdQUk5lcHl0eWRmSDhlN1hyVEZibDFmeitDZWRWcFQ4cC8xWStyZEtUODRiT0tmb2VCZWQ0a0lWOG5BTlo2YXpTZ2NZVnUyY2VhWC8wNDV4Y3hYbHAzRjVqNWxYNjAvSnY0ZE1xUFJHakM4Q3p3dk1oODhyK3hPMVVGcFd6MDFtbEE3VS9jbWJ5Wi83L3loNmFFL3RYbkpkejFzcTlWaHpaYnZuVTlTcWZWdGtmN2xqNUkrVVVQZi9NUnNqYy9YK3FBOCtya24rWEsxdWhHcXZnUnZSK3hYa0ZTS3RjVEpkK3QveGIrYlRPVDlLSG80eG9EL1ExbnQyMXY0NFpudlpVQjZmMnZ4WHFiK0FhbEhldmZGTm1GNjc3M01IVG41Ui9LNS9XNlNtenQ4NDdHUmUwN014R0FlVVdzN1E3T25nTisrdll5Y2YzNGlrdmlFOVR6Z3Q1c3V0VitwUHliK0hUTXQ3T1pRUEtLVlpsTXlkM3JwVG5rV2RIWjVtT1BlOUsvcTVlZzhGZ01CZ01Cb1BCQ3NTK2lQbWNnblVnYTVoVkxLcExFM1BiSGY3bkh0aVJOWUJ1SGxubXJpejNCdWRpV0hkN0RIOEY0aCtzdjNmV0p0MzY5Wm43R1RPdVVkZVVnZmhPclBCUlpYYlhId21QWFFlb3I4YTN1dmF2WjJOSXIvckxudWNaN21tOW5mZUtlKzZYOU14QnBqT2U2ZlJKZi9NNGhzZG9zL0ozOHNwa3pOSjExM2ZMeVBTNGcxVWNTZmZrVitkeGxJUHdPSzN1MWRmblNhTStCNTBybDZQeFFPWHNsQTl3bWZRY1VjV2Y0ZlBJUjJQK1dwZXEvSjN5WE1hcXpPcjZqcnpFRzFYR0U2enMzNTIzQkYzTTB2a3YrRHJ0LytqS3p6Tms1enZKcXpwblFqbklVcDJOeVBUdmZFZFhmcFdYN3RkM0dhc3lxK3M3OG1aNlBFSEhqNUhmaW1mczdGL3BmK2RzRWZuNnA4c1hlZEQ5anMvUy9wN0Y0clB5UGErZHM0UlZtZFgxSFhrelBaNGdHLytWVy9RMlgrMzd1ZHIvTTExVi9WL0w3dXp2SFBTcS8ydmVYZit2NW45ZC85ZXlxektyNnp2eTNtci9nSTR0UG9iaG4zUjg2ZmdybDJrMS9xdmNiditBbnVHcnpwOW51bHJOV1h3ODlURk9lY1dzZkVVMy9tdjZxc3pxK282ODk3QS85YTdXLzNvdmE1dmMxejdrUEpyUC96Mk56cEY5VHAvTjVic1lnYzZGK1o0Qkdmdys1WFhsVjNtdFpLektySzZ2MG1SNkhBd0dnOEZnTUJnTUt1amNYRDlYT01CSG81TEwxeDhmQWMvaUFsbTcreDdNMVRxQy9kTFBSQlZucS9aanZtYzhpd3ZNOWpJcnNyaUE3dG5WL2Y4bjYxZTFGYkUydlo1eGJ0aWZlNTRIY3VoMTV5SjN1RHpTVkd2MHppNlpIdlJjb0hLa2xiNXU1UnRQNFB2djFUNVY3SStZRTM1amh5TlVQNlB4SzY3cm5ubjI3M3U4VWZuQ0xJOHNYcDF4UmgwdldNWDdkamk2THRhcFp4UGgxek45N2NpNDRnSlBVUGwvN0k4TWZtNGw0MmhWQjk1SE5BNm41L2dvWC91RmMyNThWMzFVWnlaNFhtUHI5Sk1zUnUzOWhiYkgrUld3dzlHdHVBN3lxL1MxSytPS0N6ekJ5djhqSzMwdjQxVjNPRUxPVW1oZno4cnY1TkY4dXpNeklROXRsbkpjTjFVNWpHM3EzeWg3eGRHZGNKMlp2blpsM09VQ2Q5RHBXL3VzK25pdjZ3NUhxTysxelBxL2p0OWQvOSt4UDJjNzlTem5idC9TdlFQYWIzYzR1bDJ1czlMWGxmNnZ6OTlpZi9mL3lPN2pQL3JIVDFicHZEMzV1RnJaWC9QT3h2OGQrNk1qdjNabC9EL2g2SGE1ems1ZlY4Yi9uYk9PRmFyMXYzTGVXVXlBNjlwdk80NFErYkNmempHelo3STVjRlplbFVlMWZqNlpXMS9oNkhhNFRrKzNVL2NkR1o4Vk14Z01Cb1BCWURBWXZIL0E1K2phNzFHNGtyZStXK01lNzc3WDJNQUpkbVYvVDF3VWExNDRBTmFVajZnRGRqd0I2MXBpZXJxdnN0c0hYQUdPNFJRYVQreHdwWTZ2QldJV3ZtNGtmaGJ3ZmF5K0RzZHY2SHFWTXhqeDBaZ05iVXZqQytpcjQzWlZ4czcrWFY2N2FiUk91Zy9lNWJoWEhVSDJ1eU8wOTNpTzY1U3I2UUtSNW1yZnluVEU5ZXdjQzNFTGpiTTZCNk8vejBVOTBBMTZKZGFGMzNINUtVTmo4ZFZaQWJWRnhkSHRwSEdadEs3S2VWSkgvUzJoSzNVTUtBOUxYQS83YUt4UTB4RW5wZHdxWHRpaHNyOWVyK3l2OFhIYVBXMFNQWGw4Uy9QeStIYkZxMlg4aWR0Yy9aaHl5SXFkTkFHMW44Y2ZQWTZiOFh0WDZyajYzVEhTKy9zRW5UczkzYmZsOG5nYzJ1c1RjUHM3YjBBKytwdVV5SmpwQmxSYzFJNzlLeDVEc1pNR1BTcnZtY21yZkppL1IvQktIVSs0UThybEExZGQrWllWZUk0eExyT1o3N1dnRHpsZlJaL1FzYW5pRGIzOVZ2MXh4LzRCOVgvSzR5bDIwaWpucU9PZ3lwRjl6K3kvVzBmbEJQSDVIWGVvbkovdXg3b0NIZHYwNDNzdDRvTnY5TDBjM0ZNZFpOZVZYOHVlNzg3WGc4cisrRExsMUIwN2FWUW1uM2NxMzg1MytvZTNtWk02QnRRR3VxZkh4MmZYcmJhVFUvNVBvZU1IYzh6czNtcVAzZXE2N3lWYWpWdCtYOHV2Wk9uV3JyZWs4Yklyblp6VzhmUzV6SGRkMmY4M0dBd0dnOEZnTVBpN29Pc1lYYy9jYXg3WjdVbU1kWkMrSzJXblRGMnJFdS9PMW9MdkFXOUJYby9uc080N1BVZFNvYk0vbkFEcGR1eXZzUmJXT3p6M0Z2UjVncmNnYnhhUEpFN3VNUnZudElnOU90K2xVTzVXNHhVQm5uV2ZvenkweHlBOEpxdjh2K296UzZ0NUUwT3B1Qmd2Ri9rMGxxTWNjc2NwYVQyMS9pb3ZmTTZPWHBCZHkxRzVUdENkTVhHT1I3a0lqYVYzUHNPNWUrV1Y0UXM4UnFyMTgvT056c0ZXL3A5eXNqSzlidG5lYkcvLzJJM1lwOGQ4c1cyMmI1dTJBaWZpY1dMc3JlMmkwNHZMN25LZFlHVi83T3BsWnJIL0ZZL29OZ293QjZoc2VwS2ZjMEhlWDdLOHF4aXc3Zy9TZURleDF1eTNveXJ1VlgyTjdxMVNyaVh6R1N1OXVMOURyaE9zL0wvYlgrY0p0OXFmZmtsYy9WSDIxMzZ4YTMvOEJubXB6eU5mdC85cWJ3ZCtSSGxWNVEvQXJsNnErcDVnTmYram5uQ011Z2ZsRnZ0cnVlNkhiN1UvT3FRYzFjdXUvY2xEeHc2MXVlNTMyY2tIZjY3OG44dnJQai9UUzNiUDVUcEJ0djd6ZlVVNnQ4ak9YNnR1SEN0NzBmNTEvOE05N0svenYrcmNjcUN6bS9keHpaTyt6TE5kUGo3L3kyVFJmUmdydmZqOHorVWFmRXk4aGZYaTRQVXc5dis3TWZ6K1lEQVlETzZGYlAyM2ltV0F0L1N1K1k1bk9vV3UxN3J4dG9xZG5tQlgxL2NzTTh0UDR6K3J2WkVCWFplK0JWdzUrMUNCK05mdWZzMWJzS05yVC84SSsxZjVhZXhIWXhWK3hpbmpDQjNFTFR5ZURuZW12Qzc5anpOeHpIMlZEK09lZnlkMnFuWHdkeVJXc1pLc2JocVQwWGJoOGlpeWNySzZ3dis0cmpXTzd6S3B2WWhUTzFlNGk4ci9hNHhmejB2Uno1VHpyVGhDTHdmZHdaMW8rZWhGejlXZ0g1Y25pem5xZHo5L1N6dlNlRHJ5ZUJ2d3VnVThsdXg4UUxZUDIyT3p4TSs5cmhXSHAvbFcrdUI1NHNZVkI3dGpmL2YvUU51V2psTWVkODA0UWdjY2xmSnhyc1B1LzEzN294YzlqK2t5Qi9Sc2owTFRaVFpXZldYMjk3bUlucTJyOGxMOUtMZlk2Y1BMNGQ0SlZ2N2ZaY3IyV2xRY29ldUVOTjM3SCs5aGYyU2lyV1V5Qjk2Uy9TdHU4Vm4yeitaLytFTDFsN3FQQXA5VWNZU3VVL3gvMS84RHUvNE8zNVRwUEp2RDcvaC9yVnNtenozOGYyYi9qbHQ4aHYvM0QvWDNjN0I2N2xEbktSbEg2T1hvMmNHcWZYdGExNFhPTTZ1em1XNDN4V3IrRjNEN1YvTy96bmRtNVhUMjc3aEZ2M2ZQK2Q5Yng3M1hPNFAzaGJIL1lHdy9HQXdHZzhGZ01CZ01Cb1BCWURBWURBYUR3V0R3OStFUmU5SForL1NSd1g0VC82ejJ2YlBIMHQ5cEVXQnZUUFo1aEQ1MWI2bkQzMmxjY1luc1MvTjhmZjhJN3dEU0QvczNuc2xUZG5VNXpVZjM3ZkdwN0srL1k4SytJL2JaNlQ2M0xNOXFiL0N0OG5kNzlkV0craDRRaDlZYjNiS0hUUHNFK1QycmJWZm82dkxJTW5WZnBQYU5yUDg0MksrVzVlbWZhbStlUDd2YUc3SnJmOTdMUlByNDM5K3hvZlovYmJ5Ry9mMTNCOVErOU1NTzdDT3VvSDJwMjhzVzEvVzNSVHFzN0UvYm9VODdQUCtzLzNPZC9IbVhtKzZoMUgyYkFkcWJ2bXVKZlg3NmpPNngxWHkxVFpLRzd5YzRHVU5VRi82dW9heHZLNmhiVjU3NmdzejJqTDM0aGxXWjVLbnY3MUdaOWYxeUovYjN2ZTVjNTMrdEorZVNkSnhVV2JqUGQvU0t6SG91UlBPbFBhamNWM3pUeVg1eFBWK2h2Z0I1cXI1TnU5eng1OW5aQWMzSDk1YXY1TWVQYS80QmRLZnZZbE05TXViN2ZLWFNzYzk1dEU3YVgzMVByKzVsMS9tVTVwRzkyNC8yNFAzd2RFemduRk0ybjNGZ1EvL3R6R29jWnYyME01WWp5K25jc0xNL2V0VXhDLy9wN1VqdHIvNWQ5NXFUNTRuOTlWd2k3VmZMek41ZDVmT3N5djc4VHp1K01pZEF2dXpqUUg1MFJ4dk8vRHE2cS95cTUzdmwzWFdCeXY3cU53RnRNWXNWNkpsUlhkOVFWNTBmVnVjYk12dFRybzdsZWwzUHBYcWYwbk1mbmYyUnlkdlhNOURGWFhibkZwSHVxdHpkZUhmU252VGRPdHFYUHRwNWlzRmc4S0h4RDRna2FxTHJkNzBXQUFBRWVXMXJRbFQ2enNyK0FIK2lOZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWVKenRtb2x0NnpBUUJWMUlHa2toS1NTTnBKQVVra1pTaUQ4MitHTThiRWpac1dUNG1nY01kSkRpc2N0RElyWGZLNldVVWtvcHBaUlNTdjNYOS9mMy91dnJhMHFGMzRPeUhwZE0reExwWDFOVm45MXVOK1h6ODNQLyt2cjZjMzdMZGFjZVZkWXRWYjUvZVhrNTJHUHI5Syt0OVAvNysvc3ZTbldzZWorai8ybjd6K0QvbVQ0K1BuN2FBSE1CYmFPdUs0eDJ3WFdGMVpINEZjNjlXWnAxekRpenRQcXpkVTRaMGora1YxQSt5akZLYzZTS1YybFcvK2Y4a2YxZmRVdndSUi8vaWMrNGlDOXluTXo1bzhLSVgrS2FaMHVWVjEzWHNaNlp6VVZaSHZKamJNcnpMRnVtbjFTY1dSdEl1MVMreitEL0RyYWIrZi90N2Uzd2pvaDllS2IzeDB3amZVR2JJTHpTNHB6MlIveWVWaDNMTjd5WGtWNzNmVDZUYWRLZXVySXQ1eHo0NlA2ZmFlYi83RHQ5bmt4SytMRHNXTzBteDFUS1VQY3ovVlRlSTYvMDM2Z2RaLyt1OEVvZkg5YjViQTRnSG1Yay9TZnZQWXJXK0QrRnpaaHY2ZWY1Ym9EdHNXSDI2K3liOUwxOE54aU5GZmsrbXYwL3g1RDBWWllseXp1cjd4S1BvcTM4ankveGJmYTFuazUvTCtqalNZNjEyZmRtODFIV2cveDZlOGp4UE5Oa3pPazI2V1NaYnZrNzZLL2F5ditsc2xHK0E1WnQrM3Q3OXpYdEpQM0Erd1JwMGFaNDVoVC9aenpHSlBJaXpWNitKVDNxL0srVVVrb3BwWjVUbDlybnpYVHZaUy81MXBUcklKZXdZWDBiemI1cit2ZlVYN1gyZWJVL3JEblVtc2xzelhxTjB2OTliU08vODBmZi9FdHJJYXliOVBOcktNczU2a2Y4NHpHN3Y1VGU2SHFXMXl5dFViOG03bXpOYVZibXY0cjlzdHo3STEvV1BQS2M5c0l6dWM2ZWJTVDNYamxuRFpkN09TYXdkN01tdk5zNnk1bnJpWFdQOVdiV212cTZVb1gzT3RhOVRDdHRWOGYwR1pCWFhxTWVwOFI2SmZkSmw3M3VwVEtmbys2WGJHK2ovczlhRzdabVA3NXJOUFpYdk56SExlZ2pyUE90Q1Q5V0wreVhZMTcvdHlIM0lSQjdHWFhNdGNxMFZhYlo4eHJadC84VFFaelIvWkgvUjJVK1IzMytQOFgvR1gvMi9wQjI0cHk5R1k3NE0vL0pXQk4rYXIzNm5KZDdBdmg2VktmMFFiZFBYcy95eXJEUlBoUDNzejl6blhtUHlueXV0dkIvMzBjcG4xQ21QQzh4MWpGK01wYlJudGVHbjFJdndoZzMrSThBRzlPK0VITnQ5MzhmYzNLUDhwai8rWDhpOHlqMSs5My9zektmcTJQK3o3a2RPL1Ira25VdDlmRXBmWU8vaU1zOHRsWDRNYnRuR0xiay9Ucm5ZY1p3NG1MbnREVjduZmd6OXlpUGxZTi9hL0VoYlNkdHlwN1p5UCtqTXAvekxzaCtXOVlwZlVmZnpycGlqOUZZUmR4TXIrZlgvZG43d1pwd3dwYnFsV0hVZzdtayt6Zm44dEUzR00vMzUwWjU5VERhUU4rTFRCc1RQL09lbGJuM3RVdG9hYjFBUGI3MHYxSktLYVdVVWtvcHBaUlNTbDFOT3hFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJHUk8rUWZoNWVPYXRrN2pwd0FBQUZUYld0Q1ZQck95djRBZjZXRkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUI0bk8zVzRXbURZQlNHVVFkeEVRZHhFQmR4RUFkeEVRZXh2SUVMdDZZaC80b0o1NEZEbTAvNzYwMXN6bE9TSkVtU0pFbVNKRW1TSkVtU0pFbVNKRWtmMFhFYzU3N3ZUK2M1eTdWMzk3KzZUL2R2WGRkekhNZHptcWJIeit3WS9TejMxTDExRnN1eVBGN0hNQXgvdm9kMDc3SmpsWDJ6WVhhdHpmczl0WC9WTjcvK2plNWZ0dXQ3Vmpucm4rVjZuWDM3eHRtL3VsN1QvY3R6dnU5Zi85Zm5lWDdhUDlmcy8zMWwyM3J1MSsvYnR2MzZ6UGZudi8yL3Ivb2UxL2VyOTBDdTFYZjduRVhWbngzWGE1SWtTWklrU1pJa1NmcjNCZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQStFQS9Ddm1zdUZMYUttWUFBQUVGYld0Q1ZQck95djRBZjdHa0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUI0bk8zWDBRcUNRQkFGVU11Uy92OXZJMkpxUVVrR1g0SnNsam9YRGpqcnk0V2RCeDBpWWtoaTQ0ei9zRTUxRitwMm9Mb0QzM05JYzh4bll3ZmQyTjh0elMzcm5iaDIwSkY5dkpQcXJuemVtTzcyUE0vVDB5VmVPM0xxb0N2N09LYm41YjZuamZmOHZ1aWdBelhhdDJETHZZTXUxR2pKLzRRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEwRHdBbldob051d1pVQm9BQUNvWGJXdENWUHJPeXY0QWY5VHdBQUFBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCNG5PMTlLN2pzS05iMmtrZ3NFb25FSXBGSUpCWVppY1FpSTVGWUpCSVppWTJNakl5TkxKbC9VZnVjN3A2ZTZmblUvOVNJV25QcFBsVjcxd213THUrN0xsVG01MzAybmdEYXM1RXR4dGRHWUlland3SndYY1VGYXdEZmhYN0Q4MklkNElFS0VBRzJDaHZRbmlUQmQ5MlQyYkdFd2ZITmZIUDg4VU52QUpXYjNVRXIxWEV6dHI1c1R4VVU0SGlkUU9FbzZURHdZYm12S3ovM0NSS2czRlFzcEYrTkE2ODNnYmh6WEozYjNzK1lYa0pzTVNuOFF4SHpsZElQRHl2VWE5c283a1o1VGlJNDlaWmtVRVBNWHprV3lOSStUd1l3Sm15ck5MaVBTVzByL3U3cmJwQjM3dHRIRjQ5eXhiRDRqWm5nQVR4UnFvTnhDUS9SRkFrcnI1ZXloVWlUZlF6Nm9hN0JaYUczSFg5eGo3bXVmbjZDV3lrdW96VmpnNGsyTE5iNnVNWEF3WUp0RHA0ZEJIVlBvUGp2cURsd1hQalQvVHd2R3c4dlA3ejh0N2hPeERvU25wTk53cHNGY0NtMkZTQVY5c1NjTFJ6VkhqSnd3Q2NQaDNWTGNXQUN2clROWDdmZzJ1YkFIOVV2dUpuN052dzBIVHgrQUlVTHRCNDNOMVBxRzRISDRVN2QxVUpSMStIVzdmUHJwNmlVZFUzZzkzdVBqdnMxeUNVdVFxWk95WW9MR0dzNkdBbHJtMDdBdkcyQk9kZ1AvT2NDS3FkMWdWWEZmREtvaHRrbE85SHZFWUdicXgyNFhVYmhZZGVTS2M4THFsSkZKVWhYWXpCTlp3UEdQcnY0S1M5MGFXaVRacGoxMVFuUnVGaUdQc3JLSEtnU3kwWEx4ZkxqS1JXVzFEd1BMT2syOW5NMHhlSEFmOVkxbTNyZ1l2QS9wS0pLSC9EZzlsd2JQQmxQSEUwbFR5TW9OK1EyNERxbkZqMEpuYXJxL2RPTEIxbEJvL2ZDZzBnTnRxc0lrRXlnY3phYnpnTk5nMWpxeVBsQ1kxaWRKc2VZU3IwVGRBUmx1eTdLOWhMOHFNOEpNeTRZYW1Vb2xNOC8xRHcvblMweDZTUnduVThCUFFEOWYzZ1VHaEtNQy8vYS9Ra2ZYVHhLZE1LaHQxWm5tNXBnZkVrc1BPUzRsWDNnUnZNT1VXcGQwRzhsVzFCaDBmMEJpRGI5R0ZnU1diL05QT0VYcWo4UXFGbHZhQUNBUnA0WC9EQTJOK0dCclI4MlNrYnhsMGRiOElVRmQzWXBtczgzUHl3YzVFQjNqZ3FOQm01TjRNZW0zUk50ekFYS2F6NC85ZWpKVE5wcTd3K3pGVDJBM1EvYUpYZURXb2hwZWtaVWVBYUJFUFNFSkJHQnIydFE5amliUmJlUWJmTDRDV3BCVDVueDFOZjYzb0Nybmh3K2Z2NlNodVhjNE5pR2tib0c2VUk1K3JYaUNZWUwxcVFDT0ZXdHEwc2NEa1BEZHJScVl1c1BUQXZvNWVkRHZBTHZnSG12QmFFTDV4Nk5PNlJ0RjJvTFVDN1VCU0NYK09QdlJHdnhGY0xxZC82aFZmOUZ3c0tBTS9UY3FNR1VrWldTT0hqclZjQ0ZTc3I4dVhNU2o2TVNpWjVjaExNSUR1akpuNDRyT3daOUJ3UnpyUmhHRU9NZFVTZ2VTMG10N3ZlbVdOMmJoTWFvQ3JreEM4djYvaXRMai9xbzZHUllqQjlkTzByRW80N3ZZd2lJZUNTZHAwVFIxN2ZlRHhDZW9oTllZR25YSGlEc3FPdlJFRUJzekkvN2NtNndiU1NCcU1aZTF6bk9oTzk2UWtmUG5xQlJQUlhHYm1ZUTVHdUVST3IyckdVN0NqeW8vZmdXWWRQOFBpeTE0cUtlbTJyRzcydUhNRUtmVzNBbzllSWt2eDBBdW9mSG9KSGI5c3h3L1RRTWJzc1p5M0ZnbEZqR2sva0orbmJQdGZib0dOa3VlUFZJYm96N2pXOXluMHErZ004MXJQSEI0UDlJNEJ4MXFZbng2dXVIbDQ4TFp1Q25GZ3p0MTlkaDdCaVZob2xiV2hjWk9qNDh4MDFBU3FNNTh3TDlBcXppSk5OeFhSVUJvUUI5UFVpRkZneHJCTkQrTThiS0dMcmpyL25wc3JwMHYxR1RQWCtDQVN3Sk44YkhCclhmdS8zczZ1ZHpEY1Era09PaU0vaTI3OTdjTmx1bTBXZVZxSmNNVWt5TjJJMnFxUGtSclQ4WHR5Z01qU1ozM1M0M1F5TitRbnNJZ2wydjB3clg0cGRWMUZjQ3NndzNtZEl4ZjJwcmZvSmxsR05IdTc5eUZzdkgrUi9RNDBUWUxoc1NQZlRMUzdUYzd1c0l4VURkVjkzSHNVMFNBL3N3NVlDUUErUDc3ZWprdkRET1hBYmE4bmgva1BPdWRzOXgzMDVhb2dzK0l3VEdEWU9Fak9CQ1JaY0ptYVVwbFlLNkpubllRWDEwNVQ5Qysrb0xXZXh0S01KWFNYRGhnY214OG9EeEM3aDh2VEtYSytqOTRGd3l0L1lnN2Q0cGtHemNPTGZXZEd3WUJSekJRRm91UXIyQW8rOFlCSlZsOFlXTGpZTlNVOS8wZ2NhRGJUNWttRW1CNmY1cy92VHlKMDROWVlaa3hLSkhNN2tsallhOEk2c3BQK2k4enlRRkFYTWZITjhKQTE4MVBST3k3VmtjeDBKU0l5MXJJbkZIVUMzUVpSTCtJdWRtcmNFSXd1RWwxcWt0ejVNekhqZnEwT1RNeURqVVRUbVpHWUhQaWhtS0xCdXM2T1JmS200N1NJTEIrc1pGRmtMR3NZWWQxbU5zdjM3NHp1Nng1dzNMblZ1RGppOXpZWjludUVrVkYwVUlNdVVzZWdQU01kb1hkSUViT3BKclRNYlQ1ODdCQnFITjdSekltUWdQNWFPTFJ5bm1ITlI3RWpmS2IvREx4VzVrcVBpazZMZnc0WlY3UUhMMVVKZytFTVpyd25lTWE5ZTl2cUVMSTdnUGExZ1habm1SRXRaRngvZWF5RUdwelVMQ09jSjFUUkN3Mjk0MFVEMjVYd1RUYkpLUXhtZFhqNjdZaDkxT2xSVFZJNVpmYnBtSFIrK2tjQU53Q3l4YWhSNFMvMVYxbXpiSWsvZkRWcWFiMDdDNDVUQkZTNUUzS255My9SaGRyM3VkL0RjMVJsenAxTGE3K25wUjJCV2dlaUhoZ3NjSENYVVZTSUErN3YvenBuVndtckxhOXZWVTJhTzdiek5RS1lqNHRGdmdYdFUyNDliYTgrTmdJQzJhWkNZUzRTbzl0aVhFd01wbVdaSTh2MTZTZzlpM1lGODJuYWpmeUh4b0hiak02d1V6MktFK2dJUXlJQmxRdWhENmNmL1hOd2NWejQ2ekMvM1ZEdndzVG5PK2FydEdtVDFDdFlyOFlBdW83WUd6bFVPbjh2WUVhWTVWa2lrQlV1bVFqMEJNeGQ4RzBxNkVpLytKSFFLM3g2ZHRZand5RTBaSWsxSnhzTEljdzdsR3ZSN2w0L2ozV0J5NmFZM2tqckwxVDIyc1IwSDkzUkMzOU5KOU9yWXFHcjdMRTNVTXhHWUYyRG9kUU1xclVraVpMZ1B5MmUrS3NEYkM4Ynl4d3phT2FwRGxBYWRqNWtkUGNFOHREUkQ2clRZZFNCZlMvZnJjeW45TG5jbEs1dHRWd003c0ZqcTZTc2VEdnAySy9jbDJQR2Q2anVPTTZBVHhJUEgvQ0RGR0tuRnRtUzA3a3cxSjhvMFVBRGNOUHdQZUh1SlA3Q2haY2czWlpHWEhDcy9KUmdiS0Z3M2xtUW5TK3RHbC81Wnl4ZGhJbGhBZnk4Rmg3TWZIMjZIb3BUNFl4aEFBTEtHVnVLOHovNHNiUk94YUNJdTVSZkhLeHE0QjBuRng4T3pZTjNBYmdUKzRnOGlNM2t1c0JwRDN4U1VPeUtja2dUc1A0cncvSHYxUnJISVlqVGF6Y0ZBRE4yQzhZWm1HdU9sZVBZUUhoUDNKVXVlMlh4ZUc5Wm16S1cyamhNYyt3RVF6SXg3Q293eThYeWNONTBuK3doM0pyWFVQell0RHdjb3RVbzF1RUdYanI0U3pzcy96SDNOemxjRHVUTS9NUE1pdEx4TzE0QnRTS1h4TWRGOHh1K255d1R4MTlYMUZDa1RJZW16QzhTUVVTTk1SRGl2dlRnZ2RYeFV5N0w5ekIyTUIyNjh0OG5KSWtWWXVvQm16cFlqMEd2L08xTmFQSjRDUjc0eVpoU2g5QytCdkNiTHRPbDNvcktmYk5xZEdhR3gzc1lhOFFJelNlc1o3TnJwUVg1ay9EQUcyRFVYckc5TGRHTkJvczZMMjM3bWpnOE4yb3VaTHF3d3YrMExwSWszUy9ySm9POERYOGZINkYrY0UwTEdoYjcvcktXZFNBbTBnd3lTc05iOHNJSlJGZzNqOEtEK3FPaE8yWjhCVjY3V0ZGMGE4Tko2WjZzQWdDZWpnRmdqenRkKzV3MFUwaklFR0laYXpjVDhRYk9TWUI1RDFRYTcxRG9pZkZsbDJ0TzV6T20xU0hxb29Sd2Yvc0ZyZmVkcEhjWVFyZHpBUktVNTYrL2JuNFhXSVdmUXR4U2FWcDQvb3dDS2lXUkFKUFNkSmh2M09IWU00OExmb0dIdTdtVzJJRzB3dmZvUzVqeG1Ed2lIK2o4ZjcveTdqUXUrdTROalJ6RUU5cUo3NDU3eXhXWm5MREh4NkJQVHdPbWFKR3lQQ3JIOXZhTGt5V0dxQitNZThTWHd4MXRocE14TkJLSHo1cDNZUVpqSEZBeE9sMWcxT1M0Q0lta3pBemFzYTJpNmY2OVByUDlKeTJWM0RjVUpUb0Y0amJ4YnkvaTVzZ0NVRWVnTGk0b0dMRGEvRTkxblM0MzVwaU9TVWcxQ3VBSWh4RUI3cmRTWTNLSVFGSFBsVk8wSUNvWkpzSUhwRzYzalhqZ2F6Z2FLTFRadjN5L0lMTEh4UVpneFc5ZGFnOW11Q2tTZWJUcnIwWXN5VUw2RWtSVTZWdWFvS1NBTkIxMm5lKzFFTFBZSjFMUjh2Vk9aUlFVUTVrNk9vMG1mVjdGZnQ4T0FsV1ZydnJseUFuOXBoMUtXazR6V1FUNjFxY3FnUHk5SHhxZmgxSWpuajFrTFllbkNEekt6V2RteWxyV3c5QzRNUWp4NFZ5YmhaN09qSGVaOFYzTDQxZEFQOWhhYlNFUXZYYlVXRGdYcWVLL3lxSGU5Tkc3RytpejZvVEw5cnh6MkxjbklNTkkwRCtlenFwL3dVTDJmOUQ1cEZ3SElTL3NCK1VJWVlwbTVDMzF1Z3JseG5XeFY3b2F1SGttY2FvK05aMndOMlVwOVhKeHVHaHdwN1JtV3diVEh2M2dHTWV3c0MzWGUrQndOTS85VTdrQjAzcUNZa2tlZitlUHBqMnZqRDBEQ2ZDNEdPbm03ZDlvbno3U1lSK3RwMXhVQTFjMFBvRkVQVnNXMmM4Ujg0U0JpRDQyVm04ZSs1eG5RTWtzNDhVRXBhLy9TT3NFQ0RqKytRK2NqYy8rZ2RvYnNXTkoxTGZLNlBJMkFPRjMwWFlaOXJFVkpPNHYrZ0o1ZCtTVlVod212eVZ3R0FnVXlNbTFyWDlVU1lCRTVMbGNHbEJmZk1vVlhqQmd5am5NL0U5LzNkTzdTYVo4d1M3MHgrWVNoZDVhL2VJVUpxZHVnbzBXYnl4L1VmbzcrNTlGeTM4MExsQlgyU1FYVkk5MUtocEtBUkJzNENBTlZuNi9lWTdocE5IKzRMcUR3M2h3eFBpN2M2eU8zS1cvZHROblh0ZHZhTzNjYzdNNDdtdFQzSS9PNTNIZW1uZDR4dUh1ajdyLy80K28rWEJLU2tNM0JML3M1Tm9xUzJwWU9vcTN2ekxnQjBDNjRpb1FQemJuU2FHajhUNE91TlpHbnhzR0xNUXphejh6Mnd5a1VKc3htZ0hxMGUxUTZGTElDbEc5R3VUOGdLc3B6MU1MbG8vbmFIeTBjWGo1STdIajI2Ny9WTlZpV2xFL2IzbThxcWlITDhwd0RBNU1JMG5VZ1lEUjA0Y3VUWjFBWkw3STJBeVhpNjdVRWM5RHJLTWczYUVXWEFMcW1zQWRmZG56Qk9QR2VkNitTRCtKa25pS2JLN3MwMm8rbUhKY0hEUjh3eDF0YTNiWDN1b1Y1cXJtN3QwcjNUVS8wd0RFTjZBWXZIN1V4WWhqUDluTWhWZy9hRVRUdGVCZUwrWGhWK1dHT3d2WTZBQVdFQkd1aDJBMGRJQlhVaTRlY05NWXJ6YTA3WFMvMVVnajhzaU5ubmNvTTk3dHlPaGxoOU5rTkNFRmMyMjdzQWtFYmZGNmhjN2pPV2JYczBJVjA1LytHN3JkZmNTalJ1NlJUWUV6VkswM09FZDRMY1hneXFSSi8zYUtnUGdvMzBqSHIyZ3J1Mm85LzlPUCtWNEJ4UTY1UmRsM3FkRi9EenVqRzJHM2lsNG40WEFQeTFTamdqWTc0bGdjKytFNjYzWTBaN1pQT1hHOTNmQXgyNnZXOGQ5NGhBZDhVd2lWRnpVSy9qdVJLYVh4WE1nYzRnUHdnemVVSXl4SkI3Zkw3L0JUV3pwN2lIZmNzK2VIdHhLR0cvc3R2UmdtR2hQd1dBanREK1VaTWw4cWZNYk1HczlqVDBncVRQZ25odFYwblhob0JIN2ErbVErZ2EwdlRzTVJMcUVwSUkyeEpyMTFIVy9Zd3phVXBvRzl3c3gvK0ErdVA2aVJwTHVwcFNpUGZGeFBDaUZjVEN5UGJJVHdGZytzam5oY3F5dTRhUFBDSHpqVnNRbnJoT2Q5bjB0bUhFM1BpMm9scUFqc0I0aVZ4U2RIYWFBZEplV2tydDNXRmNLQUhLSHNoYW1WQkZsby9yLys0Z01ZcWEzcU1Gb1dpTzRQZWQ3SGtHTVBkVEFKQk1JY2g1RHMxUkExQVB6SjRRN1NOU1FOT3hKalN2WVo4NUVBSW5Nc2tCbnNTTDRMWkpGYXhGeHpoWXlmaEpjdFhFQ2pTb0U1WXFlWjc5WWgvUGY0dkx2Tk1hTHlPSkRYaXczZEhjTzhZeVVuNFhBS3FMQWZYaUdkYmhUemZQN2FKbzc1UFZtRldPODE0SXAyc0U5QTI3bXFYanB5amt2cUFzcFlpZk1oaUgvTmNwejBNSDl6b28yWkE3bHh4Uk16NjkvalRoS2ZvbGlQblVZamJ1RjBJNEFmMWNvQlFmc3dCd3RmV2F5ZXlyWlR6cXV1MVQ2YmtRa0lMWTdOb3IwMnB6OE1Sd2pJUzRDTjhsUENZWmRIc3pQNHlqQ0t4OFRnWXBjRGNSWXBuVUFuL3U0K2svMUdHa2FlUkVFN1ZYYkFoL2toWUJvYjN3aUZpWG53TEFXdG8rTzNYNG5TbWthMjhES1NOWDRjak5VNXB1cm1OU3ZYajBsSHRid0hOWWRqR2tyRGsxaVJGZnJCcXNNRXZwR1BYQkdJb1J0dFdaTjlvK25nQlVjS0UxaDR1NDJiU2tiQm96cFZQOEl0aWQ2a3p1dlloWWtPcUY1NTJyVytFMWJmYWgrQTRNdXI5UkFEMGlkWDMya2Nad3o1Z3FlSTFpOXRXSnV1N2psK01qYVUwcnMvbEF1MW9oa0FuK3Q4K3VmbXJnMGxtVTNhd1ZHSkdodE5Ja0hqODFpcFdnYlFaMDZuV0lYU0NISlk1QWp2ZmRoVG9PTkdnNDI0TzRtS0c3ZEhYc0Z6UEFPL29LenBGUHBERkJMM0tMdndTK21RVUtHOFlSejFJcU5jREgrLy9MN0duY0ptb2pCRmtlTWpxNkpGb0lLR0d0Wk9aQTN6NG5lZ3FlRkFhRTEwd1FySyt6ck5zQ0YrdUh0cW05TmxxUTBjQTRmR0FieGpiZElnTGxqRmdCTWQ5ZmdBOTZCU2NRRGU1R0xhbjN1OUdQK3ordytsaGVBdklMUVRvL01RaWlCenZZekdndlN4aWVWa0luOVFjTS9IWlBiaElmR2M4RVJsUHlncnpKRFBVR3hxVHFzTy9NM2xGN1BXdG9ONW5BRjAzbHI4QjNXRkg1Y1B4Y2R1L05rODVQTC8rMkxzWDIydkc1Q3ZTTlRqTzN6VWhMVXZESmJJcExsaUtiY1IwUDhwUWVpVjVYM0FTemFJRzhNWGQwK1I3am9BdG9RQWNDcDZ6Uk0vQmxFaDgyL2s1OGxwSVh0c0dwaTBrN2VlNlA4ejhmQXpoMFd3YURXK2toa1F2NnBiVWtMQi9Pcmt5dHQyV1dJbzhGZXFibEpVbmVoa0hxYTl6TUZ4RlM1R3doTTNYNk9PRGFnWGtUMytzL0UxK2VWOFhwdlNtRFFXSkQwdlhwOVUvNUlYSjZ2NFJob3FRMVU3SE5idGFYbzdPSUVTUENGRHo5TkRONWo5dzJJcW9Wb05KUy9lclI5TitEUTRHQ1VRVGx2eVkrdUZ1UHZDTUtRZ0JJemNlOTMzdDJvV1hnQmRkclQ4UFhWTWxzY1NpUFZVZ0Q4TTIxYUk4UERMdmRsRGdRdWl4QWRMQzE5c2pEMVlKTTIzdHdDTFFabGZ3ZmlTL1lLc3RNSW8wVVpGOTVEQi92ZjU5ckxEVHVDMGZNbHYzUllrUStMTUhQTG05ckVpTDlSRHVHZkRlV1d5NFZITFZFMWtQdEYwR2NueEhrSTRscHgrYnBiUC84cjRuUG42RkoxcXpRRnZJSTR2UGVIMFMvY2IxZEs5NFlaVVVKbGZLV1g2c3RMYUNaZzZZTDJyQmpxUnlicytqbmdGNzR2NlZNOUJLWWNiRXhmaEhyRUVPUTMwT1QvNVQ0bmtPVE9hR09DR2RPalJIazgvMy8reHFUOVVqSUJEaENGbXRvNnVlclNzR09JMXFrTFdENlZvRnZwNWxOeTJFZ09YSVlFUmNrQUJQdTFib1VBMW90dkdqemEyanlId29mUDBPVEpMY0orMTZXOFhURWovZS9PV1Fva1RnV1VOMkZYZHEybXFQWGQxc1NvZ0YzYkJqcHp6dTFqR1NWMUc2WDE0YjBiODVMcStpTlpQa01TQnFtM29Rb1JQcXZoYStmb1VsdS9Fbk1JRTN2NC94ZktBRDVnYndPR2ZBYW5KSVk3dkExS1RZU1NDLzI5Y3haelRHSHVDQ3hVVkxtakdzZkxHN0wxdnRZU0wydEJzcUo4QTZSZzhyTFB4USsveGlhWkdhVEJBSG5KamF6Zi96OHZWNUZmeFZLbG0yTEVoU3E2WFRleUh1bFE1ZTFtNzNNUTZ3Q1kyQzk3dGt3eW9WMkhqVWR3OEo0UE9TRDgxdzVXUUszM2Y5ajRmdlgwT1I5TWRvd05pTFh0Q0hXai9PZjZ6bnFaR3c2SjVZTSt6RklJc0U4U0U2MkFpWmRDOFExei9hUE5yWTV4eUVXU2UweE95S1F5Ujc0N2xsNFFjL1hTeTJYZWZWL2JYeG9meCthREdRY0RhSWlYZkRQMS8vYjY3a0lWYmt1WVd1cloySmlkekkwckkybS9aaUR3R290dVNCUkRxck13Z0JQWkpZdDFnVFd3VHBPaWhRSlpFZW5sOHVsVGRuK3BmSGwrUGVoU1FsVytFYzlzMWY0ZnlFQmNqYnBtM2ZSU0RQenNSaTdGdnZTY0NMeEhkZmJpeGNNQWJtaGdxTWpaellxZUtVNUgvQ3VoTzlyZTBpUXJqeFhrS2oyQ08zY1FoWlIzNDFQNTc4UFRWWUVFZm1GZTB0bzlaOWVQTXhHZnhXSlZ3MGRQT1MxVE1DR3gvMDZkeVI4c0c5WmdKd3RVVjA4RThxcnpkb2g0U0hsbnJuNzhFYlBIbkZBRUgwelpxRlMrQ1VkdTVpTmJ4WEV2dzlOanFQUUJuS3ZSUFh5OGY0UEs4dE9mT3haelZuOG1ZNDIvV29ibDNJRE1kRXhGV3MwK1BwcEoxakpHZnhtZzF3NjNHV3UzcnozSU54K3VWQTVtdVhTTWUzZmpZK3pDdllmaGlZM2pqaFJvV0Z3WmZYSDhlK0c2UGFJTlNBNWIzT21UZHA1bHduMVN3UXQwZHQxaXFSMUZqbm0zQWRDWkhnM1NJZFdtYjdXMkNhbVh3K29yNTBoUS9LamJBRVlaMHdPSVA4d05JbXhmN2Q1VS9jQ3BYMTgvbkhaczk1cjBQRHNBZG42ekdLdWN6b0Jacm9uTDlEOGdzQU9IZU84czBBaC9sMGx1WVBjZWlQWFBjUktwSFBIWURPWGYxY2daWG84alZCSlIvSVBRNU9DcnZzd3FFRG9OTzNIKzc4TEE5WGVIdnMxdUFJMVo3V1ZlUDlqanUxVXYwZjAzUHRWR2ZRanIxTFVHME5EeGo5MFpIakhIUFNHK0V4Z2pNYUJPS2YxNitsa1ozTlU0ajhQVFRaOUxBd0NYNTJha3lBZmxseUNhOW1zQk43NG5teDB6b1JzcjNPZ2l6cHRJakxYNHpXM1lnRmxYRjBJWFBJTXk1dmM1SHQ0WWQ5TWI3bUxVZE4vYkZCM1N6ZU43T2svRDAzdXBZa0FYbUVzMVI5Zi9teGlLTlRBTVljLzhiL3Jnd2J0OHc3UE01TWRoTjJNWGplaTIvWTY4QkNGeTk2RHc4TmV1blZ6ck0rYWNVSzVPQ3JCamVob2dFZDRqQit3V2Y0UFE1TnROUUtEVFg3dGUxTWZaOEE1YnVpUlVsaVdIVU45Vy9tcml4ZWZhQWRQem5SRG01Y3hJMWN6NkFjcW12czZPNzBtWHhpSFJ4VGIyNEswSnB4SWZJbmQwT0RCNkRXQ1RKR0ovencweVlQdjhseGlCYWI3eC91L2hoR1hSRDlkWmsxN1ZqWXFnbFBrUEllYjJkdGxtWTB3TEtBaHE5Z05RYlRMMkw2ODUvYUY1S0gyakV1NENKOXRwSnh0bmNIRzM0M0Rjb3VkdlUvM2IwT1RyYVNhL0x3eWlRb0lIL2QvMXVFamc4TndKeVMwUnBETHYwQWgwbnN3bmhkV2hCR21XVmVwMk1KdlphMHNxWW9ucW90SUo3cS85MkRuY3YweHp1TGE2QldESTVyTnZ3OU5VbE9XR3QwUUUxbTZqOTkva2xwQ0hkQm94SHlXZUxLM1NQTkFEVGJiV1hwcFZ4OXNoSGRSRThFTUVSemhmWUo1Y1E4WGMrQ3Q3TE1oWUt1ekgzNTVJNkl0VHhqZEM5V1JxdmEzb1VtaVdKWDNrRzNXeXhFVWY3eitCL0dvekhuUDhZSFI5Wjk4Ny93cU1HOUFvb0ViWGR1VGlWNG9ZRkFQRWNweDdhdkNnM2EycldWbXR3SHB6M2J1SjVwUFFUMUNnUHNlaklQZGduRGs3ME9UU2lNS3ZLZ1FETmFlbm8rbi8zR1Y1ald4RFZMUncrNFh1b0RyZ1hkV0p1MkZLUXpVcVlQWmJrQndiKytONTdKZDNjeDdNNngydGpvTCtnNFl4L3ExaHQ3RFdaSG96V1lxWVZmdjBsK0hKaWNLU21zd2JxV0pvcTlFdUhqb2ovdC9DNVJjTDBpVDNNekpSQXpoZFFQT2NROWFsbHphakVjcjVaVzFXQXQvN0ZxbFZENTZKeEUzK1ZHSGdYRVJtNFM1anI2NXlZenRBaU5MNGxJdThpOURrN3NIVnRiY1o4ZFIxOGlzcU9YcDQvTWZYQXZpRU94Z3VMYy9aTnpiRnpGNXM1VGxkVTNiTnNhMU9GcFlYVGpEK0Y1d2hhcDNVZXNXUmI3bkRTWUk3NHlIclRFV1puSVRVcG9Ed1V0cCsvSG4wQ1FRUjZRV3poUFQ4TlRkbkoyUDI4Y0IwSlVZSG95djhHZ3pKNEhBcnNMNGxMZVRCc2Q3dkJ3VUFiR2FIaDQ3TzlaK1JxRDJTKzR6TjlCcm1oU1d6SFU4Q0hEMnRXVEtqdVhvaUN0RHFIOFptcVFJbVF5TlV1RVBrZmROZXJuR2orZS9OeHNwYmdEU2dBaXA1Z1QyMUNCc1JRTU9SeDBiZWMxc3ZZYzZFc3lSLzBtTjN1MlNieCt4UXV3OFFWeU9qSnBjTm85azhPajlScWJnY1IvZ3o2SEpoVkdKVytLMU1UeHJxTzdkVHNNKzN2K1hVeVY4NjRMTzBKWHZjd0ZVZGNac1pjSDFrbUthUVgxQnVPdm03UmFlemJUK01lUDlHekRBUVhzZnlVdjVrOHFZR3hUVHVyeDBhdEVIOHNmUVpCWk1TVDF5bmdrUkQ2SlFVbWZ6KzhmelgweGl1Rkt6bytrTnhaN3JFR3cvcStLUWxKNHBJYkRXVzZ1SlJzTG1DRy9XNXd0M2FTWUNhMTZVUTFZb2RFQncvRmN5MC9leUR2TjdhTko0Z1VpWFIxSnVzZ1ROaVl4bEVRUkRZdnA0QmRTSnNJR3E2VFpId2JPcDl4MlJySTFSaGRaa01qZGN6TmlyWkp4VGtSdkpQVnk3UmdLblppcThNT21SSFFQYm93RGNEazlRQTVENnh6VW9jb1JhMzVrVGVGR1JFRm9XUGdpbGZrZWdRV1VlVGkzMTQvbi9hbG4wM0RlWDByNXVPL3B1UDlPNUlsQzNyM2pTZlJhSHQ1VWFGaEFkTCtCTzVQWVlBTjVYT3QyS0pyU1gxNzZHMlRwNElnenFyYVhSZ3hBN2hzUlM1eFR0anBTNUZ3eUJybVBrbTRYUm1mV3g4ZHdWL2Z6OUYwVnNiVWZDcDJFOWp3c1hhQWp5RnNLb1FrZGY1bldGczlkWmJscnNxNjFHV1hNZzlGWHB0U0lWZWswYkpzczZ5OTFIYnJnQnozWHRMdlZFV0lrYWc4azFXRzRVSEpyQm9mWUNtenZlZmJiVXF5VllUeis5ZmpJbStkM1lITzY0QjBaeWFtcWlFUmlpSFlVNGlKc0xlVUhLeHVRWEtyRlhFQWtSb2JNVGlZQ3AwaEJKa05JUm1QY0Vremt2dWFkMWdtSXA5WUZhczJ3WU91c01jK0c4RHJrZ09MSUlOY0RBU3ZXYVBuNy9hYlNCbklHUTBQT1lTVHlRYTUzdERzSzJEWWpacE9OZW9sUFhlSnBiaStnSHN0WnpEb0N0UjBRWHVPRVd3T01vaGdBcmlaY2lSYU81czBodTFvWkJYNXZoWEVhd0MxcjV2ZGtaSmRMTUc0dVN4TkkvM3Y4MFlMVUVyS3gzbmRjZVgzdlpONkVjSEJLNUVDTDAzVENyV2UwRzhhNUFrMlo5bUtXMnlmL254VkJGYXE5dHlOcDJPdTlSeUI0ZGlMOEU3OUxlY2s2K3IxdDN6UFNkZXVBcTlyR0tOUndJaTJNL29tb2ZuLy9sR0pTc2xHYWRON1cxbHo5TFg5RWFVSjNSSnl3Z2Mxb29iMVFOZkpIcXc1TmNMU1hxNkpTUysyaUVrdXg1ZzhINHhmUEtYQWxqU3k4WENjdW5XVWZVdTlxUS9vYU5FdEY2Sm1NaURDckhLQ3pmMFgvYy83ZDU3VVdmY1NpYWVRZVlXL1c4c2h4eFlPVmhvRGRZeEx6ZDRINFEvOEgrcEw1U3JxWFFMK2JKZTJpU2FJWHh6Q0ttWi9qREdoRTlkd2lZanZmZG9QdlZsNGlLaEQvNjArbi96TGFSZFJKT0hXaDczR2NYRC9QNlAzUnhxcDZJYmUwczVhSjFvbHYzV2NMejJtOTAvd2FoSy9TQUZDR3JhR2JhNXk0eVhlemR1VCtISnBXY2QwSGhVb2kwdmtiRHhMN3J0cjRSVldXdGdxc0hKZjJkWk0vTGJBSWJzMm40Z1l2YS9uSCtsMDF6SnVjMm1WaWJkeFl0SnM0ZUZsbnR2b1V6S0tXdG1VYzVrYXg3WTllQnpOYXN4NzhQVGViZE82T2lyZWtjZHQ3dytvQnVnU0tYemdnQjdXSzFIYmtwQkwwOGc5ZSt6ZHp4aDJWZjhERzJGUjM4bkhEbzZQZm5mZmVyTVRIMDNVWWprZDlaV0lPQmNCV2tjUlFhWFpmY2M0NS9INW9zVzhJbEtpWWNvUWF4UUlNZFJMeG04OFBTdVVHSDJabG1jNVFNdmNzc3FJUGVQci8rTTFuUEhOU1ZGd2c3NXpvamFFVk1yTmVkV3dGU1QyU0x5aEZlUittYVFZM0xxV2JmZmxraC9jdlE1RVhsNmhqeENHNFh0dzcwL0RDdmZzWGdMNnRCRHQzeWdRcVdTK1Z0OTRJQnNSQStYdi9kVjFtaWNZWWl0UUVTRTZYaVBCZ0kwWVpHaXJMTzZ5cGpCN205T2hwNDIzZUVmS1RObm5ldGx5WDlaV2hTWjdEbDJQb0I1dHptWkw4NTU3VDh6SldxeThOMm5qUEFkZzFFWjVtTmFPYytQai8vOGpQcGlXaWZXVVJya0dkRDR5Z0R5cmtRd29PcTFKV045TmRUeVFHM2hxelVuSHpvRFJFeVVjSDhPVFNwS1BHOVAwOUhGSlZSTXpTRkRXYnJZMk96dGxCdmNBTlVnRmxoZzVaWEtLTStIOGYvUUsxMDQxZzBpR0R3VEVlbTJaNXdsUWlMeVlUalllL2ptc1d3YkI1Y3BGczVnbVA3TWpiejRsVU9md3hOTm1Zc3Vvcnl2TXNBSjVzWHBCR0ZCcDVEME5ieE5QaHBQRVQzYmdTeTc2RWorSGo4bDlDekRVaDZOZWUrRDF1cUNySmZxYy9CdCtnYnRGRjBuTUZ0aVhaT3kwTmZ6UEZnb0lkNDZOSDg0bjROVFdJSURYTUFGdGNVVUVWNHU0YkgySWM3NHNEM1kxZkJGNHdxYmx3Q21OWS9tZitQMTc5Mmd6cFBDUFd4TTBCbXZoK0R3dEpTenliR1pkdnk5Zk1kRmUvSGJRV1dXMjNabkVNSGhJZnFOV1lYS1B3TVRkYmsxdGxPYVFPL2psbFkwSGpRcUJPbDV0VTlwelFLZWNSSUdFK1JQT1NlTUh5YWorZC9IQk16OUtYTUVBak1XLy8yUWdrNmYyUXhrU0phMlU4a0swdDQ5Mm5Na2ozdmM1amxTcmorZ05SbnBvaklEQVYrMzJsYlVub25oaGk4bWdmR1J4V2VJNjkya1pkOTJqNmxQMWQrY0IrdmM4K2dQNTcvYTdQZVFmZlhTOE55eGJYRXhjNXJRSlpKOEh3K1huandjN2cvL1Z6VjhHQXNSQnZvNVBYTWtnR3BqTENPK3pXdkIrbWRWd01Yajl2OHlWNmpFK2o0NTNjTGdFVFRHYlZOQjRqaEZ2aFlabDg0UENWOEhnQVRPRi9zbVlsd0VsRHpNWWFGNCs2RVYvN0FiRzNmZzVpVGltWS9OSjc5dkxzNnZmTE1nUStUWDZQVWxIWWcrNDhkKzAzZ08ydWVPbkROMW4reUh3N2lISTFmMXZuaGMycllqbkYzWFNSR2g2TjlIUCtpRmJ0NXF3M1gxL3NzWWhnbjFlaXdUb2ZPL2ozVWI3bjIxdlRVTUN3SzlhakgvN3E3NG42V3hrMkxIb1BFK3dwWmxWSzBpYVUwNGpZcklZK1VmVUIrZFlkcXNHTjBuVVBVK3VEMVVDN0ZXU2o5ZVAvWGpvK2d2ZGQ2dFQ4M0VqREdWMWhHM0tPK2J4c0RqQnU5dDYrTE0zb09pNEdLZ0RBSWY3QVdyaERCWXppb1VxUHFSN0dpWngrYk1PRDJFd3dDcGxTWFZlc2ErUEtFdmJzRWk1MTNyU0l2TkxQZTFvK1A5NysrN2tPK1VXQmJCWHRQczVNRXVtUElicTlkbFFPMks1VjcyM3V0NTd6ZTFjNExUaEVoZ1RPVmdUeXUzc2RXN1lMc2VYanBMQ0ZEQ3VhWllySXVvT29JYkdiVzErWEIrQ2NPaE5MQlhDRFhuODdQN2VQclozVXNFTTY4dDdpYWR5MHZGdlRmTTl1bCticng3VTZ3N2VKWUtKdGpEWU9PMCtKdjlVMFJSUENSYzhvWm9tRzNJL3dqTUh0akRjSEl3UEFsdFhWRVYwTkNBUk9sV29CQjZjMWFOcnNzMkkvbiszajlDeWhhSllleHRkam5kNERSd09HS1NHSUdhRlJpTXZuK1BDVDN4aXBqd0x6bUNHNXI5N09VWC9mWGtKWHdxOUQzdnlON1JDdENFRHlaSWVMSC9GTXZ2R2YvQThPUFlQZzVsSzB1WGdkZG40L0RuNW5HUSszTUt6Nlo3RFB2Z3l1VkJmMDF4dXRkcEFaeG5ZZUV4SENtYWljS2NxODV0YnhHUk1pc0tYNDZET1BvRTdxZmx6bEhiZHpzazNneWtxWDVMVDl6QnBaeVlVY2llWFpWczRGd1lUdFNEdzhDcStmaitQZkVnNXdYSU14Qm4xd21GL3E1a3dyL1A0MGp4QWZzYmduYjdURGFaV1dOdmJTVFpINXZrbkhsdHEydklRQWh4N0pRWGtncFByNXZ0ZXZJa1M2dXhMd0lrZFMyUFVoNXV4azN0Rk8wTFUwQ3ZRcmhQOTcvOURoNW8yTzJ6aEdaMzZkeEU0UjgzQ01JM2pVaStUTFFrUXVIYkxWdEk1ZjlWWW5SeWc2NzdQMWwvTTZremxhR3pzaGlGMDJRRklPa3paZ0Y5MnBCekdNM0JyNWFId3JrWFQ0TE5MMW5ZdllLeEJYOThmVnpDVEpYVW5NVlMyY0Q3VGJlQ09ibkRTZHpPSEVmRzNyeFZGUmJsRktiVzNmRUFNMHBTWXVYT2ZnMWVLV08zRmRxL2RvTkk1UWhiazRyZWxDU3hOcVVFK0lKd1VzUVorS3l3ZDVVUll3c0I4SUJ3Zm5INnorenBYdnBYbEovcUVUZHBUMjBCRktsZFY1Nnc2NWpyNUtuczh3SHBTWkVEcndFaVNkcE56VDRVeFhMU3IwYzM1U1A3U1pJcGVaVnFSdEg0THNjV3hIN2d1RmpjZ2pEemFhQmlqejZrb3VoSHRlL2ZoNytpVFI5Mm9VWW51MW9vckRPTzYvODhteHdRVnJ3dENXU1dOUmFGanQwcmxFL2hCT3g5L2NkRHA3emVabnZhekVyeHJOMU5zSWRXNnVwek5ib2hnemhSUFdaWXpTL3hwemE4OURkS21TRWxVSWpJWDNlLzJVK3gzTmhiV2lodWYvcVJ6TmpYdWNlNXBjNGRUbnp2TFdWRytLNGlOK0N6MVhwZVllSFFqdG1DeUpaa0drOTFrU25DejNLNGh5Q3dUU1I3WW9tb1k2UzN0ZDh2a1A5azlJenU4VDNtbWRkMkg3OC9wdFhaMm9HYUZOSldGVU9rNUVpTVVFMVJoNS9jalFHMXhKNy9PSGM2MEhrbCtsc2FwOTN1RlR3enVHVzNYUTJQQjN2TDA3Qm9DQ05YUHVrOWZPclVxVjB4L3NPbUdGOERNWnBxTXpOUG9sVUxwcFhiejQrLzNpTWxjK3Z2Rm04NXNoNzU3ZTNBRzBzQjBxeWUyZG5mY2wyZmlucVhROFgwZVp6SVQ5MytPajNXSnVKZ2Vib21CNUhsMGF3cFd3aE40NkdWWnpXZkVOdTRSWm03N09GT2k1QWJYRWxyc0hvaDVTeGY5ei8wMUlHRjNVL0J5NldqenF2NkdGQzY3eld1c3pNRDBValJ4eURaeWQ1V0t0RTVmOTFoMU5YdXVTWng0cEVLWXlZTWpIWDBiVVppVmExaUdGblY2emdVSTZ6c25HTnZlZXJ6OGlTendzRHpSWnpsQjgvZjhLMmxVRGxaeUlwcXUycTU2bHpYTlpVOHVMMGU5NEI2cXRtTTJmM2lXOEMwZjdQSFY0UWR6cGU2N3dpQUpYZGU3a1lxbVFqc3hVWUljK0dkT0I5cVN4dXhubFhSa3QyQ0kvQ2hGaVVFalNXZzN3OCs0MUNLd1NnNks3Q09JaHBQWTh0TzdRSXMxZ0pOUnhzUFM5NGJPcnpqbmVWbHVYM0hXNnpYZXdnQ2huZ0sxUGIwN3dzZTlXZUFLOHYwSlRpVmdDaCs3c3JQRHdOMk13SXBLN0FieUFlbitMZTUralVoMlZPY1BsZVQvLytGcnpaK1k1UGRndHhVcllnb3hOM1NBRkdNL3ZkZ2Q4OWIvMlBPL3hnZm11U1VzOERkMFBmeisyeWxIWENwdU1aYTZGcVJaZ1RmUHVKY2MrcGp0UVVCSUpMVml6UEMrRFBLai9lLy81NGErSGNmVkdRZU1GVnVla1RCcHd2VGR2ODNnUEV3dUdCUFowTHBOV3djUDIreXVZOTU0cVFDQjdPWG5qNlFoYkxqL2NYM3RwTGVLdW4wMER3VzVEeXprbVp2dFJaUWwwV1ZLcW00cDZRQjVtUDUvLzYwVXR4QmNrdUF1RzlnRkRXMjNjYi83ekQwMEZIWFBTYVY4TFBpNEhZNGpuNTR3N1BNbE1lczVmbFFWem9rMWxjbk45NVBjZW84RWRxOTc3TTZjZjExYUxDVGU1QUd1S01kTlNDdG9SMkEwUi92dnlERG5yT0s3TFp6RUlPeExwY3Q1K3MvTHpEMWF5Rjk5bnJOc3ZiYTVrMlRQNjR5cWJhVXQ5ZmN2MXVuV3g4VlVIUHJ4QThFUXFpdWN0OHBySWhncmc3dWhMQk9KbGZNZHhuNlhQZWpmbkdRNStILzcva0lBcys2bFpDaVg3bUxMYTVyaG1neTVoZi95Wm1tZVRWYW5EeEwxZloxSTNLZDJFQStVOGd2SnF3U0F3U004bmIrLzYrQVVsZ21NanlkZGo1RmJ2MXVESHF6YVRKKzdjSXlNLzMvMy9sSzEvNXlsZSs4cFd2Zk9VclgvbktWNzd5bGE5ODVTdGYrY3BYdnZLVnIzemxLMS81eWxlKzhwV3ZmT1VyWC9uS1Y3N3lsYTk4NVN0ZitjcFh2dktWcjN6bEsxLzV5bGUrOHBXdmZPVXJYL25LVjc3eWxhOTg1U3RmK2NwWHZ2S1ZyM3psSzEvNXlsZSs4cFd2Zk9VclgvbktWNzd5bGE5ODVTdGYrY3BYdnZLVnIzemxLMS81eWxlKzhwV3ZmT1VyWC9uS1Y3N3lsYTk4NVN0ZitjcFh2dktWcjN6bEsxLzV5bGUrOGhXQS93ZmRtaG1aZHltbTl3QUFNaUZwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVrNVVZM3ByWXpsa0lqOCtDang0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVNQzFqTURZd0lEWXhMakV6TkRjM055d2dNakF4TUM4d01pOHhNaTB4Tnpvek1qb3dNQ0FnSUNBZ0lDQWdJajRLSUNBZ1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNEtJQ0FnSUNBZ1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSUtJQ0FnSUNBZ0lDQWdJQ0FnZUcxc2JuTTZlRzF3UFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdklqNEtJQ0FnSUNBZ0lDQWdQSGh0Y0RwRGNtVmhkRzl5Vkc5dmJENUJaRzlpWlNCR2FYSmxkMjl5YTNNZ1ExTTFJREV4TGpBdU1DNDBPRFFnVjJsdVpHOTNjend2ZUcxd09rTnlaV0YwYjNKVWIyOXNQZ29nSUNBZ0lDQWdJQ0E4ZUcxd09rTnlaV0YwWlVSaGRHVStNakF4TkMwd09DMHdORlF4T0RvME9Eb3hNMW84TDNodGNEcERjbVZoZEdWRVlYUmxQZ29nSUNBZ0lDQWdJQ0E4ZUcxd09rMXZaR2xtZVVSaGRHVStNakF4TkMwd09DMHdORlF4T0RvMU16bzFNMW84TDNodGNEcE5iMlJwWm5sRVlYUmxQZ29nSUNBZ0lDQThMM0prWmpwRVpYTmpjbWx3ZEdsdmJqNEtJQ0FnSUNBZ1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSUtJQ0FnSUNBZ0lDQWdJQ0FnZUcxc2JuTTZaR005SW1oMGRIQTZMeTl3ZFhKc0xtOXlaeTlrWXk5bGJHVnRaVzUwY3k4eExqRXZJajRLSUNBZ0lDQWdJQ0FnUEdSak9tWnZjbTFoZEQ1cGJXRm5aUzl3Ym1jOEwyUmpPbVp2Y20xaGRENEtJQ0FnSUNBZ1BDOXlaR1k2UkdWelkzSnBjSFJwYjI0K0NpQWdJRHd2Y21SbU9sSkVSajRLUEM5NE9uaHRjRzFsZEdFK0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2p3L2VIQmhZMnRsZENCbGJtUTlJbmNpUHo1Nm1pbURBQUFBWTBsRVFWUVlsYVdSUVE2QUlBd0VwNEFhLy85YU5WSXZhSnBTdUxpWERjdUVMU0NxU2lBRnhJZHBBRnFmd3VLOGc3dU5sdVVJUGdNWTRHNStBSWdPYmhncEFjWFVDckMyOVFic1pzU2x0Q283MjF0ZFRaYUJLbi9mK1hJTm4yWW5KOXpIUEN3UkhCUDc5aUh6QUFBQUFFbEZUa1N1UW1DQw"},{ name : "__ASSET__:bitmap_flixel_system_debug_interaction_tools__Transform_GraphicTransformTool", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZsekFBQUxFZ0FBQ3hJQjB0MSsvQUFBQUJ4MFJWaDBVMjltZEhkaGNtVUFRV1J2WW1VZ1JtbHlaWGR2Y210eklFTlROdWk4c293QUFBQThTVVJCVkJpVlkvei8vejhEQVFCWHdJSXVnQSt3SUxFWkNabk1SSVNCTUVNWWlWRU1CNE5JTWN5M3VJSVBMcytDUXdJclFGZU1MYXpoQmdBQTR2NE1GcEVTdzlBQUFBQUFTVVZPUks1Q1lJST0"},{ name : "__ASSET__:bitmap_flixel_addons_transition__TransitionFade_GraphicDiagonalGradient", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUlBQUFBQ0FDQUlBQUFCTVhQYWNBQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBS1QybERRMUJRYUc5MGIzTm9iM0FnU1VORElIQnliMlpwYkdVQUFIamFuVk5uVkZQcEZqMzMzdlJDUzRpQWxFdHZVaFVJSUZKQ2k0QVVrU1lxSVFrUVNvZ2hvZGtWVWNFUlJVVUVHOGlnaUFPT2pvQ01GVkVzRElvSzJBZmtJYUtPZzZPSWlzcjc0WHVqYTlhODkrYk4vclhYUHVlczg1Mnp6d2ZBQ0F5V1NETlJOWUFNcVVJZUVlQ0R4OFRHNGVRdVFJRUtKSEFBRUFpelpDRnovU01CQVBoK1BEd3JJc0FIdmdBQmVOTUxDQURBVFp2QU1CeUgvdy9xUXBsY0FZQ0VBY0Iwa1RoTENJQVVBRUI2amtLbUFFQkdBWUNkbUNaVEFLQUVBR0RMWTJMakFGQXRBR0FuZitiVEFJQ2QrSmw3QVFCYmxDRVZBYUNSQUNBVFpZaEVBR2c3QUt6UFZvcEZBRmd3QUJSbVM4UTVBTmd0QURCSlYyWklBTEMzQU1ET0VBdXlBQWdNQURCUmlJVXBBQVI3QUdESUl5TjRBSVNaQUJSRzhsYzg4U3V1RU9jcUFBQjRtYkk4dVNRNVJZRmJDQzF4QjFkWExoNG96a2tYS3hRMllRSmhta0F1d25tWkdUS0JOQS9nODh3QUFLQ1JGUkhnZy9QOWVNNE9yczdPTm82MkRsOHQ2cjhHL3lKaVl1UCs1YytyY0VBQUFPRjBmdEgrTEMrekdvQTdCb0J0L3FJbDdnUm9YZ3VnZGZlTFpySVBRTFVBb09uYVYvTncrSDQ4UEVXaGtMbloyZVhrNU5oS3hFSmJZY3BYZmY1bndsL0FWLzFzK1g0OC9QZjE0TDdpSklFeVhZRkhCUGpnd3N6MFRLVWN6NUlKaEdMYzVvOUgvTGNMLy93ZDB5TEVTV0s1V0NvVTQxRVNjWTVFbW96ek1xVWlpVUtTS2NVbDB2OWs0dDhzK3dNKzN6VUFzR28rQVh1UkxhaGRZd1AyU3ljUVdIVEE0dmNBQVBLN2I4SFVLQWdEZ0dpRDRjOTMvKzgvL1VlZ0pRQ0Faa21TY1FBQVhrUWtMbFRLc3ovSENBQUFSS0NCS3JCQkcvVEJHQ3pBQmh6QkJkekJDL3hnTm9SQ0pNVENRaEJDQ21TQUhISmdLYXlDUWlpR3piQWRLbUF2MUVBZE5NQlJhSWFUY0E0dXdsVzREajF3RC9waENKN0JLTHlCQ1FSQnlBZ1RZU0hhaUFGaWlsZ2pqZ2dYbVlYNEljRklCQktMSkNESmlCUlJJa3VSTlVneFVvcFVJRlZJSGZJOWNnSTVoMXhHdXBFN3lBQXlndnlHdkVjeGxJR3lVVDNVRExWRHVhZzNHb1JHb2d2UVpIUXhtbzhXb0p2UWNyUWFQWXcyb2VmUXEyZ1AybzgrUThjd3dPZ1lCelBFYkRBdXhzTkNzVGdzQ1pOank3RWlyQXlyeGhxd1Zxd0R1NG4xWTgreGR3UVNnVVhBQ1RZRWQwSWdZUjVCU0ZoTVdFN1lTS2dnSENRMEVkb0pOd2tEaEZIQ0p5S1RxRXUwSnJvUitjUVlZakl4aDFoSUxDUFdFbzhUTHhCN2lFUEVOeVFTaVVNeUo3bVFBa214cEZUU0V0SkcwbTVTSStrc3FaczBTQm9qazhuYVpHdXlCem1VTENBcnlJWGtuZVRENURQa0crUWg4bHNLbldKQWNhVDRVK0lvVXNwcVNobmxFT1UwNVFabG1ESkJWYU9hVXQyb29WUVJOWTlhUXEyaHRsS3ZVWWVvRXpSMW1qbk5neFpKUzZXdG9wWFRHbWdYYVBkcHIraDB1aEhkbFI1T2w5Qlgwc3ZwUitpWDZBUDBkd3dOaGhXRHg0aG5LQm1iR0FjWVp4bDNHSytZVEtZWjA0c1p4MVF3TnpIcm1PZVpENWx2VlZncXRpcDhGWkhLQ3BWS2xTYVZHeW92VkttcXBxcmVxZ3RWODFYTFZJK3BYbE45cmtaVk0xUGpxUW5VbHF0VnFwMVE2MU1iVTJlcE82aUhxbWVvYjFRL3BINVovWWtHV2NOTXcwOURwRkdnc1YvanZNWWdDMk1aczNnc0lXc05xNFoxZ1RYRUpySE4yWHgyS3J1WS9SMjdpejJxcWFFNVF6TktNMWV6VXZPVVpqOEg0NWh4K0p4MFRnbm5LS2VYODM2SzNoVHZLZUlwRzZZMFRMa3haVnhycXBhWGxsaXJTS3RScTBmcnZUYXU3YWVkcHIxRnUxbjdnUTVCeDBvblhDZEhaNC9PQlozblU5bFQzYWNLcHhaTlBUcjFyaTZxYTZVYm9idEVkNzl1cCs2WW5yNWVnSjVNYjZmZWViM24raHg5TC8xVS9XMzZwL1ZIREZnR3N3d2tCdHNNemhnOHhUVnhiendkTDhmYjhWRkRYY05BUTZWaGxXR1g0WVNSdWRFOG85VkdqVVlQakduR1hPTWs0MjNHYmNhakpnWW1JU1pMVGVwTjdwcFNUYm1tS2FZN1REdE14ODNNemFMTjFwazFtejB4MXpMbm0rZWIxNXZmdDJCYWVGb3N0cWkydUdWSnN1UmFwbG51dHJ4dWhWbzVXYVZZVlZwZHMwYXRuYTBsMXJ1dHU2Y1JwN2xPazA2cm50Wm53N0R4dHNtMnFiY1pzT1hZQnR1dXRtMjJmV0ZuWWhkbnQ4V3V3KzZUdlpOOXVuMk4vVDBIRFlmWkRxc2RXaDErYzdSeUZEcFdPdDZhenB6dVAzM0Y5SmJwTDJkWXp4RFAyRFBqdGhQTEtjUnBuVk9iMDBkbkYyZTVjNFB6aUl1SlM0TExMcGMrTHBzYnh0M0l2ZVJLZFBWeFhlRjYwdldkbTdPYnd1Mm8yNi91TnU1cDdvZmNuOHcwbnltZVdUTnowTVBJUStCUjVkRS9DNStWTUd2ZnJINVBRMCtCWjdYbkl5OWpMNUZYcmRld3Q2VjNxdmRoN3hjKzlqNXluK00rNHp3MzNqTGVXVi9NTjhDM3lMZkxUOE52bmwrRjMwTi9JLzlrLzNyLzBRQ25nQ1VCWndPSmdVR0JXd0w3K0hwOEliK09QenJiWmZheTJlMUJqS0M1UVJWQmo0S3RndVhCclNGb3lPeVFyU0gzNTVqT2tjNXBEb1ZRZnVqVzBBZGg1bUdMdzM0TUo0V0hoVmVHUDQ1d2lGZ2EwVEdYTlhmUjNFTnozMFQ2UkpaRTNwdG5NVTg1cnkxS05TbytxaTVxUE5vM3VqUzZQOFl1WmxuTTFWaWRXRWxzU3h3NUxpcXVObTVzdnQvODdmT0g0cDNpQytON0Y1Z3Z5RjF3ZWFIT3d2U0ZweGFwTGhJc09wWkFUSWhPT0pUd1FSQXFxQmFNSmZJVGR5V09Dbm5DSGNKbklpL1JOdEdJMkVOY0toNU84a2dxVFhxUzdKRzhOWGtreFRPbExPVzVoQ2Vwa0x4TURVemRtenFlRnBwMklHMHlQVHE5TVlPU2taQnhRcW9oVFpPMlorcG41bVoyeTZ4bGhiTCt4VzZMdHk4ZWxRZkphN09RckFWWkxRcTJRcWJvVkZvbzF5b0hzbWRsVjJhL3pZbktPWmFybml2TjdjeXp5dHVRTjV6dm4vL3RFc0lTNFpLMnBZWkxWeTBkV09hOXJHbzVzanh4ZWRzSzR4VUZLNFpXQnF3OHVJcTJLbTNWVDZ2dFY1ZXVmcjBtZWsxcmdWN0J5b0xCdFFGcjZ3dFZDdVdGZmV2YzErMWRUMWd2V2QrMVlmcUduUnMrRlltS3JoVGJGNWNWZjlnbzNIamxHNGR2eXIrWjNKUzBxYXZFdVdUUFp0Sm02ZWJlTFo1YkRwYXFsK2FYRG00TjJkcTBEZDlXdE8zMTlrWGJMNWZOS051N2c3WkR1YU8vUExpOFphZkp6czA3UDFTa1ZQUlUrbFEyN3RMZHRXSFgrRzdSN2h0N3ZQWTA3TlhiVzd6My9UN0p2dHRWQVZWTjFXYlZaZnRKKzdQM1A2NkpxdW40bHZ0dFhhMU9iWEh0eHdQU0EvMEhJdzYyMTduVTFSM1NQVlJTajlZcjYwY094eCsrL3AzdmR5ME5OZzFWalp6RzRpTndSSG5rNmZjSjMvY2VEVHJhZG94N3JPRUgweDkySFdjZEwycENtdkthUnB0VG12dGJZbHU2VDh3KzBkYnEzbnI4UjlzZkQ1dzBQRmw1U3ZOVXlXbmE2WUxUazJmeXo0eWRsWjE5Zmk3NTNHRGJvclo3NTJQTzMyb1BiKys2RUhUaDBrWC9pK2M3dkR2T1hQSzRkUEt5MitVVFY3aFhtcTg2WDIzcWRPbzgvcFBUVDhlN25MdWFycmxjYTdudWVyMjFlMmIzNlJ1ZU44N2Q5TDE1OFJiLzF0V2VPVDNkdmZONmIvZkY5L1hmRnQxK2NpZjl6c3U3MlhjbjdxMjhUN3hmOUVEdFFkbEQzWWZWUDF2KzNOanYzSDlxd0hlZzg5SGNSL2NHaFlQUC9wSDFqdzlEQlkrWmo4dUdEWWJybmpnK09UbmlQM0w5NmZ5blE4OWt6eWFlRi82aS9zdXVGeFl2ZnZqVjY5Zk8wWmpSb1pmeWw1Ty9iWHlsL2VyQTZ4bXYyOGJDeGg2K3lYZ3pNVjcwVnZ2dHdYZmNkeDN2bzk4UFQrUjhJSDhvLzJqNXNmVlQwS2Y3a3htVGsvOEVBNWp6L0dNekxkc0FBRHZzYVZSWWRGaE5URHBqYjIwdVlXUnZZbVV1ZUcxd0FBQUFBQUE4UDNod1lXTnJaWFFnWW1WbmFXNDlJdSs3dnlJZ2FXUTlJbGMxVFRCTmNFTmxhR2xJZW5KbFUzcE9WR042YTJNNVpDSS9QZ284ZURwNGJYQnRaWFJoSUhodGJHNXpPbmc5SW1Ga2IySmxPbTV6T20xbGRHRXZJaUI0T25odGNIUnJQU0pCWkc5aVpTQllUVkFnUTI5eVpTQTFMalV0WXpBeU1TQTNPUzR4TlRVM056SXNJREl3TVRRdk1ERXZNVE10TVRrNk5EUTZNREFnSUNBZ0lDQWdJQ0krQ2lBZ0lEeHlaR1k2VWtSR0lIaHRiRzV6T25Ka1pqMGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNVGs1T1M4d01pOHlNaTF5WkdZdGMzbHVkR0Y0TFc1ekl5SStDaUFnSUNBZ0lEeHlaR1k2UkdWelkzSnBjSFJwYjI0Z2NtUm1PbUZpYjNWMFBTSWlDaUFnSUNBZ0lDQWdJQ0FnSUhodGJHNXpPbmh0Y0QwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0x5SUtJQ0FnSUNBZ0lDQWdJQ0FnZUcxc2JuTTZlRzF3VFUwOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXRiUzhpQ2lBZ0lDQWdJQ0FnSUNBZ0lIaHRiRzV6T25OMFJYWjBQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2YzFSNWNHVXZVbVZ6YjNWeVkyVkZkbVZ1ZENNaUNpQWdJQ0FnSUNBZ0lDQWdJSGh0Ykc1ek9tUmpQU0pvZEhSd09pOHZjSFZ5YkM1dmNtY3ZaR012Wld4bGJXVnVkSE12TVM0eEx5SUtJQ0FnSUNBZ0lDQWdJQ0FnZUcxc2JuTTZjR2h2ZEc5emFHOXdQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNCb2IzUnZjMmh2Y0M4eExqQXZJZ29nSUNBZ0lDQWdJQ0FnSUNCNGJXeHVjenAwYVdabVBTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM1JwWm1Zdk1TNHdMeUlLSUNBZ0lDQWdJQ0FnSUNBZ2VHMXNibk02WlhocFpqMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzlsZUdsbUx6RXVNQzhpUGdvZ0lDQWdJQ0FnSUNBOGVHMXdPa055WldGMGIzSlViMjlzUGtGa2IySmxJRkJvYjNSdmMyaHZjQ0JEUXlBeU1ERTBJQ2hYYVc1a2IzZHpLVHd2ZUcxd09rTnlaV0YwYjNKVWIyOXNQZ29nSUNBZ0lDQWdJQ0E4ZUcxd09rTnlaV0YwWlVSaGRHVStNakF4TkMwd09DMHhPVlF4TmpvME5qb3lOUzB3TlRvd01Ed3ZlRzF3T2tOeVpXRjBaVVJoZEdVK0NpQWdJQ0FnSUNBZ0lEeDRiWEE2VFdWMFlXUmhkR0ZFWVhSbFBqSXdNVFF0TURndE1UbFVNVGM2TURBNk16QXRNRFU2TURBOEwzaHRjRHBOWlhSaFpHRjBZVVJoZEdVK0NpQWdJQ0FnSUNBZ0lEeDRiWEE2VFc5a2FXWjVSR0YwWlQ0eU1ERTBMVEE0TFRFNVZERTNPakF3T2pNd0xUQTFPakF3UEM5NGJYQTZUVzlrYVdaNVJHRjBaVDRLSUNBZ0lDQWdJQ0FnUEhodGNFMU5Pa2x1YzNSaGJtTmxTVVErZUcxd0xtbHBaRG8yTnpnNVlUUmlPUzAwTURJNUxUUmpOR1F0WVdJM1ppMDNZMlEwTVRSbU5HUmpabUk4TDNodGNFMU5Pa2x1YzNSaGJtTmxTVVErQ2lBZ0lDQWdJQ0FnSUR4NGJYQk5UVHBFYjJOMWJXVnVkRWxFUG1Ga2IySmxPbVJ2WTJsa09uQm9iM1J2YzJodmNEbzBNVFpsT0RrNU9TMHlOMlZoTFRFeFpUUXRPR00xWVMxak9XVTRZV1JoTVRKak9XUThMM2h0Y0UxTk9rUnZZM1Z0Wlc1MFNVUStDaUFnSUNBZ0lDQWdJRHg0YlhCTlRUcFBjbWxuYVc1aGJFUnZZM1Z0Wlc1MFNVUStlRzF3TG1ScFpEcG1NMkV3TVdKbE1pMHlZVGRoTFdGa05EY3RZV1ExWlMwM05ETTJPVGd6WWpaa1pEWThMM2h0Y0UxTk9rOXlhV2RwYm1Gc1JHOWpkVzFsYm5SSlJENEtJQ0FnSUNBZ0lDQWdQSGh0Y0UxTk9raHBjM1J2Y25rK0NpQWdJQ0FnSUNBZ0lDQWdJRHh5WkdZNlUyVnhQZ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQThjbVJtT214cElISmtaanB3WVhKelpWUjVjR1U5SWxKbGMyOTFjbU5sSWo0S0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BITjBSWFowT21GamRHbHZiajVqY21WaGRHVmtQQzl6ZEVWMmREcGhZM1JwYjI0K0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeHpkRVYyZERwcGJuTjBZVzVqWlVsRVBuaHRjQzVwYVdRNlpqTmhNREZpWlRJdE1tRTNZUzFoWkRRM0xXRmtOV1V0TnpRek5qazRNMkkyWkdRMlBDOXpkRVYyZERwcGJuTjBZVzVqWlVsRVBnb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThjM1JGZG5RNmQyaGxiajR5TURFMExUQTRMVEU1VkRFMk9qUTJPakkxTFRBMU9qQXdQQzl6ZEVWMmREcDNhR1Z1UGdvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOGMzUkZkblE2YzI5bWRIZGhjbVZCWjJWdWRENUJaRzlpWlNCUWFHOTBiM05vYjNBZ1EwTWdNakF4TkNBb1YybHVaRzkzY3lrOEwzTjBSWFowT25OdlpuUjNZWEpsUVdkbGJuUStDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lEd3ZjbVJtT214cFBnb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBOGNtUm1PbXhwSUhKa1pqcHdZWEp6WlZSNWNHVTlJbEpsYzI5MWNtTmxJajRLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEhOMFJYWjBPbUZqZEdsdmJqNXpZWFpsWkR3dmMzUkZkblE2WVdOMGFXOXVQZ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4YzNSRmRuUTZhVzV6ZEdGdVkyVkpSRDU0YlhBdWFXbGtPbVF5WXpCa09UZzRMVE5sTm1JdE9UVTBaaTFoWm1JNExXUXdOamMzWlRrMllUQTVNVHd2YzNSRmRuUTZhVzV6ZEdGdVkyVkpSRDRLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEhOMFJYWjBPbmRvWlc0K01qQXhOQzB3T0MweE9WUXhOam8wTmpveU5TMHdOVG93TUR3dmMzUkZkblE2ZDJobGJqNEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQSE4wUlhaME9uTnZablIzWVhKbFFXZGxiblErUVdSdlltVWdVR2h2ZEc5emFHOXdJRU5ESURJd01UUWdLRmRwYm1SdmQzTXBQQzl6ZEVWMmREcHpiMlowZDJGeVpVRm5aVzUwUGdvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOGMzUkZkblE2WTJoaGJtZGxaRDR2UEM5emRFVjJkRHBqYUdGdVoyVmtQZ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQThMM0prWmpwc2FUNEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BISmtaanBzYVNCeVpHWTZjR0Z5YzJWVWVYQmxQU0pTWlhOdmRYSmpaU0krQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4emRFVjJkRHBoWTNScGIyNCtjMkYyWldROEwzTjBSWFowT21GamRHbHZiajRLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEhOMFJYWjBPbWx1YzNSaGJtTmxTVVErZUcxd0xtbHBaRG8yTnpnNVlUUmlPUzAwTURJNUxUUmpOR1F0WVdJM1ppMDNZMlEwTVRSbU5HUmpabUk4TDNOMFJYWjBPbWx1YzNSaGJtTmxTVVErQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4emRFVjJkRHAzYUdWdVBqSXdNVFF0TURndE1UbFVNVGM2TURBNk16QXRNRFU2TURBOEwzTjBSWFowT25kb1pXNCtDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHh6ZEVWMmREcHpiMlowZDJGeVpVRm5aVzUwUGtGa2IySmxJRkJvYjNSdmMyaHZjQ0JEUXlBeU1ERTBJQ2hYYVc1a2IzZHpLVHd2YzNSRmRuUTZjMjltZEhkaGNtVkJaMlZ1ZEQ0S0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BITjBSWFowT21Ob1lXNW5aV1ErTHp3dmMzUkZkblE2WTJoaGJtZGxaRDRLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQQzl5WkdZNmJHaytDaUFnSUNBZ0lDQWdJQ0FnSUR3dmNtUm1PbE5sY1Q0S0lDQWdJQ0FnSUNBZ1BDOTRiWEJOVFRwSWFYTjBiM0o1UGdvZ0lDQWdJQ0FnSUNBOFpHTTZabTl5YldGMFBtbHRZV2RsTDNCdVp6d3ZaR002Wm05eWJXRjBQZ29nSUNBZ0lDQWdJQ0E4Y0dodmRHOXphRzl3T2tOdmJHOXlUVzlrWlQ0elBDOXdhRzkwYjNOb2IzQTZRMjlzYjNKTmIyUmxQZ29nSUNBZ0lDQWdJQ0E4Y0dodmRHOXphRzl3T2tsRFExQnliMlpwYkdVK2MxSkhRaUJKUlVNMk1UazJOaTB5TGpFOEwzQm9iM1J2YzJodmNEcEpRME5RY205bWFXeGxQZ29nSUNBZ0lDQWdJQ0E4ZEdsbVpqcFBjbWxsYm5SaGRHbHZiajR4UEM5MGFXWm1Pazl5YVdWdWRHRjBhVzl1UGdvZ0lDQWdJQ0FnSUNBOGRHbG1aanBZVW1WemIyeDFkR2x2Ymo0M01qQXdNREF2TVRBd01EQThMM1JwWm1ZNldGSmxjMjlzZFhScGIyNCtDaUFnSUNBZ0lDQWdJRHgwYVdabU9sbFNaWE52YkhWMGFXOXVQamN5TURBd01DOHhNREF3TUR3dmRHbG1aanBaVW1WemIyeDFkR2x2Ymo0S0lDQWdJQ0FnSUNBZ1BIUnBabVk2VW1WemIyeDFkR2x2YmxWdWFYUStNand2ZEdsbVpqcFNaWE52YkhWMGFXOXVWVzVwZEQ0S0lDQWdJQ0FnSUNBZ1BHVjRhV1k2UTI5c2IzSlRjR0ZqWlQ0eFBDOWxlR2xtT2tOdmJHOXlVM0JoWTJVK0NpQWdJQ0FnSUNBZ0lEeGxlR2xtT2xCcGVHVnNXRVJwYldWdWMybHZiajR4TWpnOEwyVjRhV1k2VUdsNFpXeFlSR2x0Wlc1emFXOXVQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZsRWFXMWxibk5wYjI0K01USTRQQzlsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrQ2lBZ0lEd3ZjbVJtT2xKRVJqNEtQQzk0T25odGNHMWxkR0UrQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDancvZUhCaFkydGxkQ0JsYm1ROUluY2lQejRHbjBRVkFBQUFJR05JVWswQUFIb2xBQUNBZ3dBQStmOEFBSURwQUFCMU1BQUE2bUFBQURxWUFBQVhiNUpmeFVZQUFBS3ZTVVJCVkhqYTdOdkpjc0pBREVWUlI4WC9mM0c3eVlLa3l3d0JUR3cvRFZlTFZJZXFMRGd2a215R3IvUDVQQld1ODIvMTY1cm5lZmx6ZWJpcDFscnZ2YlYyT1k5Znh5UGo4WEZZbmsvbzk5NXZBbGlsdnp5djFXK3RHZnBDL1htZURYMkovdmhEUTEraVgzY0V1ZEl2RjRBMy9Wbzd3SlYrdVIzZ1RiL1dDSEtyWDJJRStkU3ZNb0xjNnBmb0FQLzZtVHNnaEg3YUFLTG81eHhCSWZUVEx1RW8rams3SUp4K3FnQWk2dWNaUVVIMWszUkFSUDFSaHI1RVA4bU5XSFQ5MkIyUVFMLzNma0pmcFI4NGdCei8rMUVEU0tNZk1vQk0rdkVDU0tZZjdENGdtZjU0eE5BWDZzZm9nTVQ2QVFMSXJlOTlCQ1hXSDAvRTBKZm9lKytBSXZwT082Q0kvdVVKR3ZvcWZZOGRVRTNmVndBRjlSMk5vSnI2WGdJb3ErL2lNclN5dmo2QTR2cmlFWVQrTkUyR3ZsQmZGZ0Q2ZzhMUUYrb0xBa0QvQnNUUUYrb2ZHZ0Q2RDFrTWZhSCtRUUdnL3dUSDBCZnE3eDRBK2krSkRIMmgvbzRCb1A4bWxLRXYxTjhsQVBSWGNSbjZRdjJOQTBEL0F6UkRYNmkvV1FEb2YweG42QXYxTndnQS9YOENHdnBDL1g4RmdQNG02OVBRRitwL0dBRDZHOTQ4R2ZwQy9kVUJvTC81UzJlR3ZsQi9SUURvNy9UR2lhRXYxSDhyQVBSM2ZkdmMwQmZxdndnQS9RTStOR1hvQy9YL0RBRDl3ejR5YStnTDlSOEVnUDdCWDVndzlJWDZWd0dnUHluSzBCZnEvd1NBL3FRclEzK1NscUd2RHdCOVpRRDl1dEJYQm9DK01nRDBsUUdncnd3QWZXVUE2RHZxQVBTVkhZQytzZ1BRVjNZQStsNUdFUHJLRVlTK2NnU2g3eWdBOUpVQm9LOE1BUDNqNjNSUlJsOThGWVMrY2dTaHJ3d0FmUzlMR0gxbEFPaUxkd0Q2NGgyQXZvc1JoTDV5QktFdkcwSG82M2NBK3ZvN1lmVEZIWUMraXlXTXZuSUpveThlUWVnclJ4RDZ5aEdFdnBjZGdMN2Z5MUQwbFplaDZPOVVwM3YwNSs1RC8vNHdsRy95R0RHZy84bDl3RHY2eTY5YW9yK3F2Z2NBK3hBWW83UTYySThBQUFBQVNVVk9SSzVDWUlJPQ"},{ name : "__ASSET__:sound_flixel_addons_text_TypeSound", data : "T2dnUwACAAAAAAAAAACBPwAAAAAAAD99658BHgF2b3JiaXMAAAAAAUSsAAAAAAAAgLsAAAAAAAC4AU9nZ1MAAAAAAAAAAAAAgT8AAAEAAAA8HKMNDy3/////////////////MgN2b3JiaXMdAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAwNzA2MjIAAAAAAQV2b3JiaXMfQkNWAQAAAQAYY1QpRplS0kqJGXOUMUaZYpJKiaWEFkJInXMUU6k515xrrLm1IIQQGlNQKQWZUo5SaRljkCkFmVIQS0kldBI6J51jEFtJwdaYa4tBthyEDZpSTCnElFKKQggZU4wpxZRSSkIHJXQOOuYcU45KKEG4nHOrtZaWY4updJJK5yRkTEJIKYWSSgelU05CSDWW1lIpHXNSUmpB6CCEEEK2IIQNgtCQVQAAAQDAQBAasgoAUAAAEIqhGIoChIasAgAyAAAEoCiO4iiOIzmSY0kWEBqyCgAAAgAQAADAcBRJkRTJsSRL0ixL00RRVX3VNlVV9nVd13Vd13UgNGQVAAABAEBIp5mlGiDCDGQYCA1ZBQAgAAAARijCEANCQ1YBAAABAABiKDmIJrTmfHOOg2Y5aCrF5nRwItXmSW4q5uacc845J5tzxjjnnHOKcmYxaCa05pxzEoNmKWgmtOacc57E5kFrqrTmnHPGOaeDcUYY55xzmrTmQWo21uaccxa0pjlqLsXmnHMi5eZJbS7V5pxzzjnnnHPOOeecc6oXp3NwTjjnnHOi9uZabkIX55xzPhmne3NCOOecc84555xzzjnnnHOC0JBVAAAQAABBGDaGcacgSJ+jgRhFiGnIpAfdo8MkaAxyCqlHo6ORUuoglFTGSSmdIDRkFQAACAAAIYQUUkghhRRSSCGFFFKIIYYYYsgpp5yCCiqppKKKMsoss8wyyyyzzDLrsLPOOuwwxBBDDK20EktNtdVYY62555xrDtJaaa211koppZRSSikIDVkFAIAAABAIGWSQQUYhhRRSiCGmnHLKKaigAkJDVgEAgAAAAgAAADzJc0RHdERHdERHdERHdETHczxHlERJlERJtEzL1ExPFVXVlV1b1mXd9m1hF3bd93Xf93Xj14VhWZZlWZZlWZZlWZZlWZZlWYLQkFUAAAgAAIAQQgghhRRSSCGlGGPMMeegk1BCIDRkFQAACAAgAAAAwFEcxXEkR3IkyZIsSZM0S7M8zdM8TfREURRN01RFV3RF3bRF2ZRN13RN2XRVWbVdWbZt2dZtX5Zt3/d93/d93/d93/d93/d1HQgNWQUASAAA6EiOpEiKpEiO4ziSJAGhIasAABkAAAEAKIqjOI7jSJIkSZakSZ7lWaJmaqZneqqoAqEhqwAAQAAAAQAAAAAAKJriKabiKaLiOaIjSqJlWqKmaq4om7Lruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7rui4QGrIKAJAAANCRHMmRHEmRFEmRHMkBQkNWAQAyAAACAHAMx5AUybEsS9M8zdM8TfRET/RMTxVd0QVCQ1YBAIAAAAIAAAAAADAkw1IsR3M0SZRUS7VUTbVUSxVVT1VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTVN0zRNIDRkJQAABADAYo3B5SAhJSXl3hDCEJOeMSYhtV4hBJGS3jEGFYOeMqIMct5C4xCDHggNWREARAEAAMYgxxBzyDlHqZMSOeeodJQa5xyljlJnKcWYYs0oldhSrI1zjlJHraOUYiwtdpRSjanGAgAAAhwAAAIshEJDVgQAUQAAhDFIKaQUYow5p5xDjCnnmHOGMeYcc44556B0UirnnHROSsQYc445p5xzUjonlXNOSiehAACAAAcAgAALodCQFQFAnACAQZI8T/I0UZQ0TxRFU3RdUTRd1/I81fRMU1U90VRVU1Vt2VRVWZY8zzQ901RVzzRV1VRVWTZVVZZFVdVt03V123RV3ZZt2/ddWxZ2UVVt3VRd2zdV1/Zd2fZ9WdZ1Y/I8VfVM03U903Rl1XVtW3VdXfdMU5ZN15Vl03Vt25VlXXdl2fc103Rd01Vl2XRd2XZlV7ddWfZ903WF35VlX1dlWRh2XfeFW9eV5XRd3VdlVzdWWfZ9W9eF4dZ1YZk8T1U903RdzzRdV3VdX1dd19Y105Rl03Vt2VRdWXZl2fddV9Z1zzRl2XRd2zZdV5ZdWfZ9V5Z13XRdX1dlWfhVV/Z1WdeV4dZt4Tdd1/dVWfaFV5Z14dZ1Ybl1XRg+VfV9U3aF4XRl39eF31luXTiW0XV9YZVt4VhlWTl+4ViW3feVZXRdX1ht2RhWWRaGX/id5fZ943h1XRlu3efMuu8Mx++k+8rT1W1jmX3dWWZfd47hGDq/8OOpqq+brisMpywLv+3rxrP7vrKMruv7qiwLvyrbwrHrvvP8vrAso+z6wmrLwrDatjHcvm4sv3Acy2vryjHrvlG2dXxfeArD83R1XXlmXcf2dXTjRzh+ygAAgAEHAIAAE8pAoSErAoA4AQCPJImiZFmiKFmWKIqm6LqiaLqupGmmqWmeaVqaZ5qmaaqyKZquLGmaaVqeZpqap5mmaJqua5qmrIqmKcumasqyaZqy7LqybbuubNuiacqyaZqybJqmLLuyq9uu7Oq6pFmmqXmeaWqeZ5qmasqyaZquq3meanqeaKqeKKqqaqqqraqqLFueZ5qa6KmmJ4qqaqqmrZqqKsumqtqyaaq2bKqqbbuq7Pqybeu6aaqybaqmLZuqatuu7OqyLNu6L2maaWqeZ5qa55mmaZqybJqqK1uep5qeKKqq5ommaqqqLJumqsqW55mqJ4qq6omea5qqKsumatqqaZq2bKqqLZumKsuubfu+68qybqqqbJuqauumasqybMu+78qq7oqmKcumqtqyaaqyLduy78uyrPuiacqyaaqybaqqLsuybRuzbPu6aJqybaqmLZuqKtuyLfu6LNu678qub6uqrOuyLfu67vqucOu6MLyybPuqrPq6K9u6b+sy2/Z9RNOUZVM1bdtUVVl2Zdn2Zdv2fdE0bVtVVVs2TdW2ZVn2fVm2bWE0Tdk2VVXWTdW0bVmWbWG2ZeF2Zdm3ZVv2ddeVdV/XfePXZd3murLty7Kt+6qr+rbu+8Jw667wCgAAGHAAAAgwoQwUGrISAIgCAACMYYwxCI1SzjkHoVHKOecgZM5BCCGVzDkIIZSSOQehlJQy5yCUklIIoZSUWgshlJRSawUAABQ4AAAE2KApsThAoSErAYBUAACD41iW55miatqyY0meJ4qqqaq27UiW54miaaqqbVueJ4qmqaqu6+ua54miaaqq6+q6aJqmqaqu67q6Lpqiqaqq67qyrpumqqquK7uy7Oumqqqq68quLPvCqrquK8uybevCsKqu68qybNu2b9y6ruu+7/vCka3rui78wjEMRwEA4AkOAEAFNqyOcFI0FlhoyEoAIAMAgDAGIYMQQgYhhJBSSiGllBIAADDgAAAQYEIZKDRkRQAQJwAAGEMppJRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkgppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkqppJRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoplVJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSCgCQinAAkHowoQwUGrISAEgFAACMUUopxpyDEDHmGGPQSSgpYsw5xhyUklLlHIQQUmktt8o5CCGk1FJtmXNSWosx5hgz56SkFFvNOYdSUoux5ppr7qS0VmuuNedaWqs115xzzbm0FmuuOdecc8sx15xzzjnnGHPOOeecc84FAOA0OACAHtiwOsJJ0VhgoSErAYBUAAACGaUYc8456BBSjDnnHIQQIoUYc845CCFUjDnnHHQQQqgYc8w5CCGEkDnnHIQQQgghcw466CCEEEIHHYQQQgihlM5BCCGEEEooIYQQQgghhBA6CCGEEEIIIYQQQgghhFJKCCGEEEIJoZRQAABggQMAQIANqyOcFI0FFhqyEgAAAgCAHJagUs6EQY5Bjw1BylEzDUJMOdGZYk5qMxVTkDkQnXQSGWpB2V4yCwAAgCAAIMAEEBggKPhCCIgxAABBiMwQCYVVsMCgDBoc5gHAA0SERACQmKBIu7iALgNc0MVdB0IIQhCCWBxAAQk4OOGGJ97whBucoFNU6iAAAAAAAAwA4AEA4KAAIiKaq7C4wMjQ2ODo8AgAAAAAABYA+AAAOD6AiIjmKiwuMDI0Njg6PAIAAAAAAAAAAICAgAAAAAAAQAAAAICAT2dnUwAEywgAAAAAAACBPwAAAgAAAEvHOpMSHx4YHR4fHR0fHR8dHxscHyCMdGFB0n7LSWA/69mku4y/xyqb05UXpt9j4++xyjbkLYRlwfH9tQ5gNdXp0r2yOT3+Hhuv2pwef4+NVzZ7BlxfQeauLwBrNQ6jQerWBOSFukypael0B1RXWpH+8AY4MtNmXxdxxfojRWo/MlQvVb95OkwIhGnh8QfMV4DF/odWOzoduyueL3qxkqwGml49YQ2UfGMZgg9WPQesn1oDETuuJMVjd+XsFyvJxdhdObYzBGTlxpVd5ZcghPF+Wv3Xxz749GzkUySZA4Q8B8IPZF0RzP31GogaX1XN3v9W//0XrkgwE2tmaoaaCgCM546U++2zINrM7am6db35KeybTAFV/2hp5m2rFgkAfGO4wb5sMoGFbznG6Ourf5RO4l9nT3l7k0uPLgBMX+DhC1ETwOcXW0kSAx6bO2zKvgEzo2LmH9Tn25oBhGFR0D48ElhUc9MJlc3p99j45nRlc/x9pnqvsyR0Y8Hh/rsD2Jvq69L9PTbP98J0ZXO6sjk9/h4bfzcKTGFO0IM1HcDo4Ot04lTsa9F9zV1ktyPsSKsJRFee6KY6BbCOf1ZEQyWtq5fvw+f9pdGZkKKbD2Rh4dGDVSUQr857TZzOl1wUjd1drIzuisZSL9IjRQdUXZnAB6ucA+E+luXEabI29uJKysVKcrGS7FcSU+ulATqaPc9SVDGqU4QyxPz0GGOMdM7BnnMAYCmSxLAe/4bHSrd/y1CHsst+arXm+xkV6h2Rqd5VO8Drm/CkrBUf1tdZGlz1d9cRGajrI7y9yfr66jqvKcC6vr1x3lLW1tfX120AeHvrdRuAt7c3AdZs4Ly9vb3Fwt/hoABw8Ly9vb15AOftDQA4A+D2DgMA"},{ name : "__ASSET__:bitmap_flixel_system_debug__FlxDebugger_GraphicFlixel", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUF3QUFBQU1DQVlBQUFCV2RWem5BQUFBQkdkQlRVRUFBTEdPZlB0Umt3QUFBQ0JqU0ZKTkFBQ0hEd0FBakE4QUFQMVNBQUNCUUFBQWZYa0FBT21MQUFBODVRQUFHY3h6UElWM0FBQUtPV2xEUTFCUWFHOTBiM05vYjNBZ1NVTkRJSEJ5YjJacGJHVUFBRWpIblpaM1ZGVFhGb2ZQdlhkNm9jMHdBbEtHM3J2QUFOSjdrMTVGWVpnWllDZ0REak0wc1NHaUFoRkZSSm9pU0ZERWdORlFKRlpFc1JBVVZMQUhKQWdvTVJoRlZDeHZSdGFMcnF5ODkvTHkrK09zYisyejk3bjc3TDNQV2hjQWtxY3ZsNWNHU3dHUXloUHdnenljNlJHUlVYVHNBSUFCSG1DQUtRQk1Wa2E2WDdCN0NCREp5ODJGbmlGeUFsOEVBZkI2V0x3Q2NOUFFNNEJPQi8rZnBGbnBmSUhvbUFBUm03TTVHU3dSRjRnNEpVdVFMcmJQaXBnYWx5eG1HQ1ZtdmloQkVjdUpPV0dSRFQ3N0xMS2ptTm1wUExhSXhUbW5zMVBaWXU0VjhiWk1JVWZFaUsrSUN6TzVuQ3dSM3hLeFJvb3dsU3ZpTitMWVZBNHpBd0FVU1d3WGNGaUpJallSTVlrZkV1UWk0dVVBNEVnSlgzSGNWeXpnWkF2RWwzSkpTOC9oY3hNU0JYUWRsaTdkMU5xYVFmZmtaS1Z3QkFMREFDWXJtY2xuMDEzU1V0T1p2QndBRnUvOFdUTGkydEpGUmJZMHRiYTBORFF6TXYycVVQOTE4MjlLM050RmVobjR1V2NRcmYrTDdhLzgwaG9BWU15SmFyUHppeTJ1Q29ET0xRREkzZnRpMHpnQWdLU29ieDNYdjdvUFRUd3ZpUUpCdW8yeGNWWldsaEdYd3pJU0YvUVAvVStIdjZHdnZtY2tQdTZQOHRCZE9mRk1ZWXFBTHE0Ykt5MGxUY2luWjZReldSeTY0WitIK0I4SC9uVWVCa0djZUE2Znd4TkZoSW1tak10TEVMV2J4K1lLdUdrOE9wZjNuNXI0RDhQK3BNVzVGb25TK0JGUVk0eUExSFVxUUg3dEJ5Z0tFU0RSKzhWZC82TnZ2dmd3SUg1NTRTcVRpM1AvN3pmOVo4R2w0aVdEbS9BNXppVW9oTTRTOGpNWDk4VFBFcUFCQVVnQ0twQUh5a0FkNkFCRFlBYXNnQzF3Qkc3QUcvaURFQkFKVmdNV1NBU3BnQSt5UUI3WUJBcEJNZGdKOW9CcVVBY2FRVE5vQmNkQkp6Z0Z6b05MNEJxNEFXNkQrMkFVVElCbllCYThCZ3NRQkdFaE1rU0I1Q0VWU0JQU2g4d2dCbVFQdVVHK1VCQVVDY1ZDQ1JBUEVrSjUwR2FvR0NxRHFxRjZxQm42SGpvSm5ZZXVRSVBRWFdnTW1vWitoOTdCQ0V5Q3FiQVNyQVVid3d6WUNmYUJRK0JWY0FLOEJzNkZDK0FkY0NYY0FCK0ZPK0R6OERYNE5qd0tQNFBuRUlBUUVScWlpaGdpRE1RRjhVZWlrSGlFajZ4SGlwQUtwQUZwUmJxUlB1UW1Nb3JNSUc5UkdCUUZSVWNab214Um5xaFFGQXUxQnJVZVZZS3FSaDFHZGFCNlVUZFJZNmhaMUVjMEdhMkkxa2Zib0wzUUVlZ0VkQmE2RUYyQmJrSzNveStpYjZNbjBLOHhHQXdObzQyeHduaGlJakZKbUxXWUVzdytUQnZtSEdZUU00Nlp3Mkt4OGxoOXJCM1dIOHZFQ3JDRjJDcnNVZXhaN0JCMkF2c0dSOFNwNE14dzdyZ29IQStYajZ2QUhjR2R3UTNoSm5FTGVDbThKdDRHNzQ5bjQzUHdwZmhHZkRmK09uNEN2MENRSm1nVDdBZ2hoQ1RDSmtJbG9aVndrZkNBOEpKSUpLb1JyWW1CUkM1eEk3R1NlSXg0bVRoR2ZFdVNJZW1SWEVqUkpDRnBCK2tRNlJ6cEx1a2xtVXpXSWp1U284Z0M4ZzV5TS9rQytSSDVqUVJGd2tqQ1M0SXRzVUdpUnFKRFlraml1U1JlVWxQU1NYSzFaSzVraGVRSnlldVNNMUo0S1MwcEZ5bW0xSHFwR3FtVFVpTlNjOUlVYVZOcGYrbFU2UkxwSTlKWHBLZGtzREphTW00eWJKa0NtWU15RjJUR0tRaEZuZUpDWVZFMlV4b3BGeWtUVkF4Vm0rcEZUYUlXVTcrakRsQm5aV1ZrbDhtR3lXYkwxc2llbGgybElUUXRtaGN0aFZaS08wNGJwcjFib3JURWFRbG55ZllsclV1R2xzekxMWlZ6bE9QSUZjbTF5ZDJXZXlkUGwzZVRUNWJmSmQ4cC8xQUJwYUNuRUtpUXBiQmY0YUxDekZMcVV0dWxyS1ZGUzQ4dnZhY0lLK29wQmltdVZUeW8ySzg0cDZTczVLR1VybFNsZEVGcFJwbW03S2ljcEZ5dWZFWjVXb1dpWXEvQ1ZTbFhPYXZ5bEM1TGQ2S24wQ3ZwdmZSWlZVVlZUMVdoYXIzcWdPcUNtclphcUZxK1dwdmFRM1dDT2tNOVhyMWN2VWQ5VmtORncwOGpUNk5GNDU0bVhwT2htYWk1VjdOUGMxNUxXeXRjYTZ0V3A5YVV0cHkybDNhdWRvdjJBeDJ5am9QT0dwMEduVnU2R0YyR2JyTHVQdDBiZXJDZWhWNmlYbzNlZFgxWTMxS2ZxNzlQZjlBQWJXQnR3RE5vTUJneEpCazZHV1lhdGhpT0dkR01mSTN5alRxTm5odHJHRWNaN3pMdU0vNW9ZbUdTWXRKb2N0OVV4dFRiTk4rMDIvUjNNejB6bGxtTjJTMXpzcm03K1Fiekx2TVh5L1NYY1pidFgzYkhnbUxoWjdIVm9zZmlnNldWSmQreTFYTGFTc01xMXFyV2FvUkJaUVF3U2hpWHJkSFd6dFlickU5WnY3V3h0QkhZSExmNXpkYlFOdG4yaU8zVWN1M2xuT1dOeThmdDFPeVlkdlYyby9aMCsxajdBL2FqRHFvT1RJY0doOGVPNm81c3h5YkhTU2RkcHlTbm8wN1BuVTJjK2M3dHp2TXVOaTdyWE02NUlxNGVya1d1QTI0eWJxRnUxVzZQM05YY0U5eGIzR2M5TER6V2VwenpSSHY2ZU83eUhQRlM4bUo1Tlh2TmVsdDVyL1B1OVNINUJQdFUrenoyMWZQbCszYjd3WDdlZnJ2OUhxelFYTUZiMGVrUC9MMzhkL3MvRE5BT1dCUHdZeUFtTUNDd0p2QkprR2xRWGxCZk1DVTRKdmhJOE9zUTU1RFNrUHVoT3FIQzBKNHd5YkRvc09hdytYRFg4TEx3MFFqamlIVVIxeUlWSXJtUlhWSFlxTENvcHFpNWxXNHI5NnljaUxhSUxvd2VYcVc5S252VmxkVUtxMU5XbjQ2UmpHSEduSWhGeDRiSEhvbDl6L1JuTmpEbjRyemlhdU5tV1M2c3ZheG5iRWQyT1h1YVk4Y3A0MHpHMjhXWHhVOGwyQ1hzVHBoT2RFaXNTSnpodW5DcnVTK1NQSlBxa3VhVC9aTVBKWDlLQ1U5cFM4V2x4cWFlNU1ud2tubTlhY3BwMldtRDZmcnBoZW1qYTJ6VzdGa3p5L2ZoTjJWQUdhc3l1Z1JVMGM5VXYxQkh1RVU0bG1tZldaUDVKaXNzNjBTMmREWXZ1ejlITDJkN3ptU3VlKzYzYTFGcldXdDc4bFR6TnVXTnJYTmFWNzhlV2grM3ZtZUQrb2FDRFJNYlBUWWUza1RZbEx6cHAzeVQvTEw4VjV2RE4zY1hLQlZzTEJqZjRyR2xwVkNpa0Y4NHN0VjJhOTAyMURidXRvSHQ1dHVydG44c1loZGRMVFlwcmloK1g4SXF1ZnFONlRlVjMzemFFYjlqb05TeWRQOU96RTdlenVGZERyc09sMG1YNVphTjcvYmIzVkZPTHk4cWY3VW5acytWaW1VVmRYc0plNFY3Unl0OUs3dXFOS3AyVnIydlRxeStYZU5jMDFhcldMdTlkbjRmZTkvUWZzZjlyWFZLZGNWMTd3NXdEOXlwOTZqdmFOQnFxRGlJT1poNThFbGpXR1BmdDR4dm01c1Vtb3FiUGh6aUhSbzlISFM0dDltcXVmbUk0cEhTRnJoRjJESjlOUHJvamU5Y3YrdHFOV3l0YjZPMUZSOER4NFRIbm40ZisvM3djWi9qUFNjWUoxcC8wUHlodHAzU1h0UUJkZVIwekhZbWRvNTJSWFlObnZRKzJkTnQyOTMrbzlHUGgwNnBucW81TFh1NjlBemhUTUdaVDJkeno4NmRTejgzY3o3aC9IaFBUTS85Q3hFWGJ2VUc5ZzVjOUxsNCtaTDdwUXQ5VG4xbkw5dGRQblhGNXNySnE0eXJuZGNzcjNYMFcvUzMvMlR4VS91QTVVREhkYXZyWFRlc2IzUVBMaDg4TStRd2RQNm02ODFMdDd4dVhidTk0dmJnY09qd25aSG9rZEU3N0R0VGQxUHV2cmlYZVcvaC9zWUg2QWRGRDZVZVZqeFNmTlR3cys3UGJhT1dvNmZIWE1mNkh3Yy92ai9PR24vMlM4WXY3eWNLbnBDZlZFeXFURFpQbVUyZG1uYWZ2dkYwNWRPSlorblBGbVlLZjVYK3RmYTV6dk1mZm5QOHJYODJZbmJpQmYvRnA5OUxYc3EvUFBScTJhdWV1WUM1UjY5VFh5L01GNzJSZjNQNExlTnQzN3Z3ZDVNTFdlK3g3eXMvNkg3by91ano4Y0duMUUrZi9nVURtUFA4dXNUbzB3QUFBQWx3U0ZsekFBQUxFZ0FBQ3hJQjB0MSsvQUFBQUJwMFJWaDBVMjltZEhkaGNtVUFVR0ZwYm5RdVRrVlVJSFl6TGpVdU1UQXc5SEtoQUFBQkxFbEVRVlFvVTJQNGY5RG9QeEkrRG1RNy9qOWt4QUFDWDlYOVZJRjRHUkQvQStML0lNeUFwZ0drK2QvSEE0WTdqcnE1emdJcStBbFRpRlBENTRPRy94MTNxLzJYWHFuKy80S3RPOWhVWkF5eTRTck1sbzlBeFhaQXhRdzdsY0JZY3BYYS96TU9LSnErZ1RTNGdaenhBYWpZRWtreFRKUFlHclgvSjV6Y1lMYjBNL3cvWXNUdzdJREJPclBkcW5DVFlZcGh0TWhhdGYrSFhGMi9BSjBtQVE0TjQ0REhDN21XZXVEVXdMQlQ5VC9yNGFYUFdNNys1bVN3ZHZ5dkJzUy9USDFlLytkYzdveEZrOXAvNW1NYi93TVZnM0FPU01NQ0lQNFB3aVorei85enJIUkEwZ1JTdkFtbUdFUS9BbW40RGRNQTFoVHcrRC83S3R2L0RMczBnSXEzSUNzR3MwRWF3S1lqWTZPUXUyK1lqMnk0QlhVR2lpWjBEVitBR3R1QVdCQ29tQldJazRINEFiSkdBSlFUU2ZzMmF1VnlBQUFBQUVsRlRrU3VRbUND"},{ name : "__ASSET__:bitmap_flixel_system_debug_interaction_tools__Transform_GraphicTransformCursorDefault", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZsekFBQUxFZ0FBQ3hJQjB0MSsvQUFBQUJaMFJWaDBRM0psWVhScGIyNGdWR2x0WlFBd05TOHlPUzh4TnJ0VlFGa0FBQUFjZEVWWWRGTnZablIzWVhKbEFFRmtiMkpsSUVacGNtVjNiM0pyY3lCRFV6Ym92TEtNQUFBQUxrbEVRVlFZbFdQOC8vOC9BeGJ3bjRHQmdSRmRrQW1iU2x4Z2tDaG1ZWUI0Qmh2QUVHZGh3T0pyaG1FVUdnQjN1Z2NXZXB2bWtRQUFBQUJKUlU1RXJrSmdnZz09"}];
|
|
if(ArrayBuffer.prototype.slice == null) {
|
|
ArrayBuffer.prototype.slice = js_lib__$ArrayBuffer_ArrayBufferCompat.sliceImpl;
|
|
}
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = null;
|
|
var len = null;
|
|
var this1 = new Uint32Array(256);
|
|
lime_math_RGBA.__alpha16 = this1;
|
|
var _g = 0;
|
|
while(_g < 256) {
|
|
var i = _g++;
|
|
lime_math_RGBA.__alpha16[i] = Math.ceil(i * 257.00392156862745);
|
|
}
|
|
var array = null;
|
|
var vector = null;
|
|
var view = null;
|
|
var buffer = null;
|
|
var len = null;
|
|
var this1 = new Uint8Array(511);
|
|
lime_math_RGBA.__clamp = this1;
|
|
var _g = 0;
|
|
while(_g < 255) {
|
|
var i = _g++;
|
|
lime_math_RGBA.__clamp[i] = i;
|
|
}
|
|
var _g = 255;
|
|
var _g1 = 511;
|
|
while(_g < _g1) {
|
|
var i = _g++;
|
|
lime_math_RGBA.__clamp[i] = 255;
|
|
}
|
|
lime_system_CFFI.available = false;
|
|
lime_system_CFFI.enabled = false;
|
|
lime_utils_Log.level = 3;
|
|
if(typeof console == "undefined") {
|
|
console = {}
|
|
}
|
|
if(console.log == null) {
|
|
console.log = function() {
|
|
};
|
|
}
|
|
openfl_display__$internal_CanvasGraphics.hitTestCanvas = typeof(window) != "undefined" ? window.document.createElement("canvas") : null;
|
|
openfl_display__$internal_CanvasGraphics.hitTestContext = typeof(window) != "undefined" ? openfl_display__$internal_CanvasGraphics.hitTestCanvas.getContext("2d") : null;
|
|
openfl_ui_Multitouch.maxTouchPoints = 2;
|
|
openfl_ui_Multitouch.supportedGestures = null;
|
|
openfl_ui_Multitouch.supportsGestureEvents = false;
|
|
openfl_ui_Multitouch.inputMode = 2;
|
|
APIStuff.API = "";
|
|
APIStuff.EncKey = "";
|
|
flixel_math_FlxRect._pool = new flixel_util_FlxPool_$flixel_$math_$FlxRect(flixel_math_FlxRect);
|
|
flixel_FlxObject.defaultPixelPerfectPosition = false;
|
|
flixel_FlxObject.SEPARATE_BIAS = 4;
|
|
flixel_FlxObject.LEFT = 1;
|
|
flixel_FlxObject.RIGHT = 16;
|
|
flixel_FlxObject.UP = 256;
|
|
flixel_FlxObject.DOWN = 4096;
|
|
flixel_FlxObject.NONE = 0;
|
|
flixel_FlxObject.CEILING = 256;
|
|
flixel_FlxObject.FLOOR = 4096;
|
|
flixel_FlxObject.WALL = 17;
|
|
flixel_FlxObject.ANY = 4369;
|
|
flixel_FlxObject._firstSeparateFlxRect = (function($this) {
|
|
var $r;
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = 0;
|
|
var Height = 0;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
$r = rect;
|
|
return $r;
|
|
}(this));
|
|
flixel_FlxObject._secondSeparateFlxRect = (function($this) {
|
|
var $r;
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = 0;
|
|
var Height = 0;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
$r = rect;
|
|
return $r;
|
|
}(this));
|
|
AlphaCharacter.alphabet = "abcdefghijklmnopqrstuvwxyz";
|
|
AlphaCharacter.numbers = "1234567890";
|
|
AlphaCharacter.symbols = "|~#$%()*+-:;<=>@[]^_.,'!?";
|
|
openfl_Vector.__meta__ = { statics : { toNullVector : { SuppressWarnings : ["checkstyle:Dynamic"]}}};
|
|
openfl_display_DisplayObject.__meta__ = { fields : { __cairo : { SuppressWarnings : ["checkstyle:Dynamic"]}, addEventListener : { SuppressWarnings : ["checkstyle:Dynamic"]}, removeEventListener : { SuppressWarnings : ["checkstyle:Dynamic"]}}};
|
|
openfl_display_DisplayObject.__broadcastEvents = new haxe_ds_StringMap();
|
|
openfl_display_DisplayObject.__instanceCount = 0;
|
|
openfl_display_DisplayObject.__tempStack = new lime_utils_ObjectPool(function() {
|
|
return openfl_Vector.toObjectVector(null);
|
|
},function(stack) {
|
|
stack.set_length(0);
|
|
});
|
|
flixel_addons_transition_FlxTransitionableState.defaultTransIn = null;
|
|
flixel_addons_transition_FlxTransitionableState.defaultTransOut = null;
|
|
flixel_addons_transition_FlxTransitionableState.skipNextTransIn = false;
|
|
flixel_addons_transition_FlxTransitionableState.skipNextTransOut = false;
|
|
flixel_addons_ui_FlxUIState.static_tongue = null;
|
|
ChartingState.lastSection = 0;
|
|
Conductor.bpm = 100;
|
|
Conductor.crochet = 60 / Conductor.bpm * 1000;
|
|
Conductor.stepCrochet = Conductor.crochet / 4;
|
|
Conductor.offset = 0;
|
|
Conductor.safeFrames = 10;
|
|
Conductor.safeZoneOffset = Conductor.safeFrames / 60 * 1000;
|
|
Conductor.bpmChangeMap = [];
|
|
Highscore.songScores = new haxe_ds_StringMap();
|
|
openfl_text_Font.__fontByName = new haxe_ds_StringMap();
|
|
openfl_text_Font.__registeredFonts = [];
|
|
NGio.isLoggedIn = false;
|
|
NGio.scoreboardsLoaded = false;
|
|
NGio.scoreboardArray = [];
|
|
NGio.ngDataLoaded = new flixel_util__$FlxSignal_FlxSignal0();
|
|
NGio.ngScoresLoaded = new flixel_util__$FlxSignal_FlxSignal0();
|
|
NGio.GAME_VER = "";
|
|
NGio.GAME_VER_NUMS = "";
|
|
NGio.gotOnlineVer = false;
|
|
Note.swagWidth = 112.;
|
|
Note.PURP_NOTE = 0;
|
|
Note.GREEN_NOTE = 2;
|
|
Note.BLUE_NOTE = 1;
|
|
Note.RED_NOTE = 3;
|
|
PlayState.curStage = "";
|
|
PlayState.isStoryMode = false;
|
|
PlayState.storyWeek = 0;
|
|
PlayState.storyPlaylist = [];
|
|
PlayState.storyDifficulty = 1;
|
|
PlayState.campaignScore = 0;
|
|
PlayState.daPixelZoom = 6;
|
|
PlayerSettings.numPlayers = 0;
|
|
PlayerSettings.numAvatars = 0;
|
|
PlayerSettings.onAvatarAdd = new flixel_util__$FlxSignal_FlxSignal1();
|
|
PlayerSettings.onAvatarRemove = new flixel_util__$FlxSignal_FlxSignal1();
|
|
Section.COPYCAT = 0;
|
|
StoryMenuState.weekUnlocked = [true,true,true,true,true,true,true];
|
|
TitleState.initialized = false;
|
|
TitleState.soundExt = ".mp3";
|
|
openfl_display_Shader.__meta__ = { fields : { glProgram : { SuppressWarnings : ["checkstyle:Dynamic"]}}};
|
|
Xml.Element = 0;
|
|
Xml.PCData = 1;
|
|
Xml.CData = 2;
|
|
Xml.Comment = 3;
|
|
Xml.DocType = 4;
|
|
Xml.ProcessingInstruction = 5;
|
|
Xml.Document = 6;
|
|
flixel_math_FlxPoint._pool = new flixel_util_FlxPool_$flixel_$math_$FlxPoint(flixel_math_FlxPoint);
|
|
lime_math_Matrix3.__identity = new lime_math_Matrix3();
|
|
openfl_geom_Matrix.__meta__ = { fields : { equals : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, to3DString : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, toMozString : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}};
|
|
openfl_geom_Matrix.__identity = new openfl_geom_Matrix();
|
|
openfl_geom_Matrix.__pool = new lime_utils_ObjectPool(function() {
|
|
return new openfl_geom_Matrix();
|
|
},function(m) {
|
|
m.identity();
|
|
});
|
|
openfl_geom_Matrix.__matrix3 = new lime_math_Matrix3();
|
|
openfl_geom_ColorTransform.__pool = new lime_utils_ObjectPool(function() {
|
|
return new openfl_geom_ColorTransform();
|
|
},function(ct) {
|
|
ct.__identity();
|
|
});
|
|
flixel_FlxCamera.drawVertices = openfl_Vector.toFloatVector(null);
|
|
flixel_FlxCamera.trianglesSprite = new openfl_display_Sprite();
|
|
flixel_FlxCamera.renderPoint = (function($this) {
|
|
var $r;
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
$r = point;
|
|
return $r;
|
|
}(this));
|
|
flixel_FlxCamera.renderRect = (function($this) {
|
|
var $r;
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = 0;
|
|
var Height = 0;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
$r = rect;
|
|
return $r;
|
|
}(this));
|
|
flixel_system_FlxVersion.sha = "";
|
|
flixel_math_FlxRandom._arrayFloatHelper = null;
|
|
flixel_math_FlxRandom.MULTIPLIER = 48271.0;
|
|
flixel_math_FlxRandom.MODULUS = 2147483647;
|
|
flixel_FlxG.autoPause = true;
|
|
flixel_FlxG.fixedTimestep = true;
|
|
flixel_FlxG.timeScale = 1;
|
|
flixel_FlxG.worldDivisions = 6;
|
|
flixel_FlxG.VERSION = new flixel_system_FlxVersion(4,8,1);
|
|
flixel_FlxG.elapsed = 0;
|
|
flixel_FlxG.maxElapsed = 0.1;
|
|
flixel_FlxG.scaleMode = new flixel_system_scaleModes_RatioScaleMode();
|
|
flixel_FlxG.worldBounds = (function($this) {
|
|
var $r;
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = 0;
|
|
var Height = 0;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
$r = rect;
|
|
return $r;
|
|
}(this));
|
|
flixel_FlxG.save = new flixel_util_FlxSave();
|
|
flixel_FlxG.random = new flixel_math_FlxRandom();
|
|
flixel_FlxG.swipes = [];
|
|
flixel_FlxG.html5 = new flixel_system_frontEnds_HTML5FrontEnd();
|
|
flixel_FlxG.inputs = new flixel_system_frontEnds_InputFrontEnd();
|
|
flixel_FlxG.console = new flixel_system_frontEnds_ConsoleFrontEnd();
|
|
flixel_FlxG.log = new flixel_system_frontEnds_LogFrontEnd();
|
|
flixel_FlxG.bitmapLog = new flixel_system_frontEnds_BitmapLogFrontEnd();
|
|
flixel_FlxG.watch = new flixel_system_frontEnds_WatchFrontEnd();
|
|
flixel_FlxG.debugger = new flixel_system_frontEnds_DebuggerFrontEnd();
|
|
flixel_FlxG.bitmap = new flixel_system_frontEnds_BitmapFrontEnd();
|
|
flixel_FlxG.cameras = new flixel_system_frontEnds_CameraFrontEnd();
|
|
flixel_FlxG.initialWidth = 0;
|
|
flixel_FlxG.initialHeight = 0;
|
|
flixel_FlxG.initialZoom = 0;
|
|
flixel_FlxG.signals = new flixel_system_frontEnds_SignalFrontEnd();
|
|
flixel_addons_text_TypeSound.resourceName = "__ASSET__:sound_flixel_addons_text_TypeSound";
|
|
flixel_text_FlxText.VERTICAL_GUTTER = 4;
|
|
flixel_addons_text_FlxTypeText.helperString = "";
|
|
openfl_display_BitmapData.__meta__ = { fields : { image : { SuppressWarnings : ["checkstyle:Dynamic"]}, __framebufferContext : { SuppressWarnings : ["checkstyle:Dynamic"]}, __indexBufferContext : { SuppressWarnings : ["checkstyle:Dynamic"]}, __surface : { SuppressWarnings : ["checkstyle:Dynamic"]}, __textureContext : { SuppressWarnings : ["checkstyle:Dynamic"]}, __vertexBufferContext : { SuppressWarnings : ["checkstyle:Dynamic"]}, compare : { SuppressWarnings : ["checkstyle:Dynamic"]}, getSurface : { SuppressWarnings : ["checkstyle:Dynamic"]}, __fromImage : { SuppressWarnings : ["checkstyle:Dynamic"]}}};
|
|
openfl_display_BitmapData.VERTEX_BUFFER_STRIDE = 14;
|
|
openfl_display_BitmapData.__supportsBGRA = null;
|
|
openfl_display_BitmapData.__tempVector = new lime_math_Vector2();
|
|
flixel_addons_transition_GraphicTransTileCircle.resourceType = "image/png";
|
|
flixel_addons_transition_GraphicTransTileCircle.resourceName = "__ASSET__:bitmap_flixel_addons_transition_GraphicTransTileCircle";
|
|
flixel_addons_transition_GraphicTransTileDiamond.resourceType = "image/png";
|
|
flixel_addons_transition_GraphicTransTileDiamond.resourceName = "__ASSET__:bitmap_flixel_addons_transition_GraphicTransTileDiamond";
|
|
flixel_addons_transition_GraphicTransTileSquare.resourceType = "image/png";
|
|
flixel_addons_transition_GraphicTransTileSquare.resourceName = "__ASSET__:bitmap_flixel_addons_transition_GraphicTransTileSquare";
|
|
flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient.resourceType = "image/png";
|
|
flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient.resourceName = "__ASSET__:bitmap_flixel_addons_transition__TransitionFade_GraphicDiagonalGradient";
|
|
flixel_addons_ui_Anchor.LEFT = "left";
|
|
flixel_addons_ui_Anchor.RIGHT = "right";
|
|
flixel_addons_ui_Anchor.TOP = "top";
|
|
flixel_addons_ui_Anchor.BOTTOM = "bottom";
|
|
flixel_addons_ui_Anchor.CENTER = "center";
|
|
flixel_addons_ui_Anchor.UNKNOWN = "unknown";
|
|
flixel_addons_ui_FlxInputText.NO_FILTER = 0;
|
|
flixel_addons_ui_FlxInputText.ONLY_ALPHA = 1;
|
|
flixel_addons_ui_FlxInputText.ONLY_NUMERIC = 2;
|
|
flixel_addons_ui_FlxInputText.ONLY_ALPHANUMERIC = 3;
|
|
flixel_addons_ui_FlxInputText.CUSTOM_FILTER = 4;
|
|
flixel_addons_ui_FlxInputText.ALL_CASES = 0;
|
|
flixel_addons_ui_FlxInputText.UPPER_CASE = 1;
|
|
flixel_addons_ui_FlxInputText.LOWER_CASE = 2;
|
|
flixel_addons_ui_FlxInputText.BACKSPACE_ACTION = "backspace";
|
|
flixel_addons_ui_FlxInputText.DELETE_ACTION = "delete";
|
|
flixel_addons_ui_FlxInputText.ENTER_ACTION = "enter";
|
|
flixel_addons_ui_FlxInputText.INPUT_ACTION = "input";
|
|
flixel_addons_ui_FlxUISprite.RESIZE_RATIO_X = 0;
|
|
flixel_addons_ui_FlxUISprite.RESIZE_RATIO_Y = 1;
|
|
flixel_addons_ui_FlxUISprite.RESIZE_RATIO_UNKNOWN = -1;
|
|
openfl_geom_Point.__pool = new lime_utils_ObjectPool(function() {
|
|
return new openfl_geom_Point();
|
|
},function(p) {
|
|
p.setTo(0,0);
|
|
});
|
|
openfl_geom_Rectangle.__pool = new lime_utils_ObjectPool(function() {
|
|
return new openfl_geom_Rectangle();
|
|
},function(r) {
|
|
r.setTo(0,0,0,0);
|
|
});
|
|
flixel_addons_ui_FlxUI9SliceSprite.bitmapsCreated = 0;
|
|
flixel_addons_ui_FlxUI9SliceSprite.useSectionCache = true;
|
|
flixel_addons_ui_FlxUI9SliceSprite._staticPoint = new openfl_geom_Point();
|
|
flixel_addons_ui_FlxUI9SliceSprite._staticRect = new openfl_geom_Rectangle();
|
|
flixel_addons_ui_FlxUI9SliceSprite._staticRect2 = new openfl_geom_Rectangle();
|
|
flixel_addons_ui_FlxUI9SliceSprite._staticPointZero = new openfl_geom_Point(0,0);
|
|
flixel_addons_ui_FlxUI9SliceSprite._staticMatrix = new openfl_geom_Matrix();
|
|
flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect = (function($this) {
|
|
var $r;
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = 0;
|
|
var Height = 0;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
$r = rect;
|
|
return $r;
|
|
}(this));
|
|
flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect2 = (function($this) {
|
|
var $r;
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = 0;
|
|
var Height = 0;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
$r = rect;
|
|
return $r;
|
|
}(this));
|
|
flixel_addons_ui_FlxUI9SliceSprite.TILE_NONE = 0;
|
|
flixel_addons_ui_FlxUI9SliceSprite.TILE_BOTH = 17;
|
|
flixel_addons_ui_FlxUI9SliceSprite.TILE_H = 16;
|
|
flixel_addons_ui_FlxUI9SliceSprite.TILE_V = 1;
|
|
flixel_addons_ui_FlxUIAssets.IMG_BUTTON = "flixel/flixel-ui/img/button.png";
|
|
flixel_addons_ui_FlxUIAssets.IMG_BUTTON_ARROW_DOWN = "flixel/flixel-ui/img/button_arrow_down.png";
|
|
flixel_addons_ui_FlxUIAssets.IMG_BUTTON_ARROW_LEFT = "flixel/flixel-ui/img/button_arrow_left.png";
|
|
flixel_addons_ui_FlxUIAssets.IMG_BUTTON_ARROW_RIGHT = "flixel/flixel-ui/img/button_arrow_right.png";
|
|
flixel_addons_ui_FlxUIAssets.IMG_BUTTON_ARROW_UP = "flixel/flixel-ui/img/button_arrow_up.png";
|
|
flixel_addons_ui_FlxUIAssets.IMG_BUTTON_THIN = "flixel/flixel-ui/img/button_thin.png";
|
|
flixel_addons_ui_FlxUIAssets.IMG_BUTTON_TOGGLE = "flixel/flixel-ui/img/button_toggle.png";
|
|
flixel_addons_ui_FlxUIAssets.IMG_BUTTON_SIZE = 18;
|
|
flixel_addons_ui_FlxUIAssets.IMG_CHECK_MARK = "flixel/flixel-ui/img/check_mark.png";
|
|
flixel_addons_ui_FlxUIAssets.IMG_CHECK_BOX = "flixel/flixel-ui/img/check_box.png";
|
|
flixel_addons_ui_FlxUIAssets.IMG_CHROME = "flixel/flixel-ui/img/chrome.png";
|
|
flixel_addons_ui_FlxUIAssets.IMG_CHROME_LIGHT = "flixel/flixel-ui/img/chrome_light.png";
|
|
flixel_addons_ui_FlxUIAssets.IMG_CHROME_FLAT = "flixel/flixel-ui/img/chrome_flat.png";
|
|
flixel_addons_ui_FlxUIAssets.IMG_CHROME_INSET = "flixel/flixel-ui/img/chrome_inset.png";
|
|
flixel_addons_ui_FlxUIAssets.IMG_RADIO = "flixel/flixel-ui/img/radio.png";
|
|
flixel_addons_ui_FlxUIAssets.IMG_RADIO_DOT = "flixel/flixel-ui/img/radio_dot.png";
|
|
flixel_addons_ui_FlxUIAssets.IMG_TAB = "flixel/flixel-ui/img/tab.png";
|
|
flixel_addons_ui_FlxUIAssets.IMG_TAB_BACK = "flixel/flixel-ui/img/tab_back.png";
|
|
flixel_addons_ui_FlxUIAssets.IMG_BOX = "flixel/flixel-ui/img/box.png";
|
|
flixel_addons_ui_FlxUIAssets.IMG_DROPDOWN = "flixel/flixel-ui/img/dropdown_mark.png";
|
|
flixel_addons_ui_FlxUIAssets.IMG_PLUS = "flixel/flixel-ui/img/plus_mark.png";
|
|
flixel_addons_ui_FlxUIAssets.IMG_MINUS = "flixel/flixel-ui/img/minus_mark.png";
|
|
flixel_addons_ui_FlxUIAssets.IMG_HILIGHT = "flixel/flixel-ui/img/hilight.png";
|
|
flixel_addons_ui_FlxUIAssets.IMG_INVIS = "flixel/flixel-ui/img/invis.png";
|
|
flixel_addons_ui_FlxUIAssets.IMG_SWATCH = "flixel/flixel-ui/img/swatch.png";
|
|
flixel_addons_ui_FlxUIAssets.IMG_TOOLTIP_ARROW = "flixel/flixel-ui/img/tooltip_arrow.png";
|
|
flixel_addons_ui_FlxUIAssets.IMG_FINGER_SMALL = "flixel/flixel-ui/img/finger_small.png";
|
|
flixel_addons_ui_FlxUIAssets.IMG_FINGER_BIG = "flixel/flixel-ui/img/finger_big.png";
|
|
flixel_addons_ui_FlxUIAssets.SLICE9_BUTTON = "6,6,11,11";
|
|
flixel_addons_ui_FlxUIAssets.SLICE9_BUTTON_THIN = "2,2,15,15";
|
|
flixel_addons_ui_FlxUIAssets.SLICE9_BUTTON_TOGGLE = "6,6,11,11";
|
|
flixel_addons_ui_FlxUIAssets.SLICE9_TAB = "6,6,11,11";
|
|
flixel_addons_ui_FlxUIAssets.XML_DEFAULTS_ID = "flixel/flixel-ui/xml/defaults";
|
|
flixel_addons_ui_FlxUIAssets.XML_DEFAULT_POPUP_ID = "flixel/flixel-ui/xml/default_popup";
|
|
flixel_addons_ui_FlxUIAssets.XML_DEFAULT_LOADING_SCREEN_ID = "flixel/flixel-ui/xml/default_loading_screen";
|
|
flixel_addons_ui_FlxUIAssets.index_size = null;
|
|
flixel_addons_ui_FlxUITypedButton.CLICK_EVENT = "click_button";
|
|
flixel_addons_ui_FlxUITypedButton.OVER_EVENT = "over_button";
|
|
flixel_addons_ui_FlxUITypedButton.DOWN_EVENT = "down_button";
|
|
flixel_addons_ui_FlxUITypedButton.OUT_EVENT = "out_button";
|
|
flixel_addons_ui_FlxUICheckBox.CLICK_EVENT = "click_check_box";
|
|
flixel_addons_ui_FlxUICursor.KEYS_TAB = 1;
|
|
flixel_addons_ui_FlxUICursor.KEYS_WASD = 16;
|
|
flixel_addons_ui_FlxUICursor.KEYS_ARROWS = 256;
|
|
flixel_addons_ui_FlxUICursor.KEYS_NUMPAD = 4096;
|
|
flixel_addons_ui_FlxUICursor.GAMEPAD_DPAD = 65536;
|
|
flixel_addons_ui_FlxUICursor.GAMEPAD_LEFT_STICK = 1048576;
|
|
flixel_addons_ui_FlxUICursor.GAMEPAD_RIGHT_STICK = 16777216;
|
|
flixel_addons_ui_FlxUICursor.GAMEPAD_SHOULDER_BUTTONS = 268435456;
|
|
flixel_addons_ui_FlxUICursor.INPUT_NONE = 0;
|
|
flixel_addons_ui_FlxUICursor.INPUT_KEYS = 1;
|
|
flixel_addons_ui_FlxUICursor.INPUT_GAMEPAD = 16;
|
|
flixel_addons_ui_FlxUIDropDownMenu.CLICK_EVENT = "click_dropdown";
|
|
flixel_addons_ui_FlxUIInputText.CHANGE_EVENT = "change_input_text";
|
|
flixel_addons_ui_FlxUIInputText.ENTER_EVENT = "enter_input_text";
|
|
flixel_addons_ui_FlxUIInputText.DELETE_EVENT = "delete_input_text";
|
|
flixel_addons_ui_FlxUIInputText.INPUT_EVENT = "input_input_text";
|
|
flixel_addons_ui_FlxUIList.STACK_HORIZONTAL = 0;
|
|
flixel_addons_ui_FlxUIList.STACK_VERTICAL = 1;
|
|
flixel_input_FlxPointer._cachedPoint = new flixel_math_FlxPoint();
|
|
flixel_addons_ui_FlxUINumericStepper.STACK_VERTICAL = 0;
|
|
flixel_addons_ui_FlxUINumericStepper.STACK_HORIZONTAL = 1;
|
|
flixel_addons_ui_FlxUINumericStepper.CLICK_EVENT = "click_numeric_stepper";
|
|
flixel_addons_ui_FlxUINumericStepper.EDIT_EVENT = "edit_numeric_stepper";
|
|
flixel_addons_ui_FlxUINumericStepper.CHANGE_EVENT = "change_numeric_stepper";
|
|
flixel_addons_ui_FlxUIRadioGroup.CLICK_EVENT = "click_radio_group";
|
|
flixel_addons_ui_FlxUITabMenu.CLICK_EVENT = "tab_menu_click";
|
|
flixel_addons_ui_FlxUITabMenu.STACK_FRONT = "front";
|
|
flixel_addons_ui_FlxUITabMenu.STACK_BACK = "back";
|
|
flixel_addons_ui_FontDef.EXTENSIONS = [".ttf",".otf"];
|
|
flixel_addons_ui_U._matrix = null;
|
|
flixel_animation_FlxPrerotatedAnimation.PREROTATED = "prerotated_animation";
|
|
flixel_effects_FlxFlicker._pool = new flixel_util_FlxPool_$flixel_$effects_$FlxFlicker(flixel_effects_FlxFlicker);
|
|
flixel_effects_FlxFlicker._boundObjects = new haxe_ds_ObjectMap();
|
|
flixel_graphics_FlxGraphic.defaultPersist = false;
|
|
flixel_graphics_atlas_FlxAtlas.point = new openfl_geom_Point();
|
|
flixel_graphics_atlas_FlxAtlas.matrix = new openfl_geom_Matrix();
|
|
flixel_graphics_atlas_FlxAtlas.defaultMinSize = new flixel_math_FlxPoint(128,128);
|
|
flixel_graphics_atlas_FlxAtlas.defaultMaxSize = new flixel_math_FlxPoint(1024,1024);
|
|
flixel_graphics_tile_FlxDrawBaseItem.drawCalls = 0;
|
|
flixel_graphics_tile_FlxDrawQuadsItem.VERTICES_PER_QUAD = 4;
|
|
flixel_graphics_tile_FlxDrawTrianglesItem.point = (function($this) {
|
|
var $r;
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
$r = point;
|
|
return $r;
|
|
}(this));
|
|
flixel_graphics_tile_FlxDrawTrianglesItem.rect = (function($this) {
|
|
var $r;
|
|
var _this = flixel_math_FlxRect._pool.get();
|
|
var X = 0;
|
|
var Y = 0;
|
|
var Width = 0;
|
|
var Height = 0;
|
|
if(Height == null) {
|
|
Height = 0;
|
|
}
|
|
if(Width == null) {
|
|
Width = 0;
|
|
}
|
|
if(Y == null) {
|
|
Y = 0;
|
|
}
|
|
if(X == null) {
|
|
X = 0;
|
|
}
|
|
_this.x = X;
|
|
_this.y = Y;
|
|
_this.width = Width;
|
|
_this.height = Height;
|
|
var rect = _this;
|
|
rect._inPool = false;
|
|
$r = rect;
|
|
return $r;
|
|
}(this));
|
|
flixel_input_actions_FlxInputDeviceID.ALL = -1;
|
|
flixel_input_actions_FlxInputDeviceID.FIRST_ACTIVE = -2;
|
|
flixel_input_actions_FlxInputDeviceID.NONE = -3;
|
|
flixel_input_actions_FlxActionInputAnalog.A_X = true;
|
|
flixel_input_actions_FlxActionInputAnalog.A_Y = false;
|
|
flixel_input_actions_FlxSteamController.CONTROLLER_CONNECT_POLL_TIME = 0.25;
|
|
flixel_input_actions_FlxSteamController.ORIGIN_DATA_POLL_TIME = 1.0;
|
|
flixel_input_actions_FlxSteamController.onControllerConnect = null;
|
|
flixel_input_actions_FlxSteamController.onOriginUpdate = null;
|
|
flixel_input_gamepad_FlxGamepadInputID.fromStringMap = (function($this) {
|
|
var $r;
|
|
var _g = new haxe_ds_StringMap();
|
|
_g.h["ANY"] = -2;
|
|
_g.h["A"] = 0;
|
|
_g.h["B"] = 1;
|
|
_g.h["X"] = 2;
|
|
_g.h["Y"] = 3;
|
|
_g.h["LEFT_SHOULDER"] = 4;
|
|
_g.h["RIGHT_SHOULDER"] = 5;
|
|
_g.h["BACK"] = 6;
|
|
_g.h["START"] = 7;
|
|
_g.h["LEFT_STICK_CLICK"] = 8;
|
|
_g.h["RIGHT_STICK_CLICK"] = 9;
|
|
_g.h["GUIDE"] = 10;
|
|
_g.h["DPAD_UP"] = 11;
|
|
_g.h["DPAD_DOWN"] = 12;
|
|
_g.h["DPAD_LEFT"] = 13;
|
|
_g.h["DPAD_RIGHT"] = 14;
|
|
_g.h["LEFT_TRIGGER_BUTTON"] = 15;
|
|
_g.h["RIGHT_TRIGGER_BUTTON"] = 16;
|
|
_g.h["LEFT_TRIGGER"] = 17;
|
|
_g.h["RIGHT_TRIGGER"] = 18;
|
|
_g.h["LEFT_ANALOG_STICK"] = 19;
|
|
_g.h["RIGHT_ANALOG_STICK"] = 20;
|
|
_g.h["DPAD"] = 21;
|
|
_g.h["TILT_PITCH"] = 26;
|
|
_g.h["TILT_ROLL"] = 27;
|
|
_g.h["POINTER_X"] = 28;
|
|
_g.h["POINTER_Y"] = 29;
|
|
_g.h["EXTRA_0"] = 30;
|
|
_g.h["EXTRA_1"] = 31;
|
|
_g.h["EXTRA_2"] = 32;
|
|
_g.h["EXTRA_3"] = 33;
|
|
_g.h["LEFT_STICK_DIGITAL_UP"] = 34;
|
|
_g.h["LEFT_STICK_DIGITAL_RIGHT"] = 35;
|
|
_g.h["LEFT_STICK_DIGITAL_DOWN"] = 36;
|
|
_g.h["LEFT_STICK_DIGITAL_LEFT"] = 37;
|
|
_g.h["RIGHT_STICK_DIGITAL_UP"] = 38;
|
|
_g.h["RIGHT_STICK_DIGITAL_RIGHT"] = 39;
|
|
_g.h["RIGHT_STICK_DIGITAL_DOWN"] = 40;
|
|
_g.h["RIGHT_STICK_DIGITAL_LEFT"] = 41;
|
|
$r = _g;
|
|
return $r;
|
|
}(this));
|
|
flixel_input_gamepad_FlxGamepadInputID.toStringMap = (function($this) {
|
|
var $r;
|
|
var _g = new haxe_ds_IntMap();
|
|
_g.h[-2] = "ANY";
|
|
_g.h[0] = "A";
|
|
_g.h[1] = "B";
|
|
_g.h[2] = "X";
|
|
_g.h[3] = "Y";
|
|
_g.h[4] = "LEFT_SHOULDER";
|
|
_g.h[5] = "RIGHT_SHOULDER";
|
|
_g.h[6] = "BACK";
|
|
_g.h[7] = "START";
|
|
_g.h[8] = "LEFT_STICK_CLICK";
|
|
_g.h[9] = "RIGHT_STICK_CLICK";
|
|
_g.h[10] = "GUIDE";
|
|
_g.h[11] = "DPAD_UP";
|
|
_g.h[12] = "DPAD_DOWN";
|
|
_g.h[13] = "DPAD_LEFT";
|
|
_g.h[14] = "DPAD_RIGHT";
|
|
_g.h[15] = "LEFT_TRIGGER_BUTTON";
|
|
_g.h[16] = "RIGHT_TRIGGER_BUTTON";
|
|
_g.h[17] = "LEFT_TRIGGER";
|
|
_g.h[18] = "RIGHT_TRIGGER";
|
|
_g.h[19] = "LEFT_ANALOG_STICK";
|
|
_g.h[20] = "RIGHT_ANALOG_STICK";
|
|
_g.h[21] = "DPAD";
|
|
_g.h[26] = "TILT_PITCH";
|
|
_g.h[27] = "TILT_ROLL";
|
|
_g.h[28] = "POINTER_X";
|
|
_g.h[29] = "POINTER_Y";
|
|
_g.h[30] = "EXTRA_0";
|
|
_g.h[31] = "EXTRA_1";
|
|
_g.h[32] = "EXTRA_2";
|
|
_g.h[33] = "EXTRA_3";
|
|
_g.h[34] = "LEFT_STICK_DIGITAL_UP";
|
|
_g.h[35] = "LEFT_STICK_DIGITAL_RIGHT";
|
|
_g.h[36] = "LEFT_STICK_DIGITAL_DOWN";
|
|
_g.h[37] = "LEFT_STICK_DIGITAL_LEFT";
|
|
_g.h[38] = "RIGHT_STICK_DIGITAL_UP";
|
|
_g.h[39] = "RIGHT_STICK_DIGITAL_RIGHT";
|
|
_g.h[40] = "RIGHT_STICK_DIGITAL_DOWN";
|
|
_g.h[41] = "RIGHT_STICK_DIGITAL_LEFT";
|
|
$r = _g;
|
|
return $r;
|
|
}(this));
|
|
flixel_input_gamepad_FlxGamepadInputID.ANY = -2;
|
|
flixel_input_gamepad_FlxGamepadInputID.NONE = -1;
|
|
flixel_input_gamepad_FlxGamepadInputID.A = 0;
|
|
flixel_input_gamepad_FlxGamepadInputID.B = 1;
|
|
flixel_input_gamepad_FlxGamepadInputID.X = 2;
|
|
flixel_input_gamepad_FlxGamepadInputID.Y = 3;
|
|
flixel_input_gamepad_FlxGamepadInputID.LEFT_SHOULDER = 4;
|
|
flixel_input_gamepad_FlxGamepadInputID.RIGHT_SHOULDER = 5;
|
|
flixel_input_gamepad_FlxGamepadInputID.BACK = 6;
|
|
flixel_input_gamepad_FlxGamepadInputID.START = 7;
|
|
flixel_input_gamepad_FlxGamepadInputID.LEFT_STICK_CLICK = 8;
|
|
flixel_input_gamepad_FlxGamepadInputID.RIGHT_STICK_CLICK = 9;
|
|
flixel_input_gamepad_FlxGamepadInputID.GUIDE = 10;
|
|
flixel_input_gamepad_FlxGamepadInputID.DPAD_UP = 11;
|
|
flixel_input_gamepad_FlxGamepadInputID.DPAD_DOWN = 12;
|
|
flixel_input_gamepad_FlxGamepadInputID.DPAD_LEFT = 13;
|
|
flixel_input_gamepad_FlxGamepadInputID.DPAD_RIGHT = 14;
|
|
flixel_input_gamepad_FlxGamepadInputID.LEFT_TRIGGER_BUTTON = 15;
|
|
flixel_input_gamepad_FlxGamepadInputID.RIGHT_TRIGGER_BUTTON = 16;
|
|
flixel_input_gamepad_FlxGamepadInputID.LEFT_TRIGGER = 17;
|
|
flixel_input_gamepad_FlxGamepadInputID.RIGHT_TRIGGER = 18;
|
|
flixel_input_gamepad_FlxGamepadInputID.LEFT_ANALOG_STICK = 19;
|
|
flixel_input_gamepad_FlxGamepadInputID.RIGHT_ANALOG_STICK = 20;
|
|
flixel_input_gamepad_FlxGamepadInputID.DPAD = 21;
|
|
flixel_input_gamepad_FlxGamepadInputID.TILT_PITCH = 26;
|
|
flixel_input_gamepad_FlxGamepadInputID.TILT_ROLL = 27;
|
|
flixel_input_gamepad_FlxGamepadInputID.POINTER_X = 28;
|
|
flixel_input_gamepad_FlxGamepadInputID.POINTER_Y = 29;
|
|
flixel_input_gamepad_FlxGamepadInputID.EXTRA_0 = 30;
|
|
flixel_input_gamepad_FlxGamepadInputID.EXTRA_1 = 31;
|
|
flixel_input_gamepad_FlxGamepadInputID.EXTRA_2 = 32;
|
|
flixel_input_gamepad_FlxGamepadInputID.EXTRA_3 = 33;
|
|
flixel_input_gamepad_FlxGamepadInputID.LEFT_STICK_DIGITAL_UP = 34;
|
|
flixel_input_gamepad_FlxGamepadInputID.LEFT_STICK_DIGITAL_RIGHT = 35;
|
|
flixel_input_gamepad_FlxGamepadInputID.LEFT_STICK_DIGITAL_DOWN = 36;
|
|
flixel_input_gamepad_FlxGamepadInputID.LEFT_STICK_DIGITAL_LEFT = 37;
|
|
flixel_input_gamepad_FlxGamepadInputID.RIGHT_STICK_DIGITAL_UP = 38;
|
|
flixel_input_gamepad_FlxGamepadInputID.RIGHT_STICK_DIGITAL_RIGHT = 39;
|
|
flixel_input_gamepad_FlxGamepadInputID.RIGHT_STICK_DIGITAL_DOWN = 40;
|
|
flixel_input_gamepad_FlxGamepadInputID.RIGHT_STICK_DIGITAL_LEFT = 41;
|
|
openfl_ui_GameInput.__meta__ = { fields : { addEventListener : { SuppressWarnings : ["checkstyle:Dynamic"]}}};
|
|
openfl_ui_GameInput.isSupported = true;
|
|
openfl_ui_GameInput.numDevices = 0;
|
|
openfl_ui_GameInput.__deviceList = [];
|
|
openfl_ui_GameInput.__instances = [];
|
|
openfl_ui_GameInput.__devices = new haxe_ds_ObjectMap();
|
|
flixel_input_gamepad_FlxGamepadManager._gameInput = new openfl_ui_GameInput();
|
|
flixel_input_gamepad_id_LogitechID.ONE = 0;
|
|
flixel_input_gamepad_id_LogitechID.TWO = 1;
|
|
flixel_input_gamepad_id_LogitechID.THREE = 2;
|
|
flixel_input_gamepad_id_LogitechID.FOUR = 3;
|
|
flixel_input_gamepad_id_LogitechID.FIVE = 4;
|
|
flixel_input_gamepad_id_LogitechID.SIX = 5;
|
|
flixel_input_gamepad_id_LogitechID.SEVEN = 6;
|
|
flixel_input_gamepad_id_LogitechID.EIGHT = 7;
|
|
flixel_input_gamepad_id_LogitechID.NINE = 8;
|
|
flixel_input_gamepad_id_LogitechID.TEN = 9;
|
|
flixel_input_gamepad_id_LogitechID.LEFT_STICK_CLICK = 10;
|
|
flixel_input_gamepad_id_LogitechID.RIGHT_STICK_CLICK = 11;
|
|
flixel_input_gamepad_id_LogitechID.DPAD_UP = 16;
|
|
flixel_input_gamepad_id_LogitechID.DPAD_DOWN = 17;
|
|
flixel_input_gamepad_id_LogitechID.DPAD_LEFT = 18;
|
|
flixel_input_gamepad_id_LogitechID.DPAD_RIGHT = 19;
|
|
flixel_input_gamepad_id_LogitechID.LOGITECH = -5;
|
|
flixel_input_gamepad_id_LogitechID.LEFT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(0,1,{ up : 24, down : 25, left : 26, right : 27});
|
|
flixel_input_gamepad_id_LogitechID.RIGHT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(2,3,{ up : 28, down : 29, left : 30, right : 31});
|
|
flixel_input_gamepad_id_MFiID.A = 6;
|
|
flixel_input_gamepad_id_MFiID.B = 7;
|
|
flixel_input_gamepad_id_MFiID.X = 8;
|
|
flixel_input_gamepad_id_MFiID.Y = 9;
|
|
flixel_input_gamepad_id_MFiID.LB = 15;
|
|
flixel_input_gamepad_id_MFiID.RB = 16;
|
|
flixel_input_gamepad_id_MFiID.BACK = 10;
|
|
flixel_input_gamepad_id_MFiID.START = 12;
|
|
flixel_input_gamepad_id_MFiID.LEFT_STICK_CLICK = 13;
|
|
flixel_input_gamepad_id_MFiID.RIGHT_STICK_CLICK = 14;
|
|
flixel_input_gamepad_id_MFiID.GUIDE = 11;
|
|
flixel_input_gamepad_id_MFiID.DPAD_UP = 17;
|
|
flixel_input_gamepad_id_MFiID.DPAD_DOWN = 18;
|
|
flixel_input_gamepad_id_MFiID.DPAD_LEFT = 19;
|
|
flixel_input_gamepad_id_MFiID.DPAD_RIGHT = 20;
|
|
flixel_input_gamepad_id_MFiID.LEFT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(0,1,{ up : 21, down : 22, left : 23, right : 24});
|
|
flixel_input_gamepad_id_MFiID.RIGHT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(2,3,{ up : 25, down : 26, left : 27, right : 28});
|
|
flixel_input_gamepad_id_MFiID.LEFT_TRIGGER = 4;
|
|
flixel_input_gamepad_id_MFiID.RIGHT_TRIGGER = 5;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.REMOTE_ONE = 8;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.REMOTE_TWO = 9;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.REMOTE_A = 10;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.REMOTE_B = 11;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.REMOTE_MINUS = 12;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.REMOTE_PLUS = 13;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.REMOTE_HOME = 19;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_Z = 14;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_C = 15;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_DPAD_UP = 4;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_DPAD_DOWN = 5;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_DPAD_LEFT = 6;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_DPAD_RIGHT = 7;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_MINUS = 12;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_PLUS = 13;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_HOME = 19;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_A = 10;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_B = 11;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_ONE = 8;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_TWO = 9;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_Y = 8;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_X = 9;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_B = 10;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_A = 11;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_L = 12;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_R = 13;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_ZL = 14;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_ZR = 15;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_SELECT = 16;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_START = 17;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_HOME = 19;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_ONE = -1;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_TWO = -1;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_DPAD_UP = 4;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_DPAD_DOWN = 5;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_DPAD_LEFT = 6;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_DPAD_RIGHT = 7;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_POINTER_X = 2;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_POINTER_Y = 3;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.REMOTE_DPAD = new flixel_input_gamepad_FlxGamepadAnalogStick(0,1,{ up : 22, down : 23, left : 24, right : 25, threshold : 0.5, mode : flixel_input_gamepad_FlxAnalogToDigitalMode.ONLY_DIGITAL});
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(0,1,{ up : 26, down : 27, left : 28, right : 29});
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.RIGHT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(2,3,{ up : 26, down : 27, left : 28, right : 29});
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_TRIGGER_FAKE = 4;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.RIGHT_TRIGGER_FAKE = 5;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.REMOTE_DPAD_UP = 22;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.REMOTE_DPAD_DOWN = 23;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.REMOTE_DPAD_LEFT = 24;
|
|
flixel_input_gamepad_id_MayflashWiiRemoteID.REMOTE_DPAD_RIGHT = 25;
|
|
flixel_input_gamepad_id_OUYAID.O = 6;
|
|
flixel_input_gamepad_id_OUYAID.U = 8;
|
|
flixel_input_gamepad_id_OUYAID.Y = 9;
|
|
flixel_input_gamepad_id_OUYAID.A = 7;
|
|
flixel_input_gamepad_id_OUYAID.LB = 15;
|
|
flixel_input_gamepad_id_OUYAID.RB = 16;
|
|
flixel_input_gamepad_id_OUYAID.LEFT_STICK_CLICK = 13;
|
|
flixel_input_gamepad_id_OUYAID.RIGHT_STICK_CLICK = 14;
|
|
flixel_input_gamepad_id_OUYAID.HOME = 16777234;
|
|
flixel_input_gamepad_id_OUYAID.LEFT_TRIGGER = 4;
|
|
flixel_input_gamepad_id_OUYAID.RIGHT_TRIGGER = 5;
|
|
flixel_input_gamepad_id_OUYAID.DPAD_LEFT = 19;
|
|
flixel_input_gamepad_id_OUYAID.DPAD_RIGHT = 20;
|
|
flixel_input_gamepad_id_OUYAID.DPAD_DOWN = 18;
|
|
flixel_input_gamepad_id_OUYAID.DPAD_UP = 17;
|
|
flixel_input_gamepad_id_OUYAID.LEFT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(0,1,{ up : 23, down : 24, left : 25, right : 26});
|
|
flixel_input_gamepad_id_OUYAID.RIGHT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(2,3,{ up : 27, down : 28, left : 29, right : 30});
|
|
flixel_input_gamepad_id_PS4ID.X = 6;
|
|
flixel_input_gamepad_id_PS4ID.CIRCLE = 7;
|
|
flixel_input_gamepad_id_PS4ID.SQUARE = 8;
|
|
flixel_input_gamepad_id_PS4ID.TRIANGLE = 9;
|
|
flixel_input_gamepad_id_PS4ID.PS = 11;
|
|
flixel_input_gamepad_id_PS4ID.OPTIONS = 12;
|
|
flixel_input_gamepad_id_PS4ID.LEFT_STICK_CLICK = 13;
|
|
flixel_input_gamepad_id_PS4ID.RIGHT_STICK_CLICK = 14;
|
|
flixel_input_gamepad_id_PS4ID.L1 = 15;
|
|
flixel_input_gamepad_id_PS4ID.R1 = 16;
|
|
flixel_input_gamepad_id_PS4ID.SHARE = 10;
|
|
flixel_input_gamepad_id_PS4ID.LEFT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(0,1,{ up : 22, down : 23, left : 24, right : 25});
|
|
flixel_input_gamepad_id_PS4ID.RIGHT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(2,3,{ up : 26, down : 27, left : 28, right : 29});
|
|
flixel_input_gamepad_id_PS4ID.TOUCHPAD_CLICK = 30;
|
|
flixel_input_gamepad_id_PS4ID.L2 = 4;
|
|
flixel_input_gamepad_id_PS4ID.R2 = 5;
|
|
flixel_input_gamepad_id_PS4ID.DPAD_UP = 17;
|
|
flixel_input_gamepad_id_PS4ID.DPAD_DOWN = 18;
|
|
flixel_input_gamepad_id_PS4ID.DPAD_LEFT = 19;
|
|
flixel_input_gamepad_id_PS4ID.DPAD_RIGHT = 20;
|
|
flixel_input_gamepad_id_PSVitaID.X = 6;
|
|
flixel_input_gamepad_id_PSVitaID.CIRCLE = 7;
|
|
flixel_input_gamepad_id_PSVitaID.SQUARE = 8;
|
|
flixel_input_gamepad_id_PSVitaID.TRIANGLE = 9;
|
|
flixel_input_gamepad_id_PSVitaID.SELECT = 10;
|
|
flixel_input_gamepad_id_PSVitaID.START = 12;
|
|
flixel_input_gamepad_id_PSVitaID.L = 15;
|
|
flixel_input_gamepad_id_PSVitaID.R = 16;
|
|
flixel_input_gamepad_id_PSVitaID.DPAD_UP = 17;
|
|
flixel_input_gamepad_id_PSVitaID.DPAD_DOWN = 18;
|
|
flixel_input_gamepad_id_PSVitaID.DPAD_LEFT = 19;
|
|
flixel_input_gamepad_id_PSVitaID.DPAD_RIGHT = 20;
|
|
flixel_input_gamepad_id_PSVitaID.LEFT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(0,1,{ up : 21, down : 22, left : 23, right : 24});
|
|
flixel_input_gamepad_id_PSVitaID.RIGHT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(2,3,{ up : 25, down : 26, left : 27, right : 28});
|
|
flixel_input_gamepad_id_SwitchJoyconLeftID.ZL = 4;
|
|
flixel_input_gamepad_id_SwitchJoyconLeftID.DOWN = 6;
|
|
flixel_input_gamepad_id_SwitchJoyconLeftID.RIGHT = 7;
|
|
flixel_input_gamepad_id_SwitchJoyconLeftID.LEFT = 8;
|
|
flixel_input_gamepad_id_SwitchJoyconLeftID.UP = 9;
|
|
flixel_input_gamepad_id_SwitchJoyconLeftID.L = 10;
|
|
flixel_input_gamepad_id_SwitchJoyconLeftID.MINUS = 12;
|
|
flixel_input_gamepad_id_SwitchJoyconLeftID.LEFT_STICK_CLICK = 13;
|
|
flixel_input_gamepad_id_SwitchJoyconLeftID.SL = 15;
|
|
flixel_input_gamepad_id_SwitchJoyconLeftID.SR = 16;
|
|
flixel_input_gamepad_id_SwitchJoyconLeftID.CAPTURE = 21;
|
|
flixel_input_gamepad_id_SwitchJoyconLeftID.LEFT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(0,1,{ up : 22, down : 23, left : 24, right : 25});
|
|
flixel_input_gamepad_id_SwitchJoyconRightID.ZR = 5;
|
|
flixel_input_gamepad_id_SwitchJoyconRightID.A = 6;
|
|
flixel_input_gamepad_id_SwitchJoyconRightID.X = 7;
|
|
flixel_input_gamepad_id_SwitchJoyconRightID.B = 8;
|
|
flixel_input_gamepad_id_SwitchJoyconRightID.Y = 9;
|
|
flixel_input_gamepad_id_SwitchJoyconRightID.R = 10;
|
|
flixel_input_gamepad_id_SwitchJoyconRightID.HOME = 11;
|
|
flixel_input_gamepad_id_SwitchJoyconRightID.PLUS = 12;
|
|
flixel_input_gamepad_id_SwitchJoyconRightID.LEFT_STICK_CLICK = 13;
|
|
flixel_input_gamepad_id_SwitchJoyconRightID.SL = 15;
|
|
flixel_input_gamepad_id_SwitchJoyconRightID.SR = 16;
|
|
flixel_input_gamepad_id_SwitchJoyconRightID.LEFT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(0,1,{ up : 22, down : 23, left : 24, right : 25});
|
|
flixel_input_gamepad_id_SwitchProID.ZL = 4;
|
|
flixel_input_gamepad_id_SwitchProID.ZR = 5;
|
|
flixel_input_gamepad_id_SwitchProID.B = 6;
|
|
flixel_input_gamepad_id_SwitchProID.A = 7;
|
|
flixel_input_gamepad_id_SwitchProID.Y = 8;
|
|
flixel_input_gamepad_id_SwitchProID.X = 9;
|
|
flixel_input_gamepad_id_SwitchProID.MINUS = 10;
|
|
flixel_input_gamepad_id_SwitchProID.HOME = 11;
|
|
flixel_input_gamepad_id_SwitchProID.PLUS = 12;
|
|
flixel_input_gamepad_id_SwitchProID.LEFT_STICK_CLICK = 13;
|
|
flixel_input_gamepad_id_SwitchProID.RIGHT_STICK_CLICK = 14;
|
|
flixel_input_gamepad_id_SwitchProID.L = 15;
|
|
flixel_input_gamepad_id_SwitchProID.R = 16;
|
|
flixel_input_gamepad_id_SwitchProID.DPAD_UP = 17;
|
|
flixel_input_gamepad_id_SwitchProID.DPAD_DOWN = 18;
|
|
flixel_input_gamepad_id_SwitchProID.DPAD_LEFT = 19;
|
|
flixel_input_gamepad_id_SwitchProID.DPAD_RIGHT = 20;
|
|
flixel_input_gamepad_id_SwitchProID.CAPTURE = 21;
|
|
flixel_input_gamepad_id_SwitchProID.LEFT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(0,1,{ up : 22, down : 23, left : 24, right : 25});
|
|
flixel_input_gamepad_id_SwitchProID.RIGHT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(2,3,{ up : 26, down : 27, left : 28, right : 29});
|
|
flixel_input_gamepad_id_WiiRemoteID.REMOTE_ONE = 9;
|
|
flixel_input_gamepad_id_WiiRemoteID.REMOTE_TWO = 10;
|
|
flixel_input_gamepad_id_WiiRemoteID.REMOTE_A = 11;
|
|
flixel_input_gamepad_id_WiiRemoteID.REMOTE_B = 12;
|
|
flixel_input_gamepad_id_WiiRemoteID.REMOTE_PLUS = 13;
|
|
flixel_input_gamepad_id_WiiRemoteID.REMOTE_MINUS = 14;
|
|
flixel_input_gamepad_id_WiiRemoteID.REMOTE_HOME = 15;
|
|
flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_A = 9;
|
|
flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_B = 10;
|
|
flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_C = 11;
|
|
flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_Z = 12;
|
|
flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_ONE = 13;
|
|
flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_TWO = 14;
|
|
flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_PLUS = 15;
|
|
flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_MINUS = 16;
|
|
flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_HOME = 17;
|
|
flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_DPAD_UP = 5;
|
|
flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_DPAD_DOWN = 6;
|
|
flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_DPAD_LEFT = 7;
|
|
flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_DPAD_RIGHT = 8;
|
|
flixel_input_gamepad_id_WiiRemoteID.CLASSIC_A = 9;
|
|
flixel_input_gamepad_id_WiiRemoteID.CLASSIC_B = 10;
|
|
flixel_input_gamepad_id_WiiRemoteID.CLASSIC_Y = 11;
|
|
flixel_input_gamepad_id_WiiRemoteID.CLASSIC_X = 12;
|
|
flixel_input_gamepad_id_WiiRemoteID.CLASSIC_L = 13;
|
|
flixel_input_gamepad_id_WiiRemoteID.CLASSIC_R = 14;
|
|
flixel_input_gamepad_id_WiiRemoteID.CLASSIC_ZL = 15;
|
|
flixel_input_gamepad_id_WiiRemoteID.CLASSIC_ZR = 16;
|
|
flixel_input_gamepad_id_WiiRemoteID.CLASSIC_START = 17;
|
|
flixel_input_gamepad_id_WiiRemoteID.CLASSIC_SELECT = 18;
|
|
flixel_input_gamepad_id_WiiRemoteID.CLASSIC_HOME = 19;
|
|
flixel_input_gamepad_id_WiiRemoteID.CLASSIC_ONE = 20;
|
|
flixel_input_gamepad_id_WiiRemoteID.CLASSIC_TWO = 21;
|
|
flixel_input_gamepad_id_WiiRemoteID.CLASSIC_DPAD_UP = 5;
|
|
flixel_input_gamepad_id_WiiRemoteID.CLASSIC_DPAD_DOWN = 6;
|
|
flixel_input_gamepad_id_WiiRemoteID.CLASSIC_DPAD_LEFT = 7;
|
|
flixel_input_gamepad_id_WiiRemoteID.CLASSIC_DPAD_RIGHT = 8;
|
|
flixel_input_gamepad_id_WiiRemoteID.REMOTE_TILT_PITCH = 2;
|
|
flixel_input_gamepad_id_WiiRemoteID.REMOTE_TILT_ROLL = 3;
|
|
flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_TILT_PITCH = 3;
|
|
flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_TILT_ROLL = 2;
|
|
flixel_input_gamepad_id_WiiRemoteID.REMOTE_NULL_AXIS = 4;
|
|
flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_NULL_AXIS = 4;
|
|
flixel_input_gamepad_id_WiiRemoteID.REMOTE_DPAD = new flixel_input_gamepad_FlxGamepadAnalogStick(0,1,{ up : 22, down : 23, left : 24, right : 25, threshold : 0.5, mode : flixel_input_gamepad_FlxAnalogToDigitalMode.ONLY_DIGITAL});
|
|
flixel_input_gamepad_id_WiiRemoteID.LEFT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(0,1,{ up : 28, down : 29, left : 30, right : 31});
|
|
flixel_input_gamepad_id_WiiRemoteID.RIGHT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(2,3,{ up : 32, down : 33, left : 34, right : 35});
|
|
flixel_input_gamepad_id_WiiRemoteID.LEFT_TRIGGER_FAKE = 4;
|
|
flixel_input_gamepad_id_WiiRemoteID.RIGHT_TRIGGER_FAKE = 5;
|
|
flixel_input_gamepad_id_WiiRemoteID.REMOTE_DPAD_UP = 22;
|
|
flixel_input_gamepad_id_WiiRemoteID.REMOTE_DPAD_DOWN = 23;
|
|
flixel_input_gamepad_id_WiiRemoteID.REMOTE_DPAD_LEFT = 24;
|
|
flixel_input_gamepad_id_WiiRemoteID.REMOTE_DPAD_RIGHT = 25;
|
|
flixel_input_gamepad_id_WiiRemoteID.REMOTE_DPAD_X = 26;
|
|
flixel_input_gamepad_id_WiiRemoteID.REMOTE_DPAD_Y = 27;
|
|
flixel_input_gamepad_id_XInputID.A = 6;
|
|
flixel_input_gamepad_id_XInputID.B = 7;
|
|
flixel_input_gamepad_id_XInputID.X = 8;
|
|
flixel_input_gamepad_id_XInputID.Y = 9;
|
|
flixel_input_gamepad_id_XInputID.BACK = 10;
|
|
flixel_input_gamepad_id_XInputID.GUIDE = -1;
|
|
flixel_input_gamepad_id_XInputID.START = 12;
|
|
flixel_input_gamepad_id_XInputID.LEFT_STICK_CLICK = 13;
|
|
flixel_input_gamepad_id_XInputID.RIGHT_STICK_CLICK = 14;
|
|
flixel_input_gamepad_id_XInputID.LB = 15;
|
|
flixel_input_gamepad_id_XInputID.RB = 16;
|
|
flixel_input_gamepad_id_XInputID.DPAD_UP = 17;
|
|
flixel_input_gamepad_id_XInputID.DPAD_DOWN = 18;
|
|
flixel_input_gamepad_id_XInputID.DPAD_LEFT = 19;
|
|
flixel_input_gamepad_id_XInputID.DPAD_RIGHT = 20;
|
|
flixel_input_gamepad_id_XInputID.LEFT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(0,1,{ up : 21, down : 22, left : 23, right : 24});
|
|
flixel_input_gamepad_id_XInputID.RIGHT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(2,3,{ up : 25, down : 26, left : 27, right : 28});
|
|
flixel_input_gamepad_id_XInputID.LEFT_TRIGGER = 4;
|
|
flixel_input_gamepad_id_XInputID.RIGHT_TRIGGER = 5;
|
|
flixel_input_keyboard_FlxKey.fromStringMap = (function($this) {
|
|
var $r;
|
|
var _g = new haxe_ds_StringMap();
|
|
_g.h["ANY"] = -2;
|
|
_g.h["A"] = 65;
|
|
_g.h["B"] = 66;
|
|
_g.h["C"] = 67;
|
|
_g.h["D"] = 68;
|
|
_g.h["E"] = 69;
|
|
_g.h["F"] = 70;
|
|
_g.h["G"] = 71;
|
|
_g.h["H"] = 72;
|
|
_g.h["I"] = 73;
|
|
_g.h["J"] = 74;
|
|
_g.h["K"] = 75;
|
|
_g.h["L"] = 76;
|
|
_g.h["M"] = 77;
|
|
_g.h["N"] = 78;
|
|
_g.h["O"] = 79;
|
|
_g.h["P"] = 80;
|
|
_g.h["Q"] = 81;
|
|
_g.h["R"] = 82;
|
|
_g.h["S"] = 83;
|
|
_g.h["T"] = 84;
|
|
_g.h["U"] = 85;
|
|
_g.h["V"] = 86;
|
|
_g.h["W"] = 87;
|
|
_g.h["X"] = 88;
|
|
_g.h["Y"] = 89;
|
|
_g.h["Z"] = 90;
|
|
_g.h["ZERO"] = 48;
|
|
_g.h["ONE"] = 49;
|
|
_g.h["TWO"] = 50;
|
|
_g.h["THREE"] = 51;
|
|
_g.h["FOUR"] = 52;
|
|
_g.h["FIVE"] = 53;
|
|
_g.h["SIX"] = 54;
|
|
_g.h["SEVEN"] = 55;
|
|
_g.h["EIGHT"] = 56;
|
|
_g.h["NINE"] = 57;
|
|
_g.h["PAGEUP"] = 33;
|
|
_g.h["PAGEDOWN"] = 34;
|
|
_g.h["HOME"] = 36;
|
|
_g.h["END"] = 35;
|
|
_g.h["INSERT"] = 45;
|
|
_g.h["ESCAPE"] = 27;
|
|
_g.h["MINUS"] = 189;
|
|
_g.h["PLUS"] = 187;
|
|
_g.h["DELETE"] = 46;
|
|
_g.h["BACKSPACE"] = 8;
|
|
_g.h["LBRACKET"] = 219;
|
|
_g.h["RBRACKET"] = 221;
|
|
_g.h["BACKSLASH"] = 220;
|
|
_g.h["CAPSLOCK"] = 20;
|
|
_g.h["SEMICOLON"] = 186;
|
|
_g.h["QUOTE"] = 222;
|
|
_g.h["ENTER"] = 13;
|
|
_g.h["SHIFT"] = 16;
|
|
_g.h["COMMA"] = 188;
|
|
_g.h["PERIOD"] = 190;
|
|
_g.h["SLASH"] = 191;
|
|
_g.h["GRAVEACCENT"] = 192;
|
|
_g.h["CONTROL"] = 17;
|
|
_g.h["ALT"] = 18;
|
|
_g.h["SPACE"] = 32;
|
|
_g.h["UP"] = 38;
|
|
_g.h["DOWN"] = 40;
|
|
_g.h["LEFT"] = 37;
|
|
_g.h["RIGHT"] = 39;
|
|
_g.h["TAB"] = 9;
|
|
_g.h["PRINTSCREEN"] = 301;
|
|
_g.h["F1"] = 112;
|
|
_g.h["F2"] = 113;
|
|
_g.h["F3"] = 114;
|
|
_g.h["F4"] = 115;
|
|
_g.h["F5"] = 116;
|
|
_g.h["F6"] = 117;
|
|
_g.h["F7"] = 118;
|
|
_g.h["F8"] = 119;
|
|
_g.h["F9"] = 120;
|
|
_g.h["F10"] = 121;
|
|
_g.h["F11"] = 122;
|
|
_g.h["F12"] = 123;
|
|
_g.h["NUMPADZERO"] = 96;
|
|
_g.h["NUMPADONE"] = 97;
|
|
_g.h["NUMPADTWO"] = 98;
|
|
_g.h["NUMPADTHREE"] = 99;
|
|
_g.h["NUMPADFOUR"] = 100;
|
|
_g.h["NUMPADFIVE"] = 101;
|
|
_g.h["NUMPADSIX"] = 102;
|
|
_g.h["NUMPADSEVEN"] = 103;
|
|
_g.h["NUMPADEIGHT"] = 104;
|
|
_g.h["NUMPADNINE"] = 105;
|
|
_g.h["NUMPADMINUS"] = 109;
|
|
_g.h["NUMPADPLUS"] = 107;
|
|
_g.h["NUMPADPERIOD"] = 110;
|
|
_g.h["NUMPADMULTIPLY"] = 106;
|
|
$r = _g;
|
|
return $r;
|
|
}(this));
|
|
flixel_input_keyboard_FlxKey.toStringMap = (function($this) {
|
|
var $r;
|
|
var _g = new haxe_ds_IntMap();
|
|
_g.h[-2] = "ANY";
|
|
_g.h[65] = "A";
|
|
_g.h[66] = "B";
|
|
_g.h[67] = "C";
|
|
_g.h[68] = "D";
|
|
_g.h[69] = "E";
|
|
_g.h[70] = "F";
|
|
_g.h[71] = "G";
|
|
_g.h[72] = "H";
|
|
_g.h[73] = "I";
|
|
_g.h[74] = "J";
|
|
_g.h[75] = "K";
|
|
_g.h[76] = "L";
|
|
_g.h[77] = "M";
|
|
_g.h[78] = "N";
|
|
_g.h[79] = "O";
|
|
_g.h[80] = "P";
|
|
_g.h[81] = "Q";
|
|
_g.h[82] = "R";
|
|
_g.h[83] = "S";
|
|
_g.h[84] = "T";
|
|
_g.h[85] = "U";
|
|
_g.h[86] = "V";
|
|
_g.h[87] = "W";
|
|
_g.h[88] = "X";
|
|
_g.h[89] = "Y";
|
|
_g.h[90] = "Z";
|
|
_g.h[48] = "ZERO";
|
|
_g.h[49] = "ONE";
|
|
_g.h[50] = "TWO";
|
|
_g.h[51] = "THREE";
|
|
_g.h[52] = "FOUR";
|
|
_g.h[53] = "FIVE";
|
|
_g.h[54] = "SIX";
|
|
_g.h[55] = "SEVEN";
|
|
_g.h[56] = "EIGHT";
|
|
_g.h[57] = "NINE";
|
|
_g.h[33] = "PAGEUP";
|
|
_g.h[34] = "PAGEDOWN";
|
|
_g.h[36] = "HOME";
|
|
_g.h[35] = "END";
|
|
_g.h[45] = "INSERT";
|
|
_g.h[27] = "ESCAPE";
|
|
_g.h[189] = "MINUS";
|
|
_g.h[187] = "PLUS";
|
|
_g.h[46] = "DELETE";
|
|
_g.h[8] = "BACKSPACE";
|
|
_g.h[219] = "LBRACKET";
|
|
_g.h[221] = "RBRACKET";
|
|
_g.h[220] = "BACKSLASH";
|
|
_g.h[20] = "CAPSLOCK";
|
|
_g.h[186] = "SEMICOLON";
|
|
_g.h[222] = "QUOTE";
|
|
_g.h[13] = "ENTER";
|
|
_g.h[16] = "SHIFT";
|
|
_g.h[188] = "COMMA";
|
|
_g.h[190] = "PERIOD";
|
|
_g.h[191] = "SLASH";
|
|
_g.h[192] = "GRAVEACCENT";
|
|
_g.h[17] = "CONTROL";
|
|
_g.h[18] = "ALT";
|
|
_g.h[32] = "SPACE";
|
|
_g.h[38] = "UP";
|
|
_g.h[40] = "DOWN";
|
|
_g.h[37] = "LEFT";
|
|
_g.h[39] = "RIGHT";
|
|
_g.h[9] = "TAB";
|
|
_g.h[301] = "PRINTSCREEN";
|
|
_g.h[112] = "F1";
|
|
_g.h[113] = "F2";
|
|
_g.h[114] = "F3";
|
|
_g.h[115] = "F4";
|
|
_g.h[116] = "F5";
|
|
_g.h[117] = "F6";
|
|
_g.h[118] = "F7";
|
|
_g.h[119] = "F8";
|
|
_g.h[120] = "F9";
|
|
_g.h[121] = "F10";
|
|
_g.h[122] = "F11";
|
|
_g.h[123] = "F12";
|
|
_g.h[96] = "NUMPADZERO";
|
|
_g.h[97] = "NUMPADONE";
|
|
_g.h[98] = "NUMPADTWO";
|
|
_g.h[99] = "NUMPADTHREE";
|
|
_g.h[100] = "NUMPADFOUR";
|
|
_g.h[101] = "NUMPADFIVE";
|
|
_g.h[102] = "NUMPADSIX";
|
|
_g.h[103] = "NUMPADSEVEN";
|
|
_g.h[104] = "NUMPADEIGHT";
|
|
_g.h[105] = "NUMPADNINE";
|
|
_g.h[109] = "NUMPADMINUS";
|
|
_g.h[107] = "NUMPADPLUS";
|
|
_g.h[110] = "NUMPADPERIOD";
|
|
_g.h[106] = "NUMPADMULTIPLY";
|
|
$r = _g;
|
|
return $r;
|
|
}(this));
|
|
flixel_input_keyboard_FlxKey.ANY = -2;
|
|
flixel_input_keyboard_FlxKey.NONE = -1;
|
|
flixel_input_keyboard_FlxKey.A = 65;
|
|
flixel_input_keyboard_FlxKey.B = 66;
|
|
flixel_input_keyboard_FlxKey.C = 67;
|
|
flixel_input_keyboard_FlxKey.D = 68;
|
|
flixel_input_keyboard_FlxKey.E = 69;
|
|
flixel_input_keyboard_FlxKey.F = 70;
|
|
flixel_input_keyboard_FlxKey.G = 71;
|
|
flixel_input_keyboard_FlxKey.H = 72;
|
|
flixel_input_keyboard_FlxKey.I = 73;
|
|
flixel_input_keyboard_FlxKey.J = 74;
|
|
flixel_input_keyboard_FlxKey.K = 75;
|
|
flixel_input_keyboard_FlxKey.L = 76;
|
|
flixel_input_keyboard_FlxKey.M = 77;
|
|
flixel_input_keyboard_FlxKey.N = 78;
|
|
flixel_input_keyboard_FlxKey.O = 79;
|
|
flixel_input_keyboard_FlxKey.P = 80;
|
|
flixel_input_keyboard_FlxKey.Q = 81;
|
|
flixel_input_keyboard_FlxKey.R = 82;
|
|
flixel_input_keyboard_FlxKey.S = 83;
|
|
flixel_input_keyboard_FlxKey.T = 84;
|
|
flixel_input_keyboard_FlxKey.U = 85;
|
|
flixel_input_keyboard_FlxKey.V = 86;
|
|
flixel_input_keyboard_FlxKey.W = 87;
|
|
flixel_input_keyboard_FlxKey.X = 88;
|
|
flixel_input_keyboard_FlxKey.Y = 89;
|
|
flixel_input_keyboard_FlxKey.Z = 90;
|
|
flixel_input_keyboard_FlxKey.ZERO = 48;
|
|
flixel_input_keyboard_FlxKey.ONE = 49;
|
|
flixel_input_keyboard_FlxKey.TWO = 50;
|
|
flixel_input_keyboard_FlxKey.THREE = 51;
|
|
flixel_input_keyboard_FlxKey.FOUR = 52;
|
|
flixel_input_keyboard_FlxKey.FIVE = 53;
|
|
flixel_input_keyboard_FlxKey.SIX = 54;
|
|
flixel_input_keyboard_FlxKey.SEVEN = 55;
|
|
flixel_input_keyboard_FlxKey.EIGHT = 56;
|
|
flixel_input_keyboard_FlxKey.NINE = 57;
|
|
flixel_input_keyboard_FlxKey.PAGEUP = 33;
|
|
flixel_input_keyboard_FlxKey.PAGEDOWN = 34;
|
|
flixel_input_keyboard_FlxKey.HOME = 36;
|
|
flixel_input_keyboard_FlxKey.END = 35;
|
|
flixel_input_keyboard_FlxKey.INSERT = 45;
|
|
flixel_input_keyboard_FlxKey.ESCAPE = 27;
|
|
flixel_input_keyboard_FlxKey.MINUS = 189;
|
|
flixel_input_keyboard_FlxKey.PLUS = 187;
|
|
flixel_input_keyboard_FlxKey.DELETE = 46;
|
|
flixel_input_keyboard_FlxKey.BACKSPACE = 8;
|
|
flixel_input_keyboard_FlxKey.LBRACKET = 219;
|
|
flixel_input_keyboard_FlxKey.RBRACKET = 221;
|
|
flixel_input_keyboard_FlxKey.BACKSLASH = 220;
|
|
flixel_input_keyboard_FlxKey.CAPSLOCK = 20;
|
|
flixel_input_keyboard_FlxKey.SEMICOLON = 186;
|
|
flixel_input_keyboard_FlxKey.QUOTE = 222;
|
|
flixel_input_keyboard_FlxKey.ENTER = 13;
|
|
flixel_input_keyboard_FlxKey.SHIFT = 16;
|
|
flixel_input_keyboard_FlxKey.COMMA = 188;
|
|
flixel_input_keyboard_FlxKey.PERIOD = 190;
|
|
flixel_input_keyboard_FlxKey.SLASH = 191;
|
|
flixel_input_keyboard_FlxKey.GRAVEACCENT = 192;
|
|
flixel_input_keyboard_FlxKey.CONTROL = 17;
|
|
flixel_input_keyboard_FlxKey.ALT = 18;
|
|
flixel_input_keyboard_FlxKey.SPACE = 32;
|
|
flixel_input_keyboard_FlxKey.UP = 38;
|
|
flixel_input_keyboard_FlxKey.DOWN = 40;
|
|
flixel_input_keyboard_FlxKey.LEFT = 37;
|
|
flixel_input_keyboard_FlxKey.RIGHT = 39;
|
|
flixel_input_keyboard_FlxKey.TAB = 9;
|
|
flixel_input_keyboard_FlxKey.PRINTSCREEN = 301;
|
|
flixel_input_keyboard_FlxKey.F1 = 112;
|
|
flixel_input_keyboard_FlxKey.F2 = 113;
|
|
flixel_input_keyboard_FlxKey.F3 = 114;
|
|
flixel_input_keyboard_FlxKey.F4 = 115;
|
|
flixel_input_keyboard_FlxKey.F5 = 116;
|
|
flixel_input_keyboard_FlxKey.F6 = 117;
|
|
flixel_input_keyboard_FlxKey.F7 = 118;
|
|
flixel_input_keyboard_FlxKey.F8 = 119;
|
|
flixel_input_keyboard_FlxKey.F9 = 120;
|
|
flixel_input_keyboard_FlxKey.F10 = 121;
|
|
flixel_input_keyboard_FlxKey.F11 = 122;
|
|
flixel_input_keyboard_FlxKey.F12 = 123;
|
|
flixel_input_keyboard_FlxKey.NUMPADZERO = 96;
|
|
flixel_input_keyboard_FlxKey.NUMPADONE = 97;
|
|
flixel_input_keyboard_FlxKey.NUMPADTWO = 98;
|
|
flixel_input_keyboard_FlxKey.NUMPADTHREE = 99;
|
|
flixel_input_keyboard_FlxKey.NUMPADFOUR = 100;
|
|
flixel_input_keyboard_FlxKey.NUMPADFIVE = 101;
|
|
flixel_input_keyboard_FlxKey.NUMPADSIX = 102;
|
|
flixel_input_keyboard_FlxKey.NUMPADSEVEN = 103;
|
|
flixel_input_keyboard_FlxKey.NUMPADEIGHT = 104;
|
|
flixel_input_keyboard_FlxKey.NUMPADNINE = 105;
|
|
flixel_input_keyboard_FlxKey.NUMPADMINUS = 109;
|
|
flixel_input_keyboard_FlxKey.NUMPADPLUS = 107;
|
|
flixel_input_keyboard_FlxKey.NUMPADPERIOD = 110;
|
|
flixel_input_keyboard_FlxKey.NUMPADMULTIPLY = 106;
|
|
flixel_input_mouse__$FlxMouse_GraphicCursor.resourceType = "image/png";
|
|
flixel_input_mouse__$FlxMouse_GraphicCursor.resourceName = "__ASSET__:bitmap_flixel_input_mouse__FlxMouse_GraphicCursor";
|
|
flixel_input_touch_FlxTouchManager.maxTouchPoints = 0;
|
|
flixel_math_FlxMath.MIN_VALUE_FLOAT = 0.0000000000000001;
|
|
flixel_math_FlxMath.MAX_VALUE_FLOAT = 1.79e+308;
|
|
flixel_math_FlxMath.MIN_VALUE_INT = -2147483647;
|
|
flixel_math_FlxMath.MAX_VALUE_INT = 2147483647;
|
|
flixel_math_FlxMath.SQUARE_ROOT_OF_TWO = 1.41421356237;
|
|
flixel_math_FlxMath.EPSILON = 0.0000001;
|
|
flixel_math_FlxVector.EPSILON = 0.0000001;
|
|
flixel_math_FlxVector.EPSILON_SQUARED = 9.9999999999999984e-015;
|
|
flixel_math_FlxVector._vector1 = (function($this) {
|
|
var $r;
|
|
var this1 = new flixel_math_FlxPoint(0,0);
|
|
$r = this1;
|
|
return $r;
|
|
}(this));
|
|
flixel_math_FlxVector._vector2 = (function($this) {
|
|
var $r;
|
|
var this1 = new flixel_math_FlxPoint(0,0);
|
|
$r = this1;
|
|
return $r;
|
|
}(this));
|
|
flixel_math_FlxVector._vector3 = (function($this) {
|
|
var $r;
|
|
var this1 = new flixel_math_FlxPoint(0,0);
|
|
$r = this1;
|
|
return $r;
|
|
}(this));
|
|
flixel_system_GraphicLogo.resourceType = "image/png";
|
|
flixel_system_GraphicLogo.resourceName = "__ASSET__:bitmap_flixel_system_GraphicLogo";
|
|
flixel_system_GraphicVirtualInput.resourceType = "image/png";
|
|
flixel_system_GraphicVirtualInput.resourceName = "__ASSET__:bitmap_flixel_system_GraphicVirtualInput";
|
|
openfl_utils_ByteArrayData.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}};
|
|
openfl_utils_ByteArrayData.defaultObjectEncoding = 10;
|
|
openfl_utils_ByteArrayData.__defaultEndian = null;
|
|
flixel_system_VirtualInputData.resourceName = "__ASSET__:file_flixel_system_VirtualInputData";
|
|
flixel_system_FlxAssets.FONT_DEFAULT = "Nokia Cellphone FC Small";
|
|
flixel_system_FlxAssets.FONT_DEBUGGER = "Monsterrat";
|
|
flixel_system_FlxBasePreloader.LOCAL = "localhost";
|
|
flixel_system_FlxLinkedList._NUM_CACHED_FLX_LIST = 0;
|
|
flixel_system__$FlxPreloader_GraphicLogoLight.resourceType = "image/png";
|
|
flixel_system__$FlxPreloader_GraphicLogoLight.resourceName = "__ASSET__:bitmap_flixel_system__FlxPreloader_GraphicLogoLight";
|
|
flixel_system__$FlxPreloader_GraphicLogoCorners.resourceType = "image/png";
|
|
flixel_system__$FlxPreloader_GraphicLogoCorners.resourceName = "__ASSET__:bitmap_flixel_system__FlxPreloader_GraphicLogoCorners";
|
|
flixel_system_FlxQuadTree.A_LIST = 0;
|
|
flixel_system_FlxQuadTree.B_LIST = 1;
|
|
flixel_system_FlxQuadTree._NUM_CACHED_QUAD_TREES = 0;
|
|
flixel_system_FlxSplash.muted = true;
|
|
flixel_system_debug__$FlxDebugger_GraphicFlixel.resourceType = "image/png";
|
|
flixel_system_debug__$FlxDebugger_GraphicFlixel.resourceName = "__ASSET__:bitmap_flixel_system_debug__FlxDebugger_GraphicFlixel";
|
|
flixel_system_debug__$FlxDebugger_GraphicDrawDebug.resourceType = "image/png";
|
|
flixel_system_debug__$FlxDebugger_GraphicDrawDebug.resourceName = "__ASSET__:bitmap_flixel_system_debug__FlxDebugger_GraphicDrawDebug";
|
|
flixel_system_debug_GraphicLog.resourceType = "image/png";
|
|
flixel_system_debug_GraphicLog.resourceName = "__ASSET__:bitmap_flixel_system_debug_GraphicLog";
|
|
flixel_system_debug_GraphicStats.resourceType = "image/png";
|
|
flixel_system_debug_GraphicStats.resourceName = "__ASSET__:bitmap_flixel_system_debug_GraphicStats";
|
|
flixel_system_debug_GraphicWatch.resourceType = "image/png";
|
|
flixel_system_debug_GraphicWatch.resourceName = "__ASSET__:bitmap_flixel_system_debug_GraphicWatch";
|
|
flixel_system_debug_GraphicBitmapLog.resourceType = "image/png";
|
|
flixel_system_debug_GraphicBitmapLog.resourceName = "__ASSET__:bitmap_flixel_system_debug_GraphicBitmapLog";
|
|
flixel_system_debug_GraphicConsole.resourceType = "image/png";
|
|
flixel_system_debug_GraphicConsole.resourceName = "__ASSET__:bitmap_flixel_system_debug_GraphicConsole";
|
|
flixel_system_debug_GraphicArrowLeft.resourceType = "image/png";
|
|
flixel_system_debug_GraphicArrowLeft.resourceName = "__ASSET__:bitmap_flixel_system_debug_GraphicArrowLeft";
|
|
flixel_system_debug_GraphicArrowRight.resourceType = "image/png";
|
|
flixel_system_debug_GraphicArrowRight.resourceName = "__ASSET__:bitmap_flixel_system_debug_GraphicArrowRight";
|
|
flixel_system_debug_GraphicCloseButton.resourceType = "image/png";
|
|
flixel_system_debug_GraphicCloseButton.resourceName = "__ASSET__:bitmap_flixel_system_debug_GraphicCloseButton";
|
|
flixel_system_debug_GraphicInteractive.resourceType = "image/png";
|
|
flixel_system_debug_GraphicInteractive.resourceName = "__ASSET__:bitmap_flixel_system_debug_GraphicInteractive";
|
|
flixel_system_debug_Tooltip._tooltips = [];
|
|
flixel_system_debug_TooltipOverlay.BG_COLOR = -12961222;
|
|
flixel_system_debug_TooltipOverlay.TEXT_ALPHA = 0.8;
|
|
flixel_system_debug_TooltipOverlay.MARGIN_X = 10;
|
|
flixel_system_debug_TooltipOverlay.MARGIN_Y = 10;
|
|
flixel_system_debug__$Window_GraphicWindowHandle.resourceType = "image/png";
|
|
flixel_system_debug__$Window_GraphicWindowHandle.resourceName = "__ASSET__:bitmap_flixel_system_debug__Window_GraphicWindowHandle";
|
|
flixel_system_debug_Window.BG_COLOR = -580952225;
|
|
flixel_system_debug_Window.HEADER_COLOR = -1157627904;
|
|
flixel_system_debug_Window.HEADER_ALPHA = 0.8;
|
|
flixel_system_debug_Window.HEADER_HEIGHT = 15;
|
|
flixel_system_debug_Window.WINDOW_AMOUNT = 0;
|
|
flixel_system_debug_completion_CompletionListEntry.WIDTH = 150;
|
|
flixel_system_debug_completion_CompletionListEntry.HEIGHT = 20;
|
|
flixel_system_debug_completion_CompletionListEntry.COLOR_NORMAL = -10526881;
|
|
flixel_system_debug_completion_CompletionListEntry.COLOR_HIGHLIGHT = -9605779;
|
|
flixel_system_debug_completion_CompletionListEntry.GUTTER = 4;
|
|
flixel_system_debug_completion_CompletionListScrollBar.BG_COLOR = -12303292;
|
|
flixel_system_debug_completion_CompletionListScrollBar.HANDLE_COLOR = -14540254;
|
|
flixel_system_debug_interaction_tools__$Eraser_GraphicEraserTool.resourceType = "image/png";
|
|
flixel_system_debug_interaction_tools__$Eraser_GraphicEraserTool.resourceName = "__ASSET__:bitmap_flixel_system_debug_interaction_tools__Eraser_GraphicEraserTool";
|
|
flixel_system_debug_interaction_tools__$Mover_GraphicMoverTool.resourceType = "image/png";
|
|
flixel_system_debug_interaction_tools__$Mover_GraphicMoverTool.resourceName = "__ASSET__:bitmap_flixel_system_debug_interaction_tools__Mover_GraphicMoverTool";
|
|
flixel_system_debug_interaction_tools_GraphicCursorCross.resourceType = "image/png";
|
|
flixel_system_debug_interaction_tools_GraphicCursorCross.resourceName = "__ASSET__:bitmap_flixel_system_debug_interaction_tools_GraphicCursorCross";
|
|
flixel_system_debug_interaction_tools__$Transform_GraphicTransformTool.resourceType = "image/png";
|
|
flixel_system_debug_interaction_tools__$Transform_GraphicTransformTool.resourceName = "__ASSET__:bitmap_flixel_system_debug_interaction_tools__Transform_GraphicTransformTool";
|
|
flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorDefault.resourceType = "image/png";
|
|
flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorDefault.resourceName = "__ASSET__:bitmap_flixel_system_debug_interaction_tools__Transform_GraphicTransformCursorDefault";
|
|
flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleY.resourceType = "image/png";
|
|
flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleY.resourceName = "__ASSET__:bitmap_flixel_system_debug_interaction_tools__Transform_GraphicTransformCursorScaleY";
|
|
flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleX.resourceType = "image/png";
|
|
flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleX.resourceName = "__ASSET__:bitmap_flixel_system_debug_interaction_tools__Transform_GraphicTransformCursorScaleX";
|
|
flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleXY.resourceType = "image/png";
|
|
flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleXY.resourceName = "__ASSET__:bitmap_flixel_system_debug_interaction_tools__Transform_GraphicTransformCursorScaleXY";
|
|
flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorRotate.resourceType = "image/png";
|
|
flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorRotate.resourceName = "__ASSET__:bitmap_flixel_system_debug_interaction_tools__Transform_GraphicTransformCursorRotate";
|
|
flixel_system_debug_interaction_tools_Transform.OUTLINE_PADDING = 5.0;
|
|
flixel_system_debug_interaction_tools_Transform.MARKER_SIZE = 3.0;
|
|
flixel_system_debug_interaction_tools_Transform.MARKER_INTERACTION_DISTANCE = 5.0;
|
|
flixel_system_debug_interaction_tools_Transform.RESIZE_STEP = 10.0;
|
|
flixel_system_debug_interaction_tools_Transform.CURSOR_ROTATE = "transformRotate";
|
|
flixel_system_debug_interaction_tools_Transform.CURSOR_SCALE_X = "transformScaleX";
|
|
flixel_system_debug_interaction_tools_Transform.CURSOR_SCALE_Y = "transformScaleY";
|
|
flixel_system_debug_interaction_tools_Transform.CURSOR_SCALE_XY = "transformScaleXY";
|
|
flixel_system_debug_interaction_tools_Transform.MARKER_ROTATE = 0;
|
|
flixel_system_debug_interaction_tools_Transform.MARKER_SCALE_X = 1;
|
|
flixel_system_debug_interaction_tools_Transform.MARKER_SCALE_XY = 2;
|
|
flixel_system_debug_interaction_tools_Transform.MARKER_SCALE_Y = 3;
|
|
flixel_system_debug_log_LogStyle.NORMAL = new flixel_system_debug_log_LogStyle();
|
|
flixel_system_debug_log_LogStyle.WARNING = new flixel_system_debug_log_LogStyle("[WARNING] ","D9F85C",12,false,false,false,"flixel/sounds/beep",true);
|
|
flixel_system_debug_log_LogStyle.ERROR = new flixel_system_debug_log_LogStyle("[ERROR] ","FF8888",12,false,false,false,"flixel/sounds/beep",true);
|
|
flixel_system_debug_log_LogStyle.NOTICE = new flixel_system_debug_log_LogStyle("[NOTICE] ","5CF878",12,false);
|
|
flixel_system_debug_log_LogStyle.CONSOLE = new flixel_system_debug_log_LogStyle("> ","5A96FA",12,false);
|
|
flixel_system_debug_stats__$Stats_GraphicMinimizeButton.resourceType = "image/png";
|
|
flixel_system_debug_stats__$Stats_GraphicMinimizeButton.resourceName = "__ASSET__:bitmap_flixel_system_debug_stats__Stats_GraphicMinimizeButton";
|
|
flixel_system_debug_stats__$Stats_GraphicMaximizeButton.resourceType = "image/png";
|
|
flixel_system_debug_stats__$Stats_GraphicMaximizeButton.resourceName = "__ASSET__:bitmap_flixel_system_debug_stats__Stats_GraphicMaximizeButton";
|
|
flixel_text_FlxTextAlign.LEFT = "left";
|
|
flixel_text_FlxTextAlign.CENTER = "center";
|
|
flixel_text_FlxTextAlign.RIGHT = "right";
|
|
flixel_text_FlxTextAlign.JUSTIFY = "justify";
|
|
flixel_tile_FlxBaseTilemap.offsetAutoTile = [0,0,0,0,2,2,0,3,0,0,0,0,0,0,0,0,11,11,0,0,13,13,0,14,0,0,0,0,18,18,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,51,0,0,53,53,0,54,0,0,0,0,0,0,0,0,62,62,0,0,64,64,0,65,0,0,0,0,69,69,0,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,86,86,0,0,88,88,0,89,0,0,0,0,93,93,0,94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,0,0,0,162,0,163,0,0,0,0,0,0,0,0,0,172,0,0,0,175,0,176,0,0,0,0,0,181,0,182,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,199,0,0,0,202,0,203,0,0,0,0,0,208,0,209];
|
|
flixel_tweens_FlxEase.PI2 = Math.PI / 2;
|
|
flixel_tweens_FlxEase.EL = 2 * Math.PI / .45;
|
|
flixel_tweens_FlxEase.B1 = 0.36363636363636365;
|
|
flixel_tweens_FlxEase.B2 = 0.72727272727272729;
|
|
flixel_tweens_FlxEase.B3 = 0.54545454545454541;
|
|
flixel_tweens_FlxEase.B4 = 0.90909090909090906;
|
|
flixel_tweens_FlxEase.B5 = 0.81818181818181823;
|
|
flixel_tweens_FlxEase.B6 = 0.95454545454545459;
|
|
flixel_tweens_FlxEase.ELASTIC_AMPLITUDE = 1;
|
|
flixel_tweens_FlxEase.ELASTIC_PERIOD = 0.4;
|
|
flixel_tweens_FlxTween.PERSIST = 1;
|
|
flixel_tweens_FlxTween.LOOPING = 2;
|
|
flixel_tweens_FlxTween.PINGPONG = 4;
|
|
flixel_tweens_FlxTween.ONESHOT = 8;
|
|
flixel_tweens_FlxTween.BACKWARD = 16;
|
|
flixel_ui_FlxButton.NORMAL = 0;
|
|
flixel_ui_FlxButton.HIGHLIGHT = 1;
|
|
flixel_ui_FlxButton.PRESSED = 2;
|
|
flixel_util_FlxBitmapDataPool.maxLength = 8;
|
|
flixel_util_FlxBitmapDataPool.$length = 0;
|
|
flixel_util_FlxBitmapDataPool._head = null;
|
|
flixel_util_FlxBitmapDataPool._tail = null;
|
|
flixel_util_FlxBitmapDataPool._rect = new openfl_geom_Rectangle();
|
|
flixel_util_FlxBitmapDataUtil.matrix = new flixel_math_FlxMatrix();
|
|
flixel_util_FlxCollision.pointA = (function($this) {
|
|
var $r;
|
|
var this1 = new flixel_math_FlxPoint(0,0);
|
|
$r = this1;
|
|
return $r;
|
|
}(this));
|
|
flixel_util_FlxCollision.pointB = (function($this) {
|
|
var $r;
|
|
var this1 = new flixel_math_FlxPoint(0,0);
|
|
$r = this1;
|
|
return $r;
|
|
}(this));
|
|
flixel_util_FlxCollision.centerA = (function($this) {
|
|
var $r;
|
|
var this1 = new flixel_math_FlxPoint(0,0);
|
|
$r = this1;
|
|
return $r;
|
|
}(this));
|
|
flixel_util_FlxCollision.centerB = (function($this) {
|
|
var $r;
|
|
var this1 = new flixel_math_FlxPoint(0,0);
|
|
$r = this1;
|
|
return $r;
|
|
}(this));
|
|
flixel_util_FlxCollision.matrixA = new flixel_math_FlxMatrix();
|
|
flixel_util_FlxCollision.matrixB = new flixel_math_FlxMatrix();
|
|
flixel_util_FlxCollision.testMatrix = new flixel_math_FlxMatrix();
|
|
flixel_util_FlxCollision.boundsA = new flixel_math_FlxRect();
|
|
flixel_util_FlxCollision.boundsB = new flixel_math_FlxRect();
|
|
flixel_util_FlxCollision.intersect = new flixel_math_FlxRect();
|
|
flixel_util_FlxCollision.flashRect = new openfl_geom_Rectangle();
|
|
flixel_util_FlxColor.TRANSPARENT = 0;
|
|
flixel_util_FlxColor.WHITE = -1;
|
|
flixel_util_FlxColor.GRAY = -8355712;
|
|
flixel_util_FlxColor.BLACK = -16777216;
|
|
flixel_util_FlxColor.GREEN = -16744448;
|
|
flixel_util_FlxColor.LIME = -16711936;
|
|
flixel_util_FlxColor.YELLOW = -256;
|
|
flixel_util_FlxColor.ORANGE = -23296;
|
|
flixel_util_FlxColor.RED = -65536;
|
|
flixel_util_FlxColor.PURPLE = -8388480;
|
|
flixel_util_FlxColor.BLUE = -16776961;
|
|
flixel_util_FlxColor.BROWN = -7650029;
|
|
flixel_util_FlxColor.PINK = -16181;
|
|
flixel_util_FlxColor.MAGENTA = -65281;
|
|
flixel_util_FlxColor.CYAN = -16711681;
|
|
flixel_util_FlxColor.colorLookup = (function($this) {
|
|
var $r;
|
|
var _g = new haxe_ds_StringMap();
|
|
_g.h["TRANSPARENT"] = 0;
|
|
_g.h["WHITE"] = -1;
|
|
_g.h["GRAY"] = -8355712;
|
|
_g.h["BLACK"] = -16777216;
|
|
_g.h["GREEN"] = -16744448;
|
|
_g.h["LIME"] = -16711936;
|
|
_g.h["YELLOW"] = -256;
|
|
_g.h["ORANGE"] = -23296;
|
|
_g.h["RED"] = -65536;
|
|
_g.h["PURPLE"] = -8388480;
|
|
_g.h["BLUE"] = -16776961;
|
|
_g.h["BROWN"] = -7650029;
|
|
_g.h["PINK"] = -16181;
|
|
_g.h["MAGENTA"] = -65281;
|
|
_g.h["CYAN"] = -16711681;
|
|
$r = _g;
|
|
return $r;
|
|
}(this));
|
|
flixel_util_FlxColor.COLOR_REGEX = new EReg("^(0x|#)(([A-F0-9]{2}){3,4})$","i");
|
|
flixel_util_FlxPath.FORWARD = 0;
|
|
flixel_util_FlxPath.BACKWARD = 1;
|
|
flixel_util_FlxPath.LOOP_FORWARD = 16;
|
|
flixel_util_FlxPath.LOOP_BACKWARD = 256;
|
|
flixel_util_FlxPath.YOYO = 4096;
|
|
flixel_util_FlxPath.HORIZONTAL_ONLY = 65536;
|
|
flixel_util_FlxPath.VERTICAL_ONLY = 1048576;
|
|
flixel_util_FlxPath._point = (function($this) {
|
|
var $r;
|
|
var point = flixel_math_FlxPoint._pool.get().set(0,0);
|
|
point._inPool = false;
|
|
$r = point;
|
|
return $r;
|
|
}(this));
|
|
flixel_util_FlxSort.ASCENDING = -1;
|
|
flixel_util_FlxSort.DESCENDING = 1;
|
|
flixel_util_FlxSpriteUtil.flashGfxSprite = new openfl_display_Sprite();
|
|
flixel_util_FlxSpriteUtil.flashGfx = flixel_util_FlxSpriteUtil.flashGfxSprite.get_graphics();
|
|
flixel_util_LabelValuePair._pool = new flixel_util_FlxPool_$flixel_$util_$LabelValuePair(flixel_util_LabelValuePair);
|
|
haxe_Serializer.USE_CACHE = false;
|
|
haxe_Serializer.USE_ENUM_INDEX = false;
|
|
haxe_Serializer.BASE64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789%:";
|
|
haxe_Serializer.BASE64_CODES = null;
|
|
haxe_Unserializer.DEFAULT_RESOLVER = new haxe__$Unserializer_DefaultResolver();
|
|
haxe_Unserializer.BASE64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789%:";
|
|
haxe_Unserializer.CODES = null;
|
|
haxe_crypto_Base64.CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
haxe_crypto_Base64.BYTES = haxe_io_Bytes.ofString(haxe_crypto_Base64.CHARS);
|
|
haxe_io_FPHelper.i64tmp = (function($this) {
|
|
var $r;
|
|
var this1 = new haxe__$Int64__$_$_$Int64(0,0);
|
|
$r = this1;
|
|
return $r;
|
|
}(this));
|
|
haxe_io_FPHelper.helper = new DataView(new ArrayBuffer(8));
|
|
haxe_xml_Parser.escapes = (function($this) {
|
|
var $r;
|
|
var h = new haxe_ds_StringMap();
|
|
h.h["lt"] = "<";
|
|
h.h["gt"] = ">";
|
|
h.h["amp"] = "&";
|
|
h.h["quot"] = "\"";
|
|
h.h["apos"] = "'";
|
|
$r = h;
|
|
return $r;
|
|
}(this));
|
|
haxe_zip_InflateImpl.LEN_EXTRA_BITS_TBL = [0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,-1,-1];
|
|
haxe_zip_InflateImpl.LEN_BASE_VAL_TBL = [3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258];
|
|
haxe_zip_InflateImpl.DIST_EXTRA_BITS_TBL = [0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,-1,-1];
|
|
haxe_zip_InflateImpl.DIST_BASE_VAL_TBL = [1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577];
|
|
haxe_zip_InflateImpl.CODE_LENGTHS_POS = [16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];
|
|
haxe_zip_InflateImpl.FIXED_HUFFMAN = null;
|
|
hscript_Parser.p1 = 0;
|
|
hscript_Parser.tokenMin = 0;
|
|
hscript_Parser.tokenMax = 0;
|
|
io_newgrounds_NGLite.onCoreReady = new io_newgrounds_utils_Dispatcher();
|
|
io_newgrounds_NG.onCoreReady = new io_newgrounds_utils_Dispatcher();
|
|
io_newgrounds_NG.urlParser = new EReg("^(?:http[s]?://)?([^:/\\s]+)(:[0-9]+)?((?:/\\w+)*/)([\\w\\-\\.]+[^#?\\s]+)([^#\\s]*)?(#[\\w\\-]+)?$","i");
|
|
io_newgrounds_objects_Medal.EASY = 1;
|
|
io_newgrounds_objects_Medal.MODERATE = 2;
|
|
io_newgrounds_objects_Medal.CHALLENGING = 3;
|
|
io_newgrounds_objects_Medal.DIFFICULT = 4;
|
|
io_newgrounds_objects_Medal.BRUTAL = 5;
|
|
io_newgrounds_utils_AsyncHttp.PATH = "https://newgrounds.io/gateway_v3.php";
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.OPTION_REVOKE_URL = 1;
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests = 0;
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.requestLimit = 17;
|
|
lime__$internal_backend_html5_HTML5HTTPRequest.requestQueue = new haxe_ds_List();
|
|
lime__$internal_backend_html5_HTML5Window.dummyCharacter = "";
|
|
lime__$internal_backend_html5_HTML5Window.windowID = 0;
|
|
lime__$internal_format_Base64.DICTIONARY = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");
|
|
lime__$internal_format_Base64.EXTENDED_DICTIONARY = (function($this) {
|
|
var $r;
|
|
var result = [];
|
|
{
|
|
var _g = 0;
|
|
var _g1 = lime__$internal_format_Base64.DICTIONARY;
|
|
while(_g < _g1.length) {
|
|
var a = _g1[_g];
|
|
++_g;
|
|
var _g2 = 0;
|
|
var _g3 = lime__$internal_format_Base64.DICTIONARY;
|
|
while(_g2 < _g3.length) {
|
|
var b = _g3[_g2];
|
|
++_g2;
|
|
result.push(a + b);
|
|
}
|
|
}
|
|
}
|
|
$r = result;
|
|
return $r;
|
|
}(this));
|
|
lime__$internal_graphics_StackBlur.MUL_TABLE = [1,171,205,293,57,373,79,137,241,27,391,357,41,19,283,265,497,469,443,421,25,191,365,349,335,161,155,149,9,278,269,261,505,245,475,231,449,437,213,415,405,395,193,377,369,361,353,345,169,331,325,319,313,307,301,37,145,285,281,69,271,267,263,259,509,501,493,243,479,118,465,459,113,446,55,435,429,423,209,413,51,403,199,393,97,3,379,375,371,367,363,359,355,351,347,43,85,337,333,165,327,323,5,317,157,311,77,305,303,75,297,294,73,289,287,71,141,279,277,275,68,135,67,133,33,262,260,129,511,507,503,499,495,491,61,121,481,477,237,235,467,232,115,457,227,451,7,445,221,439,218,433,215,427,425,211,419,417,207,411,409,203,202,401,399,396,197,49,389,387,385,383,95,189,47,187,93,185,23,183,91,181,45,179,89,177,11,175,87,173,345,343,341,339,337,21,167,83,331,329,327,163,81,323,321,319,159,79,315,313,39,155,309,307,153,305,303,151,75,299,149,37,295,147,73,291,145,289,287,143,285,71,141,281,35,279,139,69,275,137,273,17,271,135,269,267,133,265,33,263,131,261,130,259,129,257,1];
|
|
lime__$internal_graphics_StackBlur.SHG_TABLE = [0,9,10,11,9,12,10,11,12,9,13,13,10,9,13,13,14,14,14,14,10,13,14,14,14,13,13,13,9,14,14,14,15,14,15,14,15,15,14,15,15,15,14,15,15,15,15,15,14,15,15,15,15,15,15,12,14,15,15,13,15,15,15,15,16,16,16,15,16,14,16,16,14,16,13,16,16,16,15,16,13,16,15,16,14,9,16,16,16,16,16,16,16,16,16,13,14,16,16,15,16,16,10,16,15,16,14,16,16,14,16,16,14,16,16,14,15,16,16,16,14,15,14,15,13,16,16,15,17,17,17,17,17,17,14,15,17,17,16,16,17,16,15,17,16,17,11,17,16,17,16,17,16,17,17,16,17,17,16,17,17,16,16,17,17,17,16,14,17,17,17,17,15,16,14,16,15,16,13,16,15,16,14,16,15,16,12,16,15,16,17,17,17,17,17,13,16,15,17,17,17,16,15,17,17,17,16,15,17,17,14,16,17,17,16,17,17,16,15,17,16,14,17,16,15,17,16,17,17,16,17,15,16,17,14,17,16,15,17,16,17,13,17,16,17,17,16,17,14,17,16,17,16,17,16,17,9];
|
|
lime_graphics_cairo_CairoFTFontFace.FT_LOAD_FORCE_AUTOHINT = 32;
|
|
lime_graphics_opengl_GL.DEPTH_BUFFER_BIT = 256;
|
|
lime_graphics_opengl_GL.STENCIL_BUFFER_BIT = 1024;
|
|
lime_graphics_opengl_GL.COLOR_BUFFER_BIT = 16384;
|
|
lime_graphics_opengl_GL.POINTS = 0;
|
|
lime_graphics_opengl_GL.LINES = 1;
|
|
lime_graphics_opengl_GL.LINE_LOOP = 2;
|
|
lime_graphics_opengl_GL.LINE_STRIP = 3;
|
|
lime_graphics_opengl_GL.TRIANGLES = 4;
|
|
lime_graphics_opengl_GL.TRIANGLE_STRIP = 5;
|
|
lime_graphics_opengl_GL.TRIANGLE_FAN = 6;
|
|
lime_graphics_opengl_GL.ZERO = 0;
|
|
lime_graphics_opengl_GL.ONE = 1;
|
|
lime_graphics_opengl_GL.SRC_COLOR = 768;
|
|
lime_graphics_opengl_GL.ONE_MINUS_SRC_COLOR = 769;
|
|
lime_graphics_opengl_GL.SRC_ALPHA = 770;
|
|
lime_graphics_opengl_GL.ONE_MINUS_SRC_ALPHA = 771;
|
|
lime_graphics_opengl_GL.DST_ALPHA = 772;
|
|
lime_graphics_opengl_GL.ONE_MINUS_DST_ALPHA = 773;
|
|
lime_graphics_opengl_GL.DST_COLOR = 774;
|
|
lime_graphics_opengl_GL.ONE_MINUS_DST_COLOR = 775;
|
|
lime_graphics_opengl_GL.SRC_ALPHA_SATURATE = 776;
|
|
lime_graphics_opengl_GL.FUNC_ADD = 32774;
|
|
lime_graphics_opengl_GL.BLEND_EQUATION = 32777;
|
|
lime_graphics_opengl_GL.BLEND_EQUATION_RGB = 32777;
|
|
lime_graphics_opengl_GL.BLEND_EQUATION_ALPHA = 34877;
|
|
lime_graphics_opengl_GL.FUNC_SUBTRACT = 32778;
|
|
lime_graphics_opengl_GL.FUNC_REVERSE_SUBTRACT = 32779;
|
|
lime_graphics_opengl_GL.BLEND_DST_RGB = 32968;
|
|
lime_graphics_opengl_GL.BLEND_SRC_RGB = 32969;
|
|
lime_graphics_opengl_GL.BLEND_DST_ALPHA = 32970;
|
|
lime_graphics_opengl_GL.BLEND_SRC_ALPHA = 32971;
|
|
lime_graphics_opengl_GL.CONSTANT_COLOR = 32769;
|
|
lime_graphics_opengl_GL.ONE_MINUS_CONSTANT_COLOR = 32770;
|
|
lime_graphics_opengl_GL.CONSTANT_ALPHA = 32771;
|
|
lime_graphics_opengl_GL.ONE_MINUS_CONSTANT_ALPHA = 32772;
|
|
lime_graphics_opengl_GL.BLEND_COLOR = 32773;
|
|
lime_graphics_opengl_GL.ARRAY_BUFFER = 34962;
|
|
lime_graphics_opengl_GL.ELEMENT_ARRAY_BUFFER = 34963;
|
|
lime_graphics_opengl_GL.ARRAY_BUFFER_BINDING = 34964;
|
|
lime_graphics_opengl_GL.ELEMENT_ARRAY_BUFFER_BINDING = 34965;
|
|
lime_graphics_opengl_GL.STREAM_DRAW = 35040;
|
|
lime_graphics_opengl_GL.STATIC_DRAW = 35044;
|
|
lime_graphics_opengl_GL.DYNAMIC_DRAW = 35048;
|
|
lime_graphics_opengl_GL.BUFFER_SIZE = 34660;
|
|
lime_graphics_opengl_GL.BUFFER_USAGE = 34661;
|
|
lime_graphics_opengl_GL.CURRENT_VERTEX_ATTRIB = 34342;
|
|
lime_graphics_opengl_GL.FRONT = 1028;
|
|
lime_graphics_opengl_GL.BACK = 1029;
|
|
lime_graphics_opengl_GL.FRONT_AND_BACK = 1032;
|
|
lime_graphics_opengl_GL.CULL_FACE = 2884;
|
|
lime_graphics_opengl_GL.BLEND = 3042;
|
|
lime_graphics_opengl_GL.DITHER = 3024;
|
|
lime_graphics_opengl_GL.STENCIL_TEST = 2960;
|
|
lime_graphics_opengl_GL.DEPTH_TEST = 2929;
|
|
lime_graphics_opengl_GL.SCISSOR_TEST = 3089;
|
|
lime_graphics_opengl_GL.POLYGON_OFFSET_FILL = 32823;
|
|
lime_graphics_opengl_GL.SAMPLE_ALPHA_TO_COVERAGE = 32926;
|
|
lime_graphics_opengl_GL.SAMPLE_COVERAGE = 32928;
|
|
lime_graphics_opengl_GL.NO_ERROR = 0;
|
|
lime_graphics_opengl_GL.INVALID_ENUM = 1280;
|
|
lime_graphics_opengl_GL.INVALID_VALUE = 1281;
|
|
lime_graphics_opengl_GL.INVALID_OPERATION = 1282;
|
|
lime_graphics_opengl_GL.OUT_OF_MEMORY = 1285;
|
|
lime_graphics_opengl_GL.CW = 2304;
|
|
lime_graphics_opengl_GL.CCW = 2305;
|
|
lime_graphics_opengl_GL.LINE_WIDTH = 2849;
|
|
lime_graphics_opengl_GL.ALIASED_POINT_SIZE_RANGE = 33901;
|
|
lime_graphics_opengl_GL.ALIASED_LINE_WIDTH_RANGE = 33902;
|
|
lime_graphics_opengl_GL.CULL_FACE_MODE = 2885;
|
|
lime_graphics_opengl_GL.FRONT_FACE = 2886;
|
|
lime_graphics_opengl_GL.DEPTH_RANGE = 2928;
|
|
lime_graphics_opengl_GL.DEPTH_WRITEMASK = 2930;
|
|
lime_graphics_opengl_GL.DEPTH_CLEAR_VALUE = 2931;
|
|
lime_graphics_opengl_GL.DEPTH_FUNC = 2932;
|
|
lime_graphics_opengl_GL.STENCIL_CLEAR_VALUE = 2961;
|
|
lime_graphics_opengl_GL.STENCIL_FUNC = 2962;
|
|
lime_graphics_opengl_GL.STENCIL_FAIL = 2964;
|
|
lime_graphics_opengl_GL.STENCIL_PASS_DEPTH_FAIL = 2965;
|
|
lime_graphics_opengl_GL.STENCIL_PASS_DEPTH_PASS = 2966;
|
|
lime_graphics_opengl_GL.STENCIL_REF = 2967;
|
|
lime_graphics_opengl_GL.STENCIL_VALUE_MASK = 2963;
|
|
lime_graphics_opengl_GL.STENCIL_WRITEMASK = 2968;
|
|
lime_graphics_opengl_GL.STENCIL_BACK_FUNC = 34816;
|
|
lime_graphics_opengl_GL.STENCIL_BACK_FAIL = 34817;
|
|
lime_graphics_opengl_GL.STENCIL_BACK_PASS_DEPTH_FAIL = 34818;
|
|
lime_graphics_opengl_GL.STENCIL_BACK_PASS_DEPTH_PASS = 34819;
|
|
lime_graphics_opengl_GL.STENCIL_BACK_REF = 36003;
|
|
lime_graphics_opengl_GL.STENCIL_BACK_VALUE_MASK = 36004;
|
|
lime_graphics_opengl_GL.STENCIL_BACK_WRITEMASK = 36005;
|
|
lime_graphics_opengl_GL.VIEWPORT = 2978;
|
|
lime_graphics_opengl_GL.SCISSOR_BOX = 3088;
|
|
lime_graphics_opengl_GL.COLOR_CLEAR_VALUE = 3106;
|
|
lime_graphics_opengl_GL.COLOR_WRITEMASK = 3107;
|
|
lime_graphics_opengl_GL.UNPACK_ALIGNMENT = 3317;
|
|
lime_graphics_opengl_GL.PACK_ALIGNMENT = 3333;
|
|
lime_graphics_opengl_GL.MAX_TEXTURE_SIZE = 3379;
|
|
lime_graphics_opengl_GL.MAX_VIEWPORT_DIMS = 3386;
|
|
lime_graphics_opengl_GL.SUBPIXEL_BITS = 3408;
|
|
lime_graphics_opengl_GL.RED_BITS = 3410;
|
|
lime_graphics_opengl_GL.GREEN_BITS = 3411;
|
|
lime_graphics_opengl_GL.BLUE_BITS = 3412;
|
|
lime_graphics_opengl_GL.ALPHA_BITS = 3413;
|
|
lime_graphics_opengl_GL.DEPTH_BITS = 3414;
|
|
lime_graphics_opengl_GL.STENCIL_BITS = 3415;
|
|
lime_graphics_opengl_GL.POLYGON_OFFSET_UNITS = 10752;
|
|
lime_graphics_opengl_GL.POLYGON_OFFSET_FACTOR = 32824;
|
|
lime_graphics_opengl_GL.TEXTURE_BINDING_2D = 32873;
|
|
lime_graphics_opengl_GL.SAMPLE_BUFFERS = 32936;
|
|
lime_graphics_opengl_GL.SAMPLES = 32937;
|
|
lime_graphics_opengl_GL.SAMPLE_COVERAGE_VALUE = 32938;
|
|
lime_graphics_opengl_GL.SAMPLE_COVERAGE_INVERT = 32939;
|
|
lime_graphics_opengl_GL.NUM_COMPRESSED_TEXTURE_FORMATS = 34466;
|
|
lime_graphics_opengl_GL.COMPRESSED_TEXTURE_FORMATS = 34467;
|
|
lime_graphics_opengl_GL.DONT_CARE = 4352;
|
|
lime_graphics_opengl_GL.FASTEST = 4353;
|
|
lime_graphics_opengl_GL.NICEST = 4354;
|
|
lime_graphics_opengl_GL.GENERATE_MIPMAP_HINT = 33170;
|
|
lime_graphics_opengl_GL.BYTE = 5120;
|
|
lime_graphics_opengl_GL.UNSIGNED_BYTE = 5121;
|
|
lime_graphics_opengl_GL.SHORT = 5122;
|
|
lime_graphics_opengl_GL.UNSIGNED_SHORT = 5123;
|
|
lime_graphics_opengl_GL.INT = 5124;
|
|
lime_graphics_opengl_GL.UNSIGNED_INT = 5125;
|
|
lime_graphics_opengl_GL.FLOAT = 5126;
|
|
lime_graphics_opengl_GL.DEPTH_COMPONENT = 6402;
|
|
lime_graphics_opengl_GL.ALPHA = 6406;
|
|
lime_graphics_opengl_GL.RGB = 6407;
|
|
lime_graphics_opengl_GL.RGBA = 6408;
|
|
lime_graphics_opengl_GL.LUMINANCE = 6409;
|
|
lime_graphics_opengl_GL.LUMINANCE_ALPHA = 6410;
|
|
lime_graphics_opengl_GL.UNSIGNED_SHORT_4_4_4_4 = 32819;
|
|
lime_graphics_opengl_GL.UNSIGNED_SHORT_5_5_5_1 = 32820;
|
|
lime_graphics_opengl_GL.UNSIGNED_SHORT_5_6_5 = 33635;
|
|
lime_graphics_opengl_GL.FRAGMENT_SHADER = 35632;
|
|
lime_graphics_opengl_GL.VERTEX_SHADER = 35633;
|
|
lime_graphics_opengl_GL.MAX_VERTEX_ATTRIBS = 34921;
|
|
lime_graphics_opengl_GL.MAX_VERTEX_UNIFORM_VECTORS = 36347;
|
|
lime_graphics_opengl_GL.MAX_VARYING_VECTORS = 36348;
|
|
lime_graphics_opengl_GL.MAX_COMBINED_TEXTURE_IMAGE_UNITS = 35661;
|
|
lime_graphics_opengl_GL.MAX_VERTEX_TEXTURE_IMAGE_UNITS = 35660;
|
|
lime_graphics_opengl_GL.MAX_TEXTURE_IMAGE_UNITS = 34930;
|
|
lime_graphics_opengl_GL.MAX_FRAGMENT_UNIFORM_VECTORS = 36349;
|
|
lime_graphics_opengl_GL.SHADER_TYPE = 35663;
|
|
lime_graphics_opengl_GL.DELETE_STATUS = 35712;
|
|
lime_graphics_opengl_GL.LINK_STATUS = 35714;
|
|
lime_graphics_opengl_GL.VALIDATE_STATUS = 35715;
|
|
lime_graphics_opengl_GL.ATTACHED_SHADERS = 35717;
|
|
lime_graphics_opengl_GL.ACTIVE_UNIFORMS = 35718;
|
|
lime_graphics_opengl_GL.ACTIVE_ATTRIBUTES = 35721;
|
|
lime_graphics_opengl_GL.SHADING_LANGUAGE_VERSION = 35724;
|
|
lime_graphics_opengl_GL.CURRENT_PROGRAM = 35725;
|
|
lime_graphics_opengl_GL.NEVER = 512;
|
|
lime_graphics_opengl_GL.LESS = 513;
|
|
lime_graphics_opengl_GL.EQUAL = 514;
|
|
lime_graphics_opengl_GL.LEQUAL = 515;
|
|
lime_graphics_opengl_GL.GREATER = 516;
|
|
lime_graphics_opengl_GL.NOTEQUAL = 517;
|
|
lime_graphics_opengl_GL.GEQUAL = 518;
|
|
lime_graphics_opengl_GL.ALWAYS = 519;
|
|
lime_graphics_opengl_GL.KEEP = 7680;
|
|
lime_graphics_opengl_GL.REPLACE = 7681;
|
|
lime_graphics_opengl_GL.INCR = 7682;
|
|
lime_graphics_opengl_GL.DECR = 7683;
|
|
lime_graphics_opengl_GL.INVERT = 5386;
|
|
lime_graphics_opengl_GL.INCR_WRAP = 34055;
|
|
lime_graphics_opengl_GL.DECR_WRAP = 34056;
|
|
lime_graphics_opengl_GL.VENDOR = 7936;
|
|
lime_graphics_opengl_GL.RENDERER = 7937;
|
|
lime_graphics_opengl_GL.VERSION = 7938;
|
|
lime_graphics_opengl_GL.EXTENSIONS = 7939;
|
|
lime_graphics_opengl_GL.NEAREST = 9728;
|
|
lime_graphics_opengl_GL.LINEAR = 9729;
|
|
lime_graphics_opengl_GL.NEAREST_MIPMAP_NEAREST = 9984;
|
|
lime_graphics_opengl_GL.LINEAR_MIPMAP_NEAREST = 9985;
|
|
lime_graphics_opengl_GL.NEAREST_MIPMAP_LINEAR = 9986;
|
|
lime_graphics_opengl_GL.LINEAR_MIPMAP_LINEAR = 9987;
|
|
lime_graphics_opengl_GL.TEXTURE_MAG_FILTER = 10240;
|
|
lime_graphics_opengl_GL.TEXTURE_MIN_FILTER = 10241;
|
|
lime_graphics_opengl_GL.TEXTURE_WRAP_S = 10242;
|
|
lime_graphics_opengl_GL.TEXTURE_WRAP_T = 10243;
|
|
lime_graphics_opengl_GL.TEXTURE_2D = 3553;
|
|
lime_graphics_opengl_GL.TEXTURE = 5890;
|
|
lime_graphics_opengl_GL.TEXTURE_CUBE_MAP = 34067;
|
|
lime_graphics_opengl_GL.TEXTURE_BINDING_CUBE_MAP = 34068;
|
|
lime_graphics_opengl_GL.TEXTURE_CUBE_MAP_POSITIVE_X = 34069;
|
|
lime_graphics_opengl_GL.TEXTURE_CUBE_MAP_NEGATIVE_X = 34070;
|
|
lime_graphics_opengl_GL.TEXTURE_CUBE_MAP_POSITIVE_Y = 34071;
|
|
lime_graphics_opengl_GL.TEXTURE_CUBE_MAP_NEGATIVE_Y = 34072;
|
|
lime_graphics_opengl_GL.TEXTURE_CUBE_MAP_POSITIVE_Z = 34073;
|
|
lime_graphics_opengl_GL.TEXTURE_CUBE_MAP_NEGATIVE_Z = 34074;
|
|
lime_graphics_opengl_GL.MAX_CUBE_MAP_TEXTURE_SIZE = 34076;
|
|
lime_graphics_opengl_GL.TEXTURE0 = 33984;
|
|
lime_graphics_opengl_GL.TEXTURE1 = 33985;
|
|
lime_graphics_opengl_GL.TEXTURE2 = 33986;
|
|
lime_graphics_opengl_GL.TEXTURE3 = 33987;
|
|
lime_graphics_opengl_GL.TEXTURE4 = 33988;
|
|
lime_graphics_opengl_GL.TEXTURE5 = 33989;
|
|
lime_graphics_opengl_GL.TEXTURE6 = 33990;
|
|
lime_graphics_opengl_GL.TEXTURE7 = 33991;
|
|
lime_graphics_opengl_GL.TEXTURE8 = 33992;
|
|
lime_graphics_opengl_GL.TEXTURE9 = 33993;
|
|
lime_graphics_opengl_GL.TEXTURE10 = 33994;
|
|
lime_graphics_opengl_GL.TEXTURE11 = 33995;
|
|
lime_graphics_opengl_GL.TEXTURE12 = 33996;
|
|
lime_graphics_opengl_GL.TEXTURE13 = 33997;
|
|
lime_graphics_opengl_GL.TEXTURE14 = 33998;
|
|
lime_graphics_opengl_GL.TEXTURE15 = 33999;
|
|
lime_graphics_opengl_GL.TEXTURE16 = 34000;
|
|
lime_graphics_opengl_GL.TEXTURE17 = 34001;
|
|
lime_graphics_opengl_GL.TEXTURE18 = 34002;
|
|
lime_graphics_opengl_GL.TEXTURE19 = 34003;
|
|
lime_graphics_opengl_GL.TEXTURE20 = 34004;
|
|
lime_graphics_opengl_GL.TEXTURE21 = 34005;
|
|
lime_graphics_opengl_GL.TEXTURE22 = 34006;
|
|
lime_graphics_opengl_GL.TEXTURE23 = 34007;
|
|
lime_graphics_opengl_GL.TEXTURE24 = 34008;
|
|
lime_graphics_opengl_GL.TEXTURE25 = 34009;
|
|
lime_graphics_opengl_GL.TEXTURE26 = 34010;
|
|
lime_graphics_opengl_GL.TEXTURE27 = 34011;
|
|
lime_graphics_opengl_GL.TEXTURE28 = 34012;
|
|
lime_graphics_opengl_GL.TEXTURE29 = 34013;
|
|
lime_graphics_opengl_GL.TEXTURE30 = 34014;
|
|
lime_graphics_opengl_GL.TEXTURE31 = 34015;
|
|
lime_graphics_opengl_GL.ACTIVE_TEXTURE = 34016;
|
|
lime_graphics_opengl_GL.REPEAT = 10497;
|
|
lime_graphics_opengl_GL.CLAMP_TO_EDGE = 33071;
|
|
lime_graphics_opengl_GL.MIRRORED_REPEAT = 33648;
|
|
lime_graphics_opengl_GL.FLOAT_VEC2 = 35664;
|
|
lime_graphics_opengl_GL.FLOAT_VEC3 = 35665;
|
|
lime_graphics_opengl_GL.FLOAT_VEC4 = 35666;
|
|
lime_graphics_opengl_GL.INT_VEC2 = 35667;
|
|
lime_graphics_opengl_GL.INT_VEC3 = 35668;
|
|
lime_graphics_opengl_GL.INT_VEC4 = 35669;
|
|
lime_graphics_opengl_GL.BOOL = 35670;
|
|
lime_graphics_opengl_GL.BOOL_VEC2 = 35671;
|
|
lime_graphics_opengl_GL.BOOL_VEC3 = 35672;
|
|
lime_graphics_opengl_GL.BOOL_VEC4 = 35673;
|
|
lime_graphics_opengl_GL.FLOAT_MAT2 = 35674;
|
|
lime_graphics_opengl_GL.FLOAT_MAT3 = 35675;
|
|
lime_graphics_opengl_GL.FLOAT_MAT4 = 35676;
|
|
lime_graphics_opengl_GL.SAMPLER_2D = 35678;
|
|
lime_graphics_opengl_GL.SAMPLER_CUBE = 35680;
|
|
lime_graphics_opengl_GL.VERTEX_ATTRIB_ARRAY_ENABLED = 34338;
|
|
lime_graphics_opengl_GL.VERTEX_ATTRIB_ARRAY_SIZE = 34339;
|
|
lime_graphics_opengl_GL.VERTEX_ATTRIB_ARRAY_STRIDE = 34340;
|
|
lime_graphics_opengl_GL.VERTEX_ATTRIB_ARRAY_TYPE = 34341;
|
|
lime_graphics_opengl_GL.VERTEX_ATTRIB_ARRAY_NORMALIZED = 34922;
|
|
lime_graphics_opengl_GL.VERTEX_ATTRIB_ARRAY_POINTER = 34373;
|
|
lime_graphics_opengl_GL.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 34975;
|
|
lime_graphics_opengl_GL.IMPLEMENTATION_COLOR_READ_TYPE = 35738;
|
|
lime_graphics_opengl_GL.IMPLEMENTATION_COLOR_READ_FORMAT = 35739;
|
|
lime_graphics_opengl_GL.VERTEX_PROGRAM_POINT_SIZE = 34370;
|
|
lime_graphics_opengl_GL.POINT_SPRITE = 34913;
|
|
lime_graphics_opengl_GL.COMPILE_STATUS = 35713;
|
|
lime_graphics_opengl_GL.LOW_FLOAT = 36336;
|
|
lime_graphics_opengl_GL.MEDIUM_FLOAT = 36337;
|
|
lime_graphics_opengl_GL.HIGH_FLOAT = 36338;
|
|
lime_graphics_opengl_GL.LOW_INT = 36339;
|
|
lime_graphics_opengl_GL.MEDIUM_INT = 36340;
|
|
lime_graphics_opengl_GL.HIGH_INT = 36341;
|
|
lime_graphics_opengl_GL.FRAMEBUFFER = 36160;
|
|
lime_graphics_opengl_GL.RENDERBUFFER = 36161;
|
|
lime_graphics_opengl_GL.RGBA4 = 32854;
|
|
lime_graphics_opengl_GL.RGB5_A1 = 32855;
|
|
lime_graphics_opengl_GL.RGB565 = 36194;
|
|
lime_graphics_opengl_GL.DEPTH_COMPONENT16 = 33189;
|
|
lime_graphics_opengl_GL.STENCIL_INDEX = 6401;
|
|
lime_graphics_opengl_GL.STENCIL_INDEX8 = 36168;
|
|
lime_graphics_opengl_GL.DEPTH_STENCIL = 34041;
|
|
lime_graphics_opengl_GL.RENDERBUFFER_WIDTH = 36162;
|
|
lime_graphics_opengl_GL.RENDERBUFFER_HEIGHT = 36163;
|
|
lime_graphics_opengl_GL.RENDERBUFFER_INTERNAL_FORMAT = 36164;
|
|
lime_graphics_opengl_GL.RENDERBUFFER_RED_SIZE = 36176;
|
|
lime_graphics_opengl_GL.RENDERBUFFER_GREEN_SIZE = 36177;
|
|
lime_graphics_opengl_GL.RENDERBUFFER_BLUE_SIZE = 36178;
|
|
lime_graphics_opengl_GL.RENDERBUFFER_ALPHA_SIZE = 36179;
|
|
lime_graphics_opengl_GL.RENDERBUFFER_DEPTH_SIZE = 36180;
|
|
lime_graphics_opengl_GL.RENDERBUFFER_STENCIL_SIZE = 36181;
|
|
lime_graphics_opengl_GL.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 36048;
|
|
lime_graphics_opengl_GL.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 36049;
|
|
lime_graphics_opengl_GL.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 36050;
|
|
lime_graphics_opengl_GL.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 36051;
|
|
lime_graphics_opengl_GL.COLOR_ATTACHMENT0 = 36064;
|
|
lime_graphics_opengl_GL.DEPTH_ATTACHMENT = 36096;
|
|
lime_graphics_opengl_GL.STENCIL_ATTACHMENT = 36128;
|
|
lime_graphics_opengl_GL.DEPTH_STENCIL_ATTACHMENT = 33306;
|
|
lime_graphics_opengl_GL.NONE = 0;
|
|
lime_graphics_opengl_GL.FRAMEBUFFER_COMPLETE = 36053;
|
|
lime_graphics_opengl_GL.FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 36054;
|
|
lime_graphics_opengl_GL.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 36055;
|
|
lime_graphics_opengl_GL.FRAMEBUFFER_INCOMPLETE_DIMENSIONS = 36057;
|
|
lime_graphics_opengl_GL.FRAMEBUFFER_UNSUPPORTED = 36061;
|
|
lime_graphics_opengl_GL.FRAMEBUFFER_BINDING = 36006;
|
|
lime_graphics_opengl_GL.RENDERBUFFER_BINDING = 36007;
|
|
lime_graphics_opengl_GL.MAX_RENDERBUFFER_SIZE = 34024;
|
|
lime_graphics_opengl_GL.INVALID_FRAMEBUFFER_OPERATION = 1286;
|
|
lime_graphics_opengl_GL.UNPACK_FLIP_Y_WEBGL = 37440;
|
|
lime_graphics_opengl_GL.UNPACK_PREMULTIPLY_ALPHA_WEBGL = 37441;
|
|
lime_graphics_opengl_GL.CONTEXT_LOST_WEBGL = 37442;
|
|
lime_graphics_opengl_GL.UNPACK_COLORSPACE_CONVERSION_WEBGL = 37443;
|
|
lime_graphics_opengl_GL.BROWSER_DEFAULT_WEBGL = 37444;
|
|
lime_graphics_opengl_GL.READ_BUFFER = 3074;
|
|
lime_graphics_opengl_GL.UNPACK_ROW_LENGTH = 3314;
|
|
lime_graphics_opengl_GL.UNPACK_SKIP_ROWS = 3315;
|
|
lime_graphics_opengl_GL.UNPACK_SKIP_PIXELS = 3316;
|
|
lime_graphics_opengl_GL.PACK_ROW_LENGTH = 3330;
|
|
lime_graphics_opengl_GL.PACK_SKIP_ROWS = 3331;
|
|
lime_graphics_opengl_GL.PACK_SKIP_PIXELS = 3332;
|
|
lime_graphics_opengl_GL.TEXTURE_BINDING_3D = 32874;
|
|
lime_graphics_opengl_GL.UNPACK_SKIP_IMAGES = 32877;
|
|
lime_graphics_opengl_GL.UNPACK_IMAGE_HEIGHT = 32878;
|
|
lime_graphics_opengl_GL.MAX_3D_TEXTURE_SIZE = 32883;
|
|
lime_graphics_opengl_GL.MAX_ELEMENTS_VERTICES = 33000;
|
|
lime_graphics_opengl_GL.MAX_ELEMENTS_INDICES = 33001;
|
|
lime_graphics_opengl_GL.MAX_TEXTURE_LOD_BIAS = 34045;
|
|
lime_graphics_opengl_GL.MAX_FRAGMENT_UNIFORM_COMPONENTS = 35657;
|
|
lime_graphics_opengl_GL.MAX_VERTEX_UNIFORM_COMPONENTS = 35658;
|
|
lime_graphics_opengl_GL.MAX_ARRAY_TEXTURE_LAYERS = 35071;
|
|
lime_graphics_opengl_GL.MIN_PROGRAM_TEXEL_OFFSET = 35076;
|
|
lime_graphics_opengl_GL.MAX_PROGRAM_TEXEL_OFFSET = 35077;
|
|
lime_graphics_opengl_GL.MAX_VARYING_COMPONENTS = 35659;
|
|
lime_graphics_opengl_GL.FRAGMENT_SHADER_DERIVATIVE_HINT = 35723;
|
|
lime_graphics_opengl_GL.RASTERIZER_DISCARD = 35977;
|
|
lime_graphics_opengl_GL.VERTEX_ARRAY_BINDING = 34229;
|
|
lime_graphics_opengl_GL.MAX_VERTEX_OUTPUT_COMPONENTS = 37154;
|
|
lime_graphics_opengl_GL.MAX_FRAGMENT_INPUT_COMPONENTS = 37157;
|
|
lime_graphics_opengl_GL.MAX_SERVER_WAIT_TIMEOUT = 37137;
|
|
lime_graphics_opengl_GL.MAX_ELEMENT_INDEX = 36203;
|
|
lime_graphics_opengl_GL.RED = 6403;
|
|
lime_graphics_opengl_GL.RGB8 = 32849;
|
|
lime_graphics_opengl_GL.RGBA8 = 32856;
|
|
lime_graphics_opengl_GL.RGB10_A2 = 32857;
|
|
lime_graphics_opengl_GL.TEXTURE_3D = 32879;
|
|
lime_graphics_opengl_GL.TEXTURE_WRAP_R = 32882;
|
|
lime_graphics_opengl_GL.TEXTURE_MIN_LOD = 33082;
|
|
lime_graphics_opengl_GL.TEXTURE_MAX_LOD = 33083;
|
|
lime_graphics_opengl_GL.TEXTURE_BASE_LEVEL = 33084;
|
|
lime_graphics_opengl_GL.TEXTURE_MAX_LEVEL = 33085;
|
|
lime_graphics_opengl_GL.TEXTURE_COMPARE_MODE = 34892;
|
|
lime_graphics_opengl_GL.TEXTURE_COMPARE_FUNC = 34893;
|
|
lime_graphics_opengl_GL.SRGB = 35904;
|
|
lime_graphics_opengl_GL.SRGB8 = 35905;
|
|
lime_graphics_opengl_GL.SRGB8_ALPHA8 = 35907;
|
|
lime_graphics_opengl_GL.COMPARE_REF_TO_TEXTURE = 34894;
|
|
lime_graphics_opengl_GL.RGBA32F = 34836;
|
|
lime_graphics_opengl_GL.RGB32F = 34837;
|
|
lime_graphics_opengl_GL.RGBA16F = 34842;
|
|
lime_graphics_opengl_GL.RGB16F = 34843;
|
|
lime_graphics_opengl_GL.TEXTURE_2D_ARRAY = 35866;
|
|
lime_graphics_opengl_GL.TEXTURE_BINDING_2D_ARRAY = 35869;
|
|
lime_graphics_opengl_GL.R11F_G11F_B10F = 35898;
|
|
lime_graphics_opengl_GL.RGB9_E5 = 35901;
|
|
lime_graphics_opengl_GL.RGBA32UI = 36208;
|
|
lime_graphics_opengl_GL.RGB32UI = 36209;
|
|
lime_graphics_opengl_GL.RGBA16UI = 36214;
|
|
lime_graphics_opengl_GL.RGB16UI = 36215;
|
|
lime_graphics_opengl_GL.RGBA8UI = 36220;
|
|
lime_graphics_opengl_GL.RGB8UI = 36221;
|
|
lime_graphics_opengl_GL.RGBA32I = 36226;
|
|
lime_graphics_opengl_GL.RGB32I = 36227;
|
|
lime_graphics_opengl_GL.RGBA16I = 36232;
|
|
lime_graphics_opengl_GL.RGB16I = 36233;
|
|
lime_graphics_opengl_GL.RGBA8I = 36238;
|
|
lime_graphics_opengl_GL.RGB8I = 36239;
|
|
lime_graphics_opengl_GL.RED_INTEGER = 36244;
|
|
lime_graphics_opengl_GL.RGB_INTEGER = 36248;
|
|
lime_graphics_opengl_GL.RGBA_INTEGER = 36249;
|
|
lime_graphics_opengl_GL.R8 = 33321;
|
|
lime_graphics_opengl_GL.RG8 = 33323;
|
|
lime_graphics_opengl_GL.R16F = 33325;
|
|
lime_graphics_opengl_GL.R32F = 33326;
|
|
lime_graphics_opengl_GL.RG16F = 33327;
|
|
lime_graphics_opengl_GL.RG32F = 33328;
|
|
lime_graphics_opengl_GL.R8I = 33329;
|
|
lime_graphics_opengl_GL.R8UI = 33330;
|
|
lime_graphics_opengl_GL.R16I = 33331;
|
|
lime_graphics_opengl_GL.R16UI = 33332;
|
|
lime_graphics_opengl_GL.R32I = 33333;
|
|
lime_graphics_opengl_GL.R32UI = 33334;
|
|
lime_graphics_opengl_GL.RG8I = 33335;
|
|
lime_graphics_opengl_GL.RG8UI = 33336;
|
|
lime_graphics_opengl_GL.RG16I = 33337;
|
|
lime_graphics_opengl_GL.RG16UI = 33338;
|
|
lime_graphics_opengl_GL.RG32I = 33339;
|
|
lime_graphics_opengl_GL.RG32UI = 33340;
|
|
lime_graphics_opengl_GL.R8_SNORM = 36756;
|
|
lime_graphics_opengl_GL.RG8_SNORM = 36757;
|
|
lime_graphics_opengl_GL.RGB8_SNORM = 36758;
|
|
lime_graphics_opengl_GL.RGBA8_SNORM = 36759;
|
|
lime_graphics_opengl_GL.RGB10_A2UI = 36975;
|
|
lime_graphics_opengl_GL.TEXTURE_IMMUTABLE_FORMAT = 37167;
|
|
lime_graphics_opengl_GL.TEXTURE_IMMUTABLE_LEVELS = 33503;
|
|
lime_graphics_opengl_GL.UNSIGNED_INT_2_10_10_10_REV = 33640;
|
|
lime_graphics_opengl_GL.UNSIGNED_INT_10F_11F_11F_REV = 35899;
|
|
lime_graphics_opengl_GL.UNSIGNED_INT_5_9_9_9_REV = 35902;
|
|
lime_graphics_opengl_GL.FLOAT_32_UNSIGNED_INT_24_8_REV = 36269;
|
|
lime_graphics_opengl_GL.UNSIGNED_INT_24_8 = 34042;
|
|
lime_graphics_opengl_GL.HALF_FLOAT = 5131;
|
|
lime_graphics_opengl_GL.RG = 33319;
|
|
lime_graphics_opengl_GL.RG_INTEGER = 33320;
|
|
lime_graphics_opengl_GL.INT_2_10_10_10_REV = 36255;
|
|
lime_graphics_opengl_GL.CURRENT_QUERY = 34917;
|
|
lime_graphics_opengl_GL.QUERY_RESULT = 34918;
|
|
lime_graphics_opengl_GL.QUERY_RESULT_AVAILABLE = 34919;
|
|
lime_graphics_opengl_GL.ANY_SAMPLES_PASSED = 35887;
|
|
lime_graphics_opengl_GL.ANY_SAMPLES_PASSED_CONSERVATIVE = 36202;
|
|
lime_graphics_opengl_GL.MAX_DRAW_BUFFERS = 34852;
|
|
lime_graphics_opengl_GL.DRAW_BUFFER0 = 34853;
|
|
lime_graphics_opengl_GL.DRAW_BUFFER1 = 34854;
|
|
lime_graphics_opengl_GL.DRAW_BUFFER2 = 34855;
|
|
lime_graphics_opengl_GL.DRAW_BUFFER3 = 34856;
|
|
lime_graphics_opengl_GL.DRAW_BUFFER4 = 34857;
|
|
lime_graphics_opengl_GL.DRAW_BUFFER5 = 34858;
|
|
lime_graphics_opengl_GL.DRAW_BUFFER6 = 34859;
|
|
lime_graphics_opengl_GL.DRAW_BUFFER7 = 34860;
|
|
lime_graphics_opengl_GL.DRAW_BUFFER8 = 34861;
|
|
lime_graphics_opengl_GL.DRAW_BUFFER9 = 34862;
|
|
lime_graphics_opengl_GL.DRAW_BUFFER10 = 34863;
|
|
lime_graphics_opengl_GL.DRAW_BUFFER11 = 34864;
|
|
lime_graphics_opengl_GL.DRAW_BUFFER12 = 34865;
|
|
lime_graphics_opengl_GL.DRAW_BUFFER13 = 34866;
|
|
lime_graphics_opengl_GL.DRAW_BUFFER14 = 34867;
|
|
lime_graphics_opengl_GL.DRAW_BUFFER15 = 34868;
|
|
lime_graphics_opengl_GL.MAX_COLOR_ATTACHMENTS = 36063;
|
|
lime_graphics_opengl_GL.COLOR_ATTACHMENT1 = 36065;
|
|
lime_graphics_opengl_GL.COLOR_ATTACHMENT2 = 36066;
|
|
lime_graphics_opengl_GL.COLOR_ATTACHMENT3 = 36067;
|
|
lime_graphics_opengl_GL.COLOR_ATTACHMENT4 = 36068;
|
|
lime_graphics_opengl_GL.COLOR_ATTACHMENT5 = 36069;
|
|
lime_graphics_opengl_GL.COLOR_ATTACHMENT6 = 36070;
|
|
lime_graphics_opengl_GL.COLOR_ATTACHMENT7 = 36071;
|
|
lime_graphics_opengl_GL.COLOR_ATTACHMENT8 = 36072;
|
|
lime_graphics_opengl_GL.COLOR_ATTACHMENT9 = 36073;
|
|
lime_graphics_opengl_GL.COLOR_ATTACHMENT10 = 36074;
|
|
lime_graphics_opengl_GL.COLOR_ATTACHMENT11 = 36075;
|
|
lime_graphics_opengl_GL.COLOR_ATTACHMENT12 = 36076;
|
|
lime_graphics_opengl_GL.COLOR_ATTACHMENT13 = 36077;
|
|
lime_graphics_opengl_GL.COLOR_ATTACHMENT14 = 36078;
|
|
lime_graphics_opengl_GL.COLOR_ATTACHMENT15 = 36079;
|
|
lime_graphics_opengl_GL.SAMPLER_3D = 35679;
|
|
lime_graphics_opengl_GL.SAMPLER_2D_SHADOW = 35682;
|
|
lime_graphics_opengl_GL.SAMPLER_2D_ARRAY = 36289;
|
|
lime_graphics_opengl_GL.SAMPLER_2D_ARRAY_SHADOW = 36292;
|
|
lime_graphics_opengl_GL.SAMPLER_CUBE_SHADOW = 36293;
|
|
lime_graphics_opengl_GL.INT_SAMPLER_2D = 36298;
|
|
lime_graphics_opengl_GL.INT_SAMPLER_3D = 36299;
|
|
lime_graphics_opengl_GL.INT_SAMPLER_CUBE = 36300;
|
|
lime_graphics_opengl_GL.INT_SAMPLER_2D_ARRAY = 36303;
|
|
lime_graphics_opengl_GL.UNSIGNED_INT_SAMPLER_2D = 36306;
|
|
lime_graphics_opengl_GL.UNSIGNED_INT_SAMPLER_3D = 36307;
|
|
lime_graphics_opengl_GL.UNSIGNED_INT_SAMPLER_CUBE = 36308;
|
|
lime_graphics_opengl_GL.UNSIGNED_INT_SAMPLER_2D_ARRAY = 36311;
|
|
lime_graphics_opengl_GL.MAX_SAMPLES = 36183;
|
|
lime_graphics_opengl_GL.SAMPLER_BINDING = 35097;
|
|
lime_graphics_opengl_GL.PIXEL_PACK_BUFFER = 35051;
|
|
lime_graphics_opengl_GL.PIXEL_UNPACK_BUFFER = 35052;
|
|
lime_graphics_opengl_GL.PIXEL_PACK_BUFFER_BINDING = 35053;
|
|
lime_graphics_opengl_GL.PIXEL_UNPACK_BUFFER_BINDING = 35055;
|
|
lime_graphics_opengl_GL.COPY_READ_BUFFER = 36662;
|
|
lime_graphics_opengl_GL.COPY_WRITE_BUFFER = 36663;
|
|
lime_graphics_opengl_GL.COPY_READ_BUFFER_BINDING = 36662;
|
|
lime_graphics_opengl_GL.COPY_WRITE_BUFFER_BINDING = 36663;
|
|
lime_graphics_opengl_GL.FLOAT_MAT2x3 = 35685;
|
|
lime_graphics_opengl_GL.FLOAT_MAT2x4 = 35686;
|
|
lime_graphics_opengl_GL.FLOAT_MAT3x2 = 35687;
|
|
lime_graphics_opengl_GL.FLOAT_MAT3x4 = 35688;
|
|
lime_graphics_opengl_GL.FLOAT_MAT4x2 = 35689;
|
|
lime_graphics_opengl_GL.FLOAT_MAT4x3 = 35690;
|
|
lime_graphics_opengl_GL.UNSIGNED_INT_VEC2 = 36294;
|
|
lime_graphics_opengl_GL.UNSIGNED_INT_VEC3 = 36295;
|
|
lime_graphics_opengl_GL.UNSIGNED_INT_VEC4 = 36296;
|
|
lime_graphics_opengl_GL.UNSIGNED_NORMALIZED = 35863;
|
|
lime_graphics_opengl_GL.SIGNED_NORMALIZED = 36764;
|
|
lime_graphics_opengl_GL.VERTEX_ATTRIB_ARRAY_INTEGER = 35069;
|
|
lime_graphics_opengl_GL.VERTEX_ATTRIB_ARRAY_DIVISOR = 35070;
|
|
lime_graphics_opengl_GL.TRANSFORM_FEEDBACK_BUFFER_MODE = 35967;
|
|
lime_graphics_opengl_GL.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 35968;
|
|
lime_graphics_opengl_GL.TRANSFORM_FEEDBACK_VARYINGS = 35971;
|
|
lime_graphics_opengl_GL.TRANSFORM_FEEDBACK_BUFFER_START = 35972;
|
|
lime_graphics_opengl_GL.TRANSFORM_FEEDBACK_BUFFER_SIZE = 35973;
|
|
lime_graphics_opengl_GL.TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 35976;
|
|
lime_graphics_opengl_GL.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 35978;
|
|
lime_graphics_opengl_GL.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 35979;
|
|
lime_graphics_opengl_GL.INTERLEAVED_ATTRIBS = 35980;
|
|
lime_graphics_opengl_GL.SEPARATE_ATTRIBS = 35981;
|
|
lime_graphics_opengl_GL.TRANSFORM_FEEDBACK_BUFFER = 35982;
|
|
lime_graphics_opengl_GL.TRANSFORM_FEEDBACK_BUFFER_BINDING = 35983;
|
|
lime_graphics_opengl_GL.TRANSFORM_FEEDBACK = 36386;
|
|
lime_graphics_opengl_GL.TRANSFORM_FEEDBACK_PAUSED = 36387;
|
|
lime_graphics_opengl_GL.TRANSFORM_FEEDBACK_ACTIVE = 36388;
|
|
lime_graphics_opengl_GL.TRANSFORM_FEEDBACK_BINDING = 36389;
|
|
lime_graphics_opengl_GL.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 33296;
|
|
lime_graphics_opengl_GL.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 33297;
|
|
lime_graphics_opengl_GL.FRAMEBUFFER_ATTACHMENT_RED_SIZE = 33298;
|
|
lime_graphics_opengl_GL.FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 33299;
|
|
lime_graphics_opengl_GL.FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 33300;
|
|
lime_graphics_opengl_GL.FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 33301;
|
|
lime_graphics_opengl_GL.FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 33302;
|
|
lime_graphics_opengl_GL.FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 33303;
|
|
lime_graphics_opengl_GL.FRAMEBUFFER_DEFAULT = 33304;
|
|
lime_graphics_opengl_GL.DEPTH24_STENCIL8 = 35056;
|
|
lime_graphics_opengl_GL.DRAW_FRAMEBUFFER_BINDING = 36006;
|
|
lime_graphics_opengl_GL.READ_FRAMEBUFFER = 36008;
|
|
lime_graphics_opengl_GL.DRAW_FRAMEBUFFER = 36009;
|
|
lime_graphics_opengl_GL.READ_FRAMEBUFFER_BINDING = 36010;
|
|
lime_graphics_opengl_GL.RENDERBUFFER_SAMPLES = 36011;
|
|
lime_graphics_opengl_GL.FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 36052;
|
|
lime_graphics_opengl_GL.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 36182;
|
|
lime_graphics_opengl_GL.UNIFORM_BUFFER = 35345;
|
|
lime_graphics_opengl_GL.UNIFORM_BUFFER_BINDING = 35368;
|
|
lime_graphics_opengl_GL.UNIFORM_BUFFER_START = 35369;
|
|
lime_graphics_opengl_GL.UNIFORM_BUFFER_SIZE = 35370;
|
|
lime_graphics_opengl_GL.MAX_VERTEX_UNIFORM_BLOCKS = 35371;
|
|
lime_graphics_opengl_GL.MAX_FRAGMENT_UNIFORM_BLOCKS = 35373;
|
|
lime_graphics_opengl_GL.MAX_COMBINED_UNIFORM_BLOCKS = 35374;
|
|
lime_graphics_opengl_GL.MAX_UNIFORM_BUFFER_BINDINGS = 35375;
|
|
lime_graphics_opengl_GL.MAX_UNIFORM_BLOCK_SIZE = 35376;
|
|
lime_graphics_opengl_GL.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 35377;
|
|
lime_graphics_opengl_GL.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 35379;
|
|
lime_graphics_opengl_GL.UNIFORM_BUFFER_OFFSET_ALIGNMENT = 35380;
|
|
lime_graphics_opengl_GL.ACTIVE_UNIFORM_BLOCKS = 35382;
|
|
lime_graphics_opengl_GL.UNIFORM_TYPE = 35383;
|
|
lime_graphics_opengl_GL.UNIFORM_SIZE = 35384;
|
|
lime_graphics_opengl_GL.UNIFORM_BLOCK_INDEX = 35386;
|
|
lime_graphics_opengl_GL.UNIFORM_OFFSET = 35387;
|
|
lime_graphics_opengl_GL.UNIFORM_ARRAY_STRIDE = 35388;
|
|
lime_graphics_opengl_GL.UNIFORM_MATRIX_STRIDE = 35389;
|
|
lime_graphics_opengl_GL.UNIFORM_IS_ROW_MAJOR = 35390;
|
|
lime_graphics_opengl_GL.UNIFORM_BLOCK_BINDING = 35391;
|
|
lime_graphics_opengl_GL.UNIFORM_BLOCK_DATA_SIZE = 35392;
|
|
lime_graphics_opengl_GL.UNIFORM_BLOCK_ACTIVE_UNIFORMS = 35394;
|
|
lime_graphics_opengl_GL.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 35395;
|
|
lime_graphics_opengl_GL.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 35396;
|
|
lime_graphics_opengl_GL.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 35398;
|
|
lime_graphics_opengl_GL.OBJECT_TYPE = 37138;
|
|
lime_graphics_opengl_GL.SYNC_CONDITION = 37139;
|
|
lime_graphics_opengl_GL.SYNC_STATUS = 37140;
|
|
lime_graphics_opengl_GL.SYNC_FLAGS = 37141;
|
|
lime_graphics_opengl_GL.SYNC_FENCE = 37142;
|
|
lime_graphics_opengl_GL.SYNC_GPU_COMMANDS_COMPLETE = 37143;
|
|
lime_graphics_opengl_GL.UNSIGNALED = 37144;
|
|
lime_graphics_opengl_GL.SIGNALED = 37145;
|
|
lime_graphics_opengl_GL.ALREADY_SIGNALED = 37146;
|
|
lime_graphics_opengl_GL.TIMEOUT_EXPIRED = 37147;
|
|
lime_graphics_opengl_GL.CONDITION_SATISFIED = 37148;
|
|
lime_graphics_opengl_GL.WAIT_FAILED = 37149;
|
|
lime_graphics_opengl_GL.SYNC_FLUSH_COMMANDS_BIT = 1;
|
|
lime_graphics_opengl_GL.COLOR = 6144;
|
|
lime_graphics_opengl_GL.DEPTH = 6145;
|
|
lime_graphics_opengl_GL.STENCIL = 6146;
|
|
lime_graphics_opengl_GL.MIN = 32775;
|
|
lime_graphics_opengl_GL.MAX = 32776;
|
|
lime_graphics_opengl_GL.DEPTH_COMPONENT24 = 33190;
|
|
lime_graphics_opengl_GL.STREAM_READ = 35041;
|
|
lime_graphics_opengl_GL.STREAM_COPY = 35042;
|
|
lime_graphics_opengl_GL.STATIC_READ = 35045;
|
|
lime_graphics_opengl_GL.STATIC_COPY = 35046;
|
|
lime_graphics_opengl_GL.DYNAMIC_READ = 35049;
|
|
lime_graphics_opengl_GL.DYNAMIC_COPY = 35050;
|
|
lime_graphics_opengl_GL.DEPTH_COMPONENT32F = 36012;
|
|
lime_graphics_opengl_GL.DEPTH32F_STENCIL8 = 36013;
|
|
lime_graphics_opengl_GL.INVALID_INDEX = -1;
|
|
lime_graphics_opengl_GL.TIMEOUT_IGNORED = -1;
|
|
lime_graphics_opengl_GL.MAX_CLIENT_WAIT_TIMEOUT_WEBGL = 37447;
|
|
lime_math_ColorMatrix.__identity = [1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0];
|
|
lime_math_Matrix4.__identity = [1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0];
|
|
lime_media_openal_AL.NONE = 0;
|
|
lime_media_openal_AL.FALSE = 0;
|
|
lime_media_openal_AL.TRUE = 1;
|
|
lime_media_openal_AL.SOURCE_RELATIVE = 514;
|
|
lime_media_openal_AL.CONE_INNER_ANGLE = 4097;
|
|
lime_media_openal_AL.CONE_OUTER_ANGLE = 4098;
|
|
lime_media_openal_AL.PITCH = 4099;
|
|
lime_media_openal_AL.POSITION = 4100;
|
|
lime_media_openal_AL.DIRECTION = 4101;
|
|
lime_media_openal_AL.VELOCITY = 4102;
|
|
lime_media_openal_AL.LOOPING = 4103;
|
|
lime_media_openal_AL.BUFFER = 4105;
|
|
lime_media_openal_AL.GAIN = 4106;
|
|
lime_media_openal_AL.MIN_GAIN = 4109;
|
|
lime_media_openal_AL.MAX_GAIN = 4110;
|
|
lime_media_openal_AL.ORIENTATION = 4111;
|
|
lime_media_openal_AL.SOURCE_STATE = 4112;
|
|
lime_media_openal_AL.INITIAL = 4113;
|
|
lime_media_openal_AL.PLAYING = 4114;
|
|
lime_media_openal_AL.PAUSED = 4115;
|
|
lime_media_openal_AL.STOPPED = 4116;
|
|
lime_media_openal_AL.BUFFERS_QUEUED = 4117;
|
|
lime_media_openal_AL.BUFFERS_PROCESSED = 4118;
|
|
lime_media_openal_AL.REFERENCE_DISTANCE = 4128;
|
|
lime_media_openal_AL.ROLLOFF_FACTOR = 4129;
|
|
lime_media_openal_AL.CONE_OUTER_GAIN = 4130;
|
|
lime_media_openal_AL.MAX_DISTANCE = 4131;
|
|
lime_media_openal_AL.SEC_OFFSET = 4132;
|
|
lime_media_openal_AL.SAMPLE_OFFSET = 4133;
|
|
lime_media_openal_AL.BYTE_OFFSET = 4134;
|
|
lime_media_openal_AL.SOURCE_TYPE = 4135;
|
|
lime_media_openal_AL.STATIC = 4136;
|
|
lime_media_openal_AL.STREAMING = 4137;
|
|
lime_media_openal_AL.UNDETERMINED = 4144;
|
|
lime_media_openal_AL.FORMAT_MONO8 = 4352;
|
|
lime_media_openal_AL.FORMAT_MONO16 = 4353;
|
|
lime_media_openal_AL.FORMAT_STEREO8 = 4354;
|
|
lime_media_openal_AL.FORMAT_STEREO16 = 4355;
|
|
lime_media_openal_AL.FREQUENCY = 8193;
|
|
lime_media_openal_AL.BITS = 8194;
|
|
lime_media_openal_AL.CHANNELS = 8195;
|
|
lime_media_openal_AL.SIZE = 8196;
|
|
lime_media_openal_AL.NO_ERROR = 0;
|
|
lime_media_openal_AL.INVALID_NAME = 40961;
|
|
lime_media_openal_AL.INVALID_ENUM = 40962;
|
|
lime_media_openal_AL.INVALID_VALUE = 40963;
|
|
lime_media_openal_AL.INVALID_OPERATION = 40964;
|
|
lime_media_openal_AL.OUT_OF_MEMORY = 40965;
|
|
lime_media_openal_AL.VENDOR = 45057;
|
|
lime_media_openal_AL.VERSION = 45058;
|
|
lime_media_openal_AL.RENDERER = 45059;
|
|
lime_media_openal_AL.EXTENSIONS = 45060;
|
|
lime_media_openal_AL.DOPPLER_FACTOR = 49152;
|
|
lime_media_openal_AL.SPEED_OF_SOUND = 49155;
|
|
lime_media_openal_AL.DOPPLER_VELOCITY = 49153;
|
|
lime_media_openal_AL.DISTANCE_MODEL = 53248;
|
|
lime_media_openal_AL.INVERSE_DISTANCE = 53249;
|
|
lime_media_openal_AL.INVERSE_DISTANCE_CLAMPED = 53250;
|
|
lime_media_openal_AL.LINEAR_DISTANCE = 53251;
|
|
lime_media_openal_AL.LINEAR_DISTANCE_CLAMPED = 53252;
|
|
lime_media_openal_AL.EXPONENT_DISTANCE = 53253;
|
|
lime_media_openal_AL.EXPONENT_DISTANCE_CLAMPED = 53254;
|
|
lime_media_openal_AL.METERS_PER_UNIT = 131076;
|
|
lime_media_openal_AL.DIRECT_FILTER = 131077;
|
|
lime_media_openal_AL.AUXILIARY_SEND_FILTER = 131078;
|
|
lime_media_openal_AL.AIR_ABSORPTION_FACTOR = 131079;
|
|
lime_media_openal_AL.ROOM_ROLLOFF_FACTOR = 131080;
|
|
lime_media_openal_AL.CONE_OUTER_GAINHF = 131081;
|
|
lime_media_openal_AL.DIRECT_FILTER_GAINHF_AUTO = 131082;
|
|
lime_media_openal_AL.AUXILIARY_SEND_FILTER_GAIN_AUTO = 131083;
|
|
lime_media_openal_AL.AUXILIARY_SEND_FILTER_GAINHF_AUTO = 131084;
|
|
lime_media_openal_AL.REVERB_DENSITY = 1;
|
|
lime_media_openal_AL.REVERB_DIFFUSION = 2;
|
|
lime_media_openal_AL.REVERB_GAIN = 3;
|
|
lime_media_openal_AL.REVERB_GAINHF = 4;
|
|
lime_media_openal_AL.REVERB_DECAY_TIME = 5;
|
|
lime_media_openal_AL.REVERB_DECAY_HFRATIO = 6;
|
|
lime_media_openal_AL.REVERB_REFLECTIONS_GAIN = 7;
|
|
lime_media_openal_AL.REVERB_REFLECTIONS_DELAY = 8;
|
|
lime_media_openal_AL.REVERB_LATE_REVERB_GAIN = 9;
|
|
lime_media_openal_AL.REVERB_LATE_REVERB_DELAY = 10;
|
|
lime_media_openal_AL.REVERB_AIR_ABSORPTION_GAINHF = 11;
|
|
lime_media_openal_AL.REVERB_ROOM_ROLLOFF_FACTOR = 12;
|
|
lime_media_openal_AL.REVERB_DECAY_HFLIMIT = 13;
|
|
lime_media_openal_AL.EAXREVERB_DENSITY = 1;
|
|
lime_media_openal_AL.EAXREVERB_DIFFUSION = 2;
|
|
lime_media_openal_AL.EAXREVERB_GAIN = 3;
|
|
lime_media_openal_AL.EAXREVERB_GAINHF = 4;
|
|
lime_media_openal_AL.EAXREVERB_GAINLF = 5;
|
|
lime_media_openal_AL.EAXREVERB_DECAY_TIME = 6;
|
|
lime_media_openal_AL.EAXREVERB_DECAY_HFRATIO = 7;
|
|
lime_media_openal_AL.EAXREVERB_DECAY_LFRATIO = 8;
|
|
lime_media_openal_AL.EAXREVERB_REFLECTIONS_GAIN = 9;
|
|
lime_media_openal_AL.EAXREVERB_REFLECTIONS_DELAY = 10;
|
|
lime_media_openal_AL.EAXREVERB_REFLECTIONS_PAN = 11;
|
|
lime_media_openal_AL.EAXREVERB_LATE_REVERB_GAIN = 12;
|
|
lime_media_openal_AL.EAXREVERB_LATE_REVERB_DELAY = 13;
|
|
lime_media_openal_AL.EAXREVERB_LATE_REVERB_PAN = 14;
|
|
lime_media_openal_AL.EAXREVERB_ECHO_TIME = 15;
|
|
lime_media_openal_AL.EAXREVERB_ECHO_DEPTH = 16;
|
|
lime_media_openal_AL.EAXREVERB_MODULATION_TIME = 17;
|
|
lime_media_openal_AL.EAXREVERB_MODULATION_DEPTH = 18;
|
|
lime_media_openal_AL.EAXREVERB_AIR_ABSORPTION_GAINHF = 19;
|
|
lime_media_openal_AL.EAXREVERB_HFREFERENCE = 20;
|
|
lime_media_openal_AL.EAXREVERB_LFREFERENCE = 21;
|
|
lime_media_openal_AL.EAXREVERB_ROOM_ROLLOFF_FACTOR = 22;
|
|
lime_media_openal_AL.EAXREVERB_DECAY_HFLIMIT = 23;
|
|
lime_media_openal_AL.CHORUS_WAVEFORM = 1;
|
|
lime_media_openal_AL.CHORUS_PHASE = 2;
|
|
lime_media_openal_AL.CHORUS_RATE = 3;
|
|
lime_media_openal_AL.CHORUS_DEPTH = 4;
|
|
lime_media_openal_AL.CHORUS_FEEDBACK = 5;
|
|
lime_media_openal_AL.CHORUS_DELAY = 6;
|
|
lime_media_openal_AL.DISTORTION_EDGE = 1;
|
|
lime_media_openal_AL.DISTORTION_GAIN = 2;
|
|
lime_media_openal_AL.DISTORTION_LOWPASS_CUTOFF = 3;
|
|
lime_media_openal_AL.DISTORTION_EQCENTER = 4;
|
|
lime_media_openal_AL.DISTORTION_EQBANDWIDTH = 5;
|
|
lime_media_openal_AL.ECHO_DELAY = 1;
|
|
lime_media_openal_AL.ECHO_LRDELAY = 2;
|
|
lime_media_openal_AL.ECHO_DAMPING = 3;
|
|
lime_media_openal_AL.ECHO_FEEDBACK = 4;
|
|
lime_media_openal_AL.ECHO_SPREAD = 5;
|
|
lime_media_openal_AL.FLANGER_WAVEFORM = 1;
|
|
lime_media_openal_AL.FLANGER_PHASE = 2;
|
|
lime_media_openal_AL.FLANGER_RATE = 3;
|
|
lime_media_openal_AL.FLANGER_DEPTH = 4;
|
|
lime_media_openal_AL.FLANGER_FEEDBACK = 5;
|
|
lime_media_openal_AL.FLANGER_DELAY = 6;
|
|
lime_media_openal_AL.FREQUENCY_SHIFTER_FREQUENCY = 1;
|
|
lime_media_openal_AL.FREQUENCY_SHIFTER_LEFT_DIRECTION = 2;
|
|
lime_media_openal_AL.FREQUENCY_SHIFTER_RIGHT_DIRECTION = 3;
|
|
lime_media_openal_AL.VOCAL_MORPHER_PHONEMEA = 1;
|
|
lime_media_openal_AL.VOCAL_MORPHER_PHONEMEA_COARSE_TUNING = 2;
|
|
lime_media_openal_AL.VOCAL_MORPHER_PHONEMEB = 3;
|
|
lime_media_openal_AL.VOCAL_MORPHER_PHONEMEB_COARSE_TUNING = 4;
|
|
lime_media_openal_AL.VOCAL_MORPHER_WAVEFORM = 5;
|
|
lime_media_openal_AL.VOCAL_MORPHER_RATE = 6;
|
|
lime_media_openal_AL.PITCH_SHIFTER_COARSE_TUNE = 1;
|
|
lime_media_openal_AL.PITCH_SHIFTER_FINE_TUNE = 2;
|
|
lime_media_openal_AL.RING_MODULATOR_FREQUENCY = 1;
|
|
lime_media_openal_AL.RING_MODULATOR_HIGHPASS_CUTOFF = 2;
|
|
lime_media_openal_AL.RING_MODULATOR_WAVEFORM = 3;
|
|
lime_media_openal_AL.AUTOWAH_ATTACK_TIME = 1;
|
|
lime_media_openal_AL.AUTOWAH_RELEASE_TIME = 2;
|
|
lime_media_openal_AL.AUTOWAH_RESONANCE = 3;
|
|
lime_media_openal_AL.AUTOWAH_PEAK_GAIN = 4;
|
|
lime_media_openal_AL.COMPRESSOR_ONOFF = 1;
|
|
lime_media_openal_AL.EQUALIZER_LOW_GAIN = 1;
|
|
lime_media_openal_AL.EQUALIZER_LOW_CUTOFF = 2;
|
|
lime_media_openal_AL.EQUALIZER_MID1_GAIN = 3;
|
|
lime_media_openal_AL.EQUALIZER_MID1_CENTER = 4;
|
|
lime_media_openal_AL.EQUALIZER_MID1_WIDTH = 5;
|
|
lime_media_openal_AL.EQUALIZER_MID2_GAIN = 6;
|
|
lime_media_openal_AL.EQUALIZER_MID2_CENTER = 7;
|
|
lime_media_openal_AL.EQUALIZER_MID2_WIDTH = 8;
|
|
lime_media_openal_AL.EQUALIZER_HIGH_GAIN = 9;
|
|
lime_media_openal_AL.EQUALIZER_HIGH_CUTOFF = 10;
|
|
lime_media_openal_AL.EFFECT_FIRST_PARAMETER = 0;
|
|
lime_media_openal_AL.EFFECT_LAST_PARAMETER = 32768;
|
|
lime_media_openal_AL.EFFECT_TYPE = 32769;
|
|
lime_media_openal_AL.EFFECT_NULL = 0;
|
|
lime_media_openal_AL.EFFECT_EAXREVERB = 32768;
|
|
lime_media_openal_AL.EFFECT_REVERB = 1;
|
|
lime_media_openal_AL.EFFECT_CHORUS = 2;
|
|
lime_media_openal_AL.EFFECT_DISTORTION = 3;
|
|
lime_media_openal_AL.EFFECT_ECHO = 4;
|
|
lime_media_openal_AL.EFFECT_FLANGER = 5;
|
|
lime_media_openal_AL.EFFECT_FREQUENCY_SHIFTER = 6;
|
|
lime_media_openal_AL.EFFECT_VOCAL_MORPHER = 7;
|
|
lime_media_openal_AL.EFFECT_PITCH_SHIFTER = 8;
|
|
lime_media_openal_AL.EFFECT_RING_MODULATOR = 9;
|
|
lime_media_openal_AL.FFECT_AUTOWAH = 10;
|
|
lime_media_openal_AL.EFFECT_COMPRESSOR = 11;
|
|
lime_media_openal_AL.EFFECT_EQUALIZER = 12;
|
|
lime_media_openal_AL.EFFECTSLOT_EFFECT = 1;
|
|
lime_media_openal_AL.EFFECTSLOT_GAIN = 2;
|
|
lime_media_openal_AL.EFFECTSLOT_AUXILIARY_SEND_AUTO = 3;
|
|
lime_media_openal_AL.LOWPASS_GAIN = 1;
|
|
lime_media_openal_AL.LOWPASS_GAINHF = 2;
|
|
lime_media_openal_AL.HIGHPASS_GAIN = 1;
|
|
lime_media_openal_AL.HIGHPASS_GAINLF = 2;
|
|
lime_media_openal_AL.BANDPASS_GAIN = 1;
|
|
lime_media_openal_AL.BANDPASS_GAINLF = 2;
|
|
lime_media_openal_AL.BANDPASS_GAINHF = 3;
|
|
lime_media_openal_AL.FILTER_FIRST_PARAMETER = 0;
|
|
lime_media_openal_AL.FILTER_LAST_PARAMETER = 32768;
|
|
lime_media_openal_AL.FILTER_TYPE = 32769;
|
|
lime_media_openal_AL.FILTER_NULL = 0;
|
|
lime_media_openal_AL.FILTER_LOWPASS = 1;
|
|
lime_media_openal_AL.FILTER_HIGHPASS = 2;
|
|
lime_media_openal_AL.FILTER_BANDPASS = 3;
|
|
lime_media_openal_ALC.FALSE = 0;
|
|
lime_media_openal_ALC.TRUE = 1;
|
|
lime_media_openal_ALC.FREQUENCY = 4103;
|
|
lime_media_openal_ALC.REFRESH = 4104;
|
|
lime_media_openal_ALC.SYNC = 4105;
|
|
lime_media_openal_ALC.MONO_SOURCES = 4112;
|
|
lime_media_openal_ALC.STEREO_SOURCES = 4113;
|
|
lime_media_openal_ALC.NO_ERROR = 0;
|
|
lime_media_openal_ALC.INVALID_DEVICE = 40961;
|
|
lime_media_openal_ALC.INVALID_CONTEXT = 40962;
|
|
lime_media_openal_ALC.INVALID_ENUM = 40963;
|
|
lime_media_openal_ALC.INVALID_VALUE = 40964;
|
|
lime_media_openal_ALC.OUT_OF_MEMORY = 40965;
|
|
lime_media_openal_ALC.ATTRIBUTES_SIZE = 4098;
|
|
lime_media_openal_ALC.ALL_ATTRIBUTES = 4099;
|
|
lime_media_openal_ALC.DEFAULT_DEVICE_SPECIFIER = 4100;
|
|
lime_media_openal_ALC.DEVICE_SPECIFIER = 4101;
|
|
lime_media_openal_ALC.EXTENSIONS = 4102;
|
|
lime_media_openal_ALC.ENUMERATE_ALL_EXT = 1;
|
|
lime_media_openal_ALC.DEFAULT_ALL_DEVICES_SPECIFIER = 4114;
|
|
lime_media_openal_ALC.ALL_DEVICES_SPECIFIER = 4115;
|
|
lime_system_BackgroundWorker.MESSAGE_COMPLETE = "__COMPLETE__";
|
|
lime_system_BackgroundWorker.MESSAGE_ERROR = "__ERROR__";
|
|
lime_system_CFFI.__moduleNames = null;
|
|
lime_system_Clipboard.onUpdate = new lime_app__$Event_$Void_$Void();
|
|
lime_system_Sensor.sensorByID = new haxe_ds_IntMap();
|
|
lime_system_Sensor.sensors = [];
|
|
lime_system_System.__directories = new haxe_ds_IntMap();
|
|
lime_ui_Gamepad.devices = new haxe_ds_IntMap();
|
|
lime_ui_Gamepad.onConnect = new lime_app__$Event_$lime_$ui_$Gamepad_$Void();
|
|
lime_ui_GamepadAxis.LEFT_X = 0;
|
|
lime_ui_GamepadAxis.LEFT_Y = 1;
|
|
lime_ui_GamepadAxis.RIGHT_X = 2;
|
|
lime_ui_GamepadAxis.RIGHT_Y = 3;
|
|
lime_ui_GamepadAxis.TRIGGER_LEFT = 4;
|
|
lime_ui_GamepadAxis.TRIGGER_RIGHT = 5;
|
|
lime_ui_GamepadButton.A = 0;
|
|
lime_ui_GamepadButton.B = 1;
|
|
lime_ui_GamepadButton.X = 2;
|
|
lime_ui_GamepadButton.Y = 3;
|
|
lime_ui_GamepadButton.BACK = 4;
|
|
lime_ui_GamepadButton.GUIDE = 5;
|
|
lime_ui_GamepadButton.START = 6;
|
|
lime_ui_GamepadButton.LEFT_STICK = 7;
|
|
lime_ui_GamepadButton.RIGHT_STICK = 8;
|
|
lime_ui_GamepadButton.LEFT_SHOULDER = 9;
|
|
lime_ui_GamepadButton.RIGHT_SHOULDER = 10;
|
|
lime_ui_GamepadButton.DPAD_UP = 11;
|
|
lime_ui_GamepadButton.DPAD_DOWN = 12;
|
|
lime_ui_GamepadButton.DPAD_LEFT = 13;
|
|
lime_ui_GamepadButton.DPAD_RIGHT = 14;
|
|
lime_ui_Joystick.devices = new haxe_ds_IntMap();
|
|
lime_ui_Joystick.onConnect = new lime_app__$Event_$lime_$ui_$Joystick_$Void();
|
|
lime_ui_JoystickHatPosition.CENTER = 0;
|
|
lime_ui_JoystickHatPosition.DOWN = 4;
|
|
lime_ui_JoystickHatPosition.LEFT = 8;
|
|
lime_ui_JoystickHatPosition.RIGHT = 2;
|
|
lime_ui_JoystickHatPosition.UP = 1;
|
|
lime_ui_JoystickHatPosition.DOWN_LEFT = 12;
|
|
lime_ui_JoystickHatPosition.DOWN_RIGHT = 6;
|
|
lime_ui_JoystickHatPosition.UP_LEFT = 9;
|
|
lime_ui_JoystickHatPosition.UP_RIGHT = 3;
|
|
lime_ui_KeyCode.UNKNOWN = 0;
|
|
lime_ui_KeyCode.BACKSPACE = 8;
|
|
lime_ui_KeyCode.TAB = 9;
|
|
lime_ui_KeyCode.RETURN = 13;
|
|
lime_ui_KeyCode.ESCAPE = 27;
|
|
lime_ui_KeyCode.SPACE = 32;
|
|
lime_ui_KeyCode.EXCLAMATION = 33;
|
|
lime_ui_KeyCode.QUOTE = 34;
|
|
lime_ui_KeyCode.HASH = 35;
|
|
lime_ui_KeyCode.DOLLAR = 36;
|
|
lime_ui_KeyCode.PERCENT = 37;
|
|
lime_ui_KeyCode.AMPERSAND = 38;
|
|
lime_ui_KeyCode.SINGLE_QUOTE = 39;
|
|
lime_ui_KeyCode.LEFT_PARENTHESIS = 40;
|
|
lime_ui_KeyCode.RIGHT_PARENTHESIS = 41;
|
|
lime_ui_KeyCode.ASTERISK = 42;
|
|
lime_ui_KeyCode.PLUS = 43;
|
|
lime_ui_KeyCode.COMMA = 44;
|
|
lime_ui_KeyCode.MINUS = 45;
|
|
lime_ui_KeyCode.PERIOD = 46;
|
|
lime_ui_KeyCode.SLASH = 47;
|
|
lime_ui_KeyCode.NUMBER_0 = 48;
|
|
lime_ui_KeyCode.NUMBER_1 = 49;
|
|
lime_ui_KeyCode.NUMBER_2 = 50;
|
|
lime_ui_KeyCode.NUMBER_3 = 51;
|
|
lime_ui_KeyCode.NUMBER_4 = 52;
|
|
lime_ui_KeyCode.NUMBER_5 = 53;
|
|
lime_ui_KeyCode.NUMBER_6 = 54;
|
|
lime_ui_KeyCode.NUMBER_7 = 55;
|
|
lime_ui_KeyCode.NUMBER_8 = 56;
|
|
lime_ui_KeyCode.NUMBER_9 = 57;
|
|
lime_ui_KeyCode.COLON = 58;
|
|
lime_ui_KeyCode.SEMICOLON = 59;
|
|
lime_ui_KeyCode.LESS_THAN = 60;
|
|
lime_ui_KeyCode.EQUALS = 61;
|
|
lime_ui_KeyCode.GREATER_THAN = 62;
|
|
lime_ui_KeyCode.QUESTION = 63;
|
|
lime_ui_KeyCode.AT = 64;
|
|
lime_ui_KeyCode.LEFT_BRACKET = 91;
|
|
lime_ui_KeyCode.BACKSLASH = 92;
|
|
lime_ui_KeyCode.RIGHT_BRACKET = 93;
|
|
lime_ui_KeyCode.CARET = 94;
|
|
lime_ui_KeyCode.UNDERSCORE = 95;
|
|
lime_ui_KeyCode.GRAVE = 96;
|
|
lime_ui_KeyCode.A = 97;
|
|
lime_ui_KeyCode.B = 98;
|
|
lime_ui_KeyCode.C = 99;
|
|
lime_ui_KeyCode.D = 100;
|
|
lime_ui_KeyCode.E = 101;
|
|
lime_ui_KeyCode.F = 102;
|
|
lime_ui_KeyCode.G = 103;
|
|
lime_ui_KeyCode.H = 104;
|
|
lime_ui_KeyCode.I = 105;
|
|
lime_ui_KeyCode.J = 106;
|
|
lime_ui_KeyCode.K = 107;
|
|
lime_ui_KeyCode.L = 108;
|
|
lime_ui_KeyCode.M = 109;
|
|
lime_ui_KeyCode.N = 110;
|
|
lime_ui_KeyCode.O = 111;
|
|
lime_ui_KeyCode.P = 112;
|
|
lime_ui_KeyCode.Q = 113;
|
|
lime_ui_KeyCode.R = 114;
|
|
lime_ui_KeyCode.S = 115;
|
|
lime_ui_KeyCode.T = 116;
|
|
lime_ui_KeyCode.U = 117;
|
|
lime_ui_KeyCode.V = 118;
|
|
lime_ui_KeyCode.W = 119;
|
|
lime_ui_KeyCode.X = 120;
|
|
lime_ui_KeyCode.Y = 121;
|
|
lime_ui_KeyCode.Z = 122;
|
|
lime_ui_KeyCode.DELETE = 127;
|
|
lime_ui_KeyCode.CAPS_LOCK = 1073741881;
|
|
lime_ui_KeyCode.F1 = 1073741882;
|
|
lime_ui_KeyCode.F2 = 1073741883;
|
|
lime_ui_KeyCode.F3 = 1073741884;
|
|
lime_ui_KeyCode.F4 = 1073741885;
|
|
lime_ui_KeyCode.F5 = 1073741886;
|
|
lime_ui_KeyCode.F6 = 1073741887;
|
|
lime_ui_KeyCode.F7 = 1073741888;
|
|
lime_ui_KeyCode.F8 = 1073741889;
|
|
lime_ui_KeyCode.F9 = 1073741890;
|
|
lime_ui_KeyCode.F10 = 1073741891;
|
|
lime_ui_KeyCode.F11 = 1073741892;
|
|
lime_ui_KeyCode.F12 = 1073741893;
|
|
lime_ui_KeyCode.PRINT_SCREEN = 1073741894;
|
|
lime_ui_KeyCode.SCROLL_LOCK = 1073741895;
|
|
lime_ui_KeyCode.PAUSE = 1073741896;
|
|
lime_ui_KeyCode.INSERT = 1073741897;
|
|
lime_ui_KeyCode.HOME = 1073741898;
|
|
lime_ui_KeyCode.PAGE_UP = 1073741899;
|
|
lime_ui_KeyCode.END = 1073741901;
|
|
lime_ui_KeyCode.PAGE_DOWN = 1073741902;
|
|
lime_ui_KeyCode.RIGHT = 1073741903;
|
|
lime_ui_KeyCode.LEFT = 1073741904;
|
|
lime_ui_KeyCode.DOWN = 1073741905;
|
|
lime_ui_KeyCode.UP = 1073741906;
|
|
lime_ui_KeyCode.NUM_LOCK = 1073741907;
|
|
lime_ui_KeyCode.NUMPAD_DIVIDE = 1073741908;
|
|
lime_ui_KeyCode.NUMPAD_MULTIPLY = 1073741909;
|
|
lime_ui_KeyCode.NUMPAD_MINUS = 1073741910;
|
|
lime_ui_KeyCode.NUMPAD_PLUS = 1073741911;
|
|
lime_ui_KeyCode.NUMPAD_ENTER = 1073741912;
|
|
lime_ui_KeyCode.NUMPAD_1 = 1073741913;
|
|
lime_ui_KeyCode.NUMPAD_2 = 1073741914;
|
|
lime_ui_KeyCode.NUMPAD_3 = 1073741915;
|
|
lime_ui_KeyCode.NUMPAD_4 = 1073741916;
|
|
lime_ui_KeyCode.NUMPAD_5 = 1073741917;
|
|
lime_ui_KeyCode.NUMPAD_6 = 1073741918;
|
|
lime_ui_KeyCode.NUMPAD_7 = 1073741919;
|
|
lime_ui_KeyCode.NUMPAD_8 = 1073741920;
|
|
lime_ui_KeyCode.NUMPAD_9 = 1073741921;
|
|
lime_ui_KeyCode.NUMPAD_0 = 1073741922;
|
|
lime_ui_KeyCode.NUMPAD_PERIOD = 1073741923;
|
|
lime_ui_KeyCode.APPLICATION = 1073741925;
|
|
lime_ui_KeyCode.POWER = 1073741926;
|
|
lime_ui_KeyCode.NUMPAD_EQUALS = 1073741927;
|
|
lime_ui_KeyCode.F13 = 1073741928;
|
|
lime_ui_KeyCode.F14 = 1073741929;
|
|
lime_ui_KeyCode.F15 = 1073741930;
|
|
lime_ui_KeyCode.F16 = 1073741931;
|
|
lime_ui_KeyCode.F17 = 1073741932;
|
|
lime_ui_KeyCode.F18 = 1073741933;
|
|
lime_ui_KeyCode.F19 = 1073741934;
|
|
lime_ui_KeyCode.F20 = 1073741935;
|
|
lime_ui_KeyCode.F21 = 1073741936;
|
|
lime_ui_KeyCode.F22 = 1073741937;
|
|
lime_ui_KeyCode.F23 = 1073741938;
|
|
lime_ui_KeyCode.F24 = 1073741939;
|
|
lime_ui_KeyCode.EXECUTE = 1073741940;
|
|
lime_ui_KeyCode.HELP = 1073741941;
|
|
lime_ui_KeyCode.MENU = 1073741942;
|
|
lime_ui_KeyCode.SELECT = 1073741943;
|
|
lime_ui_KeyCode.STOP = 1073741944;
|
|
lime_ui_KeyCode.AGAIN = 1073741945;
|
|
lime_ui_KeyCode.UNDO = 1073741946;
|
|
lime_ui_KeyCode.CUT = 1073741947;
|
|
lime_ui_KeyCode.COPY = 1073741948;
|
|
lime_ui_KeyCode.PASTE = 1073741949;
|
|
lime_ui_KeyCode.FIND = 1073741950;
|
|
lime_ui_KeyCode.MUTE = 1073741951;
|
|
lime_ui_KeyCode.VOLUME_UP = 1073741952;
|
|
lime_ui_KeyCode.VOLUME_DOWN = 1073741953;
|
|
lime_ui_KeyCode.NUMPAD_COMMA = 1073741957;
|
|
lime_ui_KeyCode.ALT_ERASE = 1073741977;
|
|
lime_ui_KeyCode.SYSTEM_REQUEST = 1073741978;
|
|
lime_ui_KeyCode.CANCEL = 1073741979;
|
|
lime_ui_KeyCode.CLEAR = 1073741980;
|
|
lime_ui_KeyCode.PRIOR = 1073741981;
|
|
lime_ui_KeyCode.RETURN2 = 1073741982;
|
|
lime_ui_KeyCode.SEPARATOR = 1073741983;
|
|
lime_ui_KeyCode.OUT = 1073741984;
|
|
lime_ui_KeyCode.OPER = 1073741985;
|
|
lime_ui_KeyCode.CLEAR_AGAIN = 1073741986;
|
|
lime_ui_KeyCode.CRSEL = 1073741987;
|
|
lime_ui_KeyCode.EXSEL = 1073741988;
|
|
lime_ui_KeyCode.NUMPAD_00 = 1073742000;
|
|
lime_ui_KeyCode.NUMPAD_000 = 1073742001;
|
|
lime_ui_KeyCode.THOUSAND_SEPARATOR = 1073742002;
|
|
lime_ui_KeyCode.DECIMAL_SEPARATOR = 1073742003;
|
|
lime_ui_KeyCode.CURRENCY_UNIT = 1073742004;
|
|
lime_ui_KeyCode.CURRENCY_SUBUNIT = 1073742005;
|
|
lime_ui_KeyCode.NUMPAD_LEFT_PARENTHESIS = 1073742006;
|
|
lime_ui_KeyCode.NUMPAD_RIGHT_PARENTHESIS = 1073742007;
|
|
lime_ui_KeyCode.NUMPAD_LEFT_BRACE = 1073742008;
|
|
lime_ui_KeyCode.NUMPAD_RIGHT_BRACE = 1073742009;
|
|
lime_ui_KeyCode.NUMPAD_TAB = 1073742010;
|
|
lime_ui_KeyCode.NUMPAD_BACKSPACE = 1073742011;
|
|
lime_ui_KeyCode.NUMPAD_A = 1073742012;
|
|
lime_ui_KeyCode.NUMPAD_B = 1073742013;
|
|
lime_ui_KeyCode.NUMPAD_C = 1073742014;
|
|
lime_ui_KeyCode.NUMPAD_D = 1073742015;
|
|
lime_ui_KeyCode.NUMPAD_E = 1073742016;
|
|
lime_ui_KeyCode.NUMPAD_F = 1073742017;
|
|
lime_ui_KeyCode.NUMPAD_XOR = 1073742018;
|
|
lime_ui_KeyCode.NUMPAD_POWER = 1073742019;
|
|
lime_ui_KeyCode.NUMPAD_PERCENT = 1073742020;
|
|
lime_ui_KeyCode.NUMPAD_LESS_THAN = 1073742021;
|
|
lime_ui_KeyCode.NUMPAD_GREATER_THAN = 1073742022;
|
|
lime_ui_KeyCode.NUMPAD_AMPERSAND = 1073742023;
|
|
lime_ui_KeyCode.NUMPAD_DOUBLE_AMPERSAND = 1073742024;
|
|
lime_ui_KeyCode.NUMPAD_VERTICAL_BAR = 1073742025;
|
|
lime_ui_KeyCode.NUMPAD_DOUBLE_VERTICAL_BAR = 1073742026;
|
|
lime_ui_KeyCode.NUMPAD_COLON = 1073742027;
|
|
lime_ui_KeyCode.NUMPAD_HASH = 1073742028;
|
|
lime_ui_KeyCode.NUMPAD_SPACE = 1073742029;
|
|
lime_ui_KeyCode.NUMPAD_AT = 1073742030;
|
|
lime_ui_KeyCode.NUMPAD_EXCLAMATION = 1073742031;
|
|
lime_ui_KeyCode.NUMPAD_MEM_STORE = 1073742032;
|
|
lime_ui_KeyCode.NUMPAD_MEM_RECALL = 1073742033;
|
|
lime_ui_KeyCode.NUMPAD_MEM_CLEAR = 1073742034;
|
|
lime_ui_KeyCode.NUMPAD_MEM_ADD = 1073742035;
|
|
lime_ui_KeyCode.NUMPAD_MEM_SUBTRACT = 1073742036;
|
|
lime_ui_KeyCode.NUMPAD_MEM_MULTIPLY = 1073742037;
|
|
lime_ui_KeyCode.NUMPAD_MEM_DIVIDE = 1073742038;
|
|
lime_ui_KeyCode.NUMPAD_PLUS_MINUS = 1073742039;
|
|
lime_ui_KeyCode.NUMPAD_CLEAR = 1073742040;
|
|
lime_ui_KeyCode.NUMPAD_CLEAR_ENTRY = 1073742041;
|
|
lime_ui_KeyCode.NUMPAD_BINARY = 1073742042;
|
|
lime_ui_KeyCode.NUMPAD_OCTAL = 1073742043;
|
|
lime_ui_KeyCode.NUMPAD_DECIMAL = 1073742044;
|
|
lime_ui_KeyCode.NUMPAD_HEXADECIMAL = 1073742045;
|
|
lime_ui_KeyCode.LEFT_CTRL = 1073742048;
|
|
lime_ui_KeyCode.LEFT_SHIFT = 1073742049;
|
|
lime_ui_KeyCode.LEFT_ALT = 1073742050;
|
|
lime_ui_KeyCode.LEFT_META = 1073742051;
|
|
lime_ui_KeyCode.RIGHT_CTRL = 1073742052;
|
|
lime_ui_KeyCode.RIGHT_SHIFT = 1073742053;
|
|
lime_ui_KeyCode.RIGHT_ALT = 1073742054;
|
|
lime_ui_KeyCode.RIGHT_META = 1073742055;
|
|
lime_ui_KeyCode.MODE = 1073742081;
|
|
lime_ui_KeyCode.AUDIO_NEXT = 1073742082;
|
|
lime_ui_KeyCode.AUDIO_PREVIOUS = 1073742083;
|
|
lime_ui_KeyCode.AUDIO_STOP = 1073742084;
|
|
lime_ui_KeyCode.AUDIO_PLAY = 1073742085;
|
|
lime_ui_KeyCode.AUDIO_MUTE = 1073742086;
|
|
lime_ui_KeyCode.MEDIA_SELECT = 1073742087;
|
|
lime_ui_KeyCode.WWW = 1073742088;
|
|
lime_ui_KeyCode.MAIL = 1073742089;
|
|
lime_ui_KeyCode.CALCULATOR = 1073742090;
|
|
lime_ui_KeyCode.COMPUTER = 1073742091;
|
|
lime_ui_KeyCode.APP_CONTROL_SEARCH = 1073742092;
|
|
lime_ui_KeyCode.APP_CONTROL_HOME = 1073742093;
|
|
lime_ui_KeyCode.APP_CONTROL_BACK = 1073742094;
|
|
lime_ui_KeyCode.APP_CONTROL_FORWARD = 1073742095;
|
|
lime_ui_KeyCode.APP_CONTROL_STOP = 1073742096;
|
|
lime_ui_KeyCode.APP_CONTROL_REFRESH = 1073742097;
|
|
lime_ui_KeyCode.APP_CONTROL_BOOKMARKS = 1073742098;
|
|
lime_ui_KeyCode.BRIGHTNESS_DOWN = 1073742099;
|
|
lime_ui_KeyCode.BRIGHTNESS_UP = 1073742100;
|
|
lime_ui_KeyCode.DISPLAY_SWITCH = 1073742101;
|
|
lime_ui_KeyCode.BACKLIGHT_TOGGLE = 1073742102;
|
|
lime_ui_KeyCode.BACKLIGHT_DOWN = 1073742103;
|
|
lime_ui_KeyCode.BACKLIGHT_UP = 1073742104;
|
|
lime_ui_KeyCode.EJECT = 1073742105;
|
|
lime_ui_KeyCode.SLEEP = 1073742106;
|
|
lime_ui_KeyModifier.NONE = 0;
|
|
lime_ui_KeyModifier.LEFT_SHIFT = 1;
|
|
lime_ui_KeyModifier.RIGHT_SHIFT = 2;
|
|
lime_ui_KeyModifier.LEFT_CTRL = 64;
|
|
lime_ui_KeyModifier.RIGHT_CTRL = 128;
|
|
lime_ui_KeyModifier.LEFT_ALT = 256;
|
|
lime_ui_KeyModifier.RIGHT_ALT = 512;
|
|
lime_ui_KeyModifier.LEFT_META = 1024;
|
|
lime_ui_KeyModifier.RIGHT_META = 2048;
|
|
lime_ui_KeyModifier.NUM_LOCK = 4096;
|
|
lime_ui_KeyModifier.CAPS_LOCK = 8192;
|
|
lime_ui_KeyModifier.MODE = 16384;
|
|
lime_ui_KeyModifier.CTRL = 192;
|
|
lime_ui_KeyModifier.SHIFT = 3;
|
|
lime_ui_KeyModifier.ALT = 768;
|
|
lime_ui_KeyModifier.META = 3072;
|
|
lime_ui_ScanCode.UNKNOWN = 0;
|
|
lime_ui_ScanCode.BACKSPACE = 42;
|
|
lime_ui_ScanCode.TAB = 43;
|
|
lime_ui_ScanCode.RETURN = 40;
|
|
lime_ui_ScanCode.ESCAPE = 41;
|
|
lime_ui_ScanCode.SPACE = 44;
|
|
lime_ui_ScanCode.SINGLE_QUOTE = 52;
|
|
lime_ui_ScanCode.COMMA = 54;
|
|
lime_ui_ScanCode.MINUS = 45;
|
|
lime_ui_ScanCode.PERIOD = 55;
|
|
lime_ui_ScanCode.SLASH = 56;
|
|
lime_ui_ScanCode.NUMBER_0 = 39;
|
|
lime_ui_ScanCode.NUMBER_1 = 30;
|
|
lime_ui_ScanCode.NUMBER_2 = 31;
|
|
lime_ui_ScanCode.NUMBER_3 = 32;
|
|
lime_ui_ScanCode.NUMBER_4 = 33;
|
|
lime_ui_ScanCode.NUMBER_5 = 34;
|
|
lime_ui_ScanCode.NUMBER_6 = 35;
|
|
lime_ui_ScanCode.NUMBER_7 = 36;
|
|
lime_ui_ScanCode.NUMBER_8 = 37;
|
|
lime_ui_ScanCode.NUMBER_9 = 38;
|
|
lime_ui_ScanCode.SEMICOLON = 51;
|
|
lime_ui_ScanCode.EQUALS = 46;
|
|
lime_ui_ScanCode.LEFT_BRACKET = 47;
|
|
lime_ui_ScanCode.BACKSLASH = 49;
|
|
lime_ui_ScanCode.RIGHT_BRACKET = 48;
|
|
lime_ui_ScanCode.GRAVE = 53;
|
|
lime_ui_ScanCode.A = 4;
|
|
lime_ui_ScanCode.B = 5;
|
|
lime_ui_ScanCode.C = 6;
|
|
lime_ui_ScanCode.D = 7;
|
|
lime_ui_ScanCode.E = 8;
|
|
lime_ui_ScanCode.F = 9;
|
|
lime_ui_ScanCode.G = 10;
|
|
lime_ui_ScanCode.H = 11;
|
|
lime_ui_ScanCode.I = 12;
|
|
lime_ui_ScanCode.J = 13;
|
|
lime_ui_ScanCode.K = 14;
|
|
lime_ui_ScanCode.L = 15;
|
|
lime_ui_ScanCode.M = 16;
|
|
lime_ui_ScanCode.N = 17;
|
|
lime_ui_ScanCode.O = 18;
|
|
lime_ui_ScanCode.P = 19;
|
|
lime_ui_ScanCode.Q = 20;
|
|
lime_ui_ScanCode.R = 21;
|
|
lime_ui_ScanCode.S = 22;
|
|
lime_ui_ScanCode.T = 23;
|
|
lime_ui_ScanCode.U = 24;
|
|
lime_ui_ScanCode.V = 25;
|
|
lime_ui_ScanCode.W = 26;
|
|
lime_ui_ScanCode.X = 27;
|
|
lime_ui_ScanCode.Y = 28;
|
|
lime_ui_ScanCode.Z = 29;
|
|
lime_ui_ScanCode.DELETE = 76;
|
|
lime_ui_ScanCode.CAPS_LOCK = 57;
|
|
lime_ui_ScanCode.F1 = 58;
|
|
lime_ui_ScanCode.F2 = 59;
|
|
lime_ui_ScanCode.F3 = 60;
|
|
lime_ui_ScanCode.F4 = 61;
|
|
lime_ui_ScanCode.F5 = 62;
|
|
lime_ui_ScanCode.F6 = 63;
|
|
lime_ui_ScanCode.F7 = 64;
|
|
lime_ui_ScanCode.F8 = 65;
|
|
lime_ui_ScanCode.F9 = 66;
|
|
lime_ui_ScanCode.F10 = 67;
|
|
lime_ui_ScanCode.F11 = 68;
|
|
lime_ui_ScanCode.F12 = 69;
|
|
lime_ui_ScanCode.PRINT_SCREEN = 70;
|
|
lime_ui_ScanCode.SCROLL_LOCK = 71;
|
|
lime_ui_ScanCode.PAUSE = 72;
|
|
lime_ui_ScanCode.INSERT = 73;
|
|
lime_ui_ScanCode.HOME = 74;
|
|
lime_ui_ScanCode.PAGE_UP = 75;
|
|
lime_ui_ScanCode.END = 77;
|
|
lime_ui_ScanCode.PAGE_DOWN = 78;
|
|
lime_ui_ScanCode.RIGHT = 79;
|
|
lime_ui_ScanCode.LEFT = 80;
|
|
lime_ui_ScanCode.DOWN = 81;
|
|
lime_ui_ScanCode.UP = 82;
|
|
lime_ui_ScanCode.NUM_LOCK = 83;
|
|
lime_ui_ScanCode.NUMPAD_DIVIDE = 84;
|
|
lime_ui_ScanCode.NUMPAD_MULTIPLY = 85;
|
|
lime_ui_ScanCode.NUMPAD_MINUS = 86;
|
|
lime_ui_ScanCode.NUMPAD_PLUS = 87;
|
|
lime_ui_ScanCode.NUMPAD_ENTER = 88;
|
|
lime_ui_ScanCode.NUMPAD_1 = 89;
|
|
lime_ui_ScanCode.NUMPAD_2 = 90;
|
|
lime_ui_ScanCode.NUMPAD_3 = 91;
|
|
lime_ui_ScanCode.NUMPAD_4 = 92;
|
|
lime_ui_ScanCode.NUMPAD_5 = 93;
|
|
lime_ui_ScanCode.NUMPAD_6 = 94;
|
|
lime_ui_ScanCode.NUMPAD_7 = 95;
|
|
lime_ui_ScanCode.NUMPAD_8 = 96;
|
|
lime_ui_ScanCode.NUMPAD_9 = 97;
|
|
lime_ui_ScanCode.NUMPAD_0 = 98;
|
|
lime_ui_ScanCode.NUMPAD_PERIOD = 99;
|
|
lime_ui_ScanCode.APPLICATION = 101;
|
|
lime_ui_ScanCode.POWER = 102;
|
|
lime_ui_ScanCode.NUMPAD_EQUALS = 103;
|
|
lime_ui_ScanCode.F13 = 104;
|
|
lime_ui_ScanCode.F14 = 105;
|
|
lime_ui_ScanCode.F15 = 106;
|
|
lime_ui_ScanCode.F16 = 107;
|
|
lime_ui_ScanCode.F17 = 108;
|
|
lime_ui_ScanCode.F18 = 109;
|
|
lime_ui_ScanCode.F19 = 110;
|
|
lime_ui_ScanCode.F20 = 111;
|
|
lime_ui_ScanCode.F21 = 112;
|
|
lime_ui_ScanCode.F22 = 113;
|
|
lime_ui_ScanCode.F23 = 114;
|
|
lime_ui_ScanCode.F24 = 115;
|
|
lime_ui_ScanCode.EXECUTE = 116;
|
|
lime_ui_ScanCode.HELP = 117;
|
|
lime_ui_ScanCode.MENU = 118;
|
|
lime_ui_ScanCode.SELECT = 119;
|
|
lime_ui_ScanCode.STOP = 120;
|
|
lime_ui_ScanCode.AGAIN = 121;
|
|
lime_ui_ScanCode.UNDO = 122;
|
|
lime_ui_ScanCode.CUT = 123;
|
|
lime_ui_ScanCode.COPY = 124;
|
|
lime_ui_ScanCode.PASTE = 125;
|
|
lime_ui_ScanCode.FIND = 126;
|
|
lime_ui_ScanCode.MUTE = 127;
|
|
lime_ui_ScanCode.VOLUME_UP = 128;
|
|
lime_ui_ScanCode.VOLUME_DOWN = 129;
|
|
lime_ui_ScanCode.NUMPAD_COMMA = 133;
|
|
lime_ui_ScanCode.ALT_ERASE = 153;
|
|
lime_ui_ScanCode.SYSTEM_REQUEST = 154;
|
|
lime_ui_ScanCode.CANCEL = 155;
|
|
lime_ui_ScanCode.CLEAR = 156;
|
|
lime_ui_ScanCode.PRIOR = 157;
|
|
lime_ui_ScanCode.RETURN2 = 158;
|
|
lime_ui_ScanCode.SEPARATOR = 159;
|
|
lime_ui_ScanCode.OUT = 160;
|
|
lime_ui_ScanCode.OPER = 161;
|
|
lime_ui_ScanCode.CLEAR_AGAIN = 162;
|
|
lime_ui_ScanCode.CRSEL = 163;
|
|
lime_ui_ScanCode.EXSEL = 164;
|
|
lime_ui_ScanCode.NUMPAD_00 = 176;
|
|
lime_ui_ScanCode.NUMPAD_000 = 177;
|
|
lime_ui_ScanCode.THOUSAND_SEPARATOR = 178;
|
|
lime_ui_ScanCode.DECIMAL_SEPARATOR = 179;
|
|
lime_ui_ScanCode.CURRENCY_UNIT = 180;
|
|
lime_ui_ScanCode.CURRENCY_SUBUNIT = 181;
|
|
lime_ui_ScanCode.NUMPAD_LEFT_PARENTHESIS = 182;
|
|
lime_ui_ScanCode.NUMPAD_RIGHT_PARENTHESIS = 183;
|
|
lime_ui_ScanCode.NUMPAD_LEFT_BRACE = 184;
|
|
lime_ui_ScanCode.NUMPAD_RIGHT_BRACE = 185;
|
|
lime_ui_ScanCode.NUMPAD_TAB = 186;
|
|
lime_ui_ScanCode.NUMPAD_BACKSPACE = 187;
|
|
lime_ui_ScanCode.NUMPAD_A = 188;
|
|
lime_ui_ScanCode.NUMPAD_B = 189;
|
|
lime_ui_ScanCode.NUMPAD_C = 190;
|
|
lime_ui_ScanCode.NUMPAD_D = 191;
|
|
lime_ui_ScanCode.NUMPAD_E = 192;
|
|
lime_ui_ScanCode.NUMPAD_F = 193;
|
|
lime_ui_ScanCode.NUMPAD_XOR = 194;
|
|
lime_ui_ScanCode.NUMPAD_POWER = 195;
|
|
lime_ui_ScanCode.NUMPAD_PERCENT = 196;
|
|
lime_ui_ScanCode.NUMPAD_LESS_THAN = 197;
|
|
lime_ui_ScanCode.NUMPAD_GREATER_THAN = 198;
|
|
lime_ui_ScanCode.NUMPAD_AMPERSAND = 199;
|
|
lime_ui_ScanCode.NUMPAD_DOUBLE_AMPERSAND = 200;
|
|
lime_ui_ScanCode.NUMPAD_VERTICAL_BAR = 201;
|
|
lime_ui_ScanCode.NUMPAD_DOUBLE_VERTICAL_BAR = 202;
|
|
lime_ui_ScanCode.NUMPAD_COLON = 203;
|
|
lime_ui_ScanCode.NUMPAD_HASH = 204;
|
|
lime_ui_ScanCode.NUMPAD_SPACE = 205;
|
|
lime_ui_ScanCode.NUMPAD_AT = 206;
|
|
lime_ui_ScanCode.NUMPAD_EXCLAMATION = 207;
|
|
lime_ui_ScanCode.NUMPAD_MEM_STORE = 208;
|
|
lime_ui_ScanCode.NUMPAD_MEM_RECALL = 209;
|
|
lime_ui_ScanCode.NUMPAD_MEM_CLEAR = 210;
|
|
lime_ui_ScanCode.NUMPAD_MEM_ADD = 211;
|
|
lime_ui_ScanCode.NUMPAD_MEM_SUBTRACT = 212;
|
|
lime_ui_ScanCode.NUMPAD_MEM_MULTIPLY = 213;
|
|
lime_ui_ScanCode.NUMPAD_MEM_DIVIDE = 214;
|
|
lime_ui_ScanCode.NUMPAD_PLUS_MINUS = 215;
|
|
lime_ui_ScanCode.NUMPAD_CLEAR = 216;
|
|
lime_ui_ScanCode.NUMPAD_CLEAR_ENTRY = 217;
|
|
lime_ui_ScanCode.NUMPAD_BINARY = 218;
|
|
lime_ui_ScanCode.NUMPAD_OCTAL = 219;
|
|
lime_ui_ScanCode.NUMPAD_DECIMAL = 220;
|
|
lime_ui_ScanCode.NUMPAD_HEXADECIMAL = 221;
|
|
lime_ui_ScanCode.LEFT_CTRL = 224;
|
|
lime_ui_ScanCode.LEFT_SHIFT = 225;
|
|
lime_ui_ScanCode.LEFT_ALT = 226;
|
|
lime_ui_ScanCode.LEFT_META = 227;
|
|
lime_ui_ScanCode.RIGHT_CTRL = 228;
|
|
lime_ui_ScanCode.RIGHT_SHIFT = 229;
|
|
lime_ui_ScanCode.RIGHT_ALT = 230;
|
|
lime_ui_ScanCode.RIGHT_META = 231;
|
|
lime_ui_ScanCode.MODE = 257;
|
|
lime_ui_ScanCode.AUDIO_NEXT = 258;
|
|
lime_ui_ScanCode.AUDIO_PREVIOUS = 259;
|
|
lime_ui_ScanCode.AUDIO_STOP = 260;
|
|
lime_ui_ScanCode.AUDIO_PLAY = 261;
|
|
lime_ui_ScanCode.AUDIO_MUTE = 262;
|
|
lime_ui_ScanCode.MEDIA_SELECT = 263;
|
|
lime_ui_ScanCode.WWW = 264;
|
|
lime_ui_ScanCode.MAIL = 265;
|
|
lime_ui_ScanCode.CALCULATOR = 266;
|
|
lime_ui_ScanCode.COMPUTER = 267;
|
|
lime_ui_ScanCode.APP_CONTROL_SEARCH = 268;
|
|
lime_ui_ScanCode.APP_CONTROL_HOME = 269;
|
|
lime_ui_ScanCode.APP_CONTROL_BACK = 270;
|
|
lime_ui_ScanCode.APP_CONTROL_FORWARD = 271;
|
|
lime_ui_ScanCode.APP_CONTROL_STOP = 272;
|
|
lime_ui_ScanCode.APP_CONTROL_REFRESH = 273;
|
|
lime_ui_ScanCode.APP_CONTROL_BOOKMARKS = 274;
|
|
lime_ui_ScanCode.BRIGHTNESS_DOWN = 275;
|
|
lime_ui_ScanCode.BRIGHTNESS_UP = 276;
|
|
lime_ui_ScanCode.DISPLAY_SWITCH = 277;
|
|
lime_ui_ScanCode.BACKLIGHT_TOGGLE = 278;
|
|
lime_ui_ScanCode.BACKLIGHT_DOWN = 279;
|
|
lime_ui_ScanCode.BACKLIGHT_UP = 280;
|
|
lime_ui_ScanCode.EJECT = 281;
|
|
lime_ui_ScanCode.SLEEP = 282;
|
|
lime_ui_Touch.onCancel = new lime_app__$Event_$lime_$ui_$Touch_$Void();
|
|
lime_ui_Touch.onEnd = new lime_app__$Event_$lime_$ui_$Touch_$Void();
|
|
lime_ui_Touch.onMove = new lime_app__$Event_$lime_$ui_$Touch_$Void();
|
|
lime_ui_Touch.onStart = new lime_app__$Event_$lime_$ui_$Touch_$Void();
|
|
lime_utils_Assets.cache = new lime_utils_AssetCache();
|
|
lime_utils_Assets.onChange = new lime_app__$Event_$Void_$Void();
|
|
lime_utils_Assets.bundlePaths = new haxe_ds_StringMap();
|
|
lime_utils_Assets.libraries = new haxe_ds_StringMap();
|
|
lime_utils_Assets.libraryPaths = new haxe_ds_StringMap();
|
|
lime_utils_Float32Array.BYTES_PER_ELEMENT = 4;
|
|
lime_utils_Float64Array.BYTES_PER_ELEMENT = 8;
|
|
lime_utils_Int16Array.BYTES_PER_ELEMENT = 2;
|
|
lime_utils_Int32Array.BYTES_PER_ELEMENT = 4;
|
|
lime_utils_Int8Array.BYTES_PER_ELEMENT = 1;
|
|
lime_utils_Log.throwErrors = true;
|
|
lime_utils_LogLevel.NONE = 0;
|
|
lime_utils_LogLevel.ERROR = 1;
|
|
lime_utils_LogLevel.WARN = 2;
|
|
lime_utils_LogLevel.INFO = 3;
|
|
lime_utils_LogLevel.DEBUG = 4;
|
|
lime_utils_LogLevel.VERBOSE = 5;
|
|
lime_utils_UInt16Array.BYTES_PER_ELEMENT = 2;
|
|
lime_utils_UInt32Array.BYTES_PER_ELEMENT = 4;
|
|
lime_utils_UInt8Array.BYTES_PER_ELEMENT = 1;
|
|
lime_utils_UInt8ClampedArray.BYTES_PER_ELEMENT = 1;
|
|
openfl_Lib.__lastTimerID = 0;
|
|
openfl_Lib.__sentWarnings = new haxe_ds_StringMap();
|
|
openfl_Lib.__timers = new haxe_ds_IntMap();
|
|
openfl__$Vector_IVector.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}};
|
|
openfl__$Vector_BoolVector.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, fields : { toJSON : { SuppressWarnings : ["checkstyle:Dynamic"]}}};
|
|
openfl__$Vector_FloatVector.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, fields : { toJSON : { SuppressWarnings : ["checkstyle:Dynamic"]}, _ : { SuppressWarnings : ["checkstyle:Dynamic"]}}};
|
|
openfl__$Vector_FunctionVector.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, fields : { toJSON : { SuppressWarnings : ["checkstyle:Dynamic"]}}};
|
|
openfl__$Vector_IntVector.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, fields : { toJSON : { SuppressWarnings : ["checkstyle:Dynamic"]}}};
|
|
openfl__$Vector_ObjectVector.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, fields : { concat : { SuppressWarnings : ["checkstyle:Dynamic"]}, toJSON : { SuppressWarnings : ["checkstyle:Dynamic"]}, _ : { SuppressWarnings : ["checkstyle:Dynamic"]}}};
|
|
openfl__$internal_Lib.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, statics : { notImplemented : { SuppressWarnings : ["checkstyle:NullableParameter"]}}};
|
|
openfl__$internal_Lib.__sentWarnings = new haxe_ds_StringMap();
|
|
openfl__$internal_formats_html_HTMLParser.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}};
|
|
openfl__$internal_formats_html_HTMLParser.__regexAlign = new EReg("align\\s?=\\s?(\"([^\"]+)\"|'([^']+)')","i");
|
|
openfl__$internal_formats_html_HTMLParser.__regexBreakTag = new EReg("<br\\s*/?>","gi");
|
|
openfl__$internal_formats_html_HTMLParser.__regexBlockIndent = new EReg("blockindent\\s?=\\s?(\"([^\"]+)\"|'([^']+)')","i");
|
|
openfl__$internal_formats_html_HTMLParser.__regexColor = new EReg("color\\s?=\\s?(\"#([^\"]+)\"|'#([^']+)')","i");
|
|
openfl__$internal_formats_html_HTMLParser.__regexEntities = [new EReg(""","g"),new EReg("'","g"),new EReg("&","g"),new EReg("<","g"),new EReg(">","g"),new EReg(" ","g")];
|
|
openfl__$internal_formats_html_HTMLParser.__regexFace = new EReg("face\\s?=\\s?(\"([^\"]+)\"|'([^']+)')","i");
|
|
openfl__$internal_formats_html_HTMLParser.__regexHTMLTag = new EReg("<.*?>","g");
|
|
openfl__$internal_formats_html_HTMLParser.__regexHref = new EReg("href\\s?=\\s?(\"([^\"]+)\"|'([^']+)')","i");
|
|
openfl__$internal_formats_html_HTMLParser.__regexIndent = new EReg(" indent\\s?=\\s?(\"([^\"]+)\"|'([^']+)')","i");
|
|
openfl__$internal_formats_html_HTMLParser.__regexLeading = new EReg("leading\\s?=\\s?(\"([^\"]+)\"|'([^']+)')","i");
|
|
openfl__$internal_formats_html_HTMLParser.__regexLeftMargin = new EReg("leftmargin\\s?=\\s?(\"([^\"]+)\"|'([^']+)')","i");
|
|
openfl__$internal_formats_html_HTMLParser.__regexRightMargin = new EReg("rightmargin\\s?=\\s?(\"([^\"]+)\"|'([^']+)')","i");
|
|
openfl__$internal_formats_html_HTMLParser.__regexSize = new EReg("size\\s?=\\s?(\"([^\"]+)\"|'([^']+)')","i");
|
|
openfl__$internal_formats_html_HTMLParser.__regexTabStops = new EReg("tabstops\\s?=\\s?(\"([^\"]+)\"|'([^']+)')","i");
|
|
openfl__$internal_utils_TouchData.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, fields : { touch : { SuppressWarnings : ["checkstyle:Dynamic"]}}};
|
|
openfl__$internal_utils_TouchData.__pool = new lime_utils_ObjectPool(function() {
|
|
return new openfl__$internal_utils_TouchData();
|
|
},function(data) {
|
|
data.reset();
|
|
});
|
|
openfl_display_Application.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}};
|
|
openfl_display_BlendMode.ADD = 0;
|
|
openfl_display_BlendMode.ALPHA = 1;
|
|
openfl_display_BlendMode.DARKEN = 2;
|
|
openfl_display_BlendMode.DIFFERENCE = 3;
|
|
openfl_display_BlendMode.ERASE = 4;
|
|
openfl_display_BlendMode.HARDLIGHT = 5;
|
|
openfl_display_BlendMode.INVERT = 6;
|
|
openfl_display_BlendMode.LAYER = 7;
|
|
openfl_display_BlendMode.LIGHTEN = 8;
|
|
openfl_display_BlendMode.MULTIPLY = 9;
|
|
openfl_display_BlendMode.NORMAL = 10;
|
|
openfl_display_BlendMode.OVERLAY = 11;
|
|
openfl_display_BlendMode.SCREEN = 12;
|
|
openfl_display_BlendMode.SHADER = 13;
|
|
openfl_display_BlendMode.SUBTRACT = 14;
|
|
openfl_display_DisplayObjectRenderer.__meta__ = { fields : { __context : { SuppressWarnings : ["checkstyle:Dynamic"]}, __type : { SuppressWarnings : ["checkstyle:Dynamic"]}}};
|
|
openfl_display_CairoRenderer.__meta__ = { fields : { cairo : { SuppressWarnings : ["checkstyle:Dynamic"]}, __matrix3 : { SuppressWarnings : ["checkstyle:Dynamic"]}, applyMatrix : { SuppressWarnings : ["checkstyle:Dynamic"]}, __setBlendModeCairo : { SuppressWarnings : ["checkstyle:Dynamic"]}, _ : { SuppressWarnings : ["checkstyle:Dynamic"]}}};
|
|
openfl_display_CanvasRenderer.__meta__ = { fields : { context : { SuppressWarnings : ["checkstyle:Dynamic"]}, applySmoothing : { SuppressWarnings : ["checkstyle:Dynamic"]}, setTransform : { SuppressWarnings : ["checkstyle:Dynamic"]}, __setBlendModeContext : { SuppressWarnings : ["checkstyle:Dynamic"]}, _ : { SuppressWarnings : ["checkstyle:Dynamic"]}}};
|
|
openfl_display_CapsStyle.NONE = 0;
|
|
openfl_display_CapsStyle.ROUND = 1;
|
|
openfl_display_CapsStyle.SQUARE = 2;
|
|
openfl_display_DOMRenderer.__meta__ = { fields : { element : { SuppressWarnings : ["checkstyle:Dynamic"]}, applyStyle : { SuppressWarnings : ["checkstyle:Dynamic"]}, clearStyle : { SuppressWarnings : ["checkstyle:Dynamic"]}, _ : { SuppressWarnings : ["checkstyle:Dynamic"]}}};
|
|
openfl_text_TextField.__missingFontWarning = new haxe_ds_StringMap();
|
|
openfl_display_GradientType.LINEAR = 0;
|
|
openfl_display_GradientType.RADIAL = 1;
|
|
openfl_display_Graphics.__meta__ = { fields : { overrideBlendMode : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}};
|
|
openfl_display_Graphics.maxTextureHeight = null;
|
|
openfl_display_Graphics.maxTextureWidth = null;
|
|
openfl_display_GraphicsPath.SIN45 = 0.70710678118654752440084436210485;
|
|
openfl_display_GraphicsPath.TAN22 = 0.4142135623730950488016887242097;
|
|
openfl_display_GraphicsPathWinding.EVEN_ODD = 0;
|
|
openfl_display_GraphicsPathWinding.NON_ZERO = 1;
|
|
openfl_display_InterpolationMethod.LINEAR_RGB = 0;
|
|
openfl_display_InterpolationMethod.RGB = 1;
|
|
openfl_display_JointStyle.BEVEL = 0;
|
|
openfl_display_JointStyle.MITER = 1;
|
|
openfl_display_JointStyle.ROUND = 2;
|
|
openfl_display_LineScaleMode.HORIZONTAL = 0;
|
|
openfl_display_LineScaleMode.NONE = 1;
|
|
openfl_display_LineScaleMode.NORMAL = 2;
|
|
openfl_display_LineScaleMode.VERTICAL = 3;
|
|
openfl_display_Loader.__meta__ = { fields : { BitmapData_onError : { SuppressWarnings : ["checkstyle:Dynamic"]}}};
|
|
openfl_display_LoaderInfo.__meta__ = { statics : { create : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}, fields : { parameters : { SuppressWarnings : ["checkstyle:Dynamic"]}}};
|
|
openfl_display_LoaderInfo.__rootURL = typeof(window) != "undefined" ? window.document.URL : "";
|
|
openfl_display_OpenGLRenderer.__meta__ = { fields : { gl : { SuppressWarnings : ["checkstyle:Dynamic"]}, __gl : { SuppressWarnings : ["checkstyle:Dynamic"]}, __matrix : { SuppressWarnings : ["checkstyle:Dynamic"]}, __projection : { SuppressWarnings : ["checkstyle:Dynamic"]}, __projectionFlipped : { SuppressWarnings : ["checkstyle:Dynamic"]}, getMatrix : { SuppressWarnings : ["checkstyle:Dynamic"]}}};
|
|
openfl_display_OpenGLRenderer.__alphaValue = [1];
|
|
openfl_display_OpenGLRenderer.__colorMultipliersValue = [0,0,0,0];
|
|
openfl_display_OpenGLRenderer.__colorOffsetsValue = [0,0,0,0];
|
|
openfl_display_OpenGLRenderer.__defaultColorMultipliersValue = [1,1,1,1];
|
|
openfl_display_OpenGLRenderer.__emptyColorValue = [0,0,0,0];
|
|
openfl_display_OpenGLRenderer.__emptyAlphaValue = [1];
|
|
openfl_display_OpenGLRenderer.__hasColorTransformValue = [false];
|
|
openfl_display_OpenGLRenderer.__scissorRectangle = new openfl_geom_Rectangle();
|
|
openfl_display_OpenGLRenderer.__textureSizeValue = [0,0];
|
|
openfl_display_PixelSnapping.ALWAYS = 0;
|
|
openfl_display_PixelSnapping.AUTO = 1;
|
|
openfl_display_PixelSnapping.NEVER = 2;
|
|
openfl_display_Preloader.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, fields : { onComplete : { SuppressWarnings : ["checkstyle:Dynamic"]}}};
|
|
openfl_display_DefaultPreloader.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}};
|
|
openfl_display_ShaderInput.__meta__ = { fields : { index : { SuppressWarnings : ["checkstyle:Dynamic"]}, name : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}};
|
|
openfl_display_ShaderParameter.__meta__ = { fields : { index : { SuppressWarnings : ["checkstyle:Dynamic"]}, name : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}};
|
|
openfl_display_ShaderParameterType.BOOL = 0;
|
|
openfl_display_ShaderParameterType.BOOL2 = 1;
|
|
openfl_display_ShaderParameterType.BOOL3 = 2;
|
|
openfl_display_ShaderParameterType.BOOL4 = 3;
|
|
openfl_display_ShaderParameterType.FLOAT = 4;
|
|
openfl_display_ShaderParameterType.FLOAT2 = 5;
|
|
openfl_display_ShaderParameterType.FLOAT3 = 6;
|
|
openfl_display_ShaderParameterType.FLOAT4 = 7;
|
|
openfl_display_ShaderParameterType.INT = 8;
|
|
openfl_display_ShaderParameterType.INT2 = 9;
|
|
openfl_display_ShaderParameterType.INT3 = 10;
|
|
openfl_display_ShaderParameterType.INT4 = 11;
|
|
openfl_display_ShaderParameterType.MATRIX2X2 = 12;
|
|
openfl_display_ShaderParameterType.MATRIX2X3 = 13;
|
|
openfl_display_ShaderParameterType.MATRIX2X4 = 14;
|
|
openfl_display_ShaderParameterType.MATRIX3X2 = 15;
|
|
openfl_display_ShaderParameterType.MATRIX3X3 = 16;
|
|
openfl_display_ShaderParameterType.MATRIX3X4 = 17;
|
|
openfl_display_ShaderParameterType.MATRIX4X2 = 18;
|
|
openfl_display_ShaderParameterType.MATRIX4X3 = 19;
|
|
openfl_display_ShaderParameterType.MATRIX4X4 = 20;
|
|
openfl_display_ShaderPrecision.FAST = 0;
|
|
openfl_display_ShaderPrecision.FULL = 1;
|
|
openfl_display_SpreadMethod.PAD = 0;
|
|
openfl_display_SpreadMethod.REFLECT = 1;
|
|
openfl_display_SpreadMethod.REPEAT = 2;
|
|
openfl_display_Stage.__meta__ = { fields : { __broadcastEvent : { SuppressWarnings : ["checkstyle:Dynamic"]}, __dispatchEvent : { SuppressWarnings : [["checkstyle:Dynamic","checkstyle:LeftCurly"]]}, __dispatchStack : { SuppressWarnings : [["checkstyle:Dynamic","checkstyle:LeftCurly"]]}, __dispatchTarget : { SuppressWarnings : ["checkstyle:Dynamic"]}, __handleError : { SuppressWarnings : ["checkstyle:Dynamic"]}}};
|
|
openfl_display_StageAlign.BOTTOM = 0;
|
|
openfl_display_StageAlign.BOTTOM_LEFT = 1;
|
|
openfl_display_StageAlign.BOTTOM_RIGHT = 2;
|
|
openfl_display_StageAlign.LEFT = 3;
|
|
openfl_display_StageAlign.RIGHT = 4;
|
|
openfl_display_StageAlign.TOP = 5;
|
|
openfl_display_StageAlign.TOP_LEFT = 6;
|
|
openfl_display_StageAlign.TOP_RIGHT = 7;
|
|
openfl_display_StageDisplayState.FULL_SCREEN = 0;
|
|
openfl_display_StageDisplayState.FULL_SCREEN_INTERACTIVE = 1;
|
|
openfl_display_StageDisplayState.NORMAL = 2;
|
|
openfl_display_StageQuality.BEST = 0;
|
|
openfl_display_StageQuality.HIGH = 1;
|
|
openfl_display_StageQuality.LOW = 2;
|
|
openfl_display_StageQuality.MEDIUM = 3;
|
|
openfl_display_StageScaleMode.EXACT_FIT = 0;
|
|
openfl_display_StageScaleMode.NO_BORDER = 1;
|
|
openfl_display_StageScaleMode.NO_SCALE = 2;
|
|
openfl_display_StageScaleMode.SHOW_ALL = 3;
|
|
openfl_display_TriangleCulling.NEGATIVE = 0;
|
|
openfl_display_TriangleCulling.NONE = 1;
|
|
openfl_display_TriangleCulling.POSITIVE = 2;
|
|
openfl_display_Window.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, fields : { _ : { SuppressWarnings : ["checkstyle:Dynamic"]}}};
|
|
openfl_display__$internal_AbstractNoise.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}};
|
|
openfl_display__$internal_CairoBitmap.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}};
|
|
openfl_display__$internal_CairoDisplayObject.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}};
|
|
openfl_display__$internal_CairoGraphics.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}};
|
|
openfl_display__$internal_CairoTextField.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}};
|
|
openfl_display__$internal_CanvasBitmap.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}};
|
|
openfl_display__$internal_CanvasDisplayObject.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}};
|
|
openfl_display__$internal_DrawCommandBuffer.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, fields : { o : { SuppressWarnings : ["checkstyle:Dynamic"]}}};
|
|
openfl_display__$internal_DrawCommandBuffer.empty = new openfl_display__$internal_DrawCommandBuffer();
|
|
openfl_display__$internal_CanvasGraphics.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, statics : { windingRule : { SuppressWarnings : ["checkstyle:Dynamic"]}, createBitmapFill : { SuppressWarnings : ["checkstyle:Dynamic"]}, createGradientPattern : { SuppressWarnings : ["checkstyle:Dynamic"]}}};
|
|
openfl_display__$internal_CanvasGraphics.SIN45 = 0.70710678118654752440084436210485;
|
|
openfl_display__$internal_CanvasGraphics.TAN22 = 0.4142135623730950488016887242097;
|
|
openfl_display__$internal_CanvasGraphics.fillCommands = new openfl_display__$internal_DrawCommandBuffer();
|
|
openfl_display__$internal_CanvasGraphics.strokeCommands = new openfl_display__$internal_DrawCommandBuffer();
|
|
openfl_display__$internal_CanvasShape.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}};
|
|
openfl_display__$internal_CanvasTextField.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}};
|
|
openfl_display__$internal_Context3DBitmap.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}};
|
|
openfl_display__$internal_Context3DBuffer.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}};
|
|
openfl_display__$internal_Context3DBuffer.MAX_INDEX_BUFFER_LENGTH = 65535;
|
|
openfl_display__$internal_Context3DBuffer.MAX_QUADS_PER_INDEX_BUFFER = 10922;
|
|
openfl_display__$internal_Context3DBuffer.MAX_QUAD_INDEX_BUFFER_LENGTH = 65532;
|
|
openfl_display__$internal_Context3DDisplayObject.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}};
|
|
openfl_display__$internal_Context3DGraphics.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}};
|
|
openfl_display__$internal_Context3DGraphics.blankBitmapData = new openfl_display_BitmapData(1,1,false,0);
|
|
openfl_display__$internal_Context3DGraphics.tempColorTransform = new openfl_geom_ColorTransform(1,1,1,1,0,0,0,0);
|
|
openfl_display__$internal_Context3DMaskShader.opaqueBitmapData = new openfl_display_BitmapData(1,1,false,0);
|
|
openfl_display__$internal_Context3DShape.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}};
|
|
openfl_display__$internal_Context3DTextField.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}};
|
|
openfl_display__$internal_DOMBitmap.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}};
|
|
openfl_display__$internal_DOMDisplayObject.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}};
|
|
openfl_display__$internal_DOMShape.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}};
|
|
openfl_display__$internal_DOMTextField.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}};
|
|
openfl_display__$internal_DOMTextField.__regexColor = new EReg("color=(\"#([^\"]+)\"|'#([^']+)')","i");
|
|
openfl_display__$internal_DOMTextField.__regexFace = new EReg("face=(\"([^\"]+)\"|'([^']+)')","i");
|
|
openfl_display__$internal_DOMTextField.__regexFont = new EReg("<font ([^>]+)>","gi");
|
|
openfl_display__$internal_DOMTextField.__regexCloseFont = new EReg("</font>","gi");
|
|
openfl_display__$internal_DOMTextField.__regexSize = new EReg("size=(\"([^\"]+)\"|'([^']+)')","i");
|
|
openfl_display__$internal_DrawCommandReader.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, fields : { obj : { SuppressWarnings : ["checkstyle:Dynamic"]}}};
|
|
openfl_display__$internal_PerlinNoise.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, statics : { P : { SuppressWarnings : ["checkstyle:ConstantName"]}}};
|
|
openfl_display__$internal_PerlinNoise.P = [151,160,137,91,90,15,131,13,201,95,96,53,194,233,7,225,140,36,103,30,69,142,8,99,37,240,21,10,23,190,6,148,247,120,234,75,0,26,197,62,94,252,219,203,117,35,11,32,57,177,33,88,237,149,56,87,174,20,125,136,171,168,68,175,74,165,71,134,139,48,27,166,77,146,158,231,83,111,229,122,60,211,133,230,220,105,92,41,55,46,245,40,244,102,143,54,65,25,63,161,1,216,80,73,209,76,132,187,208,89,18,169,200,196,135,130,116,188,159,86,164,100,109,198,173,186,3,64,52,217,226,250,124,123,5,202,38,147,118,126,255,82,85,212,207,206,59,227,47,16,58,17,182,189,28,42,223,183,170,213,119,248,152,2,44,154,163,70,221,153,101,155,167,43,172,9,129,22,39,253,19,98,108,110,79,113,224,232,178,185,112,104,218,246,97,228,251,34,242,193,238,210,144,12,191,179,162,241,81,51,145,235,249,14,239,107,49,192,214,31,181,199,106,157,184,84,204,176,115,121,50,45,127,4,150,254,138,236,205,93,222,114,67,29,24,72,243,141,128,195,78,66,215,61,156,180,151,160,137,91,90,15,131,13,201,95,96,53,194,233,7,225,140,36,103,30,69,142,8,99,37,240,21,10,23,190,6,148,247,120,234,75,0,26,197,62,94,252,219,203,117,35,11,32,57,177,33,88,237,149,56,87,174,20,125,136,171,168,68,175,74,165,71,134,139,48,27,166,77,146,158,231,83,111,229,122,60,211,133,230,220,105,92,41,55,46,245,40,244,102,143,54,65,25,63,161,1,216,80,73,209,76,132,187,208,89,18,169,200,196,135,130,116,188,159,86,164,100,109,198,173,186,3,64,52,217,226,250,124,123,5,202,38,147,118,126,255,82,85,212,207,206,59,227,47,16,58,17,182,189,28,42,223,183,170,213,119,248,152,2,44,154,163,70,221,153,101,155,167,43,172,9,129,22,39,253,19,98,108,110,79,113,224,232,178,185,112,104,218,246,97,228,251,34,242,193,238,210,144,12,191,179,162,241,81,51,145,235,249,14,239,107,49,192,214,31,181,199,106,157,184,84,204,176,115,121,50,45,127,4,150,254,138,236,205,93,222,114,67,29,24,72,243,141,128,195,78,66,215,61,156,180];
|
|
openfl_display__$internal_SamplerState.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}};
|
|
openfl_display__$internal_ShaderBuffer.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, fields : { overrideIntValues : { SuppressWarnings : ["checkstyle:Dynamic"]}}};
|
|
openfl_display3D_Context3D.supportsVideoTexture = true;
|
|
openfl_display3D_Context3D.__glDepthStencil = -1;
|
|
openfl_display3D_Context3D.__glMaxTextureMaxAnisotropy = -1;
|
|
openfl_display3D_Context3D.__glMaxViewportDims = -1;
|
|
openfl_display3D_Context3D.__glMemoryCurrentAvailable = -1;
|
|
openfl_display3D_Context3D.__glMemoryTotalAvailable = -1;
|
|
openfl_display3D_Context3D.__glTextureMaxAnisotropy = -1;
|
|
openfl_display3D_Context3DBlendFactor.DESTINATION_ALPHA = 0;
|
|
openfl_display3D_Context3DBlendFactor.DESTINATION_COLOR = 1;
|
|
openfl_display3D_Context3DBlendFactor.ONE = 2;
|
|
openfl_display3D_Context3DBlendFactor.ONE_MINUS_DESTINATION_ALPHA = 3;
|
|
openfl_display3D_Context3DBlendFactor.ONE_MINUS_DESTINATION_COLOR = 4;
|
|
openfl_display3D_Context3DBlendFactor.ONE_MINUS_SOURCE_ALPHA = 5;
|
|
openfl_display3D_Context3DBlendFactor.ONE_MINUS_SOURCE_COLOR = 6;
|
|
openfl_display3D_Context3DBlendFactor.SOURCE_ALPHA = 7;
|
|
openfl_display3D_Context3DBlendFactor.SOURCE_COLOR = 8;
|
|
openfl_display3D_Context3DBlendFactor.ZERO = 9;
|
|
openfl_display3D_Context3DBufferUsage.DYNAMIC_DRAW = 0;
|
|
openfl_display3D_Context3DBufferUsage.STATIC_DRAW = 1;
|
|
openfl_display3D_Context3DCompareMode.ALWAYS = 0;
|
|
openfl_display3D_Context3DCompareMode.EQUAL = 1;
|
|
openfl_display3D_Context3DCompareMode.GREATER = 2;
|
|
openfl_display3D_Context3DCompareMode.GREATER_EQUAL = 3;
|
|
openfl_display3D_Context3DCompareMode.LESS = 4;
|
|
openfl_display3D_Context3DCompareMode.LESS_EQUAL = 5;
|
|
openfl_display3D_Context3DCompareMode.NEVER = 6;
|
|
openfl_display3D_Context3DCompareMode.NOT_EQUAL = 7;
|
|
openfl_display3D_Context3DMipFilter.MIPLINEAR = 0;
|
|
openfl_display3D_Context3DMipFilter.MIPNEAREST = 1;
|
|
openfl_display3D_Context3DMipFilter.MIPNONE = 2;
|
|
openfl_display3D_Context3DProfile.BASELINE = 0;
|
|
openfl_display3D_Context3DProfile.BASELINE_CONSTRAINED = 1;
|
|
openfl_display3D_Context3DProfile.BASELINE_EXTENDED = 2;
|
|
openfl_display3D_Context3DProfile.STANDARD = 3;
|
|
openfl_display3D_Context3DProfile.STANDARD_CONSTRAINED = 4;
|
|
openfl_display3D_Context3DProfile.STANDARD_EXTENDED = 5;
|
|
openfl_display3D_Context3DProgramFormat.AGAL = 0;
|
|
openfl_display3D_Context3DProgramFormat.GLSL = 1;
|
|
openfl_display3D_Context3DProgramType.FRAGMENT = 0;
|
|
openfl_display3D_Context3DProgramType.VERTEX = 1;
|
|
openfl_display3D_Context3DRenderMode.AUTO = 0;
|
|
openfl_display3D_Context3DRenderMode.SOFTWARE = 1;
|
|
openfl_display3D_Context3DStencilAction.DECREMENT_SATURATE = 0;
|
|
openfl_display3D_Context3DStencilAction.DECREMENT_WRAP = 1;
|
|
openfl_display3D_Context3DStencilAction.INCREMENT_SATURATE = 2;
|
|
openfl_display3D_Context3DStencilAction.INCREMENT_WRAP = 3;
|
|
openfl_display3D_Context3DStencilAction.INVERT = 4;
|
|
openfl_display3D_Context3DStencilAction.KEEP = 5;
|
|
openfl_display3D_Context3DStencilAction.SET = 6;
|
|
openfl_display3D_Context3DStencilAction.ZERO = 7;
|
|
openfl_display3D_Context3DTextureFilter.ANISOTROPIC16X = 0;
|
|
openfl_display3D_Context3DTextureFilter.ANISOTROPIC2X = 1;
|
|
openfl_display3D_Context3DTextureFilter.ANISOTROPIC4X = 2;
|
|
openfl_display3D_Context3DTextureFilter.ANISOTROPIC8X = 3;
|
|
openfl_display3D_Context3DTextureFilter.LINEAR = 4;
|
|
openfl_display3D_Context3DTextureFilter.NEAREST = 5;
|
|
openfl_display3D_Context3DTextureFormat.BGR_PACKED = 0;
|
|
openfl_display3D_Context3DTextureFormat.BGRA = 1;
|
|
openfl_display3D_Context3DTextureFormat.BGRA_PACKED = 2;
|
|
openfl_display3D_Context3DTextureFormat.COMPRESSED = 3;
|
|
openfl_display3D_Context3DTextureFormat.COMPRESSED_ALPHA = 4;
|
|
openfl_display3D_Context3DTextureFormat.RGBA_HALF_FLOAT = 5;
|
|
openfl_display3D_Context3DTriangleFace.BACK = 0;
|
|
openfl_display3D_Context3DTriangleFace.FRONT = 1;
|
|
openfl_display3D_Context3DTriangleFace.FRONT_AND_BACK = 2;
|
|
openfl_display3D_Context3DTriangleFace.NONE = 3;
|
|
openfl_display3D_Context3DVertexBufferFormat.BYTES_4 = 0;
|
|
openfl_display3D_Context3DVertexBufferFormat.FLOAT_1 = 1;
|
|
openfl_display3D_Context3DVertexBufferFormat.FLOAT_2 = 2;
|
|
openfl_display3D_Context3DVertexBufferFormat.FLOAT_3 = 3;
|
|
openfl_display3D_Context3DVertexBufferFormat.FLOAT_4 = 4;
|
|
openfl_display3D_Context3DWrapMode.CLAMP = 0;
|
|
openfl_display3D_Context3DWrapMode.CLAMP_U_REPEAT_V = 1;
|
|
openfl_display3D_Context3DWrapMode.REPEAT = 2;
|
|
openfl_display3D_Context3DWrapMode.REPEAT_U_CLAMP_V = 3;
|
|
openfl_display3D_Uniform.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}};
|
|
openfl_display3D_UniformMap.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}};
|
|
openfl_display3D__$internal_Context3DState.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}};
|
|
openfl_display3D__$internal_agal_AGALConverter.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}};
|
|
openfl_display3D__$internal_agal_AGALConverter.limitedProfile = true;
|
|
openfl_display3D__$internal_agal__$AGALConverter_DestRegister.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}};
|
|
openfl_display3D__$internal_agal_RegisterMap.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}};
|
|
openfl_display3D__$internal_agal__$AGALConverter_SamplerRegister.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}};
|
|
openfl_display3D__$internal_agal__$AGALConverter_SourceRegister.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}};
|
|
openfl_display3D__$internal_atf_ATFReader.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}};
|
|
openfl_display3D_textures_TextureBase.__meta__ = { fields : { __textureContext : { SuppressWarnings : ["checkstyle:Dynamic"]}, __getGLFramebuffer : { SuppressWarnings : ["checkstyle:Dynamic"]}}};
|
|
openfl_display3D_textures_TextureBase.__supportsBGRA = null;
|
|
openfl_display3D_textures_Texture.__lowMemoryMode = false;
|
|
openfl_errors_Error.DEFAULT_TO_STRING = "Error";
|
|
openfl_events_Event.ACTIVATE = "activate";
|
|
openfl_events_Event.ADDED = "added";
|
|
openfl_events_Event.ADDED_TO_STAGE = "addedToStage";
|
|
openfl_events_Event.CANCEL = "cancel";
|
|
openfl_events_Event.CHANGE = "change";
|
|
openfl_events_Event.CLEAR = "clear";
|
|
openfl_events_Event.CLOSE = "close";
|
|
openfl_events_Event.COMPLETE = "complete";
|
|
openfl_events_Event.CONNECT = "connect";
|
|
openfl_events_Event.CONTEXT3D_CREATE = "context3DCreate";
|
|
openfl_events_Event.COPY = "copy";
|
|
openfl_events_Event.CUT = "cut";
|
|
openfl_events_Event.DEACTIVATE = "deactivate";
|
|
openfl_events_Event.ENTER_FRAME = "enterFrame";
|
|
openfl_events_Event.EXIT_FRAME = "exitFrame";
|
|
openfl_events_Event.FRAME_CONSTRUCTED = "frameConstructed";
|
|
openfl_events_Event.FRAME_LABEL = "frameLabel";
|
|
openfl_events_Event.FULLSCREEN = "fullScreen";
|
|
openfl_events_Event.ID3 = "id3";
|
|
openfl_events_Event.INIT = "init";
|
|
openfl_events_Event.MOUSE_LEAVE = "mouseLeave";
|
|
openfl_events_Event.OPEN = "open";
|
|
openfl_events_Event.PASTE = "paste";
|
|
openfl_events_Event.REMOVED = "removed";
|
|
openfl_events_Event.REMOVED_FROM_STAGE = "removedFromStage";
|
|
openfl_events_Event.RENDER = "render";
|
|
openfl_events_Event.RESIZE = "resize";
|
|
openfl_events_Event.SCROLL = "scroll";
|
|
openfl_events_Event.SELECT = "select";
|
|
openfl_events_Event.SELECT_ALL = "selectAll";
|
|
openfl_events_Event.SOUND_COMPLETE = "soundComplete";
|
|
openfl_events_Event.TAB_CHILDREN_CHANGE = "tabChildrenChange";
|
|
openfl_events_Event.TAB_ENABLED_CHANGE = "tabEnabledChange";
|
|
openfl_events_Event.TAB_INDEX_CHANGE = "tabIndexChange";
|
|
openfl_events_Event.TEXTURE_READY = "textureReady";
|
|
openfl_events_Event.UNLOAD = "unload";
|
|
openfl_events_AccelerometerEvent.UPDATE = "update";
|
|
openfl_events_ActivityEvent.ACTIVITY = "activity";
|
|
openfl_events_TextEvent.LINK = "link";
|
|
openfl_events_TextEvent.TEXT_INPUT = "textInput";
|
|
openfl_events_ErrorEvent.ERROR = "error";
|
|
openfl_events__$EventDispatcher_DispatchIterator.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}};
|
|
openfl_events__$EventDispatcher_Listener.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}};
|
|
openfl_events_FocusEvent.FOCUS_IN = "focusIn";
|
|
openfl_events_FocusEvent.FOCUS_OUT = "focusOut";
|
|
openfl_events_FocusEvent.KEY_FOCUS_CHANGE = "keyFocusChange";
|
|
openfl_events_FocusEvent.MOUSE_FOCUS_CHANGE = "mouseFocusChange";
|
|
openfl_events_FullScreenEvent.FULL_SCREEN = "fullScreen";
|
|
openfl_events_FullScreenEvent.FULL_SCREEN_INTERACTIVE_ACCEPTED = "fullScreenInteractiveAccepted";
|
|
openfl_events_GameInputEvent.DEVICE_ADDED = "deviceAdded";
|
|
openfl_events_GameInputEvent.DEVICE_REMOVED = "deviceRemoved";
|
|
openfl_events_GameInputEvent.DEVICE_UNUSABLE = "deviceUnusable";
|
|
openfl_events_HTTPStatusEvent.HTTP_RESPONSE_STATUS = "httpResponseStatus";
|
|
openfl_events_HTTPStatusEvent.HTTP_STATUS = "httpStatus";
|
|
openfl_events_IOErrorEvent.IO_ERROR = "ioError";
|
|
openfl_events_KeyboardEvent.KEY_DOWN = "keyDown";
|
|
openfl_events_KeyboardEvent.KEY_UP = "keyUp";
|
|
openfl_events_MouseEvent.CLICK = "click";
|
|
openfl_events_MouseEvent.DOUBLE_CLICK = "doubleClick";
|
|
openfl_events_MouseEvent.MIDDLE_CLICK = "middleClick";
|
|
openfl_events_MouseEvent.MIDDLE_MOUSE_DOWN = "middleMouseDown";
|
|
openfl_events_MouseEvent.MIDDLE_MOUSE_UP = "middleMouseUp";
|
|
openfl_events_MouseEvent.MOUSE_DOWN = "mouseDown";
|
|
openfl_events_MouseEvent.MOUSE_MOVE = "mouseMove";
|
|
openfl_events_MouseEvent.MOUSE_OUT = "mouseOut";
|
|
openfl_events_MouseEvent.MOUSE_OVER = "mouseOver";
|
|
openfl_events_MouseEvent.MOUSE_UP = "mouseUp";
|
|
openfl_events_MouseEvent.MOUSE_WHEEL = "mouseWheel";
|
|
openfl_events_MouseEvent.RELEASE_OUTSIDE = "releaseOutside";
|
|
openfl_events_MouseEvent.RIGHT_CLICK = "rightClick";
|
|
openfl_events_MouseEvent.RIGHT_MOUSE_DOWN = "rightMouseDown";
|
|
openfl_events_MouseEvent.RIGHT_MOUSE_UP = "rightMouseUp";
|
|
openfl_events_MouseEvent.ROLL_OUT = "rollOut";
|
|
openfl_events_MouseEvent.ROLL_OVER = "rollOver";
|
|
openfl_events_NetStatusEvent.NET_STATUS = "netStatus";
|
|
openfl_events_ProgressEvent.PROGRESS = "progress";
|
|
openfl_events_ProgressEvent.SOCKET_DATA = "socketData";
|
|
openfl_events_RenderEvent.CLEAR_DOM = "clearDOM";
|
|
openfl_events_RenderEvent.RENDER_CAIRO = "renderCairo";
|
|
openfl_events_RenderEvent.RENDER_CANVAS = "renderCanvas";
|
|
openfl_events_RenderEvent.RENDER_DOM = "renderDOM";
|
|
openfl_events_RenderEvent.RENDER_OPENGL = "renderOpenGL";
|
|
openfl_events_SecurityErrorEvent.SECURITY_ERROR = "securityError";
|
|
openfl_events_TouchEvent.__meta__ = { fields : { delta : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}};
|
|
openfl_events_TouchEvent.TOUCH_BEGIN = "touchBegin";
|
|
openfl_events_TouchEvent.TOUCH_END = "touchEnd";
|
|
openfl_events_TouchEvent.TOUCH_MOVE = "touchMove";
|
|
openfl_events_TouchEvent.TOUCH_OUT = "touchOut";
|
|
openfl_events_TouchEvent.TOUCH_OVER = "touchOver";
|
|
openfl_events_TouchEvent.TOUCH_ROLL_OUT = "touchRollOut";
|
|
openfl_events_TouchEvent.TOUCH_ROLL_OVER = "touchRollOver";
|
|
openfl_events_TouchEvent.TOUCH_TAP = "touchTap";
|
|
openfl_events_UncaughtErrorEvent.UNCAUGHT_ERROR = "uncaughtError";
|
|
openfl_filters_ShaderFilter.__meta__ = { fields : { blendMode : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}};
|
|
openfl_geom_Matrix3D.__meta__ = { statics : { create2D : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, createABCD : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, createOrtho : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}};
|
|
openfl_geom_Orientation3D.AXIS_ANGLE = 0;
|
|
openfl_geom_Orientation3D.EULER_ANGLES = 1;
|
|
openfl_geom_Orientation3D.QUATERNION = 2;
|
|
openfl_media_SoundTransform.__meta__ = { fields : { clone : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}};
|
|
openfl_media_SoundMixer.MAX_ACTIVE_CHANNELS = 32;
|
|
openfl_media_SoundMixer.__soundChannels = [];
|
|
openfl_media_SoundMixer.__soundTransform = new openfl_media_SoundTransform();
|
|
openfl_net_NetConnection.__meta__ = { statics : { CONNECT_SUCCESS : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}};
|
|
openfl_net_NetConnection.CONNECT_SUCCESS = "NetConnection.Connect.Success";
|
|
openfl_net_NetStream.__meta__ = { fields : { audioCodec : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, decodedFrames : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, speed : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, requestVideoStatus : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}};
|
|
openfl_net_SharedObject.defaultObjectEncoding = 10;
|
|
openfl_net_SharedObjectFlushStatus.FLUSHED = 0;
|
|
openfl_net_SharedObjectFlushStatus.PENDING = 1;
|
|
openfl_net_URLLoaderDataFormat.BINARY = 0;
|
|
openfl_net_URLLoaderDataFormat.TEXT = 1;
|
|
openfl_net_URLLoaderDataFormat.VARIABLES = 2;
|
|
openfl_net_URLRequestDefaults.followRedirects = true;
|
|
openfl_net_URLRequestDefaults.idleTimeout = 0;
|
|
openfl_net_URLRequestDefaults.manageCookies = false;
|
|
openfl_sensors_Accelerometer.currentX = 0.0;
|
|
openfl_sensors_Accelerometer.currentY = 1.0;
|
|
openfl_sensors_Accelerometer.currentZ = 0.0;
|
|
openfl_sensors_Accelerometer.defaultInterval = 34;
|
|
openfl_sensors_Accelerometer.initialized = false;
|
|
openfl_sensors_Accelerometer.supported = false;
|
|
openfl_system_ApplicationDomain.currentDomain = new openfl_system_ApplicationDomain(null);
|
|
openfl_system_SecurityDomain.__meta__ = { obj : { SuppressWarnings : ["checkstyle:UnnecessaryConstructor"]}};
|
|
openfl_system_SecurityDomain.currentDomain = new openfl_system_SecurityDomain();
|
|
openfl_system_System.useCodePage = false;
|
|
openfl_text_AntiAliasType.ADVANCED = 0;
|
|
openfl_text_AntiAliasType.NORMAL = 1;
|
|
openfl_text_FontStyle.BOLD = 0;
|
|
openfl_text_FontStyle.BOLD_ITALIC = 1;
|
|
openfl_text_FontStyle.ITALIC = 2;
|
|
openfl_text_FontStyle.REGULAR = 3;
|
|
openfl_text_FontType.DEVICE = 0;
|
|
openfl_text_FontType.EMBEDDED = 1;
|
|
openfl_text_FontType.EMBEDDED_CFF = 2;
|
|
openfl_text_GridFitType.NONE = 0;
|
|
openfl_text_GridFitType.PIXEL = 1;
|
|
openfl_text_GridFitType.SUBPIXEL = 2;
|
|
openfl_text_TextFieldAutoSize.CENTER = 0;
|
|
openfl_text_TextFieldAutoSize.LEFT = 1;
|
|
openfl_text_TextFieldAutoSize.NONE = 2;
|
|
openfl_text_TextFieldAutoSize.RIGHT = 3;
|
|
openfl_text_TextFieldType.DYNAMIC = 0;
|
|
openfl_text_TextFieldType.INPUT = 1;
|
|
openfl_text_TextFormat.__meta__ = { fields : { clone : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}};
|
|
openfl_text_TextFormatAlign.CENTER = 0;
|
|
openfl_text_TextFormatAlign.END = 1;
|
|
openfl_text_TextFormatAlign.JUSTIFY = 2;
|
|
openfl_text_TextFormatAlign.LEFT = 3;
|
|
openfl_text_TextFormatAlign.RIGHT = 4;
|
|
openfl_text_TextFormatAlign.START = 5;
|
|
openfl_text__$internal_GlyphPosition.__meta__ = { obj : { SuppressWarnings : [["checkstyle:FieldDocComment","checkstyle:Dynamic"]]}};
|
|
openfl_text__$internal_TextEngine.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, fields : { __cairoFont : { SuppressWarnings : ["checkstyle:Dynamic"]}}};
|
|
openfl_text__$internal_TextEngine.GUTTER = 2;
|
|
openfl_text__$internal_TextEngine.UTF8_TAB = 9;
|
|
openfl_text__$internal_TextEngine.UTF8_ENDLINE = 10;
|
|
openfl_text__$internal_TextEngine.UTF8_SPACE = 32;
|
|
openfl_text__$internal_TextEngine.UTF8_HYPHEN = 45;
|
|
openfl_text__$internal_TextEngine.__defaultFonts = new haxe_ds_StringMap();
|
|
openfl_text__$internal_TextLayout.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, fields : { glyphs : { SuppressWarnings : ["checkstyle:Dynamic"]}, __handle : { SuppressWarnings : ["checkstyle:Dynamic"]}, __hbBuffer : { SuppressWarnings : ["checkstyle:Dynamic"]}, __hbFont : { SuppressWarnings : ["checkstyle:Dynamic"]}, get_glyphs : { SuppressWarnings : ["checkstyle:Dynamic"]}}};
|
|
openfl_text__$internal_TextLayout.FT_LOAD_DEFAULT = 0;
|
|
openfl_text__$internal_TextLayout.FT_LOAD_NO_SCALE = 1;
|
|
openfl_text__$internal_TextLayout.FT_LOAD_NO_HINTING = 2;
|
|
openfl_text__$internal_TextLayout.FT_LOAD_RENDER = 4;
|
|
openfl_text__$internal_TextLayout.FT_LOAD_NO_BITMAP = 8;
|
|
openfl_text__$internal_TextLayout.FT_LOAD_VERTICAL_LAYOUT = 16;
|
|
openfl_text__$internal_TextLayout.FT_LOAD_FORCE_AUTOHINT = 32;
|
|
openfl_text__$internal_TextLayout.FT_LOAD_CROP_BITMAP = 64;
|
|
openfl_text__$internal_TextLayout.FT_LOAD_PEDANTIC = 128;
|
|
openfl_text__$internal_TextLayout.FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH = 256;
|
|
openfl_text__$internal_TextLayout.FT_LOAD_NO_RECURSE = 512;
|
|
openfl_text__$internal_TextLayout.FT_LOAD_IGNORE_TRANSFORM = 1024;
|
|
openfl_text__$internal_TextLayout.FT_LOAD_MONOCHROME = 2048;
|
|
openfl_text__$internal_TextLayout.FT_LOAD_LINEAR_DESIGN = 4096;
|
|
openfl_text__$internal_TextLayout.FT_LOAD_NO_AUTOHINT = 8192;
|
|
openfl_text__$internal_TextLayout.FT_LOAD_COLOR = 16384;
|
|
openfl_text__$internal_TextLayout.FT_LOAD_COMPUTE_METRICS = 32768;
|
|
openfl_text__$internal_TextLayout.FT_LOAD_BITMAP_METRICS_ONLY = 65536;
|
|
openfl_text__$internal_TextLayout.FT_LOAD_TARGET_NORMAL = 0;
|
|
openfl_text__$internal_TextLayout.FT_LOAD_TARGET_LIGHT = 0;
|
|
openfl_text__$internal_TextDirection.INVALID = 0;
|
|
openfl_text__$internal_TextDirection.LEFT_TO_RIGHT = 4;
|
|
openfl_text__$internal_TextDirection.RIGHT_TO_LEFT = 5;
|
|
openfl_text__$internal_TextDirection.TOP_TO_BOTTOM = 6;
|
|
openfl_text__$internal_TextDirection.BOTTOM_TO_TOP = 7;
|
|
openfl_text__$internal_TextScript.COMMON = "Zyyy";
|
|
openfl_text__$internal_TextScript.INHERITED = "Zinh";
|
|
openfl_text__$internal_TextScript.UNKNOWN = "Zzzz";
|
|
openfl_text__$internal_TextScript.ARABIC = "Arab";
|
|
openfl_text__$internal_TextScript.ARMENIAN = "Armn";
|
|
openfl_text__$internal_TextScript.BENGALI = "Beng";
|
|
openfl_text__$internal_TextScript.CYRILLIC = "Cyrl";
|
|
openfl_text__$internal_TextScript.DEVANAGARI = "Deva";
|
|
openfl_text__$internal_TextScript.GEORGIAN = "Geor";
|
|
openfl_text__$internal_TextScript.GREEK = "Grek";
|
|
openfl_text__$internal_TextScript.GUJARATI = "Gujr";
|
|
openfl_text__$internal_TextScript.GURMUKHI = "Guru";
|
|
openfl_text__$internal_TextScript.HANGUL = "Hang";
|
|
openfl_text__$internal_TextScript.HAN = "Hani";
|
|
openfl_text__$internal_TextScript.HEBREW = "Hebr";
|
|
openfl_text__$internal_TextScript.HIRAGANA = "Hira";
|
|
openfl_text__$internal_TextScript.KANNADA = "Knda";
|
|
openfl_text__$internal_TextScript.KATAKANA = "Kana";
|
|
openfl_text__$internal_TextScript.LAO = "Laoo";
|
|
openfl_text__$internal_TextScript.LATIN = "Latn";
|
|
openfl_text__$internal_TextScript.MALAYALAM = "Mlym";
|
|
openfl_text__$internal_TextScript.ORIYA = "Orya";
|
|
openfl_text__$internal_TextScript.TAMIL = "Taml";
|
|
openfl_text__$internal_TextScript.TELUGA = "Telu";
|
|
openfl_text__$internal_TextScript.THAI = "Thai";
|
|
openfl_text__$internal_TextScript.TIBETAN = "Tibt";
|
|
openfl_text__$internal_TextScript.BOPOMOFO = "Bopo";
|
|
openfl_text__$internal_TextScript.BRAILLE = "Brai";
|
|
openfl_text__$internal_TextScript.CANADIAN_SYLLABICS = "Cans";
|
|
openfl_text__$internal_TextScript.CHEROKEE = "Cher";
|
|
openfl_text__$internal_TextScript.ETHIOPIC = "Ethi";
|
|
openfl_text__$internal_TextScript.KHMER = "Khmr";
|
|
openfl_text__$internal_TextScript.MONGOLIAN = "Mong";
|
|
openfl_text__$internal_TextScript.MYANMAR = "Mymr";
|
|
openfl_text__$internal_TextScript.OGHAM = "Ogam";
|
|
openfl_text__$internal_TextScript.RUNIC = "Runr";
|
|
openfl_text__$internal_TextScript.SINHALA = "Sinh";
|
|
openfl_text__$internal_TextScript.SYRIAC = "Syrc";
|
|
openfl_text__$internal_TextScript.THAANA = "Thaa";
|
|
openfl_text__$internal_TextScript.YI = "Yiii";
|
|
openfl_text__$internal_TextScript.DESERET = "Dsrt";
|
|
openfl_text__$internal_TextScript.GOTHIC = "Goth";
|
|
openfl_text__$internal_TextScript.OLD_ITALIC = "Ital";
|
|
openfl_text__$internal_TextScript.BUHID = "Buhd";
|
|
openfl_text__$internal_TextScript.HANUNOO = "Hano";
|
|
openfl_text__$internal_TextScript.TAGALOG = "Tglg";
|
|
openfl_text__$internal_TextScript.TAGBANWA = "Tagb";
|
|
openfl_text__$internal_TextScript.CYPRIOT = "Cprt";
|
|
openfl_text__$internal_TextScript.LIMBU = "Limb";
|
|
openfl_text__$internal_TextScript.LINEAR_B = "Linb";
|
|
openfl_text__$internal_TextScript.OSMANYA = "Osma";
|
|
openfl_text__$internal_TextScript.SHAVIAN = "Shaw";
|
|
openfl_text__$internal_TextScript.TAI_LE = "Tale";
|
|
openfl_text__$internal_TextScript.UGARITIC = "Ugar";
|
|
openfl_text__$internal_TextScript.BUGINESE = "Bugi";
|
|
openfl_text__$internal_TextScript.COPTIC = "Copt";
|
|
openfl_text__$internal_TextScript.GLAGOLITIC = "Glag";
|
|
openfl_text__$internal_TextScript.KHAROSHTHI = "Khar";
|
|
openfl_text__$internal_TextScript.NEW_TAI_LUE = "Talu";
|
|
openfl_text__$internal_TextScript.OLD_PERSIAN = "Xpeo";
|
|
openfl_text__$internal_TextScript.SYLOTI_NAGRI = "Sylo";
|
|
openfl_text__$internal_TextScript.TIFINAGH = "Tfng";
|
|
openfl_text__$internal_TextScript.BALINESE = "Bali";
|
|
openfl_text__$internal_TextScript.CUNEIFORM = "Xsux";
|
|
openfl_text__$internal_TextScript.NKO = "Nkoo";
|
|
openfl_text__$internal_TextScript.PHAGS_PA = "Phag";
|
|
openfl_text__$internal_TextScript.PHOENICIAN = "Phnx";
|
|
openfl_text__$internal_TextScript.CARIAN = "Cari";
|
|
openfl_text__$internal_TextScript.CHAM = "Cham";
|
|
openfl_text__$internal_TextScript.KAYAH_LI = "Kali";
|
|
openfl_text__$internal_TextScript.LEPCHA = "Lepc";
|
|
openfl_text__$internal_TextScript.LYCIAN = "Lyci";
|
|
openfl_text__$internal_TextScript.LYDIAN = "Lydi";
|
|
openfl_text__$internal_TextScript.OL_CHIKI = "Olck";
|
|
openfl_text__$internal_TextScript.REJANG = "Rjng";
|
|
openfl_text__$internal_TextScript.SAURASHTRA = "Saur";
|
|
openfl_text__$internal_TextScript.SUNDANESE = "Sund";
|
|
openfl_text__$internal_TextScript.VAI = "Vaii";
|
|
openfl_text__$internal_TextScript.AVESTAN = "Avst";
|
|
openfl_text__$internal_TextScript.BAMUM = "Bamu";
|
|
openfl_text__$internal_TextScript.EGYPTIAN_HIEROGLYPHS = "Egyp";
|
|
openfl_text__$internal_TextScript.IMPERIAL_ARAMAIC = "Armi";
|
|
openfl_text__$internal_TextScript.INSCRIPTIONAL_PAHLAVI = "Phli";
|
|
openfl_text__$internal_TextScript.INSCRIPTIONAL_PARTHIAN = "Prti";
|
|
openfl_text__$internal_TextScript.JAVANESE = "Java";
|
|
openfl_text__$internal_TextScript.KAITHI = "Kthi";
|
|
openfl_text__$internal_TextScript.LISU = "Lisu";
|
|
openfl_text__$internal_TextScript.MEETEI_MAYEK = "Mtei";
|
|
openfl_text__$internal_TextScript.OLD_SOUTH_ARABIAN = "Sarb";
|
|
openfl_text__$internal_TextScript.OLD_TURKIC = "Orkh";
|
|
openfl_text__$internal_TextScript.SAMARITAN = "Samr";
|
|
openfl_text__$internal_TextScript.TAI_THAM = "Lana";
|
|
openfl_text__$internal_TextScript.TAI_VIET = "Tavt";
|
|
openfl_text__$internal_TextScript.BATAK = "Batk";
|
|
openfl_text__$internal_TextScript.BRAHMI = "Brah";
|
|
openfl_text__$internal_TextScript.MANDAIC = "Mand";
|
|
openfl_text__$internal_TextScript.CHAKMA = "Cakm";
|
|
openfl_text__$internal_TextScript.MEROITIC_CURSIVE = "Merc";
|
|
openfl_text__$internal_TextScript.MEROITIC_HIEROGLYPHS = "Mero";
|
|
openfl_text__$internal_TextScript.MIAO = "Plrd";
|
|
openfl_text__$internal_TextScript.SHARADA = "Shrd";
|
|
openfl_text__$internal_TextScript.SORA_SOMPENG = "Sora";
|
|
openfl_text__$internal_TextScript.TAKRI = "Takr";
|
|
openfl_text__$internal_TextScript.BASSA_VAH = "Bass";
|
|
openfl_text__$internal_TextScript.CAUCASIAN_ALBANIAN = "Aghb";
|
|
openfl_text__$internal_TextScript.DUPLOYAN = "Dupl";
|
|
openfl_text__$internal_TextScript.ELBASAN = "Elba";
|
|
openfl_text__$internal_TextScript.GRANTHA = "Gran";
|
|
openfl_text__$internal_TextScript.KHOJKI = "Khoj";
|
|
openfl_text__$internal_TextScript.KHUDAWADI = "Sind";
|
|
openfl_text__$internal_TextScript.LINEAR_A = "Lina";
|
|
openfl_text__$internal_TextScript.MAHAJANI = "Mahj";
|
|
openfl_text__$internal_TextScript.MANICHAEAN = "Mani";
|
|
openfl_text__$internal_TextScript.MENDE_KIKAKUI = "Mend";
|
|
openfl_text__$internal_TextScript.MODI = "Modi";
|
|
openfl_text__$internal_TextScript.MRO = "Mroo";
|
|
openfl_text__$internal_TextScript.NABATAEAN = "Nbat";
|
|
openfl_text__$internal_TextScript.OLD_NORTH_ARABIAN = "Narb";
|
|
openfl_text__$internal_TextScript.OLD_PERMIC = "Perm";
|
|
openfl_text__$internal_TextScript.PAHAWH_HMONG = "Hmng";
|
|
openfl_text__$internal_TextScript.PALMYRENE = "Palm";
|
|
openfl_text__$internal_TextScript.PAU_CIN_HAU = "Pauc";
|
|
openfl_text__$internal_TextScript.PSALTER_PAHLAVI = "Phlp";
|
|
openfl_text__$internal_TextScript.SIDDHAM = "Sidd";
|
|
openfl_text__$internal_TextScript.TIRHUTA = "Tirh";
|
|
openfl_text__$internal_TextScript.WARANG_CITI = "Wara";
|
|
openfl_text__$internal_TextLayoutGroup.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}};
|
|
openfl_ui_GameInputDevice.MAX_BUFFER_SIZE = 32000;
|
|
openfl_ui_Keyboard.__meta__ = { statics : { BREAK : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, NUMLOCK : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}};
|
|
openfl_ui_Keyboard.NUMBER_0 = 48;
|
|
openfl_ui_Keyboard.NUMBER_1 = 49;
|
|
openfl_ui_Keyboard.NUMBER_2 = 50;
|
|
openfl_ui_Keyboard.NUMBER_3 = 51;
|
|
openfl_ui_Keyboard.NUMBER_4 = 52;
|
|
openfl_ui_Keyboard.NUMBER_5 = 53;
|
|
openfl_ui_Keyboard.NUMBER_6 = 54;
|
|
openfl_ui_Keyboard.NUMBER_7 = 55;
|
|
openfl_ui_Keyboard.NUMBER_8 = 56;
|
|
openfl_ui_Keyboard.NUMBER_9 = 57;
|
|
openfl_ui_Keyboard.A = 65;
|
|
openfl_ui_Keyboard.B = 66;
|
|
openfl_ui_Keyboard.C = 67;
|
|
openfl_ui_Keyboard.D = 68;
|
|
openfl_ui_Keyboard.E = 69;
|
|
openfl_ui_Keyboard.F = 70;
|
|
openfl_ui_Keyboard.G = 71;
|
|
openfl_ui_Keyboard.H = 72;
|
|
openfl_ui_Keyboard.I = 73;
|
|
openfl_ui_Keyboard.J = 74;
|
|
openfl_ui_Keyboard.K = 75;
|
|
openfl_ui_Keyboard.L = 76;
|
|
openfl_ui_Keyboard.M = 77;
|
|
openfl_ui_Keyboard.N = 78;
|
|
openfl_ui_Keyboard.O = 79;
|
|
openfl_ui_Keyboard.P = 80;
|
|
openfl_ui_Keyboard.Q = 81;
|
|
openfl_ui_Keyboard.R = 82;
|
|
openfl_ui_Keyboard.S = 83;
|
|
openfl_ui_Keyboard.T = 84;
|
|
openfl_ui_Keyboard.U = 85;
|
|
openfl_ui_Keyboard.V = 86;
|
|
openfl_ui_Keyboard.W = 87;
|
|
openfl_ui_Keyboard.X = 88;
|
|
openfl_ui_Keyboard.Y = 89;
|
|
openfl_ui_Keyboard.Z = 90;
|
|
openfl_ui_Keyboard.NUMPAD_0 = 96;
|
|
openfl_ui_Keyboard.NUMPAD_1 = 97;
|
|
openfl_ui_Keyboard.NUMPAD_2 = 98;
|
|
openfl_ui_Keyboard.NUMPAD_3 = 99;
|
|
openfl_ui_Keyboard.NUMPAD_4 = 100;
|
|
openfl_ui_Keyboard.NUMPAD_5 = 101;
|
|
openfl_ui_Keyboard.NUMPAD_6 = 102;
|
|
openfl_ui_Keyboard.NUMPAD_7 = 103;
|
|
openfl_ui_Keyboard.NUMPAD_8 = 104;
|
|
openfl_ui_Keyboard.NUMPAD_9 = 105;
|
|
openfl_ui_Keyboard.NUMPAD_MULTIPLY = 106;
|
|
openfl_ui_Keyboard.NUMPAD_ADD = 107;
|
|
openfl_ui_Keyboard.NUMPAD_ENTER = 108;
|
|
openfl_ui_Keyboard.NUMPAD_SUBTRACT = 109;
|
|
openfl_ui_Keyboard.NUMPAD_DECIMAL = 110;
|
|
openfl_ui_Keyboard.NUMPAD_DIVIDE = 111;
|
|
openfl_ui_Keyboard.F1 = 112;
|
|
openfl_ui_Keyboard.F2 = 113;
|
|
openfl_ui_Keyboard.F3 = 114;
|
|
openfl_ui_Keyboard.F4 = 115;
|
|
openfl_ui_Keyboard.F5 = 116;
|
|
openfl_ui_Keyboard.F6 = 117;
|
|
openfl_ui_Keyboard.F7 = 118;
|
|
openfl_ui_Keyboard.F8 = 119;
|
|
openfl_ui_Keyboard.F9 = 120;
|
|
openfl_ui_Keyboard.F10 = 121;
|
|
openfl_ui_Keyboard.F11 = 122;
|
|
openfl_ui_Keyboard.F12 = 123;
|
|
openfl_ui_Keyboard.F13 = 124;
|
|
openfl_ui_Keyboard.F14 = 125;
|
|
openfl_ui_Keyboard.F15 = 126;
|
|
openfl_ui_Keyboard.BACKSPACE = 8;
|
|
openfl_ui_Keyboard.TAB = 9;
|
|
openfl_ui_Keyboard.ALTERNATE = 18;
|
|
openfl_ui_Keyboard.ENTER = 13;
|
|
openfl_ui_Keyboard.COMMAND = 15;
|
|
openfl_ui_Keyboard.SHIFT = 16;
|
|
openfl_ui_Keyboard.CONTROL = 17;
|
|
openfl_ui_Keyboard.BREAK = 19;
|
|
openfl_ui_Keyboard.CAPS_LOCK = 20;
|
|
openfl_ui_Keyboard.NUMPAD = 21;
|
|
openfl_ui_Keyboard.ESCAPE = 27;
|
|
openfl_ui_Keyboard.SPACE = 32;
|
|
openfl_ui_Keyboard.PAGE_UP = 33;
|
|
openfl_ui_Keyboard.PAGE_DOWN = 34;
|
|
openfl_ui_Keyboard.END = 35;
|
|
openfl_ui_Keyboard.HOME = 36;
|
|
openfl_ui_Keyboard.LEFT = 37;
|
|
openfl_ui_Keyboard.RIGHT = 39;
|
|
openfl_ui_Keyboard.UP = 38;
|
|
openfl_ui_Keyboard.DOWN = 40;
|
|
openfl_ui_Keyboard.INSERT = 45;
|
|
openfl_ui_Keyboard.DELETE = 46;
|
|
openfl_ui_Keyboard.NUMLOCK = 144;
|
|
openfl_ui_Keyboard.SEMICOLON = 186;
|
|
openfl_ui_Keyboard.EQUAL = 187;
|
|
openfl_ui_Keyboard.COMMA = 188;
|
|
openfl_ui_Keyboard.MINUS = 189;
|
|
openfl_ui_Keyboard.PERIOD = 190;
|
|
openfl_ui_Keyboard.SLASH = 191;
|
|
openfl_ui_Keyboard.BACKQUOTE = 192;
|
|
openfl_ui_Keyboard.LEFTBRACKET = 219;
|
|
openfl_ui_Keyboard.BACKSLASH = 220;
|
|
openfl_ui_Keyboard.RIGHTBRACKET = 221;
|
|
openfl_ui_Keyboard.QUOTE = 222;
|
|
openfl_ui_Mouse.supportsCursor = true;
|
|
openfl_ui_Mouse.supportsNativeCursor = true;
|
|
openfl_ui_Mouse.__cursor = "auto";
|
|
openfl_ui_MouseCursor.ARROW = "arrow";
|
|
openfl_ui_MouseCursor.AUTO = "auto";
|
|
openfl_ui_MouseCursor.BUTTON = "button";
|
|
openfl_ui_MouseCursor.HAND = "hand";
|
|
openfl_ui_MouseCursor.IBEAM = "ibeam";
|
|
openfl_ui_MouseCursor.__CROSSHAIR = "crosshair";
|
|
openfl_ui_MouseCursor.__CUSTOM = "custom";
|
|
openfl_ui_MouseCursor.__MOVE = "move";
|
|
openfl_ui_MouseCursor.__RESIZE_NESW = "resize_nesw";
|
|
openfl_ui_MouseCursor.__RESIZE_NS = "resize_ns";
|
|
openfl_ui_MouseCursor.__RESIZE_NWSE = "resize_nwse";
|
|
openfl_ui_MouseCursor.__RESIZE_WE = "resize_we";
|
|
openfl_ui_MouseCursor.__WAIT = "wait";
|
|
openfl_ui_MouseCursor.__WAIT_ARROW = "waitarrow";
|
|
openfl_ui_MultitouchInputMode.GESTURE = 0;
|
|
openfl_ui_MultitouchInputMode.NONE = 1;
|
|
openfl_ui_MultitouchInputMode.TOUCH_POINT = 2;
|
|
openfl_utils_AGALMiniAssembler.__meta__ = { obj : { SuppressWarnings : [["checkstyle:ConstantName","checkstyle:FieldDocComment"]]}};
|
|
openfl_utils_AGALMiniAssembler.OPMAP = new haxe_ds_StringMap();
|
|
openfl_utils_AGALMiniAssembler.REGMAP = new haxe_ds_StringMap();
|
|
openfl_utils_AGALMiniAssembler.SAMPLEMAP = new haxe_ds_StringMap();
|
|
openfl_utils_AGALMiniAssembler.MAX_NESTING = 4;
|
|
openfl_utils_AGALMiniAssembler.MAX_OPCODES = 4096;
|
|
openfl_utils_AGALMiniAssembler.FRAGMENT = "fragment";
|
|
openfl_utils_AGALMiniAssembler.VERTEX = "vertex";
|
|
openfl_utils_AGALMiniAssembler.SAMPLER_TYPE_SHIFT = 8;
|
|
openfl_utils_AGALMiniAssembler.SAMPLER_DIM_SHIFT = 12;
|
|
openfl_utils_AGALMiniAssembler.SAMPLER_SPECIAL_SHIFT = 16;
|
|
openfl_utils_AGALMiniAssembler.SAMPLER_REPEAT_SHIFT = 20;
|
|
openfl_utils_AGALMiniAssembler.SAMPLER_MIPMAP_SHIFT = 24;
|
|
openfl_utils_AGALMiniAssembler.SAMPLER_FILTER_SHIFT = 28;
|
|
openfl_utils_AGALMiniAssembler.REG_WRITE = 1;
|
|
openfl_utils_AGALMiniAssembler.REG_READ = 2;
|
|
openfl_utils_AGALMiniAssembler.REG_FRAG = 32;
|
|
openfl_utils_AGALMiniAssembler.REG_VERT = 64;
|
|
openfl_utils_AGALMiniAssembler.OP_SCALAR = 1;
|
|
openfl_utils_AGALMiniAssembler.OP_SPECIAL_TEX = 8;
|
|
openfl_utils_AGALMiniAssembler.OP_SPECIAL_MATRIX = 16;
|
|
openfl_utils_AGALMiniAssembler.OP_FRAG_ONLY = 32;
|
|
openfl_utils_AGALMiniAssembler.OP_VERT_ONLY = 64;
|
|
openfl_utils_AGALMiniAssembler.OP_NO_DEST = 128;
|
|
openfl_utils_AGALMiniAssembler.OP_VERSION2 = 256;
|
|
openfl_utils_AGALMiniAssembler.OP_INCNEST = 512;
|
|
openfl_utils_AGALMiniAssembler.OP_DECNEST = 1024;
|
|
openfl_utils_AGALMiniAssembler.MOV = "mov";
|
|
openfl_utils_AGALMiniAssembler.ADD = "add";
|
|
openfl_utils_AGALMiniAssembler.SUB = "sub";
|
|
openfl_utils_AGALMiniAssembler.MUL = "mul";
|
|
openfl_utils_AGALMiniAssembler.DIV = "div";
|
|
openfl_utils_AGALMiniAssembler.RCP = "rcp";
|
|
openfl_utils_AGALMiniAssembler.MIN = "min";
|
|
openfl_utils_AGALMiniAssembler.MAX = "max";
|
|
openfl_utils_AGALMiniAssembler.FRC = "frc";
|
|
openfl_utils_AGALMiniAssembler.SQT = "sqt";
|
|
openfl_utils_AGALMiniAssembler.RSQ = "rsq";
|
|
openfl_utils_AGALMiniAssembler.POW = "pow";
|
|
openfl_utils_AGALMiniAssembler.LOG = "log";
|
|
openfl_utils_AGALMiniAssembler.EXP = "exp";
|
|
openfl_utils_AGALMiniAssembler.NRM = "nrm";
|
|
openfl_utils_AGALMiniAssembler.SIN = "sin";
|
|
openfl_utils_AGALMiniAssembler.COS = "cos";
|
|
openfl_utils_AGALMiniAssembler.CRS = "crs";
|
|
openfl_utils_AGALMiniAssembler.DP3 = "dp3";
|
|
openfl_utils_AGALMiniAssembler.DP4 = "dp4";
|
|
openfl_utils_AGALMiniAssembler.ABS = "abs";
|
|
openfl_utils_AGALMiniAssembler.NEG = "neg";
|
|
openfl_utils_AGALMiniAssembler.SAT = "sat";
|
|
openfl_utils_AGALMiniAssembler.M33 = "m33";
|
|
openfl_utils_AGALMiniAssembler.M44 = "m44";
|
|
openfl_utils_AGALMiniAssembler.M34 = "m34";
|
|
openfl_utils_AGALMiniAssembler.DDX = "ddx";
|
|
openfl_utils_AGALMiniAssembler.DDY = "ddy";
|
|
openfl_utils_AGALMiniAssembler.IFE = "ife";
|
|
openfl_utils_AGALMiniAssembler.INE = "ine";
|
|
openfl_utils_AGALMiniAssembler.IFG = "ifg";
|
|
openfl_utils_AGALMiniAssembler.IFL = "ifl";
|
|
openfl_utils_AGALMiniAssembler.IEG = "ieg";
|
|
openfl_utils_AGALMiniAssembler.IEL = "iel";
|
|
openfl_utils_AGALMiniAssembler.ELS = "els";
|
|
openfl_utils_AGALMiniAssembler.EIF = "eif";
|
|
openfl_utils_AGALMiniAssembler.TED = "ted";
|
|
openfl_utils_AGALMiniAssembler.KIL = "kil";
|
|
openfl_utils_AGALMiniAssembler.TEX = "tex";
|
|
openfl_utils_AGALMiniAssembler.SGE = "sge";
|
|
openfl_utils_AGALMiniAssembler.SLT = "slt";
|
|
openfl_utils_AGALMiniAssembler.SGN = "sgn";
|
|
openfl_utils_AGALMiniAssembler.SEQ = "seq";
|
|
openfl_utils_AGALMiniAssembler.SNE = "sne";
|
|
openfl_utils_AGALMiniAssembler.VA = "va";
|
|
openfl_utils_AGALMiniAssembler.VC = "vc";
|
|
openfl_utils_AGALMiniAssembler.VT = "vt";
|
|
openfl_utils_AGALMiniAssembler.VO = "vo";
|
|
openfl_utils_AGALMiniAssembler.VI = "vi";
|
|
openfl_utils_AGALMiniAssembler.FC = "fc";
|
|
openfl_utils_AGALMiniAssembler.FT = "ft";
|
|
openfl_utils_AGALMiniAssembler.FS = "fs";
|
|
openfl_utils_AGALMiniAssembler.FO = "fo";
|
|
openfl_utils_AGALMiniAssembler.FD = "fd";
|
|
openfl_utils_AGALMiniAssembler.IID = "iid";
|
|
openfl_utils_AGALMiniAssembler.D2 = "2d";
|
|
openfl_utils_AGALMiniAssembler.D3 = "3d";
|
|
openfl_utils_AGALMiniAssembler.CUBE = "cube";
|
|
openfl_utils_AGALMiniAssembler.MIPNEAREST = "mipnearest";
|
|
openfl_utils_AGALMiniAssembler.MIPLINEAR = "miplinear";
|
|
openfl_utils_AGALMiniAssembler.MIPNONE = "mipnone";
|
|
openfl_utils_AGALMiniAssembler.NOMIP = "nomip";
|
|
openfl_utils_AGALMiniAssembler.NEAREST = "nearest";
|
|
openfl_utils_AGALMiniAssembler.LINEAR = "linear";
|
|
openfl_utils_AGALMiniAssembler.ANISOTROPIC2X = "anisotropic2x";
|
|
openfl_utils_AGALMiniAssembler.ANISOTROPIC4X = "anisotropic4x";
|
|
openfl_utils_AGALMiniAssembler.ANISOTROPIC8X = "anisotropic8x";
|
|
openfl_utils_AGALMiniAssembler.ANISOTROPIC16X = "anisotropic16x";
|
|
openfl_utils_AGALMiniAssembler.CENTROID = "centroid";
|
|
openfl_utils_AGALMiniAssembler.SINGLE = "single";
|
|
openfl_utils_AGALMiniAssembler.IGNORESAMPLER = "ignoresampler";
|
|
openfl_utils_AGALMiniAssembler.REPEAT = "repeat";
|
|
openfl_utils_AGALMiniAssembler.WRAP = "wrap";
|
|
openfl_utils_AGALMiniAssembler.CLAMP = "clamp";
|
|
openfl_utils_AGALMiniAssembler.REPEAT_U_CLAMP_V = "repeat_u_clamp_v";
|
|
openfl_utils_AGALMiniAssembler.CLAMP_U_REPEAT_V = "clamp_u_repeat_v";
|
|
openfl_utils_AGALMiniAssembler.RGBA = "rgba";
|
|
openfl_utils_AGALMiniAssembler.COMPRESSED = "compressed";
|
|
openfl_utils_AGALMiniAssembler.COMPRESSEDALPHA = "compressedalpha";
|
|
openfl_utils_AGALMiniAssembler.DXT1 = "dxt1";
|
|
openfl_utils_AGALMiniAssembler.DXT5 = "dxt5";
|
|
openfl_utils_AGALMiniAssembler.VIDEO = "video";
|
|
openfl_utils_AGALMiniAssembler.initialized = false;
|
|
openfl_utils__$AGALMiniAssembler_OpCode.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}};
|
|
openfl_utils__$AGALMiniAssembler_Register.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}};
|
|
openfl_utils__$AGALMiniAssembler_Sampler.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}};
|
|
openfl_utils_Assets.cache = new openfl_utils_AssetCache();
|
|
openfl_utils_Assets.dispatcher = new openfl_events_EventDispatcher();
|
|
openfl_utils_ByteArray.__bytePointer = (function($this) {
|
|
var $r;
|
|
var this1 = new lime_utils_BytePointerData(null,0);
|
|
$r = this1;
|
|
return $r;
|
|
}(this));
|
|
openfl_utils_CompressionAlgorithm.DEFLATE = 0;
|
|
openfl_utils_CompressionAlgorithm.LZMA = 1;
|
|
openfl_utils_CompressionAlgorithm.ZLIB = 2;
|
|
openfl_utils_Endian.BIG_ENDIAN = 0;
|
|
openfl_utils_Endian.LITTLE_ENDIAN = 1;
|
|
openfl_utils_Object.__meta__ = { statics : { iterator : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, __get : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, __set : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}};
|
|
haxe_lang_Iterator.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}};
|
|
haxe_lang_Iterable.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}};
|
|
polymod_Polymod.onError = null;
|
|
polymod_Polymod.library = null;
|
|
polymod_backends_LimeBackend.defaultAssetLibrary = null;
|
|
polymod_backends_PolymodAssetType.BYTES = "BYTES";
|
|
polymod_backends_PolymodAssetType.TEXT = "TEXT";
|
|
polymod_backends_PolymodAssetType.IMAGE = "IMAGE";
|
|
polymod_backends_PolymodAssetType.VIDEO = "VIDEO";
|
|
polymod_backends_PolymodAssetType.FONT = "FONT";
|
|
polymod_backends_PolymodAssetType.AUDIO_GENERIC = "AUDIO_GENERIC";
|
|
polymod_backends_PolymodAssetType.AUDIO_MUSIC = "AUDIO_MUSIC";
|
|
polymod_backends_PolymodAssetType.AUDIO_SOUND = "AUDIO_SOUND";
|
|
polymod_backends_PolymodAssetType.MANIFEST = "MANIFEST";
|
|
polymod_backends_PolymodAssetType.TEMPLATE = "TEMPLATE";
|
|
polymod_backends_PolymodAssetType.UNKNOWN = "UNKNOWN";
|
|
ApplicationMain.main();
|
|
})(typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this, typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this);
|
|
|
|
});
|
|
$hx_exports.lime = $hx_exports.lime || {};
|
|
$hx_exports.lime.$scripts = $hx_exports.lime.$scripts || {};
|
|
$hx_exports.lime.$scripts["Funkin"] = $hx_script;
|
|
$hx_exports.lime.embed = function(projectName) { var exports = {};
|
|
var script = $hx_exports.lime.$scripts[projectName];
|
|
if (!script) throw Error("Cannot find project name \"" + projectName + "\"");
|
|
script(exports, $global);
|
|
for (var key in exports) $hx_exports[key] = $hx_exports[key] || exports[key];
|
|
var lime = exports.lime || window.lime;
|
|
if (lime && lime.embed && this != lime.embed) lime.embed.apply(lime, arguments);
|
|
return exports;
|
|
};
|
|
if(typeof define == "function" && define.amd) {
|
|
define([], function() { return $hx_exports.lime; });
|
|
define.__amd = define.amd;
|
|
define.amd = null;
|
|
}
|
|
})(typeof exports != "undefined" ? exports : typeof define == "function" && define.amd ? {} : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this, typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this);
|
|
|
|
/*! howler.js v2.1.1 | (c) 2013-2018, James Simpson of GoldFire Studios | MIT License | howlerjs.com */
|
|
!function(){"use strict";var e=function(){this.init()};e.prototype={init:function(){var e=this||n;return e._counter=1e3,e._html5AudioPool=[],e.html5PoolSize=10,e._codecs={},e._howls=[],e._muted=!1,e._volume=1,e._canPlayEvent="canplaythrough",e._navigator="undefined"!=typeof window&&window.navigator?window.navigator:null,e.masterGain=null,e.noAudio=!1,e.usingWebAudio=!0,e.autoSuspend=!0,e.ctx=null,e.autoUnlock=!0,e._setup(),e},volume:function(e){var o=this||n;if(e=parseFloat(e),o.ctx||_(),void 0!==e&&e>=0&&e<=1){if(o._volume=e,o._muted)return o;o.usingWebAudio&&o.masterGain.gain.setValueAtTime(e,n.ctx.currentTime);for(var t=0;t<o._howls.length;t++)if(!o._howls[t]._webAudio)for(var r=o._howls[t]._getSoundIds(),a=0;a<r.length;a++){var u=o._howls[t]._soundById(r[a]);u&&u._node&&(u._node.volume=u._volume*e)}return o}return o._volume},mute:function(e){var o=this||n;o.ctx||_(),o._muted=e,o.usingWebAudio&&o.masterGain.gain.setValueAtTime(e?0:o._volume,n.ctx.currentTime);for(var t=0;t<o._howls.length;t++)if(!o._howls[t]._webAudio)for(var r=o._howls[t]._getSoundIds(),a=0;a<r.length;a++){var u=o._howls[t]._soundById(r[a]);u&&u._node&&(u._node.muted=!!e||u._muted)}return o},unload:function(){for(var e=this||n,o=e._howls.length-1;o>=0;o--)e._howls[o].unload();return e.usingWebAudio&&e.ctx&&void 0!==e.ctx.close&&(e.ctx.close(),e.ctx=null,_()),e},codecs:function(e){return(this||n)._codecs[e.replace(/^x-/,"")]},_setup:function(){var e=this||n;if(e.state=e.ctx?e.ctx.state||"suspended":"suspended",e._autoSuspend(),!e.usingWebAudio)if("undefined"!=typeof Audio)try{var o=new Audio;void 0===o.oncanplaythrough&&(e._canPlayEvent="canplay")}catch(n){e.noAudio=!0}else e.noAudio=!0;try{var o=new Audio;o.muted&&(e.noAudio=!0)}catch(e){}return e.noAudio||e._setupCodecs(),e},_setupCodecs:function(){var e=this||n,o=null;try{o="undefined"!=typeof Audio?new Audio:null}catch(n){return e}if(!o||"function"!=typeof o.canPlayType)return e;var t=o.canPlayType("audio/mpeg;").replace(/^no$/,""),r=e._navigator&&e._navigator.userAgent.match(/OPR\/([0-6].)/g),a=r&&parseInt(r[0].split("/")[1],10)<33;return e._codecs={mp3:!(a||!t&&!o.canPlayType("audio/mp3;").replace(/^no$/,"")),mpeg:!!t,opus:!!o.canPlayType('audio/ogg; codecs="opus"').replace(/^no$/,""),ogg:!!o.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),oga:!!o.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),wav:!!o.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),aac:!!o.canPlayType("audio/aac;").replace(/^no$/,""),caf:!!o.canPlayType("audio/x-caf;").replace(/^no$/,""),m4a:!!(o.canPlayType("audio/x-m4a;")||o.canPlayType("audio/m4a;")||o.canPlayType("audio/aac;")).replace(/^no$/,""),mp4:!!(o.canPlayType("audio/x-mp4;")||o.canPlayType("audio/mp4;")||o.canPlayType("audio/aac;")).replace(/^no$/,""),weba:!!o.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,""),webm:!!o.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,""),dolby:!!o.canPlayType('audio/mp4; codecs="ec-3"').replace(/^no$/,""),flac:!!(o.canPlayType("audio/x-flac;")||o.canPlayType("audio/flac;")).replace(/^no$/,"")},e},_unlockAudio:function(){var e=this||n,o=/iPhone|iPad|iPod|Android|BlackBerry|BB10|Silk|Mobi|Chrome|Safari/i.test(e._navigator&&e._navigator.userAgent);if(!e._audioUnlocked&&e.ctx&&o){e._audioUnlocked=!1,e.autoUnlock=!1,e._mobileUnloaded||44100===e.ctx.sampleRate||(e._mobileUnloaded=!0,e.unload()),e._scratchBuffer=e.ctx.createBuffer(1,1,22050);var t=function(n){for(var o=0;o<e.html5PoolSize;o++){var r=new Audio;r._unlocked=!0,e._releaseHtml5Audio(r)}for(var o=0;o<e._howls.length;o++)if(!e._howls[o]._webAudio)for(var a=e._howls[o]._getSoundIds(),u=0;u<a.length;u++){var i=e._howls[o]._soundById(a[u]);i&&i._node&&!i._node._unlocked&&(i._node._unlocked=!0,i._node.load())}e._autoResume();var d=e.ctx.createBufferSource();d.buffer=e._scratchBuffer,d.connect(e.ctx.destination),void 0===d.start?d.noteOn(0):d.start(0),"function"==typeof e.ctx.resume&&e.ctx.resume(),d.onended=function(){d.disconnect(0),e._audioUnlocked=!0,document.removeEventListener("touchstart",t,!0),document.removeEventListener("touchend",t,!0),document.removeEventListener("click",t,!0);for(var n=0;n<e._howls.length;n++)e._howls[n]._emit("unlock")}};return document.addEventListener("touchstart",t,!0),document.addEventListener("touchend",t,!0),document.addEventListener("click",t,!0),e}},_obtainHtml5Audio:function(){var e=this||n;if(e._html5AudioPool.length)return e._html5AudioPool.pop();var o=(new Audio).play();return o&&"undefined"!=typeof Promise&&(o instanceof Promise||"function"==typeof o.then)&&o.catch(function(){console.warn("HTML5 Audio pool exhausted, returning potentially locked audio object.")}),new Audio},_releaseHtml5Audio:function(e){var o=this||n;return e._unlocked&&o._html5AudioPool.push(e),o},_autoSuspend:function(){var e=this;if(e.autoSuspend&&e.ctx&&void 0!==e.ctx.suspend&&n.usingWebAudio){for(var o=0;o<e._howls.length;o++)if(e._howls[o]._webAudio)for(var t=0;t<e._howls[o]._sounds.length;t++)if(!e._howls[o]._sounds[t]._paused)return e;return e._suspendTimer&&clearTimeout(e._suspendTimer),e._suspendTimer=setTimeout(function(){e.autoSuspend&&(e._suspendTimer=null,e.state="suspending",e.ctx.suspend().then(function(){e.state="suspended",e._resumeAfterSuspend&&(delete e._resumeAfterSuspend,e._autoResume())}))},3e4),e}},_autoResume:function(){var e=this;if(e.ctx&&void 0!==e.ctx.resume&&n.usingWebAudio)return"running"===e.state&&e._suspendTimer?(clearTimeout(e._suspendTimer),e._suspendTimer=null):"suspended"===e.state?(e.ctx.resume().then(function(){e.state="running";for(var n=0;n<e._howls.length;n++)e._howls[n]._emit("resume")}),e._suspendTimer&&(clearTimeout(e._suspendTimer),e._suspendTimer=null)):"suspending"===e.state&&(e._resumeAfterSuspend=!0),e}};var n=new e,o=function(e){var n=this;if(!e.src||0===e.src.length)return void console.error("An array of source files must be passed with any new Howl.");n.init(e)};o.prototype={init:function(e){var o=this;return n.ctx||_(),o._autoplay=e.autoplay||!1,o._format="string"!=typeof e.format?e.format:[e.format],o._html5=e.html5||!1,o._muted=e.mute||!1,o._loop=e.loop||!1,o._pool=e.pool||5,o._preload="boolean"!=typeof e.preload||e.preload,o._rate=e.rate||1,o._sprite=e.sprite||{},o._src="string"!=typeof e.src?e.src:[e.src],o._volume=void 0!==e.volume?e.volume:1,o._xhrWithCredentials=e.xhrWithCredentials||!1,o._duration=0,o._state="unloaded",o._sounds=[],o._endTimers={},o._queue=[],o._playLock=!1,o._onend=e.onend?[{fn:e.onend}]:[],o._onfade=e.onfade?[{fn:e.onfade}]:[],o._onload=e.onload?[{fn:e.onload}]:[],o._onloaderror=e.onloaderror?[{fn:e.onloaderror}]:[],o._onplayerror=e.onplayerror?[{fn:e.onplayerror}]:[],o._onpause=e.onpause?[{fn:e.onpause}]:[],o._onplay=e.onplay?[{fn:e.onplay}]:[],o._onstop=e.onstop?[{fn:e.onstop}]:[],o._onmute=e.onmute?[{fn:e.onmute}]:[],o._onvolume=e.onvolume?[{fn:e.onvolume}]:[],o._onrate=e.onrate?[{fn:e.onrate}]:[],o._onseek=e.onseek?[{fn:e.onseek}]:[],o._onunlock=e.onunlock?[{fn:e.onunlock}]:[],o._onresume=[],o._webAudio=n.usingWebAudio&&!o._html5,void 0!==n.ctx&&n.ctx&&n.autoUnlock&&n._unlockAudio(),n._howls.push(o),o._autoplay&&o._queue.push({event:"play",action:function(){o.play()}}),o._preload&&o.load(),o},load:function(){var e=this,o=null;if(n.noAudio)return void e._emit("loaderror",null,"No audio support.");"string"==typeof e._src&&(e._src=[e._src]);for(var r=0;r<e._src.length;r++){var u,i;if(e._format&&e._format[r])u=e._format[r];else{if("string"!=typeof(i=e._src[r])){e._emit("loaderror",null,"Non-string found in selected audio sources - ignoring.");continue}u=/^data:audio\/([^;,]+);/i.exec(i),u||(u=/\.([^.]+)$/.exec(i.split("?",1)[0])),u&&(u=u[1].toLowerCase())}if(u||console.warn('No file extension was found. Consider using the "format" property or specify an extension.'),u&&n.codecs(u)){o=e._src[r];break}}return o?(e._src=o,e._state="loading","https:"===window.location.protocol&&"http:"===o.slice(0,5)&&(e._html5=!0,e._webAudio=!1),new t(e),e._webAudio&&a(e),e):void e._emit("loaderror",null,"No codec support for selected audio sources.")},play:function(e,o){var t=this,r=null;if("number"==typeof e)r=e,e=null;else{if("string"==typeof e&&"loaded"===t._state&&!t._sprite[e])return null;if(void 0===e&&(e="__default",!t._playLock)){for(var a=0,u=0;u<t._sounds.length;u++)t._sounds[u]._paused&&!t._sounds[u]._ended&&(a++,r=t._sounds[u]._id);1===a?e=null:r=null}}var i=r?t._soundById(r):t._inactiveSound();if(!i)return null;if(r&&!e&&(e=i._sprite||"__default"),"loaded"!==t._state){i._sprite=e,i._ended=!1;var d=i._id;return t._queue.push({event:"play",action:function(){t.play(d)}}),d}if(r&&!i._paused)return o||t._loadQueue("play"),i._id;t._webAudio&&n._autoResume();var _=Math.max(0,i._seek>0?i._seek:t._sprite[e][0]/1e3),s=Math.max(0,(t._sprite[e][0]+t._sprite[e][1])/1e3-_),l=1e3*s/Math.abs(i._rate),c=t._sprite[e][0]/1e3,f=(t._sprite[e][0]+t._sprite[e][1])/1e3,p=!(!i._loop&&!t._sprite[e][2]);i._sprite=e,i._ended=!1;var m=function(){i._paused=!1,i._seek=_,i._start=c,i._stop=f,i._loop=p};if(_>=f)return void t._ended(i);var v=i._node;if(t._webAudio){var h=function(){t._playLock=!1,m(),t._refreshBuffer(i);var e=i._muted||t._muted?0:i._volume;v.gain.setValueAtTime(e,n.ctx.currentTime),i._playStart=n.ctx.currentTime,void 0===v.bufferSource.start?i._loop?v.bufferSource.noteGrainOn(0,_,86400):v.bufferSource.noteGrainOn(0,_,s):i._loop?v.bufferSource.start(0,_,86400):v.bufferSource.start(0,_,s),l!==1/0&&(t._endTimers[i._id]=setTimeout(t._ended.bind(t,i),l)),o||setTimeout(function(){t._emit("play",i._id),t._loadQueue()},0)};"running"===n.state?h():(t._playLock=!0,t.once("resume",h),t._clearTimer(i._id))}else{var y=function(){v.currentTime=_,v.muted=i._muted||t._muted||n._muted||v.muted,v.volume=i._volume*n.volume(),v.playbackRate=i._rate;try{var r=v.play();if(r&&"undefined"!=typeof Promise&&(r instanceof Promise||"function"==typeof r.then)?(t._playLock=!0,m(),r.then(function(){t._playLock=!1,v._unlocked=!0,o||(t._emit("play",i._id),t._loadQueue())}).catch(function(){t._playLock=!1,t._emit("playerror",i._id,"Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction."),i._ended=!0,i._paused=!0})):o||(t._playLock=!1,m(),t._emit("play",i._id),t._loadQueue()),v.playbackRate=i._rate,v.paused)return void t._emit("playerror",i._id,"Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction.");"__default"!==e||i._loop?t._endTimers[i._id]=setTimeout(t._ended.bind(t,i),l):(t._endTimers[i._id]=function(){t._ended(i),v.removeEventListener("ended",t._endTimers[i._id],!1)},v.addEventListener("ended",t._endTimers[i._id],!1))}catch(e){t._emit("playerror",i._id,e)}},g=window&&window.ejecta||!v.readyState&&n._navigator.isCocoonJS;if(v.readyState>=3||g)y();else{t._playLock=!0;var b=function(){y(),v.removeEventListener(n._canPlayEvent,b,!1)};v.addEventListener(n._canPlayEvent,b,!1),t._clearTimer(i._id)}}return i._id},pause:function(e){var n=this;if("loaded"!==n._state||n._playLock)return n._queue.push({event:"pause",action:function(){n.pause(e)}}),n;for(var o=n._getSoundIds(e),t=0;t<o.length;t++){n._clearTimer(o[t]);var r=n._soundById(o[t]);if(r&&!r._paused&&(r._seek=n.seek(o[t]),r._rateSeek=0,r._paused=!0,n._stopFade(o[t]),r._node))if(n._webAudio){if(!r._node.bufferSource)continue;void 0===r._node.bufferSource.stop?r._node.bufferSource.noteOff(0):r._node.bufferSource.stop(0),n._cleanBuffer(r._node)}else isNaN(r._node.duration)&&r._node.duration!==1/0||r._node.pause();arguments[1]||n._emit("pause",r?r._id:null)}return n},stop:function(e,n){var o=this;if("loaded"!==o._state||o._playLock)return o._queue.push({event:"stop",action:function(){o.stop(e)}}),o;for(var t=o._getSoundIds(e),r=0;r<t.length;r++){o._clearTimer(t[r]);var a=o._soundById(t[r]);a&&(a._seek=a._start||0,a._rateSeek=0,a._paused=!0,a._ended=!0,o._stopFade(t[r]),a._node&&(o._webAudio?a._node.bufferSource&&(void 0===a._node.bufferSource.stop?a._node.bufferSource.noteOff(0):a._node.bufferSource.stop(0),o._cleanBuffer(a._node)):isNaN(a._node.duration)&&a._node.duration!==1/0||(a._node.currentTime=a._start||0,a._node.pause())),n||o._emit("stop",a._id))}return o},mute:function(e,o){var t=this;if("loaded"!==t._state||t._playLock)return t._queue.push({event:"mute",action:function(){t.mute(e,o)}}),t;if(void 0===o){if("boolean"!=typeof e)return t._muted;t._muted=e}for(var r=t._getSoundIds(o),a=0;a<r.length;a++){var u=t._soundById(r[a]);u&&(u._muted=e,u._interval&&t._stopFade(u._id),t._webAudio&&u._node?u._node.gain.setValueAtTime(e?0:u._volume,n.ctx.currentTime):u._node&&(u._node.muted=!!n._muted||e),t._emit("mute",u._id))}return t},volume:function(){var e,o,t=this,r=arguments;if(0===r.length)return t._volume;if(1===r.length||2===r.length&&void 0===r[1]){t._getSoundIds().indexOf(r[0])>=0?o=parseInt(r[0],10):e=parseFloat(r[0])}else r.length>=2&&(e=parseFloat(r[0]),o=parseInt(r[1],10));var a;if(!(void 0!==e&&e>=0&&e<=1))return a=o?t._soundById(o):t._sounds[0],a?a._volume:0;if("loaded"!==t._state||t._playLock)return t._queue.push({event:"volume",action:function(){t.volume.apply(t,r)}}),t;void 0===o&&(t._volume=e),o=t._getSoundIds(o);for(var u=0;u<o.length;u++)(a=t._soundById(o[u]))&&(a._volume=e,r[2]||t._stopFade(o[u]),t._webAudio&&a._node&&!a._muted?a._node.gain.setValueAtTime(e,n.ctx.currentTime):a._node&&!a._muted&&(a._node.volume=e*n.volume()),t._emit("volume",a._id));return t},fade:function(e,o,t,r){var a=this;if("loaded"!==a._state||a._playLock)return a._queue.push({event:"fade",action:function(){a.fade(e,o,t,r)}}),a;e=parseFloat(e),o=parseFloat(o),t=parseFloat(t),a.volume(e,r);for(var u=a._getSoundIds(r),i=0;i<u.length;i++){var d=a._soundById(u[i]);if(d){if(r||a._stopFade(u[i]),a._webAudio&&!d._muted){var _=n.ctx.currentTime,s=_+t/1e3;d._volume=e,d._node.gain.setValueAtTime(e,_),d._node.gain.linearRampToValueAtTime(o,s)}a._startFadeInterval(d,e,o,t,u[i],void 0===r)}}return a},_startFadeInterval:function(e,n,o,t,r,a){var u=this,i=n,d=o-n,_=Math.abs(d/.01),s=Math.max(4,_>0?t/_:t),l=Date.now();e._fadeTo=o,e._interval=setInterval(function(){var r=(Date.now()-l)/t;l=Date.now(),i+=d*r,i=Math.max(0,i),i=Math.min(1,i),i=Math.round(100*i)/100,u._webAudio?e._volume=i:u.volume(i,e._id,!0),a&&(u._volume=i),(o<n&&i<=o||o>n&&i>=o)&&(clearInterval(e._interval),e._interval=null,e._fadeTo=null,u.volume(o,e._id),u._emit("fade",e._id))},s)},_stopFade:function(e){var o=this,t=o._soundById(e);return t&&t._interval&&(o._webAudio&&t._node.gain.cancelScheduledValues(n.ctx.currentTime),clearInterval(t._interval),t._interval=null,o.volume(t._fadeTo,e),t._fadeTo=null,o._emit("fade",e)),o},loop:function(){var e,n,o,t=this,r=arguments;if(0===r.length)return t._loop;if(1===r.length){if("boolean"!=typeof r[0])return!!(o=t._soundById(parseInt(r[0],10)))&&o._loop;e=r[0],t._loop=e}else 2===r.length&&(e=r[0],n=parseInt(r[1],10));for(var a=t._getSoundIds(n),u=0;u<a.length;u++)(o=t._soundById(a[u]))&&(o._loop=e,t._webAudio&&o._node&&o._node.bufferSource&&(o._node.bufferSource.loop=e,e&&(o._node.bufferSource.loopStart=o._start||0,o._node.bufferSource.loopEnd=o._stop)));return t},rate:function(){var e,o,t=this,r=arguments;if(0===r.length)o=t._sounds[0]._id;else if(1===r.length){var a=t._getSoundIds(),u=a.indexOf(r[0]);u>=0?o=parseInt(r[0],10):e=parseFloat(r[0])}else 2===r.length&&(e=parseFloat(r[0]),o=parseInt(r[1],10));var i;if("number"!=typeof e)return i=t._soundById(o),i?i._rate:t._rate;if("loaded"!==t._state||t._playLock)return t._queue.push({event:"rate",action:function(){t.rate.apply(t,r)}}),t;void 0===o&&(t._rate=e),o=t._getSoundIds(o);for(var d=0;d<o.length;d++)if(i=t._soundById(o[d])){t.playing(o[d])&&(i._rateSeek=t.seek(o[d]),i._playStart=t._webAudio?n.ctx.currentTime:i._playStart),i._rate=e,t._webAudio&&i._node&&i._node.bufferSource?i._node.bufferSource.playbackRate.setValueAtTime(e,n.ctx.currentTime):i._node&&(i._node.playbackRate=e);var _=t.seek(o[d]),s=(t._sprite[i._sprite][0]+t._sprite[i._sprite][1])/1e3-_,l=1e3*s/Math.abs(i._rate);!t._endTimers[o[d]]&&i._paused||(t._clearTimer(o[d]),t._endTimers[o[d]]=setTimeout(t._ended.bind(t,i),l)),t._emit("rate",i._id)}return t},seek:function(){var e,o,t=this,r=arguments;if(0===r.length)o=t._sounds[0]._id;else if(1===r.length){var a=t._getSoundIds(),u=a.indexOf(r[0]);u>=0?o=parseInt(r[0],10):t._sounds.length&&(o=t._sounds[0]._id,e=parseFloat(r[0]))}else 2===r.length&&(e=parseFloat(r[0]),o=parseInt(r[1],10));if(void 0===o)return t;if("loaded"!==t._state||t._playLock)return t._queue.push({event:"seek",action:function(){t.seek.apply(t,r)}}),t;var i=t._soundById(o);if(i){if(!("number"==typeof e&&e>=0)){if(t._webAudio){var d=t.playing(o)?n.ctx.currentTime-i._playStart:0,_=i._rateSeek?i._rateSeek-i._seek:0;return i._seek+(_+d*Math.abs(i._rate))}return i._node.currentTime}var s=t.playing(o);s&&t.pause(o,!0),i._seek=e,i._ended=!1,t._clearTimer(o),t._webAudio||!i._node||isNaN(i._node.duration)||(i._node.currentTime=e);var l=function(){t._emit("seek",o),s&&t.play(o,!0)};if(s&&!t._webAudio){var c=function(){t._playLock?setTimeout(c,0):l()};setTimeout(c,0)}else l()}return t},playing:function(e){var n=this;if("number"==typeof e){var o=n._soundById(e);return!!o&&!o._paused}for(var t=0;t<n._sounds.length;t++)if(!n._sounds[t]._paused)return!0;return!1},duration:function(e){var n=this,o=n._duration,t=n._soundById(e);return t&&(o=n._sprite[t._sprite][1]/1e3),o},state:function(){return this._state},unload:function(){for(var e=this,o=e._sounds,t=0;t<o.length;t++){if(o[t]._paused||e.stop(o[t]._id),!e._webAudio){/MSIE |Trident\//.test(n._navigator&&n._navigator.userAgent)||(o[t]._node.src="data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA"),o[t]._node.removeEventListener("error",o[t]._errorFn,!1),o[t]._node.removeEventListener(n._canPlayEvent,o[t]._loadFn,!1),n._releaseHtml5Audio(o[t]._node)}delete o[t]._node,e._clearTimer(o[t]._id)}var a=n._howls.indexOf(e);a>=0&&n._howls.splice(a,1);var u=!0;for(t=0;t<n._howls.length;t++)if(n._howls[t]._src===e._src||e._src.indexOf(n._howls[t]._src)>=0){u=!1;break}return r&&u&&delete r[e._src],n.noAudio=!1,e._state="unloaded",e._sounds=[],e=null,null},on:function(e,n,o,t){var r=this,a=r["_on"+e];return"function"==typeof n&&a.push(t?{id:o,fn:n,once:t}:{id:o,fn:n}),r},off:function(e,n,o){var t=this,r=t["_on"+e],a=0;if("number"==typeof n&&(o=n,n=null),n||o)for(a=0;a<r.length;a++){var u=o===r[a].id;if(n===r[a].fn&&u||!n&&u){r.splice(a,1);break}}else if(e)t["_on"+e]=[];else{var i=Object.keys(t);for(a=0;a<i.length;a++)0===i[a].indexOf("_on")&&Array.isArray(t[i[a]])&&(t[i[a]]=[])}return t},once:function(e,n,o){var t=this;return t.on(e,n,o,1),t},_emit:function(e,n,o){for(var t=this,r=t["_on"+e],a=r.length-1;a>=0;a--)r[a].id&&r[a].id!==n&&"load"!==e||(setTimeout(function(e){e.call(this,n,o)}.bind(t,r[a].fn),0),r[a].once&&t.off(e,r[a].fn,r[a].id));return t._loadQueue(e),t},_loadQueue:function(e){var n=this;if(n._queue.length>0){var o=n._queue[0];o.event===e&&(n._queue.shift(),n._loadQueue()),e||o.action()}return n},_ended:function(e){var o=this,t=e._sprite;if(!o._webAudio&&e._node&&!e._node.paused&&!e._node.ended&&e._node.currentTime<e._stop)return setTimeout(o._ended.bind(o,e),100),o;var r=!(!e._loop&&!o._sprite[t][2]);if(o._emit("end",e._id),!o._webAudio&&r&&o.stop(e._id,!0).play(e._id),o._webAudio&&r){o._emit("play",e._id),e._seek=e._start||0,e._rateSeek=0,e._playStart=n.ctx.currentTime;var a=1e3*(e._stop-e._start)/Math.abs(e._rate);o._endTimers[e._id]=setTimeout(o._ended.bind(o,e),a)}return o._webAudio&&!r&&(e._paused=!0,e._ended=!0,e._seek=e._start||0,e._rateSeek=0,o._clearTimer(e._id),o._cleanBuffer(e._node),n._autoSuspend()),o._webAudio||r||o.stop(e._id,!0),o},_clearTimer:function(e){var n=this;if(n._endTimers[e]){if("function"!=typeof n._endTimers[e])clearTimeout(n._endTimers[e]);else{var o=n._soundById(e);o&&o._node&&o._node.removeEventListener("ended",n._endTimers[e],!1)}delete n._endTimers[e]}return n},_soundById:function(e){for(var n=this,o=0;o<n._sounds.length;o++)if(e===n._sounds[o]._id)return n._sounds[o];return null},_inactiveSound:function(){var e=this;e._drain();for(var n=0;n<e._sounds.length;n++)if(e._sounds[n]._ended)return e._sounds[n].reset();return new t(e)},_drain:function(){var e=this,n=e._pool,o=0,t=0;if(!(e._sounds.length<n)){for(t=0;t<e._sounds.length;t++)e._sounds[t]._ended&&o++;for(t=e._sounds.length-1;t>=0;t--){if(o<=n)return;e._sounds[t]._ended&&(e._webAudio&&e._sounds[t]._node&&e._sounds[t]._node.disconnect(0),e._sounds.splice(t,1),o--)}}},_getSoundIds:function(e){var n=this;if(void 0===e){for(var o=[],t=0;t<n._sounds.length;t++)o.push(n._sounds[t]._id);return o}return[e]},_refreshBuffer:function(e){var o=this;return e._node.bufferSource=n.ctx.createBufferSource(),e._node.bufferSource.buffer=r[o._src],e._panner?e._node.bufferSource.connect(e._panner):e._node.bufferSource.connect(e._node),e._node.bufferSource.loop=e._loop,e._loop&&(e._node.bufferSource.loopStart=e._start||0,e._node.bufferSource.loopEnd=e._stop||0),e._node.bufferSource.playbackRate.setValueAtTime(e._rate,n.ctx.currentTime),o},_cleanBuffer:function(e){var o=this,t=n._navigator&&n._navigator.vendor.indexOf("Apple")>=0;if(n._scratchBuffer&&e.bufferSource&&(e.bufferSource.onended=null,e.bufferSource.disconnect(0),t))try{e.bufferSource.buffer=n._scratchBuffer}catch(e){}return e.bufferSource=null,o}};var t=function(e){this._parent=e,this.init()};t.prototype={init:function(){var e=this,o=e._parent;return e._muted=o._muted,e._loop=o._loop,e._volume=o._volume,e._rate=o._rate,e._seek=0,e._paused=!0,e._ended=!0,e._sprite="__default",e._id=++n._counter,o._sounds.push(e),e.create(),e},create:function(){var e=this,o=e._parent,t=n._muted||e._muted||e._parent._muted?0:e._volume;return o._webAudio?(e._node=void 0===n.ctx.createGain?n.ctx.createGainNode():n.ctx.createGain(),e._node.gain.setValueAtTime(t,n.ctx.currentTime),e._node.paused=!0,e._node.connect(n.masterGain)):(e._node=n._obtainHtml5Audio(),e._errorFn=e._errorListener.bind(e),e._node.addEventListener("error",e._errorFn,!1),e._loadFn=e._loadListener.bind(e),e._node.addEventListener(n._canPlayEvent,e._loadFn,!1),e._node.src=o._src,e._node.preload="auto",e._node.volume=t*n.volume(),e._node.load()),e},reset:function(){var e=this,o=e._parent;return e._muted=o._muted,e._loop=o._loop,e._volume=o._volume,e._rate=o._rate,e._seek=0,e._rateSeek=0,e._paused=!0,e._ended=!0,e._sprite="__default",e._id=++n._counter,e},_errorListener:function(){var e=this;e._parent._emit("loaderror",e._id,e._node.error?e._node.error.code:0),e._node.removeEventListener("error",e._errorFn,!1)},_loadListener:function(){var e=this,o=e._parent;o._duration=Math.ceil(10*e._node.duration)/10,0===Object.keys(o._sprite).length&&(o._sprite={__default:[0,1e3*o._duration]}),"loaded"!==o._state&&(o._state="loaded",o._emit("load"),o._loadQueue()),e._node.removeEventListener(n._canPlayEvent,e._loadFn,!1)}};var r={},a=function(e){var n=e._src;if(r[n])return e._duration=r[n].duration,void d(e);if(/^data:[^;]+;base64,/.test(n)){for(var o=atob(n.split(",")[1]),t=new Uint8Array(o.length),a=0;a<o.length;++a)t[a]=o.charCodeAt(a);i(t.buffer,e)}else{var _=new XMLHttpRequest;_.open("GET",n,!0),_.withCredentials=e._xhrWithCredentials,_.responseType="arraybuffer",_.onload=function(){var n=(_.status+"")[0];if("0"!==n&&"2"!==n&&"3"!==n)return void e._emit("loaderror",null,"Failed loading audio file with status: "+_.status+".");i(_.response,e)},_.onerror=function(){e._webAudio&&(e._html5=!0,e._webAudio=!1,e._sounds=[],delete r[n],e.load())},u(_)}},u=function(e){try{e.send()}catch(n){e.onerror()}},i=function(e,o){var t=function(){o._emit("loaderror",null,"Decoding audio data failed.")},a=function(e){e&&o._sounds.length>0?(r[o._src]=e,d(o,e)):t()};"undefined"!=typeof Promise&&1===n.ctx.decodeAudioData.length?n.ctx.decodeAudioData(e).then(a).catch(t):n.ctx.decodeAudioData(e,a,t)},d=function(e,n){n&&!e._duration&&(e._duration=n.duration),0===Object.keys(e._sprite).length&&(e._sprite={__default:[0,1e3*e._duration]}),"loaded"!==e._state&&(e._state="loaded",e._emit("load"),e._loadQueue())},_=function(){if(n.usingWebAudio){try{"undefined"!=typeof AudioContext?n.ctx=new AudioContext:"undefined"!=typeof webkitAudioContext?n.ctx=new webkitAudioContext:n.usingWebAudio=!1}catch(e){n.usingWebAudio=!1}n.ctx||(n.usingWebAudio=!1);var e=/iP(hone|od|ad)/.test(n._navigator&&n._navigator.platform),o=n._navigator&&n._navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/),t=o?parseInt(o[1],10):null;if(e&&t&&t<9){var r=/safari/.test(n._navigator&&n._navigator.userAgent.toLowerCase());(n._navigator&&n._navigator.standalone&&!r||n._navigator&&!n._navigator.standalone&&!r)&&(n.usingWebAudio=!1)}n.usingWebAudio&&(n.masterGain=void 0===n.ctx.createGain?n.ctx.createGainNode():n.ctx.createGain(),n.masterGain.gain.setValueAtTime(n._muted?0:1,n.ctx.currentTime),n.masterGain.connect(n.ctx.destination)),n._setup()}};"function"==typeof define&&define.amd&&define([],function(){return{Howler:n,Howl:o}}),"undefined"!=typeof exports&&(exports.Howler=n,exports.Howl=o),"undefined"!=typeof window?(window.HowlerGlobal=e,window.Howler=n,window.Howl=o,window.Sound=t):"undefined"!=typeof global&&(global.HowlerGlobal=e,global.Howler=n,global.Howl=o,global.Sound=t)}();
|
|
/*! Spatial Plugin */
|
|
!function(){"use strict";HowlerGlobal.prototype._pos=[0,0,0],HowlerGlobal.prototype._orientation=[0,0,-1,0,1,0],HowlerGlobal.prototype.stereo=function(e){var n=this;if(!n.ctx||!n.ctx.listener)return n;for(var t=n._howls.length-1;t>=0;t--)n._howls[t].stereo(e);return n},HowlerGlobal.prototype.pos=function(e,n,t){var r=this;return r.ctx&&r.ctx.listener?(n="number"!=typeof n?r._pos[1]:n,t="number"!=typeof t?r._pos[2]:t,"number"!=typeof e?r._pos:(r._pos=[e,n,t],void 0!==r.ctx.listener.positionX?(r.ctx.listener.positionX.setTargetAtTime(r._pos[0],Howler.ctx.currentTime,.1),r.ctx.listener.positionY.setTargetAtTime(r._pos[1],Howler.ctx.currentTime,.1),r.ctx.listener.positionZ.setTargetAtTime(r._pos[2],Howler.ctx.currentTime,.1)):r.ctx.listener.setPosition(r._pos[0],r._pos[1],r._pos[2]),r)):r},HowlerGlobal.prototype.orientation=function(e,n,t,r,o,i){var a=this;if(!a.ctx||!a.ctx.listener)return a;var s=a._orientation;return n="number"!=typeof n?s[1]:n,t="number"!=typeof t?s[2]:t,r="number"!=typeof r?s[3]:r,o="number"!=typeof o?s[4]:o,i="number"!=typeof i?s[5]:i,"number"!=typeof e?s:(a._orientation=[e,n,t,r,o,i],void 0!==a.ctx.listener.forwardX?(a.ctx.listener.forwardX.setTargetAtTime(e,Howler.ctx.currentTime,.1),a.ctx.listener.forwardY.setTargetAtTime(n,Howler.ctx.currentTime,.1),a.ctx.listener.forwardZ.setTargetAtTime(t,Howler.ctx.currentTime,.1),a.ctx.listener.upX.setTargetAtTime(e,Howler.ctx.currentTime,.1),a.ctx.listener.upY.setTargetAtTime(n,Howler.ctx.currentTime,.1),a.ctx.listener.upZ.setTargetAtTime(t,Howler.ctx.currentTime,.1)):a.ctx.listener.setOrientation(e,n,t,r,o,i),a)},Howl.prototype.init=function(e){return function(n){var t=this;return t._orientation=n.orientation||[1,0,0],t._stereo=n.stereo||null,t._pos=n.pos||null,t._pannerAttr={coneInnerAngle:void 0!==n.coneInnerAngle?n.coneInnerAngle:360,coneOuterAngle:void 0!==n.coneOuterAngle?n.coneOuterAngle:360,coneOuterGain:void 0!==n.coneOuterGain?n.coneOuterGain:0,distanceModel:void 0!==n.distanceModel?n.distanceModel:"inverse",maxDistance:void 0!==n.maxDistance?n.maxDistance:1e4,panningModel:void 0!==n.panningModel?n.panningModel:"HRTF",refDistance:void 0!==n.refDistance?n.refDistance:1,rolloffFactor:void 0!==n.rolloffFactor?n.rolloffFactor:1},t._onstereo=n.onstereo?[{fn:n.onstereo}]:[],t._onpos=n.onpos?[{fn:n.onpos}]:[],t._onorientation=n.onorientation?[{fn:n.onorientation}]:[],e.call(this,n)}}(Howl.prototype.init),Howl.prototype.stereo=function(n,t){var r=this;if(!r._webAudio)return r;if("loaded"!==r._state)return r._queue.push({event:"stereo",action:function(){r.stereo(n,t)}}),r;var o=void 0===Howler.ctx.createStereoPanner?"spatial":"stereo";if(void 0===t){if("number"!=typeof n)return r._stereo;r._stereo=n,r._pos=[n,0,0]}for(var i=r._getSoundIds(t),a=0;a<i.length;a++){var s=r._soundById(i[a]);if(s){if("number"!=typeof n)return s._stereo;s._stereo=n,s._pos=[n,0,0],s._node&&(s._pannerAttr.panningModel="equalpower",s._panner&&s._panner.pan||e(s,o),"spatial"===o?void 0!==s._panner.positionX?(s._panner.positionX.setValueAtTime(n,Howler.ctx.currentTime),s._panner.positionY.setValueAtTime(0,Howler.ctx.currentTime),s._panner.positionZ.setValueAtTime(0,Howler.ctx.currentTime)):s._panner.setPosition(n,0,0):s._panner.pan.setValueAtTime(n,Howler.ctx.currentTime)),r._emit("stereo",s._id)}}return r},Howl.prototype.pos=function(n,t,r,o){var i=this;if(!i._webAudio)return i;if("loaded"!==i._state)return i._queue.push({event:"pos",action:function(){i.pos(n,t,r,o)}}),i;if(t="number"!=typeof t?0:t,r="number"!=typeof r?-.5:r,void 0===o){if("number"!=typeof n)return i._pos;i._pos=[n,t,r]}for(var a=i._getSoundIds(o),s=0;s<a.length;s++){var p=i._soundById(a[s]);if(p){if("number"!=typeof n)return p._pos;p._pos=[n,t,r],p._node&&(p._panner&&!p._panner.pan||e(p,"spatial"),void 0!==p._panner.positionX?(p._panner.positionX.setValueAtTime(n,Howler.ctx.currentTime),p._panner.positionY.setValueAtTime(t,Howler.ctx.currentTime),p._panner.positionZ.setValueAtTime(r,Howler.ctx.currentTime)):p._panner.setPosition(n,t,r)),i._emit("pos",p._id)}}return i},Howl.prototype.orientation=function(n,t,r,o){var i=this;if(!i._webAudio)return i;if("loaded"!==i._state)return i._queue.push({event:"orientation",action:function(){i.orientation(n,t,r,o)}}),i;if(t="number"!=typeof t?i._orientation[1]:t,r="number"!=typeof r?i._orientation[2]:r,void 0===o){if("number"!=typeof n)return i._orientation;i._orientation=[n,t,r]}for(var a=i._getSoundIds(o),s=0;s<a.length;s++){var p=i._soundById(a[s]);if(p){if("number"!=typeof n)return p._orientation;p._orientation=[n,t,r],p._node&&(p._panner||(p._pos||(p._pos=i._pos||[0,0,-.5]),e(p,"spatial")),void 0!==p._panner.orientationX?(p._panner.orientationX.setValueAtTime(n,Howler.ctx.currentTime),p._panner.orientationY.setValueAtTime(t,Howler.ctx.currentTime),p._panner.orientationZ.setValueAtTime(r,Howler.ctx.currentTime)):p._panner.setOrientation(n,t,r)),i._emit("orientation",p._id)}}return i},Howl.prototype.pannerAttr=function(){var n,t,r,o=this,i=arguments;if(!o._webAudio)return o;if(0===i.length)return o._pannerAttr;if(1===i.length){if("object"!=typeof i[0])return r=o._soundById(parseInt(i[0],10)),r?r._pannerAttr:o._pannerAttr;n=i[0],void 0===t&&(n.pannerAttr||(n.pannerAttr={coneInnerAngle:n.coneInnerAngle,coneOuterAngle:n.coneOuterAngle,coneOuterGain:n.coneOuterGain,distanceModel:n.distanceModel,maxDistance:n.maxDistance,refDistance:n.refDistance,rolloffFactor:n.rolloffFactor,panningModel:n.panningModel}),o._pannerAttr={coneInnerAngle:void 0!==n.pannerAttr.coneInnerAngle?n.pannerAttr.coneInnerAngle:o._coneInnerAngle,coneOuterAngle:void 0!==n.pannerAttr.coneOuterAngle?n.pannerAttr.coneOuterAngle:o._coneOuterAngle,coneOuterGain:void 0!==n.pannerAttr.coneOuterGain?n.pannerAttr.coneOuterGain:o._coneOuterGain,distanceModel:void 0!==n.pannerAttr.distanceModel?n.pannerAttr.distanceModel:o._distanceModel,maxDistance:void 0!==n.pannerAttr.maxDistance?n.pannerAttr.maxDistance:o._maxDistance,refDistance:void 0!==n.pannerAttr.refDistance?n.pannerAttr.refDistance:o._refDistance,rolloffFactor:void 0!==n.pannerAttr.rolloffFactor?n.pannerAttr.rolloffFactor:o._rolloffFactor,panningModel:void 0!==n.pannerAttr.panningModel?n.pannerAttr.panningModel:o._panningModel})}else 2===i.length&&(n=i[0],t=parseInt(i[1],10));for(var a=o._getSoundIds(t),s=0;s<a.length;s++)if(r=o._soundById(a[s])){var p=r._pannerAttr;p={coneInnerAngle:void 0!==n.coneInnerAngle?n.coneInnerAngle:p.coneInnerAngle,coneOuterAngle:void 0!==n.coneOuterAngle?n.coneOuterAngle:p.coneOuterAngle,coneOuterGain:void 0!==n.coneOuterGain?n.coneOuterGain:p.coneOuterGain,distanceModel:void 0!==n.distanceModel?n.distanceModel:p.distanceModel,maxDistance:void 0!==n.maxDistance?n.maxDistance:p.maxDistance,refDistance:void 0!==n.refDistance?n.refDistance:p.refDistance,rolloffFactor:void 0!==n.rolloffFactor?n.rolloffFactor:p.rolloffFactor,panningModel:void 0!==n.panningModel?n.panningModel:p.panningModel};var c=r._panner;c?(c.coneInnerAngle=p.coneInnerAngle,c.coneOuterAngle=p.coneOuterAngle,c.coneOuterGain=p.coneOuterGain,c.distanceModel=p.distanceModel,c.maxDistance=p.maxDistance,c.refDistance=p.refDistance,c.rolloffFactor=p.rolloffFactor,c.panningModel=p.panningModel):(r._pos||(r._pos=o._pos||[0,0,-.5]),e(r,"spatial"))}return o},Sound.prototype.init=function(e){return function(){var n=this,t=n._parent;n._orientation=t._orientation,n._stereo=t._stereo,n._pos=t._pos,n._pannerAttr=t._pannerAttr,e.call(this),n._stereo?t.stereo(n._stereo):n._pos&&t.pos(n._pos[0],n._pos[1],n._pos[2],n._id)}}(Sound.prototype.init),Sound.prototype.reset=function(e){return function(){var n=this,t=n._parent;return n._orientation=t._orientation,n._stereo=t._stereo,n._pos=t._pos,n._pannerAttr=t._pannerAttr,n._stereo?t.stereo(n._stereo):n._pos?t.pos(n._pos[0],n._pos[1],n._pos[2],n._id):n._panner&&(n._panner.disconnect(0),n._panner=void 0,t._refreshBuffer(n)),e.call(this)}}(Sound.prototype.reset);var e=function(e,n){n=n||"spatial","spatial"===n?(e._panner=Howler.ctx.createPanner(),e._panner.coneInnerAngle=e._pannerAttr.coneInnerAngle,e._panner.coneOuterAngle=e._pannerAttr.coneOuterAngle,e._panner.coneOuterGain=e._pannerAttr.coneOuterGain,e._panner.distanceModel=e._pannerAttr.distanceModel,e._panner.maxDistance=e._pannerAttr.maxDistance,e._panner.refDistance=e._pannerAttr.refDistance,e._panner.rolloffFactor=e._pannerAttr.rolloffFactor,e._panner.panningModel=e._pannerAttr.panningModel,void 0!==e._panner.positionX?(e._panner.positionX.setValueAtTime(e._pos[0],Howler.ctx.currentTime),e._panner.positionY.setValueAtTime(e._pos[1],Howler.ctx.currentTime),e._panner.positionZ.setValueAtTime(e._pos[2],Howler.ctx.currentTime)):e._panner.setPosition(e._pos[0],e._pos[1],e._pos[2]),void 0!==e._panner.orientationX?(e._panner.orientationX.setValueAtTime(e._orientation[0],Howler.ctx.currentTime),e._panner.orientationY.setValueAtTime(e._orientation[1],Howler.ctx.currentTime),e._panner.orientationZ.setValueAtTime(e._orientation[2],Howler.ctx.currentTime)):e._panner.setOrientation(e._orientation[0],e._orientation[1],e._orientation[2])):(e._panner=Howler.ctx.createStereoPanner(),e._panner.pan.setValueAtTime(e._stereo,Howler.ctx.currentTime)),e._panner.connect(e._node),e._paused||e._parent.pause(e._id,!0).play(e._id,!0)}}();
|
|
/* pako 1.0.2 nodeca/pako */
|
|
!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.pako=t()}}(function(){return function t(e,a,i){function n(s,o){if(!a[s]){if(!e[s]){var l="function"==typeof require&&require;if(!o&&l)return l(s,!0);if(r)return r(s,!0);var h=new Error("Cannot find module '"+s+"'");throw h.code="MODULE_NOT_FOUND",h}var d=a[s]={exports:{}};e[s][0].call(d.exports,function(t){var a=e[s][1][t];return n(a?a:t)},d,d.exports,t,e,a,i)}return a[s].exports}for(var r="function"==typeof require&&require,s=0;s<i.length;s++)n(i[s]);return n}({1:[function(t,e,a){"use strict";function i(t){if(!(this instanceof i))return new i(t);this.options=l.assign({level:w,method:v,chunkSize:16384,windowBits:15,memLevel:8,strategy:p,to:""},t||{});var e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new f,this.strm.avail_out=0;var a=o.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(a!==b)throw new Error(d[a]);if(e.header&&o.deflateSetHeader(this.strm,e.header),e.dictionary){var n;if(n="string"==typeof e.dictionary?h.string2buf(e.dictionary):"[object ArrayBuffer]"===_.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,a=o.deflateSetDictionary(this.strm,n),a!==b)throw new Error(d[a]);this._dict_set=!0}}function n(t,e){var a=new i(e);if(a.push(t,!0),a.err)throw a.msg;return a.result}function r(t,e){return e=e||{},e.raw=!0,n(t,e)}function s(t,e){return e=e||{},e.gzip=!0,n(t,e)}var o=t("./zlib/deflate"),l=t("./utils/common"),h=t("./utils/strings"),d=t("./zlib/messages"),f=t("./zlib/zstream"),_=Object.prototype.toString,u=0,c=4,b=0,g=1,m=2,w=-1,p=0,v=8;i.prototype.push=function(t,e){var a,i,n=this.strm,r=this.options.chunkSize;if(this.ended)return!1;i=e===~~e?e:e===!0?c:u,"string"==typeof t?n.input=h.string2buf(t):"[object ArrayBuffer]"===_.call(t)?n.input=new Uint8Array(t):n.input=t,n.next_in=0,n.avail_in=n.input.length;do{if(0===n.avail_out&&(n.output=new l.Buf8(r),n.next_out=0,n.avail_out=r),a=o.deflate(n,i),a!==g&&a!==b)return this.onEnd(a),this.ended=!0,!1;0!==n.avail_out&&(0!==n.avail_in||i!==c&&i!==m)||("string"===this.options.to?this.onData(h.buf2binstring(l.shrinkBuf(n.output,n.next_out))):this.onData(l.shrinkBuf(n.output,n.next_out)))}while((n.avail_in>0||0===n.avail_out)&&a!==g);return i===c?(a=o.deflateEnd(this.strm),this.onEnd(a),this.ended=!0,a===b):i!==m||(this.onEnd(b),n.avail_out=0,!0)},i.prototype.onData=function(t){this.chunks.push(t)},i.prototype.onEnd=function(t){t===b&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=l.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},a.Deflate=i,a.deflate=n,a.deflateRaw=r,a.gzip=s},{"./utils/common":3,"./utils/strings":4,"./zlib/deflate":8,"./zlib/messages":13,"./zlib/zstream":15}],2:[function(t,e,a){"use strict";function i(t){if(!(this instanceof i))return new i(t);this.options=o.assign({chunkSize:16384,windowBits:0,to:""},t||{});var e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0===(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new f,this.strm.avail_out=0;var a=s.inflateInit2(this.strm,e.windowBits);if(a!==h.Z_OK)throw new Error(d[a]);this.header=new _,s.inflateGetHeader(this.strm,this.header)}function n(t,e){var a=new i(e);if(a.push(t,!0),a.err)throw a.msg;return a.result}function r(t,e){return e=e||{},e.raw=!0,n(t,e)}var s=t("./zlib/inflate"),o=t("./utils/common"),l=t("./utils/strings"),h=t("./zlib/constants"),d=t("./zlib/messages"),f=t("./zlib/zstream"),_=t("./zlib/gzheader"),u=Object.prototype.toString;i.prototype.push=function(t,e){var a,i,n,r,d,f,_=this.strm,c=this.options.chunkSize,b=this.options.dictionary,g=!1;if(this.ended)return!1;i=e===~~e?e:e===!0?h.Z_FINISH:h.Z_NO_FLUSH,"string"==typeof t?_.input=l.binstring2buf(t):"[object ArrayBuffer]"===u.call(t)?_.input=new Uint8Array(t):_.input=t,_.next_in=0,_.avail_in=_.input.length;do{if(0===_.avail_out&&(_.output=new o.Buf8(c),_.next_out=0,_.avail_out=c),a=s.inflate(_,h.Z_NO_FLUSH),a===h.Z_NEED_DICT&&b&&(f="string"==typeof b?l.string2buf(b):"[object ArrayBuffer]"===u.call(b)?new Uint8Array(b):b,a=s.inflateSetDictionary(this.strm,f)),a===h.Z_BUF_ERROR&&g===!0&&(a=h.Z_OK,g=!1),a!==h.Z_STREAM_END&&a!==h.Z_OK)return this.onEnd(a),this.ended=!0,!1;_.next_out&&(0!==_.avail_out&&a!==h.Z_STREAM_END&&(0!==_.avail_in||i!==h.Z_FINISH&&i!==h.Z_SYNC_FLUSH)||("string"===this.options.to?(n=l.utf8border(_.output,_.next_out),r=_.next_out-n,d=l.buf2string(_.output,n),_.next_out=r,_.avail_out=c-r,r&&o.arraySet(_.output,_.output,n,r,0),this.onData(d)):this.onData(o.shrinkBuf(_.output,_.next_out)))),0===_.avail_in&&0===_.avail_out&&(g=!0)}while((_.avail_in>0||0===_.avail_out)&&a!==h.Z_STREAM_END);return a===h.Z_STREAM_END&&(i=h.Z_FINISH),i===h.Z_FINISH?(a=s.inflateEnd(this.strm),this.onEnd(a),this.ended=!0,a===h.Z_OK):i!==h.Z_SYNC_FLUSH||(this.onEnd(h.Z_OK),_.avail_out=0,!0)},i.prototype.onData=function(t){this.chunks.push(t)},i.prototype.onEnd=function(t){t===h.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},a.Inflate=i,a.inflate=n,a.inflateRaw=r,a.ungzip=n},{"./utils/common":3,"./utils/strings":4,"./zlib/constants":6,"./zlib/gzheader":9,"./zlib/inflate":11,"./zlib/messages":13,"./zlib/zstream":15}],3:[function(t,e,a){"use strict";var i="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;a.assign=function(t){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var a=e.shift();if(a){if("object"!=typeof a)throw new TypeError(a+"must be non-object");for(var i in a)a.hasOwnProperty(i)&&(t[i]=a[i])}}return t},a.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var n={arraySet:function(t,e,a,i,n){if(e.subarray&&t.subarray)return void t.set(e.subarray(a,a+i),n);for(var r=0;r<i;r++)t[n+r]=e[a+r]},flattenChunks:function(t){var e,a,i,n,r,s;for(i=0,e=0,a=t.length;e<a;e++)i+=t[e].length;for(s=new Uint8Array(i),n=0,e=0,a=t.length;e<a;e++)r=t[e],s.set(r,n),n+=r.length;return s}},r={arraySet:function(t,e,a,i,n){for(var r=0;r<i;r++)t[n+r]=e[a+r]},flattenChunks:function(t){return[].concat.apply([],t)}};a.setTyped=function(t){t?(a.Buf8=Uint8Array,a.Buf16=Uint16Array,a.Buf32=Int32Array,a.assign(a,n)):(a.Buf8=Array,a.Buf16=Array,a.Buf32=Array,a.assign(a,r))},a.setTyped(i)},{}],4:[function(t,e,a){"use strict";function i(t,e){if(e<65537&&(t.subarray&&s||!t.subarray&&r))return String.fromCharCode.apply(null,n.shrinkBuf(t,e));for(var a="",i=0;i<e;i++)a+=String.fromCharCode(t[i]);return a}var n=t("./common"),r=!0,s=!0;try{String.fromCharCode.apply(null,[0])}catch(t){r=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){s=!1}for(var o=new n.Buf8(256),l=0;l<256;l++)o[l]=l>=252?6:l>=248?5:l>=240?4:l>=224?3:l>=192?2:1;o[254]=o[254]=1,a.string2buf=function(t){var e,a,i,r,s,o=t.length,l=0;for(r=0;r<o;r++)a=t.charCodeAt(r),55296===(64512&a)&&r+1<o&&(i=t.charCodeAt(r+1),56320===(64512&i)&&(a=65536+(a-55296<<10)+(i-56320),r++)),l+=a<128?1:a<2048?2:a<65536?3:4;for(e=new n.Buf8(l),s=0,r=0;s<l;r++)a=t.charCodeAt(r),55296===(64512&a)&&r+1<o&&(i=t.charCodeAt(r+1),56320===(64512&i)&&(a=65536+(a-55296<<10)+(i-56320),r++)),a<128?e[s++]=a:a<2048?(e[s++]=192|a>>>6,e[s++]=128|63&a):a<65536?(e[s++]=224|a>>>12,e[s++]=128|a>>>6&63,e[s++]=128|63&a):(e[s++]=240|a>>>18,e[s++]=128|a>>>12&63,e[s++]=128|a>>>6&63,e[s++]=128|63&a);return e},a.buf2binstring=function(t){return i(t,t.length)},a.binstring2buf=function(t){for(var e=new n.Buf8(t.length),a=0,i=e.length;a<i;a++)e[a]=t.charCodeAt(a);return e},a.buf2string=function(t,e){var a,n,r,s,l=e||t.length,h=new Array(2*l);for(n=0,a=0;a<l;)if(r=t[a++],r<128)h[n++]=r;else if(s=o[r],s>4)h[n++]=65533,a+=s-1;else{for(r&=2===s?31:3===s?15:7;s>1&&a<l;)r=r<<6|63&t[a++],s--;s>1?h[n++]=65533:r<65536?h[n++]=r:(r-=65536,h[n++]=55296|r>>10&1023,h[n++]=56320|1023&r)}return i(h,n)},a.utf8border=function(t,e){var a;for(e=e||t.length,e>t.length&&(e=t.length),a=e-1;a>=0&&128===(192&t[a]);)a--;return a<0?e:0===a?e:a+o[t[a]]>e?a:e}},{"./common":3}],5:[function(t,e,a){"use strict";function i(t,e,a,i){for(var n=65535&t|0,r=t>>>16&65535|0,s=0;0!==a;){s=a>2e3?2e3:a,a-=s;do n=n+e[i++]|0,r=r+n|0;while(--s);n%=65521,r%=65521}return n|r<<16|0}e.exports=i},{}],6:[function(t,e,a){"use strict";e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],7:[function(t,e,a){"use strict";function i(){for(var t,e=[],a=0;a<256;a++){t=a;for(var i=0;i<8;i++)t=1&t?3988292384^t>>>1:t>>>1;e[a]=t}return e}function n(t,e,a,i){var n=r,s=i+a;t^=-1;for(var o=i;o<s;o++)t=t>>>8^n[255&(t^e[o])];return t^-1}var r=i();e.exports=n},{}],8:[function(t,e,a){"use strict";function i(t,e){return t.msg=D[e],e}function n(t){return(t<<1)-(t>4?9:0)}function r(t){for(var e=t.length;--e>=0;)t[e]=0}function s(t){var e=t.state,a=e.pending;a>t.avail_out&&(a=t.avail_out),0!==a&&(R.arraySet(t.output,e.pending_buf,e.pending_out,a,t.next_out),t.next_out+=a,e.pending_out+=a,t.total_out+=a,t.avail_out-=a,e.pending-=a,0===e.pending&&(e.pending_out=0))}function o(t,e){C._tr_flush_block(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,s(t.strm)}function l(t,e){t.pending_buf[t.pending++]=e}function h(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e}function d(t,e,a,i){var n=t.avail_in;return n>i&&(n=i),0===n?0:(t.avail_in-=n,R.arraySet(e,t.input,t.next_in,n,a),1===t.state.wrap?t.adler=N(t.adler,e,n,a):2===t.state.wrap&&(t.adler=O(t.adler,e,n,a)),t.next_in+=n,t.total_in+=n,n)}function f(t,e){var a,i,n=t.max_chain_length,r=t.strstart,s=t.prev_length,o=t.nice_match,l=t.strstart>t.w_size-ft?t.strstart-(t.w_size-ft):0,h=t.window,d=t.w_mask,f=t.prev,_=t.strstart+dt,u=h[r+s-1],c=h[r+s];t.prev_length>=t.good_match&&(n>>=2),o>t.lookahead&&(o=t.lookahead);do if(a=e,h[a+s]===c&&h[a+s-1]===u&&h[a]===h[r]&&h[++a]===h[r+1]){r+=2,a++;do;while(h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&r<_);if(i=dt-(_-r),r=_-dt,i>s){if(t.match_start=e,s=i,i>=o)break;u=h[r+s-1],c=h[r+s]}}while((e=f[e&d])>l&&0!==--n);return s<=t.lookahead?s:t.lookahead}function _(t){var e,a,i,n,r,s=t.w_size;do{if(n=t.window_size-t.lookahead-t.strstart,t.strstart>=s+(s-ft)){R.arraySet(t.window,t.window,s,s,0),t.match_start-=s,t.strstart-=s,t.block_start-=s,a=t.hash_size,e=a;do i=t.head[--e],t.head[e]=i>=s?i-s:0;while(--a);a=s,e=a;do i=t.prev[--e],t.prev[e]=i>=s?i-s:0;while(--a);n+=s}if(0===t.strm.avail_in)break;if(a=d(t.strm,t.window,t.strstart+t.lookahead,n),t.lookahead+=a,t.lookahead+t.insert>=ht)for(r=t.strstart-t.insert,t.ins_h=t.window[r],t.ins_h=(t.ins_h<<t.hash_shift^t.window[r+1])&t.hash_mask;t.insert&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[r+ht-1])&t.hash_mask,t.prev[r&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=r,r++,t.insert--,!(t.lookahead+t.insert<ht)););}while(t.lookahead<ft&&0!==t.strm.avail_in)}function u(t,e){var a=65535;for(a>t.pending_buf_size-5&&(a=t.pending_buf_size-5);;){if(t.lookahead<=1){if(_(t),0===t.lookahead&&e===I)return vt;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var i=t.block_start+a;if((0===t.strstart||t.strstart>=i)&&(t.lookahead=t.strstart-i,t.strstart=i,o(t,!1),0===t.strm.avail_out))return vt;if(t.strstart-t.block_start>=t.w_size-ft&&(o(t,!1),0===t.strm.avail_out))return vt}return t.insert=0,e===F?(o(t,!0),0===t.strm.avail_out?yt:xt):t.strstart>t.block_start&&(o(t,!1),0===t.strm.avail_out)?vt:vt}function c(t,e){for(var a,i;;){if(t.lookahead<ft){if(_(t),t.lookahead<ft&&e===I)return vt;if(0===t.lookahead)break}if(a=0,t.lookahead>=ht&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+ht-1])&t.hash_mask,a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==a&&t.strstart-a<=t.w_size-ft&&(t.match_length=f(t,a)),t.match_length>=ht)if(i=C._tr_tally(t,t.strstart-t.match_start,t.match_length-ht),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=ht){t.match_length--;do t.strstart++,t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+ht-1])&t.hash_mask,a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart;while(0!==--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+1])&t.hash_mask;else i=C._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(i&&(o(t,!1),0===t.strm.avail_out))return vt}return t.insert=t.strstart<ht-1?t.strstart:ht-1,e===F?(o(t,!0),0===t.strm.avail_out?yt:xt):t.last_lit&&(o(t,!1),0===t.strm.avail_out)?vt:kt}function b(t,e){for(var a,i,n;;){if(t.lookahead<ft){if(_(t),t.lookahead<ft&&e===I)return vt;if(0===t.lookahead)break}if(a=0,t.lookahead>=ht&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+ht-1])&t.hash_mask,a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=ht-1,0!==a&&t.prev_length<t.max_lazy_match&&t.strstart-a<=t.w_size-ft&&(t.match_length=f(t,a),t.match_length<=5&&(t.strategy===q||t.match_length===ht&&t.strstart-t.match_start>4096)&&(t.match_length=ht-1)),t.prev_length>=ht&&t.match_length<=t.prev_length){n=t.strstart+t.lookahead-ht,i=C._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-ht),t.lookahead-=t.prev_length-1,t.prev_length-=2;do++t.strstart<=n&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+ht-1])&t.hash_mask,a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart);while(0!==--t.prev_length);if(t.match_available=0,t.match_length=ht-1,t.strstart++,i&&(o(t,!1),0===t.strm.avail_out))return vt}else if(t.match_available){if(i=C._tr_tally(t,0,t.window[t.strstart-1]),i&&o(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return vt}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(i=C._tr_tally(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<ht-1?t.strstart:ht-1,e===F?(o(t,!0),0===t.strm.avail_out?yt:xt):t.last_lit&&(o(t,!1),0===t.strm.avail_out)?vt:kt}function g(t,e){for(var a,i,n,r,s=t.window;;){if(t.lookahead<=dt){if(_(t),t.lookahead<=dt&&e===I)return vt;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=ht&&t.strstart>0&&(n=t.strstart-1,i=s[n],i===s[++n]&&i===s[++n]&&i===s[++n])){r=t.strstart+dt;do;while(i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&n<r);t.match_length=dt-(r-n),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=ht?(a=C._tr_tally(t,1,t.match_length-ht),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(a=C._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),a&&(o(t,!1),0===t.strm.avail_out))return vt}return t.insert=0,e===F?(o(t,!0),0===t.strm.avail_out?yt:xt):t.last_lit&&(o(t,!1),0===t.strm.avail_out)?vt:kt}function m(t,e){for(var a;;){if(0===t.lookahead&&(_(t),0===t.lookahead)){if(e===I)return vt;break}if(t.match_length=0,a=C._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,a&&(o(t,!1),0===t.strm.avail_out))return vt}return t.insert=0,e===F?(o(t,!0),0===t.strm.avail_out?yt:xt):t.last_lit&&(o(t,!1),0===t.strm.avail_out)?vt:kt}function w(t,e,a,i,n){this.good_length=t,this.max_lazy=e,this.nice_length=a,this.max_chain=i,this.func=n}function p(t){t.window_size=2*t.w_size,r(t.head),t.max_lazy_match=Z[t.level].max_lazy,t.good_match=Z[t.level].good_length,t.nice_match=Z[t.level].nice_length,t.max_chain_length=Z[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=ht-1,t.match_available=0,t.ins_h=0}function v(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=V,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new R.Buf16(2*ot),this.dyn_dtree=new R.Buf16(2*(2*rt+1)),this.bl_tree=new R.Buf16(2*(2*st+1)),r(this.dyn_ltree),r(this.dyn_dtree),r(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new R.Buf16(lt+1),this.heap=new R.Buf16(2*nt+1),r(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new R.Buf16(2*nt+1),r(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function k(t){var e;return t&&t.state?(t.total_in=t.total_out=0,t.data_type=Q,e=t.state,e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?ut:wt,t.adler=2===e.wrap?0:1,e.last_flush=I,C._tr_init(e),H):i(t,K)}function y(t){var e=k(t);return e===H&&p(t.state),e}function x(t,e){return t&&t.state?2!==t.state.wrap?K:(t.state.gzhead=e,H):K}function z(t,e,a,n,r,s){if(!t)return K;var o=1;if(e===Y&&(e=6),n<0?(o=0,n=-n):n>15&&(o=2,n-=16),r<1||r>$||a!==V||n<8||n>15||e<0||e>9||s<0||s>W)return i(t,K);8===n&&(n=9);var l=new v;return t.state=l,l.strm=t,l.wrap=o,l.gzhead=null,l.w_bits=n,l.w_size=1<<l.w_bits,l.w_mask=l.w_size-1,l.hash_bits=r+7,l.hash_size=1<<l.hash_bits,l.hash_mask=l.hash_size-1,l.hash_shift=~~((l.hash_bits+ht-1)/ht),l.window=new R.Buf8(2*l.w_size),l.head=new R.Buf16(l.hash_size),l.prev=new R.Buf16(l.w_size),l.lit_bufsize=1<<r+6,l.pending_buf_size=4*l.lit_bufsize,l.pending_buf=new R.Buf8(l.pending_buf_size),l.d_buf=1*l.lit_bufsize,l.l_buf=3*l.lit_bufsize,l.level=e,l.strategy=s,l.method=a,y(t)}function B(t,e){return z(t,e,V,tt,et,J)}function S(t,e){var a,o,d,f;if(!t||!t.state||e>L||e<0)return t?i(t,K):K;if(o=t.state,!t.output||!t.input&&0!==t.avail_in||o.status===pt&&e!==F)return i(t,0===t.avail_out?P:K);if(o.strm=t,a=o.last_flush,o.last_flush=e,o.status===ut)if(2===o.wrap)t.adler=0,l(o,31),l(o,139),l(o,8),o.gzhead?(l(o,(o.gzhead.text?1:0)+(o.gzhead.hcrc?2:0)+(o.gzhead.extra?4:0)+(o.gzhead.name?8:0)+(o.gzhead.comment?16:0)),l(o,255&o.gzhead.time),l(o,o.gzhead.time>>8&255),l(o,o.gzhead.time>>16&255),l(o,o.gzhead.time>>24&255),l(o,9===o.level?2:o.strategy>=G||o.level<2?4:0),l(o,255&o.gzhead.os),o.gzhead.extra&&o.gzhead.extra.length&&(l(o,255&o.gzhead.extra.length),l(o,o.gzhead.extra.length>>8&255)),o.gzhead.hcrc&&(t.adler=O(t.adler,o.pending_buf,o.pending,0)),o.gzindex=0,o.status=ct):(l(o,0),l(o,0),l(o,0),l(o,0),l(o,0),l(o,9===o.level?2:o.strategy>=G||o.level<2?4:0),l(o,zt),o.status=wt);else{var _=V+(o.w_bits-8<<4)<<8,u=-1;u=o.strategy>=G||o.level<2?0:o.level<6?1:6===o.level?2:3,_|=u<<6,0!==o.strstart&&(_|=_t),_+=31-_%31,o.status=wt,h(o,_),0!==o.strstart&&(h(o,t.adler>>>16),h(o,65535&t.adler)),t.adler=1}if(o.status===ct)if(o.gzhead.extra){for(d=o.pending;o.gzindex<(65535&o.gzhead.extra.length)&&(o.pending!==o.pending_buf_size||(o.gzhead.hcrc&&o.pending>d&&(t.adler=O(t.adler,o.pending_buf,o.pending-d,d)),s(t),d=o.pending,o.pending!==o.pending_buf_size));)l(o,255&o.gzhead.extra[o.gzindex]),o.gzindex++;o.gzhead.hcrc&&o.pending>d&&(t.adler=O(t.adler,o.pending_buf,o.pending-d,d)),o.gzindex===o.gzhead.extra.length&&(o.gzindex=0,o.status=bt)}else o.status=bt;if(o.status===bt)if(o.gzhead.name){d=o.pending;do{if(o.pending===o.pending_buf_size&&(o.gzhead.hcrc&&o.pending>d&&(t.adler=O(t.adler,o.pending_buf,o.pending-d,d)),s(t),d=o.pending,o.pending===o.pending_buf_size)){f=1;break}f=o.gzindex<o.gzhead.name.length?255&o.gzhead.name.charCodeAt(o.gzindex++):0,l(o,f)}while(0!==f);o.gzhead.hcrc&&o.pending>d&&(t.adler=O(t.adler,o.pending_buf,o.pending-d,d)),0===f&&(o.gzindex=0,o.status=gt)}else o.status=gt;if(o.status===gt)if(o.gzhead.comment){d=o.pending;do{if(o.pending===o.pending_buf_size&&(o.gzhead.hcrc&&o.pending>d&&(t.adler=O(t.adler,o.pending_buf,o.pending-d,d)),s(t),d=o.pending,o.pending===o.pending_buf_size)){f=1;break}f=o.gzindex<o.gzhead.comment.length?255&o.gzhead.comment.charCodeAt(o.gzindex++):0,l(o,f)}while(0!==f);o.gzhead.hcrc&&o.pending>d&&(t.adler=O(t.adler,o.pending_buf,o.pending-d,d)),0===f&&(o.status=mt)}else o.status=mt;if(o.status===mt&&(o.gzhead.hcrc?(o.pending+2>o.pending_buf_size&&s(t),o.pending+2<=o.pending_buf_size&&(l(o,255&t.adler),l(o,t.adler>>8&255),t.adler=0,o.status=wt)):o.status=wt),0!==o.pending){if(s(t),0===t.avail_out)return o.last_flush=-1,H}else if(0===t.avail_in&&n(e)<=n(a)&&e!==F)return i(t,P);if(o.status===pt&&0!==t.avail_in)return i(t,P);if(0!==t.avail_in||0!==o.lookahead||e!==I&&o.status!==pt){var c=o.strategy===G?m(o,e):o.strategy===X?g(o,e):Z[o.level].func(o,e);if(c!==yt&&c!==xt||(o.status=pt),c===vt||c===yt)return 0===t.avail_out&&(o.last_flush=-1),H;if(c===kt&&(e===U?C._tr_align(o):e!==L&&(C._tr_stored_block(o,0,0,!1),e===T&&(r(o.head),0===o.lookahead&&(o.strstart=0,o.block_start=0,o.insert=0))),s(t),0===t.avail_out))return o.last_flush=-1,H}return e!==F?H:o.wrap<=0?j:(2===o.wrap?(l(o,255&t.adler),l(o,t.adler>>8&255),l(o,t.adler>>16&255),l(o,t.adler>>24&255),l(o,255&t.total_in),l(o,t.total_in>>8&255),l(o,t.total_in>>16&255),l(o,t.total_in>>24&255)):(h(o,t.adler>>>16),h(o,65535&t.adler)),s(t),o.wrap>0&&(o.wrap=-o.wrap),0!==o.pending?H:j)}function E(t){var e;return t&&t.state?(e=t.state.status,e!==ut&&e!==ct&&e!==bt&&e!==gt&&e!==mt&&e!==wt&&e!==pt?i(t,K):(t.state=null,e===wt?i(t,M):H)):K}function A(t,e){var a,i,n,s,o,l,h,d,f=e.length;if(!t||!t.state)return K;if(a=t.state,s=a.wrap,2===s||1===s&&a.status!==ut||a.lookahead)return K;for(1===s&&(t.adler=N(t.adler,e,f,0)),a.wrap=0,f>=a.w_size&&(0===s&&(r(a.head),a.strstart=0,a.block_start=0,a.insert=0),d=new R.Buf8(a.w_size),R.arraySet(d,e,f-a.w_size,a.w_size,0),e=d,f=a.w_size),o=t.avail_in,l=t.next_in,h=t.input,t.avail_in=f,t.next_in=0,t.input=e,_(a);a.lookahead>=ht;){i=a.strstart,n=a.lookahead-(ht-1);do a.ins_h=(a.ins_h<<a.hash_shift^a.window[i+ht-1])&a.hash_mask,a.prev[i&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=i,i++;while(--n);a.strstart=i,a.lookahead=ht-1,_(a)}return a.strstart+=a.lookahead,a.block_start=a.strstart,a.insert=a.lookahead,a.lookahead=0,a.match_length=a.prev_length=ht-1,a.match_available=0,t.next_in=l,t.input=h,t.avail_in=o,a.wrap=s,H}var Z,R=t("../utils/common"),C=t("./trees"),N=t("./adler32"),O=t("./crc32"),D=t("./messages"),I=0,U=1,T=3,F=4,L=5,H=0,j=1,K=-2,M=-3,P=-5,Y=-1,q=1,G=2,X=3,W=4,J=0,Q=2,V=8,$=9,tt=15,et=8,at=29,it=256,nt=it+1+at,rt=30,st=19,ot=2*nt+1,lt=15,ht=3,dt=258,ft=dt+ht+1,_t=32,ut=42,ct=69,bt=73,gt=91,mt=103,wt=113,pt=666,vt=1,kt=2,yt=3,xt=4,zt=3;Z=[new w(0,0,0,0,u),new w(4,4,8,4,c),new w(4,5,16,8,c),new w(4,6,32,32,c),new w(4,4,16,16,b),new w(8,16,32,32,b),new w(8,16,128,128,b),new w(8,32,128,256,b),new w(32,128,258,1024,b),new w(32,258,258,4096,b)],a.deflateInit=B,a.deflateInit2=z,a.deflateReset=y,a.deflateResetKeep=k,a.deflateSetHeader=x,a.deflate=S,a.deflateEnd=E,a.deflateSetDictionary=A,a.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":3,"./adler32":5,"./crc32":7,"./messages":13,"./trees":14}],9:[function(t,e,a){"use strict";function i(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}e.exports=i},{}],10:[function(t,e,a){"use strict";var i=30,n=12;e.exports=function(t,e){var a,r,s,o,l,h,d,f,_,u,c,b,g,m,w,p,v,k,y,x,z,B,S,E,A;a=t.state,r=t.next_in,E=t.input,s=r+(t.avail_in-5),o=t.next_out,A=t.output,l=o-(e-t.avail_out),h=o+(t.avail_out-257),d=a.dmax,f=a.wsize,_=a.whave,u=a.wnext,c=a.window,b=a.hold,g=a.bits,m=a.lencode,w=a.distcode,p=(1<<a.lenbits)-1,v=(1<<a.distbits)-1;t:do{g<15&&(b+=E[r++]<<g,g+=8,b+=E[r++]<<g,g+=8),k=m[b&p];e:for(;;){if(y=k>>>24,b>>>=y,g-=y,y=k>>>16&255,0===y)A[o++]=65535&k;else{if(!(16&y)){if(0===(64&y)){k=m[(65535&k)+(b&(1<<y)-1)];continue e}if(32&y){a.mode=n;break t}t.msg="invalid literal/length code",a.mode=i;break t}x=65535&k,y&=15,y&&(g<y&&(b+=E[r++]<<g,g+=8),x+=b&(1<<y)-1,b>>>=y,g-=y),g<15&&(b+=E[r++]<<g,g+=8,b+=E[r++]<<g,g+=8),k=w[b&v];a:for(;;){if(y=k>>>24,b>>>=y,g-=y,y=k>>>16&255,!(16&y)){if(0===(64&y)){k=w[(65535&k)+(b&(1<<y)-1)];continue a}t.msg="invalid distance code",a.mode=i;break t}if(z=65535&k,y&=15,g<y&&(b+=E[r++]<<g,g+=8,g<y&&(b+=E[r++]<<g,g+=8)),z+=b&(1<<y)-1,z>d){t.msg="invalid distance too far back",a.mode=i;break t}if(b>>>=y,g-=y,y=o-l,z>y){if(y=z-y,y>_&&a.sane){t.msg="invalid distance too far back",a.mode=i;break t}if(B=0,S=c,0===u){if(B+=f-y,y<x){x-=y;do A[o++]=c[B++];while(--y);B=o-z,S=A}}else if(u<y){if(B+=f+u-y,y-=u,y<x){x-=y;do A[o++]=c[B++];while(--y);if(B=0,u<x){y=u,x-=y;do A[o++]=c[B++];while(--y);B=o-z,S=A}}}else if(B+=u-y,y<x){x-=y;do A[o++]=c[B++];while(--y);B=o-z,S=A}for(;x>2;)A[o++]=S[B++],A[o++]=S[B++],A[o++]=S[B++],x-=3;x&&(A[o++]=S[B++],x>1&&(A[o++]=S[B++]))}else{B=o-z;do A[o++]=A[B++],A[o++]=A[B++],A[o++]=A[B++],x-=3;while(x>2);x&&(A[o++]=A[B++],x>1&&(A[o++]=A[B++]))}break}}break}}while(r<s&&o<h);x=g>>3,r-=x,g-=x<<3,b&=(1<<g)-1,t.next_in=r,t.next_out=o,t.avail_in=r<s?5+(s-r):5-(r-s),t.avail_out=o<h?257+(h-o):257-(o-h),a.hold=b,a.bits=g}},{}],11:[function(t,e,a){"use strict";function i(t){return(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function n(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new w.Buf16(320),this.work=new w.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function r(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=T,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new w.Buf32(bt),e.distcode=e.distdyn=new w.Buf32(gt),e.sane=1,e.back=-1,Z):N}function s(t){var e;return t&&t.state?(e=t.state,e.wsize=0,e.whave=0,e.wnext=0,r(t)):N}function o(t,e){var a,i;return t&&t.state?(i=t.state,e<0?(a=0,e=-e):(a=(e>>4)+1,e<48&&(e&=15)),e&&(e<8||e>15)?N:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=a,i.wbits=e,s(t))):N}function l(t,e){var a,i;return t?(i=new n,t.state=i,i.window=null,a=o(t,e),a!==Z&&(t.state=null),a):N}function h(t){return l(t,wt)}function d(t){if(pt){var e;for(g=new w.Buf32(512),m=new w.Buf32(32),e=0;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(y(z,t.lens,0,288,g,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;y(B,t.lens,0,32,m,0,t.work,{bits:5}),pt=!1}t.lencode=g,t.lenbits=9,t.distcode=m,t.distbits=5}function f(t,e,a,i){var n,r=t.state;return null===r.window&&(r.wsize=1<<r.wbits,r.wnext=0,r.whave=0,r.window=new w.Buf8(r.wsize)),i>=r.wsize?(w.arraySet(r.window,e,a-r.wsize,r.wsize,0),r.wnext=0,r.whave=r.wsize):(n=r.wsize-r.wnext,n>i&&(n=i),w.arraySet(r.window,e,a-i,n,r.wnext),i-=n,i?(w.arraySet(r.window,e,a-i,i,0),r.wnext=i,r.whave=r.wsize):(r.wnext+=n,r.wnext===r.wsize&&(r.wnext=0),r.whave<r.wsize&&(r.whave+=n))),0}function _(t,e){var a,n,r,s,o,l,h,_,u,c,b,g,m,bt,gt,mt,wt,pt,vt,kt,yt,xt,zt,Bt,St=0,Et=new w.Buf8(4),At=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!t||!t.state||!t.output||!t.input&&0!==t.avail_in)return N;a=t.state,a.mode===X&&(a.mode=W),o=t.next_out,r=t.output,h=t.avail_out,s=t.next_in,n=t.input,l=t.avail_in,_=a.hold,u=a.bits,c=l,b=h,xt=Z;t:for(;;)switch(a.mode){case T:if(0===a.wrap){a.mode=W;break}for(;u<16;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if(2&a.wrap&&35615===_){a.check=0,Et[0]=255&_,Et[1]=_>>>8&255,a.check=v(a.check,Et,2,0),_=0,u=0,a.mode=F;break}if(a.flags=0,a.head&&(a.head.done=!1),!(1&a.wrap)||(((255&_)<<8)+(_>>8))%31){t.msg="incorrect header check",a.mode=_t;break}if((15&_)!==U){t.msg="unknown compression method",a.mode=_t;break}if(_>>>=4,u-=4,yt=(15&_)+8,0===a.wbits)a.wbits=yt;else if(yt>a.wbits){t.msg="invalid window size",a.mode=_t;break}a.dmax=1<<yt,t.adler=a.check=1,a.mode=512&_?q:X,_=0,u=0;break;case F:for(;u<16;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if(a.flags=_,(255&a.flags)!==U){t.msg="unknown compression method",a.mode=_t;break}if(57344&a.flags){t.msg="unknown header flags set",a.mode=_t;break}a.head&&(a.head.text=_>>8&1),512&a.flags&&(Et[0]=255&_,Et[1]=_>>>8&255,a.check=v(a.check,Et,2,0)),_=0,u=0,a.mode=L;case L:for(;u<32;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}a.head&&(a.head.time=_),512&a.flags&&(Et[0]=255&_,Et[1]=_>>>8&255,Et[2]=_>>>16&255,Et[3]=_>>>24&255,a.check=v(a.check,Et,4,0)),_=0,u=0,a.mode=H;case H:for(;u<16;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}a.head&&(a.head.xflags=255&_,a.head.os=_>>8),512&a.flags&&(Et[0]=255&_,Et[1]=_>>>8&255,a.check=v(a.check,Et,2,0)),_=0,u=0,a.mode=j;case j:if(1024&a.flags){for(;u<16;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}a.length=_,a.head&&(a.head.extra_len=_),512&a.flags&&(Et[0]=255&_,Et[1]=_>>>8&255,a.check=v(a.check,Et,2,0)),_=0,u=0}else a.head&&(a.head.extra=null);a.mode=K;case K:if(1024&a.flags&&(g=a.length,g>l&&(g=l),g&&(a.head&&(yt=a.head.extra_len-a.length,a.head.extra||(a.head.extra=new Array(a.head.extra_len)),w.arraySet(a.head.extra,n,s,g,yt)),512&a.flags&&(a.check=v(a.check,n,g,s)),l-=g,s+=g,a.length-=g),a.length))break t;a.length=0,a.mode=M;case M:if(2048&a.flags){if(0===l)break t;g=0;do yt=n[s+g++],a.head&&yt&&a.length<65536&&(a.head.name+=String.fromCharCode(yt));while(yt&&g<l);if(512&a.flags&&(a.check=v(a.check,n,g,s)),l-=g,s+=g,yt)break t}else a.head&&(a.head.name=null);a.length=0,a.mode=P;case P:if(4096&a.flags){if(0===l)break t;g=0;do yt=n[s+g++],a.head&&yt&&a.length<65536&&(a.head.comment+=String.fromCharCode(yt));while(yt&&g<l);if(512&a.flags&&(a.check=v(a.check,n,g,s)),l-=g,s+=g,yt)break t}else a.head&&(a.head.comment=null);a.mode=Y;case Y:if(512&a.flags){for(;u<16;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if(_!==(65535&a.check)){t.msg="header crc mismatch",a.mode=_t;break}_=0,u=0}a.head&&(a.head.hcrc=a.flags>>9&1,a.head.done=!0),t.adler=a.check=0,a.mode=X;break;case q:for(;u<32;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}t.adler=a.check=i(_),_=0,u=0,a.mode=G;case G:if(0===a.havedict)return t.next_out=o,t.avail_out=h,t.next_in=s,t.avail_in=l,a.hold=_,a.bits=u,C;t.adler=a.check=1,a.mode=X;case X:if(e===E||e===A)break t;case W:if(a.last){_>>>=7&u,u-=7&u,a.mode=ht;break}for(;u<3;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}switch(a.last=1&_,_>>>=1,u-=1,3&_){case 0:a.mode=J;break;case 1:if(d(a),a.mode=at,e===A){_>>>=2,u-=2;break t}break;case 2:a.mode=$;break;case 3:t.msg="invalid block type",a.mode=_t}_>>>=2,u-=2;break;case J:for(_>>>=7&u,u-=7&u;u<32;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if((65535&_)!==(_>>>16^65535)){t.msg="invalid stored block lengths",a.mode=_t;break}if(a.length=65535&_,_=0,u=0,a.mode=Q,e===A)break t;case Q:a.mode=V;case V:if(g=a.length){if(g>l&&(g=l),g>h&&(g=h),0===g)break t;w.arraySet(r,n,s,g,o),l-=g,s+=g,h-=g,o+=g,a.length-=g;break}a.mode=X;break;case $:for(;u<14;){if(0===l)break t;
|
|
l--,_+=n[s++]<<u,u+=8}if(a.nlen=(31&_)+257,_>>>=5,u-=5,a.ndist=(31&_)+1,_>>>=5,u-=5,a.ncode=(15&_)+4,_>>>=4,u-=4,a.nlen>286||a.ndist>30){t.msg="too many length or distance symbols",a.mode=_t;break}a.have=0,a.mode=tt;case tt:for(;a.have<a.ncode;){for(;u<3;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}a.lens[At[a.have++]]=7&_,_>>>=3,u-=3}for(;a.have<19;)a.lens[At[a.have++]]=0;if(a.lencode=a.lendyn,a.lenbits=7,zt={bits:a.lenbits},xt=y(x,a.lens,0,19,a.lencode,0,a.work,zt),a.lenbits=zt.bits,xt){t.msg="invalid code lengths set",a.mode=_t;break}a.have=0,a.mode=et;case et:for(;a.have<a.nlen+a.ndist;){for(;St=a.lencode[_&(1<<a.lenbits)-1],gt=St>>>24,mt=St>>>16&255,wt=65535&St,!(gt<=u);){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if(wt<16)_>>>=gt,u-=gt,a.lens[a.have++]=wt;else{if(16===wt){for(Bt=gt+2;u<Bt;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if(_>>>=gt,u-=gt,0===a.have){t.msg="invalid bit length repeat",a.mode=_t;break}yt=a.lens[a.have-1],g=3+(3&_),_>>>=2,u-=2}else if(17===wt){for(Bt=gt+3;u<Bt;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}_>>>=gt,u-=gt,yt=0,g=3+(7&_),_>>>=3,u-=3}else{for(Bt=gt+7;u<Bt;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}_>>>=gt,u-=gt,yt=0,g=11+(127&_),_>>>=7,u-=7}if(a.have+g>a.nlen+a.ndist){t.msg="invalid bit length repeat",a.mode=_t;break}for(;g--;)a.lens[a.have++]=yt}}if(a.mode===_t)break;if(0===a.lens[256]){t.msg="invalid code -- missing end-of-block",a.mode=_t;break}if(a.lenbits=9,zt={bits:a.lenbits},xt=y(z,a.lens,0,a.nlen,a.lencode,0,a.work,zt),a.lenbits=zt.bits,xt){t.msg="invalid literal/lengths set",a.mode=_t;break}if(a.distbits=6,a.distcode=a.distdyn,zt={bits:a.distbits},xt=y(B,a.lens,a.nlen,a.ndist,a.distcode,0,a.work,zt),a.distbits=zt.bits,xt){t.msg="invalid distances set",a.mode=_t;break}if(a.mode=at,e===A)break t;case at:a.mode=it;case it:if(l>=6&&h>=258){t.next_out=o,t.avail_out=h,t.next_in=s,t.avail_in=l,a.hold=_,a.bits=u,k(t,b),o=t.next_out,r=t.output,h=t.avail_out,s=t.next_in,n=t.input,l=t.avail_in,_=a.hold,u=a.bits,a.mode===X&&(a.back=-1);break}for(a.back=0;St=a.lencode[_&(1<<a.lenbits)-1],gt=St>>>24,mt=St>>>16&255,wt=65535&St,!(gt<=u);){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if(mt&&0===(240&mt)){for(pt=gt,vt=mt,kt=wt;St=a.lencode[kt+((_&(1<<pt+vt)-1)>>pt)],gt=St>>>24,mt=St>>>16&255,wt=65535&St,!(pt+gt<=u);){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}_>>>=pt,u-=pt,a.back+=pt}if(_>>>=gt,u-=gt,a.back+=gt,a.length=wt,0===mt){a.mode=lt;break}if(32&mt){a.back=-1,a.mode=X;break}if(64&mt){t.msg="invalid literal/length code",a.mode=_t;break}a.extra=15&mt,a.mode=nt;case nt:if(a.extra){for(Bt=a.extra;u<Bt;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}a.length+=_&(1<<a.extra)-1,_>>>=a.extra,u-=a.extra,a.back+=a.extra}a.was=a.length,a.mode=rt;case rt:for(;St=a.distcode[_&(1<<a.distbits)-1],gt=St>>>24,mt=St>>>16&255,wt=65535&St,!(gt<=u);){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if(0===(240&mt)){for(pt=gt,vt=mt,kt=wt;St=a.distcode[kt+((_&(1<<pt+vt)-1)>>pt)],gt=St>>>24,mt=St>>>16&255,wt=65535&St,!(pt+gt<=u);){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}_>>>=pt,u-=pt,a.back+=pt}if(_>>>=gt,u-=gt,a.back+=gt,64&mt){t.msg="invalid distance code",a.mode=_t;break}a.offset=wt,a.extra=15&mt,a.mode=st;case st:if(a.extra){for(Bt=a.extra;u<Bt;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}a.offset+=_&(1<<a.extra)-1,_>>>=a.extra,u-=a.extra,a.back+=a.extra}if(a.offset>a.dmax){t.msg="invalid distance too far back",a.mode=_t;break}a.mode=ot;case ot:if(0===h)break t;if(g=b-h,a.offset>g){if(g=a.offset-g,g>a.whave&&a.sane){t.msg="invalid distance too far back",a.mode=_t;break}g>a.wnext?(g-=a.wnext,m=a.wsize-g):m=a.wnext-g,g>a.length&&(g=a.length),bt=a.window}else bt=r,m=o-a.offset,g=a.length;g>h&&(g=h),h-=g,a.length-=g;do r[o++]=bt[m++];while(--g);0===a.length&&(a.mode=it);break;case lt:if(0===h)break t;r[o++]=a.length,h--,a.mode=it;break;case ht:if(a.wrap){for(;u<32;){if(0===l)break t;l--,_|=n[s++]<<u,u+=8}if(b-=h,t.total_out+=b,a.total+=b,b&&(t.adler=a.check=a.flags?v(a.check,r,b,o-b):p(a.check,r,b,o-b)),b=h,(a.flags?_:i(_))!==a.check){t.msg="incorrect data check",a.mode=_t;break}_=0,u=0}a.mode=dt;case dt:if(a.wrap&&a.flags){for(;u<32;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if(_!==(4294967295&a.total)){t.msg="incorrect length check",a.mode=_t;break}_=0,u=0}a.mode=ft;case ft:xt=R;break t;case _t:xt=O;break t;case ut:return D;case ct:default:return N}return t.next_out=o,t.avail_out=h,t.next_in=s,t.avail_in=l,a.hold=_,a.bits=u,(a.wsize||b!==t.avail_out&&a.mode<_t&&(a.mode<ht||e!==S))&&f(t,t.output,t.next_out,b-t.avail_out)?(a.mode=ut,D):(c-=t.avail_in,b-=t.avail_out,t.total_in+=c,t.total_out+=b,a.total+=b,a.wrap&&b&&(t.adler=a.check=a.flags?v(a.check,r,b,t.next_out-b):p(a.check,r,b,t.next_out-b)),t.data_type=a.bits+(a.last?64:0)+(a.mode===X?128:0)+(a.mode===at||a.mode===Q?256:0),(0===c&&0===b||e===S)&&xt===Z&&(xt=I),xt)}function u(t){if(!t||!t.state)return N;var e=t.state;return e.window&&(e.window=null),t.state=null,Z}function c(t,e){var a;return t&&t.state?(a=t.state,0===(2&a.wrap)?N:(a.head=e,e.done=!1,Z)):N}function b(t,e){var a,i,n,r=e.length;return t&&t.state?(a=t.state,0!==a.wrap&&a.mode!==G?N:a.mode===G&&(i=1,i=p(i,e,r,0),i!==a.check)?O:(n=f(t,e,r,r))?(a.mode=ut,D):(a.havedict=1,Z)):N}var g,m,w=t("../utils/common"),p=t("./adler32"),v=t("./crc32"),k=t("./inffast"),y=t("./inftrees"),x=0,z=1,B=2,S=4,E=5,A=6,Z=0,R=1,C=2,N=-2,O=-3,D=-4,I=-5,U=8,T=1,F=2,L=3,H=4,j=5,K=6,M=7,P=8,Y=9,q=10,G=11,X=12,W=13,J=14,Q=15,V=16,$=17,tt=18,et=19,at=20,it=21,nt=22,rt=23,st=24,ot=25,lt=26,ht=27,dt=28,ft=29,_t=30,ut=31,ct=32,bt=852,gt=592,mt=15,wt=mt,pt=!0;a.inflateReset=s,a.inflateReset2=o,a.inflateResetKeep=r,a.inflateInit=h,a.inflateInit2=l,a.inflate=_,a.inflateEnd=u,a.inflateGetHeader=c,a.inflateSetDictionary=b,a.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":3,"./adler32":5,"./crc32":7,"./inffast":10,"./inftrees":12}],12:[function(t,e,a){"use strict";var i=t("../utils/common"),n=15,r=852,s=592,o=0,l=1,h=2,d=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],f=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],_=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],u=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];e.exports=function(t,e,a,c,b,g,m,w){var p,v,k,y,x,z,B,S,E,A=w.bits,Z=0,R=0,C=0,N=0,O=0,D=0,I=0,U=0,T=0,F=0,L=null,H=0,j=new i.Buf16(n+1),K=new i.Buf16(n+1),M=null,P=0;for(Z=0;Z<=n;Z++)j[Z]=0;for(R=0;R<c;R++)j[e[a+R]]++;for(O=A,N=n;N>=1&&0===j[N];N--);if(O>N&&(O=N),0===N)return b[g++]=20971520,b[g++]=20971520,w.bits=1,0;for(C=1;C<N&&0===j[C];C++);for(O<C&&(O=C),U=1,Z=1;Z<=n;Z++)if(U<<=1,U-=j[Z],U<0)return-1;if(U>0&&(t===o||1!==N))return-1;for(K[1]=0,Z=1;Z<n;Z++)K[Z+1]=K[Z]+j[Z];for(R=0;R<c;R++)0!==e[a+R]&&(m[K[e[a+R]]++]=R);if(t===o?(L=M=m,z=19):t===l?(L=d,H-=257,M=f,P-=257,z=256):(L=_,M=u,z=-1),F=0,R=0,Z=C,x=g,D=O,I=0,k=-1,T=1<<O,y=T-1,t===l&&T>r||t===h&&T>s)return 1;for(var Y=0;;){Y++,B=Z-I,m[R]<z?(S=0,E=m[R]):m[R]>z?(S=M[P+m[R]],E=L[H+m[R]]):(S=96,E=0),p=1<<Z-I,v=1<<D,C=v;do v-=p,b[x+(F>>I)+v]=B<<24|S<<16|E|0;while(0!==v);for(p=1<<Z-1;F&p;)p>>=1;if(0!==p?(F&=p-1,F+=p):F=0,R++,0===--j[Z]){if(Z===N)break;Z=e[a+m[R]]}if(Z>O&&(F&y)!==k){for(0===I&&(I=O),x+=C,D=Z-I,U=1<<D;D+I<N&&(U-=j[D+I],!(U<=0));)D++,U<<=1;if(T+=1<<D,t===l&&T>r||t===h&&T>s)return 1;k=F&y,b[k]=O<<24|D<<16|x-g|0}}return 0!==F&&(b[x+F]=Z-I<<24|64<<16|0),w.bits=O,0}},{"../utils/common":3}],13:[function(t,e,a){"use strict";e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],14:[function(t,e,a){"use strict";function i(t){for(var e=t.length;--e>=0;)t[e]=0}function n(t,e,a,i,n){this.static_tree=t,this.extra_bits=e,this.extra_base=a,this.elems=i,this.max_length=n,this.has_stree=t&&t.length}function r(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}function s(t){return t<256?lt[t]:lt[256+(t>>>7)]}function o(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function l(t,e,a){t.bi_valid>W-a?(t.bi_buf|=e<<t.bi_valid&65535,o(t,t.bi_buf),t.bi_buf=e>>W-t.bi_valid,t.bi_valid+=a-W):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=a)}function h(t,e,a){l(t,a[2*e],a[2*e+1])}function d(t,e){var a=0;do a|=1&t,t>>>=1,a<<=1;while(--e>0);return a>>>1}function f(t){16===t.bi_valid?(o(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}function _(t,e){var a,i,n,r,s,o,l=e.dyn_tree,h=e.max_code,d=e.stat_desc.static_tree,f=e.stat_desc.has_stree,_=e.stat_desc.extra_bits,u=e.stat_desc.extra_base,c=e.stat_desc.max_length,b=0;for(r=0;r<=X;r++)t.bl_count[r]=0;for(l[2*t.heap[t.heap_max]+1]=0,a=t.heap_max+1;a<G;a++)i=t.heap[a],r=l[2*l[2*i+1]+1]+1,r>c&&(r=c,b++),l[2*i+1]=r,i>h||(t.bl_count[r]++,s=0,i>=u&&(s=_[i-u]),o=l[2*i],t.opt_len+=o*(r+s),f&&(t.static_len+=o*(d[2*i+1]+s)));if(0!==b){do{for(r=c-1;0===t.bl_count[r];)r--;t.bl_count[r]--,t.bl_count[r+1]+=2,t.bl_count[c]--,b-=2}while(b>0);for(r=c;0!==r;r--)for(i=t.bl_count[r];0!==i;)n=t.heap[--a],n>h||(l[2*n+1]!==r&&(t.opt_len+=(r-l[2*n+1])*l[2*n],l[2*n+1]=r),i--)}}function u(t,e,a){var i,n,r=new Array(X+1),s=0;for(i=1;i<=X;i++)r[i]=s=s+a[i-1]<<1;for(n=0;n<=e;n++){var o=t[2*n+1];0!==o&&(t[2*n]=d(r[o]++,o))}}function c(){var t,e,a,i,r,s=new Array(X+1);for(a=0,i=0;i<K-1;i++)for(dt[i]=a,t=0;t<1<<et[i];t++)ht[a++]=i;for(ht[a-1]=i,r=0,i=0;i<16;i++)for(ft[i]=r,t=0;t<1<<at[i];t++)lt[r++]=i;for(r>>=7;i<Y;i++)for(ft[i]=r<<7,t=0;t<1<<at[i]-7;t++)lt[256+r++]=i;for(e=0;e<=X;e++)s[e]=0;for(t=0;t<=143;)st[2*t+1]=8,t++,s[8]++;for(;t<=255;)st[2*t+1]=9,t++,s[9]++;for(;t<=279;)st[2*t+1]=7,t++,s[7]++;for(;t<=287;)st[2*t+1]=8,t++,s[8]++;for(u(st,P+1,s),t=0;t<Y;t++)ot[2*t+1]=5,ot[2*t]=d(t,5);_t=new n(st,et,M+1,P,X),ut=new n(ot,at,0,Y,X),ct=new n(new Array(0),it,0,q,J)}function b(t){var e;for(e=0;e<P;e++)t.dyn_ltree[2*e]=0;for(e=0;e<Y;e++)t.dyn_dtree[2*e]=0;for(e=0;e<q;e++)t.bl_tree[2*e]=0;t.dyn_ltree[2*Q]=1,t.opt_len=t.static_len=0,t.last_lit=t.matches=0}function g(t){t.bi_valid>8?o(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0}function m(t,e,a,i){g(t),i&&(o(t,a),o(t,~a)),N.arraySet(t.pending_buf,t.window,e,a,t.pending),t.pending+=a}function w(t,e,a,i){var n=2*e,r=2*a;return t[n]<t[r]||t[n]===t[r]&&i[e]<=i[a]}function p(t,e,a){for(var i=t.heap[a],n=a<<1;n<=t.heap_len&&(n<t.heap_len&&w(e,t.heap[n+1],t.heap[n],t.depth)&&n++,!w(e,i,t.heap[n],t.depth));)t.heap[a]=t.heap[n],a=n,n<<=1;t.heap[a]=i}function v(t,e,a){var i,n,r,o,d=0;if(0!==t.last_lit)do i=t.pending_buf[t.d_buf+2*d]<<8|t.pending_buf[t.d_buf+2*d+1],n=t.pending_buf[t.l_buf+d],d++,0===i?h(t,n,e):(r=ht[n],h(t,r+M+1,e),o=et[r],0!==o&&(n-=dt[r],l(t,n,o)),i--,r=s(i),h(t,r,a),o=at[r],0!==o&&(i-=ft[r],l(t,i,o)));while(d<t.last_lit);h(t,Q,e)}function k(t,e){var a,i,n,r=e.dyn_tree,s=e.stat_desc.static_tree,o=e.stat_desc.has_stree,l=e.stat_desc.elems,h=-1;for(t.heap_len=0,t.heap_max=G,a=0;a<l;a++)0!==r[2*a]?(t.heap[++t.heap_len]=h=a,t.depth[a]=0):r[2*a+1]=0;for(;t.heap_len<2;)n=t.heap[++t.heap_len]=h<2?++h:0,r[2*n]=1,t.depth[n]=0,t.opt_len--,o&&(t.static_len-=s[2*n+1]);for(e.max_code=h,a=t.heap_len>>1;a>=1;a--)p(t,r,a);n=l;do a=t.heap[1],t.heap[1]=t.heap[t.heap_len--],p(t,r,1),i=t.heap[1],t.heap[--t.heap_max]=a,t.heap[--t.heap_max]=i,r[2*n]=r[2*a]+r[2*i],t.depth[n]=(t.depth[a]>=t.depth[i]?t.depth[a]:t.depth[i])+1,r[2*a+1]=r[2*i+1]=n,t.heap[1]=n++,p(t,r,1);while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],_(t,e),u(r,h,t.bl_count)}function y(t,e,a){var i,n,r=-1,s=e[1],o=0,l=7,h=4;for(0===s&&(l=138,h=3),e[2*(a+1)+1]=65535,i=0;i<=a;i++)n=s,s=e[2*(i+1)+1],++o<l&&n===s||(o<h?t.bl_tree[2*n]+=o:0!==n?(n!==r&&t.bl_tree[2*n]++,t.bl_tree[2*V]++):o<=10?t.bl_tree[2*$]++:t.bl_tree[2*tt]++,o=0,r=n,0===s?(l=138,h=3):n===s?(l=6,h=3):(l=7,h=4))}function x(t,e,a){var i,n,r=-1,s=e[1],o=0,d=7,f=4;for(0===s&&(d=138,f=3),i=0;i<=a;i++)if(n=s,s=e[2*(i+1)+1],!(++o<d&&n===s)){if(o<f){do h(t,n,t.bl_tree);while(0!==--o)}else 0!==n?(n!==r&&(h(t,n,t.bl_tree),o--),h(t,V,t.bl_tree),l(t,o-3,2)):o<=10?(h(t,$,t.bl_tree),l(t,o-3,3)):(h(t,tt,t.bl_tree),l(t,o-11,7));o=0,r=n,0===s?(d=138,f=3):n===s?(d=6,f=3):(d=7,f=4)}}function z(t){var e;for(y(t,t.dyn_ltree,t.l_desc.max_code),y(t,t.dyn_dtree,t.d_desc.max_code),k(t,t.bl_desc),e=q-1;e>=3&&0===t.bl_tree[2*nt[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}function B(t,e,a,i){var n;for(l(t,e-257,5),l(t,a-1,5),l(t,i-4,4),n=0;n<i;n++)l(t,t.bl_tree[2*nt[n]+1],3);x(t,t.dyn_ltree,e-1),x(t,t.dyn_dtree,a-1)}function S(t){var e,a=4093624447;for(e=0;e<=31;e++,a>>>=1)if(1&a&&0!==t.dyn_ltree[2*e])return D;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return I;for(e=32;e<M;e++)if(0!==t.dyn_ltree[2*e])return I;return D}function E(t){bt||(c(),bt=!0),t.l_desc=new r(t.dyn_ltree,_t),t.d_desc=new r(t.dyn_dtree,ut),t.bl_desc=new r(t.bl_tree,ct),t.bi_buf=0,t.bi_valid=0,b(t)}function A(t,e,a,i){l(t,(T<<1)+(i?1:0),3),m(t,e,a,!0)}function Z(t){l(t,F<<1,3),h(t,Q,st),f(t)}function R(t,e,a,i){var n,r,s=0;t.level>0?(t.strm.data_type===U&&(t.strm.data_type=S(t)),k(t,t.l_desc),k(t,t.d_desc),s=z(t),n=t.opt_len+3+7>>>3,r=t.static_len+3+7>>>3,r<=n&&(n=r)):n=r=a+5,a+4<=n&&e!==-1?A(t,e,a,i):t.strategy===O||r===n?(l(t,(F<<1)+(i?1:0),3),v(t,st,ot)):(l(t,(L<<1)+(i?1:0),3),B(t,t.l_desc.max_code+1,t.d_desc.max_code+1,s+1),v(t,t.dyn_ltree,t.dyn_dtree)),b(t),i&&g(t)}function C(t,e,a){return t.pending_buf[t.d_buf+2*t.last_lit]=e>>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&a,t.last_lit++,0===e?t.dyn_ltree[2*a]++:(t.matches++,e--,t.dyn_ltree[2*(ht[a]+M+1)]++,t.dyn_dtree[2*s(e)]++),t.last_lit===t.lit_bufsize-1}var N=t("../utils/common"),O=4,D=0,I=1,U=2,T=0,F=1,L=2,H=3,j=258,K=29,M=256,P=M+1+K,Y=30,q=19,G=2*P+1,X=15,W=16,J=7,Q=256,V=16,$=17,tt=18,et=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],at=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],it=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],nt=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],rt=512,st=new Array(2*(P+2));i(st);var ot=new Array(2*Y);i(ot);var lt=new Array(rt);i(lt);var ht=new Array(j-H+1);i(ht);var dt=new Array(K);i(dt);var ft=new Array(Y);i(ft);var _t,ut,ct,bt=!1;a._tr_init=E,a._tr_stored_block=A,a._tr_flush_block=R,a._tr_tally=C,a._tr_align=Z},{"../utils/common":3}],15:[function(t,e,a){"use strict";function i(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}e.exports=i},{}],"/":[function(t,e,a){"use strict";var i=t("./lib/utils/common").assign,n=t("./lib/deflate"),r=t("./lib/inflate"),s=t("./lib/zlib/constants"),o={};i(o,n,r,s),e.exports=o},{"./lib/deflate":1,"./lib/inflate":2,"./lib/utils/common":3,"./lib/zlib/constants":6}]},{},[])("/")});
|
|
|
|
/*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */
|
|
var saveAs=saveAs||function(e){"use strict";if(typeof e==="undefined"||typeof navigator!=="undefined"&&/MSIE [1-9]\./.test(navigator.userAgent)){return}var t=e.document,n=function(){return e.URL||e.webkitURL||e},r=t.createElementNS("http://www.w3.org/1999/xhtml","a"),o="download"in r,a=function(e){var t=new MouseEvent("click");e.dispatchEvent(t)},i=/constructor/i.test(e.HTMLElement)||e.safari,f=/CriOS\/[\d]+/.test(navigator.userAgent),u=function(t){(e.setImmediate||e.setTimeout)(function(){throw t},0)},s="application/octet-stream",d=1e3*40,c=function(e){var t=function(){if(typeof e==="string"){n().revokeObjectURL(e)}else{e.remove()}};setTimeout(t,d)},l=function(e,t,n){t=[].concat(t);var r=t.length;while(r--){var o=e["on"+t[r]];if(typeof o==="function"){try{o.call(e,n||e)}catch(a){u(a)}}}},p=function(e){if(/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)){return new Blob([String.fromCharCode(65279),e],{type:e.type})}return e},v=function(t,u,d){if(!d){t=p(t)}var v=this,w=t.type,m=w===s,y,h=function(){l(v,"writestart progress write writeend".split(" "))},S=function(){if((f||m&&i)&&e.FileReader){var r=new FileReader;r.onloadend=function(){var t=f?r.result:r.result.replace(/^data:[^;]*;/,"data:attachment/file;");var n=e.open(t,"_blank");if(!n)e.location.href=t;t=undefined;v.readyState=v.DONE;h()};r.readAsDataURL(t);v.readyState=v.INIT;return}if(!y){y=n().createObjectURL(t)}if(m){e.location.href=y}else{var o=e.open(y,"_blank");if(!o){e.location.href=y}}v.readyState=v.DONE;h();c(y)};v.readyState=v.INIT;if(o){y=n().createObjectURL(t);setTimeout(function(){r.href=y;r.download=u;a(r);h();c(y);v.readyState=v.DONE});return}S()},w=v.prototype,m=function(e,t,n){return new v(e,t||e.name||"download",n)};if(typeof navigator!=="undefined"&&navigator.msSaveOrOpenBlob){return function(e,t,n){t=t||e.name||"download";if(!n){e=p(e)}return navigator.msSaveOrOpenBlob(e,t)}}w.abort=function(){};w.readyState=w.INIT=0;w.WRITING=1;w.DONE=2;w.error=w.onwritestart=w.onprogress=w.onwrite=w.onabort=w.onerror=w.onwriteend=null;return m}(typeof self!=="undefined"&&self||typeof window!=="undefined"&&window||this.content);if(typeof module!=="undefined"&&module.exports){module.exports.saveAs=saveAs}else if(typeof define!=="undefined"&&define!==null&&define.amd!==null){define("FileSaver.js",function(){return saveAs})}
|
|
|
|
if(typeof define == "function" && define.__amd) {
|
|
define.amd = define.__amd;
|
|
delete define.__amd;
|
|
} |