diff options
author | Martin Capitanio <capnm@capitanio.org> | 2024-06-27 11:16:37 +0200 |
---|---|---|
committer | Martin Capitanio <capnm@capitanio.org> | 2024-06-27 11:26:44 +0200 |
commit | 10406c8685e8459d2439e3970b9dc9104fd926f6 (patch) | |
tree | ddc7a78edc6645511acd749983e3a7097c91c76a /thirdparty/thorvg/src/renderer/tvgLoader.cpp | |
parent | 7907ef835d17cd01c14203c239dc017cbe8605a3 (diff) | |
download | redot-engine-10406c8685e8459d2439e3970b9dc9104fd926f6.tar.gz |
ThorVG: Update to 0.14.0
+ Fixes the v0.13.8 svg text error issue.
+ See https://github.com/thorvg/thorvg/releases/tag/v0.14.0
Diffstat (limited to 'thirdparty/thorvg/src/renderer/tvgLoader.cpp')
-rw-r--r-- | thirdparty/thorvg/src/renderer/tvgLoader.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/thirdparty/thorvg/src/renderer/tvgLoader.cpp b/thirdparty/thorvg/src/renderer/tvgLoader.cpp index 4b8d3256a9..6a81ddcdbb 100644 --- a/thirdparty/thorvg/src/renderer/tvgLoader.cpp +++ b/thirdparty/thorvg/src/renderer/tvgLoader.cpp @@ -433,3 +433,27 @@ LoadModule* LoaderMgr::loader(const uint32_t *data, uint32_t w, uint32_t h, bool delete(loader); return nullptr; } + + +//loads fonts from memory - loader is cached (regardless of copy value) in order to access it while setting font +LoadModule* LoaderMgr::loader(const char* name, const char* data, uint32_t size, TVG_UNUSED const string& mimeType, bool copy) +{ +#ifdef THORVG_TTF_LOADER_SUPPORT + //TODO: add check for mimetype ? + if (auto loader = _findFromCache(name)) return loader; + + //function is dedicated for ttf loader (the only supported font loader) + auto loader = new TtfLoader; + if (loader->open(data, size, copy)) { + loader->hashpath = strdup(name); + loader->pathcache = true; + ScopedLock lock(key); + _activeLoaders.back(loader); + return loader; + } + + TVGLOG("LOADER", "The font data \"%s\" could not be loaded.", name); + delete(loader); +#endif + return nullptr; +} |