Kaydet (Commit) 132ad4f1 authored tarafından Tomaž Vajngerl's avatar Tomaž Vajngerl

vcl: get rid of macros for lazy people in bmpacc

Change-Id: I4b64a70e185f061c7d7e1e895d85ffb47ee60101
üst 44c6c4da
...@@ -25,42 +25,9 @@ ...@@ -25,42 +25,9 @@
#include <vcl/salbtype.hxx> #include <vcl/salbtype.hxx>
#include <vcl/bitmap.hxx> #include <vcl/bitmap.hxx>
// - Access defines -
#define DECL_FORMAT_GETPIXEL( Format ) \
static BitmapColor GetPixelFor##Format( ConstScanline pScanline, long nX, const ColorMask& rMask );
#define DECL_FORMAT_SETPIXEL( Format ) \
static void SetPixelFor##Format( Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask& rMask );
#define DECL_FORMAT( Format ) \
DECL_FORMAT_GETPIXEL( Format ) \
DECL_FORMAT_SETPIXEL( Format )
#define IMPL_FORMAT_GETPIXEL( Format ) \
BitmapColor BitmapReadAccess::GetPixelFor##Format( ConstScanline pScanline, long nX, const ColorMask& rMask )
#define IMPL_FORMAT_GETPIXEL_NOMASK( Format ) \
BitmapColor BitmapReadAccess::GetPixelFor##Format( ConstScanline pScanline, long nX, const ColorMask& )
#define IMPL_FORMAT_SETPIXEL( Format ) \
void BitmapReadAccess::SetPixelFor##Format( Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask& rMask )
#define IMPL_FORMAT_SETPIXEL_NOMASK( Format ) \
void BitmapReadAccess::SetPixelFor##Format( Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask& )
#define CASE_FORMAT( Format ) \
case( BMP_FORMAT##Format ): \
{ \
mFncGetPixel = GetPixelFor##Format;\
mFncSetPixel = SetPixelFor##Format;\
} \
break;
// - Access functions - // - Access functions -
typedef BitmapColor (*FncGetPixel)( ConstScanline pScanline, long nX, const ColorMask& rMask ); typedef BitmapColor (*FncGetPixel)(ConstScanline pScanline, long nX, const ColorMask& rMask);
typedef void (*FncSetPixel)( Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask& rMask ); typedef void (*FncSetPixel)(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask& rMask);
// - BitmapInfoAccess - // - BitmapInfoAccess -
class VCL_DLLPUBLIC BitmapInfoAccess class VCL_DLLPUBLIC BitmapInfoAccess
...@@ -68,7 +35,7 @@ class VCL_DLLPUBLIC BitmapInfoAccess ...@@ -68,7 +35,7 @@ class VCL_DLLPUBLIC BitmapInfoAccess
friend class BitmapReadAccess; friend class BitmapReadAccess;
public: public:
BitmapInfoAccess( Bitmap& rBitmap ); BitmapInfoAccess(Bitmap& rBitmap);
virtual ~BitmapInfoAccess(); virtual ~BitmapInfoAccess();
inline bool operator!() const; inline bool operator!() const;
...@@ -85,23 +52,29 @@ public: ...@@ -85,23 +52,29 @@ public:
inline sal_uLong GetScanlineSize() const; inline sal_uLong GetScanlineSize() const;
inline sal_uInt16 GetBitCount() const; inline sal_uInt16 GetBitCount() const;
inline BitmapColor GetBestMatchingColor( const BitmapColor& rBitmapColor ); inline BitmapColor GetBestMatchingColor(const BitmapColor& rBitmapColor);
inline bool HasPalette() const; inline bool HasPalette() const;
inline const BitmapPalette& GetPalette() const; inline const BitmapPalette& GetPalette() const;
inline sal_uInt16 GetPaletteEntryCount() const; inline sal_uInt16 GetPaletteEntryCount() const;
inline const BitmapColor& GetPaletteColor( sal_uInt16 nColor ) const; inline const BitmapColor& GetPaletteColor(sal_uInt16 nColor) const;
inline const BitmapColor& GetBestPaletteColor( const BitmapColor& rBitmapColor ) const; inline const BitmapColor& GetBestPaletteColor(const BitmapColor& rBitmapColor) const;
sal_uInt16 GetBestPaletteIndex( const BitmapColor& rBitmapColor ) const; sal_uInt16 GetBestPaletteIndex(const BitmapColor& rBitmapColor) const;
inline bool HasColorMask() const; inline bool HasColorMask() const;
inline ColorMask& GetColorMask() const; inline ColorMask& GetColorMask() const;
private: private:
BitmapInfoAccess()
{}
BitmapInfoAccess() {} BitmapInfoAccess(const BitmapInfoAccess&)
BitmapInfoAccess( const BitmapInfoAccess& ) {} {}
BitmapInfoAccess& operator=( const BitmapInfoAccess& ) { return *this; }
BitmapInfoAccess& operator=(const BitmapInfoAccess&)
{
return *this;
}
protected: protected:
Bitmap maBitmap; Bitmap maBitmap;
...@@ -109,12 +82,11 @@ protected: ...@@ -109,12 +82,11 @@ protected:
ColorMask maColorMask; ColorMask maColorMask;
BitmapAccessMode mnAccessMode; BitmapAccessMode mnAccessMode;
SAL_DLLPRIVATE void ImplCreate( Bitmap& rBitmap ); SAL_DLLPRIVATE void ImplCreate(Bitmap& rBitmap);
SAL_DLLPRIVATE void ImplDestroy(); SAL_DLLPRIVATE void ImplDestroy();
protected: protected:
BitmapInfoAccess( Bitmap& rBitmap, BitmapAccessMode nMode ); BitmapInfoAccess(Bitmap& rBitmap, BitmapAccessMode nMode);
}; };
// - BitmapReadAccess - // - BitmapReadAccess -
...@@ -123,7 +95,7 @@ class VCL_DLLPUBLIC BitmapReadAccess : public BitmapInfoAccess ...@@ -123,7 +95,7 @@ class VCL_DLLPUBLIC BitmapReadAccess : public BitmapInfoAccess
friend class BitmapWriteAccess; friend class BitmapWriteAccess;
public: public:
BitmapReadAccess( Bitmap& rBitmap ); BitmapReadAccess(Bitmap& rBitmap);
virtual ~BitmapReadAccess(); virtual ~BitmapReadAccess();
inline Scanline GetBuffer() const; inline Scanline GetBuffer() const;
...@@ -131,6 +103,7 @@ public: ...@@ -131,6 +103,7 @@ public:
inline BitmapColor GetPixelFromData( const sal_uInt8* pData, long nX ) const; inline BitmapColor GetPixelFromData( const sal_uInt8* pData, long nX ) const;
inline void SetPixelOnData( sal_uInt8* pData, long nX, const BitmapColor& rBitmapColor ); inline void SetPixelOnData( sal_uInt8* pData, long nX, const BitmapColor& rBitmapColor );
inline BitmapColor GetPixel( long nY, long nX ) const; inline BitmapColor GetPixel( long nY, long nX ) const;
inline BitmapColor GetColor( long nY, long nX ) const; inline BitmapColor GetColor( long nY, long nX ) const;
inline sal_uInt8 GetPixelIndex( long nY, long nX ) const; inline sal_uInt8 GetPixelIndex( long nY, long nX ) const;
...@@ -145,9 +118,17 @@ public: ...@@ -145,9 +118,17 @@ public:
private: private:
BitmapReadAccess() {} BitmapReadAccess()
BitmapReadAccess( const BitmapReadAccess& ) : BitmapInfoAccess() {} {}
BitmapReadAccess& operator=( const BitmapReadAccess& ) { return *this; }
BitmapReadAccess(const BitmapReadAccess&)
: BitmapInfoAccess()
{}
BitmapReadAccess& operator=(const BitmapReadAccess&)
{
return *this;
}
protected: protected:
Scanline* mpScanBuf; Scanline* mpScanBuf;
...@@ -161,88 +142,115 @@ protected: ...@@ -161,88 +142,115 @@ protected:
public: public:
SAL_DLLPRIVATE void ImplZeroInitUnusedBits(); SAL_DLLPRIVATE void ImplZeroInitUnusedBits();
SAL_DLLPRIVATE BitmapBuffer* SAL_DLLPRIVATE BitmapBuffer* ImplGetBitmapBuffer() const
ImplGetBitmapBuffer() const { return mpBuffer; } {
return mpBuffer;
DECL_FORMAT( _1BIT_MSB_PAL ) }
DECL_FORMAT( _1BIT_LSB_PAL )
DECL_FORMAT( _4BIT_MSN_PAL ) static BitmapColor GetPixelFor_1BIT_MSB_PAL(ConstScanline pScanline, long nX, const ColorMask& rMask);
DECL_FORMAT( _4BIT_LSN_PAL ) static BitmapColor GetPixelFor_1BIT_LSB_PAL(ConstScanline pScanline, long nX, const ColorMask& rMask);
DECL_FORMAT( _8BIT_PAL ) static BitmapColor GetPixelFor_4BIT_MSN_PAL(ConstScanline pScanline, long nX, const ColorMask& rMask);
DECL_FORMAT( _8BIT_TC_MASK ) static BitmapColor GetPixelFor_4BIT_LSN_PAL(ConstScanline pScanline, long nX, const ColorMask& rMask);
DECL_FORMAT( _16BIT_TC_MSB_MASK ) static BitmapColor GetPixelFor_8BIT_PAL(ConstScanline pScanline, long nX, const ColorMask& rMask);
DECL_FORMAT( _16BIT_TC_LSB_MASK ) static BitmapColor GetPixelFor_8BIT_TC_MASK(ConstScanline pScanline, long nX, const ColorMask& rMask);
DECL_FORMAT( _24BIT_TC_BGR ) static BitmapColor GetPixelFor_16BIT_TC_MSB_MASK(ConstScanline pScanline, long nX, const ColorMask& rMask);
DECL_FORMAT( _24BIT_TC_RGB ) static BitmapColor GetPixelFor_16BIT_TC_LSB_MASK(ConstScanline pScanline, long nX, const ColorMask& rMask);
DECL_FORMAT( _24BIT_TC_MASK ) static BitmapColor GetPixelFor_24BIT_TC_BGR(ConstScanline pScanline, long nX, const ColorMask& rMask);
DECL_FORMAT( _32BIT_TC_ABGR ) static BitmapColor GetPixelFor_24BIT_TC_RGB(ConstScanline pScanline, long nX, const ColorMask& rMask);
DECL_FORMAT( _32BIT_TC_ARGB ) static BitmapColor GetPixelFor_24BIT_TC_MASK(ConstScanline pScanline, long nX, const ColorMask& rMask);
DECL_FORMAT( _32BIT_TC_BGRA ) static BitmapColor GetPixelFor_32BIT_TC_ABGR(ConstScanline pScanline, long nX, const ColorMask& rMask);
DECL_FORMAT( _32BIT_TC_RGBA ) static BitmapColor GetPixelFor_32BIT_TC_ARGB(ConstScanline pScanline, long nX, const ColorMask& rMask);
DECL_FORMAT( _32BIT_TC_MASK ) 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);
protected: protected:
BitmapReadAccess( Bitmap& rBitmap, BitmapAccessMode nMode ); BitmapReadAccess(Bitmap& rBitmap, BitmapAccessMode nMode);
}; };
// - BitmapWriteAccess - // - BitmapWriteAccess -
class VCL_DLLPUBLIC BitmapWriteAccess : public BitmapReadAccess class VCL_DLLPUBLIC BitmapWriteAccess : public BitmapReadAccess
{ {
public: public:
BitmapWriteAccess(Bitmap& rBitmap);
BitmapWriteAccess( Bitmap& rBitmap );
virtual ~BitmapWriteAccess(); virtual ~BitmapWriteAccess();
void CopyScanline( long nY, const BitmapReadAccess& rReadAcc ); void CopyScanline(long nY, const BitmapReadAccess& rReadAcc);
void CopyScanline( long nY, ConstScanline aSrcScanline, void CopyScanline(long nY,
sal_uLong nSrcScanlineFormat, sal_uLong nSrcScanlineSize ); ConstScanline aSrcScanline,
sal_uLong nSrcScanlineFormat,
sal_uLong nSrcScanlineSize);
void CopyBuffer( const BitmapReadAccess& rReadAcc ); void CopyBuffer( const BitmapReadAccess& rReadAcc );
inline void SetPalette( const BitmapPalette& rPalette ); inline void SetPalette(const BitmapPalette& rPalette);
inline void SetPaletteEntryCount( sal_uInt16 nCount ); inline void SetPaletteEntryCount(sal_uInt16 nCount);
inline void SetPaletteColor( sal_uInt16 nColor, const BitmapColor& rBitmapColor ); inline void SetPaletteColor(sal_uInt16 nColor, const BitmapColor& rBitmapColor);
inline void SetPixel( long nY, long nX, const BitmapColor& rBitmapColor ); inline void SetPixel(long nY, long nX, const BitmapColor& rBitmapColor);
inline void SetPixelIndex( long nY, long nX, sal_uInt8 cIndex ); inline void SetPixelIndex(long nY, long nX, sal_uInt8 cIndex);
void SetLineColor( const Color& rColor ); void SetLineColor(const Color& rColor);
void SetFillColor(); void SetFillColor();
void SetFillColor( const Color& rColor ); void SetFillColor(const Color& rColor);
void Erase( const Color& rColor ); void Erase(const Color& rColor);
void DrawLine( const Point& rStart, const Point& rEnd ); void DrawLine(const Point& rStart, const Point& rEnd);
void FillRect( const Rectangle& rRect ); void FillRect(const Rectangle& rRect);
void DrawRect( const Rectangle& rRect ); void DrawRect(const Rectangle& rRect);
private: private:
BitmapColor* mpLineColor; BitmapColor* mpLineColor;
BitmapColor* mpFillColor; BitmapColor* mpFillColor;
BitmapWriteAccess() {} BitmapWriteAccess()
BitmapWriteAccess( const BitmapWriteAccess& ) : BitmapReadAccess() {} {}
BitmapWriteAccess& operator=( const BitmapWriteAccess& ) { return *this; }
BitmapWriteAccess(const BitmapWriteAccess&)
: BitmapReadAccess()
{}
BitmapWriteAccess& operator=(const BitmapWriteAccess&)
{
return *this;
}
}; };
// - Inlines - // - Inlines -
inline bool BitmapInfoAccess::operator!() const inline bool BitmapInfoAccess::operator!() const
{ {
return( mpBuffer == NULL ); return mpBuffer == NULL;
} }
inline long BitmapInfoAccess::Width() const inline long BitmapInfoAccess::Width() const
{ {
return( mpBuffer ? mpBuffer->mnWidth : 0L ); return mpBuffer ? mpBuffer->mnWidth : 0L;
} }
inline long BitmapInfoAccess::Height() const inline long BitmapInfoAccess::Height() const
{ {
return( mpBuffer ? mpBuffer->mnHeight : 0L ); return mpBuffer ? mpBuffer->mnHeight : 0L;
} }
inline Point BitmapInfoAccess::TopLeft() const inline Point BitmapInfoAccess::TopLeft() const
...@@ -252,13 +260,14 @@ inline Point BitmapInfoAccess::TopLeft() const ...@@ -252,13 +260,14 @@ inline Point BitmapInfoAccess::TopLeft() const
inline Point BitmapInfoAccess::BottomRight() const inline Point BitmapInfoAccess::BottomRight() const
{ {
return Point( Width() - 1L, Height() - 1L ); return Point(Width() - 1L, Height() - 1L);
} }
inline bool BitmapInfoAccess::IsTopDown() const inline bool BitmapInfoAccess::IsTopDown() const
{ {
assert(mpBuffer && "Access is not valid!"); assert(mpBuffer && "Access is not valid!");
return mpBuffer && ( BMP_SCANLINE_ADJUSTMENT( mpBuffer->mnFormat ) == BMP_FORMAT_TOP_DOWN );
return mpBuffer && (BMP_SCANLINE_ADJUSTMENT(mpBuffer->mnFormat) == BMP_FORMAT_TOP_DOWN);
} }
inline bool BitmapInfoAccess::IsBottomUp() const inline bool BitmapInfoAccess::IsBottomUp() const
...@@ -269,25 +278,28 @@ inline bool BitmapInfoAccess::IsBottomUp() const ...@@ -269,25 +278,28 @@ inline bool BitmapInfoAccess::IsBottomUp() const
inline sal_uLong BitmapInfoAccess::GetScanlineFormat() const inline sal_uLong BitmapInfoAccess::GetScanlineFormat() const
{ {
assert(mpBuffer && "Access is not valid!"); assert(mpBuffer && "Access is not valid!");
return( mpBuffer ? BMP_SCANLINE_FORMAT( mpBuffer->mnFormat ) : 0UL );
return mpBuffer ? BMP_SCANLINE_FORMAT(mpBuffer->mnFormat) : 0UL;
} }
inline sal_uLong BitmapInfoAccess::GetScanlineSize() const inline sal_uLong BitmapInfoAccess::GetScanlineSize() const
{ {
assert(mpBuffer && "Access is not valid!"); assert(mpBuffer && "Access is not valid!");
return( mpBuffer ? mpBuffer->mnScanlineSize : 0UL );
return mpBuffer ? mpBuffer->mnScanlineSize : 0UL;
} }
inline sal_uInt16 BitmapInfoAccess::GetBitCount() const inline sal_uInt16 BitmapInfoAccess::GetBitCount() const
{ {
assert(mpBuffer && "Access is not valid!"); assert(mpBuffer && "Access is not valid!");
return( mpBuffer ? mpBuffer->mnBitCount : 0 );
return mpBuffer ? mpBuffer->mnBitCount : 0;
} }
inline BitmapColor BitmapInfoAccess::GetBestMatchingColor( const BitmapColor& rBitmapColor ) inline BitmapColor BitmapInfoAccess::GetBestMatchingColor(const BitmapColor& rBitmapColor)
{ {
if( HasPalette() ) if (HasPalette())
return BitmapColor( (sal_uInt8) GetBestPaletteIndex( rBitmapColor ) ); return BitmapColor((sal_uInt8) GetBestPaletteIndex(rBitmapColor));
else else
return rBitmapColor; return rBitmapColor;
} }
...@@ -295,132 +307,147 @@ inline BitmapColor BitmapInfoAccess::GetBestMatchingColor( const BitmapColor& rB ...@@ -295,132 +307,147 @@ inline BitmapColor BitmapInfoAccess::GetBestMatchingColor( const BitmapColor& rB
inline bool BitmapInfoAccess::HasPalette() const inline bool BitmapInfoAccess::HasPalette() const
{ {
assert(mpBuffer && "Access is not valid!"); assert(mpBuffer && "Access is not valid!");
return( mpBuffer && !!mpBuffer->maPalette );
return mpBuffer && !!mpBuffer->maPalette;
} }
inline const BitmapPalette& BitmapInfoAccess::GetPalette() const inline const BitmapPalette& BitmapInfoAccess::GetPalette() const
{ {
assert(mpBuffer && "Access is not valid!"); assert(mpBuffer && "Access is not valid!");
return mpBuffer->maPalette; return mpBuffer->maPalette;
} }
inline sal_uInt16 BitmapInfoAccess::GetPaletteEntryCount() const inline sal_uInt16 BitmapInfoAccess::GetPaletteEntryCount() const
{ {
assert(HasPalette() && "Bitmap has no palette!"); assert(HasPalette() && "Bitmap has no palette!");
return( HasPalette() ? mpBuffer->maPalette.GetEntryCount() : 0 );
return HasPalette() ? mpBuffer->maPalette.GetEntryCount() : 0;
} }
inline const BitmapColor& BitmapInfoAccess::GetPaletteColor( sal_uInt16 nColor ) const inline const BitmapColor& BitmapInfoAccess::GetPaletteColor( sal_uInt16 nColor ) const
{ {
assert(mpBuffer && "Access is not valid!"); assert(mpBuffer && "Access is not valid!");
assert(HasPalette() && "Bitmap has no palette!"); assert(HasPalette() && "Bitmap has no palette!");
return mpBuffer->maPalette[ nColor ];
return mpBuffer->maPalette[nColor];
} }
inline const BitmapColor& BitmapInfoAccess::GetBestPaletteColor( const BitmapColor& rBitmapColor ) const inline const BitmapColor& BitmapInfoAccess::GetBestPaletteColor(const BitmapColor& rBitmapColor) const
{ {
return GetPaletteColor( GetBestPaletteIndex( rBitmapColor ) ); return GetPaletteColor(GetBestPaletteIndex(rBitmapColor));
} }
inline bool BitmapInfoAccess::HasColorMask() const inline bool BitmapInfoAccess::HasColorMask() const
{ {
assert(mpBuffer && "Access is not valid!"); assert(mpBuffer && "Access is not valid!");
const sal_uLong nFormat = BMP_SCANLINE_FORMAT( mpBuffer->mnFormat );
return( nFormat == BMP_FORMAT_8BIT_TC_MASK || const sal_uLong nFormat = BMP_SCANLINE_FORMAT(mpBuffer->mnFormat);
return nFormat == BMP_FORMAT_8BIT_TC_MASK ||
nFormat == BMP_FORMAT_16BIT_TC_MSB_MASK || nFormat == BMP_FORMAT_16BIT_TC_MSB_MASK ||
nFormat == BMP_FORMAT_16BIT_TC_LSB_MASK || nFormat == BMP_FORMAT_16BIT_TC_LSB_MASK ||
nFormat == BMP_FORMAT_24BIT_TC_MASK || nFormat == BMP_FORMAT_24BIT_TC_MASK ||
nFormat == BMP_FORMAT_32BIT_TC_MASK ); nFormat == BMP_FORMAT_32BIT_TC_MASK;
} }
inline ColorMask& BitmapInfoAccess::GetColorMask() const inline ColorMask& BitmapInfoAccess::GetColorMask() const
{ {
assert(mpBuffer && "Access is not valid!"); assert(mpBuffer && "Access is not valid!");
return mpBuffer->maColorMask; return mpBuffer->maColorMask;
} }
inline Scanline BitmapReadAccess::GetBuffer() const inline Scanline BitmapReadAccess::GetBuffer() const
{ {
assert(mpBuffer && "Access is not valid!"); assert(mpBuffer && "Access is not valid!");
return( mpBuffer ? mpBuffer->mpBits : NULL );
return mpBuffer ? mpBuffer->mpBits : NULL;
} }
inline Scanline BitmapReadAccess::GetScanline( long nY ) const inline Scanline BitmapReadAccess::GetScanline(long nY) const
{ {
assert(mpBuffer && mpScanBuf && "Access is not valid!"); assert(mpBuffer && mpScanBuf && "Access is not valid!");
assert(nY < mpBuffer->mnHeight && "y-coordinate out of range!"); assert(nY < mpBuffer->mnHeight && "y-coordinate out of range!");
return mpScanBuf[nY]; return mpScanBuf[nY];
} }
inline BitmapColor BitmapReadAccess::GetPixel( long nY, long nX ) const inline BitmapColor BitmapReadAccess::GetPixel(long nY, long nX) const
{ {
assert(mpBuffer && mpScanBuf && "Access is not valid!"); assert(mpBuffer && mpScanBuf && "Access is not valid!");
assert(nX < mpBuffer->mnWidth && "x-coordinate out of range!"); assert(nX < mpBuffer->mnWidth && "x-coordinate out of range!");
assert(nY < mpBuffer->mnHeight && "y-coordinate out of range!"); assert(nY < mpBuffer->mnHeight && "y-coordinate out of range!");
return mFncGetPixel( mpScanBuf[ nY ], nX, maColorMask );
return mFncGetPixel(mpScanBuf[nY], nX, maColorMask );
} }
inline sal_uInt8 BitmapReadAccess::GetPixelIndex( long nY, long nX ) const inline sal_uInt8 BitmapReadAccess::GetPixelIndex(long nY, long nX) const
{ {
return GetPixel( nY, nX ).GetBlueOrIndex(); return GetPixel(nY, nX).GetBlueOrIndex();
} }
inline BitmapColor BitmapReadAccess::GetPixelFromData( const sal_uInt8* pData, long nX ) const inline BitmapColor BitmapReadAccess::GetPixelFromData(const sal_uInt8* pData, long nX) const
{ {
assert(pData && "Access is not valid!"); assert(pData && "Access is not valid!");
return mFncGetPixel( pData, nX, maColorMask ); return mFncGetPixel( pData, nX, maColorMask );
} }
inline void BitmapReadAccess::SetPixelOnData( sal_uInt8* pData, long nX, const BitmapColor& rBitmapColor ) inline void BitmapReadAccess::SetPixelOnData(sal_uInt8* pData, long nX, const BitmapColor& rBitmapColor)
{ {
assert(pData && "Access is not valid!"); assert(pData && "Access is not valid!");
mFncSetPixel( pData, nX, rBitmapColor, maColorMask );
mFncSetPixel(pData, nX, rBitmapColor, maColorMask);
} }
inline BitmapColor BitmapReadAccess::GetColor( long nY, long nX ) const inline BitmapColor BitmapReadAccess::GetColor(long nY, long nX) const
{ {
if( HasPalette() ) if (HasPalette())
return mpBuffer->maPalette[ GetPixelIndex( nY, nX ) ]; return mpBuffer->maPalette[GetPixelIndex(nY, nX)];
else else
return GetPixel( nY, nX ); return GetPixel(nY, nX);
} }
inline sal_uInt8 BitmapReadAccess::GetLuminance( long nY, long nX ) const inline sal_uInt8 BitmapReadAccess::GetLuminance(long nY, long nX) const
{ {
return GetColor( nY, nX ).GetLuminance(); return GetColor(nY, nX).GetLuminance();
} }
inline void BitmapWriteAccess::SetPalette( const BitmapPalette& rPalette ) inline void BitmapWriteAccess::SetPalette(const BitmapPalette& rPalette)
{ {
assert(mpBuffer && "Access is not valid!"); assert(mpBuffer && "Access is not valid!");
mpBuffer->maPalette = rPalette; mpBuffer->maPalette = rPalette;
} }
inline void BitmapWriteAccess::SetPaletteEntryCount( sal_uInt16 nCount ) inline void BitmapWriteAccess::SetPaletteEntryCount(sal_uInt16 nCount)
{ {
assert(mpBuffer && "Access is not valid!"); assert(mpBuffer && "Access is not valid!");
mpBuffer->maPalette.SetEntryCount( nCount );
mpBuffer->maPalette.SetEntryCount(nCount);
} }
inline void BitmapWriteAccess::SetPaletteColor( sal_uInt16 nColor, const BitmapColor& rBitmapColor ) inline void BitmapWriteAccess::SetPaletteColor(sal_uInt16 nColor, const BitmapColor& rBitmapColor)
{ {
assert(mpBuffer && "Access is not valid!"); assert(mpBuffer && "Access is not valid!");
assert(HasPalette() && "Bitmap has no palette!"); assert(HasPalette() && "Bitmap has no palette!");
mpBuffer->maPalette[ nColor ] = rBitmapColor;
mpBuffer->maPalette[nColor] = rBitmapColor;
} }
inline void BitmapWriteAccess::SetPixel( long nY, long nX, const BitmapColor& rBitmapColor ) inline void BitmapWriteAccess::SetPixel(long nY, long nX, const BitmapColor& rBitmapColor)
{ {
assert(mpBuffer && "Access is not valid!"); assert(mpBuffer && "Access is not valid!");
assert(nX < mpBuffer->mnWidth && "x-coordinate out of range!"); assert(nX < mpBuffer->mnWidth && "x-coordinate out of range!");
assert(nY < mpBuffer->mnHeight && "y-coordinate out of range!"); assert(nY < mpBuffer->mnHeight && "y-coordinate out of range!");
mFncSetPixel( mpScanBuf[ nY ], nX, rBitmapColor, maColorMask );
mFncSetPixel(mpScanBuf[nY], nX, rBitmapColor, maColorMask);
} }
inline void BitmapWriteAccess::SetPixelIndex( long nY, long nX, sal_uInt8 cIndex ) inline void BitmapWriteAccess::SetPixelIndex(long nY, long nX, sal_uInt8 cIndex)
{ {
SetPixel( nY, nX, BitmapColor( cIndex )); SetPixel(nY, nX, BitmapColor(cIndex));
} }
#endif // INCLUDED_VCL_BMPACC_HXX #endif // INCLUDED_VCL_BMPACC_HXX
......
...@@ -171,22 +171,102 @@ bool BitmapReadAccess::ImplSetAccessPointers( sal_uLong nFormat ) ...@@ -171,22 +171,102 @@ bool BitmapReadAccess::ImplSetAccessPointers( sal_uLong nFormat )
switch( nFormat ) switch( nFormat )
{ {
CASE_FORMAT( _1BIT_MSB_PAL ) case BMP_FORMAT_1BIT_MSB_PAL:
CASE_FORMAT( _1BIT_LSB_PAL ) {
CASE_FORMAT( _4BIT_MSN_PAL ) mFncGetPixel = GetPixelFor_1BIT_MSB_PAL;
CASE_FORMAT( _4BIT_LSN_PAL ) mFncSetPixel = SetPixelFor_1BIT_MSB_PAL;
CASE_FORMAT( _8BIT_PAL ) }
CASE_FORMAT( _8BIT_TC_MASK ) break;
CASE_FORMAT( _16BIT_TC_MSB_MASK ) case BMP_FORMAT_1BIT_LSB_PAL:
CASE_FORMAT( _16BIT_TC_LSB_MASK ) {
CASE_FORMAT( _24BIT_TC_BGR ) mFncGetPixel = GetPixelFor_1BIT_LSB_PAL;
CASE_FORMAT( _24BIT_TC_RGB ) mFncSetPixel = SetPixelFor_1BIT_LSB_PAL;
CASE_FORMAT( _24BIT_TC_MASK ) }
CASE_FORMAT( _32BIT_TC_ABGR ) break;
CASE_FORMAT( _32BIT_TC_ARGB ) case BMP_FORMAT_4BIT_MSN_PAL:
CASE_FORMAT( _32BIT_TC_BGRA ) {
CASE_FORMAT( _32BIT_TC_RGBA ) mFncGetPixel = GetPixelFor_4BIT_MSN_PAL;
CASE_FORMAT( _32BIT_TC_MASK ) mFncSetPixel = SetPixelFor_4BIT_MSN_PAL;
}
break;
case BMP_FORMAT_4BIT_LSN_PAL:
{
mFncGetPixel = GetPixelFor_4BIT_LSN_PAL;
mFncSetPixel = SetPixelFor_4BIT_LSN_PAL;
}
break;
case BMP_FORMAT_8BIT_PAL:
{
mFncGetPixel = GetPixelFor_8BIT_PAL;
mFncSetPixel = SetPixelFor_8BIT_PAL;
}
break;
case BMP_FORMAT_8BIT_TC_MASK:
{
mFncGetPixel = GetPixelFor_8BIT_TC_MASK;
mFncSetPixel = SetPixelFor_8BIT_TC_MASK;
}
break;
case BMP_FORMAT_16BIT_TC_MSB_MASK:
{
mFncGetPixel = GetPixelFor_16BIT_TC_MSB_MASK;
mFncSetPixel = SetPixelFor_16BIT_TC_MSB_MASK;
}
break;
case BMP_FORMAT_16BIT_TC_LSB_MASK:
{
mFncGetPixel = GetPixelFor_16BIT_TC_LSB_MASK;
mFncSetPixel = SetPixelFor_16BIT_TC_LSB_MASK;
}
break;
case BMP_FORMAT_24BIT_TC_BGR:
{
mFncGetPixel = GetPixelFor_24BIT_TC_BGR;
mFncSetPixel = SetPixelFor_24BIT_TC_BGR;
}
break;
case BMP_FORMAT_24BIT_TC_RGB:
{
mFncGetPixel = GetPixelFor_24BIT_TC_RGB;
mFncSetPixel = SetPixelFor_24BIT_TC_RGB;
}
break;
case BMP_FORMAT_24BIT_TC_MASK:
{
mFncGetPixel = GetPixelFor_24BIT_TC_MASK;
mFncSetPixel = SetPixelFor_24BIT_TC_MASK;
}
break;
case BMP_FORMAT_32BIT_TC_ABGR:
{
mFncGetPixel = GetPixelFor_32BIT_TC_ABGR;
mFncSetPixel = SetPixelFor_32BIT_TC_ABGR;
}
break;
case BMP_FORMAT_32BIT_TC_ARGB:
{
mFncGetPixel = GetPixelFor_32BIT_TC_ARGB;
mFncSetPixel = SetPixelFor_32BIT_TC_ARGB;
}
break;
case BMP_FORMAT_32BIT_TC_BGRA:
{
mFncGetPixel = GetPixelFor_32BIT_TC_BGRA;
mFncSetPixel = SetPixelFor_32BIT_TC_BGRA;
}
break;
case BMP_FORMAT_32BIT_TC_RGBA:
{
mFncGetPixel = GetPixelFor_32BIT_TC_RGBA;
mFncSetPixel = SetPixelFor_32BIT_TC_RGBA;
}
break;
case BMP_FORMAT_32BIT_TC_MASK:
{
mFncGetPixel = GetPixelFor_32BIT_TC_MASK;
mFncSetPixel = SetPixelFor_32BIT_TC_MASK;
}
break;
default: default:
bRet = false; bRet = false;
......
...@@ -20,12 +20,12 @@ ...@@ -20,12 +20,12 @@
#include <vcl/salbtype.hxx> #include <vcl/salbtype.hxx>
#include <vcl/bmpacc.hxx> #include <vcl/bmpacc.hxx>
IMPL_FORMAT_GETPIXEL_NOMASK( _1BIT_MSB_PAL ) BitmapColor BitmapReadAccess::GetPixelFor_1BIT_MSB_PAL(ConstScanline pScanline, long nX, const ColorMask&)
{ {
return BitmapColor( pScanline[ nX >> 3 ] & ( 1 << ( 7 - ( nX & 7 ) ) ) ? 1 : 0 ); return BitmapColor( pScanline[ nX >> 3 ] & ( 1 << ( 7 - ( nX & 7 ) ) ) ? 1 : 0 );
} }
IMPL_FORMAT_SETPIXEL_NOMASK( _1BIT_MSB_PAL ) void BitmapReadAccess::SetPixelFor_1BIT_MSB_PAL(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask&)
{ {
sal_uInt8& rByte = pScanline[ nX >> 3 ]; sal_uInt8& rByte = pScanline[ nX >> 3 ];
...@@ -33,12 +33,12 @@ IMPL_FORMAT_SETPIXEL_NOMASK( _1BIT_MSB_PAL ) ...@@ -33,12 +33,12 @@ IMPL_FORMAT_SETPIXEL_NOMASK( _1BIT_MSB_PAL )
( rByte &= ~( 1 << ( 7 - ( nX & 7 ) ) ) ); ( rByte &= ~( 1 << ( 7 - ( nX & 7 ) ) ) );
} }
IMPL_FORMAT_GETPIXEL_NOMASK( _1BIT_LSB_PAL ) BitmapColor BitmapReadAccess::GetPixelFor_1BIT_LSB_PAL(ConstScanline pScanline, long nX, const ColorMask&)
{ {
return BitmapColor( pScanline[ nX >> 3 ] & ( 1 << ( nX & 7 ) ) ? 1 : 0 ); return BitmapColor( pScanline[ nX >> 3 ] & ( 1 << ( nX & 7 ) ) ? 1 : 0 );
} }
IMPL_FORMAT_SETPIXEL_NOMASK( _1BIT_LSB_PAL ) void BitmapReadAccess::SetPixelFor_1BIT_LSB_PAL(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask&)
{ {
sal_uInt8& rByte = pScanline[ nX >> 3 ]; sal_uInt8& rByte = pScanline[ nX >> 3 ];
...@@ -46,12 +46,12 @@ IMPL_FORMAT_SETPIXEL_NOMASK( _1BIT_LSB_PAL ) ...@@ -46,12 +46,12 @@ IMPL_FORMAT_SETPIXEL_NOMASK( _1BIT_LSB_PAL )
( rByte &= ~( 1 << ( nX & 7 ) ) ); ( rByte &= ~( 1 << ( nX & 7 ) ) );
} }
IMPL_FORMAT_GETPIXEL_NOMASK( _4BIT_MSN_PAL ) BitmapColor BitmapReadAccess::GetPixelFor_4BIT_MSN_PAL(ConstScanline pScanline, long nX, const ColorMask&)
{ {
return BitmapColor( ( pScanline[ nX >> 1 ] >> ( nX & 1 ? 0 : 4 ) ) & 0x0f ); return BitmapColor( ( pScanline[ nX >> 1 ] >> ( nX & 1 ? 0 : 4 ) ) & 0x0f );
} }
IMPL_FORMAT_SETPIXEL_NOMASK( _4BIT_MSN_PAL ) void BitmapReadAccess::SetPixelFor_4BIT_MSN_PAL(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask&)
{ {
sal_uInt8& rByte = pScanline[ nX >> 1 ]; sal_uInt8& rByte = pScanline[ nX >> 1 ];
...@@ -59,12 +59,12 @@ IMPL_FORMAT_SETPIXEL_NOMASK( _4BIT_MSN_PAL ) ...@@ -59,12 +59,12 @@ IMPL_FORMAT_SETPIXEL_NOMASK( _4BIT_MSN_PAL )
( rByte &= 0x0f, rByte |= ( rBitmapColor.GetIndex() << 4 ) ); ( rByte &= 0x0f, rByte |= ( rBitmapColor.GetIndex() << 4 ) );
} }
IMPL_FORMAT_GETPIXEL_NOMASK( _4BIT_LSN_PAL ) BitmapColor BitmapReadAccess::GetPixelFor_4BIT_LSN_PAL(ConstScanline pScanline, long nX, const ColorMask&)
{ {
return BitmapColor( ( pScanline[ nX >> 1 ] >> ( nX & 1 ? 4 : 0 ) ) & 0x0f ); return BitmapColor( ( pScanline[ nX >> 1 ] >> ( nX & 1 ? 4 : 0 ) ) & 0x0f );
} }
IMPL_FORMAT_SETPIXEL_NOMASK( _4BIT_LSN_PAL ) void BitmapReadAccess::SetPixelFor_4BIT_LSN_PAL(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask&)
{ {
sal_uInt8& rByte = pScanline[ nX >> 1 ]; sal_uInt8& rByte = pScanline[ nX >> 1 ];
...@@ -72,53 +72,54 @@ IMPL_FORMAT_SETPIXEL_NOMASK( _4BIT_LSN_PAL ) ...@@ -72,53 +72,54 @@ IMPL_FORMAT_SETPIXEL_NOMASK( _4BIT_LSN_PAL )
( rByte &= 0xf0, rByte |= ( rBitmapColor.GetIndex() & 0x0f ) ); ( rByte &= 0xf0, rByte |= ( rBitmapColor.GetIndex() & 0x0f ) );
} }
IMPL_FORMAT_GETPIXEL_NOMASK( _8BIT_PAL ) BitmapColor BitmapReadAccess::GetPixelFor_8BIT_PAL(ConstScanline pScanline, long nX, const ColorMask&)
{ {
return BitmapColor( pScanline[ nX ] ); return BitmapColor( pScanline[ nX ] );
} }
IMPL_FORMAT_SETPIXEL_NOMASK( _8BIT_PAL ) void BitmapReadAccess::SetPixelFor_8BIT_PAL(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask&)
{ {
pScanline[ nX ] = rBitmapColor.GetIndex(); pScanline[ nX ] = rBitmapColor.GetIndex();
} }
IMPL_FORMAT_GETPIXEL( _8BIT_TC_MASK ) BitmapColor BitmapReadAccess::GetPixelFor_8BIT_TC_MASK(ConstScanline pScanline, long nX, const ColorMask& rMask)
{ {
BitmapColor aColor; BitmapColor aColor;
rMask.GetColorFor8Bit( aColor, pScanline + nX ); rMask.GetColorFor8Bit( aColor, pScanline + nX );
return aColor; return aColor;
} }
IMPL_FORMAT_SETPIXEL( _8BIT_TC_MASK ) void BitmapReadAccess::SetPixelFor_8BIT_TC_MASK(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask& rMask)
{ {
rMask.SetColorFor8Bit( rBitmapColor, pScanline + nX ); rMask.SetColorFor8Bit( rBitmapColor, pScanline + nX );
} }
IMPL_FORMAT_GETPIXEL( _16BIT_TC_MSB_MASK )
BitmapColor BitmapReadAccess::GetPixelFor_16BIT_TC_MSB_MASK(ConstScanline pScanline, long nX, const ColorMask& rMask)
{ {
BitmapColor aColor; BitmapColor aColor;
rMask.GetColorFor16BitMSB( aColor, pScanline + ( nX << 1UL ) ); rMask.GetColorFor16BitMSB( aColor, pScanline + ( nX << 1UL ) );
return aColor; return aColor;
} }
IMPL_FORMAT_SETPIXEL( _16BIT_TC_MSB_MASK ) void BitmapReadAccess::SetPixelFor_16BIT_TC_MSB_MASK(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask& rMask)
{ {
rMask.SetColorFor16BitMSB( rBitmapColor, pScanline + ( nX << 1UL ) ); rMask.SetColorFor16BitMSB( rBitmapColor, pScanline + ( nX << 1UL ) );
} }
IMPL_FORMAT_GETPIXEL( _16BIT_TC_LSB_MASK ) BitmapColor BitmapReadAccess::GetPixelFor_16BIT_TC_LSB_MASK(ConstScanline pScanline, long nX, const ColorMask& rMask)
{ {
BitmapColor aColor; BitmapColor aColor;
rMask.GetColorFor16BitLSB( aColor, pScanline + ( nX << 1UL ) ); rMask.GetColorFor16BitLSB( aColor, pScanline + ( nX << 1UL ) );
return aColor; return aColor;
} }
IMPL_FORMAT_SETPIXEL( _16BIT_TC_LSB_MASK ) void BitmapReadAccess::SetPixelFor_16BIT_TC_LSB_MASK(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask& rMask)
{ {
rMask.SetColorFor16BitLSB( rBitmapColor, pScanline + ( nX << 1UL ) ); rMask.SetColorFor16BitLSB( rBitmapColor, pScanline + ( nX << 1UL ) );
} }
IMPL_FORMAT_GETPIXEL_NOMASK( _24BIT_TC_BGR ) BitmapColor BitmapReadAccess::GetPixelFor_24BIT_TC_BGR(ConstScanline pScanline, long nX, const ColorMask&)
{ {
BitmapColor aBitmapColor; BitmapColor aBitmapColor;
...@@ -129,14 +130,14 @@ IMPL_FORMAT_GETPIXEL_NOMASK( _24BIT_TC_BGR ) ...@@ -129,14 +130,14 @@ IMPL_FORMAT_GETPIXEL_NOMASK( _24BIT_TC_BGR )
return aBitmapColor; return aBitmapColor;
} }
IMPL_FORMAT_SETPIXEL_NOMASK( _24BIT_TC_BGR ) void BitmapReadAccess::SetPixelFor_24BIT_TC_BGR(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask&)
{ {
*( pScanline = pScanline + nX * 3 )++ = rBitmapColor.GetBlue(); *( pScanline = pScanline + nX * 3 )++ = rBitmapColor.GetBlue();
*pScanline++ = rBitmapColor.GetGreen(); *pScanline++ = rBitmapColor.GetGreen();
*pScanline = rBitmapColor.GetRed(); *pScanline = rBitmapColor.GetRed();
} }
IMPL_FORMAT_GETPIXEL_NOMASK( _24BIT_TC_RGB ) BitmapColor BitmapReadAccess::GetPixelFor_24BIT_TC_RGB(ConstScanline pScanline, long nX, const ColorMask&)
{ {
BitmapColor aBitmapColor; BitmapColor aBitmapColor;
...@@ -147,26 +148,26 @@ IMPL_FORMAT_GETPIXEL_NOMASK( _24BIT_TC_RGB ) ...@@ -147,26 +148,26 @@ IMPL_FORMAT_GETPIXEL_NOMASK( _24BIT_TC_RGB )
return aBitmapColor; return aBitmapColor;
} }
IMPL_FORMAT_SETPIXEL_NOMASK( _24BIT_TC_RGB ) void BitmapReadAccess::SetPixelFor_24BIT_TC_RGB(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask&)
{ {
*( pScanline = pScanline + nX * 3 )++ = rBitmapColor.GetRed(); *( pScanline = pScanline + nX * 3 )++ = rBitmapColor.GetRed();
*pScanline++ = rBitmapColor.GetGreen(); *pScanline++ = rBitmapColor.GetGreen();
*pScanline = rBitmapColor.GetBlue(); *pScanline = rBitmapColor.GetBlue();
} }
IMPL_FORMAT_GETPIXEL( _24BIT_TC_MASK ) BitmapColor BitmapReadAccess::GetPixelFor_24BIT_TC_MASK(ConstScanline pScanline, long nX, const ColorMask& rMask)
{ {
BitmapColor aColor; BitmapColor aColor;
rMask.GetColorFor24Bit( aColor, pScanline + nX * 3L ); rMask.GetColorFor24Bit( aColor, pScanline + nX * 3L );
return aColor; return aColor;
} }
IMPL_FORMAT_SETPIXEL( _24BIT_TC_MASK ) void BitmapReadAccess::SetPixelFor_24BIT_TC_MASK(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask& rMask)
{ {
rMask.SetColorFor24Bit( rBitmapColor, pScanline + nX * 3L ); rMask.SetColorFor24Bit( rBitmapColor, pScanline + nX * 3L );
} }
IMPL_FORMAT_GETPIXEL_NOMASK( _32BIT_TC_ABGR ) BitmapColor BitmapReadAccess::GetPixelFor_32BIT_TC_ABGR(ConstScanline pScanline, long nX, const ColorMask&)
{ {
BitmapColor aBitmapColor; BitmapColor aBitmapColor;
...@@ -177,7 +178,7 @@ IMPL_FORMAT_GETPIXEL_NOMASK( _32BIT_TC_ABGR ) ...@@ -177,7 +178,7 @@ IMPL_FORMAT_GETPIXEL_NOMASK( _32BIT_TC_ABGR )
return aBitmapColor; return aBitmapColor;
} }
IMPL_FORMAT_SETPIXEL_NOMASK( _32BIT_TC_ABGR ) void BitmapReadAccess::SetPixelFor_32BIT_TC_ABGR(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask&)
{ {
*( pScanline = pScanline + ( nX << 2 ) )++ = 0xFF; *( pScanline = pScanline + ( nX << 2 ) )++ = 0xFF;
*pScanline++ = rBitmapColor.GetBlue(); *pScanline++ = rBitmapColor.GetBlue();
...@@ -185,7 +186,7 @@ IMPL_FORMAT_SETPIXEL_NOMASK( _32BIT_TC_ABGR ) ...@@ -185,7 +186,7 @@ IMPL_FORMAT_SETPIXEL_NOMASK( _32BIT_TC_ABGR )
*pScanline = rBitmapColor.GetRed(); *pScanline = rBitmapColor.GetRed();
} }
IMPL_FORMAT_GETPIXEL_NOMASK( _32BIT_TC_ARGB ) BitmapColor BitmapReadAccess::GetPixelFor_32BIT_TC_ARGB(ConstScanline pScanline, long nX, const ColorMask&)
{ {
BitmapColor aBitmapColor; BitmapColor aBitmapColor;
...@@ -196,7 +197,7 @@ IMPL_FORMAT_GETPIXEL_NOMASK( _32BIT_TC_ARGB ) ...@@ -196,7 +197,7 @@ IMPL_FORMAT_GETPIXEL_NOMASK( _32BIT_TC_ARGB )
return aBitmapColor; return aBitmapColor;
} }
IMPL_FORMAT_SETPIXEL_NOMASK( _32BIT_TC_ARGB ) void BitmapReadAccess::SetPixelFor_32BIT_TC_ARGB(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask&)
{ {
*( pScanline = pScanline + ( nX << 2 ) )++ = 0xFF; *( pScanline = pScanline + ( nX << 2 ) )++ = 0xFF;
*pScanline++ = rBitmapColor.GetRed(); *pScanline++ = rBitmapColor.GetRed();
...@@ -204,7 +205,7 @@ IMPL_FORMAT_SETPIXEL_NOMASK( _32BIT_TC_ARGB ) ...@@ -204,7 +205,7 @@ IMPL_FORMAT_SETPIXEL_NOMASK( _32BIT_TC_ARGB )
*pScanline = rBitmapColor.GetBlue(); *pScanline = rBitmapColor.GetBlue();
} }
IMPL_FORMAT_GETPIXEL_NOMASK( _32BIT_TC_BGRA ) BitmapColor BitmapReadAccess::GetPixelFor_32BIT_TC_BGRA(ConstScanline pScanline, long nX, const ColorMask&)
{ {
BitmapColor aBitmapColor; BitmapColor aBitmapColor;
...@@ -215,7 +216,7 @@ IMPL_FORMAT_GETPIXEL_NOMASK( _32BIT_TC_BGRA ) ...@@ -215,7 +216,7 @@ IMPL_FORMAT_GETPIXEL_NOMASK( _32BIT_TC_BGRA )
return aBitmapColor; return aBitmapColor;
} }
IMPL_FORMAT_SETPIXEL_NOMASK( _32BIT_TC_BGRA ) void BitmapReadAccess::SetPixelFor_32BIT_TC_BGRA(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask&)
{ {
*( pScanline = pScanline + ( nX << 2 ) )++ = rBitmapColor.GetBlue(); *( pScanline = pScanline + ( nX << 2 ) )++ = rBitmapColor.GetBlue();
*pScanline++ = rBitmapColor.GetGreen(); *pScanline++ = rBitmapColor.GetGreen();
...@@ -223,7 +224,7 @@ IMPL_FORMAT_SETPIXEL_NOMASK( _32BIT_TC_BGRA ) ...@@ -223,7 +224,7 @@ IMPL_FORMAT_SETPIXEL_NOMASK( _32BIT_TC_BGRA )
*pScanline = 0xFF; *pScanline = 0xFF;
} }
IMPL_FORMAT_GETPIXEL_NOMASK( _32BIT_TC_RGBA ) BitmapColor BitmapReadAccess::GetPixelFor_32BIT_TC_RGBA(ConstScanline pScanline, long nX, const ColorMask&)
{ {
BitmapColor aBitmapColor; BitmapColor aBitmapColor;
...@@ -234,7 +235,7 @@ IMPL_FORMAT_GETPIXEL_NOMASK( _32BIT_TC_RGBA ) ...@@ -234,7 +235,7 @@ IMPL_FORMAT_GETPIXEL_NOMASK( _32BIT_TC_RGBA )
return aBitmapColor; return aBitmapColor;
} }
IMPL_FORMAT_SETPIXEL_NOMASK( _32BIT_TC_RGBA ) void BitmapReadAccess::SetPixelFor_32BIT_TC_RGBA(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask&)
{ {
*( pScanline = pScanline + ( nX << 2 ) )++ = rBitmapColor.GetRed(); *( pScanline = pScanline + ( nX << 2 ) )++ = rBitmapColor.GetRed();
*pScanline++ = rBitmapColor.GetGreen(); *pScanline++ = rBitmapColor.GetGreen();
...@@ -242,14 +243,14 @@ IMPL_FORMAT_SETPIXEL_NOMASK( _32BIT_TC_RGBA ) ...@@ -242,14 +243,14 @@ IMPL_FORMAT_SETPIXEL_NOMASK( _32BIT_TC_RGBA )
*pScanline = 0xFF; *pScanline = 0xFF;
} }
IMPL_FORMAT_GETPIXEL( _32BIT_TC_MASK ) BitmapColor BitmapReadAccess::GetPixelFor_32BIT_TC_MASK(ConstScanline pScanline, long nX, const ColorMask& rMask)
{ {
BitmapColor aColor; BitmapColor aColor;
rMask.GetColorFor32Bit( aColor, pScanline + ( nX << 2UL ) ); rMask.GetColorFor32Bit( aColor, pScanline + ( nX << 2UL ) );
return aColor; return aColor;
} }
IMPL_FORMAT_SETPIXEL( _32BIT_TC_MASK ) void BitmapReadAccess::SetPixelFor_32BIT_TC_MASK(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask& rMask)
{ {
rMask.SetColorFor32Bit( rBitmapColor, pScanline + ( nX << 2UL ) ); rMask.SetColorFor32Bit( rBitmapColor, pScanline + ( nX << 2UL ) );
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment