GetFontTexture.

This commit is contained in:
jussi
2023-08-24 20:19:13 +03:00
parent 3fc07a02d5
commit 6e17282197
9 changed files with 72 additions and 14 deletions

View File

@@ -1612,6 +1612,7 @@ void luaRegister() {
assingGlobalFunction( "GetFontBaseSize", ltextGetFontBaseSize );
assingGlobalFunction( "GetFontGlyphCount", ltextGetFontGlyphCount );
assingGlobalFunction( "GetFontGlyphPadding", ltextGetFontGlyphPadding );
assingGlobalFunction( "GetFontTexture", ltextGetFontTexture );
/* Audio. */
/* Audio device management. */
@@ -2959,6 +2960,20 @@ void uluaPushBoundingBox( lua_State *L, BoundingBox box ) {
lua_rawseti( L, -2, 2 );
}
void uluaPushTexture( lua_State *L, Texture texture ) {
lua_createtable( L, 5, 0 );
lua_pushinteger( L, texture.id );
lua_setfield( L, -2, "id" );
lua_pushinteger( L, texture.width );
lua_setfield( L, -2, "width" );
lua_pushinteger( L, texture.height );
lua_setfield( L, -2, "height" );
lua_pushinteger( L, texture.mipmaps );
lua_setfield( L, -2, "mipmaps" );
lua_pushinteger( L, texture.format );
lua_setfield( L, -2, "format" );
}
int uluaGetTableLen( lua_State *L ) {
return uluaGetTableLenIndex( L, lua_gettop( L ) );
}

View File

@@ -286,7 +286,7 @@ int ltextMeasureText( lua_State *L ) {
/*
> baseSize = RL.GetFontBaseSize( Font font )
Get font baseSize
Get font base size ( default chars height )
- Failure return false
- Success return int
@@ -311,7 +311,7 @@ int ltextGetFontBaseSize( lua_State *L ) {
/*
> glyphCount = RL.GetFontGlyphCount( Font font )
Get font glyphCount
Get font number of glyph characters
- Failure return false
- Success return int
@@ -336,7 +336,7 @@ int ltextGetFontGlyphCount( lua_State *L ) {
/*
> glyphPadding = RL.GetFontGlyphPadding( Font font )
Get font glyphPadding
Get font padding around the glyph characters
- Failure return false
- Success return int
@@ -357,3 +357,28 @@ int ltextGetFontGlyphPadding( lua_State *L ) {
return 1;
}
/*
> textureTable = RL.GetFontTexture( Font font )
Get font texture atlas containing the glyphs. NOTE! Texture in table form.
- Failure return false
- Success return table
*/
int ltextGetFontTexture( lua_State *L ) {
if ( !lua_isnumber( L, 1 ) ) {
TraceLog( state->logLevelInvalid, "%s", "Bad call of function. RL.GetFontTexture( Font font )" );
lua_pushboolean( L, false );
return 1;
}
size_t fontId = lua_tointeger( L, 1 );
if ( !validFont( fontId ) ) {
lua_pushboolean( L, false );
return 1;
}
uluaPushTexture( L, state->fonts[ fontId ]->texture );
return 1;
}

View File

@@ -2209,7 +2209,7 @@ int ltexturesGetTextureMipmaps( lua_State *L ) {
/*
> format = RL.GetTextureFormat( Texture2D texture )
Get texture mipmaps. Mipmap levels, 1 by default
Get texture data format ( PixelFormat type )
- Failure return false
- Success return int