diff options
| author | jussi | 2025-05-02 16:09:33 +0300 |
|---|---|---|
| committer | jussi | 2025-05-02 16:09:33 +0300 |
| commit | 6a4f8ab4a3573fe79bab93528750e1a87de24a58 (patch) | |
| tree | a55733fee47762fd11060b7fcccbff743de05229 /src | |
| parent | 3471e4514ffae28cab3fb926c86e5bf461723ac9 (diff) | |
| download | reilua-enhanced-6a4f8ab4a3573fe79bab93528750e1a87de24a58.tar.gz reilua-enhanced-6a4f8ab4a3573fe79bab93528750e1a87de24a58.tar.bz2 reilua-enhanced-6a4f8ab4a3573fe79bab93528750e1a87de24a58.zip | |
SetImageData.
Diffstat (limited to 'src')
| -rw-r--r-- | src/lua_core.c | 1 | ||||
| -rw-r--r-- | src/textures.c | 28 |
2 files changed, 24 insertions, 5 deletions
diff --git a/src/lua_core.c b/src/lua_core.c index 29a6bf8..e29b2ee 100644 --- a/src/lua_core.c +++ b/src/lua_core.c @@ -1916,6 +1916,7 @@ void luaRegister() { assingGlobalFunction( "GetImageAlphaBorder", ltexturesGetImageAlphaBorder ); assingGlobalFunction( "GetImageColor", ltexturesGetImageColor ); /* Image configuration functions. */ + assingGlobalFunction( "SetImageData", ltexturesSetImageData ); assingGlobalFunction( "GetImageData", ltexturesGetImageData ); assingGlobalFunction( "GetImageSize", ltexturesGetImageSize ); assingGlobalFunction( "GetImageMipmaps", ltexturesGetImageMipmaps ); diff --git a/src/textures.c b/src/textures.c index 89b6e8f..b6ddcb7 100644 --- a/src/textures.c +++ b/src/textures.c @@ -3,6 +3,7 @@ #include "textures.h" #include "text.h" #include "lua_core.h" +#include "rmath.h" /* ## Textures - Image loading functions @@ -931,6 +932,23 @@ int ltexturesGetImageColor( lua_State* L ) { */ /* +> RL.SetImageData( Image image, Buffer data ) + +Set image data from Buffer +*/ +int ltexturesSetImageData( lua_State* L ) { + Image* image = uluaGetImage( L, 1 ); + Buffer* data = uluaGetBuffer( L, 2 ); + + memcpy( image->data, data->data, imin( + GetPixelDataSize( image->width, image->height, image->format ), + data->size + ) ); + + return 0; +} + +/* > imageData = RL.GetImageData( Image image ) Get image data as Buffer @@ -1127,7 +1145,7 @@ int ltexturesImageDrawRectangleLines( lua_State* L ) { } /* -> RL.ImageDrawTriangle( Image *dst, Vector2 v1, Vector2 v2, Vector2 v3, Color color ) +> RL.ImageDrawTriangle( Image dst, Vector2 v1, Vector2 v2, Vector2 v3, Color color ) Draw triangle within an image */ @@ -1144,7 +1162,7 @@ int ltexturesImageDrawTriangle( lua_State* L ) { } /* -> RL.ImageDrawTriangleEx( Image *dst, Vector2 v1, Vector2 v2, Vector2 v3, Color c1, Color c2, Color c3 ) +> RL.ImageDrawTriangleEx( Image dst, Vector2 v1, Vector2 v2, Vector2 v3, Color c1, Color c2, Color c3 ) Draw triangle with interpolated colors within an image */ @@ -1163,7 +1181,7 @@ int ltexturesImageDrawTriangleEx( lua_State* L ) { } /* -> RL.ImageDrawTriangleLines( Image *dst, Vector2 v1, Vector2 v2, Vector2 v3, Color color ) +> RL.ImageDrawTriangleLines( Image dst, Vector2 v1, Vector2 v2, Vector2 v3, Color color ) Draw triangle outline within an image */ @@ -1180,7 +1198,7 @@ int ltexturesImageDrawTriangleLines( lua_State* L ) { } /* -> RL.ImageDrawTriangleFan( Image *dst, Vector2{} points, Color color ) +> RL.ImageDrawTriangleFan( Image dst, Vector2{} points, Color color ) Draw a triangle fan defined by points within an image (first vertex is the center) */ @@ -1197,7 +1215,7 @@ int ltexturesImageDrawTriangleFan( lua_State* L ) { } /* -> RL.ImageDrawTriangleStrip( Image *dst, Vector2{} points, Color color ) +> RL.ImageDrawTriangleStrip( Image dst, Vector2{} points, Color color ) Draw a triangle strip defined by points within an image */ |
