36 assert(nY >= 0 && nY < mpBuffer->
mnHeight &&
"y-coordinate in destination out of range!");
37 SAL_WARN_IF(nY >= rReadAcc.
Height(),
"vcl",
"y-coordinate in source out of range!");
40 "vcl",
"No copying possible between palette bitmap and TC bitmap!");
65 assert(nY >= 0 && nY < mpBuffer->
mnHeight &&
"y-coordinate in destination out of range!");
68 "No copying possible between palette and non palette scanlines!");
84 "No support for pixel formats with color masks yet!");
130 pFncGetPixel =
nullptr;
139 SetPixelOnData(pScanline, nX, pFncGetPixel(aSrcScanline, nX, aDummyMask));
212 memcpy(pDestScanline, pFirstScanline, nScanlineSize);
224 if (rStart.
X() == rEnd.
X())
234 for (; nY <= nEndY; nY++)
239 for (; nY >= nEndY; nY--)
243 else if (rStart.
Y() == rEnd.
Y())
253 for (; nX <= nEndX; nX++)
258 for (; nX >= nEndX; nX--)
273 if (rStart.
X() < rEnd.
X())
291 bool bPos = nY1 < nY2;
293 for (nX = nX1, nY = nY1; nX <= nX2; nX++)
312 if (rStart.
Y() < rEnd.
Y())
330 bool bPos = nX1 < nX2;
332 for (nX = nX1, nY = nY1; nY <= nY2; nY++)
BitmapColor(* FncGetPixel)(ConstScanline pScanline, tools::Long nX, const ColorMask &rMask)
bool Bitmap32IsPreMultipled()
const sal_uInt8 * ConstScanline
ScanlineFormat RemoveScanline(ScanlineFormat nFormat)
bool ImplFastEraseBitmap(BitmapBuffer &rDst, const BitmapColor &rColor)
bool ImplFastCopyScanline(tools::Long nY, BitmapBuffer &rDst, ConstScanline aSrcScanline, ScanlineFormat nSrcScanlineFormat, sal_uInt32 nSrcScanlineSize)
tools::Long Height() const
tools::Long Width() const
sal_uInt16 GetBestPaletteIndex(const BitmapColor &rBitmapColor) const
ScanlineFormat GetScanlineFormat() const
sal_uInt32 GetScanlineSize() const
BitmapBuffer * ImplGetBitmapBuffer() const
static BitmapColor GetPixelForN8BitPal(ConstScanline pScanline, tools::Long nX, const ColorMask &rMask)
static BitmapColor GetPixelForN32BitTcRgbx(ConstScanline pScanline, tools::Long nX, const ColorMask &rMask)
static BitmapColor GetPixelForN24BitTcRgb(ConstScanline pScanline, tools::Long nX, const ColorMask &rMask)
static BitmapColor GetPixelForN32BitTcXbgr(ConstScanline pScanline, tools::Long nX, const ColorMask &rMask)
static BitmapColor GetPixelForN32BitTcBgra(ConstScanline pScanline, tools::Long nX, const ColorMask &rMask)
static BitmapColor GetPixelForN1BitMsbPal(ConstScanline pScanline, tools::Long nX, const ColorMask &rMask)
static BitmapColor GetPixelForN24BitTcBgr(ConstScanline pScanline, tools::Long nX, const ColorMask &rMask)
static BitmapColor GetPixelForN32BitTcAbgr(ConstScanline pScanline, tools::Long nX, const ColorMask &rMask)
void SetPixelOnData(sal_uInt8 *pData, tools::Long nX, const BitmapColor &rBitmapColor)
static BitmapColor GetPixelForN32BitTcBgrx(ConstScanline pScanline, tools::Long nX, const ColorMask &rMask)
static BitmapColor GetPixelForN32BitTcArgb(ConstScanline pScanline, tools::Long nX, const ColorMask &rMask)
BitmapColor GetPixelFromData(const sal_uInt8 *pData, tools::Long nX) const
static BitmapColor GetPixelForN32BitTcXrgb(ConstScanline pScanline, tools::Long nX, const ColorMask &rMask)
Scanline GetScanline(tools::Long nY) const
static BitmapColor GetPixelForN32BitTcRgba(ConstScanline pScanline, tools::Long nX, const ColorMask &rMask)
static BitmapColor GetPixelForN32BitTcMask(ConstScanline pScanline, tools::Long nX, const ColorMask &rMask)
std::optional< BitmapColor > mpLineColor
virtual ~BitmapWriteAccess() override
void SetLineColor(const Color &rColor)
void CopyScanline(tools::Long nY, const BitmapReadAccess &rReadAcc)
void DrawLine(const Point &rStart, const Point &rEnd)
BitmapWriteAccess()=delete
void SetPixel(tools::Long nY, tools::Long nX, const BitmapColor &rBitmapColor)
void FillRect(const tools::Rectangle &rRect)
std::optional< BitmapColor > mpFillColor
void DrawRect(const tools::Rectangle &rRect)
void Erase(const Color &rColor)
Size GetSizePixel() const
sal_uInt8 GetAlpha() const
constexpr tools::Long Y() const
constexpr tools::Long X() const
#define DBG_ASSERT(sCon, aError)
#define SAL_WARN_IF(condition, area, stream)