[Libreoffice-commits] core.git: vcl/headless vcl/inc

Noel Grandin noel at peralex.com
Fri Oct 2 01:20:41 PDT 2015


 vcl/headless/svpframe.cxx     |   18 +++++++++++++++++-
 vcl/headless/svpinst.cxx      |   13 +++++++++++++
 vcl/inc/headless/svpframe.hxx |    5 +++++
 vcl/inc/headless/svpinst.hxx  |    4 ++++
 vcl/inc/unx/salframe.h        |    8 ++++----
 5 files changed, 43 insertions(+), 5 deletions(-)

New commits:
commit a65636c59d7d6c036eb8ae0dee76671198408107
Author: Noel Grandin <noel at peralex.com>
Date:   Fri Oct 2 10:09:26 2015 +0200

    fix Android and KDE build
    
    after commit 837f171810a95a1d87907dd08d67e969276f0559
    "loplugin:unusedmethods in vcl"
    
    Change-Id: Idd4603f34891950940a77efa30b9ee70f35d7533

diff --git a/vcl/headless/svpframe.cxx b/vcl/headless/svpframe.cxx
index 74ec326..4d4a225 100644
--- a/vcl/headless/svpframe.cxx
+++ b/vcl/headless/svpframe.cxx
@@ -39,7 +39,6 @@ SvpSalFrame* SvpSalFrame::s_pFocusFrame = NULL;
 #endif
 
 #ifndef IOS
-
 namespace {
     /// Decouple SalFrame lifetime from damagetracker lifetime
     struct DamageTracker : public basebmp::IBitmapDeviceDamageTracker
@@ -48,9 +47,26 @@ namespace {
         virtual void damaged( const basegfx::B2IBox& ) const SAL_OVERRIDE {}
     };
 }
+#endif
 
+#ifdef ANDROID
+void SvpSalFrame::enableDamageTracker( bool bOn )
+{
+    if( m_bDamageTracking == bOn )
+        return;
+    if( m_aFrame.get() )
+    {
+        if( m_bDamageTracking )
+            m_aFrame->setDamageTracker( basebmp::IBitmapDeviceDamageTrackerSharedPtr() );
+        else
+            m_aFrame->setDamageTracker(
+                basebmp::IBitmapDeviceDamageTrackerSharedPtr( new DamageTracker ) );
+    }
+    m_bDamageTracking = bOn;
+}
 #endif
 
+
 SvpSalFrame::SvpSalFrame( SvpSalInstance* pInstance,
                           SalFrame* pParent,
                           sal_uLong nSalFrameStyle,
diff --git a/vcl/headless/svpinst.cxx b/vcl/headless/svpinst.cxx
index 978a455..bcecfac 100644
--- a/vcl/headless/svpinst.cxx
+++ b/vcl/headless/svpinst.cxx
@@ -125,6 +125,19 @@ void SvpSalInstance::PostEvent(const SalFrame* pFrame, ImplSVEvent* pData, sal_u
     Wakeup();
 }
 
+#ifdef ANDROID
+bool SvpSalInstance::PostedEventsInQueue()
+{
+    bool result = false;
+    if( osl_acquireMutex( m_aEventGuard ) )
+    {
+        result = m_aUserEvents.size() > 0;
+        osl_releaseMutex( m_aEventGuard );
+    }
+    return result;
+}
+#endif
+
 void SvpSalInstance::deregisterFrame( SalFrame* pFrame )
 {
     m_aFrames.remove( pFrame );
diff --git a/vcl/inc/headless/svpframe.hxx b/vcl/inc/headless/svpframe.hxx
index 5a82c07..74efe19 100644
--- a/vcl/inc/headless/svpframe.hxx
+++ b/vcl/inc/headless/svpframe.hxx
@@ -125,6 +125,11 @@ public:
     virtual void                UnionClipRegion( long nX, long nY, long nWidth, long nHeight ) SAL_OVERRIDE;
     virtual void                EndSetClipRegion() SAL_OVERRIDE;
 
+#ifdef ANDROID
+    // If enabled we can get damage notifications for regions immediately rendered to ...
+    void                        enableDamageTracker( bool bOn = true );
+#endif
+
     /*TODO: functional implementation */
     virtual void                SetScreenNumber( unsigned int nScreen ) SAL_OVERRIDE { (void)nScreen; }
     virtual void                SetApplicationID(const OUString &rApplicationID) SAL_OVERRIDE { (void) rApplicationID; }
diff --git a/vcl/inc/headless/svpinst.hxx b/vcl/inc/headless/svpinst.hxx
index 8c76636..e33527f 100644
--- a/vcl/inc/headless/svpinst.hxx
+++ b/vcl/inc/headless/svpinst.hxx
@@ -99,6 +99,10 @@ public:
 
     void                    PostEvent(const SalFrame* pFrame, ImplSVEvent* pData, sal_uInt16 nEvent);
 
+#ifdef ANDROID
+    bool                    PostedEventsInQueue();
+#endif
+
     void                    StartTimer( sal_uLong nMS );
     void                    StopTimer();
     void                    Wakeup();
diff --git a/vcl/inc/unx/salframe.h b/vcl/inc/unx/salframe.h
index 8820ccd..5ae4a4a 100644
--- a/vcl/inc/unx/salframe.h
+++ b/vcl/inc/unx/salframe.h
@@ -181,12 +181,12 @@ public:
     ::Window                GetForeignParent() const { return mhForeignParent; }
     ::Window                GetStackingWindow() const { return mhStackingWindow; }
     long                    Close() const { return CallCallback( SALEVENT_CLOSE, 0 ); }
-              sal_uIntPtr           GetStyle() const { return nStyle_; }
+    sal_uIntPtr              GetStyle() const { return nStyle_; }
 
-    Cursor          GetCursor() const { return hCursor_; }
-    bool            IsCaptured() const { return nCaptured_ == 1; }
+    Cursor                   GetCursor() const { return hCursor_; }
+    bool                     IsCaptured() const { return nCaptured_ == 1; }
 #if !defined(__synchronous_extinput__)
-    void            HandleExtTextEvent (XClientMessageEvent *pEvent);
+    void                    HandleExtTextEvent (XClientMessageEvent *pEvent);
 #endif
     bool                    IsOverrideRedirect() const;
     bool                    IsChildWindow() const { return (nStyle_ & (SAL_FRAME_STYLE_PLUG|SAL_FRAME_STYLE_SYSTEMCHILD)) != 0; }


More information about the Libreoffice-commits mailing list