UNPKG

starling-framework

Version:

A fast, productive library for 2D cross-platform development.

89 lines (71 loc) 3.01 kB
// Class: starling.textures.ConcreteVideoTexture 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 $bind = require("./../../bind_stub").default; var $extend = require("./../../extend_stub").default; function starling_textures_ConcreteTexture() {return require("./../../starling/textures/ConcreteTexture");} function starling_core_Starling() {return require("./../../starling/core/Starling");} function Reflect() {return require("./../../Reflect");} // Constructor var ConcreteVideoTexture = function(base,scale) { if(scale == null) { scale = 1; } (starling_textures_ConcreteTexture().default).call(this,base,"bgra",base.videoWidth,base.videoHeight,false,false,false,scale); } // Meta ConcreteVideoTexture.__name__ = "starling.textures.ConcreteVideoTexture"; ConcreteVideoTexture.__isInterface__ = false; ConcreteVideoTexture.__super__ = (starling_textures_ConcreteTexture().default); ConcreteVideoTexture.prototype = $extend((starling_textures_ConcreteTexture().default).prototype, { dispose: function() { this.get_base().removeEventListener("textureReady",$bind(this,this.onTextureReady)); if(!this._disposed) { this.get_videoBase().attachNetStream(null); this._disposed = true; } (starling_textures_ConcreteTexture().default).prototype.dispose.call(this); }, createBase: function() { return (starling_core_Starling().default).get_current().get_context().createVideoTexture(); }, attachVideo: function(type,attachment,onComplete) { this._textureReadyCallback = onComplete; var method = (Reflect().default).field(this.get_base(),"attach" + type); (Reflect().default).callMethod(this.get_base(),method,[attachment]); this.get_base().addEventListener("textureReady",$bind(this,this.onTextureReady)); this.setDataUploaded(); }, onTextureReady: function(event) { this.get_base().removeEventListener("textureReady",$bind(this,this.onTextureReady)); if(this._textureReadyCallback != null) { this._textureReadyCallback(this); } this._textureReadyCallback = null; }, get_nativeWidth: function() { return this.get_videoBase().videoWidth; }, get_nativeHeight: function() { return this.get_videoBase().videoHeight; }, get_width: function() { return this.get_nativeWidth() / this.get_scale(); }, get_height: function() { return this.get_nativeHeight() / this.get_scale(); }, get_videoBase: function() { return this.get_base(); } }); ConcreteVideoTexture.prototype.__class__ = ConcreteVideoTexture.prototype.constructor = $hxClasses["starling.textures.ConcreteVideoTexture"] = ConcreteVideoTexture; // Init // Statics // Export exports.default = ConcreteVideoTexture;