From 6656c1be2b2f5d266645742e6d4c7f910b3f30b3 Mon Sep 17 00:00:00 2001 From: Joe Onorato Date: Thu, 14 Jan 2010 15:59:35 -0500 Subject: add drawSpriteScreenspaceCropped to renderscript --- libs/rs/rsScriptC_Lib.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'libs/rs/rsScriptC_Lib.cpp') diff --git a/libs/rs/rsScriptC_Lib.cpp b/libs/rs/rsScriptC_Lib.cpp index 23888ff..de8df39 100644 --- a/libs/rs/rsScriptC_Lib.cpp +++ b/libs/rs/rsScriptC_Lib.cpp @@ -776,6 +776,17 @@ static void SC_drawSpriteScreenspace(float x, float y, float z, float w, float h glDrawTexfOES(x, y, z, w, h); } +static void SC_drawSpriteScreenspaceCropped(float x, float y, float z, float w, float h, + float cx0, float cy0, float cx1, float cy1) +{ + GET_TLS(); + rsc->setupCheck(); + + GLint crop[4] = {cx0, cy0, cx1, cy1}; + glTexParameteriv(GL_TEXTURE_2D, GL_TEXTURE_CROP_RECT_OES, crop); + glDrawTexfOES(x, y, z, w, h); +} + static void SC_drawSprite(float x, float y, float z, float w, float h) { GET_TLS(); @@ -1271,6 +1282,8 @@ ScriptCState::SymbolTable_t ScriptCState::gSyms[] = { "void", "(float x, float y, float z, float w, float h)" }, { "drawSpriteScreenspace", (void *)&SC_drawSpriteScreenspace, "void", "(float x, float y, float z, float w, float h)" }, + { "drawSpriteScreenspaceCropped", (void *)&SC_drawSpriteScreenspaceCropped, + "void", "(float x, float y, float z, float w, float h, float cx0, float cy0, float cx1, float cy1)" }, { "drawLine", (void *)&SC_drawLine, "void", "(float x1, float y1, float z1, float x2, float y2, float z2)" }, { "drawPoint", (void *)&SC_drawPoint, -- cgit v1.1