From 7665cf4bc16a423d4cd98174853dcc36de08787e Mon Sep 17 00:00:00 2001 From: jussi Date: Fri, 1 Apr 2022 20:35:43 +0300 Subject: GuiIconText. --- src/lua_core.c | 1 + src/rgui.c | 29 +++++++++++++++++++++++++++++ src/textures.c | 6 +----- 3 files changed, 31 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/lua_core.c b/src/lua_core.c index 95f4055..5ac1aec 100644 --- a/src/lua_core.c +++ b/src/lua_core.c @@ -871,6 +871,7 @@ void luaRegister() { lua_register( L, "RL_GuiColorBarAlpha", lguiGuiColorBarAlpha ); lua_register( L, "RL_GuiColorBarHue", lguiGuiColorBarHue ); /* Icons. */ + lua_register( L, "RL_GuiIconText", lguiGuiIconText ); lua_register( L, "RL_GuiDrawIcon", lguiGuiDrawIcon ); lua_register( L, "RL_GuiSetIconScale", lguiGuiSetIconScale ); lua_register( L, "RL_GuiSetIconPixel", lguiGuiSetIconPixel ); diff --git a/src/rgui.c b/src/rgui.c index 894c470..9b8502d 100644 --- a/src/rgui.c +++ b/src/rgui.c @@ -1136,6 +1136,35 @@ int lguiGuiColorBarHue( lua_State *L ) { ## Gui - Icons */ +/* +> text = RL_GuiIconText( int iconId, string text ) + +Get text with icon id prepended ( if supported ) + +- Failure return false +- Success return string +*/ +int lguiGuiIconText( lua_State *L ) { + if ( !lua_isnumber( L, -2 ) || !lua_isstring( L, -1 ) ) { + TraceLog( LOG_WARNING, "%s", "Bad call of function. RL_GuiIconText( int iconId, string text )" ); + lua_pushboolean( L, false ); + return 1; + } + char text[ STRING_LEN ] = { '\0' }; + strcpy( text, lua_tostring( L, -1 ) ); + lua_pop( L, 1 ); + int iconId = lua_tointeger( L, -1 ); + + if ( TextIsEqual( text, "" ) ) { + lua_pushstring( L, GuiIconText( iconId, NULL ) ); + } + else { + lua_pushstring( L, GuiIconText( iconId, text ) ); + } + + return 1; +} + /* > success = RL_GuiDrawIcon( int iconId, Vector2 pos, int pixelSize, Color color ) diff --git a/src/textures.c b/src/textures.c index 8357f68..119c8e4 100644 --- a/src/textures.c +++ b/src/textures.c @@ -1353,7 +1353,7 @@ Get Color structure from hexadecimal value - Success return Color */ int ltexturesGetColor( lua_State *L ) { - if ( !lua_istable( L, -1 ) ) { + if ( !lua_isnumber( L, -1 ) ) { TraceLog( LOG_WARNING, "%s", "Bad call of function. RL_GetColor( unsigned int hexValue )" ); lua_pushboolean( L, false ); return 1; @@ -1394,10 +1394,6 @@ int ltexturesGetPixelColor( lua_State *L ) { return 1; } - - -Color GetPixelColor(void *srcPtr, int format); - /* > size = RL_GetPixelDataSize( int width, int height, int format ) -- cgit v1.2.3