starling-framework
Version:
A fast, productive library for 2D cross-platform development.
81 lines (63 loc) • 2.7 kB
JavaScript
// Class: starling.geom.ImmutablePolygon
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;
var $extend = require("./../../extend_stub").default;
function starling_geom_Polygon() {return require("./../../starling/geom/Polygon");}
function js__$Boot_HaxeError() {return require("./../../js/_Boot/HaxeError");}
function Type() {return require("./../../Type");}
function openfl_errors_IllegalOperationError() {return $import(require("openfl/errors/IllegalOperationError"));}
// Constructor
var ImmutablePolygon = function(vertices) {
(starling_geom_Polygon().default).call(this,vertices);
this.__frozen = true;
}
// Meta
ImmutablePolygon.__name__ = "starling.geom.ImmutablePolygon";
ImmutablePolygon.__isInterface__ = false;
ImmutablePolygon.__super__ = (starling_geom_Polygon().default);
ImmutablePolygon.prototype = $extend((starling_geom_Polygon().default).prototype, {
addVertices: function(args) {
if(this.__frozen) {
throw new (js__$Boot_HaxeError().default)(this.getImmutableError());
} else {
(starling_geom_Polygon().default).prototype.addVertices.call(this,args);
}
},
setVertex: function(index,x,y) {
if(this.__frozen) {
throw new (js__$Boot_HaxeError().default)(this.getImmutableError());
} else {
(starling_geom_Polygon().default).prototype.setVertex.call(this,index,x,y);
}
},
reverse: function() {
if(this.__frozen) {
throw new (js__$Boot_HaxeError().default)(this.getImmutableError());
} else {
(starling_geom_Polygon().default).prototype.reverse.call(this);
}
},
set_numVertices: function(value) {
if(this.__frozen) {
throw new (js__$Boot_HaxeError().default)(this.getImmutableError());
} else {
(starling_geom_Polygon().default).prototype.reverse.call(this);
}
return (starling_geom_Polygon().default).prototype.get_numVertices.call(this);
},
getImmutableError: function() {
var className = (Type().default).getClassName((Type().default).getClass(this)).split(".").pop();
var msg = className + " cannot be modified. Call 'clone' to create a mutable copy.";
return new (openfl_errors_IllegalOperationError().default)(msg);
}
});
ImmutablePolygon.prototype.__class__ = ImmutablePolygon.prototype.constructor = $hxClasses["starling.geom.ImmutablePolygon"] = ImmutablePolygon;
// Init
// Statics
// Export
exports.default = ImmutablePolygon;