diff options
| author | jussi | 2023-10-29 15:21:10 +0200 |
|---|---|---|
| committer | jussi | 2023-10-29 15:21:10 +0200 |
| commit | 0df40e2ac080364bcebd4fe0445b814230545477 (patch) | |
| tree | 36be0ab558d6642352c0bb3034b6e6b32471716d /src/gl.c | |
| parent | 76911d45a879838047b2845cd6124e9ca3af083a (diff) | |
| download | reilua-enhanced-0df40e2ac080364bcebd4fe0445b814230545477.tar.gz reilua-enhanced-0df40e2ac080364bcebd4fe0445b814230545477.tar.bz2 reilua-enhanced-0df40e2ac080364bcebd4fe0445b814230545477.zip | |
Shapes, RLGL, Math, Gui and Easings to new style.
Diffstat (limited to 'src/gl.c')
| -rw-r--r-- | src/gl.c | 14 |
1 files changed, 9 insertions, 5 deletions
@@ -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 ); } |
