summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--API.md20
-rw-r--r--include/textures.h2
-rw-r--r--src/core.c2
-rw-r--r--src/lua_core.c2
-rw-r--r--src/textures.c50
5 files changed, 74 insertions, 2 deletions
diff --git a/API.md b/API.md
index 58a2171..2b84520 100644
--- a/API.md
+++ b/API.md
@@ -641,7 +641,7 @@ Set title for window ( Only PLATFORM_DESKTOP )
---
-> RL_lcoreCloseWindow()
+> RL_CloseWindow()
Close window and unload OpenGL context and free all resources
@@ -1614,6 +1614,24 @@ Unload image from CPU memory ( RAM )
---
+> success = RL_ExportImage( Image image, string fileName )
+
+Export image data to file, returns true on success
+
+- Failure return nil
+- Success return bool
+
+---
+
+> 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
+
+---
+
> texture = RL_LoadTexture( string fileName )
Load texture from file into GPU memory ( VRAM )
diff --git a/include/textures.h b/include/textures.h
index fdca59e..643cdf4 100644
--- a/include/textures.h
+++ b/include/textures.h
@@ -12,6 +12,8 @@ Texture2D* texturesGetSourceTexture( size_t index );
int ltexturesLoadImage( lua_State *L );
int ltexturesGenImageColor( lua_State *L );
int ltexturesUnloadImage( lua_State *L );
+int ltexturesExportImage( lua_State *L );
+int ltexturesExportImageAsCode( lua_State *L );
int ltexturesLoadTexture( lua_State *L );
int ltexturesLoadTextureFromImage( lua_State *L );
int ltexturesUnloadTexture( lua_State *L );
diff --git a/src/core.c b/src/core.c
index c5ae5c6..5ba5274 100644
--- a/src/core.c
+++ b/src/core.c
@@ -302,7 +302,7 @@ int lcoreSetWindowTitle( lua_State *L ) {
}
/*
-> RL_lcoreCloseWindow()
+> RL_CloseWindow()
Close window and unload OpenGL context and free all resources
*/
diff --git a/src/lua_core.c b/src/lua_core.c
index e594a2f..574689e 100644
--- a/src/lua_core.c
+++ b/src/lua_core.c
@@ -521,6 +521,8 @@ void luaRegister() {
lua_register( L, "RL_LoadImage", ltexturesLoadImage );
lua_register( L, "RL_GenImageColor", ltexturesGenImageColor );
lua_register( L, "RL_UnloadImage", ltexturesUnloadImage );
+ lua_register( L, "RL_ExportImage", ltexturesExportImage );
+ lua_register( L, "RL_ExportImageAsCode", ltexturesExportImageAsCode );
lua_register( L, "RL_LoadTexture", ltexturesLoadTexture );
lua_register( L, "RL_LoadTextureFromImage", ltexturesLoadTextureFromImage );
lua_register( L, "RL_UnloadTexture", ltexturesUnloadTexture );
diff --git a/src/textures.c b/src/textures.c
index 72d6c28..f278341 100644
--- a/src/textures.c
+++ b/src/textures.c
@@ -204,6 +204,56 @@ int ltexturesUnloadImage( lua_State *L ) {
}
/*
+> 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 )
Load texture from file into GPU memory ( VRAM )