RepositoryExternal.mk | 16 ++ android/experimental/DocumentLoader/src/org/libreoffice/android/examples/DocumentLoader.java | 11 + basebmp/inc/basebmp/rgbmaskpixelformats.hxx | 78 ++++++++-- basebmp/inc/basebmp/scanlineformats.hxx | 7 basebmp/source/bitmapdevice.cxx | 22 ++ lcms2/makefile.mk | 4 odk/examples/java/DocumentHandling/test/test1.odt |binary touch/InternalUnoApi_touch.mk | 1 touch/idl/org/libreoffice/touch/DocumentRenderCallback.idl | 25 --- touch/idl/org/libreoffice/touch/XDocument.idl | 8 - touch/source/uno/Document.cxx | 23 ++ vcl/android/androidinst.cxx | 2 vcl/headless/svpbmp.cxx | 38 ++++ vcl/headless/svpelement.cxx | 5 vcl/headless/svpgdi.cxx | 5 vcl/headless/svpvd.cxx | 2 vigra/README | 2 17 files changed, 181 insertions(+), 68 deletions(-)
New commits: commit 40c00297deadb5f19020a82520f53d02129f4852 Author: Tor Lillqvist <tlillqv...@suse.com> Date: Thu Jun 7 21:52:06 2012 +0300 Clarify ideas a bit, DocumentRenderCallback service not needed Change-Id: I0a91a45dace5d2a35daadf1c9233ab68bee8701e diff --git a/touch/InternalUnoApi_touch.mk b/touch/InternalUnoApi_touch.mk index bb03402..b74af1a 100644 --- a/touch/InternalUnoApi_touch.mk +++ b/touch/InternalUnoApi_touch.mk @@ -25,7 +25,6 @@ $(eval $(call gb_InternalUnoApi_set_include,touch,\ $(eval $(call gb_InternalUnoApi_add_idlfiles,touch,touch/idl/org/libreoffice/touch,\ Document \ - DocumentRenderCallback \ XDocument \ XDocumentRenderCallback \ )) diff --git a/touch/idl/org/libreoffice/touch/DocumentRenderCallback.idl b/touch/idl/org/libreoffice/touch/DocumentRenderCallback.idl deleted file mode 100644 index 95e7e77..0000000 --- a/touch/idl/org/libreoffice/touch/DocumentRenderCallback.idl +++ /dev/null @@ -1,25 +0,0 @@ -// -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- - -// Copyright 2012 LibreOffice contributors. -// -// This Source Code Form is subject to the terms of the Mozilla Public -// License 2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/. - -#ifndef org_libreoffice_touch_DocumentRenderCallback_idl -#define org_libreoffice_touch_DocumentRenderCallback_idl - -#include <org/libreoffice/touch/XDocumentRenderCallback.idl> - -module org { module libreoffice { module touch { - -service DocumentRenderCallback: XDocumentRenderCallback -{ - create(); -}; - -}; }; }; - -#endif - -// vim:set shiftwidth=4 softtabstop=4 expandtab: diff --git a/touch/idl/org/libreoffice/touch/XDocument.idl b/touch/idl/org/libreoffice/touch/XDocument.idl index bc3d563..254970e 100644 --- a/touch/idl/org/libreoffice/touch/XDocument.idl +++ b/touch/idl/org/libreoffice/touch/XDocument.idl @@ -37,10 +37,10 @@ interface XDocument: com::sun::star::uno::XInterface // on Android version and/or hardware? TBD. Will the same format be useful // also for iOS? TBD. - // buffer must have an exact number of bytes for a square number of - // pixels, At the UNO level buffer is represented as the address of its - // bytes, i.e. on Android it must be a "direct" ByteBuffer for that to be - // meaningful. + // buffer must have an exact number of bytes for a square with each side a + // power-of-two number of pixels, At this API level buffer is represented + // as the address of its bytes as a 64-bit integer, i.e. on Android it + // must be a "direct" ByteBuffer for that to be meaningful. // listener gets a "reasonable" number of callbacks during the rendering // if it takes "significantly" long, and can inerrupt the rendering. diff --git a/touch/source/uno/Document.cxx b/touch/source/uno/Document.cxx index 975e9cc..7d41698 100644 --- a/touch/source/uno/Document.cxx +++ b/touch/source/uno/Document.cxx @@ -9,6 +9,7 @@ // NOTE: Work in progress, most likely makes little sense +#include <com/sun/star/awt/XBitmap.hpp> #include <com/sun/star/awt/XDevice.hpp> #include <com/sun/star/awt/XToolkit.hpp> #include <com/sun/star/beans/NamedValue.hpp> @@ -40,10 +41,15 @@ private: uno::Reference< uno::XComponentContext > m_rContext; uno::Reference< lang::XComponent > m_xComponent; uno::Reference< frame::XController > m_xController; + uno::Reference< awt::XDevice > m_xDevice; uno::Reference< view::XRenderable > m_xRenderable; beans::PropertyValues m_aRenderProps; + // XRenderable.getRendererCount() and .render() need an XController in the + // properties, at least in the test Java code it seemed that a totally + // dummy one works, so try that here, too. + typedef ::cppu::WeakImplHelper1< frame::XController > MyXController_Base; class MyXController: @@ -160,9 +166,9 @@ protected: uno::Reference< awt::XToolkit > toolkit( m_rContext->getServiceManager()->createInstanceWithContext( "com.sun.star.awt.Toolkit", m_rContext ), uno::UNO_QUERY_THROW ); - uno::Reference< awt::XDevice > device( toolkit->createScreenCompatibleDevice( 1024, 1024 ) ); + m_xDevice = toolkit->createScreenCompatibleDevice( 1024, 1024 ); - m_xRenderable = uno::Reference< view::XRenderable >(m_rContext->getServiceManager()->createInstanceWithContext( "com.sun.star.view.Renderable", m_rContext ), uno::UNO_QUERY_THROW ); + m_xRenderable = uno::Reference< view::XRenderable >( m_rContext->getServiceManager()->createInstanceWithContext( "com.sun.star.view.Renderable", m_rContext ), uno::UNO_QUERY_THROW ); m_xController = new MyXController(); @@ -170,7 +176,7 @@ protected: m_aRenderProps[0].Name = "IsPrinter"; m_aRenderProps[0].Value <<= sal_Bool(true); m_aRenderProps[1].Name = "RenderDevice"; - m_aRenderProps[1].Value <<= device; + m_aRenderProps[1].Value <<= m_xDevice; m_aRenderProps[2].Name = "View"; m_aRenderProps[2].Value <<= m_xController; } @@ -197,13 +203,20 @@ protected: sal_Int32 y ) throw ( lang::IllegalArgumentException, uno::RuntimeException) { + uno::Any selection; + (void) buffer; (void) bufferSize; (void) listener; - (void) pageNo; (void) zoomLevel; (void) x; - (void) y ; + (void) y; + + selection <<= m_xComponent; + + m_xRenderable->render( pageNo, selection, m_aRenderProps ); + + uno::Reference< awt::XBitmap> bitmap( m_xDevice->createBitmap( 0, 0, 1024, 1024 ) ); } }; commit e243a5b462408891c401f88bb3af3a661697f8f4 Author: Tor Lillqvist <tlillqv...@suse.com> Date: Thu Jun 7 21:48:54 2012 +0300 Verify that we do get the RGBX format DIB we expect Change-Id: I9f44547fbc5e13daa297720dfd814d2192114125 diff --git a/android/experimental/DocumentLoader/src/org/libreoffice/android/examples/DocumentLoader.java b/android/experimental/DocumentLoader/src/org/libreoffice/android/examples/DocumentLoader.java index 4f027ec..91af731 100644 --- a/android/experimental/DocumentLoader/src/org/libreoffice/android/examples/DocumentLoader.java +++ b/android/experimental/DocumentLoader/src/org/libreoffice/android/examples/DocumentLoader.java @@ -188,8 +188,8 @@ public class DocumentLoader Bootstrap.dlopen("libswdlo.so"); Bootstrap.dlopen("libswlo.so"); - // Log.i(TAG, "Sleeping NOW"); - // Thread.sleep(20000); + Log.i(TAG, "Sleeping NOW"); + Thread.sleep(20000); XComponentContext xContext = null; @@ -311,6 +311,13 @@ public class DocumentLoader return; } + if (imagebb.getInt(0x36) != 0x000000ff | + imagebb.getInt(0x3a) != 0x0000ff00 || + imagebb.getInt(0x3e) != 0x00ff0000) { + Log.wtf(TAG, "getDIB() didn't return DIB in RGBX format"); + return; + } + int offset = imagebb.getInt(0x0a); int width = imagebb.getInt(0x12); int height = imagebb.getInt(0x16); commit 323f137631da53d4fbb057c1a3847c6b8aa69ab2 Author: Tor Lillqvist <tlillqv...@suse.com> Date: Thu Jun 7 21:43:36 2012 +0300 Use the new THIRTYTWO_BIT_TC_MASK_RGBA format for Android and iOS Change-Id: I7cc8c5943454edea7fdef50b125d0baa95fc3f8b diff --git a/vcl/android/androidinst.cxx b/vcl/android/androidinst.cxx index ac08ac5..c6440c5 100644 --- a/vcl/android/androidinst.cxx +++ b/vcl/android/androidinst.cxx @@ -702,7 +702,7 @@ public: sal_uLong nSalFrameStyle, SystemParentData *pSysParent ) : SvpSalFrame( pInstance, pParent, nSalFrameStyle, - true, basebmp::Format::THIRTYTWO_BIT_TC_MASK, // FIXME: Or THIRTYTWO_BIT_TC_MASK_ARGB? + true, basebmp::Format::THIRTYTWO_BIT_TC_MASK_RGBA, pSysParent ) { enableDamageTracker(); diff --git a/vcl/headless/svpbmp.cxx b/vcl/headless/svpbmp.cxx index f1d8d49..da56217 100644 --- a/vcl/headless/svpbmp.cxx +++ b/vcl/headless/svpbmp.cxx @@ -59,8 +59,11 @@ bool SvpSalBitmap::Create( const Size& rSize, case 16: nFormat = Format::SIXTEEN_BIT_LSB_TC_MASK; break; #endif case 24: nFormat = Format::TWENTYFOUR_BIT_TC_MASK; break; - // FIXME: Should this for Android be THIRTYTWO_BIT_TC_MASK_ARGB? +#if defined(ANDROID) || defined(IOS) + case 32: nFormat = Format::THIRTYTWO_BIT_TC_MASK_RGBA; break; +#else case 32: nFormat = Format::THIRTYTWO_BIT_TC_MASK; break; +#endif } B2IVector aSize( rSize.Width(), rSize.Height() ); if( aSize.getX() == 0 ) @@ -199,13 +202,40 @@ BitmapBuffer* SvpSalBitmap::AcquireBuffer( bool ) nBitCount = 24; pBuf->mnFormat = BMP_FORMAT_24BIT_TC_BGR; break; - case Format::THIRTYTWO_BIT_TC_MASK: + case Format::THIRTYTWO_BIT_TC_MASK_BGRA: + nBitCount = 32; + pBuf->mnFormat = BMP_FORMAT_32BIT_TC_MASK; +#ifdef OSL_BIGENDIAN + pBuf->maColorMask = ColorMask( 0x0000ff00, 0x00ff0000, 0xff000000 ); +#else + pBuf->maColorMask = ColorMask( 0x00ff0000, 0x0000ff00, 0x000000ff ); +#endif + break; + case Format::THIRTYTWO_BIT_TC_MASK_ARGB: + nBitCount = 32; + pBuf->mnFormat = BMP_FORMAT_32BIT_TC_MASK; +#ifdef OSL_BIGENDIAN + pBuf->maColorMask = ColorMask( 0x00ff0000, 0x0000ff00, 0x000000ff ); +#else + pBuf->maColorMask = ColorMask( 0x0000ff00, 0x00ff0000, 0xff000000 ); +#endif + break; + case Format::THIRTYTWO_BIT_TC_MASK_ABGR: + nBitCount = 32; + pBuf->mnFormat = BMP_FORMAT_32BIT_TC_MASK; +#ifdef OSL_BIGENDIAN + pBuf->maColorMask = ColorMask( 0x000000ff, 0x0000ff00, 0x00ff0000 ); +#else + pBuf->maColorMask = ColorMask( 0xff000000, 0x00ff0000, 0x0000ff00 ); +#endif + break; + case Format::THIRTYTWO_BIT_TC_MASK_RGBA: nBitCount = 32; pBuf->mnFormat = BMP_FORMAT_32BIT_TC_MASK; #ifdef OSL_BIGENDIAN - pBuf->maColorMask = ColorMask( 0x0000ff, 0x00ff00, 0xff0000 ); + pBuf->maColorMask = ColorMask( 0xff000000, 0x00ff0000, 0x0000ff00 ); #else - pBuf->maColorMask = ColorMask( 0xff0000, 0x00ff00, 0x0000ff ); + pBuf->maColorMask = ColorMask( 0x000000ff, 0x0000ff00, 0x00ff0000 ); #endif break; diff --git a/vcl/headless/svpelement.cxx b/vcl/headless/svpelement.cxx index 80a47fe..0a623c6 100644 --- a/vcl/headless/svpelement.cxx +++ b/vcl/headless/svpelement.cxx @@ -279,7 +279,10 @@ sal_uInt32 SvpElement::getBitCountFromScanlineFormat( sal_Int32 nFormat ) case Format::TWENTYFOUR_BIT_TC_MASK: nBitCount = 24; break; - case Format::THIRTYTWO_BIT_TC_MASK: + case Format::THIRTYTWO_BIT_TC_MASK_BGRA: + case Format::THIRTYTWO_BIT_TC_MASK_ARGB: + case Format::THIRTYTWO_BIT_TC_MASK_ABGR: + case Format::THIRTYTWO_BIT_TC_MASK_RGBA: nBitCount = 32; break; default: diff --git a/vcl/headless/svpgdi.cxx b/vcl/headless/svpgdi.cxx index 1d07a2f..cb88e7e 100644 --- a/vcl/headless/svpgdi.cxx +++ b/vcl/headless/svpgdi.cxx @@ -116,7 +116,10 @@ void SvpSalGraphics::setDevice( basebmp::BitmapDeviceSharedPtr& rDevice ) case basebmp::Format::SIXTEEN_BIT_LSB_TC_MASK: case basebmp::Format::SIXTEEN_BIT_MSB_TC_MASK: case basebmp::Format::TWENTYFOUR_BIT_TC_MASK: - case basebmp::Format::THIRTYTWO_BIT_TC_MASK: + case basebmp::Format::THIRTYTWO_BIT_TC_MASK_BGRA: + case basebmp::Format::THIRTYTWO_BIT_TC_MASK_ARGB: + case basebmp::Format::THIRTYTWO_BIT_TC_MASK_ABGR: + case basebmp::Format::THIRTYTWO_BIT_TC_MASK_RGBA: m_eTextFmt = basebmp::Format::EIGHT_BIT_GREY; break; default: diff --git a/vcl/headless/svpvd.cxx b/vcl/headless/svpvd.cxx index 285eeaf..fb752e6 100644 --- a/vcl/headless/svpvd.cxx +++ b/vcl/headless/svpvd.cxx @@ -83,7 +83,7 @@ sal_Bool SvpSalVirtualDevice::SetSize( long nNewDX, long nNewDY ) case 24: nFormat = Format::TWENTYFOUR_BIT_TC_MASK; break; case 32: nFormat = Format::THIRTYTWO_BIT_TC_MASK; break; #if defined(ANDROID) || defined(IOS) - case 0: nFormat = Format::THIRTYTWO_BIT_TC_MASK; break; + case 0: nFormat = Format::THIRTYTWO_BIT_TC_MASK_RGBA; break; #else case 0: nFormat = Format::TWENTYFOUR_BIT_TC_MASK; break; #endif commit fd3c83d5f2414b2bba7b941609b59452a6d5b1e8 Author: Tor Lillqvist <tlillqv...@suse.com> Date: Thu Jun 7 21:39:19 2012 +0300 Add two new 32bpp formats and add helpful comments For Android (and perhaps iOS) we need a 32bpp format with channels in RGBA order. Rename the (basebmp-internal) 32bpp PixelFormatTreats_* typedefs so that the channel order in their names matches the memory order of the channels. Change-Id: Ia8a74f6d44e0a2cffdf66a05ddf8fc7d6ae2a263 diff --git a/basebmp/inc/basebmp/rgbmaskpixelformats.hxx b/basebmp/inc/basebmp/rgbmaskpixelformats.hxx index 47f7c2b..b1e65e8 100644 --- a/basebmp/inc/basebmp/rgbmaskpixelformats.hxx +++ b/basebmp/inc/basebmp/rgbmaskpixelformats.hxx @@ -231,6 +231,23 @@ template< typename PixelType, //----------------------------------------------------------------------------- +// Hopefully this is an understandable plaintext explanation that matches +// reality... + +// BASEBMP_TRUECOLORMASK_LSB_SWAP means that on a big-endian platform, a pixel +// value when viewed as an integer (16 or 32 bits) has to be byte-swapped for +// the channels to match the masks. Or equivalently (I think), on a big-endian +// platform, the masks need to be byte-swapped to be correct. + +// I.e. on a litte-endian platform the masks work as such. + +// BASEBMP_TRUECOLORMASK_MSB_SWAP means the opposite. The masks work as such +// on big-endian platforms, on little-endian platforms the pixel needs to be +// byte-swapped for the masks to work. + +// So in a sense these two names are "backward". It sounds to me as if +// BASEBMP_TRUECOLORMASK_LSB_SWAP would mean "when on LSB, swap" ;) + #ifdef OSL_LITENDIAN # define BASEBMP_TRUECOLORMASK_LSB_SWAP false # define BASEBMP_TRUECOLORMASK_MSB_SWAP true @@ -265,25 +282,56 @@ typedef PixelFormatTraitsTemplate_RGBMask< BASEBMP_SPECIALIZE_ACCESSORTRAITS(PixelFormatTraits_RGB16_565_LSB::getter_type, PixelFormatTraits_RGB16_565_LSB::setter_type); -// 32bpp endian-sensitive RGB + +// 32bpp formats + +// The intent is that the order of channel names in the names of the 32bpp +// format typedefs below correspond to the order of the channel bytes in +// memory, if I understand correctly.... I think the point with the below +// formats is that the channel byte order in memory is the same regardless of +// platform byte order. + +// This one used to be called PixelFormatTraits_RGB32_888. + typedef PixelFormatTraitsTemplate_RGBMask< sal_uInt32, - 0xFF0000, - 0x00FF00, - 0x0000FF, - BASEBMP_TRUECOLORMASK_LSB_SWAP > PixelFormatTraits_RGB32_888; -BASEBMP_SPECIALIZE_ACCESSORTRAITS(PixelFormatTraits_RGB32_888::getter_type, - PixelFormatTraits_RGB32_888::setter_type); - -// 32bpp endian-sensitive BGR + 0x00FF0000, + 0x0000FF00, + 0x000000FF, + BASEBMP_TRUECOLORMASK_LSB_SWAP > PixelFormatTraits_BGRX32_8888; +BASEBMP_SPECIALIZE_ACCESSORTRAITS(PixelFormatTraits_BGRX32_8888::getter_type, + PixelFormatTraits_BGRX32_8888::setter_type); + +// This one used to be called PixelFormatTraits_BGR32_888. + +typedef PixelFormatTraitsTemplate_RGBMask< + sal_uInt32, + 0x00FF0000, + 0x0000FF00, + 0x000000FF, + BASEBMP_TRUECOLORMASK_MSB_SWAP > PixelFormatTraits_XRGB32_8888; +BASEBMP_SPECIALIZE_ACCESSORTRAITS(PixelFormatTraits_XRGB32_8888::getter_type, + PixelFormatTraits_XRGB32_8888::setter_type); + +// The following two ones were added for Android needs and for completeness + +typedef PixelFormatTraitsTemplate_RGBMask< + sal_uInt32, + 0xFF000000, + 0x00FF0000, + 0x0000FF00, + BASEBMP_TRUECOLORMASK_LSB_SWAP > PixelFormatTraits_XBGR32_8888; +BASEBMP_SPECIALIZE_ACCESSORTRAITS(PixelFormatTraits_XBGR32_8888::getter_type, + PixelFormatTraits_XBGR32_8888::setter_type); + typedef PixelFormatTraitsTemplate_RGBMask< sal_uInt32, - 0xFF0000, - 0x00FF00, - 0x0000FF, - BASEBMP_TRUECOLORMASK_MSB_SWAP > PixelFormatTraits_BGR32_888; -BASEBMP_SPECIALIZE_ACCESSORTRAITS(PixelFormatTraits_BGR32_888::getter_type, - PixelFormatTraits_BGR32_888::setter_type); + 0xFF000000, + 0x00FF0000, + 0x0000FF00, + BASEBMP_TRUECOLORMASK_MSB_SWAP > PixelFormatTraits_RGBX32_8888; +BASEBMP_SPECIALIZE_ACCESSORTRAITS(PixelFormatTraits_RGBX32_8888::getter_type, + PixelFormatTraits_RGBX32_8888::setter_type); } // namespace basebmp diff --git a/basebmp/inc/basebmp/scanlineformats.hxx b/basebmp/inc/basebmp/scanlineformats.hxx index ee466f2..0b713da 100644 --- a/basebmp/inc/basebmp/scanlineformats.hxx +++ b/basebmp/inc/basebmp/scanlineformats.hxx @@ -50,8 +50,13 @@ namespace basebmp { namespace Format static const sal_Int32 SIXTEEN_BIT_MSB_TC_MASK = (sal_Int32)0x0C; static const sal_Int32 TWENTYFOUR_BIT_TC_MASK = (sal_Int32)0x0D; static const sal_Int32 THIRTYTWO_BIT_TC_MASK = (sal_Int32)0x0E; + // The order of the channels code letters indicates the order of the + // channel bytes in memory, I think + static const sal_Int32 THIRTYTWO_BIT_TC_MASK_BGRA = THIRTYTWO_BIT_TC_MASK; static const sal_Int32 THIRTYTWO_BIT_TC_MASK_ARGB = (sal_Int32)0x0F; - static const sal_Int32 MAX = (sal_Int32)0x0F; + static const sal_Int32 THIRTYTWO_BIT_TC_MASK_ABGR = (sal_Int32)0x10; + static const sal_Int32 THIRTYTWO_BIT_TC_MASK_RGBA = (sal_Int32)0x11; + static const sal_Int32 MAX = (sal_Int32)0x11; } } #endif /* INCLUDED_BASEBMP_SCANLINEFORMATS_HXX */ diff --git a/basebmp/source/bitmapdevice.cxx b/basebmp/source/bitmapdevice.cxx index b3676c6..07a36ce 100644 --- a/basebmp/source/bitmapdevice.cxx +++ b/basebmp/source/bitmapdevice.cxx @@ -1862,9 +1862,11 @@ BitmapDeviceSharedPtr createBitmapDeviceImpl( const basegfx::B2IVector& 16, // SIXTEEN_BIT_LSB_TC_MASK 16, // SIXTEEN_BIT_MSB_TC_MASK 24, // TWENTYFOUR_BIT_TC_MASK - 32, // THIRTYTWO_BIT_TC_MASK + 32, // THIRTYTWO_BIT_TC_MASK_BGRA 32, // THIRTYTWO_BIT_TC_MASK_ARGB - }; + 32, // THIRTYTWO_BIT_TC_MASK_ABGR + 32, // THIRTYTWO_BIT_TC_MASK_RGBA + }; sal_Int32 nScanlineStride(0); @@ -2004,13 +2006,23 @@ BitmapDeviceSharedPtr createBitmapDeviceImpl( const basegfx::B2IVector& // ---------------------------------------------------------------------- // thirtytwo bit formats - case Format::THIRTYTWO_BIT_TC_MASK: - return createRenderer<PixelFormatTraits_RGB32_888,StdMasks>( + case Format::THIRTYTWO_BIT_TC_MASK_BGRA: + return createRenderer<PixelFormatTraits_BGRX32_8888,StdMasks>( aBounds, nScanlineFormat, nScanlineStride, pFirstScanline, pMem, pPal, rDamage ); case Format::THIRTYTWO_BIT_TC_MASK_ARGB: - return createRenderer<PixelFormatTraits_BGR32_888,StdMasks>( + return createRenderer<PixelFormatTraits_XRGB32_8888,StdMasks>( + aBounds, nScanlineFormat, nScanlineStride, + pFirstScanline, pMem, pPal, rDamage ); + + case Format::THIRTYTWO_BIT_TC_MASK_ABGR: + return createRenderer<PixelFormatTraits_XBGR32_8888,StdMasks>( + aBounds, nScanlineFormat, nScanlineStride, + pFirstScanline, pMem, pPal, rDamage ); + + case Format::THIRTYTWO_BIT_TC_MASK_RGBA: + return createRenderer<PixelFormatTraits_RGBX32_8888,StdMasks>( aBounds, nScanlineFormat, nScanlineStride, pFirstScanline, pMem, pPal, rDamage ); } commit 54b69a1f504ce16fd9e436357f4f237b038627e1 Author: Tor Lillqvist <tlillqv...@suse.com> Date: Thu Jun 7 21:37:39 2012 +0300 Add some coloured text Change-Id: I2b8933294abf07dc9a7bd396e97e3a0ac617b548 diff --git a/odk/examples/java/DocumentHandling/test/test1.odt b/odk/examples/java/DocumentHandling/test/test1.odt index 66db1c5..e2978da 100644 Binary files a/odk/examples/java/DocumentHandling/test/test1.odt and b/odk/examples/java/DocumentHandling/test/test1.odt differ commit 7951c3db2b2c99226a356056dc5328e6386c4120 Author: Tor Lillqvist <tlillqv...@suse.com> Date: Thu Jun 7 21:33:42 2012 +0300 Tell what uses this Change-Id: I59aba3f012f21b33ab55f72852ffe7fc568246bc diff --git a/vigra/README b/vigra/README index 165bae4..c24f942 100644 --- a/vigra/README +++ b/vigra/README @@ -1 +1,3 @@ Computer vision library in C++ from [http://hci.iwr.uni-heidelberg.de/vigra/]. + +Used only by basebmp. commit bd4d371178f863d09098c3549dc73713423dc560 Author: Tor Lillqvist <tlillqv...@suse.com> Date: Wed Jun 6 22:57:56 2012 +0300 Build lcms2 statically for Android, too. A quick way to avoid the problem with its name ending with ".so.2" which the Android app machinery doesn't like. Plus, one less shared library... Change-Id: I102e29dd13d1be1a134be8c09459259fe8fbe2e1 diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk index 7f91d77..323e5bc 100644 --- a/RepositoryExternal.mk +++ b/RepositoryExternal.mk @@ -945,6 +945,21 @@ endef else # !SYSTEM_LCMS2 +ifeq ($(OS),ANDROID) + +$(eval $(call gb_Helper_register_static_libraries,PLAINLIBS, \ + lcms2 \ +)) + +define gb_LinkTarget__use_lcms2 +$(call gb_LinkTarget_use_static_libraries,$(1),\ + lcms2 \ +) + +endef + +else + $(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO, \ lcms2 \ )) @@ -956,6 +971,7 @@ $(call gb_LinkTarget_use_libraries,$(1),\ endef +endif # ANDROID endif # SYSTEM_LCMS2 diff --git a/lcms2/makefile.mk b/lcms2/makefile.mk index 6f619bf..b6b571f 100644 --- a/lcms2/makefile.mk +++ b/lcms2/makefile.mk @@ -77,7 +77,7 @@ CONFIGURE_FLAGS += \ --prefix=/@.__________________________________________________$(EXTRPATH) .END -.IF "$(OS)" == "IOS" +.IF "$(OS)" == "IOS" || "$(OS)" == "ANDROID" CONFIGURE_ACTION += --disable-shared .ENDIF @@ -89,7 +89,7 @@ OUT2INC+=include$/lcms2*.h .IF "$(OS)"=="MACOSX" OUT2LIB+=src$/.libs$/liblcms2.*.dylib -.ELIF "$(OS)"=="IOS" +.ELIF "$(OS)"=="IOS" || "$(OS)" == "ANDROID" OUT2LIB+=src$/.libs$/liblcms2.a .ELIF "$(OS)"=="WNT" .IF "$(COM)"=="GCC" _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits