move framework/toolkit use of BitmapEx::GetMask inside vcl
Change-Id: I2a942377d6e9b8b09673e5ad2804e0e7fb2bb943 Reviewed-on: https://gerrit.libreoffice.org/51387 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
This commit is contained in:
@@ -21,6 +21,7 @@
|
|||||||
#include <vcl/svapp.hxx>
|
#include <vcl/svapp.hxx>
|
||||||
#include <vcl/bitmap.hxx>
|
#include <vcl/bitmap.hxx>
|
||||||
#include <vcl/bitmapex.hxx>
|
#include <vcl/bitmapex.hxx>
|
||||||
|
#include <vcl/BitmapTools.hxx>
|
||||||
#include <tools/stream.hxx>
|
#include <tools/stream.hxx>
|
||||||
#include <cppuhelper/typeprovider.hxx>
|
#include <cppuhelper/typeprovider.hxx>
|
||||||
#include <vcl/dibtools.hxx>
|
#include <vcl/dibtools.hxx>
|
||||||
@@ -74,22 +75,8 @@ Sequence< sal_Int8 > SAL_CALL ImageWrapper::getDIB()
|
|||||||
Sequence< sal_Int8 > SAL_CALL ImageWrapper::getMaskDIB()
|
Sequence< sal_Int8 > SAL_CALL ImageWrapper::getMaskDIB()
|
||||||
{
|
{
|
||||||
SolarMutexGuard aGuard;
|
SolarMutexGuard aGuard;
|
||||||
BitmapEx aBmpEx( m_aImage.GetBitmapEx() );
|
|
||||||
|
|
||||||
if ( aBmpEx.IsAlpha() )
|
return vcl::bitmap::GetMaskDIB(m_aImage.GetBitmapEx());
|
||||||
{
|
|
||||||
SvMemoryStream aMem;
|
|
||||||
WriteDIB(aBmpEx.GetAlpha().GetBitmap(), aMem, false, true);
|
|
||||||
return Sequence< sal_Int8 >( static_cast<sal_Int8 const *>(aMem.GetData()), aMem.Tell() );
|
|
||||||
}
|
|
||||||
else if ( aBmpEx.IsTransparent() )
|
|
||||||
{
|
|
||||||
SvMemoryStream aMem;
|
|
||||||
WriteDIB(aBmpEx.GetMask(), aMem, false, true);
|
|
||||||
return Sequence< sal_Int8 >( static_cast<sal_Int8 const *>(aMem.GetData()), aMem.Tell() );
|
|
||||||
}
|
|
||||||
|
|
||||||
return Sequence< sal_Int8 >();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// XUnoTunnel
|
// XUnoTunnel
|
||||||
|
@@ -96,6 +96,8 @@ VCL_DLLPUBLIC void DrawAlphaBitmapAndAlphaGradient(BitmapEx & rBitmapEx, bool bF
|
|||||||
|
|
||||||
VCL_DLLPUBLIC void DrawAndClipBitmap(const Point& rPos, const Size& rSize, const BitmapEx& rBitmap, BitmapEx & aBmpEx, basegfx::B2DPolyPolygon const & rClipPath);
|
VCL_DLLPUBLIC void DrawAndClipBitmap(const Point& rPos, const Size& rSize, const BitmapEx& rBitmap, BitmapEx & aBmpEx, basegfx::B2DPolyPolygon const & rClipPath);
|
||||||
|
|
||||||
|
VCL_DLLPUBLIC css::uno::Sequence< sal_Int8 > GetMaskDIB(BitmapEx const & aBmpEx);
|
||||||
|
|
||||||
}} // end vcl::bitmap
|
}} // end vcl::bitmap
|
||||||
|
|
||||||
#endif // INCLUDED_VCL_BITMAP_TOOLS_HXX
|
#endif // INCLUDED_VCL_BITMAP_TOOLS_HXX
|
||||||
|
@@ -24,6 +24,7 @@
|
|||||||
#include <tools/stream.hxx>
|
#include <tools/stream.hxx>
|
||||||
#include <rtl/uuid.h>
|
#include <rtl/uuid.h>
|
||||||
#include <vcl/dibtools.hxx>
|
#include <vcl/dibtools.hxx>
|
||||||
|
#include <vcl/BitmapTools.hxx>
|
||||||
|
|
||||||
|
|
||||||
// class VCLXBitmap
|
// class VCLXBitmap
|
||||||
@@ -72,9 +73,7 @@ css::uno::Sequence< sal_Int8 > VCLXBitmap::getMaskDIB()
|
|||||||
{
|
{
|
||||||
::osl::Guard< ::osl::Mutex > aGuard( GetMutex() );
|
::osl::Guard< ::osl::Mutex > aGuard( GetMutex() );
|
||||||
|
|
||||||
SvMemoryStream aMem;
|
return vcl::bitmap::GetMaskDIB(maBitmap);
|
||||||
WriteDIB(maBitmap.GetMask(), aMem, false, true);
|
|
||||||
return css::uno::Sequence<sal_Int8>( static_cast<sal_Int8 const *>(aMem.GetData()), aMem.Tell() );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||||
|
@@ -22,6 +22,7 @@
|
|||||||
#include <com/sun/star/rendering/XIntegerReadOnlyBitmap.hpp>
|
#include <com/sun/star/rendering/XIntegerReadOnlyBitmap.hpp>
|
||||||
|
|
||||||
#include <unotools/resmgr.hxx>
|
#include <unotools/resmgr.hxx>
|
||||||
|
#include <vcl/dibtools.hxx>
|
||||||
#include <vcl/settings.hxx>
|
#include <vcl/settings.hxx>
|
||||||
#include <vcl/svapp.hxx>
|
#include <vcl/svapp.hxx>
|
||||||
#include <vcl/salbtype.hxx>
|
#include <vcl/salbtype.hxx>
|
||||||
@@ -628,6 +629,25 @@ void DrawAndClipBitmap(const Point& rPos, const Size& rSize, const BitmapEx& rBi
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
css::uno::Sequence< sal_Int8 > GetMaskDIB(BitmapEx const & aBmpEx)
|
||||||
|
{
|
||||||
|
if ( aBmpEx.IsAlpha() )
|
||||||
|
{
|
||||||
|
SvMemoryStream aMem;
|
||||||
|
WriteDIB(aBmpEx.GetAlpha().GetBitmap(), aMem, false, true);
|
||||||
|
return css::uno::Sequence< sal_Int8 >( static_cast<sal_Int8 const *>(aMem.GetData()), aMem.Tell() );
|
||||||
|
}
|
||||||
|
else if ( aBmpEx.IsTransparent() )
|
||||||
|
{
|
||||||
|
SvMemoryStream aMem;
|
||||||
|
WriteDIB(aBmpEx.GetMask(), aMem, false, true);
|
||||||
|
return css::uno::Sequence< sal_Int8 >( static_cast<sal_Int8 const *>(aMem.GetData()), aMem.Tell() );
|
||||||
|
}
|
||||||
|
|
||||||
|
return css::uno::Sequence< sal_Int8 >();
|
||||||
|
}
|
||||||
|
|
||||||
}} // end vcl::bitmap
|
}} // end vcl::bitmap
|
||||||
|
|
||||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||||
|
Reference in New Issue
Block a user