summaryrefslogtreecommitdiff
path: root/desktop
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2015-01-06 15:49:12 +0100
committerMiklos Vajna <vmiklos@collabora.co.uk>2015-01-06 20:55:24 +0100
commitaa827f5fde5a95343bb5fa819eda7a10f57e9d36 (patch)
tree7dbad42371677e7a67660d2a3c1a20742872932f /desktop
parent0137974abd70d80589ae1a4853523ec2039be1ff (diff)
lok::Document: add registerCallback()
So that LOK clients can invoke the new vcl::ITiledRenderable::registerCallback(). Change-Id: I6d9974acbd7fb5eea217c88f963e6ebb10343078
Diffstat (limited to 'desktop')
-rw-r--r--desktop/source/lib/init.cxx18
1 files changed, 18 insertions, 0 deletions
diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx
index 8a8538e77c3b..08a353fbd2d5 100644
--- a/desktop/source/lib/init.cxx
+++ b/desktop/source/lib/init.cxx
@@ -199,6 +199,9 @@ static void doc_getDocumentSize(LibreOfficeKitDocument* pThis,
long* pHeight);
static void doc_initializeForRendering(LibreOfficeKitDocument* pThis);
+static void doc_registerCallback(LibreOfficeKitDocument* pThis,
+ LibreOfficeKitCallback pCallback,
+ void* pData);
struct LibLODocument_Impl : public _LibreOfficeKitDocument
{
@@ -225,6 +228,7 @@ struct LibLODocument_Impl : public _LibreOfficeKitDocument
m_pDocumentClass->paintTile = doc_paintTile;
m_pDocumentClass->getDocumentSize = doc_getDocumentSize;
m_pDocumentClass->initializeForRendering = doc_initializeForRendering;
+ m_pDocumentClass->registerCallback = doc_registerCallback;
gDocumentClass = m_pDocumentClass;
}
@@ -620,6 +624,20 @@ static void doc_initializeForRendering(LibreOfficeKitDocument* pThis)
}
}
+static void doc_registerCallback(LibreOfficeKitDocument* pThis,
+ LibreOfficeKitCallback pCallback,
+ void* pData)
+{
+ ITiledRenderable* pDoc = getTiledRenderable(pThis);
+ if (!pDoc)
+ {
+ gImpl->maLastExceptionMsg = "Document doesn't support tiled rendering";
+ return;
+ }
+
+ pDoc->registerCallback(pCallback, pData);
+}
+
static char* lo_getError (LibreOfficeKit *pThis)
{
LibLibreOffice_Impl* pLib = static_cast<LibLibreOffice_Impl*>(pThis);