Author: alg
Date: Thu Jan 30 17:27:11 2014
New Revision: 1562900

URL: http://svn.apache.org/r1562900
Log:
i12355 Allow 1bit masks for all OSes except Linux (see i122485)

Modified:
    openoffice/trunk/main/canvas/source/vcl/canvascustomsprite.cxx
    openoffice/trunk/main/canvas/source/vcl/spritehelper.cxx

Modified: openoffice/trunk/main/canvas/source/vcl/canvascustomsprite.cxx
URL: 
http://svn.apache.org/viewvc/openoffice/trunk/main/canvas/source/vcl/canvascustomsprite.cxx?rev=1562900&r1=1562899&r2=1562900&view=diff
==============================================================================
--- openoffice/trunk/main/canvas/source/vcl/canvascustomsprite.cxx (original)
+++ openoffice/trunk/main/canvas/source/vcl/canvascustomsprite.cxx Thu Jan 30 
17:27:11 2014
@@ -81,7 +81,14 @@ namespace vclcanvas
         pBackBuffer->setSize( aSize );
 
         // create mask backbuffer, with one bit color depth #122485# use full 
depth to avoid problem with 1bit depth, get AAed masks
-        BackBufferSharedPtr pBackBufferMask( new BackBuffer( 
rOutDevProvider->getOutDev() ) ); // , true ) ); // #122485#
+        BackBufferSharedPtr pBackBufferMask( 
+#if defined LINUX || defined FREEBSD || defined NETBSD
+            // #122485# no 1bit buffers on Linuxes, 1bit Vdev seems to work no 
longer
+            new BackBuffer( rOutDevProvider->getOutDev() ) );
+#else
+            // 1bit mask buffer for all others
+            new BackBuffer( rOutDevProvider->getOutDev(), true ) );
+#endif
         pBackBufferMask->setSize( aSize );
 
         // TODO(F1): Implement alpha vdev (could prolly enable

Modified: openoffice/trunk/main/canvas/source/vcl/spritehelper.cxx
URL: 
http://svn.apache.org/viewvc/openoffice/trunk/main/canvas/source/vcl/spritehelper.cxx?rev=1562900&r1=1562899&r2=1562900&view=diff
==============================================================================
--- openoffice/trunk/main/canvas/source/vcl/spritehelper.cxx (original)
+++ openoffice/trunk/main/canvas/source/vcl/spritehelper.cxx Thu Jan 30 
17:27:11 2014
@@ -159,7 +159,13 @@ namespace vclcanvas
 
                                        // bitmasks are much faster than 
alphamasks on some platforms
                                        // so convert to bitmask if useful
-#ifndef QUARTZ
+#if defined LINUX || defined FREEBSD || defined NETBSD || defined QUARTZ
+                    // #122485# allow more than 1bit masks for Linux and Mac,
+                    // but reduce to mono now
+                    aMask.MakeMono(255);
+#else
+                    // #122485# assert when mask uses more than 1bit and reduce
+                    // to mono
                     if( aMask.GetBitCount() != 1 )
                     {
                         OSL_ENSURE(false,


Reply via email to