summaryrefslogtreecommitdiff
path: root/include/vcl/bitmapaccess.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'include/vcl/bitmapaccess.hxx')
-rw-r--r--include/vcl/bitmapaccess.hxx36
1 files changed, 30 insertions, 6 deletions
diff --git a/include/vcl/bitmapaccess.hxx b/include/vcl/bitmapaccess.hxx
index 4e9c44f81578..051beb8a2b13 100644
--- a/include/vcl/bitmapaccess.hxx
+++ b/include/vcl/bitmapaccess.hxx
@@ -25,11 +25,10 @@
#include <vcl/salbtype.hxx>
#include <vcl/bitmap.hxx>
-// - Access functions -
typedef BitmapColor (*FncGetPixel)(ConstScanline pScanline, long nX, const ColorMask& rMask);
typedef void (*FncSetPixel)(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask& rMask);
-// - BitmapInfoAccess -
+
class VCL_DLLPUBLIC BitmapInfoAccess
{
friend class BitmapReadAccess;
@@ -86,7 +85,7 @@ protected:
BitmapInfoAccess(Bitmap& rBitmap, BitmapAccessMode nMode);
};
-// - BitmapReadAccess -
+
class VCL_DLLPUBLIC BitmapReadAccess : public BitmapInfoAccess
{
friend class BitmapWriteAccess;
@@ -181,7 +180,7 @@ protected:
BitmapReadAccess(Bitmap& rBitmap, BitmapAccessMode nMode);
};
-// - BitmapWriteAccess -
+
class VCL_DLLPUBLIC BitmapWriteAccess : public BitmapReadAccess
{
public:
@@ -233,22 +232,25 @@ private:
}
};
-// - Inlines -
+
inline bool BitmapInfoAccess::operator!() const
{
return mpBuffer == nullptr;
}
+
inline long BitmapInfoAccess::Width() const
{
return mpBuffer ? mpBuffer->mnWidth : 0L;
}
+
inline long BitmapInfoAccess::Height() const
{
return mpBuffer ? mpBuffer->mnHeight : 0L;
}
+
inline bool BitmapInfoAccess::IsTopDown() const
{
assert(mpBuffer && "Access is not valid!");
@@ -256,11 +258,13 @@ inline bool BitmapInfoAccess::IsTopDown() const
return mpBuffer && (BMP_SCANLINE_ADJUSTMENT(mpBuffer->mnFormat) == BMP_FORMAT_TOP_DOWN);
}
+
inline bool BitmapInfoAccess::IsBottomUp() const
{
return !IsTopDown();
}
+
inline sal_uLong BitmapInfoAccess::GetScanlineFormat() const
{
assert(mpBuffer && "Access is not valid!");
@@ -268,6 +272,7 @@ inline sal_uLong BitmapInfoAccess::GetScanlineFormat() const
return mpBuffer ? BMP_SCANLINE_FORMAT(mpBuffer->mnFormat) : 0UL;
}
+
inline sal_uLong BitmapInfoAccess::GetScanlineSize() const
{
assert(mpBuffer && "Access is not valid!");
@@ -275,6 +280,7 @@ inline sal_uLong BitmapInfoAccess::GetScanlineSize() const
return mpBuffer ? mpBuffer->mnScanlineSize : 0UL;
}
+
inline sal_uInt16 BitmapInfoAccess::GetBitCount() const
{
assert(mpBuffer && "Access is not valid!");
@@ -282,6 +288,7 @@ inline sal_uInt16 BitmapInfoAccess::GetBitCount() const
return mpBuffer ? mpBuffer->mnBitCount : 0;
}
+
inline BitmapColor BitmapInfoAccess::GetBestMatchingColor(const BitmapColor& rBitmapColor)
{
if (HasPalette())
@@ -290,6 +297,7 @@ inline BitmapColor BitmapInfoAccess::GetBestMatchingColor(const BitmapColor& rBi
return rBitmapColor;
}
+
inline bool BitmapInfoAccess::HasPalette() const
{
assert(mpBuffer && "Access is not valid!");
@@ -297,6 +305,7 @@ inline bool BitmapInfoAccess::HasPalette() const
return mpBuffer && !!mpBuffer->maPalette;
}
+
inline const BitmapPalette& BitmapInfoAccess::GetPalette() const
{
assert(mpBuffer && "Access is not valid!");
@@ -304,6 +313,7 @@ inline const BitmapPalette& BitmapInfoAccess::GetPalette() const
return mpBuffer->maPalette;
}
+
inline sal_uInt16 BitmapInfoAccess::GetPaletteEntryCount() const
{
assert(HasPalette() && "Bitmap has no palette!");
@@ -311,6 +321,7 @@ inline sal_uInt16 BitmapInfoAccess::GetPaletteEntryCount() const
return HasPalette() ? mpBuffer->maPalette.GetEntryCount() : 0;
}
+
inline const BitmapColor& BitmapInfoAccess::GetPaletteColor( sal_uInt16 nColor ) const
{
assert(mpBuffer && "Access is not valid!");
@@ -319,13 +330,13 @@ inline const BitmapColor& BitmapInfoAccess::GetPaletteColor( sal_uInt16 nColor )
return mpBuffer->maPalette[nColor];
}
+
inline const BitmapColor& BitmapInfoAccess::GetBestPaletteColor(const BitmapColor& rBitmapColor) const
{
return GetPaletteColor(GetBestPaletteIndex(rBitmapColor));
}
-
inline ColorMask& BitmapInfoAccess::GetColorMask() const
{
assert(mpBuffer && "Access is not valid!");
@@ -333,6 +344,7 @@ inline ColorMask& BitmapInfoAccess::GetColorMask() const
return mpBuffer->maColorMask;
}
+
inline Scanline BitmapReadAccess::GetBuffer() const
{
assert(mpBuffer && "Access is not valid!");
@@ -340,6 +352,7 @@ inline Scanline BitmapReadAccess::GetBuffer() const
return mpBuffer ? mpBuffer->mpBits : nullptr;
}
+
inline Scanline BitmapReadAccess::GetScanline(long nY) const
{
assert(mpBuffer && mpScanBuf && "Access is not valid!");
@@ -348,6 +361,7 @@ inline Scanline BitmapReadAccess::GetScanline(long nY) const
return mpScanBuf[nY];
}
+
inline BitmapColor BitmapReadAccess::GetPixel(long nY, long nX) const
{
assert(mpBuffer && mpScanBuf && "Access is not valid!");
@@ -357,11 +371,13 @@ inline BitmapColor BitmapReadAccess::GetPixel(long nY, long nX) const
return mFncGetPixel(mpScanBuf[nY], nX, maColorMask );
}
+
inline sal_uInt8 BitmapReadAccess::GetPixelIndex(long nY, long nX) const
{
return GetPixel(nY, nX).GetBlueOrIndex();
}
+
inline BitmapColor BitmapReadAccess::GetPixelFromData(const sal_uInt8* pData, long nX) const
{
assert(pData && "Access is not valid!");
@@ -369,6 +385,7 @@ inline BitmapColor BitmapReadAccess::GetPixelFromData(const sal_uInt8* pData, lo
return mFncGetPixel( pData, nX, maColorMask );
}
+
inline void BitmapReadAccess::SetPixelOnData(sal_uInt8* pData, long nX, const BitmapColor& rBitmapColor)
{
assert(pData && "Access is not valid!");
@@ -376,6 +393,7 @@ inline void BitmapReadAccess::SetPixelOnData(sal_uInt8* pData, long nX, const Bi
mFncSetPixel(pData, nX, rBitmapColor, maColorMask);
}
+
inline BitmapColor BitmapReadAccess::GetColor(long nY, long nX) const
{
if (HasPalette())
@@ -384,11 +402,13 @@ inline BitmapColor BitmapReadAccess::GetColor(long nY, long nX) const
return GetPixel(nY, nX);
}
+
inline sal_uInt8 BitmapReadAccess::GetLuminance(long nY, long nX) const
{
return GetColor(nY, nX).GetLuminance();
}
+
inline void BitmapWriteAccess::SetPalette(const BitmapPalette& rPalette)
{
assert(mpBuffer && "Access is not valid!");
@@ -396,6 +416,7 @@ inline void BitmapWriteAccess::SetPalette(const BitmapPalette& rPalette)
mpBuffer->maPalette = rPalette;
}
+
inline void BitmapWriteAccess::SetPaletteEntryCount(sal_uInt16 nCount)
{
assert(mpBuffer && "Access is not valid!");
@@ -403,6 +424,7 @@ inline void BitmapWriteAccess::SetPaletteEntryCount(sal_uInt16 nCount)
mpBuffer->maPalette.SetEntryCount(nCount);
}
+
inline void BitmapWriteAccess::SetPaletteColor(sal_uInt16 nColor, const BitmapColor& rBitmapColor)
{
assert(mpBuffer && "Access is not valid!");
@@ -411,6 +433,7 @@ inline void BitmapWriteAccess::SetPaletteColor(sal_uInt16 nColor, const BitmapCo
mpBuffer->maPalette[nColor] = rBitmapColor;
}
+
inline void BitmapWriteAccess::SetPixel(long nY, long nX, const BitmapColor& rBitmapColor)
{
assert(mpBuffer && "Access is not valid!");
@@ -420,6 +443,7 @@ inline void BitmapWriteAccess::SetPixel(long nY, long nX, const BitmapColor& rBi
mFncSetPixel(mpScanBuf[nY], nX, rBitmapColor, maColorMask);
}
+
inline void BitmapWriteAccess::SetPixelIndex(long nY, long nX, sal_uInt8 cIndex)
{
SetPixel(nY, nX, BitmapColor(cIndex));