summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Lillqvist <tml@iki.fi>2013-01-19 23:31:57 +0200
committerTor Lillqvist <tml@iki.fi>2013-01-19 23:47:15 +0200
commit28f794086f4ed0f456ad67a293e81b019a971197 (patch)
tree344c329f43151026556100e561370baa2e6d2f50
parent621d1fba84e13a28843fb7a7befb28e26a6d0a15 (diff)
AquaSalBitmap and IosSalBitmap were identical so unify
Call it QuartzSalBitmap. The more we get rid of that "Aqua" term the better. Aqua is the name of a visual theme, not of an API. The Quartz 2D API is shared between OS X and iOS.
-rw-r--r--vcl/Library_vcl.mk4
-rw-r--r--vcl/aqua/source/app/salinst.cxx10
-rw-r--r--vcl/aqua/source/gdi/salgdicommon.cxx16
-rw-r--r--vcl/aqua/source/gdi/salnativewidgets.cxx1
-rw-r--r--vcl/aqua/source/window/salmenu.cxx1
-rw-r--r--vcl/inc/aqua/atsui/salgdi.h1
-rw-r--r--vcl/inc/aqua/salbmp.h108
-rw-r--r--vcl/inc/aqua/salcolorutils.hxx1
-rw-r--r--vcl/inc/aqua/salconst.h37
-rw-r--r--vcl/inc/aqua/salvd.h1
-rw-r--r--vcl/inc/ios/salconst.h37
-rw-r--r--vcl/inc/quartz/salbmp.h (renamed from vcl/inc/ios/salbmp.h)25
-rw-r--r--vcl/ios/source/app/salinst.cxx10
-rw-r--r--vcl/ios/source/gdi/salbmp.cxx903
-rw-r--r--vcl/ios/source/gdi/salgdicommon.cxx16
-rw-r--r--vcl/ios/source/gdi/salnativewidgets.cxx1
-rw-r--r--vcl/ios/source/window/salmenu.cxx1
-rw-r--r--vcl/quartz/salbmp.cxx (renamed from vcl/aqua/source/gdi/salbmp.cxx)68
18 files changed, 77 insertions, 1164 deletions
diff --git a/vcl/Library_vcl.mk b/vcl/Library_vcl.mk
index 29f764fddba9..2454fc3f7b0a 100644
--- a/vcl/Library_vcl.mk
+++ b/vcl/Library_vcl.mk
@@ -439,7 +439,7 @@ $(eval $(call gb_Library_add_exception_objects,vcl,\
vcl/aqua/source/dtrans/PictToBmpFlt \
vcl/aqua/source/dtrans/aqua_clipboard \
vcl/aqua/source/dtrans/service_entry \
- vcl/aqua/source/gdi/salbmp \
+ vcl/quartz/salbmp \
vcl/aqua/source/gdi/salcolorutils \
vcl/aqua/source/gdi/salgdicommon \
vcl/aqua/source/gdi/salgdiutils \
@@ -605,7 +605,7 @@ $(eval $(call gb_Library_add_exception_objects,vcl,\
vcl/coretext/salcoretextfontutils \
vcl/coretext//salcoretextlayout \
vcl/coretext//salcoretextstyle \
- vcl/ios/source/gdi/salbmp \
+ vcl/quartz/salbmp \
vcl/coretext/salgdi \
vcl/ios/source/gdi/salgdicommon \
vcl/ios/source/gdi/salnativewidgets \
diff --git a/vcl/aqua/source/app/salinst.cxx b/vcl/aqua/source/app/salinst.cxx
index 715005dec906..6ff8aea86c24 100644
--- a/vcl/aqua/source/app/salinst.cxx
+++ b/vcl/aqua/source/app/salinst.cxx
@@ -39,7 +39,7 @@
#include "aqua/salobj.h"
#include "aqua/salsys.h"
#include "aqua/salvd.h"
-#include "aqua/salbmp.h"
+#include "quartz/salbmp.h"
#include "aqua/salprn.h"
#include "aqua/saltimer.h"
#include "aqua/vclnsapp.h"
@@ -1149,7 +1149,7 @@ SalSystem* AquaSalInstance::CreateSalSystem()
SalBitmap* AquaSalInstance::CreateSalBitmap()
{
- return new AquaSalBitmap();
+ return new QuartzSalBitmap();
}
// -----------------------------------------------------------------------
@@ -1249,7 +1249,7 @@ CGImageRef CreateCGImage( const Image& rImage )
return NULL;
// simple case, no transparency
- AquaSalBitmap* pSalBmp = static_cast<AquaSalBitmap*>(aBmp.ImplGetImpBitmap()->ImplGetSalBitmap());
+ QuartzSalBitmap* pSalBmp = static_cast<QuartzSalBitmap*>(aBmp.ImplGetImpBitmap()->ImplGetSalBitmap());
if( ! pSalBmp )
return NULL;
@@ -1261,7 +1261,7 @@ CGImageRef CreateCGImage( const Image& rImage )
{
AlphaMask aAlphaMask( aBmpEx.GetAlpha() );
Bitmap aMask( aAlphaMask.GetBitmap() );
- AquaSalBitmap* pMaskBmp = static_cast<AquaSalBitmap*>(aMask.ImplGetImpBitmap()->ImplGetSalBitmap());
+ QuartzSalBitmap* pMaskBmp = static_cast<QuartzSalBitmap*>(aMask.ImplGetImpBitmap()->ImplGetSalBitmap());
if( pMaskBmp )
xImage = pSalBmp->CreateWithMask( *pMaskBmp, 0, 0, pSalBmp->mnWidth, pSalBmp->mnHeight );
else
@@ -1270,7 +1270,7 @@ CGImageRef CreateCGImage( const Image& rImage )
else if( aBmpEx.GetTransparentType() == TRANSPARENT_BITMAP )
{
Bitmap aMask( aBmpEx.GetMask() );
- AquaSalBitmap* pMaskBmp = static_cast<AquaSalBitmap*>(aMask.ImplGetImpBitmap()->ImplGetSalBitmap());
+ QuartzSalBitmap* pMaskBmp = static_cast<QuartzSalBitmap*>(aMask.ImplGetImpBitmap()->ImplGetSalBitmap());
if( pMaskBmp )
xImage = pSalBmp->CreateWithMask( *pMaskBmp, 0, 0, pSalBmp->mnWidth, pSalBmp->mnHeight );
else
diff --git a/vcl/aqua/source/gdi/salgdicommon.cxx b/vcl/aqua/source/gdi/salgdicommon.cxx
index 4fbca5aa1fe5..214a6ab4d71d 100644
--- a/vcl/aqua/source/gdi/salgdicommon.cxx
+++ b/vcl/aqua/source/gdi/salgdicommon.cxx
@@ -22,7 +22,7 @@
#include "basegfx/polygon/b2dpolygon.hxx"
-#include "aqua/salbmp.h"
+#include "quartz/salbmp.h"
#include "aqua/salgdi.h"
#include "fontsubset.hxx"
@@ -510,8 +510,8 @@ bool AquaSalGraphics::drawAlphaBitmap( const SalTwoRect& rTR,
return false;
}
- const AquaSalBitmap& rSrcSalBmp = static_cast<const AquaSalBitmap&>(rSrcBitmap);
- const AquaSalBitmap& rMaskSalBmp = static_cast<const AquaSalBitmap&>(rAlphaBmp);
+ const QuartzSalBitmap& rSrcSalBmp = static_cast<const QuartzSalBitmap&>(rSrcBitmap);
+ const QuartzSalBitmap& rMaskSalBmp = static_cast<const QuartzSalBitmap&>(rAlphaBmp);
CGImageRef xMaskedImage = rSrcSalBmp.CreateWithMask( rMaskSalBmp, rTR.mnSrcX,
rTR.mnSrcY, rTR.mnSrcWidth,
rTR.mnSrcHeight );
@@ -564,7 +564,7 @@ void AquaSalGraphics::drawBitmap( const SalTwoRect* pPosAry, const SalBitmap& rS
{
return;
}
- const AquaSalBitmap& rBitmap = static_cast<const AquaSalBitmap&>(rSalBitmap);
+ const QuartzSalBitmap& rBitmap = static_cast<const QuartzSalBitmap&>(rSalBitmap);
CGImageRef xImage = rBitmap.CreateCroppedImage( (int)pPosAry->mnSrcX, (int)pPosAry->mnSrcY,
(int)pPosAry->mnSrcWidth, (int)pPosAry->mnSrcHeight );
if( !xImage )
@@ -591,8 +591,8 @@ void AquaSalGraphics::drawBitmap( const SalTwoRect* pPosAry, const SalBitmap& rS
{
return;
}
- const AquaSalBitmap& rBitmap = static_cast<const AquaSalBitmap&>(rSalBitmap);
- const AquaSalBitmap& rMask = static_cast<const AquaSalBitmap&>(rTransparentBitmap);
+ const QuartzSalBitmap& rBitmap = static_cast<const QuartzSalBitmap&>(rSalBitmap);
+ const QuartzSalBitmap& rMask = static_cast<const QuartzSalBitmap&>(rTransparentBitmap);
CGImageRef xMaskedImage( rBitmap.CreateWithMask( rMask, pPosAry->mnSrcX, pPosAry->mnSrcY,
pPosAry->mnSrcWidth, pPosAry->mnSrcHeight ) );
if( !xMaskedImage )
@@ -680,7 +680,7 @@ void AquaSalGraphics::drawMask( const SalTwoRect* pPosAry,
{
return;
}
- const AquaSalBitmap& rBitmap = static_cast<const AquaSalBitmap&>(rSalBitmap);
+ const QuartzSalBitmap& rBitmap = static_cast<const QuartzSalBitmap&>(rSalBitmap);
CGImageRef xImage = rBitmap.CreateColorMask( pPosAry->mnSrcX, pPosAry->mnSrcY,
pPosAry->mnSrcWidth, pPosAry->mnSrcHeight,
nMaskColor );
@@ -1083,7 +1083,7 @@ SalBitmap* AquaSalGraphics::getBitmap( long nX, long nY, long nDX, long nDY
ApplyXorContext();
- AquaSalBitmap* pBitmap = new AquaSalBitmap;
+ QuartzSalBitmap* pBitmap = new QuartzSalBitmap;
if( !pBitmap->Create( mxLayer, mnBitmapDepth, nX, nY, nDX, nDY, !mbWindow ) )
{
delete pBitmap;
diff --git a/vcl/aqua/source/gdi/salnativewidgets.cxx b/vcl/aqua/source/gdi/salnativewidgets.cxx
index ad9800fb94b9..a2586ac22cc3 100644
--- a/vcl/aqua/source/gdi/salnativewidgets.cxx
+++ b/vcl/aqua/source/gdi/salnativewidgets.cxx
@@ -22,7 +22,6 @@
#include "vcl/svapp.hxx"
#include "vcl/timer.hxx"
-#include "aqua/salconst.h"
#include "aqua/salgdi.h"
#include "aqua/salnativewidgets.h"
#include "aqua/saldata.hxx"
diff --git a/vcl/aqua/source/window/salmenu.cxx b/vcl/aqua/source/window/salmenu.cxx
index dda138c71f9c..953c38653772 100644
--- a/vcl/aqua/source/window/salmenu.cxx
+++ b/vcl/aqua/source/window/salmenu.cxx
@@ -31,7 +31,6 @@
#include "aqua/salmenu.h"
#include "aqua/salnsmenu.h"
#include "aqua/salframe.h"
-#include "aqua/salbmp.h"
#include "aqua/aqua11ywrapper.h"
#include "svids.hrc"
diff --git a/vcl/inc/aqua/atsui/salgdi.h b/vcl/inc/aqua/atsui/salgdi.h
index 098eadbfeb3d..44d433cfe5dd 100644
--- a/vcl/inc/aqua/atsui/salgdi.h
+++ b/vcl/inc/aqua/atsui/salgdi.h
@@ -38,7 +38,6 @@
#include "aqua/salgdicommon.hxx"
class AquaSalFrame;
-class AquaSalBitmap;
class ImplDevFontAttributes;
struct CGRect;
diff --git a/vcl/inc/aqua/salbmp.h b/vcl/inc/aqua/salbmp.h
deleted file mode 100644
index 0f18c91d5d8c..000000000000
--- a/vcl/inc/aqua/salbmp.h
+++ /dev/null
@@ -1,108 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 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/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef _SV_SALBMP_H
-#define _SV_SALBMP_H
-
-#include "tools/gen.hxx"
-
-#include "basebmp/bitmapdevice.hxx"
-
-#include "vcl/salbtype.hxx"
-
-#include "aqua/salconst.h"
-#include "aqua/salgdi.h"
-
-#include "saldata.hxx"
-#include "salinst.hxx"
-#include "salvd.hxx"
-#include "salbmp.hxx"
-
-#include "salcolorutils.hxx"
-
-
-// --------------
-// - SalBitmap -
-// --------------
-
-struct BitmapBuffer;
-class BitmapColor;
-class BitmapPalette;
-class AquaSalVirtualDevice;
-
-class AquaSalBitmap : public SalBitmap
-{
-public:
- CGContextRef mxGraphicContext;
- mutable CGImageRef mxCachedImage;
- BitmapPalette maPalette;
- basebmp::RawMemorySharedArray maUserBuffer;
- basebmp::RawMemorySharedArray maContextBuffer;
- sal_uInt16 mnBits;
- int mnWidth;
- int mnHeight;
- sal_uInt32 mnBytesPerRow;
-
-public:
- AquaSalBitmap();
- virtual ~AquaSalBitmap();
-
-public:
-
- // SalBitmap methods
- bool Create( const Size& rSize, sal_uInt16 nBitCount, const BitmapPalette& rPal );
- bool Create( const SalBitmap& rSalBmp );
- bool Create( const SalBitmap& rSalBmp, SalGraphics* pGraphics );
- bool Create( const SalBitmap& rSalBmp, sal_uInt16 nNewBitCount );
- virtual bool Create( const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XBitmapCanvas > xBitmapCanvas,
- Size& rSize,
- bool bMask = false );
-
- void Destroy();
-
- Size GetSize() const;
- sal_uInt16 GetBitCount() const;
-
- BitmapBuffer *AcquireBuffer( bool bReadOnly );
- void ReleaseBuffer( BitmapBuffer* pBuffer, bool bReadOnly );
-
- bool GetSystemData( BitmapSystemData& rData );
-
-private:
- // quartz helper
- bool CreateContext();
- void DestroyContext();
- bool AllocateUserData();
-
- void ConvertBitmapData( sal_uInt32 nWidth, sal_uInt32 nHeight,
- sal_uInt16 nDestBits, sal_uInt32 nDestBytesPerRow, const BitmapPalette& rDestPalette, sal_uInt8* pDestData,
- sal_uInt16 nSrcBits, sal_uInt32 nSrcBytesPerRow, const BitmapPalette& rSrcPalette, sal_uInt8* pSrcData );
-
-public:
- bool Create( CGLayerRef xLayer, int nBitCount, int nX, int nY, int nWidth, int nHeight, bool bMirrorVert = true );
-
-public:
- CGImageRef CreateWithMask( const AquaSalBitmap& rMask, int nX, int nY, int nWidth, int nHeight ) const;
- CGImageRef CreateColorMask( int nX, int nY, int nWidth, int nHeight, SalColor nMaskColor ) const;
- CGImageRef CreateCroppedImage( int nX, int nY, int nWidth, int nHeight ) const;
-};
-
-#endif // _SV_SALBMP_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/aqua/salcolorutils.hxx b/vcl/inc/aqua/salcolorutils.hxx
index e42340b88621..bba70e2062c5 100644
--- a/vcl/inc/aqua/salcolorutils.hxx
+++ b/vcl/inc/aqua/salcolorutils.hxx
@@ -30,7 +30,6 @@
#include "vcl/salbtype.hxx"
#include "vcl/salgtype.hxx"
-#include "salconst.h"
#include "salmathutils.hxx"
// ------------------------------------------------------------------
diff --git a/vcl/inc/aqua/salconst.h b/vcl/inc/aqua/salconst.h
deleted file mode 100644
index e46a51ad0bbd..000000000000
--- a/vcl/inc/aqua/salconst.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 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/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef _SV_SALCONST_H
-#define _SV_SALCONST_H
-
-// -------------------
-// - Constants -
-// -------------------
-
-static const unsigned long k16BitRedColorMask = 0x00007c00;
-static const unsigned long k16BitGreenColorMask = 0x000003e0;
-static const unsigned long k16BitBlueColorMask = 0x0000001f;
-
-static const unsigned long k32BitRedColorMask = 0x00ff0000;
-static const unsigned long k32BitGreenColorMask = 0x0000ff00;
-static const unsigned long k32BitBlueColorMask = 0x000000ff;
-
-#endif // _SV_SALCONST_H
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/aqua/salvd.h b/vcl/inc/aqua/salvd.h
index 3134a791e74a..987636fd896f 100644
--- a/vcl/inc/aqua/salvd.h
+++ b/vcl/inc/aqua/salvd.h
@@ -24,7 +24,6 @@
#include <ApplicationServices/ApplicationServices.h>
#include "postmac.h"
-#include "aqua/salconst.h"
#include "aqua/salcolorutils.hxx"
#include "aqua/salgdi.h"
diff --git a/vcl/inc/ios/salconst.h b/vcl/inc/ios/salconst.h
deleted file mode 100644
index e46a51ad0bbd..000000000000
--- a/vcl/inc/ios/salconst.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 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/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef _SV_SALCONST_H
-#define _SV_SALCONST_H
-
-// -------------------
-// - Constants -
-// -------------------
-
-static const unsigned long k16BitRedColorMask = 0x00007c00;
-static const unsigned long k16BitGreenColorMask = 0x000003e0;
-static const unsigned long k16BitBlueColorMask = 0x0000001f;
-
-static const unsigned long k32BitRedColorMask = 0x00ff0000;
-static const unsigned long k32BitGreenColorMask = 0x0000ff00;
-static const unsigned long k32BitBlueColorMask = 0x000000ff;
-
-#endif // _SV_SALCONST_H
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/ios/salbmp.h b/vcl/inc/quartz/salbmp.h
index 816e5231184e..16460abf3794 100644
--- a/vcl/inc/ios/salbmp.h
+++ b/vcl/inc/quartz/salbmp.h
@@ -17,8 +17,8 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#ifndef _SV_SALBMP_H
-#define _SV_SALBMP_H
+#ifndef _VCL_QUARTZ_SALBMP_H
+#define _VCL_QUARTZ_SALBMP_H
#include "tools/gen.hxx"
@@ -26,27 +26,24 @@
#include "vcl/salbtype.hxx"
-#include "ios/salconst.h"
+#ifdef MACOSX
+#include "aqua/salgdi.h"
+#else
#include "coretext/salgdi.h"
+#endif
-#include "saldata.hxx"
#include "salinst.hxx"
#include "salvd.hxx"
#include "salbmp.hxx"
-#include "salcolorutils.hxx"
-
-
// --------------
// - SalBitmap -
// --------------
struct BitmapBuffer;
-class BitmapColor;
class BitmapPalette;
-class IosSalVirtualDevice;
-class IosSalBitmap : public SalBitmap
+class QuartzSalBitmap : public SalBitmap
{
public:
CGContextRef mxGraphicContext;
@@ -60,8 +57,8 @@ public:
sal_uInt32 mnBytesPerRow;
public:
- IosSalBitmap();
- virtual ~IosSalBitmap();
+ QuartzSalBitmap();
+ virtual ~QuartzSalBitmap();
public:
@@ -98,11 +95,11 @@ public:
bool Create( CGLayerRef xLayer, int nBitCount, int nX, int nY, int nWidth, int nHeight, bool bMirrorVert = true );
public:
- CGImageRef CreateWithMask( const IosSalBitmap& rMask, int nX, int nY, int nWidth, int nHeight ) const;
+ CGImageRef CreateWithMask( const QuartzSalBitmap& rMask, int nX, int nY, int nWidth, int nHeight ) const;
CGImageRef CreateColorMask( int nX, int nY, int nWidth, int nHeight, SalColor nMaskColor ) const;
CGImageRef CreateCroppedImage( int nX, int nY, int nWidth, int nHeight ) const;
};
-#endif // _SV_SALBMP_HXX
+#endif // _VCL_QUARTZ_SALBMP_H
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/ios/source/app/salinst.cxx b/vcl/ios/source/app/salinst.cxx
index 0e5c69b52f58..6ff0e84cf73f 100644
--- a/vcl/ios/source/app/salinst.cxx
+++ b/vcl/ios/source/app/salinst.cxx
@@ -39,7 +39,7 @@
#include "ios/salobj.h"
#include "ios/salsys.h"
#include "ios/salvd.h"
-#include "ios/salbmp.h"
+#include "quartz/salbmp.h"
#include "ios/salprn.h"
#include "ios/saltimer.h"
#include "ios/vcluiapp.h"
@@ -670,7 +670,7 @@ SalSystem* IosSalInstance::CreateSalSystem()
SalBitmap* IosSalInstance::CreateSalBitmap()
{
- return new IosSalBitmap();
+ return new QuartzSalBitmap();
}
// -----------------------------------------------------------------------
@@ -772,7 +772,7 @@ CGImageRef CreateCGImage( const Image& rImage )
return NULL;
// simple case, no transparency
- IosSalBitmap* pSalBmp = static_cast<IosSalBitmap*>(aBmp.ImplGetImpBitmap()->ImplGetSalBitmap());
+ QuartzSalBitmap* pSalBmp = static_cast<QuartzSalBitmap*>(aBmp.ImplGetImpBitmap()->ImplGetSalBitmap());
if( ! pSalBmp )
return NULL;
@@ -784,7 +784,7 @@ CGImageRef CreateCGImage( const Image& rImage )
{
AlphaMask aAlphaMask( aBmpEx.GetAlpha() );
Bitmap aMask( aAlphaMask.GetBitmap() );
- IosSalBitmap* pMaskBmp = static_cast<IosSalBitmap*>(aMask.ImplGetImpBitmap()->ImplGetSalBitmap());
+ QuartzSalBitmap* pMaskBmp = static_cast<QuartzSalBitmap*>(aMask.ImplGetImpBitmap()->ImplGetSalBitmap());
if( pMaskBmp )
xImage = pSalBmp->CreateWithMask( *pMaskBmp, 0, 0, pSalBmp->mnWidth, pSalBmp->mnHeight );
else
@@ -793,7 +793,7 @@ CGImageRef CreateCGImage( const Image& rImage )
else if( aBmpEx.GetTransparentType() == TRANSPARENT_BITMAP )
{
Bitmap aMask( aBmpEx.GetMask() );
- IosSalBitmap* pMaskBmp = static_cast<IosSalBitmap*>(aMask.ImplGetImpBitmap()->ImplGetSalBitmap());
+ QuartzSalBitmap* pMaskBmp = static_cast<QuartzSalBitmap*>(aMask.ImplGetImpBitmap()->ImplGetSalBitmap());
if( pMaskBmp )
xImage = pSalBmp->CreateWithMask( *pMaskBmp, 0, 0, pSalBmp->mnWidth, pSalBmp->mnHeight );
else
diff --git a/vcl/ios/source/gdi/salbmp.cxx b/vcl/ios/source/gdi/salbmp.cxx
deleted file mode 100644
index 4bd1d45ef613..000000000000
--- a/vcl/ios/source/gdi/salbmp.cxx
+++ /dev/null
@@ -1,903 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 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/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-
-#include "basebmp/scanlineformats.hxx"
-#include "basebmp/color.hxx"
-
-#include "basegfx/vector/b2ivector.hxx"
-
-#include "tools/color.hxx"
-
-#include "vcl/bitmap.hxx" // for BitmapSystemData
-#include "vcl/salbtype.hxx"
-
-#include "ios/salbmp.h"
-#include "ios/salinst.h"
-
-#include "bmpfast.hxx"
-
-// =======================================================================
-
-static bool isValidBitCount( sal_uInt16 nBitCount )
-{
- return (nBitCount == 1) || (nBitCount == 4) || (nBitCount == 8) || (nBitCount == 16) || (nBitCount == 24) || (nBitCount == 32);
-}
-
-// =======================================================================
-
-IosSalBitmap::IosSalBitmap()
-: mxGraphicContext( NULL )
-, mxCachedImage( NULL )
-, mnBits(0)
-, mnWidth(0)
-, mnHeight(0)
-, mnBytesPerRow(0)
-{
-}
-
-// ------------------------------------------------------------------
-
-IosSalBitmap::~IosSalBitmap()
-{
- Destroy();
-}
-
-// ------------------------------------------------------------------
-
-bool IosSalBitmap::Create( CGLayerRef xLayer, int nBitmapBits,
- int nX, int nY, int nWidth, int nHeight, bool /*bMirrorVert*/ )
-{
- DBG_ASSERT( xLayer, "IosSalBitmap::Create() from non-layered context" );
-
- // sanitize input parameters
- if( nX < 0 )
- nWidth += nX, nX = 0;
- if( nY < 0 )
- nHeight += nY, nY = 0;
- const CGSize aLayerSize = CGLayerGetSize( xLayer );
- if( nWidth >= (int)aLayerSize.width - nX )
- nWidth = (int)aLayerSize.width - nX;
- if( nHeight >= (int)aLayerSize.height - nY )
- nHeight = (int)aLayerSize.height - nY;
- if( (nWidth < 0) || (nHeight < 0) )
- nWidth = nHeight = 0;
-
- // initialize properties
- mnWidth = nWidth;
- mnHeight = nHeight;
- mnBits = nBitmapBits ? nBitmapBits : 32;
-
- // initialize drawing context
- CreateContext();
-
- // copy layer content into the bitmap buffer
- const CGPoint aSrcPoint = { static_cast<CGFloat>(-nX), static_cast<CGFloat>(-nY) };
- ::CGContextDrawLayerAtPoint( mxGraphicContext, aSrcPoint, xLayer );
- return true;
-}
-
-// ------------------------------------------------------------------
-
-bool IosSalBitmap::Create( const Size& rSize, sal_uInt16 nBits, const BitmapPalette& rBitmapPalette )
-{
- if( !isValidBitCount( nBits ) )
- return false;
- maPalette = rBitmapPalette;
- mnBits = nBits;
- mnWidth = rSize.Width();
- mnHeight = rSize.Height();
- return AllocateUserData();
-}
-
-// ------------------------------------------------------------------
-
-bool IosSalBitmap::Create( const SalBitmap& rSalBmp )
-{
- return Create( rSalBmp, rSalBmp.GetBitCount() );
-}
-
-// ------------------------------------------------------------------
-
-bool IosSalBitmap::Create( const SalBitmap& rSalBmp, SalGraphics* pGraphics )
-{
- return Create( rSalBmp, pGraphics ? pGraphics->GetBitCount() : rSalBmp.GetBitCount() );
-}
-
-// ------------------------------------------------------------------
-
-bool IosSalBitmap::Create( const SalBitmap& rSalBmp, sal_uInt16 nNewBitCount )
-{
- const IosSalBitmap& rSourceBitmap = static_cast<const IosSalBitmap&>(rSalBmp);
-
- if( isValidBitCount( nNewBitCount ) && rSourceBitmap.maUserBuffer.get() )
- {
- mnBits = nNewBitCount;
- mnWidth = rSourceBitmap.mnWidth;
- mnHeight = rSourceBitmap.mnHeight;
- maPalette = rSourceBitmap.maPalette;
-
- if( AllocateUserData() )
- {
- ConvertBitmapData( mnWidth, mnHeight, mnBits, mnBytesPerRow, maPalette, maUserBuffer.get(), rSourceBitmap.mnBits, rSourceBitmap.mnBytesPerRow, rSourceBitmap.maPalette, rSourceBitmap.maUserBuffer.get() );
- return true;
- }
- }
- return false;
-}
-
-// ------------------------------------------------------------------
-
-bool IosSalBitmap::Create( const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XBitmapCanvas > /*xBitmapCanvas*/, Size& /*rSize*/, bool /*bMask*/ )
-{
- return false;
-}
-
-// ------------------------------------------------------------------
-
-void IosSalBitmap::Destroy()
-{
- DestroyContext();
- maUserBuffer.reset();
-}
-
-// ------------------------------------------------------------------
-
-void IosSalBitmap::DestroyContext()
-{
- CGImageRelease( mxCachedImage );
- mxCachedImage = NULL;
-
- if( mxGraphicContext )
- {
- CGContextRelease( mxGraphicContext );
- mxGraphicContext = NULL;
- maContextBuffer.reset();
- }
-}
-
-// ------------------------------------------------------------------
-
-bool IosSalBitmap::CreateContext()
-{
- DestroyContext();
-
- // prepare graphics context
- // convert image from user input if available
- const bool bSkipConversion = !maUserBuffer;
- if( bSkipConversion )
- AllocateUserData();
-
- // default to RGBA color space
- CGColorSpaceRef aCGColorSpace = GetSalData()->mxRGBSpace;
- CGBitmapInfo aCGBmpInfo = kCGImageAlphaNoneSkipFirst;
-
- // convert data into something accepted by CGBitmapContextCreate()
- size_t bitsPerComponent = (mnBits == 16) ? 5 : 8;
- sal_uInt32 nContextBytesPerRow = mnBytesPerRow;
- if( (mnBits == 16) || (mnBits == 32) )
- {
- // no conversion needed for truecolor
- maContextBuffer = maUserBuffer;
- }
- else if( (mnBits == 8) && maPalette.IsGreyPalette() )
- {
- // no conversion needed for grayscale
- maContextBuffer = maUserBuffer;
- aCGColorSpace = GetSalData()->mxGraySpace;
- aCGBmpInfo = kCGImageAlphaNone;
- bitsPerComponent = mnBits;
- }
- // TODO: is special handling for 1bit input buffers worth it?
- else
- {
- // convert user data to 32 bit
- nContextBytesPerRow = mnWidth << 2;
- try
- {
- maContextBuffer.reset( new sal_uInt8[ mnHeight * nContextBytesPerRow ] );
-
- if( !bSkipConversion )
- ConvertBitmapData( mnWidth, mnHeight,
- 32, nContextBytesPerRow, maPalette, maContextBuffer.get(),
- mnBits, mnBytesPerRow, maPalette, maUserBuffer.get() );
- }
- catch( const std::bad_alloc& )
- {
- mxGraphicContext = 0;
- }
- }
-
- if( maContextBuffer.get() )
- {
- mxGraphicContext = ::CGBitmapContextCreate( maContextBuffer.get(), mnWidth, mnHeight,
- bitsPerComponent, nContextBytesPerRow, aCGColorSpace, aCGBmpInfo );
- }
-
- if( !mxGraphicContext )
- maContextBuffer.reset();
-
- return mxGraphicContext != NULL;
-}
-
-// ------------------------------------------------------------------
-
-bool IosSalBitmap::AllocateUserData()
-{
- Destroy();
-
- if( mnWidth && mnHeight )
- {
- mnBytesPerRow = 0;
-
- switch( mnBits )
- {
- case 1: mnBytesPerRow = (mnWidth + 7) >> 3; break;
- case 4: mnBytesPerRow = (mnWidth + 1) >> 1; break;
- case 8: mnBytesPerRow = mnWidth; break;
- case 16: mnBytesPerRow = mnWidth << 1; break;
- case 24: mnBytesPerRow = (mnWidth << 1) + mnWidth; break;
- case 32: mnBytesPerRow = mnWidth << 2; break;
- default:
- OSL_FAIL("vcl::IosSalBitmap::AllocateUserData(), illegal bitcount!");
- }
- }
-
- try
- {
- if( mnBytesPerRow )
- maUserBuffer.reset( new sal_uInt8[mnBytesPerRow * mnHeight] );
- }
- catch( const std::bad_alloc& )
- {
- OSL_FAIL( "vcl::IosSalBitmap::AllocateUserData: bad alloc" );
- maUserBuffer.reset( NULL );
- mnBytesPerRow = 0;
- }
-
- return maUserBuffer.get() != 0;
-}
-
-// ------------------------------------------------------------------
-
-class ImplPixelFormat
-{
-protected:
- sal_uInt8* pData;
-public:
- virtual ~ImplPixelFormat() { }
- static ImplPixelFormat* GetFormat( sal_uInt16 nBits, const BitmapPalette& rPalette );
-
- virtual void StartLine( sal_uInt8* pLine ) { pData = pLine; }
- virtual void SkipPixel( sal_uInt32 nPixel ) = 0;
- virtual ColorData ReadPixel() = 0;
- virtual void WritePixel( ColorData nColor ) = 0;
-};
-
-class ImplPixelFormat32 : public ImplPixelFormat
-// currently ARGB-format for 32bit depth
-{
-public:
- virtual void SkipPixel( sal_uInt32 nPixel )
- {
- pData += nPixel << 2;
- }
- virtual ColorData ReadPixel()
- {
- const ColorData c = RGB_COLORDATA( pData[1], pData[2], pData[3] );
- pData += 4;
- return c;
- }
- virtual void WritePixel( ColorData nColor )
- {
- *pData++ = 0;
- *pData++ = COLORDATA_RED( nColor );
- *pData++ = COLORDATA_GREEN( nColor );
- *pData++ = COLORDATA_BLUE( nColor );
- }
-};
-
-class ImplPixelFormat24 : public ImplPixelFormat
-// currently BGR-format for 24bit depth
-{
-public:
- virtual void SkipPixel( sal_uInt32 nPixel )
- {
- pData += (nPixel << 1) + nPixel;
- }
- virtual ColorData ReadPixel()
- {
- const ColorData c = RGB_COLORDATA( pData[2], pData[1], pData[0] );
- pData += 3;
- return c;
- }
- virtual void WritePixel( ColorData nColor )
- {
- *pData++ = COLORDATA_BLUE( nColor );
- *pData++ = COLORDATA_GREEN( nColor );
- *pData++ = COLORDATA_RED( nColor );
- }
-};
-
-class ImplPixelFormat16 : public ImplPixelFormat
-// currently R5G6B5-format for 16bit depth
-{
-protected:
- sal_uInt16* pData16;
-public:
-
- virtual void StartLine( sal_uInt8* pLine )
- {
- pData16 = (sal_uInt16*)pLine;
- }
- virtual void SkipPixel( sal_uInt32 nPixel )
- {
- pData += nPixel;
- }
- virtual ColorData ReadPixel()
- {
- const ColorData c = RGB_COLORDATA( (*pData & 0x7c00) >> 7, (*pData & 0x03e0) >> 2 , (*pData & 0x001f) << 3 );
- pData++;
- return c;
- }
- virtual void WritePixel( ColorData nColor )
- {
- *pData++ = ((COLORDATA_RED( nColor ) & 0xf8 ) << 7 ) ||
- ((COLORDATA_GREEN( nColor ) & 0xf8 ) << 2 ) ||
- ((COLORDATA_BLUE( nColor ) & 0xf8 ) >> 3 );
- }
-};
-
-class ImplPixelFormat8 : public ImplPixelFormat
-{
-private:
- const BitmapPalette& mrPalette;
-
-public:
- ImplPixelFormat8( const BitmapPalette& rPalette )
- : mrPalette( rPalette )
- {
- }
- virtual void SkipPixel( sal_uInt32 nPixel )
- {
- pData += nPixel;
- }
- virtual ColorData ReadPixel()
- {
- return mrPalette[ *pData++ ].operator Color().GetColor();
- }
- virtual void WritePixel( ColorData nColor )
- {
- const BitmapColor aColor( COLORDATA_RED( nColor ), COLORDATA_GREEN( nColor ), COLORDATA_BLUE( nColor ) );
- *pData++ = static_cast< sal_uInt8 >( mrPalette.GetBestIndex( aColor ) );
- }
-};
-
-class ImplPixelFormat4 : public ImplPixelFormat
-{
-private:
- const BitmapPalette& mrPalette;
- sal_uInt32 mnX;
- sal_uInt32 mnShift;
-
-public:
- ImplPixelFormat4( const BitmapPalette& rPalette )
- : mrPalette( rPalette )
- {
- }
- virtual void SkipPixel( sal_uInt32 nPixel )
- {
- mnX += nPixel;
- if( (nPixel & 1) )
- mnShift ^= 4;
- }
- virtual void StartLine( sal_uInt8* pLine )
- {
- pData = pLine;
- mnX = 0;
- mnShift = 4;
- }
- virtual ColorData ReadPixel()
- {
- const BitmapColor& rColor = mrPalette[( pData[mnX >> 1] >> mnShift) & 0x0f];
- mnX++;
- mnShift ^= 4;
- return rColor.operator Color().GetColor();
- }
- virtual void WritePixel( ColorData nColor )
- {
- const BitmapColor aColor( COLORDATA_RED( nColor ), COLORDATA_GREEN( nColor ), COLORDATA_BLUE( nColor ) );
- pData[mnX>>1] &= (0xf0 >> mnShift);
- pData[mnX>>1] |= (static_cast< sal_uInt8 >( mrPalette.GetBestIndex( aColor ) ) & 0x0f);
- mnX++;
- mnShift ^= 4;
- }
-};
-
-class ImplPixelFormat1 : public ImplPixelFormat
-{
-private:
- const BitmapPalette& mrPalette;
- sal_uInt32 mnX;
-
-public:
- ImplPixelFormat1( const BitmapPalette& rPalette )
- : mrPalette( rPalette )
- {
- }
- virtual void SkipPixel( sal_uInt32 nPixel )
- {
- mnX += nPixel;
- }
- virtual void StartLine( sal_uInt8* pLine )
- {
- pData = pLine;
- mnX = 0;
- }
- virtual ColorData ReadPixel()
- {
- const BitmapColor& rColor = mrPalette[ (pData[mnX >> 3 ] >> ( 7 - ( mnX & 7 ) )) & 1];
- mnX++;
- return rColor.operator Color().GetColor();
- }
- virtual void WritePixel( ColorData nColor )
- {
- const BitmapColor aColor( COLORDATA_RED( nColor ), COLORDATA_GREEN( nColor ), COLORDATA_BLUE( nColor ) );
- if( mrPalette.GetBestIndex( aColor ) & 1 )
- pData[ mnX >> 3 ] |= 1 << ( 7 - ( mnX & 7 ) );
- else
- pData[ mnX >> 3 ] &= ~( 1 << ( 7 - ( mnX & 7 ) ) );
- mnX++;
- }
-};
-
-ImplPixelFormat* ImplPixelFormat::GetFormat( sal_uInt16 nBits, const BitmapPalette& rPalette )
-{
- switch( nBits )
- {
- case 1: return new ImplPixelFormat1( rPalette );
- case 4: return new ImplPixelFormat4( rPalette );
- case 8: return new ImplPixelFormat8( rPalette );
- case 16: return new ImplPixelFormat16;
- case 24: return new ImplPixelFormat24;
- case 32: return new ImplPixelFormat32;
- }
-
- return 0;
-}
-
-void IosSalBitmap::ConvertBitmapData( sal_uInt32 nWidth, sal_uInt32 nHeight,
- sal_uInt16 nDestBits, sal_uInt32 nDestBytesPerRow, const BitmapPalette& rDestPalette, sal_uInt8* pDestData,
- sal_uInt16 nSrcBits, sal_uInt32 nSrcBytesPerRow, const BitmapPalette& rSrcPalette, sal_uInt8* pSrcData )
-
-{
- if( (nDestBytesPerRow == nSrcBytesPerRow) && (nDestBits == nSrcBits) && ((nSrcBits != 8) || (rDestPalette.operator==( rSrcPalette ))) )
- {
- // simple case, same format, so just copy
- memcpy( pDestData, pSrcData, nHeight * nDestBytesPerRow );
- return;
- }
-
- // try accelerated conversion if possible
- // TODO: are other truecolor conversions except BGR->ARGB worth it?
- bool bConverted = false;
- if( (nSrcBits == 24) && (nDestBits == 32) )
- {
- // TODO: extend bmpfast.cxx with a method that can be directly used here
- BitmapBuffer aSrcBuf;
- aSrcBuf.mnFormat = BMP_FORMAT_24BIT_TC_BGR;
- aSrcBuf.mpBits = pSrcData;
- aSrcBuf.mnBitCount = nSrcBits;
- aSrcBuf.mnScanlineSize = nSrcBytesPerRow;
- BitmapBuffer aDstBuf;
- aDstBuf.mnFormat = BMP_FORMAT_32BIT_TC_ARGB;
- aDstBuf.mpBits = pDestData;
- aSrcBuf.mnBitCount = nDestBits;
- aDstBuf.mnScanlineSize = nDestBytesPerRow;
-
- aSrcBuf.mnWidth = aDstBuf.mnWidth = nWidth;
- aSrcBuf.mnHeight = aDstBuf.mnHeight = nHeight;
-
- SalTwoRect aTwoRects;
- aTwoRects.mnSrcX = aTwoRects.mnDestX = 0;
- aTwoRects.mnSrcY = aTwoRects.mnDestY = 0;
- aTwoRects.mnSrcWidth = aTwoRects.mnDestWidth = mnWidth;
- aTwoRects.mnSrcHeight = aTwoRects.mnDestHeight = mnHeight;
- bConverted = ::ImplFastBitmapConversion( aDstBuf, aSrcBuf, aTwoRects );
- }
-
- if( !bConverted )
- {
- // TODO: this implementation is for clarety, not for speed
-
- ImplPixelFormat* pD = ImplPixelFormat::GetFormat( nDestBits, rDestPalette );
- ImplPixelFormat* pS = ImplPixelFormat::GetFormat( nSrcBits, rSrcPalette );
-
- if( pD && pS )
- {
- sal_uInt32 nY = nHeight;
- while( nY-- )
- {
- pD->StartLine( pDestData );
- pS->StartLine( pSrcData );
-
- sal_uInt32 nX = nWidth;
- while( nX-- )
- pD->WritePixel( pS->ReadPixel() );
-
- pSrcData += nSrcBytesPerRow;
- pDestData += nDestBytesPerRow;
- }
- }
- delete pS;
- delete pD;
- }
-}
-
-// ------------------------------------------------------------------
-
-Size IosSalBitmap::GetSize() const
-{
- return Size( mnWidth, mnHeight );
-}
-
-// ------------------------------------------------------------------
-
-sal_uInt16 IosSalBitmap::GetBitCount() const
-{
- return mnBits;
-}
-
-// ------------------------------------------------------------------
-
-static struct pal_entry
-{
- sal_uInt8 mnRed;
- sal_uInt8 mnGreen;
- sal_uInt8 mnBlue;
-}
-const aImplSalSysPalEntryAry[ 16 ] =
-{
-{ 0, 0, 0 },
-{ 0, 0, 0x80 },
-{ 0, 0x80, 0 },
-{ 0, 0x80, 0x80 },
-{ 0x80, 0, 0 },
-{ 0x80, 0, 0x80 },
-{ 0x80, 0x80, 0 },
-{ 0x80, 0x80, 0x80 },
-{ 0xC0, 0xC0, 0xC0 },
-{ 0, 0, 0xFF },
-{ 0, 0xFF, 0 },
-{ 0, 0xFF, 0xFF },
-{ 0xFF, 0, 0 },
-{ 0xFF, 0, 0xFF },
-{ 0xFF, 0xFF, 0 },
-{ 0xFF, 0xFF, 0xFF }
-};
-
-const BitmapPalette& GetDefaultPalette( int mnBits, bool bMonochrome )
-{
- if( bMonochrome )
- return Bitmap::GetGreyPalette( 1U << mnBits );
-
- // at this point we should provide some kind of default palette
- // since all other platforms do so, too.
- static bool bDefPalInit = false;
- static BitmapPalette aDefPalette256;
- static BitmapPalette aDefPalette16;
- static BitmapPalette aDefPalette2;
- if( ! bDefPalInit )
- {
- bDefPalInit = true;
- aDefPalette256.SetEntryCount( 256 );
- aDefPalette16.SetEntryCount( 16 );
- aDefPalette2.SetEntryCount( 2 );
-
- // Standard colors
- unsigned int i;
- for( i = 0; i < 16; i++ )
- {
- aDefPalette16[i] =
- aDefPalette256[i] = BitmapColor( aImplSalSysPalEntryAry[i].mnRed,
- aImplSalSysPalEntryAry[i].mnGreen,
- aImplSalSysPalEntryAry[i].mnBlue );
- }
-
- aDefPalette2[0] = BitmapColor( 0, 0, 0 );
- aDefPalette2[1] = BitmapColor( 0xff, 0xff, 0xff );
-
- // own palette (6/6/6)
- const int DITHER_PAL_STEPS = 6;
- const sal_uInt8 DITHER_PAL_DELTA = 51;
- int nB, nG, nR;
- sal_uInt8 nRed, nGreen, nBlue;
- for( nB=0, nBlue=0; nB < DITHER_PAL_STEPS; nB++, nBlue += DITHER_PAL_DELTA )
- {
- for( nG=0, nGreen=0; nG < DITHER_PAL_STEPS; nG++, nGreen += DITHER_PAL_DELTA )
- {
- for( nR=0, nRed=0; nR < DITHER_PAL_STEPS; nR++, nRed += DITHER_PAL_DELTA )
- {
- aDefPalette256[ i ] = BitmapColor( nRed, nGreen, nBlue );
- i++;
- }
- }
- }
- }
-
- // now fill in appropriate palette
- switch( mnBits )
- {
- case 1: return aDefPalette2;
- case 4: return aDefPalette16;
- case 8: return aDefPalette256;
- default: break;
- }
-
- const static BitmapPalette aEmptyPalette;
- return aEmptyPalette;
-}
-
-BitmapBuffer* IosSalBitmap::AcquireBuffer( bool /*bReadOnly*/ )
-{
- if( !maUserBuffer.get() )
-// || maContextBuffer.get() && (maUserBuffer.get() != maContextBuffer.get()) )
- {
- fprintf(stderr,"ASB::Acq(%dx%d,d=%d)\n",mnWidth,mnHeight,mnBits);
- // TODO: AllocateUserData();
- return NULL;
- }
-
- BitmapBuffer* pBuffer = new BitmapBuffer;
- pBuffer->mnWidth = mnWidth;
- pBuffer->mnHeight = mnHeight;
- pBuffer->maPalette = maPalette;
- pBuffer->mnScanlineSize = mnBytesPerRow;
- pBuffer->mpBits = maUserBuffer.get();
- pBuffer->mnBitCount = mnBits;
- switch( mnBits )
- {
- case 1: pBuffer->mnFormat = BMP_FORMAT_1BIT_MSB_PAL; break;
- case 4: pBuffer->mnFormat = BMP_FORMAT_4BIT_MSN_PAL; break;
- case 8: pBuffer->mnFormat = BMP_FORMAT_8BIT_PAL; break;
- case 16: pBuffer->mnFormat = BMP_FORMAT_16BIT_TC_MSB_MASK;
- pBuffer->maColorMask = ColorMask( k16BitRedColorMask, k16BitGreenColorMask, k16BitBlueColorMask );
- break;
- case 24: pBuffer->mnFormat = BMP_FORMAT_24BIT_TC_BGR; break;
- case 32: pBuffer->mnFormat = BMP_FORMAT_32BIT_TC_ARGB;
- pBuffer->maColorMask = ColorMask( k32BitRedColorMask, k32BitGreenColorMask, k32BitBlueColorMask );
- break;
- }
- pBuffer->mnFormat |= BMP_FORMAT_BOTTOM_UP;
-
- // some BitmapBuffer users depend on a complete palette
- if( (mnBits <= 8) && !maPalette )
- pBuffer->maPalette = GetDefaultPalette( mnBits, true );
-
- return pBuffer;
-}
-
-// ------------------------------------------------------------------
-
-void IosSalBitmap::ReleaseBuffer( BitmapBuffer* pBuffer, bool bReadOnly )
-{
- // invalidate graphic context if we have different data
- if( !bReadOnly )
- {
- maPalette = pBuffer->maPalette;
- if( mxGraphicContext )
- DestroyContext();
- }
-
- delete pBuffer;
-}
-
-// ------------------------------------------------------------------
-
-CGImageRef IosSalBitmap::CreateCroppedImage( int nX, int nY, int nNewWidth, int nNewHeight ) const
-{
- if( !mxCachedImage )
- {
- if( !mxGraphicContext )
- if( !const_cast<IosSalBitmap*>(this)->CreateContext() )
- return NULL;
-
- mxCachedImage = CGBitmapContextCreateImage( mxGraphicContext );
- }
-
- CGImageRef xCroppedImage = NULL;
- // short circuit if there is nothing to crop
- if( !nX && !nY && (mnWidth == nNewWidth) && (mnHeight == nNewHeight) )
- {
- xCroppedImage = mxCachedImage;
- CFRetain( xCroppedImage );
- }
- else
- {
- nY = mnHeight - (nY + nNewHeight); // adjust for y-mirrored context
- const CGRect aCropRect = { { static_cast<CGFloat>(nX), static_cast<CGFloat>(nY)}, { static_cast<CGFloat>(nNewWidth), static_cast<CGFloat>(nNewHeight) } };
- xCroppedImage = CGImageCreateWithImageInRect( mxCachedImage, aCropRect );
- }
-
- return xCroppedImage;
-}
-
-// ------------------------------------------------------------------
-
-static void CFRTLFree(void* /*info*/, const void* data, size_t /*size*/)
-{
- rtl_freeMemory( const_cast<void*>(data) );
-}
-
-CGImageRef IosSalBitmap::CreateWithMask( const IosSalBitmap& rMask,
- int nX, int nY, int nWidth, int nHeight ) const
-{
- CGImageRef xImage( CreateCroppedImage( nX, nY, nWidth, nHeight ) );
- if( !xImage )
- return NULL;
-
- CGImageRef xMask = rMask.CreateCroppedImage( nX, nY, nWidth, nHeight );
- if( !xMask )
- return xImage;
-
- // CGImageCreateWithMask() only likes masks or greyscale images => convert if needed
- // TODO: isolate in an extra method?
- if( !CGImageIsMask(xMask) || (CGImageGetColorSpace(xMask) != GetSalData()->mxGraySpace) )
- {
- const CGRect xImageRect=CGRectMake( 0, 0, nWidth, nHeight );//the rect has no offset
-
- // create the alpha mask image fitting our image
- // TODO: is caching the full mask or the subimage mask worth it?
- int nMaskBytesPerRow = ((nWidth + 3) & ~3);
- void* pMaskMem = rtl_allocateMemory( nMaskBytesPerRow * nHeight );
- CGContextRef xMaskContext = CGBitmapContextCreate( pMaskMem,
- nWidth, nHeight, 8, nMaskBytesPerRow, GetSalData()->mxGraySpace, kCGImageAlphaNone );
- CGContextDrawImage( xMaskContext, xImageRect, xMask );
- CFRelease( xMask );
- CGDataProviderRef xDataProvider( CGDataProviderCreateWithData( NULL,
- pMaskMem, nHeight * nMaskBytesPerRow, &CFRTLFree ) );
- static const float* pDecode = NULL;
- xMask = CGImageMaskCreate( nWidth, nHeight, 8, 8, nMaskBytesPerRow, xDataProvider, pDecode, false );
- CFRelease( xDataProvider );
- CFRelease( xMaskContext );
- }
-
- if( !xMask )
- return xImage;
-
- // combine image and alpha mask
- CGImageRef xMaskedImage = CGImageCreateWithMask( xImage, xMask );
- CFRelease( xMask );
- CFRelease( xImage );
- return xMaskedImage;
-}
-
-// ------------------------------------------------------------------
-
-/** creates an image from the given rectangle, replacing all black pixels with nMaskColor and make all other full transparent */
-CGImageRef IosSalBitmap::CreateColorMask( int nX, int nY, int nWidth, int nHeight, SalColor nMaskColor ) const
-{
- CGImageRef xMask = 0;
- if( maUserBuffer.get() && (nX + nWidth <= mnWidth) && (nY + nHeight <= mnHeight) )
- {
- const sal_uInt32 nDestBytesPerRow = nWidth << 2;
- sal_uInt32* pMaskBuffer = static_cast<sal_uInt32*>( rtl_allocateMemory( nHeight * nDestBytesPerRow ) );
- sal_uInt32* pDest = pMaskBuffer;
-
- ImplPixelFormat* pSourcePixels = ImplPixelFormat::GetFormat( mnBits, maPalette );
-
- if( pMaskBuffer && pSourcePixels )
- {
- sal_uInt32 nColor;
- reinterpret_cast<sal_uInt8*>(&nColor)[0] = 0xff;
- reinterpret_cast<sal_uInt8*>(&nColor)[1] = SALCOLOR_RED( nMaskColor );
- reinterpret_cast<sal_uInt8*>(&nColor)[2] = SALCOLOR_GREEN( nMaskColor );
- reinterpret_cast<sal_uInt8*>(&nColor)[3] = SALCOLOR_BLUE( nMaskColor );
-
- sal_uInt8* pSource = maUserBuffer.get();
- if( nY )
- pSource += nY * mnBytesPerRow;
-
- int y = nHeight;
- while( y-- )
- {
- pSourcePixels->StartLine( pSource );
- pSourcePixels->SkipPixel(nX);
- sal_uInt32 x = nWidth;
- while( x-- )
- {
- *pDest++ = ( pSourcePixels->ReadPixel() == 0 ) ? nColor : 0;
- }
- pSource += mnBytesPerRow;
- }
-
- CGDataProviderRef xDataProvider( CGDataProviderCreateWithData(NULL, pMaskBuffer, nHeight * nDestBytesPerRow, &CFRTLFree) );
- xMask = CGImageCreate(nWidth, nHeight, 8, 32, nDestBytesPerRow, GetSalData()->mxRGBSpace, kCGImageAlphaPremultipliedFirst, xDataProvider, NULL, true, kCGRenderingIntentDefault);
- CFRelease(xDataProvider);
- }
- else
- {
- free(pMaskBuffer);
- }
-
- delete pSourcePixels;
- }
- return xMask;
-}
-
-// =======================================================================
-
-/** IosSalBitmap::GetSystemData Get platform native image data from existing image
- *
- * @param rData struct BitmapSystemData, defined in vcl/inc/bitmap.hxx
- * @return true if successful
-**/
-bool IosSalBitmap::GetSystemData( BitmapSystemData& rData )
-{
- bool bRet = false;
-
- if( !mxGraphicContext )
- CreateContext();
-
- if ( mxGraphicContext )
- {
- bRet = true;
-
- if ((CGBitmapContextGetBitsPerPixel(mxGraphicContext) == 32) &&
- (CGBitmapContextGetBitmapInfo(mxGraphicContext) & kCGBitmapByteOrderMask) != kCGBitmapByteOrder32Host) {
- /**
- * We need to hack things because VCL does not use kCGBitmapByteOrder32Host, while Cairo requires it.
- */
- OSL_TRACE("IosSalBitmap::%s(): kCGBitmapByteOrder32Host not found => inserting it.",__func__);
-
- CGImageRef xImage = CGBitmapContextCreateImage (mxGraphicContext);
-
- // re-create the context with single change: include kCGBitmapByteOrder32Host flag.
- CGContextRef mxGraphicContextNew = CGBitmapContextCreate( CGBitmapContextGetData(mxGraphicContext),
- CGBitmapContextGetWidth(mxGraphicContext),
- CGBitmapContextGetHeight(mxGraphicContext),
- CGBitmapContextGetBitsPerComponent(mxGraphicContext),
- CGBitmapContextGetBytesPerRow(mxGraphicContext),
- CGBitmapContextGetColorSpace(mxGraphicContext),
- CGBitmapContextGetBitmapInfo(mxGraphicContext) | kCGBitmapByteOrder32Host);
- CFRelease(mxGraphicContext);
-
- // Needs to be flipped
- CGContextSaveGState( mxGraphicContextNew );
- CGContextTranslateCTM (mxGraphicContextNew, 0, CGBitmapContextGetHeight(mxGraphicContextNew));
- CGContextScaleCTM (mxGraphicContextNew, 1.0, -1.0);
-
- CGContextDrawImage(mxGraphicContextNew, CGRectMake( 0, 0, CGImageGetWidth(xImage), CGImageGetHeight(xImage)), xImage);
-
- // Flip back
- CGContextRestoreGState( mxGraphicContextNew );
-
- CGImageRelease( xImage );
- mxGraphicContext = mxGraphicContextNew;
- }
-
- rData.rImageContext = (void *) mxGraphicContext;
- rData.mnWidth = mnWidth;
- rData.mnHeight = mnHeight;
- }
-
- return bRet;
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/ios/source/gdi/salgdicommon.cxx b/vcl/ios/source/gdi/salgdicommon.cxx
index bb6ec7045869..c15346a7bb33 100644
--- a/vcl/ios/source/gdi/salgdicommon.cxx
+++ b/vcl/ios/source/gdi/salgdicommon.cxx
@@ -22,7 +22,7 @@
#include "basegfx/polygon/b2dpolygon.hxx"
-#include "ios/salbmp.h"
+#include "quartz/salbmp.h"
#include "coretext/salgdi.h"
#include "fontsubset.hxx"
@@ -501,8 +501,8 @@ bool QuartzSalGraphics::drawAlphaBitmap( const SalTwoRect& rTR,
return false;
}
- const IosSalBitmap& rSrcSalBmp = static_cast<const IosSalBitmap&>(rSrcBitmap);
- const IosSalBitmap& rMaskSalBmp = static_cast<const IosSalBitmap&>(rAlphaBmp);
+ const QuartzSalBitmap& rSrcSalBmp = static_cast<const QuartzSalBitmap&>(rSrcBitmap);
+ const QuartzSalBitmap& rMaskSalBmp = static_cast<const QuartzSalBitmap&>(rAlphaBmp);
CGImageRef xMaskedImage = rSrcSalBmp.CreateWithMask( rMaskSalBmp, rTR.mnSrcX,
rTR.mnSrcY, rTR.mnSrcWidth,
rTR.mnSrcHeight );
@@ -555,7 +555,7 @@ void QuartzSalGraphics::drawBitmap( const SalTwoRect* pPosAry, const SalBitmap&
{
return;
}
- const IosSalBitmap& rBitmap = static_cast<const IosSalBitmap&>(rSalBitmap);
+ const QuartzSalBitmap& rBitmap = static_cast<const QuartzSalBitmap&>(rSalBitmap);
CGImageRef xImage = rBitmap.CreateCroppedImage( (int)pPosAry->mnSrcX, (int)pPosAry->mnSrcY,
(int)pPosAry->mnSrcWidth, (int)pPosAry->mnSrcHeight );
if( !xImage )
@@ -582,8 +582,8 @@ void QuartzSalGraphics::drawBitmap( const SalTwoRect* pPosAry, const SalBitmap&
{
return;
}
- const IosSalBitmap& rBitmap = static_cast<const IosSalBitmap&>(rSalBitmap);
- const IosSalBitmap& rMask = static_cast<const IosSalBitmap&>(rTransparentBitmap);
+ const QuartzSalBitmap& rBitmap = static_cast<const QuartzSalBitmap&>(rSalBitmap);
+ const QuartzSalBitmap& rMask = static_cast<const QuartzSalBitmap&>(rTransparentBitmap);
CGImageRef xMaskedImage( rBitmap.CreateWithMask( rMask, pPosAry->mnSrcX, pPosAry->mnSrcY,
pPosAry->mnSrcWidth, pPosAry->mnSrcHeight ) );
if( !xMaskedImage )
@@ -632,7 +632,7 @@ void QuartzSalGraphics::drawMask( const SalTwoRect* pPosAry,
{
return;
}
- const IosSalBitmap& rBitmap = static_cast<const IosSalBitmap&>(rSalBitmap);
+ const QuartzSalBitmap& rBitmap = static_cast<const QuartzSalBitmap&>(rSalBitmap);
CGImageRef xImage = rBitmap.CreateColorMask( pPosAry->mnSrcX, pPosAry->mnSrcY,
pPosAry->mnSrcWidth, pPosAry->mnSrcHeight,
nMaskColor );
@@ -1036,7 +1036,7 @@ SalBitmap* QuartzSalGraphics::getBitmap( long nX, long nY, long nDX, long nD
ApplyXorContext();
- IosSalBitmap* pBitmap = new IosSalBitmap;
+ QuartzSalBitmap* pBitmap = new QuartzSalBitmap;
if( !pBitmap->Create( mxLayer, mnBitmapDepth, nX, nY, nDX, nDY, !mbWindow ) )
{
delete pBitmap;
diff --git a/vcl/ios/source/gdi/salnativewidgets.cxx b/vcl/ios/source/gdi/salnativewidgets.cxx
index 7b4beb5000c9..c3023e19245e 100644
--- a/vcl/ios/source/gdi/salnativewidgets.cxx
+++ b/vcl/ios/source/gdi/salnativewidgets.cxx
@@ -22,7 +22,6 @@
#include "vcl/svapp.hxx"
#include "vcl/timer.hxx"
-#include "ios/salconst.h"
#include "coretext/salgdi.h"
#include "ios/saldata.hxx"
#include "ios/salframe.h"
diff --git a/vcl/ios/source/window/salmenu.cxx b/vcl/ios/source/window/salmenu.cxx
index 27c6e109a2d2..50c262e25713 100644
--- a/vcl/ios/source/window/salmenu.cxx
+++ b/vcl/ios/source/window/salmenu.cxx
@@ -28,7 +28,6 @@
#include "ios/salinst.h"
#include "ios/salmenu.h"
#include "ios/salframe.h"
-#include "ios/salbmp.h"
#include "svids.hrc"
#include "window.h"
diff --git a/vcl/aqua/source/gdi/salbmp.cxx b/vcl/quartz/salbmp.cxx
index 8d8afa2e5dc7..9211c5221f87 100644
--- a/vcl/aqua/source/gdi/salbmp.cxx
+++ b/vcl/quartz/salbmp.cxx
@@ -28,11 +28,19 @@
#include "vcl/bitmap.hxx" // for BitmapSystemData
#include "vcl/salbtype.hxx"
-#include "aqua/salbmp.h"
-#include "aqua/salinst.h"
+#include "quartz/salbmp.h"
+//#include "aqua/salinst.h"
#include "bmpfast.hxx"
+static const unsigned long k16BitRedColorMask = 0x00007c00;
+static const unsigned long k16BitGreenColorMask = 0x000003e0;
+static const unsigned long k16BitBlueColorMask = 0x0000001f;
+
+static const unsigned long k32BitRedColorMask = 0x00ff0000;
+static const unsigned long k32BitGreenColorMask = 0x0000ff00;
+static const unsigned long k32BitBlueColorMask = 0x000000ff;
+
// =======================================================================
static bool isValidBitCount( sal_uInt16 nBitCount )
@@ -42,7 +50,7 @@ static bool isValidBitCount( sal_uInt16 nBitCount )
// =======================================================================
-AquaSalBitmap::AquaSalBitmap()
+QuartzSalBitmap::QuartzSalBitmap()
: mxGraphicContext( NULL )
, mxCachedImage( NULL )
, mnBits(0)
@@ -54,17 +62,17 @@ AquaSalBitmap::AquaSalBitmap()
// ------------------------------------------------------------------
-AquaSalBitmap::~AquaSalBitmap()
+QuartzSalBitmap::~QuartzSalBitmap()
{
Destroy();
}
// ------------------------------------------------------------------
-bool AquaSalBitmap::Create( CGLayerRef xLayer, int nBitmapBits,
+bool QuartzSalBitmap::Create( CGLayerRef xLayer, int nBitmapBits,
int nX, int nY, int nWidth, int nHeight, bool /*bMirrorVert*/ )
{
- DBG_ASSERT( xLayer, "AquaSalBitmap::Create() from non-layered context" );
+ DBG_ASSERT( xLayer, "QuartzSalBitmap::Create() from non-layered context" );
// sanitize input parameters
if( nX < 0 )
@@ -95,7 +103,7 @@ bool AquaSalBitmap::Create( CGLayerRef xLayer, int nBitmapBits,
// ------------------------------------------------------------------
-bool AquaSalBitmap::Create( const Size& rSize, sal_uInt16 nBits, const BitmapPalette& rBitmapPalette )
+bool QuartzSalBitmap::Create( const Size& rSize, sal_uInt16 nBits, const BitmapPalette& rBitmapPalette )
{
if( !isValidBitCount( nBits ) )
return false;
@@ -108,23 +116,23 @@ bool AquaSalBitmap::Create( const Size& rSize, sal_uInt16 nBits, const BitmapPal
// ------------------------------------------------------------------
-bool AquaSalBitmap::Create( const SalBitmap& rSalBmp )
+bool QuartzSalBitmap::Create( const SalBitmap& rSalBmp )
{
return Create( rSalBmp, rSalBmp.GetBitCount() );
}
// ------------------------------------------------------------------
-bool AquaSalBitmap::Create( const SalBitmap& rSalBmp, SalGraphics* pGraphics )
+bool QuartzSalBitmap::Create( const SalBitmap& rSalBmp, SalGraphics* pGraphics )
{
return Create( rSalBmp, pGraphics ? pGraphics->GetBitCount() : rSalBmp.GetBitCount() );
}
// ------------------------------------------------------------------
-bool AquaSalBitmap::Create( const SalBitmap& rSalBmp, sal_uInt16 nNewBitCount )
+bool QuartzSalBitmap::Create( const SalBitmap& rSalBmp, sal_uInt16 nNewBitCount )
{
- const AquaSalBitmap& rSourceBitmap = static_cast<const AquaSalBitmap&>(rSalBmp);
+ const QuartzSalBitmap& rSourceBitmap = static_cast<const QuartzSalBitmap&>(rSalBmp);
if( isValidBitCount( nNewBitCount ) && rSourceBitmap.maUserBuffer.get() )
{
@@ -144,14 +152,14 @@ bool AquaSalBitmap::Create( const SalBitmap& rSalBmp, sal_uInt16 nNewBitCount )
// ------------------------------------------------------------------
-bool AquaSalBitmap::Create( const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XBitmapCanvas > /*xBitmapCanvas*/, Size& /*rSize*/, bool /*bMask*/ )
+bool QuartzSalBitmap::Create( const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XBitmapCanvas > /*xBitmapCanvas*/, Size& /*rSize*/, bool /*bMask*/ )
{
return false;
}
// ------------------------------------------------------------------
-void AquaSalBitmap::Destroy()
+void QuartzSalBitmap::Destroy()
{
DestroyContext();
maUserBuffer.reset();
@@ -159,7 +167,7 @@ void AquaSalBitmap::Destroy()
// ------------------------------------------------------------------
-void AquaSalBitmap::DestroyContext()
+void QuartzSalBitmap::DestroyContext()
{
CGImageRelease( mxCachedImage );
mxCachedImage = NULL;
@@ -174,7 +182,7 @@ void AquaSalBitmap::DestroyContext()
// ------------------------------------------------------------------
-bool AquaSalBitmap::CreateContext()
+bool QuartzSalBitmap::CreateContext()
{
DestroyContext();
@@ -238,7 +246,7 @@ bool AquaSalBitmap::CreateContext()
// ------------------------------------------------------------------
-bool AquaSalBitmap::AllocateUserData()
+bool QuartzSalBitmap::AllocateUserData()
{
Destroy();
@@ -255,7 +263,7 @@ bool AquaSalBitmap::AllocateUserData()
case 24: mnBytesPerRow = (mnWidth << 1) + mnWidth; break;
case 32: mnBytesPerRow = mnWidth << 2; break;
default:
- OSL_FAIL("vcl::AquaSalBitmap::AllocateUserData(), illegal bitcount!");
+ OSL_FAIL("vcl::QuartzSalBitmap::AllocateUserData(), illegal bitcount!");
}
}
@@ -266,7 +274,7 @@ bool AquaSalBitmap::AllocateUserData()
}
catch( const std::bad_alloc& )
{
- OSL_FAIL( "vcl::AquaSalBitmap::AllocateUserData: bad alloc" );
+ OSL_FAIL( "vcl::QuartzSalBitmap::AllocateUserData: bad alloc" );
maUserBuffer.reset( NULL );
mnBytesPerRow = 0;
}
@@ -482,7 +490,7 @@ ImplPixelFormat* ImplPixelFormat::GetFormat( sal_uInt16 nBits, const BitmapPalet
return 0;
}
-void AquaSalBitmap::ConvertBitmapData( sal_uInt32 nWidth, sal_uInt32 nHeight,
+void QuartzSalBitmap::ConvertBitmapData( sal_uInt32 nWidth, sal_uInt32 nHeight,
sal_uInt16 nDestBits, sal_uInt32 nDestBytesPerRow, const BitmapPalette& rDestPalette, sal_uInt8* pDestData,
sal_uInt16 nSrcBits, sal_uInt32 nSrcBytesPerRow, const BitmapPalette& rSrcPalette, sal_uInt8* pSrcData )
@@ -552,14 +560,14 @@ void AquaSalBitmap::ConvertBitmapData( sal_uInt32 nWidth, sal_uInt32 nHeight,
// ------------------------------------------------------------------
-Size AquaSalBitmap::GetSize() const
+Size QuartzSalBitmap::GetSize() const
{
return Size( mnWidth, mnHeight );
}
// ------------------------------------------------------------------
-sal_uInt16 AquaSalBitmap::GetBitCount() const
+sal_uInt16 QuartzSalBitmap::GetBitCount() const
{
return mnBits;
}
@@ -654,7 +662,7 @@ const BitmapPalette& GetDefaultPalette( int mnBits, bool bMonochrome )
return aEmptyPalette;
}
-BitmapBuffer* AquaSalBitmap::AcquireBuffer( bool /*bReadOnly*/ )
+BitmapBuffer* QuartzSalBitmap::AcquireBuffer( bool /*bReadOnly*/ )
{
if( !maUserBuffer.get() )
// || maContextBuffer.get() && (maUserBuffer.get() != maContextBuffer.get()) )
@@ -695,7 +703,7 @@ BitmapBuffer* AquaSalBitmap::AcquireBuffer( bool /*bReadOnly*/ )
// ------------------------------------------------------------------
-void AquaSalBitmap::ReleaseBuffer( BitmapBuffer* pBuffer, bool bReadOnly )
+void QuartzSalBitmap::ReleaseBuffer( BitmapBuffer* pBuffer, bool bReadOnly )
{
// invalidate graphic context if we have different data
if( !bReadOnly )
@@ -710,12 +718,12 @@ void AquaSalBitmap::ReleaseBuffer( BitmapBuffer* pBuffer, bool bReadOnly )
// ------------------------------------------------------------------
-CGImageRef AquaSalBitmap::CreateCroppedImage( int nX, int nY, int nNewWidth, int nNewHeight ) const
+CGImageRef QuartzSalBitmap::CreateCroppedImage( int nX, int nY, int nNewWidth, int nNewHeight ) const
{
if( !mxCachedImage )
{
if( !mxGraphicContext )
- if( !const_cast<AquaSalBitmap*>(this)->CreateContext() )
+ if( !const_cast<QuartzSalBitmap*>(this)->CreateContext() )
return NULL;
mxCachedImage = CGBitmapContextCreateImage( mxGraphicContext );
@@ -745,7 +753,7 @@ static void CFRTLFree(void* /*info*/, const void* data, size_t /*size*/)
rtl_freeMemory( const_cast<void*>(data) );
}
-CGImageRef AquaSalBitmap::CreateWithMask( const AquaSalBitmap& rMask,
+CGImageRef QuartzSalBitmap::CreateWithMask( const QuartzSalBitmap& rMask,
int nX, int nY, int nWidth, int nHeight ) const
{
CGImageRef xImage( CreateCroppedImage( nX, nY, nWidth, nHeight ) );
@@ -791,7 +799,7 @@ CGImageRef AquaSalBitmap::CreateWithMask( const AquaSalBitmap& rMask,
// ------------------------------------------------------------------
/** creates an image from the given rectangle, replacing all black pixels with nMaskColor and make all other full transparent */
-CGImageRef AquaSalBitmap::CreateColorMask( int nX, int nY, int nWidth, int nHeight, SalColor nMaskColor ) const
+CGImageRef QuartzSalBitmap::CreateColorMask( int nX, int nY, int nWidth, int nHeight, SalColor nMaskColor ) const
{
CGImageRef xMask = 0;
if( maUserBuffer.get() && (nX + nWidth <= mnWidth) && (nY + nHeight <= mnHeight) )
@@ -843,12 +851,12 @@ CGImageRef AquaSalBitmap::CreateColorMask( int nX, int nY, int nWidth, int nHeig
// =======================================================================
-/** AquaSalBitmap::GetSystemData Get platform native image data from existing image
+/** QuartzSalBitmap::GetSystemData Get platform native image data from existing image
*
* @param rData struct BitmapSystemData, defined in vcl/inc/bitmap.hxx
* @return true if successful
**/
-bool AquaSalBitmap::GetSystemData( BitmapSystemData& rData )
+bool QuartzSalBitmap::GetSystemData( BitmapSystemData& rData )
{
bool bRet = false;
@@ -864,7 +872,7 @@ bool AquaSalBitmap::GetSystemData( BitmapSystemData& rData )
/**
* We need to hack things because VCL does not use kCGBitmapByteOrder32Host, while Cairo requires it.
*/
- OSL_TRACE("AquaSalBitmap::%s(): kCGBitmapByteOrder32Host not found => inserting it.",__func__);
+ OSL_TRACE("QuartzSalBitmap::%s(): kCGBitmapByteOrder32Host not found => inserting it.",__func__);
CGImageRef xImage = CGBitmapContextCreateImage (mxGraphicContext);