sw/inc/viewsh.hxx              |    3 ---
 sw/source/core/view/viewsh.cxx |   23 ++++++++++-------------
 sw/source/core/view/vnew.cxx   |    6 ------
 3 files changed, 10 insertions(+), 22 deletions(-)

New commits:
commit 0a2028d5efe5fc4e7bb82bd175aec22c9ac87fec
Author: Miklos Vajna <vmik...@collabora.co.uk>
Date:   Wed Mar 4 14:41:56 2015 +0100

    SwViewShell: store tiled rendering state in SdrModel
    
    On one hand, this cleans up duplication, but what's more important is
    that without this, svx can't invoke sw's LOK callback, which will be
    needed for graphic selection.
    
    Change-Id: Id414489fc3fbc52914b28fdb9bea4134edfbeafe

diff --git a/sw/inc/viewsh.hxx b/sw/inc/viewsh.hxx
index 052060a..2bc8260 100644
--- a/sw/inc/viewsh.hxx
+++ b/sw/inc/viewsh.hxx
@@ -158,7 +158,6 @@ class SW_DLLPUBLIC SwViewShell : public 
sw::Ring<SwViewShell>
 
     // boolean, indicating that class in constructor.
     bool mbInConstructor:1;
-    bool mbTiledRendering:1; ///< Set if we are doing the tiled rendering 
(using PaintTile()).
 
     SdrPaintWindow*         mpTargetPaintWindow;
     OutputDevice*           mpBufferedOut;
@@ -195,8 +194,6 @@ protected:
     sal_uInt16 mnLockPaint;   ///< != 0 if Paint is locked.
     bool      mbSelectAll; ///< Special select all mode: whole document 
selected, even if doc starts with table.
 
-    LibreOfficeKitCallback mpLibreOfficeKitCallback;
-    void* mpLibreOfficeKitData;
     bool mbInLibreOfficeKitCallback;
 
 public:
diff --git a/sw/source/core/view/viewsh.cxx b/sw/source/core/view/viewsh.cxx
index e74f326..0af292a 100644
--- a/sw/source/core/view/viewsh.cxx
+++ b/sw/source/core/view/viewsh.cxx
@@ -119,8 +119,7 @@ void SwViewShell::ToggleHeaderFooterEdit()
 
 void SwViewShell::registerLibreOfficeKitCallback(LibreOfficeKitCallback 
pCallback, void* pData)
 {
-    mpLibreOfficeKitCallback = pCallback;
-    mpLibreOfficeKitData = pData;
+    
getIDocumentDrawModelAccess()->GetDrawModel()->registerLibreOfficeKitCallback(pCallback,
 pData);
 }
 
 void SwViewShell::libreOfficeKitCallback(int nType, const char* pPayload) const
@@ -128,18 +127,17 @@ void SwViewShell::libreOfficeKitCallback(int nType, const 
char* pPayload) const
     if (mbInLibreOfficeKitCallback)
         return;
 
-    if (mpLibreOfficeKitCallback)
-        mpLibreOfficeKitCallback(nType, pPayload, mpLibreOfficeKitData);
+    
getIDocumentDrawModelAccess()->GetDrawModel()->libreOfficeKitCallback(nType, 
pPayload);
 }
 
 void SwViewShell::setTiledRendering(bool bTiledRendering)
 {
-    mbTiledRendering = bTiledRendering;
+    
getIDocumentDrawModelAccess()->GetDrawModel()->setTiledRendering(bTiledRendering);
 }
 
 bool SwViewShell::isTiledRendering() const
 {
-    return mbTiledRendering;
+    return getIDocumentDrawModelAccess()->GetDrawModel()->isTiledRendering();
 }
 
 static void
@@ -182,7 +180,7 @@ void SwViewShell::DLPrePaint2(const vcl::Region& rRegion)
             MakeDrawView();
 
         // Prefer window; if tot available, get mpOut (e.g. printer)
-        mpPrePostOutDev = (GetWin() && !mbTiledRendering)? GetWin(): GetOut();
+        mpPrePostOutDev = (GetWin() && !isTiledRendering())? GetWin(): 
GetOut();
 
         // #i74769# use SdrPaintWindow now direct
         mpTargetPaintWindow = 
Imp()->GetDrawView()->BeginDrawLayers(mpPrePostOutDev, rRegion);
@@ -403,7 +401,7 @@ void SwViewShell::ImplEndAction( const bool bIdleEnd )
 
                         if ( bPaintsFromSystem )
                             PaintDesktop( aRect );
-                        if (!mpLibreOfficeKitCallback)
+                        if (!isTiledRendering())
                             pCurrentLayout->Paint( aRect );
                         else
                             
pCurrentLayout->GetCurrShell()->InvalidateWindows(aRect.SVRect());
@@ -1773,11 +1771,10 @@ void SwViewShell::PaintTile(VirtualDevice &rDevice, int 
contextWidth, int contex
 {
     // SwViewShell's output device setup
     // TODO clean up SwViewShell's approach to output devices (the many of
-    // them - mpBufferedOut, mpOut, mpWin, ..., and get rid of
-    // mbTiledRendering)
+    // them - mpBufferedOut, mpOut, mpWin, ...)
     OutputDevice *pSaveOut = mpOut;
-    bool bTiledRendering = mbTiledRendering;
-    mbTiledRendering = true;
+    bool bTiledRendering = isTiledRendering();
+    setTiledRendering(true);
     mbInLibreOfficeKitCallback = true;
     mpOut = &rDevice;
 
@@ -1827,7 +1824,7 @@ void SwViewShell::PaintTile(VirtualDevice &rDevice, int 
contextWidth, int contex
     // SwViewShell's output device tear down
     mpOut = pSaveOut;
     mbInLibreOfficeKitCallback = false;
-    mbTiledRendering = bTiledRendering;
+    setTiledRendering(bTiledRendering);
 }
 
 #if !HAVE_FEATURE_DESKTOP
diff --git a/sw/source/core/view/vnew.cxx b/sw/source/core/view/vnew.cxx
index 7891149..51d91d1 100644
--- a/sw/source/core/view/vnew.cxx
+++ b/sw/source/core/view/vnew.cxx
@@ -162,15 +162,12 @@ SwViewShell::SwViewShell( SwDoc& rDocument, vcl::Window 
*pWindow,
     mbShowHeaderSeparator( false ),
     mbShowFooterSeparator( false ),
     mbHeaderFooterEdit( false ),
-    mbTiledRendering(false),
     mpTargetPaintWindow(0), // #i74769#
     mpBufferedOut(0), // #i74769#
     mpDoc( &rDocument ),
     mnStartAction( 0 ),
     mnLockPaint( 0 ),
     mbSelectAll(false),
-    mpLibreOfficeKitCallback(0),
-    mpLibreOfficeKitData(0),
     mbInLibreOfficeKitCallback(false),
     mpPrePostOutDev(0), // #i72754#
     maPrePostMapMode()
@@ -241,15 +238,12 @@ SwViewShell::SwViewShell( SwViewShell& rShell, 
vcl::Window *pWindow,
     mbShowHeaderSeparator( false ),
     mbShowFooterSeparator( false ),
     mbHeaderFooterEdit( false ),
-    mbTiledRendering(false),
     mpTargetPaintWindow(0), // #i74769#
     mpBufferedOut(0), // #i74769#
     mpDoc( rShell.GetDoc() ),
     mnStartAction( 0 ),
     mnLockPaint( 0 ),
     mbSelectAll(false),
-    mpLibreOfficeKitCallback(0),
-    mpLibreOfficeKitData(0),
     mbInLibreOfficeKitCallback(false),
     mpPrePostOutDev(0), // #i72754#
     maPrePostMapMode()
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to