diff options
| author | jussi | 2022-02-27 19:31:28 +0200 |
|---|---|---|
| committer | jussi | 2022-02-27 19:31:28 +0200 |
| commit | c3ae0a6c28316174891f8361ee0226d699a24013 (patch) | |
| tree | 5e6ece761d9fda650ceef7e2dd2b164ce6e6ce57 /src/lua_core.c | |
| parent | da446b40b6923a08ce1f12f01bb93522c97683fe (diff) | |
| download | reilua-enhanced-c3ae0a6c28316174891f8361ee0226d699a24013.tar.gz reilua-enhanced-c3ae0a6c28316174891f8361ee0226d699a24013.tar.bz2 reilua-enhanced-c3ae0a6c28316174891f8361ee0226d699a24013.zip | |
Color pixel functions.
Diffstat (limited to 'src/lua_core.c')
| -rw-r--r-- | src/lua_core.c | 85 |
1 files changed, 82 insertions, 3 deletions
diff --git a/src/lua_core.c b/src/lua_core.c index d7204f5..55e0fda 100644 --- a/src/lua_core.c +++ b/src/lua_core.c @@ -168,6 +168,28 @@ void defineGlobals() { assignGlobalInt( GESTURE_SWIPE_DOWN, "GESTURE_SWIPE_DOWN" ); assignGlobalInt( GESTURE_PINCH_IN, "GESTURE_PINCH_IN" ); assignGlobalInt( GESTURE_PINCH_OUT, "GESTURE_PINCH_OUT" ); + /* PixelFormats */ + assignGlobalInt( PIXELFORMAT_UNCOMPRESSED_GRAYSCALE, "PIXELFORMAT_UNCOMPRESSED_GRAYSCALE" ); + assignGlobalInt( PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA, "PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA" ); + assignGlobalInt( PIXELFORMAT_UNCOMPRESSED_R5G6B5, "PIXELFORMAT_UNCOMPRESSED_R5G6B5" ); + assignGlobalInt( PIXELFORMAT_UNCOMPRESSED_R8G8B8, "PIXELFORMAT_UNCOMPRESSED_R8G8B8" ); + assignGlobalInt( PIXELFORMAT_UNCOMPRESSED_R5G5B5A1, "PIXELFORMAT_UNCOMPRESSED_R5G5B5A1" ); + assignGlobalInt( PIXELFORMAT_UNCOMPRESSED_R4G4B4A4, "PIXELFORMAT_UNCOMPRESSED_R4G4B4A4" ); + assignGlobalInt( PIXELFORMAT_UNCOMPRESSED_R8G8B8A8, "PIXELFORMAT_UNCOMPRESSED_R8G8B8A8" ); + assignGlobalInt( PIXELFORMAT_UNCOMPRESSED_R32, "PIXELFORMAT_UNCOMPRESSED_R32" ); + assignGlobalInt( PIXELFORMAT_UNCOMPRESSED_R32G32B32, "PIXELFORMAT_UNCOMPRESSED_R32G32B32" ); + assignGlobalInt( PIXELFORMAT_UNCOMPRESSED_R32G32B32A32, "PIXELFORMAT_UNCOMPRESSED_R32G32B32A32" ); + assignGlobalInt( PIXELFORMAT_COMPRESSED_DXT1_RGB, "PIXELFORMAT_COMPRESSED_DXT1_RGB" ); + assignGlobalInt( PIXELFORMAT_COMPRESSED_DXT1_RGBA, "PIXELFORMAT_COMPRESSED_DXT1_RGBA" ); + assignGlobalInt( PIXELFORMAT_COMPRESSED_DXT3_RGBA, "PIXELFORMAT_COMPRESSED_DXT3_RGBA" ); + assignGlobalInt( PIXELFORMAT_COMPRESSED_DXT5_RGBA, "PIXELFORMAT_COMPRESSED_DXT5_RGBA" ); + assignGlobalInt( PIXELFORMAT_COMPRESSED_ETC1_RGB, "PIXELFORMAT_COMPRESSED_ETC1_RGB" ); + assignGlobalInt( PIXELFORMAT_COMPRESSED_ETC2_RGB, "PIXELFORMAT_COMPRESSED_ETC2_RGB" ); + assignGlobalInt( PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA, "PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA" ); + assignGlobalInt( PIXELFORMAT_COMPRESSED_PVRT_RGB, "PIXELFORMAT_COMPRESSED_PVRT_RGB" ); + assignGlobalInt( PIXELFORMAT_COMPRESSED_PVRT_RGBA, "PIXELFORMAT_COMPRESSED_PVRT_RGBA" ); + assignGlobalInt( PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA, "PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA" ); + assignGlobalInt( PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA, "PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA" ); /* Colors */ assignGlobalColor( WHITE, "WHITE" ); assignGlobalColor( BLACK, "BLACK" ); @@ -488,8 +510,18 @@ void luaRegister() { lua_register( L, "RL_SetTextureFilter", ltexturesSetTextureFilter ); lua_register( L, "RL_SetTextureWrap", ltexturesSetTextureWrap ); lua_register( L, "RL_GetTextureSize", ltexturesGetTextureSize ); - + /* Color/pixel */ + lua_register( L, "RL_Fade", ltexturesFade ); + lua_register( L, "RL_ColorToInt", ltexturesColorToInt ); + lua_register( L, "RL_ColorNormalize", ltexturesColorNormalize ); + lua_register( L, "RL_ColorFromNormalized", ltexturesColorFromNormalized ); + lua_register( L, "RL_ColorToHSV", ltexturesColorToHSV ); lua_register( L, "RL_ColorFromHSV", ltexturesColorFromHSV ); + lua_register( L, "RL_ColorAlpha", ltexturesColorAlpha ); + lua_register( L, "RL_ColorAlphaBlend", ltexturesColorAlphaBlend ); + lua_register( L, "RL_GetColor", ltexturesGetColor ); + lua_register( L, "RL_GetPixelColor", ltexturesGetPixelColor ); + lua_register( L, "RL_GetPixelDataSize", ltexturesGetPixelDataSize ); /* Models. */ /* Basic. */ @@ -700,7 +732,7 @@ Vector2 uluaGetVector2( lua_State *L ) { Vector2 vector = { 0.0f, 0.0f }; if ( !lua_istable( L, -1 ) ) { - TraceLog( LOG_WARNING, "%s", "Error. Wrong vector value. Returning { 0, 0 }" ); + TraceLog( LOG_WARNING, "%s", "Error. Wrong vector2 value. Returning { 0, 0 }" ); return vector; } int t = lua_gettop( L ), i = 0; @@ -729,7 +761,39 @@ Vector3 uluaGetVector3( lua_State *L ) { Vector3 vector = { 0.0f, 0.0f, 0.0f }; if ( !lua_istable( L, -1 ) ) { - TraceLog( LOG_WARNING, "%s", "Error. Wrong vector value. Returning { 0, 0, 0 }" ); + TraceLog( LOG_WARNING, "%s", "Error. Wrong vector3 value. Returning { 0, 0, 0 }" ); + return vector; + } + int t = lua_gettop( L ), i = 0; + lua_pushnil( L ); + + while ( lua_next( L, t ) != 0 ) { + if ( lua_isnumber( L, -1 ) ) { + switch ( i ) { + case 0: + vector.x = lua_tonumber( L, -1 ); + break; + case 1: + vector.y = lua_tonumber( L, -1 ); + break; + case 2: + vector.z = lua_tonumber( L, -1 ); + break; + default: + break; + } + } + i++; + lua_pop( L, 1 ); + } + return vector; +} + +Vector4 uluaGetVector4( lua_State *L ) { + Vector4 vector = { 0.0f, 0.0f, 0.0f, 0.0f }; + + if ( !lua_istable( L, -1 ) ) { + TraceLog( LOG_WARNING, "%s", "Error. Wrong vector4 value. Returning { 0, 0, 0, 0 }" ); return vector; } int t = lua_gettop( L ), i = 0; @@ -747,6 +811,9 @@ Vector3 uluaGetVector3( lua_State *L ) { case 2: vector.z = lua_tonumber( L, -1 ); break; + case 3: + vector.w = lua_tonumber( L, -1 ); + break; default: break; } @@ -992,6 +1059,18 @@ void uluaPushVector3( lua_State *L, Vector3 vector ) { lua_rawseti( L, -2, 3 ); } +void uluaPushVector4( lua_State *L, Vector4 vector ) { + lua_createtable( L, 4, 0 ); + lua_pushnumber( L, vector.x ); + lua_rawseti( L, -2, 1 ); + lua_pushnumber( L, vector.y ); + lua_rawseti( L, -2, 2 ); + lua_pushnumber( L, vector.z ); + lua_rawseti( L, -2, 3 ); + lua_pushnumber( L, vector.w ); + lua_rawseti( L, -2, 4 ); +} + void uluaPushRectangle( lua_State *L, Rectangle rect ) { lua_createtable( L, 4, 0 ); lua_pushnumber( L, rect.x ); |
