diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2018-03-16 09:51:44 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2018-03-16 11:45:19 +0100 |
commit | e568d233a3f9cbc926bfa12dac3fbc6d29a4b6c7 (patch) | |
tree | c5a60723f8a3315b4139e7f8ceef2780559a6b22 /vcl | |
parent | 1f3630e2fb35389835cb326a46bd539660942632 (diff) |
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>
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/source/bitmap/BitmapTools.cxx | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/vcl/source/bitmap/BitmapTools.cxx b/vcl/source/bitmap/BitmapTools.cxx index 366c6be37af0..3abd1ca537b9 100644 --- a/vcl/source/bitmap/BitmapTools.cxx +++ b/vcl/source/bitmap/BitmapTools.cxx @@ -22,6 +22,7 @@ #include <com/sun/star/rendering/XIntegerReadOnlyBitmap.hpp> #include <unotools/resmgr.hxx> +#include <vcl/dibtools.hxx> #include <vcl/settings.hxx> #include <vcl/svapp.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 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |