// Class: openfl.display3D.textures.TextureBase

var $global = typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this

$global.Object.defineProperty(exports, "__esModule", {value: true});

var __map_reserved = {};

// Imports

var $hxClasses = require("./../../../hxClasses_stub").default;
var $import = require("./../../../import_stub").default;
var $extend = require("./../../../extend_stub").default;
function openfl_events_EventDispatcher() {return require("./../../../openfl/events/EventDispatcher");}
function openfl__$internal_stage3D_opengl_GLTextureBase() {return require("./../../../openfl/_internal/stage3D/opengl/GLTextureBase");}

// Constructor

var TextureBase = function(context) {
	(openfl_events_EventDispatcher().default).call(this);
	this.__context = context;
	(openfl__$internal_stage3D_opengl_GLTextureBase().default).create(this,this.__context.__renderer);
}

// Meta

TextureBase.__name__ = ["openfl","display3D","textures","TextureBase"];
TextureBase.__super__ = (openfl_events_EventDispatcher().default);
TextureBase.prototype = $extend((openfl_events_EventDispatcher().default).prototype, {
	dispose: function() {
		(openfl__$internal_stage3D_opengl_GLTextureBase().default).dispose(this,this.__context.__renderer);
	},
	__getImage: function(bitmapData) {
		return (openfl__$internal_stage3D_opengl_GLTextureBase().default).getImage(this,this.__context.__renderer,bitmapData);
	},
	__getTexture: function() {
		return this.__textureID;
	},
	__setSamplerState: function(state) {
		(openfl__$internal_stage3D_opengl_GLTextureBase().default).setSamplerState(this,this.__context.__renderer,state);
	}
});
TextureBase.prototype.__class__ = $hxClasses["openfl.display3D.textures.TextureBase"] = TextureBase;

// Init



// Statics




// Export

exports.default = TextureBase;