summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorPranav Kant <pranavk@collabora.co.uk>2017-08-03 14:42:21 +0530
committerJan Holesovsky <kendy@collabora.com>2017-11-15 17:07:11 +0100
commitbba61e62f3481fe389bc9d8cfb2f786624b96b5a (patch)
tree25f0339be13397a82832dcb7b8518b87d2698be7 /vcl
parent18d280713ea087b1cfc2dad9aefa52e583824eb3 (diff)
lokdialog: Register IDIalogRenderable with vcl::Dialog
Change-Id: I344f5a9c7167abfde15dcd21c747819cc79b12b1
Diffstat (limited to 'vcl')
-rw-r--r--vcl/source/window/dialog.cxx17
1 files changed, 17 insertions, 0 deletions
diff --git a/vcl/source/window/dialog.cxx b/vcl/source/window/dialog.cxx
index 41ca6e3afb09..df6fb477ec48 100644
--- a/vcl/source/window/dialog.cxx
+++ b/vcl/source/window/dialog.cxx
@@ -350,6 +350,7 @@ struct DialogImpl
void Dialog::ImplInitDialogData()
{
+ mpDialogRenderable = nullptr;
mpWindowImpl->mbDialog = true;
mpPrevExecuteDlg = nullptr;
mbInExecute = false;
@@ -870,6 +871,14 @@ bool Dialog::selectPageByUIXMLDescription(const OString& /*rUIXMLDescription*/)
return true;
}
+void Dialog::registerDialogRenderable(vcl::IDialogRenderable* pDialogRenderable)
+{
+ if (pDialogRenderable && !mpDialogRenderable)
+ {
+ mpDialogRenderable = pDialogRenderable;
+ }
+}
+
void Dialog::paintDialog(VirtualDevice& rDevice)
{
setDeferredProperties();
@@ -881,6 +890,14 @@ void Dialog::paintDialog(VirtualDevice& rDevice)
PaintToDevice(&rDevice, Point(0, 0), Size());
}
+void Dialog::LogicInvalidate(const Rectangle* /*pRectangle*/)
+{
+ if (comphelper::LibreOfficeKit::isActive() && mpDialogRenderable && !maID.isEmpty())
+ {
+ mpDialogRenderable->notifyDialogInvalidation(maID);
+ }
+}
+
void Dialog::LogicMouseButtonDown(const MouseEvent& rMouseEvent)
{
// When we're not doing tiled rendering, then positions must be passed as pixels.