From 0df40e2ac080364bcebd4fe0445b814230545477 Mon Sep 17 00:00:00 2001 From: jussi Date: Sun, 29 Oct 2023 15:21:10 +0200 Subject: Shapes, RLGL, Math, Gui and Easings to new style. --- src/gl.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'src/gl.c') diff --git a/src/gl.c b/src/gl.c index 0c80867..f0e3836 100644 --- a/src/gl.c +++ b/src/gl.c @@ -15,25 +15,29 @@ Copy a block of pixels from one framebuffer object to another. Use -1 RenderTexture for window framebuffer. */ int lglBlitFramebuffer( lua_State *L ) { - // TODO Currently doesn't support setting window render target because of luaL_checkudata. - RenderTexture *srcTex = luaL_checkudata( L, 1, "RenderTexture" ); - RenderTexture *dstTex = luaL_checkudata( L, 2, "RenderTexture" ); + if ( !( lua_isuserdata( L, 1 ) || lua_isnil( L, 1 ) ) || !( lua_isuserdata( L, 2 ) || lua_isnil( L, 2 ) ) ) { + TraceLog( state->logLevelInvalid, "%s", "Argument needs to be RenderTexture or nil" ); + lua_pushnil( L ); + return 1; + } Rectangle srcRect = uluaGetRectangleIndex( L, 3 ); Rectangle dstRect = uluaGetRectangleIndex( L, 4 ); int mask = luaL_checkinteger( L, 5 ); int filter = luaL_checkinteger( L, 6 ); - if ( lua_tointeger( L, 1 ) == -1 ) { + if ( lua_isnil( L, 1 ) ) { glBindFramebuffer( GL_READ_FRAMEBUFFER, 0 ); } else { + RenderTexture *srcTex = luaL_checkudata( L, 1, "RenderTexture" ); glBindFramebuffer( GL_READ_FRAMEBUFFER, srcTex->id ); } - if ( lua_tointeger( L, 2 ) == -1 ) { + if ( lua_isnil( L, 2 ) ) { glBindFramebuffer( GL_DRAW_FRAMEBUFFER, 0 ); } else { + RenderTexture *dstTex = luaL_checkudata( L, 2, "RenderTexture" ); glBindFramebuffer( GL_DRAW_FRAMEBUFFER, dstTex->id ); } -- cgit v1.2.3