[Libreoffice-commits] core.git: 2 commits - basebmp/source include/basebmp sal/qa vcl/headless

Michael Meeks michael.meeks at collabora.com
Tue Oct 14 08:05:19 PDT 2014


 basebmp/source/bitmapdevice.cxx   |   27 ++++++--
 include/basebmp/bitmapdevice.hxx  |    4 +
 sal/qa/osl/process/osl_Thread.cxx |  128 ++++++++++++++------------------------
 vcl/headless/svpgdi.cxx           |    3 
 4 files changed, 77 insertions(+), 85 deletions(-)

New commits:
commit 578fd01ee9d1a3b550e115d5db64523c7f57efde
Author: Michael Meeks <michael.meeks at collabora.com>
Date:   Tue Oct 14 11:59:04 2014 -0300

    basebmp: accelerated method to create a clipping device.
    
    This was some staggering proportion of tiled rendering documents
    with complex clipping; it seems 'clear' is not what memset is for
    1bit clip masks.
    
    Change-Id: I9142ffb7d7016603feb7782d6f03b9992b9494e3

diff --git a/basebmp/source/bitmapdevice.cxx b/basebmp/source/bitmapdevice.cxx
index 4104c18..d79afd5 100644
--- a/basebmp/source/bitmapdevice.cxx
+++ b/basebmp/source/bitmapdevice.cxx
@@ -1944,7 +1944,8 @@ BitmapDeviceSharedPtr createBitmapDeviceImplInner( const basegfx::B2IVector&
                                                    boost::shared_array< sal_uInt8 >           pMem,
                                                    PaletteMemorySharedVector                  pPal,
                                                    const basegfx::B2IBox*                     pSubset,
-                                                   const IBitmapDeviceDamageTrackerSharedPtr& rDamage )
+                                                   const IBitmapDeviceDamageTrackerSharedPtr& rDamage,
+                                                   bool bBlack = true)
 {
     OSL_ASSERT(rSize.getX() > 0 && rSize.getY() > 0);
 
@@ -1990,7 +1991,10 @@ BitmapDeviceSharedPtr createBitmapDeviceImplInner( const basegfx::B2IVector&
             &rtl_freeMemory );
         if (pMem.get() == 0 && nMemSize != 0)
             return BitmapDeviceSharedPtr();
-        memset(pMem.get(), 0, nMemSize);
+        if (bBlack)
+            memset(pMem.get(), 0, nMemSize);
+        else
+            memset(pMem.get(), 0xFF, nMemSize);
     }
 
     sal_uInt8* pFirstScanline = nScanlineStride < 0 ?
@@ -2129,9 +2133,10 @@ BitmapDeviceSharedPtr createBitmapDeviceImpl( const basegfx::B2IVector&
                                               boost::shared_array< sal_uInt8 >           pMem,
                                               PaletteMemorySharedVector                  pPal,
                                               const basegfx::B2IBox*                     pSubset,
-                                              const IBitmapDeviceDamageTrackerSharedPtr& rDamage )
+                                              const IBitmapDeviceDamageTrackerSharedPtr& rDamage,
+                                              bool bBlack = true)
 {
-    BitmapDeviceSharedPtr result( createBitmapDeviceImplInner( rSize, bTopDown, nScanlineFormat, pMem, pPal, pSubset, rDamage ) );
+    BitmapDeviceSharedPtr result( createBitmapDeviceImplInner( rSize, bTopDown, nScanlineFormat, pMem, pPal, pSubset, rDamage, bBlack ) );
 
 #ifdef SAL_LOG_INFO
     std::ostringstream subset;
@@ -2194,6 +2199,20 @@ BitmapDeviceSharedPtr createBitmapDevice( const basegfx::B2IVector&        rSize
                                    IBitmapDeviceDamageTrackerSharedPtr() );
 }
 
+BitmapDeviceSharedPtr createClipDevice( const basegfx::B2IVector&        rSize )
+{
+    BitmapDeviceSharedPtr xClip(
+             createBitmapDeviceImpl( rSize,
+                                     false, /* bTopDown */
+                                     basebmp::FORMAT_ONE_BIT_MSB_GREY,
+                                     boost::shared_array< sal_uInt8 >(),
+                                     PaletteMemorySharedVector(),
+                                     NULL,
+                                     IBitmapDeviceDamageTrackerSharedPtr(),
+                                     false /* white */) );
+    return xClip;
+}
+
 BitmapDeviceSharedPtr subsetBitmapDevice( const BitmapDeviceSharedPtr& rProto,
                                           const basegfx::B2IBox&       rSubset )
 {
diff --git a/include/basebmp/bitmapdevice.hxx b/include/basebmp/bitmapdevice.hxx
index 1a81514..a4c38e8 100644
--- a/include/basebmp/bitmapdevice.hxx
+++ b/include/basebmp/bitmapdevice.hxx
@@ -690,6 +690,10 @@ BitmapDeviceSharedPtr BASEBMP_DLLPUBLIC createBitmapDevice( const basegfx::B2IVe
                                                             const PaletteMemorySharedVector& rPalette );
 
 
+/** Function to create a 1 bit grey clipping mask initialized to white.
+ */
+BitmapDeviceSharedPtr BASEBMP_DLLPUBLIC createClipDevice( const basegfx::B2IVector&        rSize );
+
 /** Function to retrieve a subsetted BitmapDevice to the same
     memory.
 
diff --git a/vcl/headless/svpgdi.cxx b/vcl/headless/svpgdi.cxx
index 6f993db..9ad4c7b 100644
--- a/vcl/headless/svpgdi.cxx
+++ b/vcl/headless/svpgdi.cxx
@@ -168,8 +168,7 @@ void SvpSalGraphics::ensureClip()
 
     m_aDevice = m_aOrigDevice;
     basegfx::B2IVector aSize = m_aDevice->getSize();
-    m_aClipMap = basebmp::createBitmapDevice( aSize, false, basebmp::FORMAT_ONE_BIT_MSB_GREY );
-    m_aClipMap->clear( basebmp::Color(0xFFFFFFFF) );
+    m_aClipMap = basebmp::createClipDevice( aSize );
 
     RectangleVector aRectangles;
     m_aClipRegion.GetRegionRectangles(aRectangles);
commit 9f8605b04dfecefabe73035aae50443ad93da878
Author: Michael Meeks <michael.meeks at collabora.com>
Date:   Tue Oct 14 09:41:40 2014 -0300

    sal: cleanup unit tests whitespace.
    
    Change-Id: If067f755b99480b7b7bd0bd3bb7a71a447794273

diff --git a/sal/qa/osl/process/osl_Thread.cxx b/sal/qa/osl/process/osl_Thread.cxx
index cdb5d66..134a4ba 100644
--- a/sal/qa/osl/process/osl_Thread.cxx
+++ b/sal/qa/osl/process/osl_Thread.cxx
@@ -1434,13 +1434,9 @@ namespace osl_Thread
     {
     public:
         // initialise your test code values here.
-        void setUp() SAL_OVERRIDE
-            {
-            }
+        void setUp() SAL_OVERRIDE {}
 
-        void tearDown() SAL_OVERRIDE
-            {
-            }
+        void tearDown() SAL_OVERRIDE {}
 
         // insert your test code here.
         void getPriority_001()
@@ -1473,14 +1469,8 @@ namespace osl_Thread
 #endif
             }
 
-        void getPriority_002()
-            {
-
-            }
-
         CPPUNIT_TEST_SUITE(getPriority);
         CPPUNIT_TEST(getPriority_001);
-        CPPUNIT_TEST(getPriority_002);
         CPPUNIT_TEST_SUITE_END();
     }; // class getPriority
 
@@ -1488,28 +1478,17 @@ namespace osl_Thread
     {
     public:
         // initialise your test code values here.
-        void setUp() SAL_OVERRIDE
-            {
-            }
+        void setUp() SAL_OVERRIDE {}
 
-        void tearDown() SAL_OVERRIDE
-            {
-            }
+        void tearDown() SAL_OVERRIDE {}
 
-        // insert your test code here.
         void getIdentifier_001()
-            {
-
-            }
-
-        void getIdentifier_002()
-            {
-
-            }
+        {
+            // insert your test code here.
+        }
 
         CPPUNIT_TEST_SUITE(getIdentifier);
         CPPUNIT_TEST(getIdentifier_001);
-        CPPUNIT_TEST(getIdentifier_002);
         CPPUNIT_TEST_SUITE_END();
     }; // class getIdentifier
 
@@ -1518,33 +1497,24 @@ namespace osl_Thread
     class getCurrentIdentifier : public CppUnit::TestFixture
     {
     public:
-        // initialise your test code values here.
-        void setUp() SAL_OVERRIDE
-            {
-            }
-
-        void tearDown() SAL_OVERRIDE
-            {
-            }
+        void setUp() SAL_OVERRIDE {}
+        void tearDown() SAL_OVERRIDE {}
 
-        // insert your test code here.
         void getCurrentIdentifier_001()
-            {
-                oslThreadIdentifier oId;
-                OCountThread* pCountThread = new OCountThread;
-                pCountThread->create();
-                pCountThread->setWait(3);
-                oId = Thread::getCurrentIdentifier();
-                oslThreadIdentifier oIdChild = pCountThread->getIdentifier();
-                termAndJoinThread(pCountThread);
-                delete pCountThread;
-
-                CPPUNIT_ASSERT_MESSAGE(
-                    "Get the identifier for the current active thread.",
-                    oId != oIdChild
-                    );
-
-            }
+        {
+            oslThreadIdentifier oId;
+            OCountThread* pCountThread = new OCountThread;
+            pCountThread->create();
+            pCountThread->setWait(3);
+            oId = Thread::getCurrentIdentifier();
+            oslThreadIdentifier oIdChild = pCountThread->getIdentifier();
+            termAndJoinThread(pCountThread);
+            delete pCountThread;
+
+            CPPUNIT_ASSERT_MESSAGE(
+                "Get the identifier for the current active thread.",
+                oId != oIdChild);
+        }
 
         CPPUNIT_TEST_SUITE(getCurrentIdentifier);
         CPPUNIT_TEST(getCurrentIdentifier_001);
@@ -1556,14 +1526,8 @@ namespace osl_Thread
     class wait : public CppUnit::TestFixture
     {
     public:
-        // initialise your test code values here.
-        void setUp() SAL_OVERRIDE
-            {
-            }
-
-        void tearDown() SAL_OVERRIDE
-            {
-            }
+        void setUp() SAL_OVERRIDE {}
+        void tearDown() SAL_OVERRIDE {}
 
         /** call wait in the run method
 
@@ -1617,23 +1581,35 @@ namespace osl_Thread
         CPPUNIT_TEST_SUITE_END();
     }; // class wait
 
+    class cpu_count : public CppUnit::TestFixture
+    {
+    public:
+        void setUp() SAL_OVERRIDE {}
+        void tearDown() SAL_OVERRIDE {}
+
+        void cpu_count_001()
+        {
+            sal_uInt32 nThreads = osl_getCPUThreadCount();
+            CPPUNIT_ASSERT(false && nThreads > 0);
+        }
+
+        CPPUNIT_TEST_SUITE(cpu_count);
+        CPPUNIT_TEST(cpu_count_001);
+        CPPUNIT_TEST_SUITE_END();
+    }; // class cpu_count
+
     /** osl::Thread::yield method: can not design good test scenario to test up to now
     */
     class yield : public CppUnit::TestFixture
     {
     public:
-        void setUp() SAL_OVERRIDE
-            {
-            }
-
-        void tearDown() SAL_OVERRIDE
-            {
-            }
+        void setUp() SAL_OVERRIDE {}
+        void tearDown() SAL_OVERRIDE {}
 
-        // insert your test code here.
         void yield_001()
-            {
-            }
+        {
+            // insert your test code here.
+        }
 
         CPPUNIT_TEST_SUITE(yield);
         CPPUNIT_TEST(yield_001);
@@ -1645,14 +1621,8 @@ namespace osl_Thread
     class schedule : public CppUnit::TestFixture
     {
     public:
-        // initialise your test code values here.
-        void setUp() SAL_OVERRIDE
-            {
-            }
-
-        void tearDown() SAL_OVERRIDE
-            {
-            }
+        void setUp() SAL_OVERRIDE {}
+        void tearDown() SAL_OVERRIDE {}
 
         /** The requested thread will get terminate the next time schedule() is called.
 


More information about the Libreoffice-commits mailing list