diff options
| author | Adam <adamdharrison@gmail.com> | 2021-06-24 12:47:16 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-06-24 12:47:16 -0400 |
| commit | 83a604dfb76649e06e983799daa00a8d8a57cc59 (patch) | |
| tree | 1e8ee21176340d2c7cd537f40d083ddd1f09e10e /src/api | |
| parent | 88704c6ecbdf5b5b4c1e3e727457ecfc5594c8c8 (diff) | |
| parent | 1cf0f2009caeac07f5d7345107d810b214e8896e (diff) | |
| download | lite-xl-83a604dfb76649e06e983799daa00a8d8a57cc59.tar.gz lite-xl-83a604dfb76649e06e983799daa00a8d8a57cc59.zip | |
Merge pull request #296 from lite-xl/font-copy-api
Add a C API copy method for font_desc objects
Diffstat (limited to 'src/api')
| -rw-r--r-- | src/api/renderer_font.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/api/renderer_font.c b/src/api/renderer_font.c index f510da70..7c6587ea 100644 --- a/src/api/renderer_font.c +++ b/src/api/renderer_font.c @@ -55,6 +55,21 @@ static int f_load(lua_State *L) { } +static int f_copy(lua_State *L) { + FontDesc *self = luaL_checkudata(L, 1, API_TYPE_FONT); + float size; + if (lua_gettop(L) >= 2) { + size = luaL_checknumber(L, 2); + } else { + size = self->size; + } + FontDesc *new_font_desc = lua_newuserdata(L, font_desc_alloc_size(self->filename)); + font_desc_init(new_font_desc, self->filename, size, self->options); + luaL_setmetatable(L, API_TYPE_FONT); + return 1; +} + + static int f_set_tab_size(lua_State *L) { FontDesc *self = luaL_checkudata(L, 1, API_TYPE_FONT); int n = luaL_checknumber(L, 2); @@ -123,6 +138,7 @@ static int f_set_size(lua_State *L) { static const luaL_Reg lib[] = { { "__gc", f_gc }, { "load", f_load }, + { "copy", f_copy }, { "set_tab_size", f_set_tab_size }, { "get_width", f_get_width }, { "get_width_subpixel", f_get_width_subpixel }, |
