summaryrefslogtreecommitdiffstats
path: root/thirdparty/thorvg/src/renderer/tvgLoader.cpp
diff options
context:
space:
mode:
authorMartin Capitanio <capnm@capitanio.org>2024-06-27 11:16:37 +0200
committerMartin Capitanio <capnm@capitanio.org>2024-06-27 11:26:44 +0200
commit10406c8685e8459d2439e3970b9dc9104fd926f6 (patch)
treeddc7a78edc6645511acd749983e3a7097c91c76a /thirdparty/thorvg/src/renderer/tvgLoader.cpp
parent7907ef835d17cd01c14203c239dc017cbe8605a3 (diff)
downloadredot-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.cpp24
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;
+}