cool#4250 - add API to set per view options.

Change-Id: I5e3b3b3548ba93b96b33fe682405a2b0b53bbdee
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176715
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
(cherry picked from commit 8dcb86a4a724f143f7d5cfcc3d1231a7f924cbd9)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177445
Tested-by: Jenkins
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
This commit is contained in:
Michael Meeks 2024-11-18 13:36:32 +00:00
parent 75a241e7c7
commit 58249677c3
4 changed files with 19 additions and 1 deletions

View file

@ -3677,9 +3677,10 @@ void DesktopLOKTest::testABI()
CPPUNIT_ASSERT_EQUAL(documentClassOffset(75), offsetof(struct _LibreOfficeKitDocumentClass, createSlideRenderer));
CPPUNIT_ASSERT_EQUAL(documentClassOffset(76), offsetof(struct _LibreOfficeKitDocumentClass, postSlideshowCleanup));
CPPUNIT_ASSERT_EQUAL(documentClassOffset(77), offsetof(struct _LibreOfficeKitDocumentClass, renderNextSlideLayer));
CPPUNIT_ASSERT_EQUAL(documentClassOffset(78), offsetof(struct _LibreOfficeKitDocumentClass, setViewOption));
// As above
CPPUNIT_ASSERT_EQUAL(documentClassOffset(78), sizeof(struct _LibreOfficeKitDocumentClass));
CPPUNIT_ASSERT_EQUAL(documentClassOffset(79), sizeof(struct _LibreOfficeKitDocumentClass));
}
CPPUNIT_TEST_SUITE_REGISTRATION(DesktopLOKTest);

View file

@ -1339,6 +1339,8 @@ static void doc_postSlideshowCleanup(LibreOfficeKitDocument* pThis);
static bool doc_renderNextSlideLayer(
LibreOfficeKitDocument* pThis, unsigned char* pBuffer, bool* bIsBitmapLayer, char** pJsonMsg);
static void doc_setViewOption(LibreOfficeKitDocument* pDoc, const char* pOption, const char* pValue);
} // extern "C"
namespace {
@ -1544,6 +1546,7 @@ LibLODocument_Impl::LibLODocument_Impl(uno::Reference <css::lang::XComponent> xC
m_pDocumentClass->createSlideRenderer = doc_createSlideRenderer;
m_pDocumentClass->postSlideshowCleanup = doc_postSlideshowCleanup;
m_pDocumentClass->renderNextSlideLayer = doc_renderNextSlideLayer;
m_pDocumentClass->setViewOption = doc_setViewOption;
gDocumentClass = m_pDocumentClass;
}
@ -5783,6 +5786,11 @@ static bool doc_renderNextSlideLayer(
return bDone;
}
static void doc_setViewOption(LibreOfficeKitDocument* /*pDoc*/, const char* /*pOption*/, const char* /*pValue*/)
{
// placeholder for now
}
static bool getFromTransferable(
const css::uno::Reference<css::datatransfer::XTransferable> &xTransferable,
const OString &aInMimeType, OString &aRet);

View file

@ -551,6 +551,9 @@ struct _LibreOfficeKitDocumentClass
bool (*renderNextSlideLayer)(
LibreOfficeKitDocument* pThis, unsigned char* pBuffer, bool* bIsBitmapLayer, char** pJsonMessage);
/// @see lok::Document::setViewOption
void (*setViewOption)(LibreOfficeKitDocument* pThis, const char* pOption, const char* pValue);
#endif // defined LOK_USE_UNSTABLE_API || defined LIBO_INTERNAL_ONLY
};

View file

@ -936,6 +936,12 @@ public:
return mpDoc->pClass->renderNextSlideLayer(mpDoc, pBuffer, bIsBitmapLayer, pJsonMessage);
}
/// Set named view options
void setViewOption(const char* pOption, const char* pValue)
{
mpDoc->pClass->setViewOption(mpDoc, pOption, pValue);
}
#endif // defined LOK_USE_UNSTABLE_API || defined LIBO_INTERNAL_ONLY
};