diff options
| author | Noel Grandin <noel.grandin@collabora.co.uk> | 2018-03-28 15:32:54 +0200 |
|---|---|---|
| committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2018-03-28 22:16:29 +0200 |
| commit | 290a954a355852a967a0e7e8a28447b0b9d2a46b (patch) | |
| tree | f5cec9ab8cab6da0532ae8365392046ee8ba7f74 | |
| parent | 0cb17267174ae02c9fb19bf6d9f2637844a267ee (diff) | |
tdf#116646 Slideshows with transitions page swap rendering issues
regression from
commit 5b75a1697250d8b2b6003c37067f39270a5ad828
move cairo extract bitmap code from canvas to vcl
Change-Id: Ic8d7cd9d54010ae272073877da18a985e931e22a
Reviewed-on: https://gerrit.libreoffice.org/52005
Tested-by: Jenkins <ci@libreoffice.org>
Tested-by: Xisco FaulĂ <xiscofauli@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
| -rw-r--r-- | canvas/source/cairo/cairo_canvashelper.cxx | 6 | ||||
| -rw-r--r-- | include/vcl/BitmapTools.hxx | 2 | ||||
| -rw-r--r-- | vcl/source/bitmap/BitmapTools.cxx | 6 |
3 files changed, 7 insertions, 7 deletions
diff --git a/canvas/source/cairo/cairo_canvashelper.cxx b/canvas/source/cairo/cairo_canvashelper.cxx index 2ed3d0472c04..ec76b51bacb5 100644 --- a/canvas/source/cairo/cairo_canvashelper.cxx +++ b/canvas/source/cairo/cairo_canvashelper.cxx @@ -363,10 +363,10 @@ namespace cairocanvas if( !pSurface ) { - vcl::bitmap::CanvasCairoExtractBitmapData(aBmpEx, aBitmap, data, bHasAlpha); + long nWidth; + long nHeight; + vcl::bitmap::CanvasCairoExtractBitmapData(aBmpEx, aBitmap, data, bHasAlpha, nWidth, nHeight); - const long nWidth = aBmpEx.GetPrefSize().Width(); - const long nHeight = aBmpEx.GetPrefSize().Height(); SurfaceSharedPtr pImageSurface = rSurfaceProvider->getOutputDevice()->CreateSurface( CairoSurfaceSharedPtr( cairo_image_surface_create_for_data( diff --git a/include/vcl/BitmapTools.hxx b/include/vcl/BitmapTools.hxx index 43f0d07579f7..75c68e9ab67a 100644 --- a/include/vcl/BitmapTools.hxx +++ b/include/vcl/BitmapTools.hxx @@ -102,7 +102,7 @@ VCL_DLLPUBLIC css::uno::Sequence< sal_Int8 > GetMaskDIB(BitmapEx const & aBmpEx) * @param data will be filled with alpha data, if xBitmap is alpha/transparent image * @param bHasAlpha will be set to true if resulting surface has alpha **/ -VCL_DLLPUBLIC void CanvasCairoExtractBitmapData( BitmapEx & rBmpEx, Bitmap & rBitmap, unsigned char*& data, bool& bHasAlpha ); +VCL_DLLPUBLIC void CanvasCairoExtractBitmapData( BitmapEx & rBmpEx, Bitmap & rBitmap, unsigned char*& data, bool& bHasAlpha, long& rnWidth, long& rnHeight ); VCL_DLLPUBLIC css::uno::Sequence< sal_Int8 > CanvasExtractBitmapData(BitmapEx & rBitmapEx, const css::geometry::IntegerRectangle2D& rect); diff --git a/vcl/source/bitmap/BitmapTools.cxx b/vcl/source/bitmap/BitmapTools.cxx index cfc4734c8aa0..28fc6f0b962a 100644 --- a/vcl/source/bitmap/BitmapTools.cxx +++ b/vcl/source/bitmap/BitmapTools.cxx @@ -719,14 +719,14 @@ static bool readAlpha( BitmapReadAccess const * pAlphaReadAcc, long nY, const lo * @param data will be filled with alpha data, if xBitmap is alpha/transparent image * @param bHasAlpha will be set to true if resulting surface has alpha **/ -void CanvasCairoExtractBitmapData( BitmapEx & aBmpEx, Bitmap & aBitmap, unsigned char*& data, bool& bHasAlpha ) +void CanvasCairoExtractBitmapData( BitmapEx & aBmpEx, Bitmap & aBitmap, unsigned char*& data, bool& bHasAlpha, long& rnWidth, long& rnHeight ) { AlphaMask aAlpha = aBmpEx.GetAlpha(); ::BitmapReadAccess* pBitmapReadAcc = aBitmap.AcquireReadAccess(); ::BitmapReadAccess* pAlphaReadAcc = nullptr; - const long nWidth = pBitmapReadAcc->Width(); - const long nHeight = pBitmapReadAcc->Height(); + const long nWidth = rnWidth = pBitmapReadAcc->Width(); + const long nHeight = rnHeight = pBitmapReadAcc->Height(); long nX, nY; bool bIsAlpha = false; |
