From b410227990346e0529bf0374327938148b8de7e9 Mon Sep 17 00:00:00 2001 From: bjorn Date: Fri, 25 Jan 2019 12:54:11 -0800 Subject: [PATCH] Font:getRasterizer; Font:setPixelDensity(nil); --- src/api/types/font.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/api/types/font.c b/src/api/types/font.c index 663b4543..c337af9f 100644 --- a/src/api/types/font.c +++ b/src/api/types/font.c @@ -59,11 +59,21 @@ int l_lovrFontGetPixelDensity(lua_State* L) { int l_lovrFontSetPixelDensity(lua_State* L) { Font* font = luax_checktype(L, 1, Font); - float pixelDensity = luaL_optnumber(L, 2, -1.f); - lovrFontSetPixelDensity(font, pixelDensity); + if (lua_isnoneornil(L, 2)) { + lovrFontSetPixelDensity(font, lovrFontGetRasterizer(font)->height); + } else { + float pixelDensity = luaL_optnumber(L, 2, -1.f); + lovrFontSetPixelDensity(font, pixelDensity); + } return 0; } +int l_lovrFontGetRasterizer(lua_State* L) { + Font* font = luax_checktype(L, 1, Font); + luax_pushobject(L, lovrFontGetRasterizer(font)); + return 1; +} + int l_lovrFontHasGlyphs(lua_State* L) { Font* font = luax_checktype(L, 1, Font); Rasterizer* rasterizer = lovrFontGetRasterizer(font); @@ -89,6 +99,7 @@ const luaL_Reg lovrFont[] = { { "setLineHeight", l_lovrFontSetLineHeight }, { "getPixelDensity", l_lovrFontGetPixelDensity }, { "setPixelDensity", l_lovrFontSetPixelDensity }, + { "getRasterizer", l_lovrFontGetRasterizer}, { "hasGlyphs", l_lovrFontHasGlyphs }, { NULL, NULL } };