All Downloads are FREE. Search and download functionalities are using the official Maven repository.

edia.jtransc-media-lime.0.3.2.source-code.HaxeLimeRender.hx Maven / Gradle / Ivy

import lime.app.Application;
import lime.graphics.Renderer;
import lime.graphics.FlashRenderContext;
import lime.graphics.GLRenderContext;

class HaxeLimeRender {
    static public var impl:HaxeLimeRenderImpl;
    static public var width:Int = 640;
    static public var height:Int = 480;

    static public function setRenderer(renderer:Renderer) {
        if (HaxeLimeRender.impl != null) return;
        HaxeLimeRender.impl = switch (renderer.context) {
            #if flash
            case FLASH(sprite): new HaxeLimeRenderFlash(sprite);
            #else
            case OPENGL(gl): new HaxeLimeRenderGL(gl);
            #end
            default: throw 'Not supported renderer $renderer';
        }
    }

    static public function isInitialized() {
        if (HaxeLimeRender.impl == null) return false;
        return HaxeLimeRender.impl.isInitialized();
    }

    static public function createTexture(path:String, width:Int, height:Int):Int {
        return impl.createTexture(path, width, height);
    }

    static public function createTextureMemory(data:haxe.io.Int32Array, width:Int, height:Int, format:Int):Int {
        return impl.createTextureMemory(data, width, height, format);
    }

    static public function disposeTexture(id:Int):Void {
        return impl.disposeTexture(id);
    }

    static public function render(
        _vertices:haxe.io.Float32Array, vertexCount:Int,
        _indices:haxe.io.UInt16Array, indexCount:Int,
        _batches:haxe.io.Int32Array, batchCount:Int
    ):Void {
        return impl.render(
            _vertices, vertexCount,
            _indices, indexCount,
            _batches, batchCount
        );
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy