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!");
133 pFncGetPixel =
nullptr;
142 SetPixelOnData(pScanline, nX, pFncGetPixel(aSrcScanline, nX, aDummyMask));
215 memcpy(pDestScanline, pFirstScanline, nScanlineSize);
227 if (rStart.X() == rEnd.X())
237 for (; nY <= nEndY; nY++)
242 for (; nY >= nEndY; nY--)
246 else if (rStart.Y() == rEnd.Y())
256 for (; nX <= nEndX; nX++)
261 for (; nX >= nEndX; nX--)
267 const tools::Long nDX = std::abs(rEnd.X() - rStart.X());
268 const tools::Long nDY = std::abs(rEnd.Y() - rStart.Y());
276 if (rStart.X() < rEnd.X())
294 bool bPos = nY1 < nY2;
296 for (nX = nX1, nY = nY1; nX <= nX2; nX++)
315 if (rStart.Y() < rEnd.Y())
333 bool bPos = nX1 < nX2;
335 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 GetPixelForN1BitLsbPal(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
#define DBG_ASSERT(sCon, aError)
#define SAL_WARN_IF(condition, area, stream)