diff options
author | Noel Grandin <noel@peralex.com> | 2016-05-20 09:40:34 +0200 |
---|---|---|
committer | Noel Grandin <noelgrandin@gmail.com> | 2016-05-25 13:19:25 +0000 |
commit | d9ac7def8ba320853e8865535a7a14f9af77521e (patch) | |
tree | 4aef3ff57b2208fd01633f838c83afe727c26544 /include | |
parent | 102196f06400864ef49af961352b5c285ee1f3ab (diff) |
Convert BMP_FORMAT to scoped enum
Change-Id: I751ab762b6e6f961e9e73a8a2ca92a3f5a5eb1c8
Reviewed-on: https://gerrit.libreoffice.org/25189
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/vcl/bitmapaccess.hxx | 78 | ||||
-rw-r--r-- | include/vcl/salbtype.hxx | 52 |
2 files changed, 67 insertions, 63 deletions
diff --git a/include/vcl/bitmapaccess.hxx b/include/vcl/bitmapaccess.hxx index 82fe209c5423..de2c9a71dd77 100644 --- a/include/vcl/bitmapaccess.hxx +++ b/include/vcl/bitmapaccess.hxx @@ -45,7 +45,7 @@ public: inline bool IsTopDown() const; inline bool IsBottomUp() const; - inline sal_uLong GetScanlineFormat() const; + inline ScanlineFormat GetScanlineFormat() const; inline sal_uLong GetScanlineSize() const; inline sal_uInt16 GetBitCount() const; @@ -133,7 +133,7 @@ protected: SAL_DLLPRIVATE void ImplInitScanBuffer( Bitmap& rBitmap ); SAL_DLLPRIVATE void ImplClearScanBuffer(); - SAL_DLLPRIVATE bool ImplSetAccessPointers( sal_uLong nFormat ); + SAL_DLLPRIVATE bool ImplSetAccessPointers( ScanlineFormat nFormat ); public: @@ -142,39 +142,39 @@ public: return mpBuffer; } - static BitmapColor GetPixelFor_1BIT_MSB_PAL(ConstScanline pScanline, long nX, const ColorMask& rMask); - static BitmapColor GetPixelFor_1BIT_LSB_PAL(ConstScanline pScanline, long nX, const ColorMask& rMask); - static BitmapColor GetPixelFor_4BIT_MSN_PAL(ConstScanline pScanline, long nX, const ColorMask& rMask); - static BitmapColor GetPixelFor_4BIT_LSN_PAL(ConstScanline pScanline, long nX, const ColorMask& rMask); - static BitmapColor GetPixelFor_8BIT_PAL(ConstScanline pScanline, long nX, const ColorMask& rMask); - static BitmapColor GetPixelFor_8BIT_TC_MASK(ConstScanline pScanline, long nX, const ColorMask& rMask); - static BitmapColor GetPixelFor_16BIT_TC_MSB_MASK(ConstScanline pScanline, long nX, const ColorMask& rMask); - static BitmapColor GetPixelFor_16BIT_TC_LSB_MASK(ConstScanline pScanline, long nX, const ColorMask& rMask); - static BitmapColor GetPixelFor_24BIT_TC_BGR(ConstScanline pScanline, long nX, const ColorMask& rMask); - static BitmapColor GetPixelFor_24BIT_TC_RGB(ConstScanline pScanline, long nX, const ColorMask& rMask); - static BitmapColor GetPixelFor_24BIT_TC_MASK(ConstScanline pScanline, long nX, const ColorMask& rMask); - static BitmapColor GetPixelFor_32BIT_TC_ABGR(ConstScanline pScanline, long nX, const ColorMask& rMask); - static BitmapColor GetPixelFor_32BIT_TC_ARGB(ConstScanline pScanline, long nX, const ColorMask& rMask); - static BitmapColor GetPixelFor_32BIT_TC_BGRA(ConstScanline pScanline, long nX, const ColorMask& rMask); - static BitmapColor GetPixelFor_32BIT_TC_RGBA(ConstScanline pScanline, long nX, const ColorMask& rMask); - static BitmapColor GetPixelFor_32BIT_TC_MASK(ConstScanline pScanline, long nX, const ColorMask& rMask); - - static void SetPixelFor_1BIT_MSB_PAL(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask& rMask); - static void SetPixelFor_1BIT_LSB_PAL(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask& rMask); - static void SetPixelFor_4BIT_MSN_PAL(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask& rMask); - static void SetPixelFor_4BIT_LSN_PAL(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask& rMask); - static void SetPixelFor_8BIT_PAL(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask& rMask); - static void SetPixelFor_8BIT_TC_MASK(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask& rMask); - static void SetPixelFor_16BIT_TC_MSB_MASK(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask& rMask); - static void SetPixelFor_16BIT_TC_LSB_MASK(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask& rMask); - static void SetPixelFor_24BIT_TC_BGR(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask& rMask); - static void SetPixelFor_24BIT_TC_RGB(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask& rMask); - static void SetPixelFor_24BIT_TC_MASK(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask& rMask); - static void SetPixelFor_32BIT_TC_ABGR(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask& rMask); - static void SetPixelFor_32BIT_TC_ARGB(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask& rMask); - static void SetPixelFor_32BIT_TC_BGRA(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask& rMask); - static void SetPixelFor_32BIT_TC_RGBA(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask& rMask); - static void SetPixelFor_32BIT_TC_MASK(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask& rMask); + static BitmapColor GetPixelForN1BitMsbPal(ConstScanline pScanline, long nX, const ColorMask& rMask); + static BitmapColor GetPixelForN1BitLsbPal(ConstScanline pScanline, long nX, const ColorMask& rMask); + static BitmapColor GetPixelForN4BitMsnPal(ConstScanline pScanline, long nX, const ColorMask& rMask); + static BitmapColor GetPixelForN4BitLsnPal(ConstScanline pScanline, long nX, const ColorMask& rMask); + static BitmapColor GetPixelForN8BitPal(ConstScanline pScanline, long nX, const ColorMask& rMask); + static BitmapColor GetPixelForN8BitTcMask(ConstScanline pScanline, long nX, const ColorMask& rMask); + static BitmapColor GetPixelForN16BitTcMsbMask(ConstScanline pScanline, long nX, const ColorMask& rMask); + static BitmapColor GetPixelForN16BitTcLsbMask(ConstScanline pScanline, long nX, const ColorMask& rMask); + static BitmapColor GetPixelForN24BitTcBgr(ConstScanline pScanline, long nX, const ColorMask& rMask); + static BitmapColor GetPixelForN24BitTcRgb(ConstScanline pScanline, long nX, const ColorMask& rMask); + static BitmapColor GetPixelForN24BitTcMask(ConstScanline pScanline, long nX, const ColorMask& rMask); + static BitmapColor GetPixelForN32BitTcAbgr(ConstScanline pScanline, long nX, const ColorMask& rMask); + static BitmapColor GetPixelForN32BitTcArgb(ConstScanline pScanline, long nX, const ColorMask& rMask); + static BitmapColor GetPixelForN32BitTcBgra(ConstScanline pScanline, long nX, const ColorMask& rMask); + static BitmapColor GetPixelForN32BitTcRgba(ConstScanline pScanline, long nX, const ColorMask& rMask); + static BitmapColor GetPixelForN32BitTcMask(ConstScanline pScanline, long nX, const ColorMask& rMask); + + static void SetPixelForN1BitMsbPal(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask& rMask); + static void SetPixelForN1BitLsbPal(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask& rMask); + static void SetPixelForN4BitMsnPal(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask& rMask); + static void SetPixelForN4BitLsnPal(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask& rMask); + static void SetPixelForN8BitPal(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask& rMask); + static void SetPixelForN8BitTcMask(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask& rMask); + static void SetPixelForN16BitTcMsbMask(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask& rMask); + static void SetPixelForN16BitTcLsbMask(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask& rMask); + static void SetPixelForN24BitTcBgr(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask& rMask); + static void SetPixelForN24BitTcRgb(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask& rMask); + static void SetPixelForN24BitTcMask(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask& rMask); + static void SetPixelForN32BitTcAbgr(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask& rMask); + static void SetPixelForN32BitTcArgb(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask& rMask); + static void SetPixelForN32BitTcBgra(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask& rMask); + static void SetPixelForN32BitTcRgba(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask& rMask); + static void SetPixelForN32BitTcMask(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask& rMask); protected: BitmapReadAccess(Bitmap& rBitmap, BitmapAccessMode nMode); @@ -190,7 +190,7 @@ public: void CopyScanline(long nY, const BitmapReadAccess& rReadAcc); void CopyScanline(long nY, ConstScanline aSrcScanline, - sal_uLong nSrcScanlineFormat, + ScanlineFormat nSrcScanlineFormat, sal_uLong nSrcScanlineSize); void CopyBuffer( const BitmapReadAccess& rReadAcc ); @@ -247,7 +247,7 @@ inline bool BitmapInfoAccess::IsTopDown() const { assert(mpBuffer && "Access is not valid!"); - return mpBuffer && (BMP_SCANLINE_ADJUSTMENT(mpBuffer->mnFormat) == BMP_FORMAT_TOP_DOWN); + return mpBuffer && (mpBuffer->mnFormat & ScanlineFormat::TopDown); } @@ -257,11 +257,11 @@ inline bool BitmapInfoAccess::IsBottomUp() const } -inline sal_uLong BitmapInfoAccess::GetScanlineFormat() const +inline ScanlineFormat BitmapInfoAccess::GetScanlineFormat() const { assert(mpBuffer && "Access is not valid!"); - return mpBuffer ? BMP_SCANLINE_FORMAT(mpBuffer->mnFormat) : 0UL; + return mpBuffer ? RemoveScanline(mpBuffer->mnFormat) : ScanlineFormat::NONE; } diff --git a/include/vcl/salbtype.hxx b/include/vcl/salbtype.hxx index 769549d2beb2..7238e02197f8 100644 --- a/include/vcl/salbtype.hxx +++ b/include/vcl/salbtype.hxx @@ -19,6 +19,7 @@ #ifndef INCLUDED_VCL_SALBTYPE_HXX #define INCLUDED_VCL_SALBTYPE_HXX + #include <string.h> #include <stdlib.h> #include <tools/debug.hxx> @@ -27,39 +28,42 @@ #include <tools/helpers.hxx> #include <tools/solar.h> #include <vcl/dllapi.h> - +#include <o3tl/typed_flags_set.hxx> typedef sal_uInt8* Scanline; typedef const sal_uInt8* ConstScanline; +enum class ScanlineFormat { + NONE = 0x00000000, -#define BMP_FORMAT_BOTTOM_UP 0x00000000UL -#define BMP_FORMAT_TOP_DOWN 0x80000000UL - -#define BMP_FORMAT_1BIT_MSB_PAL 0x00000001UL -#define BMP_FORMAT_1BIT_LSB_PAL 0x00000002UL + N1BitMsbPal = 0x00000001, + N1BitLsbPal = 0x00000002, -#define BMP_FORMAT_4BIT_MSN_PAL 0x00000004UL -#define BMP_FORMAT_4BIT_LSN_PAL 0x00000008UL + N4BitMsnPal = 0x00000004, + N4BitLsnPal = 0x00000008, -#define BMP_FORMAT_8BIT_PAL 0x00000010UL -#define BMP_FORMAT_8BIT_TC_MASK 0x00000020UL + N8BitPal = 0x00000010, + N8BitTcMask = 0x00000020, -#define BMP_FORMAT_24BIT_TC_BGR 0x00000080UL -#define BMP_FORMAT_24BIT_TC_RGB 0x00000100UL -#define BMP_FORMAT_24BIT_TC_MASK 0x00000200UL + N16BitTcMsbMask = 0x00000040, + N16BitTcLsbMask = 0x00000080, -#define BMP_FORMAT_32BIT_TC_ABGR 0x00000400UL -#define BMP_FORMAT_32BIT_TC_ARGB 0x00000800UL -#define BMP_FORMAT_32BIT_TC_BGRA 0x00001000UL -#define BMP_FORMAT_32BIT_TC_RGBA 0x00002000UL -#define BMP_FORMAT_32BIT_TC_MASK 0x00004000UL + N24BitTcBgr = 0x00000100, + N24BitTcRgb = 0x00000200, + N24BitTcMask = 0x00000400, -#define BMP_FORMAT_16BIT_TC_MSB_MASK 0x00008000UL -#define BMP_FORMAT_16BIT_TC_LSB_MASK 0x00010000UL + N32BitTcAbgr = 0x00000800, + N32BitTcArgb = 0x00001000, + N32BitTcBgra = 0x00002000, + N32BitTcRgba = 0x00004000, + N32BitTcMask = 0x00008000, -#define BMP_SCANLINE_ADJUSTMENT( Mac_nBmpFormat ) ( (Mac_nBmpFormat) & 0x80000000UL ) -#define BMP_SCANLINE_FORMAT( Mac_nBmpFormat ) ( (Mac_nBmpFormat) & 0x7FFFFFFFUL ) + TopDown = 0x00010000 // scanline adjustment +}; +namespace o3tl { + template<> struct typed_flags<ScanlineFormat> : is_typed_flags<ScanlineFormat, 0x0001ffff> {}; +} +inline ScanlineFormat RemoveScanline(ScanlineFormat nFormat) { return nFormat & ~ScanlineFormat::TopDown; } #define MASK_TO_COLOR( d_nVal, d_RM, d_GM, d_BM, d_RS, d_GS, d_BS, d_Col ) \ @@ -256,7 +260,7 @@ public: struct VCL_DLLPUBLIC BitmapBuffer { - sal_uLong mnFormat; + ScanlineFormat mnFormat; long mnWidth; long mnHeight; long mnScanlineSize; @@ -275,7 +279,7 @@ enum class BitmapAccessMode VCL_DLLPUBLIC BitmapBuffer* StretchAndConvert( const BitmapBuffer& rSrcBuffer, const SalTwoRect& rTwoRect, - sal_uLong nDstBitmapFormat, const BitmapPalette* pDstPal = nullptr, const ColorMask* pDstMask = nullptr ); + ScanlineFormat nDstBitmapFormat, const BitmapPalette* pDstPal = nullptr, const ColorMask* pDstMask = nullptr ); inline BitmapColor::BitmapColor() : mcBlueOrIndex ( 0 ), |