From 3aa949f3f556a45a1d10f3b83e786562918dfa05 Mon Sep 17 00:00:00 2001 From: jussi Date: Thu, 24 Mar 2022 17:10:35 +0200 Subject: Image export functions. --- src/textures.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) (limited to 'src/textures.c') diff --git a/src/textures.c b/src/textures.c index 72d6c28..f278341 100644 --- a/src/textures.c +++ b/src/textures.c @@ -203,6 +203,56 @@ int ltexturesUnloadImage( lua_State *L ) { return 1; } +/* +> success = RL_ExportImage( Image image, string fileName ) + +Export image data to file, returns true on success + +- Failure return nil +- Success return bool +*/ +int ltexturesExportImage( lua_State *L ) { + if ( !lua_isnumber( L, -2 ) || !lua_isstring( L, -1 ) ) { + TraceLog( LOG_WARNING, "%s", "Bad call of function. RL_ExportImage( Image image, string fileName )" ); + lua_pushnil( L ); + return 1; + } + size_t id = lua_tointeger( L, -2 ); + + if ( !validImage( id ) ) { + lua_pushnil( L ); + return 1; + } + lua_pushboolean( L, ExportImage( *state->images[ id ], lua_tostring( L, -1 ) ) ); + + return 1; +} + +/* +> success = RL_ExportImageAsCode( Image image, string fileName ) + +Export image as code file defining an array of bytes, returns true on success + +- Failure return nil +- Success return bool +*/ +int ltexturesExportImageAsCode( lua_State *L ) { + if ( !lua_isnumber( L, -2 ) || !lua_isstring( L, -1 ) ) { + TraceLog( LOG_WARNING, "%s", "Bad call of function. RL_ExportImageAsCode( Image image, string fileName )" ); + lua_pushnil( L ); + return 1; + } + size_t id = lua_tointeger( L, -2 ); + + if ( !validImage( id ) ) { + lua_pushnil( L ); + return 1; + } + lua_pushboolean( L, ExportImageAsCode( *state->images[ id ], lua_tostring( L, -1 ) ) ); + + return 1; +} + /* > texture = RL_LoadTexture( string fileName ) -- cgit v1.2.3