diff options
| author | Morten Sørvig <[email protected]> | 2023-12-07 14:10:45 +0100 |
|---|---|---|
| committer | Morten Sørvig <[email protected]> | 2023-12-18 23:07:13 +0100 |
| commit | a5bccd2496e0e06edf864385c1865d3faca9d1ac (patch) | |
| tree | d9be57cecae1f941d1a46682e0a98bf028b709ed /src/plugins/platforms/wasm/qwasmintegration.cpp | |
| parent | f2e227742fe90d2420ab433ae18449f46a210ae8 (diff) | |
wasm: add config API for controlling local font loading
This makes Qt read the following config options at startup:
- qt.requestLocalFontsPermission
- qt.localFontFamiliesCollection
- qt.extraLocalFontFamilies
And adds the following instance function
- qtLoadLocalFontFamilies
These can be used to control which local fonts Qt will
use, and also if Qt should ask for local fonts permission
on startup.
Also register a startup task for font loading. Font
loading completes asynchronously at some point after
the initial startup, and this way we can prevent showing
the application until the requested fonts are available.
Change-Id: I2b353c8b9c1a4976dddeb447d1f867aa2adf7588
Reviewed-by: Lorn Potter <[email protected]>
Diffstat (limited to 'src/plugins/platforms/wasm/qwasmintegration.cpp')
| -rw-r--r-- | src/plugins/platforms/wasm/qwasmintegration.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/plugins/platforms/wasm/qwasmintegration.cpp b/src/plugins/platforms/wasm/qwasmintegration.cpp index 778c769ae11..2fbb33eb2d4 100644 --- a/src/plugins/platforms/wasm/qwasmintegration.cpp +++ b/src/plugins/platforms/wasm/qwasmintegration.cpp @@ -66,6 +66,11 @@ static void resizeAllScreens(emscripten::val event) QWasmIntegration::get()->resizeAllScreens(); } +static void loadLocalFontFamilies(emscripten::val event) +{ + QWasmIntegration::get()->loadLocalFontFamilies(event); +} + EMSCRIPTEN_BINDINGS(qtQWasmIntegraton) { function("qtSetContainerElements", &setContainerElements); @@ -74,6 +79,7 @@ EMSCRIPTEN_BINDINGS(qtQWasmIntegraton) function("qtResizeContainerElement", &resizeContainerElement); function("qtUpdateDpi", &qtUpdateDpi); function("qtResizeAllScreens", &resizeAllScreens); + function("qtLoadLocalFontFamilies", &loadLocalFontFamilies); } QWasmIntegration *QWasmIntegration::s_instance; @@ -395,6 +401,11 @@ void QWasmIntegration::resizeAllScreens() elementAndScreen.wasmScreen->updateQScreenAndCanvasRenderSize(); } +void QWasmIntegration::loadLocalFontFamilies(emscripten::val families) +{ + m_fontDb->populateLocalFontFamilies(families); +} + quint64 QWasmIntegration::getTimestamp() { return emscripten_performance_now(); |
