starling-framework
Version:
A fast, productive library for 2D cross-platform development.
130 lines (113 loc) • 2.86 kB
JavaScript
// Class: starling.extensions.ColorArgb
var $global = typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this
$global.Object.defineProperty(exports, "__esModule", {value: true});
var __map_reserved = {};
// Imports
var $hxClasses = require("./../../hxClasses_stub").default;
var $hxEnums = require("./../../hxEnums_stub").default;
var $import = require("./../../import_stub").default;
function Std() {return require("./../../Std");}
// Constructor
var ColorArgb = function(red,green,blue,alpha) {
if(alpha == null) {
alpha = 0;
}
if(blue == null) {
blue = 0;
}
if(green == null) {
green = 0;
}
if(red == null) {
red = 0;
}
this.red = red;
this.green = green;
this.blue = blue;
this.alpha = alpha;
}
// Meta
ColorArgb.__name__ = "starling.extensions.ColorArgb";
ColorArgb.__isInterface__ = false;
ColorArgb.prototype = {
toRgb: function() {
var r = this.red;
if(r < 0.0) {
r = 0.0;
} else if(r > 1.0) {
r = 1.0;
}
var g = this.green;
if(g < 0.0) {
g = 0.0;
} else if(g > 1.0) {
g = 1.0;
}
var b = this.blue;
if(b < 0.0) {
b = 0.0;
} else if(b > 1.0) {
b = 1.0;
}
return (Std().default).int(r * 255) << 16 | (Std().default).int(g * 255) << 8 | (Std().default).int(b * 255);
},
toArgb: function() {
var a = this.alpha;
if(a < 0.0) {
a = 0.0;
} else if(a > 1.0) {
a = 1.0;
}
var r = this.red;
if(r < 0.0) {
r = 0.0;
} else if(r > 1.0) {
r = 1.0;
}
var g = this.green;
if(g < 0.0) {
g = 0.0;
} else if(g > 1.0) {
g = 1.0;
}
var b = this.blue;
if(b < 0.0) {
b = 0.0;
} else if(b > 1.0) {
b = 1.0;
}
return (Std().default).int((Std().default).int(a * 255) << 24 | (Std().default).int(r * 255) << 16 | (Std().default).int(g * 255) << 8 | (Std().default).int(b * 255));
},
_fromRgb: function(color) {
this.red = ((Std().default).int(color >> 16) & 255) / 255.0;
this.green = ((Std().default).int(color >> 8) & 255) / 255.0;
this.blue = (color & 255) / 255.0;
},
_fromArgb: function(color) {
this.red = ((Std().default).int(color >> 16) & 255) / 255.0;
this.green = ((Std().default).int(color >> 8) & 255) / 255.0;
this.blue = (color & 255) / 255.0;
this.alpha = ((Std().default).int(color >> 24) & 255) / 255.0;
},
copyFrom: function(argb) {
this.red = argb.red;
this.green = argb.green;
this.blue = argb.blue;
this.alpha = argb.alpha;
}
};
ColorArgb.prototype.__class__ = ColorArgb.prototype.constructor = $hxClasses["starling.extensions.ColorArgb"] = ColorArgb;
// Init
// Statics
ColorArgb.fromRgb = function(color) {
var rgb = new ColorArgb();
rgb._fromRgb(color);
return rgb;
}
ColorArgb.fromArgb = function(color) {
var argb = new ColorArgb();
argb._fromArgb(color);
return argb;
}
// Export
exports.default = ColorArgb;