diff options
author | Jan Holesovsky <kendy@collabora.com> | 2019-04-12 17:50:52 +0200 |
---|---|---|
committer | Jan Holesovsky <kendy@collabora.com> | 2019-04-13 08:13:06 +0200 |
commit | 34d012a128dfa959aa345672ebf4f9de80253b63 (patch) | |
tree | fba30b0efc768e01948b53bf44c97ae6ae411c78 /desktop | |
parent | ad4c8fed1b1b95fb502a011bb5fce5b8cb9d840d (diff) |
android: Make the tiled rendering from the loolwsd actually work.
Not to break the 'old' Android app, introduce a bool that can indicate
if we are using the LOK from the 'old' (LOK-via-JNI-based) or from the
'new' (loolwsd-based) app.
Change-Id: I38bd665cc1d5bc88018574171443ecabc46763df
Reviewed-on: https://gerrit.libreoffice.org/70678
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jan Holesovsky <kendy@collabora.com>
Diffstat (limited to 'desktop')
-rw-r--r-- | desktop/source/lib/init.cxx | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx index 6830aa698e79..d82a44dd09f5 100644 --- a/desktop/source/lib/init.cxx +++ b/desktop/source/lib/init.cxx @@ -2349,6 +2349,13 @@ static void doc_setPartMode(LibreOfficeKitDocument* pThis, } } +#if defined(ANDROID) +/// For the distinction if the LOK is used for the 'old' (JNI-based) or the +/// 'new' (loolwsd-based) app. Default to the 'new', ie. not used from JNI as +/// implemented in sal/android/libreofficekit-jni.c. +bool android_lok_from_jni = false; +#endif + static void doc_paintTile(LibreOfficeKitDocument* pThis, unsigned char* pBuffer, const int nCanvasWidth, const int nCanvasHeight, @@ -2403,10 +2410,15 @@ static void doc_paintTile(LibreOfficeKitDocument* pThis, #else ScopedVclPtrInstance< VirtualDevice > pDevice(nullptr, Size(1, 1), DeviceFormat::DEFAULT) ; -#if !defined(ANDROID) - // Set background to transparent by default. - pDevice->SetBackground(Wallpaper(COL_TRANSPARENT)); +#if defined(ANDROID) + if (!android_lok_from_jni) #endif + { + // Set background to transparent by default. + // [Unless it is the 'old' (JNI-based) Android app - no idea why it + // needs avoiding this.] + pDevice->SetBackground(Wallpaper(COL_TRANSPARENT)); + } pDevice->SetOutputSizePixelScaleOffsetAndBuffer( Size(nCanvasWidth, nCanvasHeight), Fraction(1.0), Point(), |